When there's only one

...there's only one choice
Everything here is my opinion. I do not speak for your employer.
September 2008
November 2008

2008-10-02 »

The innovators, the imitators, and the idiots

    "People should always know better. ... I mean people don't get smarter about things as basic as greed and you can't stand to see your neighbor getting rich. You know you're smarter than he is, and he's doing these things and getting rich, and your spouse is getting unhappy with you because you aren't doing it. Pretty soon you start doing it. And so you get what I call the natural progression, the three I's: the innovators, the imitators, and the idiots. And that's what happens. Everybody just kind of goes along. And you look kind of silly if you disagree."

        -- Warren Buffett

This quote is about the current U.S. financial crisis, but I think it applies to all sorts of things. Like XML, for example.

Update 2008/10/03: And automake.

2008-10-03 »

dcoombs as waterbuffalo

Thank you, Google 10th Anniversary Index.

(Courtesy of dcoombs. In more ways than one.)

2008-10-04 »

Moderation Matters

If you've been paying attention to the news, you might recall the controversy around allowing Elizabeth May, leader of the Green Party, into the Canadian federal election debates in the first place. Basically, her party has zero elected seats at the moment, which would normally preclude her from participating, except that they appear to be growing fast and popular opinion was that they should be allowed in. Stephen Harper, of the Conservatives, objected to her inclusion:

    Harper said letting May participate in the debates would be in essence allowing a "second Liberal candidate" to participate, which he called "fundamentally unfair."

       -- cbc.ca

Much denounced for his view at the time, he turned out to be entirely right, as four largely indistinguishable liberalistic parties ganged up on him for two hours straight.

But here's the thing:

Despite the fundamental unfairness of a four-against-one fight, the debate wasn't unfair in the end. It was saved by one key rule of order: if you criticize someone or their policies in one of your statements, you implicitly give them the next turn to speak, and the moderator enforces it.

Now, I haven't done any formal debating and I don't have a background in political science. Maybe this is a standard rule that's applied everywhere. But if it is, I haven't heard of it, and I blithely assume that you might be like me, so I'm telling you about it now.

That rule changes everything. Because the four alternative candidates spent all their time criticizing Stephen Harper, he got to speak in almost every second time slot. Basically, by working together against him, they changed the balance of the debate to give him more weight, which counterbalanced their own strategy.

If they had concentrated on their own policies and criticizing each other, they would have all had more time to speak. But Harper, whose party is in power so people know all about it anyway, would have gotten less criticism. That would have been fair too, but probably a worse strategy.

The result was that we heard a pretty good balance of both sides of the story, which is the best I could have hoped for.

Congratulations to whoever invented those debating rules.

2008-10-06 »

A quick comparison of U.S. and Canadian political issues

A few people have been sending around this video, which is basically a bunch of Hollywood actors and actresses patronizingly trying to convince you to vote.

Basically, they scare you into it by listing a bunch of scary unresolved issues and reminding you that electing the right person will actually affect how those issues are resolved.

Okay, probably true.

But what was fascinating to me was that none of those issues are even on the radar in Canada. They're just plain resolved here - properly. The things we're worried about in our own election are much more abstract. It seems impossible for us to imagine living in a society where such trivial things are even open to question.

It reminded me of the first time I visited New York. "Wow! Macy's is a real store!" Until then, for me, it was nothing more than a prop in a bunch of TV shows and movies. That's why American propaganda doesn't work very well on Canadians; it just feels like fiction to us.

2008-10-08 »

You don't need exceptions to enjoy try..finally

try {
    File f = new File(whatever);
    return f.read(buf);
} finally {
    f.close();
}

Of course, this isn't a perfect example, since there are easier ways to do it in most languages. In C#, you could use a "using" statement.
With a proper refcounting GC (like in Perl), it would close the file automatically and immediately when 'f' goes out of scope. And in C++, you could have a destructor on the local variable f.

But there are various situations where you want to do some arbitrary cleanup upon returning from your function, even though your function has multiple exit points, and that cleanup can be pretty complicated.

In the Linux kernel, you see a lot of "goto error" statements with an error cleanup at the bottom of the function, but it's kind of messy. try..finally obsoletes that.

Notice that I didn't necessarily have any exceptions being thrown above; try..finally means "clean up no matter how I return," and one of the reasons for returning is indeed that an exception was thrown, but it's not the only reason. In this case, I returned without using an explicit temporary variable, while also handling exceptions cleanly.

2008-10-10 »

A manager's main responsibility: good taste

It occurred to me recently that, other than (as always) being smart and getting stuff done, you only need one main rule to decide if someone should be in charge of something: good taste.

Of course, nobody has good taste in everything. Depending what you're in charge of, you need to have good taste in different areas.

Code architect: Needs to have good taste for design and architecture. Obviously. But note the difference between this and coding it all himself; if the architect can tell you you're wrong before your mistakes bite you, he's paid for himself.

