Today, as an exercise, we’re using a program called href="">JUnit to test a program called,
wait for it, JUnit.

This is conceptually, you might intuit, somewhat href="">suspect. Nevertheless that is
, and not only do I have no choice
in the matter, but I suspect that if I
did have a choice my alternatives would be href="">worse.
So off we go.

If I have to put up with this kind of thing when I’m done here
at Carleton, my teeth are going to be ground down to a mouthful of
powdered enamel by the time I’m thirty.

Good news is as follows: my grant-slash-venture-capital
application is now in the hands of the fellow(s) who are likely to
be my grad-project advisors at some point in the next few months.
While I can’t say a hell of a lot about it until I get it sorted
out with them and possibly patented, I feel about this idea the same
way Steve Jobs
described himself as feeling about the graphical user interface he
ran into at Xerox’s Palo Alto Research Complex; it’s immediately
obvious that some day every computer everywhere is going to work
like this.

The thing to remember, I guess, is that the guys at
Xerox showed him object-oriented programming and networked
computers at the same time, in 1979, and he didn’t
give them a second glance. The GUI bit is nice, but dear God,
LANs! It’s like meeting somebody who’s worked out href="">fusion
reactions in the middle of the bronze age. So maybe I should
take another good hard look at my own idea, just to be sure.

Arlene, who can’t stand the smell or the taste of scotch, who
can’t stand the smell of me after I’ve had scotch or, in fact, a good
part of the rest of the time, bought me a bottle of twelve-year-old
Macallan’s, sometimes called
“the Rolls Royce of scotches”, for my birthday.

My girlfriend rocks.

Ok, it’s clear at this point that I’m crippled for life. I’m
experiencing some kind of “phantom pain” in that place below my
hips where useful, functioning legs used to be. My feet feel like
I’ve been skipping merrily from landmine to landmine on my way
to school. Help me, Ibu-wan,
you’re my only hope.

Last night, the Matterhorn
Matt Ultimate Tournament
took place at the dome, and I did
something I probably shouldn’t have. Normally, with eight time
slots from 11:00 p.m. to 7:00 in the morning, you get an hour on,
an hour off, and so forth, but I picked up with Paul Morrison’s
team in the off time slot, and ended up playing for them, too. So,
basically, I played eight straight games of Ultimate. I got to
play against Andrew, Mehmet and half my Saturday night team
at one point or another; I didn’t get to go toe-to-toe with
Sean, which was a little disappointing, but the last time that
happened I damn near broke his nose with my forehead, so maybe
it’s for the best. It really is too bad Geoff wasn’t there to href="">help, but
now that he’s employed his decision not to drag his sleep cycle into
a ditch and shoot it in the neck was probably the right one.

On the upside, I completed a href="">Greatest
for the first time, scored a href="">Callahan
goal, beat an incredulous Andrew deep for a fingertip layout
catch, and spent most of the night playing really, really good
Ultimate, holding my own against players I know are some of the
best in the city. I even got to see Mehmet scowl and mutter “Well,
that looked easy” after I sent a disc long to a member of my team
whose defender had fallen asleep on the job.

On the down side, defending all those tall, fast people was
really hard work with no breaks. By the end of the night I was
wearing two sets of knee tensors one over the other just to keep
everything in the same area code, and right now all the connective
tissue in my legs is seeking legal representation; worse, my major
muscle groups are holding a vote on secession right now, and the
‘yes’ camp is making some very compelling arguments. I told Mehmet
once after a long day of Ultimate that I had formed a plan: I was
going to find a quiet, dark place to crawl into, and then I was
going to die. That sounds like a great idea right now.

In an absolutely perfect world, being on the fence about something
would result in people who feel strongly about that issue one way
or the other presenting you with their finest arguments, in the
hopes that they might sway you over to their side. In this
world which, one notes, diverges from “perfect” the same way a href="">polaris
missile diverges from a submarine that same ambivalence means
having to defend both sides from people who obviously
think you’re a bloodthirsty warmongering maniac or a naive hippie
twink. Being undecided just means that you’re a naively bloodthirsty
hippie warmonger twinky maniac, and when you’re pleasantly drunk
in a loud, crowded bar that’s a hard role to play.

