Thursday, October 9, 2014

Lamb's Ear (Stachys byzantina)...

Lamb's Ear (Stachys byzantina)...  This is the leaf from a Lamb's Ear growing in our front yard, at various magnifications.  The last two are with oblique lighting from an LED flashlight.  The “fuzzy” texture of these plants' leaves comes from the tiny hairs visible in these photos.  They're an adaptation for arid climates...


Purple penguins...

Purple penguins...  Denying reality in the name of political correctness.  Sheesh!

Digital Estonians...

Digital Estonians...  This little country just keeps doing things right.  It's over ten years since I last visited there; I miss it...

Fixing a de Forest valve by incorporating an Edison idea...

Fixing a de Forest valve by incorporating an Edison idea...  Well, this is just about the equivalent, in the software world: a 37 year old bug (!) fixed by merging a 22 year old fix (!!), in BSD.

This isn't the first time such a thing has happened, but the opportunities for repairing ancient software are increasing – simply because the number of substantial bodies of old code that are still in use is rapidly increasing.  Given the ever-increasing amount of code being written, surely this phenomenon will do nothing but increase in the future.  Until software replaces software engineers, anyway :)

A small version of this has happened to me personally several times.  Way back in the late '70s, I wrote (yes, by myself, really) a Basic interpreter that was distributed by Don Tarbell as “Tarbell Basic” (news reports here and here, manual, source, backstory).  Back in the '80s, Don released the source code for it into the public domain, and it's still available online.  It was written for a long-obsolete “operating system” called CP/M that hasn't been delivered on any computer made since the early '80s.  But ... there is still a diehard group of CP/M nuts who run it in an emulator on modern PCs (and I'm told there's even an emulator for the Android phones!).  These people also run Tarbell Basic, and they occasionally ask me to fix bugs in it.  This happened most recently just last week  :)  I wrote that code nearly 40 years ago, and I don't remember anything at all about it!  However, last week after being begged to at least look at the possible cause of a math error, I did go look at the source code – and I found the bug by inspection :)  It was a stupid typo in an assembly language instruction, in a routine that printed a floating point number.  My correspondent had a development environment running; he tested my fix and it worked.  Now I just hope I haven't opened Pandora's box.  I have to admit, though, that it was kind of fun to take a crack at that...

Back in the '90s I was introduced to a woman (Darleen C.) who was making a lot of money by fixing and extending old code.  A friend introduced us, thinking that two people who were amongst the few people left who could program in CMS-2 (which I used in the Navy) should know each other.  At that point it had been 20 years since I last touched any CMS-2 code, and I assumed that all the systems programmed with it had been replaced.  Not so :)  She was making an excellent living maintaining a few dozen systems that remained in service, with their code all written in CMS-2.  She lived on a rather luxurious small sailboat, which she moored in San Diego for the 3 or 4 months a year that she worked.  In that short period, she generally made about $350k in consulting fees.  The rest of the time she sailed around the world.  She'd written her own CMS-2 development environment that ran on PCs, and could therefore do her work from anywhere.  I suspect there are rather more opportunities like this today than there were back then, and that will probably also increase.  For example, I remember reading, not long ago, that PL/I programmers were making crazy high salaries because of their scarcity...

The stupid, it burns!

The stupid, it burns!  I hear the drums of doom...