Project manager: Needs to have good taste in project schedules. This isn't the same as making good project schedules! It's been widely acknowledged by now that the only person capable of estimating a knowledge worker's schedule is that worker. But you still need project managers to assemble all the information, track milestones, and so on. The key role of such a person is to tell you if you're just plain doing it wrong, as most people unwittingly do when making a schedule. Only a person with a taste for schedules can do this well.

Product manager: Needs to have good taste for user requirements. They don't necessarily have to understand the user (although that's the most obvious way to do it); they just need to understand what a real user requirement looks like, as opposed to a pretend one. When you propose a new feature for your product, they need to be able to see why you're proposing it: for a good reason or a bad reason. If they're good at detecting that, then their product will be good.

Team/HR manager: Needs to have a good taste for team members. If you choose the wrong people for your team, it'll be a failure every time; if you choose the right people - the people with good taste - you have a much better chance of success.

Good taste is critical, and there are a million forms of good taste. Right-thinking people can disagree on what they like or don't like. But right-thinking people are also pretty good at discarding the vast majority of stuff, which is tasteless and appeals to no one.

2008-10-12 »

Ultimate Quote

    A billionaire can buy homes, cars, clothes that the rest of us cannot afford. But he cannot buy a better phone, at any price, than the iPhone that you can have in your pocket today.

    -- some guy

The point is the same even if you don't like iPhones. Whatever your favourite cell phone brand, billionaires don't have a better one. There are some things money can't buy.

Increasingly many.

2008-10-14 »

Time Machine: October 2007

The infamous Uncov has returned, along with a link to some news articles from this time last year.

Remember when it felt like the Web 2.0 boom would last forever, and IPOs and buyouts were ever-present and increasing, and Google's stock price would just keep going up forever?

Right. One year later, the general feeling is the direct opposite.

Now take that observation and apply it to the current financial crisis. What will you feel like this time next year? Why do you think that?

Update 2008/10/14: And another article about prognosticating the economy for fun and profit. Amazing.

2008-10-16 »

Experts are pragmatists

Here's a distinction I hadn't seen before:

    In short, experts are pragmatists, they re-set or re-frame the problem to make it solvable. Novices are realists, they take the problem as a given and get stuck.

    -- some guy

2008-10-18 »

Question the Question

    The same is true in a number of areas in which I have worked. In general, if people in a field have bogged down on questions that seem very hard, it is a good idea to ask whether they are really working on the right questions. Often some other question is not only easier to answer but actually more interesting! (One drawback of this trick is that it often gets people angry. An academic who has spent years on a hard problem is rarely grateful when you suggest that his field can be revived by bypassing it).

    -- Paul Krugman

    It is astonishing what foolish things a man thinking alone can come temporarily to believe.

    --John Maynard Keynes

Both quotes via How I Work by Paul Krugman.

2008-10-27 »

Public service announcement

Inkscape is much more awesome than anyone told me it was.

That is all.

2008-10-29 »

A note on Canadian electoral math

A quick review of the results:

ConservativeLiberalBlocNDP
20061241035129
2008143765037

I'm amazed at the constant spin I hear about whether Stephen Harper's Conservatives "won" or "lost" the recent election.

Let's get this straight. The Conservatives won. I mean, honestly, guys. They won last time, and they won this time.

Furthermore, they won more seats than last time. That's an improvement for them. Improvement = happy. So far, so simple, and yet I see numerous postings that claim the contrary, because:

They still have a minority government, even though they wanted a majority. Okay, true. The Conservatives didn't get exactly what they wanted. Not exactly a "taking over the world" sort of result, but opponents trying to claim some sort of theoretical victory because the Conservatives didn't obliterate them as thoroughly as they tried to is, well, dumb.

But here's the most important thing: although they still have a minority government, the new Conservative government crosses an important threshold. It now takes three parties to outvote them instead of just two.

That means that realistically, this time they're going to be able to pass whatever laws they want, except fantastically stupid ones. In order to strike them down, you'd have to get the Liberals, the Bloc Quebecois, and the NDP to all actually agree on something. Uh, right. Good luck with that.

Now, regardless of whether you're pro- or anti-Conservative, I think we're still better off now than in 2006. The reason is that we no longer have a stalemate. Because it's hard but not impossible to outvote them, they'll be able to get actual laws passed, which is (believe it or not) actually a useful thing for government to do. But they won't be able to do thoroughly oppressive things, like they would be if they had a majority.

So yes, in fact, victory can be claimed for both sides, but not in the foolish ways that people have been. Have a nice day.

2008-10-30 »

Public service announcement 2

The movie Ocean's 12 is much more terrible than anyone could possibly have told me it was.

That is all.

...

(Okay, I lied. Actually, I want to say that Ocean's 11 was perfectly fine and I quite liked it. Also, I thought Mars Attacks! was pretty good too, so my standards obviously aren't very high. I hope that puts this post in perspective.)

September 2008
November 2008

I'm CEO at Tailscale, where we make network problems disappear.

Why would you follow me on twitter? Use RSS.

apenwarr on gmail.com