DB48X: High Performance Scientific Calculator, Reinvented
(48calc.org)201 points by qwezxcrty 8 days ago | 137 comments
201 points by qwezxcrty 8 days ago | 137 comments
analog31 8 days ago | root | parent | next |
I'm one of the last people at my workplace to use a calculator. I'm a scientist, not an engineer, so I use a scientific calculator. ;-)
The schools ruined calculators.
I still find a calculator handy, even when I've already got Python going on my PC. It's easier to use the calculator with one hand, especially in the workshop. You can get a Casio solar at Target for 10 bucks.
My wife really prefers RPN, so I gave her my last HP when hers died.
makapuf 8 days ago | root | parent | next |
I guess the lack of workshops made also calculators disappear.
YuriW 3 days ago | root | parent | prev |
You can get one of SwissMicros, that what I had to do to get RPN back
bsder 8 days ago | root | parent | prev | next |
> The HP50g that came much later is better in every respect
Absolutely not. The big fail on everything after the 48SX was the keyboard.
I could sit in an exam and punch buttons without even looking at the calculator. I could feel the positive "click" from every single keypress, and I don't remember my 48SX ever dropping a keypress for any basic operation.
By contrast, the 49/50 series had mushy keyboards that bounced or failed to register presses. I still have 3 48SX calculators that I can use--I sold all my 49/50 series.
The excellent keyboard is bar none the big feature that I can't duplicate with any modern calculator.
I really wish some mechanical engineer would do a teardown on the old HP calulators and analyze why the keyboards were so damn good.
zoky 8 days ago | root | parent |
The 48GX you mean, but yes. The keyboard on the 48 series was chef's kiss. The keyboard on anything after that was complete dogshit.
If it weren't for the crap keyboard I would still be using HP calculators to this day. I blame Carly Fiorina, personally.
c3d 6 days ago | root | parent | prev | next |
> I admire the project, although I would probably have taken a different path (emulation) to get the biggest effect with the smallest possible effort :-)
Emulators are stuck in the past, since they need to rely on the HP ROMs. So all the nice new features in DB48x, like variable-precision decimal arithmetic, support for higher-resolution graphics and colour, tail-recursion optimization, object size optimizations, polar and rectangular complex numbers or vectors, or the extensive Markdown-based builtin help would all be impossible to implement.
> I wish there was a good HP50G emulator for iOS — there used to be one, but it was abandoned (contact me if you want to develop it and would like to get the source code, it was under the GPL and I got it from the author).
I have two pretty good emulators on my iPhone, one is iHP48, the other is i48. Both can emulate the HP50G if you load the correct ROM, IIRC.
That being said, I second the idea that if you got the source in GPL form, you should publish them on GitHub. Or share with me and I will do it, possibly restore it (I have vague plans to restore Emu71 as well, when I'm done with DB48x).
ninalanyon 8 days ago | root | parent | prev | next |
> No, this is not replaced by typing "python" (or "bc", or anything else, really) at your command prompt.
Why not? At least I can easily copy the results and the code to a document which avoids transcription errors. Or do you mean that there simply isn't a program that has the functions you use?
tivert 8 days ago | root | parent | next |
>> Incidentally, many young people (yes, I know how that sounds) do not know how useful a good engineering calculator can be and do not want to learn how to use one. They are missing out. Yes, there is a steep learning curve, but the rewards are significant if you do any amount of calculation in your hobby or work. No, this is not replaced by typing "python" (or "bc", or anything else, really) at your command prompt.
> Why not? At least I can easily copy the results and the code to a document which avoids transcription errors. Or do you mean that there simply isn't a program that has the functions you use?
My guess it's the ergonomics between a specialized tool and a non-specialized one. Technically, python may be able to replace "a good engineering calculator," but so can ASM. No one would even ask "Why non ASM?," because its ergonomics are near-universally understood to be so poor, but the same issues can apply to more popular tools like python, just less obviously.
7thaccount 8 days ago | root | parent | next |
I'm a calculator nut who has had many fancy TI (like the Voyage 200) and HP calculators (yes RPN) including the SwissMicro reproductions.
The ONLY benefit to these tools that I can surmise is basically that they are a physical device for scientists or others in the lab or field and not in front of a computer.
For any kind of data work I've seen, Excel, R, Python, Mathematica, or Matlab are all vastly superior. They allow faster entry, can show large amounts of data on screen, can allow for saving large amounts of data ...etc.
hggigg 8 days ago | root | parent | next |
Some of us (mathematics side) still actually work on paper with calculators. Most of the job is thinking which tooling doesn’t necessarily improve.
zokier 8 days ago | root | parent |
> Most of the job is thinking which tooling doesn’t necessarily improve
yet you use paper and calculator.
dylan604 7 days ago | root | parent | next |
That's like a carpenter saying it only took 10 seconds to make that cut while ignoring the 3 hours it took to create the jig so the cut would take 10 seconds.
You don't need the calculator to do the final sums until you've done all of the work gathering all of the data that needs to be calculated. It doesn't mean the calculator wasn't needed, just that it's only needed for one thing not every step along the way.
This wasn't the gotcha you think it was
hggigg 8 days ago | root | parent | prev |
near the end of the thinking yes.
SirHumphrey 8 days ago | root | parent | prev | next |
I don’t use the physical HP50G i have that often, but i love it emulated on the phone. It’s for semi complicated quick calculations where scientific calculator interface really shines compared to anything else available.
jwr 7 days ago | root | parent |
What emulator do you use?
I'd really like to run HP50G on iOS, but the only emulator I know was abandoned years ago (I got the source just in case, but it's a lot of work to fix the issues and build it).
exe34 8 days ago | root | parent | prev |
yeah after a decade in my job, I have a ton of utility functions in python that I reach for when given a new request to think through something. I doubt a smaller screen where I have to type in stuff and then copy out results would make it any easier.
jwr 8 days ago | root | parent |
This thread is making my point for me rather well.
exe34 8 days ago | root | parent |
yes a lot of people love them, but nobody's actually coming up with anything I can't do in python...
jwr 8 days ago | root | parent | next |
You can do everything in Python. But perhaps it is not the best tool for every job.
This is similar to programming language discussions: any programming language can be discredited by saying "but I can do all that in assembly/C/whatever". Yes, you can, but perhaps there are better ways to do it.
exe34 8 days ago | root | parent |
usually with programming languages, we mention certain things - like how python is easier to read, it's almost like English. it comes with dozens of well designed built-in libraries to do a lot of useful things, and thousands of external libraries to do the rest - even gluing together c/Fortran code for the speedup. it's well supported on many platforms so you can design on one comfortable os environment and deploy in a scalable one.
for the engineering calculators, it seems the advantage is that some people learnt to use them in school and really love using them? that's great, I'm tempted to look into them myself, because it does sound cool to have a small device that does that sort of thing while I'm reading a book. but the truth is that for me, both at work and at home, my laptop is never more than 5 seconds away from showing me a repl, so maybe I'm not the target audience.
c3d 6 days ago | root | parent | prev | next |
Let's see your Python answers to the following examples:
1. What happens if I rotate binary pattern 1001 right by 3 positions on a 18-bit PDP-9?
RPL code: 18 STWS 2#1001 3 RRC
Result: #8001 in base 16, #1000 0000 0000 0001 in base 2.
What about if I do this on 6 36-bit words? RPL code: 6 36 * STWS 2#1001 3 RRC
Result: #20 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001
2. What is the symbolic expression of the determinant of some 2x2 matrix? Program: [[1 y]['2+x' b]] DET
Answer: 'b-(x+2)·y' (shows graphically on calculator screen)
3. What is the output voltage of a voltage divider with input voltage 100V, R1=4kΩ, R2=10Ω Program: R1=4_kΩ R2=10_Ω V=100_V 'ROOT(ⒺVolt Divider;[V1];[1_V])' EVAL
Result: [ V1=99.75 V ]
Note that ⒺVolt Divider is a built-in equation, but you can of course put your own.
4. Verify if Ramanujan constant exp(sqrt(163)*pi) is an integer. Program: « 'exp(√ 163·Ⓒπ)'60 PRECISION →Num FractionalPart »
Result: -7.50E⁻¹³, so no, not an integer, but really close
5. Verify Maxwell's value for the speed of light, epsilon0 * mu0 * c^2 = 1. Program: '(√(Ⓒε0·Ⓒμ0))⁻¹' →Num
Result: 299 792 458.00 m/(F↑(¹/₂)·H↑(¹/₂))
Convert to SI units: UBASE
Result: 299 792 458. m/s
Convert to feet per second: ³⁷⁴ ⁷⁴⁰ ⁵⁷² ⁵⁰⁰/₃₈₁ ft/s or 983 571 056.43 ft/s.
(if you subtract the Ⓒc constant, you get -0.00031 11057 21 m/s)
6. Check the Collatz conjecture on 989345275647 Program: « if dup 1 ≠ then if dup 2 mod then 3 × 1 + else 2 ÷ end Collatz end » 'Collatz' STO 989345275647 Collatz
Result: 1 (conjecture is verified)
7. Given that it's now Nov 7, 00:07:51 and that a program I started on Nov 1st at 23:15:27 just finished, how long did it run? Program: 20241107.000751_date 20241101.231527_date - 1_h convert UVAL →HMS
Result: 120:52:24
(the "1_h convert UVAL →HMS" should really just be →HMS, but at the moment, →HMS is not smart enough to convert from days)dylan604 7 days ago | root | parent | prev |
When all you have is a hammer arguments are so much fun
exe34 7 days ago | root | parent |
every now and again, I download the user manual for a graphing calculator and every time I've been underwhelmed by what they have to offer.
What impresses me in this discussion is how coy everybody has been about the actual benefits of these devices.
dylan604 7 days ago | root | parent |
What impresses me is how you dismiss the usefulness to other people because you can't imagine it possibly being useful to someone because it's not useful to you
exe34 7 days ago | root | parent | next |
I don't believe I've done that? I've said it doesn't appear that it would be useful to me - and I keep asking, probably for the 5th time now, in what way is it useful? The most cogent reply I've had so far is "0.85f’c". I don't know what that means. Please, could you explain? At this point I feel that even Apple fanboys put more effort in justifying their choices.
dylan604 7 days ago | root | parent |
Do you like pen or pencil? Do you like college rule or wide rule paper? Do you like spiral or perf notebooks?
I don't need to justify my reasoning to you in a way that convinces you your way is wrong and mine is right. People like different things. I learned to use a scientific calculator as an extracurricular competition that allowed me to become very proficient at 10-key. Because of that, doing calculations on a computer goes against muscle memory. Laptops don't even have a 10-key. If I have a bunch of notes/papers with numbers that need to be added, I can pull out a calculator and just do the data entry and get a result. I don't have to go to my computer, or lug the laptop around in the shop. I just need numbers quickly crunched so I can then turn around and make a cut, drill a hole, or whatever. I don't need a large clunky compute device for that. Dropping a calculator on the shop floor is much less expensive than doing the same with a laptop. Lots of time, I just don't feel like needing to write a damn script just to get the tangent/cosine of a value to determine the lengths of the whatever.
Again, just because you have a hammer doesn't mean that you should use it drive that screw. Sometimes that tool that specifically made for purpose is better for the task at hand.
Now, pick any of the aforementioned options as to why I might prefer a calculator over a programming env just to crunch some numbers.
exe34 7 days ago | root | parent |
Thank you for explaining! So it's down to personal preference and invested training time, I wish you would just have said that to begin with. It's your hammer and you see everything as a nail. Got it.
dylan604 7 days ago | root | parent |
hopefully you can now apply this in future endeavors of open mindedness that other people might do things differently than you do, and that's okay. even if you can't possibly imagine why.
today's episode has been brought to you by the letter A for acceptance and the number 9
exe34 7 days ago | root | parent |
your mind is like a steel trap - nothing gets past you!
rustcleaner 7 days ago | root | parent | prev |
I declare thee argument winner! Well done chap!
0x1ceb00da 8 days ago | root | parent | prev |
We need a concrete example.
wiredfool 8 days ago | root | parent |
0.85f’c
exe34 7 days ago | root | parent |
What does it mean?
wiredfool 3 days ago | root | parent |
It's the concrete design compressive stress - a simple example of a concrete equation.
hggigg 8 days ago | root | parent | prev | next |
You just write the stuff down or translate it to LaTeX.
Incidentally the 50G (and Prime) has a decent CAS built in which seems to get stuck less than some other commercial ones.
c3d 6 days ago | root | parent | prev |
> Why not?
Keystroke count and progressive computations.
Let me illustrate using an example from a YouTube video called "The hardest Exam Question : Only 6% of students solved it correctly" (https://www.youtube.com/watch?v=NfgEPsm9Jzw), which is about a simplified formulation for (sqrt(2)-1)^10.
The first remark is that a CAS-capable calculator like DB48x can help with the symbolic part of the computation shown in the video. However, to be fair, DB48x still lacks some of the relevant HP48 interactive equation manipulation features to be able to demonstrate that. So let's focus for now on the numerical part.
The author shows that (sqrt(2)-1)^10 is the same as 3363-2378*sqrt(2). Let's evaluate that using bc.
Attempt 1: bc, then (sqrt(2)-1)^10-(3363-2378*sqrt(2))
Result: -985. Er... What?
OK. What is the option for precision again? man bc. Search for precision. Mentions the @ operator. Does not seem to do it. 5 minutes of search later, find that precision is called scale, that I need the -S option. I could also presumably use the -l option, which experimentally seems to set the scale to 20. Starting to remember why I am not a big fan of bc ;-)
Trying again. bc -l
(sqrt(2)-1)^10-(3363-2378*sqrt(2)) now gives me:
-.00000000000000000402.
Counting "bc -l" and ENTER keys, that's I believe 42 keystrokes.
Trying again with db48x: I need 23 keys using the most naive RPN data entry. The result is -1.57861 99E⁻²⁰ with the default 24-digit precision.
I can also enter the same algebraic expression as in bc directly in the simulator using copy-paste. I get a nice graphical rendering of the expression, which I can check, and then just one key (EVAL/=) to get the numerical value.
As another example, let's try to check if the Ramanujan constant in an integer:
bc -l
e(sqrt(163)*pi(20))
262537412640768743.98947654935272888605
That does not look like an integer to me. And it's way more than the 20 digits I would expect from scale. What is weird is that it gives me a false sense of accuracy, all the digits after "43.9" are bogus, as shown by switching the scaling to 100:
bc -l -S100
e(sqrt(163)*pi(100))
262537412640768743.9999999999992500725971981856888793538563373369908\ 627075374103782106479101186073126534265238592035363
21 keystrokes, and a result that is a bit hard to interpret with the default precision (scaling). In other words, it's pretty easy to get bogus numerical results and not know it.
With DB48x, after selecting a precision of 100, 11 keystrokes including menu selection to get the pi constant, and I get: 262 537 412 640 768 743.99999 99999 99250 07259 71981 85688 87935 38563 37336 99086 27075 37410 37821 06479 10118 60730 76
> At least I can easily copy the results and the code to a document which avoids transcription errors.
This is also true with the DB48x simulator, which supports copy and paste both ways. This is how I copied the values above, or entered the exact same algebraic expression as in bc into the simulator.
ninalanyon 3 days ago | root | parent |
> This is also true with the DB48x simulator,
You moved the goalposts. The original discussion was about calculators not emulators.
hggigg 8 days ago | root | parent | prev | next |
I never liked the 48 series or the 50G (I own both) that much. I can never remember how to use them half of the time. I always end up back with my 38 year old HP 15c. That has done me through separate engineering and mathematics degrees and about 30 years worth of jobs.
They just issued new ones as well! (HP 15CE)
jwr 7 days ago | root | parent |
Yes, that series is really good. The calcs I use most often:
* HP-25 (yes, a nearly 50-year old calculator, but you can hold it in one hand and it does most things I need very well)
* HP-11C or 15C (doesn't matter which, I don't use the extra features of the 15C)
* HP-12C
* HP-50G (very useful for unit conversions)
hggigg 7 days ago | root | parent |
Great to hear of another user :)
perth 8 days ago | root | parent | prev | next |
TBH TI-89 titanium is a better engineering calculator since the UI is way better. I have both a HP50G and a TI-89 titanium and I've done way more useful engineering work on the TI-89 titanium just because it's so much easier and accessible. Also of course, BASIC is a lot easier than reverse polish lisp for making some quick scripts.
Also I will add, there are known symbolic math issues on the HP50G due to the CAS system it uses. I will see if I can find a link.
hggigg 8 days ago | root | parent | next |
I've used both extensively. I disagree with this. I dislike the HP48 series but I dislike the TI89 more. It's probably because most people don't understand how to use the 50G properly. You really need to go through the HP training video ( https://www.youtube.com/watch?v=OTPruRVV-e8 ). Incidentally if you haven't watched that it's worth watching on its own - great production! In an engineering context, the 48-series was designed to produce small composable reusable programs and tools in the file tree which can be executed quickly.
Try a quick EE example for parallel resistor calculation that takes 2 and puts 1 value back on stack
<< 1/X SWAP 1/X + 1/X >>
Store that in RPAR in whatever directory you want or HOME. Then you whack in 2 resistors and hit the RPAR F-key. There is nothing faster or more efficient than that.
I still use a 15C all the time though. Even easier! 99% of what I do is on paper though and ends up getting chucked in the numeric solver.
Aardwolf 7 days ago | root | parent | prev | next |
For something that requires writing BASIC (or RPL for that matter), I think I'd rather use a programming language on a PC
However, keystroke programming a calculator, where you can still somewhat do simple loops with goto-like constructs when needed, strikes the right balance for the limited UI of a calculator
So something like the HP 15C is nice.
snvzz 7 days ago | root | parent | prev |
Got both as well (TI-89v2 and hp50g).
TI-89 preferred by far. hp50g UX is bad, particularly the latency makes me sick.
0x1ceb00da 8 days ago | root | parent | prev | next |
> No, this is not replaced by typing "python" (or "bc", or anything else, really) at your command prompt.
Why?
8 days ago | root | parent | next |
akira2501 8 days ago | root | parent | prev |
Built in algebra system. Mathematica is nice. Also very expensive.
jfim 7 days ago | root | parent | next |
For those of us that used those calculators in engineering class, the math that is displayed by the calculator also looks like what's in the textbook, making it easy to check if one has entered the right thing in the calculator.
Here's a simple example from their documentation: https://education.ti.com/en/customer-support/knowledge-base/...
Using the Python repl doesn't display nice math as far as I know (let me know if there's a way to make it so it), as you'd have in an environment for doing symbolic math (eg. https://www.wolframalpha.com/input?i=integrate+sin+x+dx+from... )
Another thing if I remember correctly one could do is something like 3_ft*3_ft>_m^2 to convert 9 square feet in square meters, and do things like keep units throughout a calculation as a quick check that the calculator input is sane.
whatshisface 7 days ago | root | parent | prev |
Take a look at Sage (for PCs) and khikas (for calculators).
jfim 7 days ago | root | parent |
Do you mean KhiCAS?
whatshisface 7 days ago | root | parent |
Yes.
agateau 8 days ago | root | parent | prev | next |
I loved my HP 48G when I was in school (even if it was much slower than the Ti 81 it replaced when it came to graphing). I regret throwing it away because of the nostalgia, but I don't feel a need for using it these days.
As such I am genuinely curious about what rewards you get from using an engineering calculator in your work. That's an honest question: I would really like to have an excuse to get my hands on a 48G again!
zoky 8 days ago | root | parent |
I broke the screen of my HP48GX when it fell in the crack of the passenger seat of my truck about 20 years ago and I am still pissed about it.
ceving 8 days ago | root | parent |
Try Droid48 on your phone. It works for me after I cracked a number key of my HP48GX.
zoky 8 days ago | root | parent |
Oh, I’ve tried using emulators, but without the actual physical keyboard it’s just not the same.
MegaDeKay 7 days ago | root | parent | prev | next |
Thank you for putting in a good word for "real" calculators. My HP-15c is always within reach.
Solid list of basic gym equipment as well. I'd add a good dumbbell set to your list unless you lumped those under "weights". A few different types of bars, a dip belt for adding weight to dips and pullups, and a low / mid / high cable set with various handles are also nice to have. Bonus points for a reverse hyper.
bankcust08385 8 days ago | root | parent | prev | next |
The HP 48GX got me through from high school college prep to EE/CS. I also happen to own an HP 48 overhead projector display and a thermal printer. Now, I just need an overhead projector to even use (the former). Sharing software was the killer app of the HP 48 G series, and the app that turned the serial IR port into a universal learning remote was a pranksters' dream because the IR LED was so overpowered.
dingnuts 7 days ago | root | parent | prev | next |
>Incidentally, many young people (yes, I know how that sounds) do not know how useful a good engineering calculator can be and do not want to learn how to use one. They are missing out. Yes, there is a steep learning curve, but the rewards are significant if you do any amount of calculation in your hobby or work. No, this is not replaced by typing "python" (or "bc", or anything else, really) at your command prompt.
I feel like this is highly role-dependent. I learned on an HP and I have my TI-89 from high school sitting on my desk, because I thought it might be useful. I never touch it. I never do math that's more difficult than arithmetic, and if I needed to do calculus or algebra for some reason I'd reach for Mathematica -- it's not like I remember calculus class anyway.
Hell I tried to help someone younger with algebra and forgot FOIL. I'm a successful distributed systems engineer. Why do I need an engineering calculator?
lencastre 8 days ago | root | parent | prev | next |
Don’t mean to highjack but I was on the TI-89 camp, and I barely scratched the surface of its programming capabilities and memory. But it did help a lot with earthquake engineering and other mechanical dynamics courses in the university. Chugging a 6 kg laptop was impractical and this little TI was a beast!
7thaccount 4 days ago | root | parent | next |
The Voyage 200 gives me such good memories. It was a TI-89 with more RAM, bigger screen, and full QWERTY keyboard. I must have spent hundreds of hours in engineering school using that for all kinds of uses. Most notably was typing in mesh or nodal linear equations in the way you see them in the textbook and having it solve for me without having to create a matrix.
nxobject 8 days ago | root | parent | prev |
EE*PRO to the rescue for me!
wwweston 8 days ago | root | parent | prev | next |
> but only after loading additional software
which additional software?
Also, these two statements:
> it takes forever to use them to calculate useful things, and graphing is much better done on a computer
> the rewards are significant if you do any amount of calculation in your hobby or work. No, this is not replaced by typing "python" (or "bc", or anything else, really) at your command prompt
seem like they're at odds. If a computer has a considerable processing speed advantage and better display plotting capabilities, what's the value prop of the HP/RPL environment over python/bc/anythingElseReally?
(I have a 48G, clearly I may not have gotten high enough on the learning curve, your answer could be relevant to my decision to keep it or send it on into the world)
whartung 7 days ago | root | parent | prev | next |
What do you think distinguishes the HP-50 from the 48, 49? I had a 48 and 49.
There were form factor and interface changes, the 50 is an ARM running a simulator vs the original Saturn architecture, there's the SD card.
What are the key software changes?
Better CAS?
I admittedly don't use it in any great depth (I did in the past), but the iHP48 is a very nice HP-48 for iOS. And it solves my primary complaint with the originals, a backlight.
jwr 7 days ago | root | parent |
It's kind of like a 48, but with preloaded stuff — I'd normally spend a lot of time loading all kinds of libraries onto the 48 (to get a better stack view, basic CAS, fonts, etc). The 50g is really good out of the box.
8 days ago | root | parent | prev | next |
tenkabuto 8 days ago | root | parent | prev | next |
> It's kind of like with gyms: what you get is what the market wants, and since the market doesn't know much, you get gyms full of useless exercise machines, because that's what people think a good gym should have.
I'm curious: what should a good gym have?
jwr 8 days ago | root | parent |
Squat rack, barbell+weights and bench as a minimum, bonus points for a pull-up bar and bars for triceps dips.
Most machines in gyms are either mostly useless, or actually detrimental to your health and fitness.
stavros 7 days ago | root | parent | next |
Can't really disagree with that.
DiskoHexyl 7 days ago | root | parent | prev |
That works relatively well until you get injured, which, for people who train seriously, is almost inevitable. Then you have to train around said injury either temporarly or permantently and find great use for various machines.
Or you get to a high enough level (for you genetics), where targeting a specific area is more efficient with some kind of a machine.
Or you've been training for many years and are now getting older- lots of folks can't really bench after about 40, and same goes for the dips.
Doing compound lifts is a great way to build both strength and muscle mass, but it is a bit myopic to call machines useless. Nuance is important.
Must admit that I'm not a competitor in lifting, and it is only a secondary hobby, but 1.83x body weight bench isn't completely laughable either
rhelz 8 days ago | root | parent | prev | next |
// many young people (yes, I know how that sounds) do not know how useful a good engineering calculator //
It's ok, I sound like that too. The problem is that in order to be acceptable for school use, calculators have to be so lobotomized that they are useless for real engineering work. The keyboard cannot be qwerty, it has to have lockdown modes which shut off functionality, etc etc.
Frankly, as a math teacher, I'd be just as happy if my students could program their calculators to help them on assignments and tests.
// I wish there was a good HP50G emulator for iOS//
A calculator has to have buttons man :-)
nxobject 8 days ago | root | parent |
The “no QWERTY rule” that standardized testing boards have is _absurd_. TI has a calculator with a dedicated alphabet keyboard cluster and a return key (the Nspire Touchpad)… except the keys have to be arranged in alphabetical order, because otherwise the College Board says no.
fsckboy 6 days ago | root | parent | prev | next |
>steep learning curve
actually, shallow learning curve.
the steepness means "a lot of learning from a small amount of experience"
sitkack 7 days ago | root | parent | prev |
If the source is GPL, why not release it?
PaulHoule 8 days ago | prev | next |
I am a fan of the HP Prime
https://hpcalcs.com/product/hp-prime-graphing-calculator/
But I use it in algebraic instead of RPN mode. I’ve got a 49g and a 50-something too.
People say it is pricey but I managed to get one discounted that was intended for the Latin American market. So is the thing that software is supposed to run on.
Mister_Snuggles 8 days ago | root | parent | next |
I have a Prime G2 and the RPN mode is just bad. It feels like it was an afterthought, and some things just don't seem to work properly in that mode.
My 48G+ is a much, much better RPN calculator.
The Prime G2 is also missing the equation library from the 48G+, which I found weird. Maybe they expect you to download what you need instead of using space in Flash for it.
PaulHoule 8 days ago | root | parent |
That's my take on the RPN mode but I like the algebraic mode and agree the 48 series is way better for RPN.
(My favorite HP calc was the 28, which I bought when the 48 was available. I discovered soon afterwards that a powerful spring will eventually break the battery door and it seemed to be a problem that no engineering student managed to solve.)
downut 8 days ago | root | parent |
I use my 32S (lives on my monitor pedestal next to my 8087 chip) weekly. When I was doing floating point/integer bit twiddling the 'base' key was my deeply appreciated friend. But that was 36 years ago. RPN (if trained into the brain) really is faster and I love how the register transfers work.
Nowadays when I'm not feeling especially tactile I tend to reach for the Free42 Android app, which lives in a stack with the 32S. If I ever get bored, I'm going to relearn how to program them both. Next time around on the wheel, likely, if I have hands.
I've replaced the battery on the 32S twice. Suck on that, modernity.
nxobject 8 days ago | root | parent | prev | next |
I'd recommend eBay, too, if you're within the continental US. This might be sacrilege, but after using a TI-89 I shifted to an TI Nspire CAS, since it has one of the highest-resolution screens in the market and still uses AAA batteries – I paid only $25 on eBay.
PaulHoule 8 days ago | root | parent |
Those are pretty good.
I was thinking the other day about all the electromechanical devices such as Walkman cassette tapes and portable minidisc players that Sony got to work with just one AA battery as opposed to the usual two.
wslh 8 days ago | root | parent | prev |
I have an HP Prime (and older ones such as the 48gx). I don't know why they remove the "undo" button from the Prime since it is necessary when perform mistakes.
Ringz 8 days ago | prev | next |
I still have a HP48GX in perfect condition and love it. One of my first programs was to calculate how much „slower“ my time is running when I drive a car or fly in a plane compared to someone standing still on the sidewalk.
I still find it much more comfortable having a real calculator… call me old fashioned.
c3d 6 days ago | root | parent |
A physicist working on the project used this to compute the space contraction for the https://en.wikipedia.org/wiki/Oh-My-God_particle, which presumably traveled at 0.9999999999999999999999951 time the speed of light. You cannot do that with your HP48GX directly using standard formulas, because it only has 12 digits of precision.
whartung 8 days ago | prev | next |
Seems like a really nice effort.
Nice they crammed it into the DM42 machines.
But for me, the learning curve is steeper than the utility. I have no real need for an actual calculator, I rely on my phone. On there I have iHP48, and I've already gone through much of that learning curve to make it useful (back in the day with an original one).
If you already have the DM42, I guess its a mostly compatible upgrade from that, to make stepping into it easier.
topspin 8 days ago | root | parent | next |
> Seems like a really nice effort.
Does it? Another powerful calculating engine trapped behind a skeuomorph interface?
Here[1] is a really nice effort that, sadly, hasn't been updated in 14 years and only runs on Windows. It's a wonderful 606kB math REPL that can probably do everything DB48X can do, except it foregoes all the 1970's portable calculator nonsense, making it about a thousand times more useful.
I have a nascent clone of this written in Rust using egui and rug, that is currently stalled because -- on bleeping Windows -- the former has problems with MinGW the latter has problems with MSVC... which makes me want to tear my hair out. I wait, patiently, for egui to get their MinGW ducks in a row because I have no hope that the GMP/MPFR/MPC stack is ever going to work on MSVC in my lifetime.
whartung 8 days ago | root | parent | next |
> Does it? Another powerful calculating engine trapped behind a skeuomorph interface?
Yes, it does. This is not a calculator app. It's calculator firmware that happens to also be runnable in an app.
They're trying to cram a HP48ish calculator into an HP42 clone calculator body, while retaining much of the UX of the calculator they're replacing.
The HP42 is the direct successor of the HP41 without the hardware interfaces and gizmos. Its essentially software compatible with the 41.
The HP48 (and -28) are completely different animals, from ground up hardware redesign to the notable RPL (Reverse Polish Lisp) foundations, and just in raw functionality as well. The 28/48 series had symbolic solvers and graphing (among a laundry list of other things), both novel at the time.
If you wanted an RPL based system in stand alone hardware with real buttons, you were stuck with legacy calculators. This fits in the modern DM42 system.
qwezxcrty 8 days ago | root | parent | prev | next |
Calculator is for quick and dirty math in the field or in a lab, saving me from taking out the laptop from backpack or abandoning my optics alignment exercise and getting to the workstation on the other end of the table.
In other cases when I have convenient access to a computer, I'll use a proper math software like Matlab/Mathematica or whatever open source alternative. It's just a different use case.
jiehong 8 days ago | root | parent | prev | next |
Some newer terminal based implementation of something similar is Numbat [0], for example.
For a GUI calculator similar to seqmath, but cross platform, try speedcrunch [1].
[0]: https://numbat.dev/
gompertz 8 days ago | root | parent | prev | next |
Thanks this is a great recommendation - runs perfect in Wine. There definitely seems to be a habit with developers making calculators that still fall into a 70s form factor. This is a great departure.
topspin 8 days ago | root | parent |
I really do want to clone that thing, except cross platform, and enhanced with 64 bit native math. I want the same exact REPL calculator and function library running natively and starting instantly from a no-install binary on every platform I might ever touch.
topspin 7 days ago | root | parent |
Oh, and make it open source, so that people that know more than I about all things math can contribute. If you hadn't noticed, SpeQ Math is not open source.
epse 8 days ago | root | parent | prev |
Is there a significant difference between that package and SageMath / XCas / Octave and friends? While a bit arcane, I've always been a great fan of xcas
topspin 8 days ago | root | parent |
Yes. SpeQ math, is extremely small, starts instantly and stands alone with no complex runtime.
linguae 8 days ago | root | parent | prev | next |
I feel the same way about not needing a physical calculator. I have an HP-48SX and an HP-15C Collector’s Edition. I enjoy these devices; they are high-quality and are exemplary products. However, as a professor I have regular access to my laptop, which can run circles around my handheld calculators. For quick calculations I open up the terminal and use the dc command, which is a command-line RPN calculator. For more involved computations, I have Python and Common Lisp REPLs, and I also sometimes use Microsoft Excel.
These days handheld calculators seem to be used the most in situations where people are restricted from using laptops and smartphones, such as during exams or in distraction-free settings. I think the reason Texas Instruments still has a viable calculator business is because TI markets heavily in the education market.
c3d 6 days ago | root | parent | prev | next |
There is a free iPhone version as well (called DB40X). Maybe some day give it a try?
bayofpigs 8 days ago | root | parent | prev |
Same. Love calculators and used to flirt with the idea of buying an old HP graphing but the app scratches that itch. Once you learn RPN it just feels so natural.
tooltechgeek 8 days ago | prev | next |
The Casio fx-9750GIII though very poorly named is a gem full of functionality from python, to spreadsheet and even a text editor and very low priced for what it does. If HP made a similar product with RPN it would be a game changer.
SomeHacker44 8 days ago | prev | next |
Spectacular project by one gentleman. Been using it for a while now on my Swissmicros.
opentokix 8 days ago | prev | next |
This made me exactly the same amount as frustrated like the originals. So, good job I guess :D
westurner 8 days ago | prev | next |
Could this run on a TI or a NumWorks calculator?
RPN: Reverse Polish Notation: https://en.wikipedia.org/wiki/Reverse_Polish_notation
RPL: Reverse Polish LISP: https://en.wikipedia.org/wiki/RPL_(programming_language)
c3d 6 days ago | root | parent |
In theory yes. In practice, the TI 83/84 are probably not beefy enough, and the NumWorks has a keyboard that makes the endeavour really complicated.
westurner 4 days ago | root | parent |
JupyterLite includes SymPy CAS, Pandas, NumPy, and SciPy in WASM (Pyodide) in a browser tab; but it's not yet easy to save notebooks to git or gdrive out of the JupyterLite build. awesome-jupyter > Hosted notebooks; Cocalc, BinderHub, G Colab, ml-tooling/best-of-jupyter
It's also possible to install JupyterLab etc on Android with termux: `pkg install proot gitea python; pip install jupyterlab pandas` iirc
But that doesn't limit the user to a non-QWERTY A-Z keyboard for the College Board.
jupyter notebooks can be (partially auto-) graded in containers with Otter-Grader or nbgrader; and there's nbgitpuller or jupyterlab-git for revision control or source control in (applied) mathematics
mongol 8 days ago | prev | next |
The form factor of an HP48 or similar calculator is very attractive. Good tactile buttons in a format slightly laeger than a modern smartphone. I imagine it could work as a very good companion to a smartphone ifbit had modern comoute capacity and memory plus some modern I/O interfaces like USB or Bluetooth.
codefeenix 8 days ago | prev | next |
If some sufficiently intense compute calculations were ran, will the display that shows the battery voltage drop?
recri 7 days ago | prev | next |
https://hp15c.elf.org wraps https://hp15c.com/, calculators make lovely web apps on smart phones, collect them all!
jiehong 7 days ago | root | parent |
That’s cool!
ashton314 8 days ago | prev | next |
I’ve got an HP50g that I love. I wish I could get my kids a SwissMicros calculator when they go to school but $300 is a little steep for a kid’s calculator.
(Heck, considering what TI charges for their crapulators, maybe it’s not such an outrageous price…)
sbdhzjd 8 days ago | prev | next |
I have it installed on my DM42. Its nice, but I dont like two things:
- Where's the apostrophe (equiv. to quote in lisp)? That should be an easily accessible key not buried in a menu.
- Why did he swap the log keys?
I also wish the HP48's steq interface to plot existed, but whatever.
c3d 6 days ago | root | parent |
> Where's the apostrophe (equiv. to quote in lisp)? That should be an easily accessible key not buried in a menu.
The apostrophe is on the XEQ key of the DM42, or "F". But in RPL, it is not to quote like in Lisp, but to introduce algebraic expressions (although it does quote names as a side effect).
On the simulator / web site, the symbol on the key looks like this: [' ()], it is on the second row on the rightmost column, see https://github.com/c3d/db48x/blob/stable/DB48X-Keys/DB48X-Ke....
The key is labeled like this because it serves a dual purpose to accommodate the smaller number of keys on the DM42 relative to the HP48. It adds a tick when not inside an expression, which in RPL begins an algebraic expression. When you are inside an algebraic expression, then you don't need tick anymore, so the key inserts parentheses inside.
> - Why did he swap the log keys?
Because I personally prefer to have exp and ln rather than ln and log. I also would prefer to have y^x as a primary, unshifted key, and this change is coming soon.
But I recognize that keyboard layout is a personal preference, so I'm currently working on making this customizable. Recently, "User mode" has been introduced, which lets you reconfigure the keyboard the way you want. So if you want to restore decimal LOG as the primary key instead of EXP, then do this: 'LOG10' 24.1 ASN. You should be able to restore EXP to the original position with 'EXP' 25.2 ASN, but there is bug with shifted user keys that I need to fix. This should be fixed in the next release.
In addition, the very next release should offer three layouts:
1) One that is maximally compatible with DM42 / HP42, which I assume is what you want.
2) One that corresponds to the current layout, so that people with existing overlays can keep them.
3) One that corresponds to a new iteration of the key layout that is better suited for DB48x, which is currently being discussed on the HP Museum forum.
sbdhzjd 6 days ago | root | parent |
Ya, after I posted this comment I looked harder and found it. That layout is very busy, but I get it the Dm42 has fewer keys.
Again, thanks for the project my 48Gs are getting old and the screens always sucked, and the UI always felt slow compared to my 28S.
bankcust08385 8 days ago | prev | next |
I think it should be a tribute to Claude-Nicolas Fiechter, Mika Heiskanen, and Bernard Parisse who came up with Erable. There is Giac/Xcas now that it is its spiritual successor.
anyfoo 8 days ago | prev | next |
Seems great. How does this compare to Free42? https://thomasokken.com/free42/
sbdhzjd 8 days ago | root | parent | next |
Free42 is more faithful to the original 42 than this is to the 48. Free42 also has an infinite stack hack which is a nice bridge to those accustomed to the RPL.
This is annoying to installe and not really completed (this is a much much larger endeavor than the 42). Its also very disorienting at first until you figure out the UC
That said, its good enough that I use it on my swisimicro rather than my 48s because the screen is much better
chowells 8 days ago | root | parent | prev |
Well, it's based on the hp48 instead of the hp42, for one. Though that button layout is not that close to the 48, either.
hajile 8 days ago | prev | next |
As a DM42 owner who loves RPL, this is an exciting project.
sbdhzjd 8 days ago | root | parent |
Its annoying to instal, I eventually got it to work on my calculator (DM42) from the binaries.
The biggest thing is making sure all the firmware of the DM is upgraded
c3d 6 days ago | root | parent |
Could you open an issue on the project's web site about the trouble you had installing? (http://github.com/c3d/db48x). Thanks!
Also, were you aware of this tutorial: https://www.youtube.com/watch?v=rVWy4N0lBOI&list=PLz1qkflzAB...
sbdhzjd 6 days ago | root | parent |
Are you the author?
Man thanks! I know I criticized it a bit on here, but really it's nitpicking. Oh, and I found the apostrophe.
To file a bug Id have to try again to see what my issues were and I really don't have time this semester.
c3d 5 days ago | prev | next |
A video explaining the philosophy and technology behind the project. https://www.youtube.com/watch?v=jNOA39HnkcM
roflmaostc 8 days ago | prev | next |
somehow doesn't work on my Ubuntu Firefox 131.0.3 but works on my Arch 132.0.
Aardwolf 8 days ago | root | parent | next |
Same, shows JavaScript error:
"Uncaught ReferenceError: SharedArrayBuffer is not defined at db48x.js:615:40"
Both in Chrome and Firefox (both are up to date to versions way beyond where SharedArrayBuffer should have been introduced)
I think they should either use ArrayBuffer, or use https instead of http, apparently SharedArrayBuffer has security restrictions
c3d 6 days ago | root | parent |
SharedArrayBuffer is necessary to run multiple threads with EmScripten.
thought_alarm 8 days ago | root | parent | prev | next |
It needs https.
grantmnz 8 days ago | root | parent | prev | next |
Apparently, for security reasons, your server needs to add certain headers if you want to use SharedArrayBuffers.
https://hacks.mozilla.org/2020/07/safely-reviving-shared-mem...
c3d 6 days ago | root | parent |
This is done on that page, though on some browsers it requires an explicit page reload. This works with Mozilla 132.0, just tested on Fedora 41.
c3d 6 days ago | root | parent | prev |
This works with Firefox 132.0, tested on Fedora 41 right now.
rustcleaner 7 days ago | prev | next |
I love SwissMicros. I own a DM42 and DM15L. I strongly reccomend them for everyone young-to-old!
Buttons feel crisp and responsive, the postfix input is a dream I can't remember living without; it's also easy to disassemble too!
mabster 8 days ago | prev | next |
It's not clear from that page nor the GitHub repo whether they are using decimal floating point underneath? It's one of the nicer things when using a calculator over something like Python.
c3d 6 days ago | root | parent |
There are three floating-point representations:
- A variable-precision decimal floating point that uses base-1000 internally with 10 bits for 1000 values instead of 1024, so reduced memory waste, and LEB128 for size and exponent encoding. So 1.23 is 5 bytes, and each decimal value has its own precision. The precision only affects computations, not stored objects, so you can adjust the precision for each step of a computation.
- IEEE754 hardware accelerated 32-bit and 64-bit binary floating point.
In line with RPL, there are many other object types, including arbitrary-precision integers (123 is 2 bytes, 100! is 68 bytes), symbolic expressions, programs, lists, and so on.
db48x 8 days ago | prev | next |
That is really weird.
c3d 6 days ago | root | parent |
Sorry about that ;-)
db48x 6 days ago | root | parent |
It’s ok, I may be able to live with it :)
Though sadly I have already had to tell some friends that I’m not involved in the project.
dangsux 8 days ago | prev | next |
[dead]
bell-cot 8 days ago | prev |
IANAL, but the logo they're using looks infringingly similar to HP's.
c3d 6 days ago | root | parent |
It's a tribute to Hewlett and Packard, but taking the first names, and with the individuals reversed for balance.
I do not believe there is any possible infringement on a clearly new design, even if that design is intentionally reminiscent of the HP logo.
jwr 8 days ago | next |
The 48G was a really good calculator, but only after loading additional software. The HP50g that came much later is better in every respect, except possibly for the smaller "ENTER" key (and people used to 48G will have to change some habits and possibly redefine some keys…).
Incidentally, many young people (yes, I know how that sounds) do not know how useful a good engineering calculator can be and do not want to learn how to use one. They are missing out. Yes, there is a steep learning curve, but the rewards are significant if you do any amount of calculation in your hobby or work. No, this is not replaced by typing "python" (or "bc", or anything else, really) at your command prompt.
Also incidentally, the development of good engineering calculators pretty much died. HP Prime is largely a school-pleasing toy, HP would down their calculator division a long time ago, and nobody else produces anything good. It's kind of like with gyms: what you get is what the market wants, and since the market doesn't know much, you get gyms full of useless exercise machines, because that's what people think a good gym should have. Similarly with calculators: you get stupid "modern" graphing calculators which are useless for actual work (it takes forever to use them to calculate useful things, and graphing is much better done on a computer), but they look great and sell well.
I admire the project, although I would probably have taken a different path (emulation) to get the biggest effect with the smallest possible effort :-)
I wish there was a good HP50G emulator for iOS — there used to be one, but it was abandoned (contact me if you want to develop it and would like to get the source code, it was under the GPL and I got it from the author).