I was going to write more here, adding
Alex’s e-mailed bullet-point replies to my
own long-winded pedantry, and may yet, but href="">somebody
likes the short entries better, and I’m all about quality.

A few weeks ago Shaver wondered how code got written before the
invention of Matthew Good,
and I have no idea. I’ve got Strange Days on repeat right now,
and while you can make a decent argument that music videos are
just long commercials for songs, I likes me my spare imagery,
and the video for this song is amazing.

Mark sent me this
today, and I’m really not sure what to think about it. No,
that’s not fair; I’m really not sure what to think about the
whole proposed war on Iraq. I’m exactly, precisely sure how
much prosletising I’m going to take from any group backed by
with the collective moral authority of a bowl of href="">cool-whip, who think that href="">this stupid crap
is a good idea. Here in technical-competence-land we call that a
“Denial Of Service Attack”, not a protest. Informing people of your
opinion is one thing; deliberately making it impossible for them
to do their damn jobs is entirely another. Is it too much trouble
to ask you to do more than fill out a god-damned form letter if
it means that much to you, dumbass? Christ, and you wonder why you
come across as a bunch of pretentious, self-absorbed losers.

Excuse me. As I was saying, I am deeply uncertain about the current
move, and stagnation of that formerly full-court-press, towards
war with Iraq.

The following statements are beyond debate:

  • Saddam Hussein is an extraordinarily bad guy, a mercenary,
    butchering despot of the highest calibre currently available on the market.

  • The first thing that Hussein does with weapons of any kind,
    “mass destruction” or not, is to use them to kill a lot of the
    locals, typically Kurds.

  • He’s a lot better at href="">hiding
    than anyone else is at finding them.

  • The U.S. has bent over backwards, and arguably bent over
    forwards, to accomodate the insistence on Congressional approval,
    U.N. resolutions, arms inspections, international support, you name it,
    even though they clearly know and have known for some time exactly what
    is up.

  • Hussein’s ties to Al-Qaeda, while not direct, are reasonably well-established.
  • Let me reiterate the point, again, that Hussein is a
    butcher. That’s a big deal.

On the other hand, the following points are also, I think, beyond

  • The U.S. leadership has a lot of deeply personal history wrapped
    up in the previous, or perhaps “ongoing”, war with Iraq.

  • There’s an awful lot of oil in Iraq. And the only thing the western
    world likes more than cheap oil is reliably cheap oil.

  • The U.S. has been involved in a low-grade war with Iraq for a decade.
  • Though this is billed as part of the war on terrorism, there were
    no Iraqis among the World Trade Center suicide bombers. Further,
    U.S. presence in the Saudi holy lands was given as one of the main
    motivations for those attacks.

  • Building-to-building urban warfare is just about the ugliest and
    costliest-in-civilian-lives kind of warfare out there and Baghdad
    is, well, a big city.

  • This whole href=",1280,-2412694,00.html">“Shock
    And Awe” thing is really, really vile, and the people pushing
    it are so enthusiastic about it that it’s hard not to think
    of the “Yes, Mein Fuhrer, I mean Mr. President” bit from href="">Dr. Strangelove

I don’t know what to think. The Shock And Awe “strategy”,
if you want to call it that, is very strongly href="">reminiscent of the
Vietnam War which didn’t, if you cast your minds back, go all
that well. But that’s only a proposed strategy and there’s lots of
those around, like Ari Fleischer’s Alice-In-Wonderfully-Optimistic
“Single Bullet” idea. Being as far as I am from genuine intelligence
data, the moral imperative of a preemptive strike is not something
I’m equipped to gauge; It’s not obvious to me that Hussein has,
or has ever had, ambitions outside his immediate neighborhood, but
I live in a society that like it or not depends on oil and lots
of it, and the question of whether or not appeasement works is a
solved problem.

It’s not at all clear to me that less Iraqis are going to
die if we (Yes, we. Don’t think Canada won’t get in
line when go time rolls around) go to war than would if we
left Hussein in power, especially if he was left to get that
whole bioweapons thing right. But on the other hand, to quote href="">Mike Kozlowski, “I was just
idly wondering which of the many pieces of anti-Saddam fact out
there now will turn out later to be pure fabrication, in the way
that the ‘kicking babies out of incubators’ thing in the first Gulf
War did.”

