If you use Movable Type, you need to read this and this right away, and then you need to get on the horn to your webmaster instantly and tell them they’ve got a big fucking problem on their hands.

The short summary: Movable Type can be turned into an open spam relay if you
poke one of their default scripts the right way, and this is already being exploited in the wild.

Shaver, wise and powerful, has instantly fixed the problem on this machine, but if you’ve got your own MT stuff running, you need to either fix it right now or phone somebody who can.

Quick fix: chmod 000 mt-send-entry.cgi

Occasionally, I mine the referrer logs on this machine to figure out what people are really searching for when they come across my humble web pages. I was going to do that again, but then I found this:

cache9-5.[...somewhere -MH...].sa - - [23/Nov/2003:00:35:02 -0500] "GET /~mhoye/blarg/archives/001489.html HTTP/1.0" 200 0 "" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)"

212.[...somewhere -MH ...].26 - - [23/Nov/2003:00:35:03 -0500] "GET /~mhoye/blarg/archives/001489.html HTTP/1.0" 200 0 "" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)"

and I’ll never do it again. I just don’t want to know.


./ unreported exception e java.lang.InterruptedException; must be caught or declared to be thrown

Ah, very well then. Here:

try { sleep(5000); } catch(Exception a){ sleep(5000) ; }

I mean just fucking do it, already. Why do sleep() and wait() need to throw exceptions?

try { sleep(5000); } catch(Exception a){ /*Fuck you, Java! */ }

I am clearly not very good at this.

“But an effect can become a cause, reinforcing the original cause and producing the same effect in an intensified form, and so on indefinitely.”
- George Orwell, Politics And The English Language.

I cannot possibly be the first person to notice this, but here it is: every single time I’ve heard somebody use the phrase “in a post-[...whatever...] world”, that person has been trying to justify an atrocity.

That’s all, really. As you were.

There was a time, I’m sure a friend in particular of mine will tell you, when making a mix tape was a far more demanding art than it is today. First off, you or the people in your immediate vicinity actually had to own, right at the very moment of mixed truth, the music you wanted to mix. Quelle Horreur! Not only that, but you actually had to worry about balancing the aesthetics of song-order against the inscrutable realities of song length, crafting a mix pleasing in each individual transition that didn’t leave two minutes of blank space at the end of each side.

And the making, the making… you actually had to wait for the entire length of a song for that song to be recorded, then adjust your entire apparatus. Truly ’twas the dark ages. All that effort for a few fleeting moments of individuality while driving your parent’s car, perhaps to let your high-school sweetheart know that you are both passionately in love and, if she doesn’t realize it yet, a complete dork.

Don’t act like you haven’t been there. I have.

Read the rest of this entry

My brain hurts, and it is hard to code. I hate catching colds.

What I need now is forty pounds of nails, some tape and a big, sturdy sombrero, so that when my head actually explodes I can take everyone in this lab out with me.

“I don’t make fun of you because you’re short.
Short-sighted, maybe.”
– Chris Rootham

Let me start this off on the right foot: kids, just say no to drugs. Stay in school, all that stuff. Though you might have heard differently, winners don’t use drugs. Always look both
ways before crossing the drugs.

One of the main reasons that I’m not a habitual or even annual consumer of exotic chemicals is that for reasons unknown the effects that these things tend to have on me are not the ones described in the literature. In the great realm of human possibility this is not, of course, unheard-of; I’m sure that it’s all part of my mutant physiology, along with the extra-long
second toes and an ego that can spontaneously inflate to ten times its original size. If I have enough to drink, for example, I begin to enjoy Abba. Compared to passing out or dying of alcohol poisoning, enjoying Abba is clearly a less-than-optimal result, but that’s what happens.

Anyhow, at an Ultimate party last night a few members of the community
decided to get back in touch with the sport’s long-haired-filthy-hippie
roots, and invited me along. Very good, very good. Bene. Except that
rather than enjoying the mild high which is ostensibly the reason
that one does any of these things, I instead get badly desynchronized,
and start experiencing wierd discontinuity issues. I kept repeatedly and upredictably waking up
to some newfound realization of my current situation.

Read the rest of this entry

A thing that I forgot to mention about Movable Type is that you should sneak “resizable=1″ into your javascript widgets, thus avoiding the pointless annoyance of non-resizable comment windows.

I also neglected to note that the Matrix gets worse the more I talk about it. Consider the following:

On the left corner, The Worst Computer Virus There Ever Was, on the right corner, The Best Hacker There Ever Was, the arena is a virtual reality simulator. Why oh why are they still _physically punching_ each other, very nice water CGI effects aside?! - Zeynep Dilli

Hey, yeah, that’s right! What the hell?

Finally Arlene, in what must have been a fit of soul-crushing boredom, actually read the last entry, and berated me for not including a description of her meal along with my own. Arlene’s meal at Bhima’s, which she greatly enjoyed, was smoked and grilled giant prawns, with biryani rice, a crisp pepper and cabbage salad, papadums and some Indian sauces. She wrapped the meal up with a hot ginger/honey/milk concoction, which she was very enthusiastic about.

I also neglected to mention that Arlene enjoys gin & tonics, cannot hit a golf ball to save her life, and can absolutely destroy me at head-to-head Tetris. Take my advice: ph33r h3r sk1llz. They are clearly m@d, in all non-golfing areas.

I’m starting this entry in Guelph, my last night here before I take the train back to Ottawa. Arlene and I have been both wined and dined by the twin cities of Kitchener and Waterloo, who are trying to get young physicians like her, and very much unlike me, to live and work there. The only reason they put any food or drink in front of me was because in addition to my being a talented fellow and debonair man-about-town, I am romantically involved with the person they actually wanted to speak to. I am talented baggage, basically. Debonair baggage-about-town, if you would.

I had mixed feelings about coming, mixed because time with Arlene is precious and Waterloo is where I’ve done some of the most irresponsible, reprehensible things that I’ve ever done. And believe me, I do not employ these superlatives to describe the biggest fish in a small pond. On the drive in the little things I recognized made me feel wierdly nervous about the whole process, like wandering a graveyard haunted by the ghosts of all my worst decisions.

Enough about that; I don’t want to wallow in it and you certainly don’t want to watch. It’s an old line that authors write because they have something inside them they have to get out, but in my experience most bloggers write because they have something inside them they have to get over. And no matter how cathartic it might feel, there’s no absolution in confessing to an empty booth. I went back to look at the campus and it was beautiful, it brought back a lot of faces and moments I haven’t thought of in years. Let us now move on to the good stuff.

Read the rest of this entry