April 10th, 2007
When I was in California a few weeks ago, Delta had oversold my return flight, so I ended up with a generous coupon to be redeemed for future Delta travel. Thus, in the process of checking out flights, I paid special attention to the offerings from Delta. Why not get my return trip to Toronto as a freebie, if I could?
Well, it turned out that the best Delta could do was around $250, so I’m saving my coupon for the future. But as I browsed the options Delta proposed to me, one in particular stood out as kind of bizarre. Surreal, you might even say. I guess these kinds of things happen when you have a computer proposing itineraries:

Read on…
Google recently released google-code-prettify, a nifty little JavaScript for colouring up source code embedded in HTML pages. Anyway, here’s a version that you can install as a bookmarklet.
March 20th, 2007
About a month and a half ago, I lost my new camera somewhere in New York. I spent a day and a half looking for it, but I pretty quickly accepted that it was gone. I’d only bought it at Christmas, so there was no homework to do—I was getting the exact same model again, the excellent Canon SD600.

Having to replace a lost or stolen item is a frustrating process. But as I dropped $200 on another camera, I stopped for a moment to be thankful for what I didn’t lose: In just a month and a half of service, that first camera covered Christmas with the family, as well as my first few weeks in New York, a total of 681 pictures. In the weeks since I bought its replacement, I’ve been to Vermont, Boston, Philadelphia, and D.C., where I’ve racked up over a thousand more snaps. Read on…
February 27th, 2007
It’s been a while here; I’ve been having far too much fun to have any time to write about it. But I thought I’d quickly share a few off-the-cuff tips for people looking to visit, stay in, or move to the city. Read on…
February 14th, 2007
Bjarne Stroustrup, designer of C++:
All that said, I don’t know what the next major conceptual shift will be, but I bet that it will somehow be related to the management of concurrency. As programmers, we have been notoriously bad at thinking about lots of things happening simultaneously, and soon our everyday computers will have 32 cores.
From a recent interview in Technology Review, part 1 and part 2. Read on…
A handful of people emailed me about WP-Cats not working with the newest Wordpress. I’ve fixed the problem now—the compatible version is available as WP-Cats 0.13a. Over the past couple months, I’ve also received a number of feature requests for it, many of which I think would be useful and sensible, so expect to see a proper update at some point in the future.
Also, I now have a much better understanding of how to properly use closures and JS objects, so that truly heinous JavaScript will get cleaned up a bit, too.
Brandon pointed out to me the new website for the Mechanical and Mechatronics Engineering Department has launched, featuring my logo in the document footer, similar to how ECE’s is.

My understanding is that there will be an official unveiling in the summer term, at which I’ll be asked to give a brief explanation of process and inspiration. So you can all come out to that with your clappers and big foam fingers… or just know that the inspiration was doodling on a tablecloth at Montana’s, and the software used was the excellent Inkscape.
January 20th, 2007
Since Wordie showed up, I’ve been using it to collect together words I like. I find that vocabulary is not something I can recall on demand—I think of the words in situations that demand them, and then afterwards hit up Wordie to log them for later perusal.
Punctuation use, for me, is similar. It’s more instinctive than thoughtful, which is a bit odd, consider my nature generally. But unfortunately, it seems that for many, the use of commas, apostrophes, and even basic spelling is neither instinctive nor thoughtful. Recently, I lashed out at someone on IM for using the letters u and r in place of the words they sound like. “The only situation,” I typed furiously, “in which it is acceptable to abuse letters of the Latin alphabet in this manner through written correspondence with me, is if you are cute, female, and single.”
The thing about poorly-punctuated emails and IM chats, though, is that the vast majority of people are at least aware that it’s informal. It’s like people doing the grind—it’s fine at night clubs, not so much at a formal occasion. 1
So yeah. Despite this general awareness of incompetency, dashes are an area of punctuation that a lot of folks remain permanently in the dark about. I thought it might be helpful to put up a quick summary of the four main kinds you need to know about. Read on…
January 8th, 2007
I had another opportunity recently to make a visualization out of JavaScript; I thought I’d share two examples of using the language for this purpose.
The 6-Stroke Wankel
Last winter, there was brief flurry of activity over some guy building a six-stroke engine. The principle was ingenious—rather than waste excess heat through a cooling system, why not harvest it as an extra power stroke, by injecting distilled water into your cylinder? The rapid expansion of the liquid into gas would provide a small boost, plus drastically reduce the amount of cooling infrastructure necessary on the engine block.

My immediate thought was, well, what about doing that with a Wankel? A Wankel rotary engine is a lightweight, high-torque system. Mazda uses standard 4-cycle Wankels with their RX7 and RX8 cars, but what about a 6-cycle one, that implemented this water-injection cycle?
Jeff helped me out with some of the formulas, and we ended up figuring out what the thing should look like. Now, it could certainly be modeled in a tool like SolidWorks, or AutoCAD, or maybe even MATLAB, but what’s the fun of that, when only people who have the software can look at it?
Instead, I tried going the SVG route. SVG is an open standard vector language that’s positioned to compete with Flash. Through various problems, it’s not as widespread as it could be, but all of Firefox, Opera, and Safari provide reasonable support for static SVG, and Firefox provides excellent support for SVG animation. So you’ll need to be using Firefox to view this, but here’s the animated demo of the six-stroke Wankel. Read on…
January 1st, 2007
One of the troubles with putting a website to sleep is you have difficulty finding a topic interesting enough to be worth waking it up for. Each whack at the snooze button makes trivial posts about nothing that much sillier.
I’ll have more to say about New York over the coming weeks, but this is just a kind of funny side observation from my time in the city, unrelated to the city itself. (For the impatient, there are a handful of pictures here and here)
And it has to do with memory. Read on…