« | » Main « | »

How to be a programmer

Tuesday 25 February 2003

Robert Read has written a concise, pithy, and relevant guide to How to be a Programmer. I wish I could organize my thoughts like this. It's a down-to-earth walkthrough of all sorts of different skills that make a good programmer, from the technical (how to optimize loops; how to utilize embedded languages) to the personal (how to recognize when to go home) to the inter-personal (how to deal with difficult people; how to be widely trusted). Highly recommended.

Placebo progress bars

Tuesday 25 February 2003

Ferdy Christant describes a sneaky way to display a progress bar (he performs the whole action, then displays a pre-timed animated gif before taking the user to the next page).

Some things never change! About 18 years ago, while I was an employee of the University of Pennsylvania robotics lab, I installed a beta of Ultrix v1.0. This was on a large VAX with a dot-matrix printer console. When the install started, the console printed something like,


with a new dot added every few seconds, to indicate that work was progressing. New messages would appear at various points, with the same parade of dots to show everything was OK. At one point, it seemed like there were an awful lot of dots, and we should have gotten to the next message already. After a long while, it became clear there was no forward progress, and I ^C-ed the install.

Digging into it, the install was a shell script, and it became clear what was going on: at each step, the script started two processes: one to print the dots, and one to do the work. If the work process got wedged, the dot process happily printed dots until the end of time (or until the tape monkey got bored and hit ^C).

FingerWorks iGesture

Monday 24 February 2003

FingerWorks produces a number of slick input devices which are like touch pads on steroids: you use them with your whole hand, with all sorts of gestures for controlling your computer (twisting your hand like opening a jar means Ctrl-O, for example). I'd love to try one (they're expensive, though desk space might be even more of an issue!)


Monday 24 February 2003

Slava Karpenko (Unsanity.org) wrote that shareware is dead (because the distinction between shareware and traditional software is so blurred).

A number of other people commented. I thought a bit about the thing that made shareware different from "regular" software, and these people are all right: the "share" aspect of it has completely changed.

I was trying to put my finger on what made it different now, when I found that Buzz Andersen hit the nail on the head, coining the term "indieware" (like independent record labels, or independent movie makers).

Homer for Governor?

Monday 24 February 2003

Driving to work today, I saw a car with what looked like three identical bumper stickers from last fall's gubernatorial campaign here in Massachussetts. I thought, "Wow, this guy really wanted R****y to win." Getting closer, I saw that the stickers were modified to promote three different pairs of candidates for governor and lieutenant governor: Nomar and Manny, Homer and Lenny, and Yoda and Mace. Nice hack.

Hornby on autism and music

Friday 21 February 2003

Nick Hornby is a great author (High Fidelity and About A Boy), and his son is autistic (as is one of mine). From a review of his latest book, a lovely image of the hidden meaning in autistic behavior:

His one profound worry, in truth, is his young son, Danny, who is autistic and can barely communicate. Danny's relationship to music is different from his dad's, but, not surprisingly, no less intense: he has to listen before he goes to sleep at night, he wanders the house with a portable cassette player, the volume cranked, and he goes to his room sometimes to listen to songs more carefully, his head lowered onto his player's speaker. What can he be hearing? What can the music be saying to him? Perhaps, Hornby suggests, what Danny is listening so intently for is that something everyone longs for from a song — that "something in him that he wants others to articulate."

At DEMO 2003

Monday 17 February 2003

I'm currently at DEMO 2003, launching the Kubi Client.

There's a ton of luminaries here (Dan Bricklin, Mitch Kapor, John Patrick, and Les Vadasz on a panel about the future of innovation), and there's a bunch of interesting companies showing cool technology (for example, quantum cryptography).

Two of the companies here are ones that I have blogged before: Oddpost and Picasa, so it was great to be able to meet the people behind the companies.

reStructured Text vs. XML

Thursday 13 February 2003

reStructured Text is another near-plain-text format for structuring text so that it can be transmogrified into a number of other useful formats. This is the right way to go: give people something familiar and forgiving to deal with, and have the computers pick up the slack.

I think this is one of the reasons Palm Grafitti worked out: it was almost ordinary writing, or close enough that people could remember it, while also being constrained enough for the computer to deal with.

Java understood this with their JavaDoc format: just enough extra junk to make it structured for the computer. It's one of the things that truly surprised me about C#: they use XML tags in comments to structure the in-code documentation. Seems like a high barrier to acceptance to me.

It's also one of the things that should get fixed about Ant and XSLT: their reliance on XML as an input format. There are already some proposals about this. XML wasn't meant to be typed by people.

(Nerdly Ironic Disclaimer) To produce this website, I write XSLT stylesheets (in XML), and all of the content is authored in XML by hand (usually in Notepad). That doesn't mean it's the right way to do it!

Car Talk credits

Wednesday 12 February 2003

I love the talk radio show Car Talk (although I hate cars). My favorite part has always been the credits at the end of the show, filled with dozens of fictitious staffers, like the russian chauffer, Picov Andropov. The difficulty was trying to listen and appreciate and remember them while they were being read full-speed over the radio. Turns out the complete Car Talk Credits are on-line.

Brookline Library gala

Monday 10 February 2003

Last night I had a grand old time at the Brookline Library Winter Gala. Brookline has a high author-to-citizen ratio, and a number of them were on hand for casual conversation: I spoke to Marvin Minsky, David Weinberger, Evan Schwartz, Lawrence Cohen, Steven Shore, Abelardo Morell, and Sandra Stotsky.

Topics included:

  • Stephen Wolfram (whose book was present, though he was not, and there was some doubt as to his Brookline residency)
  • Science's role in the world
  • The history of cellular automata
  • The requirements in general for a theory to be interesting (Minsky claimed it has to be able produce five kinds of things, not just three)
  • The prudence of having rope about you at all times (Minsky was wearing a tie made of mountain-climbing rope, explaining that he had once saved his daughter from quicksand with rope he had on hand)
  • The social skills of geeks (you can tell you're talking to the geek with social skills because he's looking at your shoes)
  • Harvard admissions
  • Autism
  • Russian history
  • Humans are the only animals that crawl before they walk (horses, for example, are running within minutes of birth)
  • Color perception (is it a coincidence that the human eye can register three independent variables — light/dark, red/green, and blue/yellow — and TVs use three colors to produce their images)
  • Blue's Clues (how Nick Jr managed the transition between hosts so as not to upset their young viewers)
  • Brookline politics (we're electing town officials in May)
  • Sonny and Cher
  • How our fifth-graders are doing in school
  • Underwear (don't ask)

Other literary luminaries present included Linda Barnes, Gary Wolf, Eli Newberger, Arthur Golden, Jayne-Anne Phillips, and many more.

If you are in the Brookline area, I highly recommend joining the party next year.

Fix Error Handling First

Thursday 6 February 2003

We're in crunch bug-fixing mode at work, which means we all have to be disciplined about finding, identifying, reporting, and fixing bugs. Often this means analyzing situations where a number of bugs appear at once, in sequence, due to errors in handling earlier problems. The rule in this case is to fix the error handling before fixing the errors. Read more about it in my latest article, Fix Error Handling First.

Shavian alphabet

Wednesday 5 February 2003

George Bernard Shaw always detested the absurd hodge-podge of English spelling. He first made the classic observation that "fish" could be spelled "ghoti" (by using pieces from laugh, women, and nation). One of his legacies is the Shavian alphabet, a phonetic alphabet for English.

Androcles and the Lion, in Shavian alphabet

Like Esperanto, the Shavian alphabet is an idealistic attempt to synthetically improve human communication. I admire its idealism. Also like Esperanto, there is a small but dedicated community keeping it alive, despite a lack of general acceptance (or even awareness). For example, there is a proposal to add Shavian to Unicode.

Interesting to note, though, that even Shaw gave up on a little phonetic purity for the sake of convenience: the four most common words in English (the, of, and, to) are spelled with a single letter rather than phonetically.


Tuesday 4 February 2003

Dave Thomas, one of the authors of The Pragmatic Programmer, is running a blog, PragDave. Should be good. For example, his take on a snippet of DocBook markup is exactly right.

I wish his URL scheme were a little more customary. There doesn't seem to be a way to link to a particular entry in the flow of the blog. And I've never seen a comma-v file in a URL before! Is the blog running on RCS or something?

Help me find a site

Tuesday 4 February 2003

Sometime about two months ago, I visited a site and I can't find it again. It was an exchange of ideas site, where people would post ideas for projects, and coders could find ideas of stuff to build. The site was held up as an example of its own technique, since it was thought up by one guy, but built by another, and the domain name had been donated by someone who already owned it.

I know I found it via a blog, but I can't remember which. Irony: isn't this why blogs started in the first place, as a log of sites visited, to help with this very problem?

Someone, please help: where's the site? Send me the answer!

Space shuttle

Saturday 1 February 2003

The space shuttle orbiter Columbia broke apart today attempting to land. It's a sad day for all noble science and engineering causes.

The space shuttle was an inspiration to me. The first space shuttle was launched in April 1981, when I was in my freshman year of college. I had followed much of the space program through my youth, and was always amazed at what "they" had accomplished. But when the first shuttle went up, because I was in college, I had the sense that I could soon be one of "them", and that it could be something that "we" accomplished. That realization, that I could be a part of the most significant advances in engineering, was eye-opening and inspiring to me. I'll always think back on the space shuttle as the first possibility of me as a "real" engineer.

I grieve for the seven astronauts, I grieve for their families, and I grieve for the idealism that carried them aloft.

« | » Main « | »