Robert A. Uhl

Internet ’96

A voyage back in time, to when the internet was in its infancy and web design’s parents hadn’t met yet. 4 February 2018: updated URL (amusingly, using the same archive that the article uses) Read more →

The programmer’s pyramid

Oliver Steele proposes a programmer’s pyramid based on the ideas in the food pyramid from the Department of Agriculture. Basically, a programmer should spend most of his time reading code, particularly exemplary code, then his own code, then code that he’s using which other people wrote. He should spend somewhat less time revising code. He should spend a bit less time writing code. He should spend even less time reading about code. Read more →

Quit overloading names!

Trademark law exists for a simple reason: to prevent confusion between similar product. It is a violation of Microsoft’s trademark to sell a word processor called Word; it is a violation of Ford’s trademark to sell a car called a Ford. It’s perfectly okay to sell a word processor called Ford or a car named Word, though: trademarks only apply to a certain field of endeavour. The computer world can have name collisions too, sometimes imaginary and sometimes quite real. Read more →

How three guys restaged D-Days

Technology has advanced to the point that three guys were able to re-enact the landings at Omaha Beach. Three guys, three uniforms, one rope, two rifles, a video camera and movie-editing software — that was enough. Over four days of filming they got lots of footage of the three of them on the beach; then they were able to clone themselves over and over again, finally resulting in a D-Day landing which is reminiscent of Spielberg’s in Saving Private Ryan. Read more →

The genius of Donald Knuth

Mark Chu-Carroll explains just why Donald Knuth’s TeX is so cool. To this day, I write all my correspondence in LaTeX; it’s a wonderful tool (for one thing, the LaTeX logo actually looks good when properly typeset). 07 February 2018: updated URL Read more →

Backup tip

Way back in 1994, Rob Horn gave an excellent tip: randomly restore one file from backup every week. If you have data which you care about (and you do, whether you know it or not), it needs to be backed up. And if it’s being backed up, you need to test that backup system regularly to ensure that you’ve not forgotten something or been bitten somehow. Restoring one random file per week is a good practise to follow. Read more →

Predicting the future

Back in 1989 Alan Kay (the creator of SmallTalk) gave a talk on predicting the future to the 20th anniversary meeting of the Stanford Computer Forum. It has many insights, but my favourite is that we predict evolutionary changes, not revolutionary ones. Read more →

Unix makes computer science easy

I just found an article which details how Unix took a lot of difficult computer science stuff and made it easy for an end-user. Even in 1979, Unix had a lot of great capabilities. There are two problems: first, Unix hasn’t progressed very much since then; second, noöne else has even gotten this far (or at least, hasn’t gotten this far and succeeded). By now we should all be using Lisp machines; instead we’re all using technology that’s older than I am. Read more →

Effective emacs

Jacob Gabrielson wrote a nice blog post giving some tips for effective use of emacs. I’ve managed to reduce my emacs start-up time from six seconds to one, which ain’t too shabby. Read more →

Off-the-Record Messaging

Typical cryptographic software provides assurances that a message was sent by a specific sender; this is generally what one wants. But what if one prefers plausible deniability? Off-the-record messaging provides encryption and authentication for the duration of a conversation, but after the conversation is completed anyone can forge messages within that conversation, thus one can deny that one ever said anything. This could be useful for whistleblowers, those living in oppressive regimes and so forth. Read more →

Size: code’s worst enemy

Steve Yegge blogs about size being code’s worst enemy. He mentions how more advanced languages offer mechanisms to compress code size and announces what he believes the Next Big Language will be: JavaScript running atop the Java Virtual Machine. I’ve just recently been learning some JavaScript; it’s a cool language with some neat features. I don’t know if I’d go so far as to call it ‘Lisp in sheep’s clothing’ as some have done, but it is definitely nicer than a lot of languages. Read more →