PCalc, an Origin Story
pcalc.com
pcalc.com
> I'm not exactly certain anybody asked for a calculator on their TV, but by this point in time I was now determined to put PCalc anywhere that Apple let me, just out of stubbornness.
I use it all the time, it's so incredibly useful. My most used pre-defined functions are... copy(s) and paste(). E.g. doubling a comma-separated list of numbers is one simple
copy(", ".join(x*2 for x in eval(paste())))
away.Also, I prefer the earlier UI designs that are more skeuomorphic and look like an actual calculator... but that's just me, they all look great.
PCalc for macOS - https://news.ycombinator.com/item?id=25155459 - Nov 2020 (62 comments)
Apple’s calculator that comes with OS X/Mac OS is simply terrible, at least in RPN mode to almost everyone who has used HP calculators.
Two that bite me all the time:
First, “2 Pi” on HP pushes 2 and Pi onto the stack, and the Pi is complete so if you then press “3” you end up with 2, Pi, and 3 on the stack and you are still in digit entry mode.
On Mac “2 Pi” first puts 2 on the stack, then overwrites that 2 with Pi, then when you hit 3 it overwrites Pi with 3.
If you do “2 ln Pi” on both HP and Mac you end up with ln(2) and Pi. On the Mac though if you then start entering a number it will overwrite Pi, whereas HP will lift the stack to make room for the new number.
Basically on HP the Pi key completes any in-progress number entry, pushes Pi, and enabled automatic stack lift so that you can start entering another number without needing to press ENTER. On Mac it lifts the stack if and only if pressing a digit would lift the stack, then overwrites the bottom of the stack with Pi, and leaves automatic stack lift off so that if you then start entering another number (or press Pi again) the Pi is overwritten.
Second, on HP memory recall behaves the same as Pi. On Mac memory recall overwrites whatever is on the bottom. For example suppose 7 is in memory. Then “1 MR” results in 7 on the stack. As with Pi it is still in input mode so “1 MR 5” results in 5 on the stack.
Unlike with Pi it does this even if automatic stack lift would be expected. “2 ln MR” results in 7 on the stack, with the 7 overwriting the ln(2). On HP it would result in ln(2) and 7 on the stack.
PCalc handles RPN like HP does.
For simple calculations, I used the standard calculator in "normal" mode. I've also always got one or two calculators on my desk (currently a NumWorks and an HP Prime). And since a few months, I also have Free42 on laptop and iPhone. If you like RPN, check it out: https://github.com/thomasokken/free42
I realize most folks on HN trend young and are always interested in the latest new hotness, but here's a tool I remember from when I first began using Macs (in the early 90s) and it's still with us and under active development, unlike the overwhelming majority of hobbyist software projects. There are lessons in here.
By building for Mac, the developer was able to target every Apple platform, sometimes with minimal effort, and leverage platform tools like AppleScript for integration.
The Mac has a long history of high quality native apps, and it’s nice to see one survive, even thrive.
The ability to use variables in a calculator is exciting to me because it is so easy and because it helps decrease errors.
It's impressive.
I wouldn’t say I’m “excited” about it, but it’s an invaluable tool.
I’ve probably been using it for most of its life.
Same with BBEdit, which is of a similar vintage.