ENGINEERING ★ 168 upvotes 2020

Classic Calculator Was Reverse Engineered from the Bare Metal

Retrospective Overview & Key Insights

Distilled analysis of the business dynamics, operational challenges, and strategic takeaways:

In this technical retrospective (2020), @samizdis shares practical architectural lessons learned from running, scaling, or migrating production software under lean constraints.

Core Principles for Independent Builders:
1
Defaulting to simpler architectures (such as monolithic frameworks, SQLite, or managed VPS) prevents early engineering bankruptcy.
2
Evaluating true compute and egress costs reveals that high cloud bills can often be slashed by 80%+ through judicious re-platforming.
3
Code you write at 2 AM as a solo engineer must be easy to debug six months later without complex microservice dependencies.
Community Debate Themes:

HN engineers debated the tradeoffs between cloud convenience and raw server economics, database indexing strategies, and resisting premature architectural complexity.

Community Discussions & Critical Reviews

High-signal perspectives, counter-arguments, and peer founder insights debated on Hacker News (68 total discussions):

RO @roelschroeven Peer Contributor
The Sinclair Scientific was able to reduce complexity by using reverse Polish notation, in which mathematical operators come after the numbers they are operating on—for instance, “5 + 4 =” becomes “5 4 +.”

It's not really RPN though. RPN lets you write "2 × (5+4)" as "2 5 4 + ×", but the Sinclair Scientific doesn't support that. It would have needed a stack for that, which wasn't available. Instead each operation simply acts on the previous result. You'd have to use "5 + 4 + 2 ×" instead.

Still very impressive how they managed to accomplish all that using that simple TI chip and only 320 instructions.

BA @barbegal Peer Contributor

The patent https://patentimages.storage.googleapis.com/0d/b2/87/7f219f38ca9899/US3934233.pdf for the chip this calculator was based on (the TMS080x) is a real work of art. If you know how to make a transistor and a seven segment display, you can build yourself a fully working calculator with the information in the patent.

The architecture is truly odd, using 44 bit registers (11 x 4-bit BCD) and 11-bit opcodes. It is more like an electrical abacus than a microcontroller.

QA @Qasaur Peer Contributor

Somewhat off-topic, but why does the IEEE (a non-profit) have annoying ads on their site? I'm not using an ad-blocker and as soon as I clicked the link I was bombarded by one big half-page ad and a bunch of other ads that are irrelevant to the content of the article.

I would have thought that their very expensive membership fees and article/publication fees would have covered their operating expenses.

TH @thaumasiotes Peer Contributor
The Sinclair Scientific was able to reduce complexity by using reverse Polish notation, in which mathematical operators come after the numbers they are operating on—for instance, “5 + 4 =” becomes “5 4 +.”

This is a great example of a place where you shouldn't use punc-quote formatting. There is no . key on the calculator, but that's not obvious while you're reading the article.

PA @Paperweight Peer Contributor

The UI design of calculators is fascinating. Where do you put the buttons? TI and friends have a randomish layout, let alone the TERRIBLE mobile calculator apps.

(Self-promotion) I always wanted to design a calculator and finally got around to it as a lockdown project - https://ucalc.app

HISTORICAL ERA Pandemic Bubble (2020–2022)
COMMUNITY SCORE ★ 168 points
TOTAL DISCUSSIONS 68 comments
TOPICS & TECH STACK: