Show HN: All desktop software calculators are wrong, so I had to build my own
A new calculator software cannot really bring attention (https://chachatelier.fr/chalk/)
However, I wrote a full article explaining why I had to build something "new" that does not behave like usual desktop calculator softwares :
<https://chachatelier.fr/chalk/article/chalk.html>
TL;DR All "small" calculator softwares I know share the same design flaws. And the GUI is not the only stumbling block in their poor efficiency. Handling correctly numerical approximations - expected or not - is crucial to trust the results. It is usually not done in lightweight tools. It should. So I prove that if I could do it, OS manufacturers could as well.
168 comments
[ 2.4 ms ] story [ 230 ms ] threadProbably better quick fix: have ToC initialize as hidden on page load
This has been rectified, by the way.
I wonder if the author considered an input method where keypresses translate directly into a rendered equation? Symbolab kind of does this, so instead of writing an expression in some functional style and seeing its rendered output, I can directly manipulate the rendered equation with the keyboard.
The other point the author makes about discoverability of operators like sqrt and cbrt, I feel that you could circumvent it by introducing a semantic search feature for operators. For example, typing "square root" would display a list of suggestions for operators that match that, like an IDE.
The last question I have is if the author has looked at libraries like Calcium (https://fredrikj.net/calcium/) or the work that went into the Android calculator recently (https://dl.acm.org/doi/pdf/10.1145/3385412.3386037). They use exact arithmetic with computable real/complex numbers. It might serve as a cleaner abstraction that switching between different BigNum representations yourself.
>I wonder if the author considered an input method where keypresses translate directly into a rendered equation?
Personally, I don't like such systems, because I always end up moving the cursor up/down/left/right trying to add parenthesis here and there; so I am not considering adding it. I really feel better with fast, raw text input.
>The other point the author makes about discoverability of operators like sqrt and cbrt, I feel that you could circumvent it by introducing a semantic search feature for operators.
Indeed, I can add this kind of things by adding keywords to the documentation items. Currently I rather tried to narrow the search results, but I can expand them a little with some experience on what the users really needed.
>The last question I have is if the author has looked at libraries like Calcium (...) or the work that went into the Android calculator recently
I don't know Calcium, and I am not a smartphone user, so Android is beyond my little world :-) Calcium seems very interesting on its own, but it is unlikely that I can use it in Chalk. I already built my own abstractions to do everything low-level related to bit manipulation and garbage bits. Adding a little formal calculus will certainly be home-made either. However, like I did with ARBLIB, I can also cherrypick just a subset of the library that would exactly fix one problem or give some precious help even on a single feature. I will have a deeper look at its API and how it can mix up with the current Chalk design. Thanks for pointing it out !
Yes. There's a reason they sell basic stand-alone calculators, too, and it's not just price. There's a reason the ones for various tasks don't all look the same or have the same keys (a typical office desktop calculator is usually very basic, for instance). I'd bet money most calculators that exist are the fairly basic variety, not a fancy scientific calculator or whatever. Exclude the ones that were only ever used in school and never anywhere else and I bet it's an absolute landslide in favor of simple calculators. People are confused by the extra buttons, and don't want them.
[EDIT] Not to shit on this calculator, mind you, but this is another specialized one that won't be for everyone, not a universal solution.
I always do file operations from the terminal if I can help it (won't save you when you need to select a file in a gui I suppose)
10+ years of owning macs, and Finder still bugs the hell out of me.
Will definitely give Forklift a try.
There's also menu item in the Finder menu - you know, that thing on the upper edge of the screen - Go | Go to folder... and it also gives away the secret hotkey.
[1]Come to think of it, I used to have iTerm set up for this, I really must reconfigure it.
[2]https://knowledge.autodesk.com/support/autocad/learn-explore...
It's not just Macs. Just about everything in "modern" UIs fail discoverability.
One additional note: after setting the defaults, if you want it to take place immediately, you need to kill finder.
That said I just type equations into spotlight - it doesn’t handle user defined functions, graph results, or anything, but it has a reasonably full suite of the standard arithmetic functions and operators
It's kind of cool, but I can still find many grievances about the way it's done :-)
It's incredible and I love it.
[0] https://qalculate.github.io/
I will 100% use this. However, you can take my HP 48GX when you pry it from my cold, dead hands. :-)
Accessibility-wise, it gives user choice between on-screen keyboard and the app native one
These days many devices can be used in touchscreen only mode (Microsoft surface etc), so keeping the digits makes even more sense there.
I was just curious to see if you had tried it, since it seems similar in spirit to your project, and thought you might be able to borrow some ideas from it.
I've been using speedcrunch for a couple of years now and it scratches most of the itches for what I want out of a calculator. It looks fairly similar to Chalk's design as well. Very nice interface!
For anything more complex there is SageMath and Jupyter notebook.
https://www.pacifict.com/Story/
I'd love to get one of the Swiss Micros[1] but I can't really justify it when my 35s is good enough. Maybe if I get a nice bonus this year I'll treat myself.
[1]: https://www.swissmicros.com/products
If you don't want them always loaded, but rather just for a "calculator mode," you can do something like
If you use ipython, then you can take advantage of autocomplete and not have to type as much, too.Together with some from fractions import Fraction as F would be even better
Thanks
Discussed here a couple of years ago: https://news.ycombinator.com/item?id=23414872
http://www.speedcrunch.org/download.html
I doubt any OS calculator got built through a modern software development process.
I don't think it supports as wide a range of math, but it does seem to pass the accuracy test given in the article (sin(exp(37))). It also lets you assign variables which I find handy.
On the other hand, the propagation of uncertainty in Chalk is very cool.
https://numi.app/
https://play.google.com/store/apps/details?id=com.burton999....
I've currently settled on MathLab's Graphing Calculator[0] which has very similar design elements for any larger scale calculations. My second choice if the calculation requires estimates or units is obviously Wolfram Alpha, but the need for connectivity, lack of calculation history and speed leaves it lacking as a quick calculation tool.
[0]: https://play.google.com/store/apps/details?id=us.mathlab.and...
The main thing I use Google search calculator for is natural-language unit conversions like "2 gigabytes / 128 kibibits per second in days" which is not in scope for Chalk, but there's a nice desktop calculator called Soulver that is good at that kind of thing.