[HN Gopher] Show HN: All desktop software calculators are wrong,...
       ___________________________________________________________________
        
       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.
        
       Author : chacha21
       Score  : 141 points
       Date   : 2022-03-07 14:20 UTC (8 hours ago)
        
       | chacha21 wrote:
       | https://chachatelier.fr/chalk/article/chalk.html
        
         | prashnts wrote:
         | Unfortunately the link is unreadable on mobile due to the
         | sidebar taking all the space.
        
           | chacha21 wrote:
           | Quickfix : I have added a button to hide the TOC. Not sure if
           | it fits mobile screens anyway.
        
             | setr wrote:
             | Body text remains at its original width when ToC is hidden,
             | remaining unreadable at like 10% of screen width (with a
             | lot of blank space).
             | 
             | Probably better quick fix: have ToC initialize as hidden on
             | page load
        
             | FastEatSlow wrote:
             | Chrome's developer tools has a device toolbar to help you
             | test usability on mobile devices.
        
               | makapuf wrote:
               | So does firefox if you're using this browser
               | https://developer.mozilla.org/en-
               | US/docs/Tools/Responsive_De...
        
               | chacha21 wrote:
               | Thanks, I have added some more "mobile compliant" CSS
               | styles.
        
         | Mindless2112 wrote:
         | > _Windows Calculator almost does that: you can see the full
         | input as you type, but it disappears upon hitting the final
         | "="._
         | 
         | This has been rectified, by the way.
        
           | chacha21 wrote:
           | Even if it proves me wrong, it still makes me happy that some
           | work is done on this tool. (I will fix the article)
        
         | ramses0 wrote:
         | This description is like a dissertation and history lesson in
         | calculation, all in one. Add a comparison of `chalk` to the
         | babbage difference engine, and it'll be 100% complete! :-P
        
       | shhsshs wrote:
       | I love this, great idea! I don't need the majority of the fancy
       | features but I can see the use case for them.
       | 
       | I built my own calculator app a while ago [0]. I've used an
       | HP-41C as my main calculator for many years and I have not yet
       | found a good RPN calculator app available on ALL platforms. I
       | wanted a simple calculator that felt like an HP-41C that I can
       | use on my phone + all desktop operating systems and get the same
       | experience.
       | 
       | [0] https://github.com/shamus03/ralc (if you're on desktop, it
       | looks much better if you install it as a PWA and resize to your
       | preferred size)
        
       | 29athrowaway wrote:
       | This looks more like a CAS.
        
       | tpoacher wrote:
       | LaTeXit looks great, I'll have to try it next time I'm on a
       | computer.
       | 
       | Currently I use Anki for the same effect.
        
       | exabrial wrote:
       | Obviously needs social network integration....
       | 
       | /s "OS providers seem to have forgotten that a "computer" should
       | be used to COMPUTE"
        
       | smasher164 wrote:
       | Great work! I like how well considered the design is. This
       | calculator takes a point in the design space with text input,
       | equation rendering, a grapher, and Big Int/Floats for number
       | representation.
       | 
       | 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.
        
         | chacha21 wrote:
         | Hi,
         | 
         | >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 !
        
       | w0mbat wrote:
       | I got fed up with all these complicated calculators and re-
       | implemented the original Mac calculator desk accessory at
       | https://CalculatorDA.com. It does the simple things I need while
       | giving me a nice nostalgia buzz.
        
         | AdamH12113 wrote:
         | I have been carrying around a copy of the Windows XP calculator
         | ever since Microsoft decided that nobody can do both decimal
         | values and decimal <-> hex <-> binary conversion without having
         | to go through a menu to change modes. With the XP calculator, I
         | use F5-F8 as shortcut keys for changing bases whenever I want.
         | The Windows 10 calculator doesn't even do anything with those
         | keys in scientific mode.
        
         | CharlesW wrote:
         | A fun story about how that original Mac calculator came to look
         | the way it did:
         | https://www.folklore.org/StoryView.py?story=Calculator_Const...
        
       | wjdp wrote:
       | Looks to be Mac only, any good cross platform alternatives?
        
       | olliej wrote:
       | This seems like it's not a "for everyone" calculator, and built
       | in OS calculators are always going to go "simple desktop
       | calculator" design as that's what the vast majority of people
       | want or need.
       | 
       | 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
        
         | chacha21 wrote:
         | You know what ? I was not even aware that it would work ! (Am I
         | the only one to discover that just now ? I am not using
         | Spotlight very often)
         | 
         | It's kind of cool, but I can still find many grievances about
         | the way it's done :-)
        
           | olliej wrote:
           | I'm sure it's not ideal, but for my purposes cmd-space
           | (random math) is generally sufficient. But I'm also not a
           | mathematician so I do maths with numbers and not letters :)
        
             | chacha21 wrote:
             | Even with numbers only, it can still be useful to know how
             | wrong the result is. Chalk keeps track of every inaccuracy
             | when dealing with decimal numbers.
        
       | criddell wrote:
       | I still enjoy using a good handheld calculator. Today it's an HP
       | 35s which is fine but I only bought it because my HP-28s battery
       | door broke.
       | 
       | 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
        
       | myhf wrote:
       | Lots of cool functionality in Chalk. I love it.
       | 
       | 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.
        
       | vermarish wrote:
       | Being able to compute sin(0.1)/0.1 and reading the uncertainty at
       | a magnitude of E-309 feels magical after doing everything in
       | MATLAB, where the default float type only counts down to E-16.
       | This is really cool!
        
       | kkfx wrote:
       | You should try Emacs calc inside EXWM :D
        
       | karmakaze wrote:
       | I never use the macOS calculator app. I enter my expressions into
       | Google search. I can't be the only one who does this.
       | 
       | I would appreciate a better online calculator than Google web
       | search. What do others use, WolframAlpha?
        
         | crobertsbmw wrote:
         | I open up a Python shell window probably 20 times a day to do
         | simple maths...
        
           | seanw444 wrote:
           | I recommend https://insect.sh (you can install it through NPM
           | to use it locally). Does simple maths well, does functions,
           | does units, does conversions... pretty cool shell calculator.
        
         | seanw444 wrote:
         | If we're talking online, WolframAlpha is amazing. Used to use
         | it all the time. Now I use Emacs Calc, since it's built right
         | into Emacs (a keybind away), and it's pretty nice and
         | featureful.
        
           | buescher wrote:
           | I like Wolfram Alpha a lot but google's calculator is faster
           | and does a very good job with units analysis.
        
       | reportingsjr wrote:
       | I definitely agree with a lot of the complaints. I truly don't
       | understand why so many computer calculator interfaces are so
       | awful.
       | 
       | 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!
        
         | Froedlich wrote:
         | Another + for speedcrunch, a tool I didn't know I needed until
         | I discovered it.
        
         | keithnz wrote:
         | I really like speedcrunch also, another really cool calculator
         | that is more of a language is Frink https://frinklang.org/
        
         | raron wrote:
         | +1 for SpeedCrunch
         | 
         | For anything more complex there is SageMath and Jupyter
         | notebook.
        
         | ducktective wrote:
         | speedcrunch is simply underrated. ticks so many checkboxes
        
       | codedokode wrote:
       | I also noticed that digit keys on keyboard in desktop calculators
       | are useless - why would you type in numbers by clicking? It's
       | very slow.
        
         | saila wrote:
         | They're useful to some people for accessibility reasons.
        
           | fhrow4484 wrote:
           | As well as touch screens!
           | 
           | 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.
        
       | throwaway81523 wrote:
       | Interesting but I notice that the Emacs calculator (calc.el)
       | isn't in the comparison. It is what I use for quick calculations
       | most of the time. There was also a Mac program called Milo a long
       | time ago that was very cool. I never had a chance to study it
       | though.
        
         | skavi wrote:
         | A fun story regarding Milo.
         | 
         | https://www.pacifict.com/Story/
        
         | kqr wrote:
         | I second the usefulness of the calculator built into Emacs.
         | Even if I didn't use Emacs for anything else, I'd keep an alias
         | around for starting calc.
        
           | chacha21 wrote:
           | I agree, but as good as it is, this is not where people would
           | like to find a good calculator.
        
             | creata wrote:
             | Pardon my ignorance, but why? Emacs is bundled with macOS
             | (although that might be very outdated) and most Linux
             | distros, and it's not very hard to use.
        
       | fastflo wrote:
       | $ python       >>>
        
       | omaranto wrote:
       | Looks very cool, congratulations! Have you tried Emacs Calc?
       | Chalk reminds me of Emacs Calc, but without the symbolic
       | computation (and without date calculations or anonymous
       | functions).
        
         | chacha21 wrote:
         | I don't use Emacs, but I feel that people should just have
         | access to a decent calculator without digging developer forums.
         | As good as Emacs Calc is, we can admit that it's unlikely to be
         | seen as an easy-to-find lightweight tool.
        
       | [deleted]
        
       | algon33 wrote:
       | Any chance for a windows version? Or a mobile app? The usecase
       | for a mobile app is more plausible, even given that this is
       | already a great idea.
        
       | [deleted]
        
       | madrox wrote:
       | The history of the OS calculator is rooted in skeumorphism to
       | look like the pocket calculators of the 90s:
       | https://en.wikipedia.org/wiki/Calculator
       | 
       | I doubt any OS calculator got built through a modern software
       | development process.
        
         | dboreham wrote:
         | 70s
        
       | Sophira wrote:
       | My favourite desktop calculator so far is Qalculate![0] for
       | similar reasons, and I basically never have the keypad shown. It
       | uses libqalculate, which also provides an executable version
       | that's usable on the console, which I also use often.
       | 
       | It's incredible and I love it.
       | 
       | [0] https://qalculate.github.io/
        
         | [deleted]
        
         | sprash wrote:
         | This also has a nice command line interface for those who
         | prefer the terminal.
        
         | chacha21 wrote:
         | Thanks to Show HN I will be given tons of links to softwares I
         | would never have found by myself :-)
        
         | tejohnso wrote:
         | I'm also using Qalculate! and never had an issue with it. Maybe
         | I don't require complex enough calculations but whenever I want
         | some quick basic math, it's a quick keybinding away and there's
         | a history screen below the input screen so sometimes I don't
         | even have to type anything to see the answer.
        
       | p0nce wrote:
       | If you are after _weird_ Calc alternative for Windows, I use this
       | one all the time:
       | http://graindolium.paradisia.net/applicat/GrainCalcul.rar just
       | because it lets you use the keyboard instead.
        
       | oversocialized wrote:
       | Anyone remember the omg wtf calculator contest?
       | https://thedailywtf.com/articles/OMGWTF-Finalist-09-Terrys-C...
        
       | brimble wrote:
       | > On a pocket calculator, you have one keyboard layout, and you
       | simply ignore the keys you don't use. Has this ever been a
       | problem?
       | 
       | 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.
        
         | chacha21 wrote:
         | We will somewhat disagree, partly because I can't help using
         | calculators as a scientist, so my opinion is particularly
         | biased. However, I don't like the trend to hide everything that
         | looks technical. On the long run, letting people play with
         | advanced features (that won't break things) is a win-win.
        
           | TheDudeMan wrote:
           | MacOS is really bad abut this sort of thing. It fails on
           | discoverability. For instance, how do you navigate to a
           | hidden folder in the file-selection dialog? There is no
           | option to show hidden, and there is no place to input the
           | exact path. You must know two things to proceed: That there
           | is a secret hotkey to allow exact path specification, and
           | what that hotkey is. It took me years to learn that there was
           | a hotkey -- I just assumed that it was not possible.
        
             | isoprophlex wrote:
             | Isn't the macos of 2022 just a very shiny thing to browse
             | the web with, plus a linuxy terminal?
             | 
             | 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.
        
               | nicoburns wrote:
               | I find most of macOS reasonably well designed (at least
               | compared to the competition), but Finder is truly awful.
               | I highly recommend Forklift as Finder replacement.
        
             | random-one wrote:
             | You can set this permanently at the terminal with:
             | defaults write -g AppleShowAllFiles yes
             | 
             | or to always see the hidden files in the Finder:
             | defaults write com.apple.finder AppleShowAllFiles yes
             | 
             | use `defaults` to see and set a number of preferences that
             | are not apparent. Around the turn of the century Mac OS
             | started moving to streamline the UX and making it more
             | difficult to change (and possibly break) things in that
             | process; for better or worse. I remember the
             | discoverability of user settings/preferences and
             | tools/utilities being much easier using the finder and menu
             | bars in the 90's. Now, one is forced to get comfortable
             | with the command line to have that level of control and
             | customization.
        
             | vetinari wrote:
             | > You must know two things to proceed: That there is a
             | secret hotkey to allow exact path specification, and what
             | that hotkey is. It took me years to learn that there was a
             | hotkey -- I just assumed that it was not possible.
             | 
             | 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.
        
             | inetknght wrote:
             | > _MacOS is really bad abut this sort of thing. It fails on
             | discoverability._
             | 
             | It's not just Macs. Just about _everything_ in  "modern"
             | UIs fail discoverability.
        
       | jph wrote:
       | Superb! I downloaded Chalk then did your donation button. Your
       | calculator is excellent, and your write-up is so thorough that it
       | works as a case study for UI/UX. Thank you.
        
       | mncharity wrote:
       | > _Some much needed features are difficult to implement and
       | require a large amount of work. If these features are not
       | available, this is because nobody really cares, and there are few
       | pre-existing parts to build upon._
       | 
       | Some things resemble "nobody really cares", but are distinct.
       | Being unaware (eg "I didn't realize how bad it was until it
       | stopped"). Being impoverished (eg "Any cost, including attention,
       | is an insurmountable cost barrier", or as in education, a chain-
       | of-care disaster triage). And so on.
       | 
       | The "few [...] parts to build upon" is indeed a mechanism for
       | "large amount of work". Yay patents./s But there are others, and
       | subtleties. For example, one can lack a part to build upon,
       | because there are lots and lots of similar parts available, but
       | all are variously not fit for purpose, or are collectively hiding
       | the existence of a part that is - a prohibitive discovery cost
       | (also effort dissipation). Or recursively, a part might not have
       | been built, because its multiple potential uses have not been
       | gathered to incentivize it, or a part it in turn needs - an
       | economic communication failure. All our usual dysfunction.
       | 
       | I emphasize this because the "nobody really cares" model can be
       | very attractive, but also very misleading. It can be a wonderful
       | fit for observations, and predictive of further observations of
       | the undisturbed system, while also being a very poor model for
       | planning and predicting interventions.
       | 
       | For example, from kindergarten to undergraduate, introductory
       | astronomy content tells students the simply wrong color for the
       | Sun. In some sense, "nobody really cares" is an excellent
       | description. Not teachers, professors, authors, publishers,
       | reviewers, parents or students. But... they could care.
       | Individually, it's not too hard to flip their state. And it's
       | possible to imagine interventions with broader impacts. But we
       | collectively don't get to it, for all the diverse reasons things
       | aren't gotten to. Much of science education dysfunction is like
       | that. Because "nobody really cares" that it succeeds... sort of,
       | kind of, maybe, but also no - that's very not a root cause
       | analysis.
        
       | eliah wrote:
       | I'm surprised no one has mentioned Soulver yet
       | (https://soulver.app/). I have used it for years -- it looks like
       | it has pretty similar functionality to this but (IMO) with a more
       | native-feeling UI. I love it.
       | 
       | 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.
        
       | DiabloD3 wrote:
       | I totally get this. The number of times I quakemode a terminal
       | just to run bc is insane.
        
       | Dylan16807 wrote:
       | Looks cool, though I can't really use it.
       | 
       | Typo in the boolean section, one of the 'certainly OR false'
       | results on the chart says 'unlikely'.
        
       | orbital-decay wrote:
       | I love the ground-up design. However, i feel that in-place
       | operations are missing from your rationale. Good algebraic
       | calculators are typically able to 1/x or invert anything on the
       | screen with one button without breaking the input flow, and
       | repeat operations for the same left- or right-side operand by
       | pressing =. This massively reduces the time spent on certain
       | guesstimations when doing napkin math.
        
       | im_down_w_otp wrote:
       | This is exceptionally cool. It feels like what would happen if
       | one were to fastidiously reimagine the HP 48 user experience for
       | the desktop (in terms of usage patterns, mental model, etc.).
       | 
       | I will 100% use this. However, you can take my HP 48GX when you
       | pry it from my cold, dead hands. :-)
        
       | jdeaton wrote:
       | I still use the python repl in a terminal for my desktop
       | calculator. Its a good choice since usually im already in the
       | terminal anyways.
        
         | savant_penguin wrote:
         | I also do the same although when I need fractions, having to
         | type all the words to import and use the fraction module is a
         | pain
        
           | actually_a_dog wrote:
           | Why not just save those words, and other commonly used words
           | to a startup file? Then, you can just do
           | export PYTHONSTARTUP=/home/savant_penguin/.python/startup.py
           | 
           | and those things will be automatically loaded for you. If you
           | don't want them always loaded, but rather just for a
           | "calculator mode," you can do something like
           | alias
           | pycalc='PYTHONSTARTUP=/home/savant_penguin/.python/ipython
           | startup_calc_mode.py'
           | 
           | If you use ipython, then you can take advantage of
           | autocomplete and not have to type as much, too.
        
             | colpabar wrote:
             | Thank you for this!!! I use the repl all the time and had
             | no idea I could do this.
        
       | operator-name wrote:
       | There's been a lot of suggestions for alternative desktop
       | calculator programs that try to remedy some of the issues
       | outlined. I've had similar experiences/annoyances with calculator
       | apps, most of which to copy handheld calculators but without the
       | satisfaction of buttons yet the power of a programming
       | repl/solver.
       | 
       | 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...
        
       ___________________________________________________________________
       (page generated 2022-03-07 23:00 UTC)