Locklin on science

Icons of engineering quality: part 1

Posted in Design by Scott Locklin on August 10, 2009

Engineering quality is something that is never taught, but which occasionally happens. Most engineering is slapdash and Rube-Goldbergish. Someone needs to get something done. Sell a product, solve a problem, move on. Very few things are designed to last, or are designed to be eternal forms. I don’t even think most things are designed to be useful. Not even things whose very purpose is to be useful.

Good stuff doesn’t always look right. Paul Graham pointed this out in his essay, “taste for makers.” He used Lisp and the SR-71 as examples. Neither is the most advanced thing in the world, but they were pinnacles of good design, and both are still considered advanced designs even today.

Consider the humble calculator. Electronic pocket calculators date from the 1970s. The first truly useful one (as in, useful beyond abacus or slide rule level) was made by HP in 1972. I don’t count the sinclair executive or Sharp EL-8 (which came out a bit earlier) as anything more than parlour tricks, as they were less useful than a slide rule. They were certainly less impressive than many pocket sized mechanical computers, which had been around for many years before them.


“The Curta mechanical pocket calculator had a barrel shifter, three registers and a 4 instruction ALU; it was invented by a prisoner in a nazi internment camp”

The HP-35 was a real calculator. It had memory, scientific functions, programmability, and a vague sort of boxy elegance. Calculators today generally still look more or less like this thing does. But was it a pinnacle of calculator design? No. It was a beginning, and for most calculator designers, a sort of end.


In my opinion, the ultimate calculators ever made were the Voyager series of calculators. Specifically, the scientific version, the HP-15C, and the financial version, the HP-12C. How badassed are the HP-10C series of calculators? Well, one of them, the one for finance guys, is still being made; the HP-12C. It’s the original chipset. It’s not the original semiconductor process, they actually changed that because they could no longer get the silver oxide batteries which powered them (though if you have one of the original ones, you’ll probably never need new batteries). The high end scientific version has such following, it regularly goes for around $400, used on ebay. It also has a petition online to bring it back. There is an updated version of the HP-12C for financial snobs (I own one), where HP bothered to update the chipset to make it faster, and they went through several iterations of the firmware and the hardware which runs it to get it just right; a multi-million dollar investment in engineering. They also still sell the original chipset, because it is the one most trusted in the financial services industry. Mind you, HP isn’t even remotely the same company as it used to be. HP basically doesn’t do hardware or software development, but they did for the HP-12C, because it sells so well. It also still sells for about half what it went for in 1981. Imagine buying an 8086 PC with DOS-1 and a 720kb mass storage device for $1000. That’s the equivalent in other forms of 1981 technology. The HP-12C is such an icon of the financial services industry, until recently Bear Stearns and Goldman Sachs gave them out to new employees (Goldie may still). This is a calculator designed in the late 1970s, and first released in 1981. Still used today.


Why the hell is this thing so good? Is it something real, or just some weird fetish? Consider; what do you need a calculator for? Does it have to do symbolic integration? Does it need to have 10,000 functions? Does it need to be programmable in a high level language? The answer to all of these things is pretty obviously no. They do sell calculators that do these things. But grownups don’t use them. Adults use computers for such things. A calculator needs to be small, durable, handy, clever, powerful enough to do anything you won’t want to write in a computer anyway, and that’s about it. Calculators don’t need graphing capabilities; that’s for students to cheat on tests with. Computers are far better than calculators at graphing and symbolic algebra.

The Voyager calculators do just this. They’re smaller than most modern calculators, and have a more satisfying (and sensible) form factor, which is horizontal, rather than vertical. They are durable enough, you can still buy working, well-used 1981 models with the original batteries installed, and the batteries will be good for another decade. They used a battery technology which is no longer available to the consumer: silver oxide batteries. You can only get them for military applications. The keys were actually etched rather than just painted. The cases are strong. HP-12C’s have been dropped out of helicopters and survived. They’ve passed intact through the digestive tract of a hippopotamus and were still able to calculate bond yield to maturity after cleaning. I am pretty sure I could kill a man with one. They feel as if they are carved out of granite; even the worst of the crappy modern chinese versions have this attribute.


All the voyager calculators had the same architecture with some differences in ROM and number of registers. They used “binary coded decimal” to represent numbers. What does this mean? It mean numbers could be directly represented on a screen; a register would produce the correct output. That way there was no intermediate stuff needed to drive the screen. It also meant you had to use some more complex circuitry to make adders and such, since 10 decimal = 10000 in binary (as opposed to 1010, which is the correct base 2 way to represent decimal 10). This seems weird, but is actually insanely clever when chips cost a lot to make. The Voyager calculators display directly showed the contents of a register, just like the old 1960s computers with those science fiction blinking lights, except, you can read the output! Yes, these calculators use the dreaded “reverse polish notation.” All that means is they use a stack based approach (5 deep, counting the display register X, and a “bottom of the stack” register mirroring the last value in the X reg if you want to backtrace; something most debuggers should use, but don’t). And that the programming language was actually what you entered into the calculator when you were using it in an ordinary fashion. Duffers who code in Java all day don’t realize their infix notated Java gets turned into something a lot like RPN when it hits the CPU. The calculator used RPN because that’s what computers use. It’s also how you think about these things, whether you realize it or not. That’s why RPN takes about half the keystrokes of “algebraic” entry. If you stop to think about what is going on underneath the covers in an HP-12C, you’ll realize that this thing is really a lot like a PDP-8 with a really good UI, and a floating point based architecture.


