[HN Gopher] Soviet scientific calculator gives up its Cold War-e...
       ___________________________________________________________________
        
       Soviet scientific calculator gives up its Cold War-era secrets
        
       Author : thunderbong
       Score  : 61 points
       Date   : 2021-07-18 12:16 UTC (10 hours ago)
        
 (HTM) web link (hackaday.com)
 (TXT) w3m dump (hackaday.com)
        
       | multiply wrote:
       | There are a lot of good HP RPN calculator emulators on phones.
       | Try Droid48 for instance and give RPN a try.
        
       | d_silin wrote:
       | I had MK-61 one (like MK52, but without the ROM bank) as a kid
       | and used it to learn programming.
       | 
       | You can do amazing things with just 105 bytes of RAM, like
       | playing real-time games using DEG-GRAD-RAD switch as a joystick,
       | for example.
        
       | jeffrapp wrote:
       | Yeah m
        
       | disabled wrote:
       | RPN is still being used, and it really should be taught in
       | schools, including at the elementary levels. It makes more sense
       | than traditional calculator entry. Once you learn it, you never
       | go back.
       | 
       | The reason that RPN is used is because it reduces errors with
       | calculation, although it can be fewer keystrokes. It certainly is
       | more concise. It also makes more sense (logically) when entering
       | numerical data. It is just like how you would write 128 + 256 on
       | the whiteboard. On a whiteboard you would write a 128 and then a
       | 256 on the row below it then a + (on the left hand side). In RPN
       | it would be 128 ENTER 256 +.
       | 
       | Just FYI: RPN operates using stacks. Because of the way things
       | are displayed on stacks, it helps prevent entry errors, as it is
       | easier to decode and review.
       | 
       | On an RPN calcultor: if you put in 128 and press ENTER, it goes
       | to the highest empty stack. The ENTER means that nothing else can
       | be entered into the stack unless an operand meant for 2 stacks is
       | used (+, -, *, /, etc.).
       | 
       | (Stack) 1: 128
       | 
       | (Stack) 2: (null--nothing here)
       | 
       | (Stack) 3: (null--nothing here)
       | 
       | When you press 256 the result looks like this in an RPN
       | calculator.
       | 
       | (Stack) 1: 128
       | 
       | (Stack) 2: 256
       | 
       | (Stack) 3: (null--nothing here)
       | 
       | When you press + in the above state, Stack 1 is added to Stack 2,
       | and Stack 2 becomes null (empty)
       | 
       | (Stack) 1: 384
       | 
       | (Stack) 2: (null--nothing here)
       | 
       | (Stack) 3: (null--nothing here)
        
         | crispyambulance wrote:
         | I used an RPN calculator (15C) upon entering college. Getting
         | used to it didn't take too much effort, and it was easy to see
         | the advantage.
         | 
         | But do students still use calculators, at all? What do they use
         | now? I honestly have no idea.
        
           | dboreham wrote:
           | Calculator apps on smartphone, unless the jurisdiction
           | prohibits their use in which case one of a list of TI
           | calculators that cost $100+
        
         | ajnin wrote:
         | I don't know where the notion that RPN is more intuitive comes
         | from. My dad had an HP-45 when I was a kid and I didn't quite
         | grasp the concept of a stack. You've also got it wrong in your
         | example (you've got stack 1 and 2 reversed in step 2), so I
         | guess it's not that obvious for grown ups either! When you
         | write a formula on the blackboard it is something like (5+6)*3,
         | not 3[?]5[?]6[?]+* or whatever. Takes a bit of mental
         | gymnastics to convert between the two, and you need to keep the
         | state of the stack in your head as you go. Not really viable
         | for anything too complicated. I guess that regular calculators
         | suck for that too, in my opinion the best are symbolic calcs
         | where you enter the formula as you would write it, parenthesis
         | and all, which as a bonus allows you to go back and fix
         | mistakes and reuse formulas easily.
        
           | jonsen wrote:
           | Of course for formula evaluation the ability to enter a
           | formula directly and pressing EVAL is optimal. But for ad hoc
           | calculation nothing beats RPN in my opinion. The HP 48 series
           | calculators can do both.
        
             | disabled wrote:
             | It's tricky to learn that in RPN. It's nice to be able to
             | go back to algebraic mode on the HP calculators in rare
             | situations where you do not know the right syntax (which
             | can be arbitrary by calculator) for entry of equations.
             | 
             | It took me about a month to learn RPN along with equation
             | entry, and I did that while in my weed-out courses in
             | engineering school. Everyone was using a different
             | calculator than me, and while they could directly learn
             | from each other, I had to figure out how to enter stuff on
             | my own. But, it paid off on exams, as people who made
             | parenthesis or entry errors got major points off. It also
             | saved time on exams and I really did not have to double
             | check for entry errors, which can be quite tedious on
             | electrical engineering exams.
        
           | [deleted]
        
         | etaioinshrdlu wrote:
         | I learned RPN years ago and I went back to regular calculators.
         | Although I also am unable to learn editors like Vim / emacs.
         | 
         | These things seem to not be for me.
        
         | CodeGlitch wrote:
         | Reverse polish notation? I was taught this for UK A-level
         | computer science (age 16).
        
           | disabled wrote:
           | I am an American (culturally) who lives in Croatia, so I am
           | aware of the educational system in mainland Europe and also
           | the UK.
           | 
           | In the US, we only learn "traditional" (non-RPN), calculator
           | entry, and this is even at university level! But, calculators
           | are only allowed for checking our work in mathematics
           | courses, at both secondary and university levels, and never
           | for quizzes/exams/proctored material. But, computer science
           | in secondary school (high school) may be an exception as RPN
           | is a classic example of the usage of stacks.
           | 
           | I think a lot of this has to do with contracts that school
           | districts in the United States have with the calculator
           | ("educational") companies, which have educational material
           | (which is integrated into standard textbooks that you use for
           | the school year) to assist in teaching calculator entry
           | techniques and usage. They also get quite good deals on Texas
           | Instruments calculators, which have no RPN features
           | whatsoever. I really do think that kids (and their educators)
           | not knowing RPN is a huge disservice.
           | 
           | I personally taught myself RPN on an HP 50g while doing my
           | undergraduate electrical engineering coursework, specifically
           | during circuit analysis 1 and electromagnetics 1. Everyone
           | else was using a TI-89 (Texas Instruments 89) and they were
           | learning off of each other how to use various techniques to
           | solve problems, while I was alone with learning stuff on the
           | calculator. Because of the complex entry of various different
           | unit types and integrals, it was a pretty steep learning
           | curve, on the HP 50g, and it took me about a month to get
           | proficient at it.(This is difficult to do on top of the
           | coursework because you are going through your weed-out
           | courses at a "traditional" engineering program where over
           | half the class will not pass these courses! As in, they will
           | either get a D+ or lower, or get a W--a withdrawal grade).
           | 
           | But, it saved me and paid off on exams, while I was using the
           | HP 50t, as people made all sorts of errors on their TI-89s
           | with these really difficult equations, and got major points
           | off. Although many different types of errors are made, a
           | critical one is a missing parenthesis, which causes a ton of
           | points to be taken off on an exam. Also, people with TI-89s
           | ran out of time "double checking for errors" (such as for a
           | missing parenthesis) on exams, and this alone can be the
           | difference between passing and failing a course. The way the
           | stack works on a HP 50g seriously reduces errors.
           | 
           | My (American) father also taught himself RPN at university
           | when he was studying to become an accountant. But, in his
           | case, it was easier to learn, although still not necessarily
           | easy.
        
             | wtallis wrote:
             | The benefits of the units system in the HP 48/49/50 series
             | really cannot be overstated. You don't just get free
             | conversions between compatible unit types, you also get
             | realtime type checking to prevent invalid operations on
             | quantities with incompatible units. This eliminates a very
             | common source of errors, and also encourages more rigorous
             | labeling of quantities with units when you're working on
             | paper.
             | 
             | The TI-89 technically can also compute using quantities
             | tagged with unit information, but the UI for it is too
             | convoluted to be useful.
        
           | kwhitefoot wrote:
           | Me too. And this was in 1972.
        
       | NotSwift wrote:
       | I really like articles about obsolete technology.
       | 
       | But author of the video was surprised that the calculator was
       | using Reversed Polish Notation(RPN). Hewlett-Packard (HP)
       | produced a whole line of calculators that also used RPN. It is a
       | pretty smart idea to use on calculators where there is not a lot
       | of memory available.
        
         | TooSmugToFail wrote:
         | Yeah, I had a HP-48 during my uni years. An awesome machine.
        
         | disabled wrote:
         | RPN calculators are still being sold by HP. This includes
         | financial, scientific, and graphing calculators.
         | 
         | The current RPN HP graphing calculators leave a lot left to be
         | desired, and aren't as good as the old ones. I have an HP 50g
         | RPN graphing calculator which is amazing. But, there are even
         | better ones that are no longer in production.
         | 
         | Swiss Micros makes remakes of such amazing HP calculators:
         | https://www.swissmicros.com/products
         | 
         | At some point I will purchase the DM41X from there.
        
         | leephillips wrote:
         | Also, fewer keystrokes, no?
        
           | jsjohnst wrote:
           | Depends on what you are doing, but it can be fewer keystrokes
           | for more complicated calculations, aka not basic arithmetic
           | like 33 x 42, which is six keystrokes either way (3,3,x,4,2,=
           | or 3,3,Enter,4,2,x).
           | 
           | Edit: replaced asterisks as multiplication symbol for x's to
           | avoid markup processing.
        
             | jonsen wrote:
             | A space after * ( 3 3 * 4 2 = vs. 3 3 ^ 4 2 * ) or make it
             | code                 3 3 * 4 2 =       3 3 ^ 4 2 *
        
           | [deleted]
        
       | avmich wrote:
       | Descriptions of stack in B3-34 family - MK-54, MK-56, MK-61
       | included - went like this:
       | 
       | Imagine a stack with the following registers:
       | 
       | T: 0
       | 
       | Z: 0
       | 
       | Y: 0
       | 
       | X: 0
       | 
       | X1: 0
       | 
       | The X register is the same as what you see on the indicator.
       | There are 3 registers above X and one special register ("previous
       | result") which is X1. When you enter digits, they go into X
       | register, so pressing "1" "2" "3" leads to changes in X:
       | 
       | X: 1
       | 
       | X: 12
       | 
       | X: 123
       | 
       | Now if you want to add another number to what you have in X, you
       | have to somehow tell the calculator that you're done entering the
       | number in X. The button for that was originally just "arrow up"
       | (^) , later it became "B arrow up" (B^), when you press it, X
       | gets copied to Y, previous Y content gets moved to Z, previous Z
       | content - to T, previous T content is lost. So after "123" "B^"
       | you have
       | 
       | T: 0
       | 
       | Z: 0
       | 
       | Y: 123
       | 
       | X: 123
       | 
       | X1: 0
       | 
       | Now you may enter a new number in X; right after B^ newly entered
       | digit will replace the content in X, and after that each
       | additional digit will be considered a part of the number being
       | entered. So, after "123" "B^" "56" you have:
       | 
       | T: 0
       | 
       | Z: 0
       | 
       | Y: 123
       | 
       | X: 56
       | 
       | X1: 0
       | 
       | Now you can enter the operator - after you've already entered
       | both operands, that's why it's "Reverse" Polish Notation (forward
       | one is in e.g. Lisp lists). If you enter "+", you'll get:
       | 
       | T: 0
       | 
       | Z: 0
       | 
       | Y: 0
       | 
       | X: 179
       | 
       | X: 56
       | 
       | So the "+" operator works on content of Y and X, Z gets copied to
       | Y, T gets copied to Z and previous T content remains in T. X1 now
       | has previous value - what was in X before operator, that is, 56.
       | 
       | If you want to calculate 1 + 2 x 3, you enter 1 B^ 2 B^ 3 x + ,
       | and if you want to calculate (1 + 2) x 3, you enter 1 B^ 2 + 3 x
       | . "x" here is "multiply". Notice you don't need to enter B^ again
       | if what you have in X is the result of operator application, not
       | just entered from the keyboard.
       | 
       | There are commands X <-> Y, which swaps X and Y (and X also gets
       | copied to X1), and "circular" (looks like "recycle" icon, which
       | is triangular with 3 arrows, only this icon is round), which
       | sends X to T (and X1), T to Z, Z to Y and Y to X. Four level deep
       | stack is usually enough for many manual problems.
        
       ___________________________________________________________________
       (page generated 2021-07-18 23:01 UTC)