I do think that when a country, or the leadership of a country,
is plainly involved in the large-scale deaths of its own citizens,
that it’s a hell of a lot easier to get everyone together to put the
boots to that country if they don’t have nuclear weapons. If that
weren’t the case you’d better believe that North Korea, who spent
billions on their military while begging for international aid with
things like food and heating oil, would be a solved problem. Trouble
is, without the U.N. that’s clearly mob justice. Trouble is,
with the U.N. involved odds are pretty good that href="">nothing
will happen
, and that lots of people are going to die
anyway. It’s not hard to imagine Kofi Annan giving silent thanks
for the fact that Death, Famine and Pestilence don’t have a vote
in the General Assembly, so that they won’t have to spend two years
trying to build consensus to send grain to Ethiopia.

And, to cap it all off, I don’t know if bombing a country into
submission from basically orbit and then rolling over them with
unstoppable, hugely overarmed ground forces actually constitutes
going to war, any more than beating a child constitues getting into
a fight. It’s clear that a straight up old-school land war is going
to see Iraq get walked on, up until the urban warfare starts. And
really, there’s really only one way for a much weaker, poorly-armed
or badly understaffed opponent to fight back against that kind
of overwhelming direct force. What that way is will be left as a
painfully obvious exercise for the even-marginally-astute reader.

The worst part of all this is that when it gets right down to it,
both the pro- and anti-war rhetoric making it into the mainstream
and “independent” media has been so incredibly, offensively stupid,
so so deja-vu-grade-reminiscent of Grade 8 english class
debates, that I have a hard time believing that the world is run
by fully-formed adults. It’s like watching Adam Sandler hash out
foreign policy with Eric Cartman. We need to go to war because
“Saddam Hussein is Evil”? That’s a great reason, if you’re
a twelve-year-old running a D&D campaign. When looking for
weapons, “Absence of evidence is not evidence of absence”? Bitch,
please. I tried to use that to get out of cleaning my room once. On
the other side of the fence, I’m just astonished at the number
of well-meaning
who think that they’re making a point when all they’re
really doing is making a noise, a noise that’s barely intelligible
when it amounts to using a human-rights argument to support leaving
a brutal dictator in power. “War in Iraq will destabilize the Middle
East!” What the hell are you on? Have you looked at the Middle East
lately? Like, in the last two thousand years?

So I don’t know. It’s crystal clear at this point that the U.N. is
a case study in how to completely bone idealism by turning it over
to bureaucratic management, and that dealing with the countries that
flagrantly violate U.N. resolutions by passing more resolutions is
not what you’d call a productive strategy. In fact, this whole
thing might well be that this is what I suspect it to be, that
being bald-faced imperialism on the part of the U.S., but that the
practical result of it might end up being that the world is a better
place anyway. The U.S. is certainly saying that they’re down with
the the whole Marshall-Plan-style rebuild-and-reestablish after the
war’s over, and who knows, might actually mean it. With the number of
lives clearly at stake maybe doing the right thing, or at least the
wrong thing with enough positive side effects, for the wrong reasons
is the right way to go.

I’d like to take a moment to tell you how far the actual state of
the world diverges from the way I think it should be.

I neglected to mention yesterday that it was href="">Shaver‘s
birthday, that I wish him well and that I exhort the rest of you
to do so as well. All the best, Mike, and get back up that wall.

Love that href="">picture,
by the way.

It occurs to me that I’ve been remiss in adding people I’ve href="">known
for years to my list. I should do something about
that. It’s strange, though, that there are so many stories of href="">people
drinking in Shaver’s company. I certainly don’t remember anything
like that the last time I saw him.

Recently, Geoff mulled long and hard about what part of my
academic term might be the absolute worst possible time to lend me
a video
, and then he struck with the href="">speed
of a cobra. I like quest games. I like them a lot. The simple
act of rephrasing “assignments” and “grades” into “missions” and
“rewards” has bumped my academic average up twenty percent. I am
very, very good at discrete tasks with finite endpoints, which
is something of a concern because life isn’t really like that.
“Make fire”, “Fix thingy”, “Solve problem”, “Eat food”: these are
the things for which I have a gift.

