bbodi / notecalc3 Goto Github PK
View Code? Open in Web Editor NEWNoteCalc is a handy calculator trying to bring the advantages of Soulver to the web.
Home Page: https://bbodi.github.io/notecalc3/
License: GNU Affero General Public License v3.0
NoteCalc is a handy calculator trying to bring the advantages of Soulver to the web.
Home Page: https://bbodi.github.io/notecalc3/
License: GNU Affero General Public License v3.0
Hello!
I use CalcNote (basically, a mobile version of notecalc), which supports saving your notes to Google Drive.
I'd love for there to be a cross-platform way to work on these types of notes, e.g. so that I can start them on my computer then bring them with me to the workshop on my phone.
It seems like CalcNote's file structure is compatible with yours (example below), what would you think about enabling users to log in with Google OAuth and read / write their files to a directory in Google Drive?
# turlough hill
turloughmwh = 6 * 300
irelandmwh = 40 * $2
irelandpop = 5000000
irelandmwhcapita = irelandmwh / irelandpop
globalpop = 8000000000
globalmwh = globalpop * irelandmwhcapita
With Slovenian keyboard layout on Linux, I cannot type ^ character into Notecalc.
When I press the AltGr + 3 twice (which produces ^ in every other text entry field), nothing happens with NoteCalc. This is especially annoying because I cannot use exponentiation (for example 2^3 to calculate 2³).
e.g. in cases like this show some hints to the user that the units are not compatible
age = 12 year
weight = 23 kg
age + weight
Example:
Price = $0.5
Qty = 2
Total = Price * Qty
Expected: $1.00
Actual: $0
I can not use ime to input CJK text in notecalc3.
Awesome tool! I could see myself using this, to replace my boring SublimeText as a notepad.
Have you thought about integrating into an webview app like electron (but lighter ofc), if so, that would become even more handy.
Good idea and good job.
Hi - I would be happy if I could save certain data somewhere like a google drive, dropbox or through protocols such as: remote storage, ftp or webdav if that's possible. Would it be possible to have a way to synchronize my data in notecalc3?
If anyone can answer, I look forward to hearing from you.
Trying to do Modulus(%)
228%4
and it isn't working. Neither is:
mod(228,4)
Is Modulus supported? What's the syntax for it?
Hey, i'd like to suggest a setting to use the european comma as decimal separator.
This is standard on our NUM-pads, too.
When I type something like... 15k / 2 it would be nice if I could see the same units out such as 7.5k in the output window.
I tend to work in large numbers so all the numbers I get out have a lot of trailing zeros.
a = 500sqft / 1ft | 152.4 m
a in ft | 5381.96 ft < - wat?
152.4m in ft | 500.00ft <- good!
2 ^ 2 -> 4
2 ^ 2.5 -> 4
2 ^ 3 -> 8
https://bbodi.github.io/notecalc3/notecalc#eJwzUohTMOIyApF6pgpghjEXACn4A6k
Now the license of notecalc3 is AGPL-V3, which is not friendly for me want to integrate notecalc3 into my commercial project as an extra practical feature. Could you please consider support multiple licenses? I mean, I'd love to pay for this awesome project. If you have no plan to earn profits from it, MIT license maybe more friendly.
cost = 500
discount = true
cost = if discount then cost - 10% else cost
cost = if discount then cost - 10%
cost = cost - 10% if discount
(if discount then 5% else 2%) + 3%
earnings = $45k | $45,000.00
tax = if earnings > $30k then 20% else 5%
My tax paid: earnings * tax | $9,000.00
This is a pretty basic and simple to add feature that would make the application way more usable for a lot of people.
Should be pretty easy to add using a @media
tag with prefers-color-scheme: dark
, or even using css variables and a way to import themes from some format by adding a style
attribute to set the variables.
myfunc(a):
a*2
myfunc(12)
Do it is possible to have a isolated function or library that parse the line and return the result?
also in wasm.
f.e.
parse("calc = 5k + 4k");
that return
9 kg
$100 as number | 100
40/day as number | 40
20% as number | 0.2
Tabs seem to always be named "Note 1", "Note 2", etc.
Is there a way to do this already? Can't find it at the moment.
Currently (on macOS and Firefox), there seems to be no support for keyboard shortcuts. I would love to see support for copy, paste, and undo/redo, and a bonus for more advanced features like ctl+a and ctrl +e for start/end of line like Emacs/VSCode and other editors.
If you are open to helping me get started with the codebase, I would be willing to take a crack at it and try and open a PR, let me know.
#![feature]
may not be used on the stable release channel# 1. clone repo
git clone https://github.com/bbodi/notecalc3.git
# 2. install global binaries required for compile_and_run
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
# 3. compile and run
cd ../
./compile_and_run.bat
Use npx for serve to avoid global install
cd frontend-web
wasm-pack build --debug --target no-modules
cd ..
serve .
cd frontend-web
wasm-pack build --debug --target no-modules
cd ..
npx serve .
```
This is obviously not a new issue rust-lang/rust#37877
Despite re-running rustup, there's still an issue. I'm a rust novice and I'm confident this is an issue with my system, not notecalc.
Is there a rust RC (eg. like a nightly release) that I need to be using?
I would open localhost:5000 and see an error
Surprisingly, I was able to access localhost:5000 despite the compilation errors. However, the site is showing notecalc3's website instead of the calculator.
a line starting with '--' is supposed to clear the sum variable so you can start from 0. This seems to not be working. For example, in the first example on the homepage Introduciton/features
the sum is 'Err' presumably because the units don't match.
Hi - I would love a rounding feature, which specifies the number of decimals to keep.
I know there's a lot of rounding strategies, especially for money, but simple rounding would be a great start.
Thanks!
I've ran a test using lighthouse in Chrome 87 (on a Windows 10 Pro 19041) and got the following results:
Summary
Full Results
Results.zip
Some notable things are missing a lot of SEO tags, accessibility is not great due to using one canvas instead of elements a screen reader can read but there's no real way to solve that, and PWA is missing (I think it can be really useful, as it would make it function similarly to a native app, with almost every browser supporting it on mobile and chrome supporting it on desktop).
I might make a pull request trying to solve some of these things.
Hello,
Love the project. While looking at the homepage, I saw that sum could be reset with --
:
Values are automatically accumulated in the sum variable.
It can be reset and set to zero by starting a line with double dash (--).
In practice, it doesn't seem like sum is resetting like I would expect. Am I missing something or is this not working?
While it's possible to store collections of data in matrices, it would be nice if we could store collections into maps with keys. This allows for convenient aggregate operations:
item counts = [a: 1, b: 2, c: 3, d: 4]
weight per item = 10g
item weights = item counts * weight per item
item weights.d == 40g
I was previously accessing Notecalc from the URL https://bbodi.github.io/notecalc3/notecalc#some-hash. This now 404s, although it's still linked from the README ("Try it out")
The github project URL loads, but seems like it's a tutorial? It doesn't have any of my old data in it, a tabbed interface, etc.
How should I access my old calcs now?
I want to be able to disable the pulsing highlight effect as it just distracts me. It would be awesome to get a static highlight instead. If I want it to flash, then I can use the arrows keys for that.
As the title says, opening the app on a high-dpi monitor (mine is 3840x2160), causes the app to appear blurry.
Just tried out the app, looks great!
Biggest piece of feedback is needing to write 1000$, not $1000, which is way more natural. Super confused me and I had to go back to the readme to learn about it.
(Also, minor thing - there's a big horizontal scrollbar at the bottom)
Just pitching this as an idea.
Might be nice to integrate it as a vim plugin.
I saw that this project seems to have not received much attention for the last 2 years, which is a shame, cause it looks very promising.
Is this project officially discontinued or is someone planning to get back to development whenever they are ready?
Thanks a lot!
First of all, super cool tool; I can see myself using this a lot.
In the following calculation the last result has no unit, when it should have the unit mol
:
halflife = 1.5 years
decayconst = ln(2)/halflife
n0 = 1 mol
n0*e^(decayconst*(100 years))
The new release 0.4 looks fantastic. What's the best way to bring my existing notes into this version?
It would be really neat if this could expose a library to allow the functionality to be surfaced in another UI - I'm imagining a terminal version, a Vim plugin, etc.
I've tried sqrt(16)
sqrt16
root(16)
root16
root 16
square root 16
etc... etc... etc...
nothing seems to work. Are there roots in this program, and if so how do I use them?
Thanks for this handy tool.
It would be great to support other currencies than Dollar.
meal cost = 12€
person = 4
total = person * meal cost
Here is an example of possible content to support.
There could be a generic support for currency codes (EUR
, USD
…) or symbols (€
, $
…).
A next step could be currency conversion, but it might be much harder.
I don't feel experimented enough with Rust and the codebase to try implementing it, but I could give it a try if someone points me in the right direction.
The AGPL license is not favourable for widespread usage whether commercially or with a lot of other open source licences. Would you consider replacing the current license with something like Apache-2.0?
sorry just realized this is a dupe of #40
3 hours 5 minutes 10 seconds | 3 hours 5 minutes 10 seconds
3h 5m 10s | 3 hours 5 minutes 10 seconds
3h 5m 10s in seconds | 11,110 s
03:04:05 + 01:02:03 | 04:06:08
00:12:05 − 00:04:09 | 00:07:56
See #6 (comment) for reasoning on why the current implementation is canvas based.
I get that motivation, but I think for this to be a great UI it needs to be using "native" text input, as provided by the browser / whatever platform the client is implemented in. Things that currently don't work because of this:
A lot of these things are handled already by CodeMirror / Monaco / Ace. I'd be curious whether you looked into any of these, or decided early that you didn't want to wrestle with their APIs.
Regardless kudos for this awesome project!
In Edge, turn on the Edge Bar (Settings > Edge Bar > Open Edge Bar). Add NoteCalc's URL to the bar. NoteCalc opens the first tab and renders it well and usefully. However, arrow keys simply don't work, either to move around within the current calculation line or to move to another line for including as a reference.
Probably related to #14: Vimium extension (https://vimium.github.io/) does not recognize the website as having text input, which means it steals all keyboard events.
This is easy to rectify (enter insert mode or add NoteCalc to exclusions) but I imagine that the same mechanism might break other extensions.
scrolling is not possible inside the notebook area and the column width is off. also cannot move the cursor with touch
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.