Show HN: KnightOS – An open-source OS for calculators
knightos.org
knightos.org
Like another commenter, I wrote some of my first programs on a TI-84, amazing that the school encouraged us to buy them and then completely failed to teach anyone how to use any of the features :'D
This is exactly the kind of thing Seymour Papert warned against; just like handing out tablets and then stopping the students from learning how to unlock them for their own uses defeats the whole point.
My gripe is:
- Why should a person doing difficult mathematics also have to struggle with a different notation?
If the expression gets to complicated, though, traditional notation is nice because it's easier to verify you calculated what you intended to, I feel.
But let me deconstruct your gripe. A good part of mathematics has been about finding the right notation to express particular ideas. RPN, in my experience, makes it easier to express certain calculations to a machine. But: why is there 'should' and 'have to' in your gripe? No one is forcing anyone to use RPN. You struggle with it to learn the notation, and maybe it makes the "difficult mathematics" easier to deal with. It's not like people make RPN calculators to be intentionally difficult and alien.
Your gripe could equally apply to modern algebraic notation vs. the old latin longhand, or arabic numerals vs. roman. I'm sure it was a struggle for people to learn the new notation in either case.
I think the initial struggle will be getting used to an RPN calculator if you've never used one before. (Some of them are a bit idiosyncratic.) But RPN notation itself is probably closer to how you actually solve many problems on paper. Long division is a good example.
In most modern "algebraic" calculators, the style often encouraged is to key in complete equations chock full of parens and notation (often represented graphically) from left to right with the expectation that calculator is smart enough to do the right thing when given your input values and the crank is turned (push ENTER). But there are sometimes surprising evaluation order gotchas even between different calculator models, even those made by the same manufacturer!
RPN is somewhat more rudimentary, making the user generally responsible for the order of evaluation by solving equations piecemeal. But as a result, you are rewarded with more consistency, fewer WTF moments with unexpected answers (since you're typically calculating intermediate values as you go), fewer keystrokes needed for solving most problems you'd typically use a handheld calculator for nowadays, intermediate values that can be efficiently (re)used on the stack as many times as needed (removing most of the need for additional registers), is more intuitive for making very compact and memory efficient algorithms (not the perk it was back in the day, arguably), and a keystroke programming model that closely corresponds to the way a user normally solves problems with the calculator manually. A simple but effective demonstration of the above features is solving a polynomial with an RPN calculator and a typical TI.
So I'd say difficult mathematics will remain difficult. But the analogy that comes to my mind would be the difference for the driver of an automatic transmission versus a manual transmission. Or a black box that does too much, leaving the user unsure of the full breadth of its function. RPN prevents the user from becoming too distant from what (s)he is calculating, while still providing all the power and abstraction needed not to be bogged down (too much) by the mechanics of the calculation itself.
Thank you, College Board.
EDIT: Oh, floating point! Now it makes sense!
Looks like ~$20 for a TI-73, vs. $70 on Amazon, and ~$40 for a TI-83+, vs. ~$80 on Amazon.
I'm not so good at hardware...
The 'getting started with assembly' guide is really good; the whole thing is really inviting to tinker. Excellent work!