Archive for August, 2001


know your roots

Tuesday, August 14th, 2001

I’m having a discussion with Chris Nott about Code Complete and more generally, the learning of classic programming fundamentals. I touched on this a week ago, but it deserves a bit more mention. I’ll just quote something (warts and all) I wrote to Chris:

I can’t tell you how many times I have seen idiots with useless compsci degrees who haven’t a clue who the fuck Dijkstra or Yourdon are or what any of their contributions were. Imagine an architect who hadn’t heard of Christopher Wren or Frank Lloyd Wright. Sheeesh.

My Dad has said to me that he doesn’t understand how I manage to get idiots to pay me big bucks to program for the internet for them when everybody’s 15-yr-old brother can do this stuff. I say:

“Sure, Dad. So when you want to build a 27-storey office tower, I’m sure you can pay Bob down the street who drywalls basements in his spare time $10 per hour to design and build it for you. Just let me know so I can stay out of reach when the first light breeze comes along.”



Monday, August 13th, 2001

Blackholebrain personifies his currency.

…just cost me about 3 Ben Franklins…

I take it Ben’s on the US $100 bill. It reminds me of cinema noir scenes, bribing stool pigeons with images of Andrew Jackson.

I’d like to see a this in a Canadian movie:

Flatfoot: So ya won’t talk to me, willya, wise guy? Say, maybe you’ll talk to my friend William Lyon Mackenzie King…?

Stoolie: Listen copper, I don’t know no Mackenzie King, see. Mebbe’s you got another friend called Borden – Robert L. Borden? Yeah, sure, I could see myself singin’ like a boidy to Mister Borden, and his twin sisters Liz and Elizabeth…

From the Canada Post site:

Note: Canadian postal codes are always formatted in the same sequence: alphabetic character / numeral / alpha /numeral / alpha / numeral (e.g. K1A0B1).

Would it really have been less precise to say:

Note: Canadian postal codes always use the following format: letter / number / letter / number / letter / number (e.g. K1A0B1).

Humans never say in conversation “alphabetic character” and “numeral” when they mean “letter” and “number”. Corporations shouldn’t either.

Funny how they get it exactly right on the French page:

Remarque: Au Canada, le code postal se présente toujours de la façon suivante :lettre-chiffre-lettre-chiffre-lettre-chiffre (p. ex. K1A0B1)

Newcomers to the country have a hard enough time learning new languages in which to do business without us further burdening them with understanding the vocabulary, intentional vagueness and semantic nuances of business-speak.


Re: open hand

Friday, August 10th, 2001



lost connections

Thursday, August 9th, 2001

In England, there’s an expression for everything. I heard one today – sent to Coventry – it means being left out of the communication loop. These idiomatic expressions don’t really travel well. I guess then that in Toronto when communication breaks it’s a given that someone has been sent to Guelph or some such thing.


open hand

Tuesday, August 7th, 2001

I think it’s time for these Karate people to soften up their image. Let’s start with some new belt colours.


Don’t mess with him – he’s a third-degree Lavender belt!


it’s only a dream

Monday, August 6th, 2001

A very interesting technical paper on Passport, identifying numerous weaknesses.

I have a neighbour who was apparently quite a computer enthusiast all the way up to the 386 and Windows 3.1, but stopped short at the Web because in his words “‘W’ was 06 on mainframe punch cards, so you know what that makes WWW!!” (As it happens, the 0 on Hollerith cards meant +10, so I guess he’s terrified of 16-16-16. Must be some evil lawn fertilizer). He went on to warn against the web being the incarnation of the beast, don’t accept the mark, impending doom, yadda yadda.

Anyhow, knowing that it was the type of conversation I was keen to avoid, I did my usual in such a situation and made sure I was at least knowledgeable of the issues before dismissing it out of hand. So I had a read of the relevant biblical passages.

A local Toronto radio station has a contest to win a car. They give out these cryptic clues and you’re supposed to figure out where in the city they have chosen as the “spot” you’re looking for. I was absolutely certain recently that I’d found the spot. I decided where I thought it was, and from that point forward, I could rationalize every single clue to somehow be pointing right at that spot. Turned out that the place was actually 5 miles away and entirely different, but I was powerfully convinced that the clues pointed to the place I expected they should.

Where was I – oh yeah, Revelations. So, if you read the particular passages that mention the beast, his number, his control of all the languages, how the mark is necessary for all commercial transactions, and all that, while Passport is your selected endpoint, you can have a lot of fun making parallels.

Of course, I put absolutely ZERO credence into it. It’s just a fun diversion. Make what you will of it, preferably nothing.

I can’t believe this (sorry, 3MB) video of Steve Ballmer dancing around at an MS pep rally being a testosterone twit. What a complete freaking idiot. And I thought Larry Ellison was the biggest self-centered fucknut around.

Now that I find this explanation of punchcard codes I note that really 0 is used as a “zone” hole, sort of like ctrl, shift, or alt. I’m not going to correct it above because that would break my fertilizer joke, and I practically peed myself with glee over that one. I’d have to “un-pee” myself, and I don’t quite know how to go about that, so it stays, and damn the pedants.


my brain’s too small

Saturday, August 4th, 2001

Pike may think he’s at a disadvantage when he says

I feel I have a bunch of weaknesses in design and fundamentals, because I’m self taught. My main goal now is not only teach myself ASP but to gain a hard background in the theory and why all this stuff works. I can tell you how to make an array call a function and process to it, but I don’t know why. Strange because it seems some developers have trouble saying they need to work on their skills.

but I think he’s at the peak of his form. He’s in the thick of developing a craft. The lust for knowledge is what will drive him to succeed in this. His humility allows him to keep on the road to knowledge, where those who think they’re there already will never get there, because the road ain’t got no end. There is no there. So there.

In 1972, Edsger W Dijsktra wrote a paper for the Association of Computing Machinery and presented it at the Turing Award Lecture at the ACM conference in Boston that year. The paper was entitled “The Humble Programmer”. The gist of it is that a truly good programmer will admit that his cranium will never be up to the task of managing the complexity necessary for many problems, and must call upon the machine to help him. It’s one of the truly classic seminal texts in the history of programming and deserves a good read. Unfortunately, I think it’s hard to find. I have it in a copy of Ed Yourdon’s Classics In Software Engineering, which is unfortunately now out of print.

In programming, fundamentals are way more important than most people know. It’s self-taught guys who really care about the craft who actually learn from the classic teachings of Dijkstra, Yourdon, Jackson, DeMarco, Wirth, Knuth, et al. Sure, some of it washes over huge classes of rote-learning students every day, but it only sticks with those of us for whom programming is a passion.

My all time favourite programming book is Steve McConnell’s Code Complete. If you only ever buy one programming book, this is the one. There’s an entire chapter on personal character, and you’ll be all be pleased to know that laziness is an inherent positive attribute in programmers.

While I’m doing the personal book recommendations thing, get Dale Carnegie’s How To Win Friends And Influence People. It’s all about how being a truly good person will make you successful. Not acting like one – being one.


and i need this because…?

Thursday, August 2nd, 2001

Another solution looking for a problem. In order to figure out if this is worth anything, not only does this require me to load up their plugin that assumes the self-importance of putting itself in my system tray, all the docs require Acrobat. Reminds me of Soul of a New Machine, where they described kludgy addons as “hanging a bag off the side of the machine”. Using this stuff with your browser is like riding around on a Grand Canyon pack mule. Besides, whether it’s part of some nice design or not, languages with a “let” statement give me the creeps somehow. It’s a je-ne-sais-quoi sort of thing.