The PDP-8 was one of the first “personal computers.” As you can see above, it used paddle switches to program the bits of a 12-bit register. It also generally required a couple of refrigerators worth of volume of equipment to provide a couple of kilobytes of memory, and some mass storage to store computer programs. It came out in 1965. So, it was less far removed from the HP-12C than we are today. An amazing step forward; you could stick a processor more powerful than that, plus a bunch of memory, plus a display in a thing that fits in a shirt pocket, which has batteries whose lifetime is measured in decades, and you didn’t have to load the thing with assembler to use it either. It even had sophisticated floating point programs built into the thing. But the underlying architecture of the Voyager series was more or less the same as a PGP-8; a couple of registers and some primitive indirect addressing capabilities.


The UI really bears thinking about, but you’d need to own one to follow along. The core of the UI is the enter key, which is giant, and in the center where it belongs. The [f] and [g] keys which change the state of the other keys are different colors, and off to the left where you can easily find them, along with most of the “verbs” for the calculator. If you want to change state or use a verb; go left. Data entry, go right. Regular computer keyboards generally ignore this idea (though my macbook doesn’t; it actually does something dumber to make up for this). The keys give resounding clicks, like closing the door in a well made Mercedes Benz. The old versions gave a little sneeze in the display when you’d enter something into a variable register (sadly, the new ones don’t), so you’d know it was in there. The little built in programs are incredibly generally useful within a given subfield. While the finance 12C doesn’t do sin and cos -that’s because finance guys never do either. Helpfully, they all have directions printed on the back for the built-in programs, in case you forget the intricacies of one of the built in algorithms. This is a great secret to successful design (one the CRAN project has forgotten); make it so you don’t have to remember details of how to use it. They knew what to put in to make it very powerful and useful. They also knew what to leave out. Most modern calculators suffer from creeping featurism. Put too many features in a small electronic item, and it becomes impossible to use effectively. You don’t want to have to carry around a thick book to use the thing. In that case, buy a laptop or desktop and stick the manual on the computer. I could imagine sticking an SD card in my HP-12C, so I could back up my little programs, or add zillions of them, but that would detract from the sturdiness of the thing, and make it too complex. Nope, the 400-odd words of memory are more than sufficient. If I need more, I need a computer. If I lose 400 words (most people will never use 400 words); they’re easy to put back in by hand. If I add complexity, it’s my complexity, and I know where I kept it. Win-win. All good designs leave stuff out. It is tempting for nerds of the C++ or java era of engineering to throw every feature in the world into a machine, but this is because they themselves use faulty and messed up tools to build things. Proper design is spare and perfect; like a samurai sword. Compare the Max Wedge (many of which are still raced today) to the spaghetti under the hood of your car; the Wedge is minimalistic and purposeful:


Why doesn’t everyone use these calculators? IMO, every serious person who needs such a thing actually does use them. I bought mine to learn about accounting systems on the advice of a number of quants. Using this thing, learning its algorithms is the best way to understand how money flows in companies work, and how to figure out when they’re cheating, when you look at their 10-K statement. I think it was a great tool for this. Furthermore, it is a great tool for actually examining companies, and checking algorithms I am writing to examine companies. The thing is, most people who have calculators are not serious. They don’t use them for anything real. When you are serious about a task, you use serious tools. Mechanics don’t use a leatherman to repair their car unless they have to.

A paper on a solution to the Black Scholes equation on the HP-12C and the one it is based on from 1988.

15 Responses