Polishing, refining, slowly building things up; I struggle
with that. That’s why this whole week, my reading week, is going
to be so ugly. Test, refine, test, refine. Write test suites for
an application I have no feedback towards, much less direct control
over. Make them incrementally better, with no end in sight. A journey
of a thousand miles begins with a single step, but by the end of
that single step you are quantifiably closer to your goal; I hate
being told to march knowing that the only benchmarks for completion
in effect are “have we run out of time” or “has he keeled over”.

A number of people here at Carleton really, really like this
process, calling it a “cyclic” or “iterative development model”, and
are convinced that this is how you make good software. Those same
people like to toss around the phrase “in the industry” a lot though,
and they like to say it the way you’d expect to hear “I did two tours
in-country in ‘Nam” or “I grew up in Compton”, so it sounds to me
like a lot of what passes in comp-sci for macho posturing. Throw in a href="">couple
of href="">buzzwords
and watch the class sizzle with excitement. You start with the
requirements, you see, the graven-in-stone gospel handed down
from the client, and then you create a design, and then you code,
and then you test, and then you iterate the design, and
then you iterate the code, and then you iterate the tests and then,
get this, you iterate the design again.

You code to your design, and then design to your code? Whiskey
tango foxtrot, over. You change your design to accomodate (read:
“don’t have to do”) the things you couldn’t get your code to
do properly in the first place, and at some point you become
a beautiful butterfly and things will all be better? Maybe
I’m not getting it, and it could be my lack of experience,
but that makes no sense. This evokes nothing but the old href="">Calvin &
Hobbes cartoon where he asks his dad how they figure out how much
weight a bridge can take, and he says that they build the bridge
and drive bigger and bigger trucks over it until it collapses,
and then they weigh the last truck and rebuild the bridge.

This may or may not be a way to make good software. I’d love to
hear about it, if you have an opinion. I have a suspicion, though,
that this is also how you make tired, bitter developers and mountains
of crap code aimed at moving-target specs. And this whole process,
as it’s being presented to me doesn’t even include the possibility
of revised specs from the client, which I’m sure bones the whole
thing. I suspect that this is also why I’ve read serious people
with their names on serious software-project-management books quite
reasonably talk about being prepared to throw everything out and
start from scratch, writing off the first attempt as a learning

The prospect of that process being referred to as a “science”
or as “engineering”, indeed as anything other than crudely-scripted
ad-hockery, seems iffy to me. So, of course, I’m off to wallow
in it.


I’m sure it’s been said before, but href="">Perl is a write-only language.
Any language designed to economise on physical keystrokes at the
cost of actual comprehensibility is a false economy with a fuse
as far as I’m concerned; doing my own thing with it is only OK,
but having to bend my head around my classmates’ work when they
ask for help is an onerous prospect.

An Ultimate player, I think, is somebody who will run when they’re
barely able to walk. Indoor Ultimate at Carleton is going to be risky
business this year. I like to lay out. I’ll lay out at the drop of
a hat; I’ll go long for that hat, I’ll beat my cover and catch that
hat for the point. But the “turf” at Carleton is, no word of a lie,
the fuzzy half of a sheet of velcro writ acre-large. It’s literally
a bunch of twenty-foot-wide strips of the stuff held together with
straps of the other side of the velcro. No trace of the lush,
verdant green of the Lansdowne or Ottawa U fields will be found
here; this turf could do double-duty as an abrasive in a diamond
mine, and there’s not so much as a good intention between the turf
and the concrete floor. I’m playing twice a week, and I think it’s
clear that my limbs are going to be worn down to little nubs by the
end of the season, assuming that my knees don’t fall apart first.

If anybody out there thinks I might be hammer-happy you should
see my Jack-Webb-led Wednesday team. It’s short-bus night at Lee
Valley Tools; you’re haven’t seen a clumsier and more dangerous
collection of blades, hammers and bad cuts in one room since
junior-high shop class. I’m glad I was there to contribute.

Right now, I’m working on exactly the same machine that was
described, in the movie Hackers, as “more machine than you can

You know what? I could handle way, way more machine than
this. Totally. This thing sucks.

The people who handle the TV lineup at 3:00 in the
morning either have a truly twisted sense of humor or no
idea what they’re doing at all. I can’t imagine why anyone
would decide they should segue gracefully from Kubrick’s href="">The
Shining, the whole hallway-roiling-with-blood scene, straight
into a tampon commercial.

This is a hell of a way to start a valentine’s day.