"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
https://hacks.mozilla.org/2020/07/safely-reviving-shared-mem...
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.
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
RPN: Reverse Polish Notation: https://en.wikipedia.org/wiki/Reverse_Polish_notation
RPL: Reverse Polish LISP: https://en.wikipedia.org/wiki/RPL_(programming_language)
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.
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.
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.
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.
For a GUI calculator similar to seqmath, but cross platform, try speedcrunch [1].
[0]: https://numbat.dev/
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.
Though sadly I have already had to tell some friends that I’m not involved in the project.
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.
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.
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.
(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.)
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.
The biggest thing is making sure all the firmware of the DM is upgraded
Also, were you aware of this tutorial: https://www.youtube.com/watch?v=rVWy4N0lBOI&list=PLz1qkflzAB...
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.
I still find it much more comfortable having a real calculator… call me old fashioned.
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).
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?
> 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.
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.
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.
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.
What impresses me in this discussion is how coy everybody has been about the actual benefits of these devices.
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.
today's episode has been brought to you by the letter A for acceptance and the number 9
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)yet you use paper and calculator.
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
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).
Incidentally the 50G (and Prime) has a decent CAS built in which seems to get stuck less than some other commercial ones.
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.
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!
They just issued new ones as well! (HP 15CE)
* 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)
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.
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.
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.
TI-89 preferred by far. hp50g UX is bad, particularly the latency makes me sick.
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.
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 :-)
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)
Why?
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.
I'm curious: what should a good gym have?
Most machines in gyms are either mostly useless, or actually detrimental to your health and fitness.
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
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.
If it weren't for the crap keyboard I would still be using HP calculators to this day. I blame Carly Fiorina, personally.
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.
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.
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?
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).
actually, shallow learning curve.
the steepness means "a lot of learning from a small amount of experience"
- 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.
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.
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.
(Heck, considering what TI charges for their crapulators, maybe it’s not such an outrageous price…)
- 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.
Buttons feel crisp and responsive, the postfix input is a dream I can't remember living without; it's also easy to disassemble too!