Subscribe to comments with RSS.

  1. The Epicurean Dealmaker said, on August 12, 2009 at 10:48 pm

    I still carry my 12C in my briefcase 24/7/365. There has never been a sturdier, more purpose-built piece of calculating equipment ever devised for pounding through some moronic company’s recondite financial statements at 3:00 in the morning, and there never will be.

    Your point is proven by the fact that I have tried to replace my 12C with a virtual software version on my iPhone. Even though the form factor is the same (though slightly smaller) and the new programmers have added new bells and whistles, I still turn to the original when industrial-strength calculating needs to happen. There are few things more satisfying than clicking those keys at high speed under high pressure.

    • Scott Locklin said, on August 13, 2009 at 11:09 pm

      If I can’t do it on a computer, I tend to do it on a 12C. Love your blog; I flatter myself that we think a lot alike.

  2. norm said, on August 12, 2009 at 11:44 pm

    Wonderful article. Thanks! I love my 15C, which I’ve had since my first day of college 25 years ago and still use today. One correction, however. My dad (a Lockheed engineer) had one of the first HP-35s. I have it now, it is sadly non-functional but I may get it rehabilitated some day. I know that this device was not programmable. It did have a storage register (accessed by the STO and RCL buttons you see there) for saving numbers aside from on the stack, which I believe was only four levels deep. Other than that there were no programmable features.

    • Scott Locklin said, on August 13, 2009 at 11:07 pm

      Ah, well, thanks for the correction. I never had a 35, and was probably going on some wiki page or other. I’m jealous of your 15C.

  3. Sue said, on August 13, 2009 at 2:47 pm

    I love my 12C. I really do. It has an air of inevitably about it, it just HAS to BE like it is. Just enough. Not too much.

    “you’ll realize that this thing is really a lot like a PDP-8 with a really good UI”..

    This is the first time I’ve seen such an a thought expressed and it immediately struck a chord. I have an old advertisement by DEC from an electronics magazine –

    ‘Nitty gritty computers make money, not count it’

    in large bold text, with picture of PDP/8, and text that reads

    ‘Nitty gritties are the new breed of computers – small, inexpensive, mobile, unpretentious – nothing like what computers used to be [..] Someone has to count the money. But we figure, making it is more important. [..]’

    It makes me smile whenever I look at it. The 12C is a nitty gritty too, I think so 🙂

    • Scott Locklin said, on August 13, 2009 at 11:11 pm

      The old DEC was really something special. I have some old advertising materials of theirs also; stuff I inherited from one of the labs I worked in. It’s too bad they couldn’t retain their culture and change with the times, but I guess I saw the writing on the wall when they sent an actual DEC repairman to my house to fix my broken Multia. Twice.

  4. Craig Bryant said, on August 13, 2009 at 4:12 pm

    An elegant weapon, for a more civilized age.

    But you do the Leatherman wrong. Like the SR-71, it makes hard design choices to maximize some qualities at the expense of others. No one chooses to work on a car with a Leatherman, perhaps, but it indispensable to a theater technician, who needs to move lightly and silently, and be able to put his right hand on his belt and come up with a tool that can solve the problem RIGHT NOW, whether it be cutting, unscrewing, prying, crimping, or just banging on something. A multi-tool and a mini Maglite with blue gel over the bulb–the tools of the trade.

    • Scott Locklin said, on August 13, 2009 at 11:10 pm

      I used my leatherman tons when I was doing experimental physics on a synchrotron beamline endstation. Beat jumping up and down the platform to get just the right screwdriver, or piling a bunch of tools on the thing.

  5. […] Scott Locklin on the HP12-C […]

  6. Ray Rischpater said, on August 14, 2009 at 2:20 pm

    Well said!

    I still use my HP-16C often — and have an HP-41 I use for the occasional “harder” problem. Prefer the HP-41 — but do not disagree with you. The Voyager series is definitely superior when viewed through the lens of time and graded on its ability to succeed through changing markets and the platform’s original durability.

    • Scott Locklin said, on August 16, 2009 at 12:25 am

      I’ve heard great things about the HP-41 as well, and don’t doubt it was a great calculator, but the continued survival of the Voyager series and the form factor makes them a ne plus ultra for me.

      For what it is worth, my heavy hitters an HP95LX and HP200LX -these were also great calculators/pocket computers which retain a following to this day. Combined with Derive and Fortran, they were my main computers. My calculator calculated trace formulas and scattering cross sections on the fly. Those were way too featureful for most people to use, but they’re still better than any modern calculator or pocket computer I know of. I later bought a Zaurus; despite having emacs, maxima and lisp and a similar form factor, the Zaurus didn’t remotely compare to the Hp200LX in usefulness.

  7. RCj said, on August 14, 2009 at 4:57 pm

    Yep, that’s about right
    I’m on my second 12-C , purchased in 1987, my wife (still) took my first 12-C in 1985
    and it still sits to my left on my desk and goes into the backpack when I hit the road…

    I worked for GE for a few years and once in a S-2 review with Jack Welch he questioned one of our businesses numbers, so I pulled out my 12-C and before I could punch it in he waved his hand “fine… keep going “… now that’s hardware.

    • Scott Locklin said, on August 16, 2009 at 12:17 am

      Try that with a damn iphone app!

  8. 18-Aug-2009 | MohanArun.com said, on August 18, 2009 at 2:22 pm

    […] on science – interesting read – icons of engineering quality – with pictures of […]

  9. Sebastian Joern said, on April 24, 2010 at 3:08 pm

    Very interesting Site! I found a lot of useful things here.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: