Archive for the 'miscellany' Category

Speculation about the origin of CamelCase

Prompted by Avdi Grimm’s post on underscores in program identifiers, I’ll publicly air my guess about why theBlightOfCamelCaseInfestsOurPrograms when_identifiers_with_underscores_are_obviously_more_readable. (Although Avdi is right that dashes are superior to both.)

As far as I can tell, the popularity of camel case came from Java, which got it from Smalltalk. But where did Smalltalk get it, and why did such smart people go so badly astray?

Flash back to 1979-1981. I was a computer operator for a PDP-10 mainframe at the University of Illinois Coordinated Science Lab. (I still have two pieces of that computer in my basement.) We had a bunch of VT-100 act-alike terminals. But off in a corner, where no one ever used it, we had a single terminal we called “the European terminal”. One interesting thing about the European terminal was that it had no underscore key. Instead, it had a back-arrow key. I have a faint recollection that if you viewed text with underscores on that terminal, it would show up with back arrows instead. (Or was it that the keyboard did have an underscore on it, but when you pressed it, it displayed a back arrow?)

It’s unlikely you’d write←identifiers←with←back←arrows←in←them and, in any case, some programming languages (such as Smalltalk) use back arrow to mean assignment (instead of, as was common before C took off, `:=`).

All of which makes me think—especially since Smalltalk came from Simula, and Simula came from Europe—was there no underscore available to the people who built Smalltalk back in its early days? Was that why they fell back on StudlyCaps?

(I even have a very dim memory of some language—I don’t think it was Smalltalk—where underscore, as well as a back arrow, could be used for assignment.)

Does anyone know?

How I am responsible for the modern internet

Long ago, I worked for Motorola in Urbana, Illinois. Another programmer there, Eric Bina, was the first person to get a color X Terminal. Being a hacker type, he did graphical things on it and would show them off to people.

One day, he dragged me into his office to show me I-don’t-know-what. I do distinctly remember adopting my curmudgeonly persona (even then!) and telling him, “Oh Eric, no one will ever want color on a computer.”

Shortly after that, Eric quit, citing the stupidity of (at least) some of the people at Motorola. I like to think it was my comment that tipped him over the edge, because Eric then went to the University of Illinois’ Center for Supercomputing Applications, where he wrote rather more of the code for Mosaic, the first graphical browser, than (I believe) did the more famous Mark Andreesen. Eric later became one of the founders of Netscape.

Had it not been for me, we’d all still be using Gopher.

Mini-review of Freedom(tm) by Daniel Suarez

Killer ninja motorcycles chop people up. Doc Manhattan’s less-blue relative appears. Good guys win. They establish humane, John Robb-style resilient communities. Bad guys get their just deserts. Huzzahs all around. Except…

…the good guys would have gotten c-r-e-a-m-e-d were it not for the all-wise program on their side and the tech that—oddly—only it knew how to build. So, for us in a non-fiction world, this is actually a pessimistic book: the author sees a bad moon rising, but we seem to be short on inhumanly brilliant game designers to prevent it.

If you liked the previous book, you’ll like this one too.

Getting invited to speak (part 2)

You’re more likely to be invited to speak if you’re a good speaker. For the most part, I have the same advice you’ll find at places like Presentation Zen: avoid bullet points, etc. I have some idiosyncratic habits, though. They’re after the jump.

As with the previous entry, a disclaimer: the way I present is driven by my personality and background. I don’t claim any universal goodness for it.
(more…) URLs no longer work

I’ve sold, partly because I got offered enough money, partly because really reflects better what I do today, and partly because I like to force myself not to cling to the past. If is in your address book, please change it to

All the content for has been transferred here. There are two simple rules to convert from old to new URLs:

To those of you who will dutifully change links: I thank you, I appreciate it, and I regret the inconvenience. Next time I see you, I’ll buy you a drink or trinket of your choice.

I was hoping the buyer would leave the non-root pages redirecting to the current pages for a time, but as of today they’re not.

Bleg: television series

Since Dawn and I are effete, latte-swilling, Obama-supporting liberals,* we don’t have a television. We do, however, watch television series on a laptop.** We’re running out and need suggestions.

Dawn and I mix up series like The Wire and Deadwood with guilty pleasures like Veronica Mars and the first few seasons of 24. We’re starting on The Corner. Sopranos didn’t grab us. From that list, it looks like character-driven dramas with season-long story arcs are good. Depressing is certainly OK.

We also started watching Joan of Arcadia and Dead Like Me, both of which later migrated to whole-family viewing.

With the kids, we’ve watched Buffy, Angel, Dark Angel, Tru Calling, and Lost.

Sophie and I have watched Battlestar Galactica, but Dawn and Paul are not wild about outer-space SF.


* Effete, latte-swilling liberals, but also salt of the earth Midwesterners who have both*** delivered calves by hauling on chains.

** Think of a depression-era family huddled around a radio. Salt of the earth, like I said.

*** Well, I’ve only done it once. Not so fun I’d make it a habit.

Making the rounds in veterinary circles

Two patients limp into two different American medical clinics with the same complaint. Both have trouble walking and appear to require a hip replacement.

The first patient is examined within the hour, is x-rayed the same day, has a time booked for surgery the next day and within two days, is home recuperating.

The second sees the family doctor after waiting a week for an appointment, then waits eighteen weeks to see a specialist, then gets an x-ray, which isn’t reviewed for another month and finally has his surgery scheduled for 6 months from then. Why the different treatment for the two patients?

The first is a Golden Retriever

The second is a Senior Citizen

Every time my wife gets a physical, she fumes about how superficial it is compared to the ones she gives to cows.

Work with ease

I’m going to be producing another poster. Current draft:

Work with Ease

Do the words “work with ease” get the message across? Or can they be interpreted as “kick back and work as little as possible”? Or as “work should be easy”, which is not quite the same thing?

If they don’t, what few words might? (Keep in mind the space constraints of the poster.)

I’m also considering turning this (and perhaps the other) into a T-shirt. That would allow room for a longer slogan, perhaps “reach for a tool, and it is there” or (more obscurely) “My tools are ready-to-hand“. Suggestions?

(Unrelated questions: If you want to deal easily with print shops, is Illustrator + eps files really the only game in town?)

A Cyndicate+EagleFiler workflow

I’ve earlier mentioned that I’ve started using EagleFiler, an organizational/searching tool. Its author announced a bundle with Cyndicate, a newsreader, so I’ve started using that. It seems to fit my newsreading habits better than either NetNewsWire (2.x) or Safari. (Note: I haven’t used NetNewsWire 3.x).

Here’s a workflow (click for larger screen shots). I’m reading the last day’s news, and I see this:

A newsreader

The article describes a tool I can easily imagine using someday, so I hit F1 to save it in EagleFiler. That happens behind the scenes. Later, I might vaguely remember there was some posting somewhere about making a diagram of your model classes. In EagleFiler, I search for “model diagram rails”, and I find the saved web archive:

Saved web archive

(I get a more exact match if I remember the article mentions ‘dot(1)‘ or OmniGraffle. I’ll also get a more exact match once I process my unfiled entries and add some tags.)

I mention this now because the promotional bundle lasts only two more days.

(I have no affiliation with either company, except that I read Michael Tsai’s blog.)

Programmer products

I like reading the Unclutterer site, in more of an aspirational than practical way. Inspired by their survey of reader workspaces, I present mine. I’ve recently finished optimizing its physical and musical environment with four decent to excellent products. If you crave pampering your proprioception and hearing, read on.

Office with Boots