Hairy Avocado

December 24, 2011 at 12:22 AM | categories: images, blender

Punk hairy avocado

Playing with particle systems.


In praise of samizdat.cc

December 16, 2011 at 04:00 PM | categories: links

I recently re-stumbled across Christian Swinehart's incredible personal site, samizdat.cc. It's a great example of someone with strong technical skills combined with an amazing aesthetic design sense. His choose your own adventure analysis is amazing in its attention to detail and beauty.

As far as online role-models, he's a great one. Everything I do looks clunky and amateurish in comparison. I have several half-baked projects which I want to put online, but with the bar set this high I'm really going to have to step up my game.


A dime saved is a penny earned

November 18, 2011 at 01:05 PM | categories: language

We're all familiar with the expression "a penny saved is a penny earned". Seems like good financial advice, but really? Pennies? I can hardly bother to bend over to pick one up if I drop it. Here in Canada we're talking about abolishing them, and they already have in Australia. The penny is in its death throes; so too could be this proverb.

So I looked into it a bit more: searching Google books' archive, the earliest reference I can find to the expression is from 1702 in an old French-English dictionary using an archaic form "A penny saved is a penny got" (which, incidentally, is "Un sou épargné, est un sou gagné" en français.)

The popularaity of the phrase really seemed to explode around 1800 as shown below. It appears, however, that it has been losing relevance slowly ever since.

Plot of popularity of the phrase "penny saved is a" in written English over time

So no wonder it feels dated; it is! In 1800, an (American) penny in modern dollars has a value of... $0.13!

So, in these modern times, where frugality is as important as ever, I humbly submit that we update the expression [*] to something with more (ahem) currency. "A dime saved is a dime earned".

Update: of course the same logic applies to other financial idioms. "penny for your thoughts" seems to come into written popularity at a similar time, although its roots are much older. The fact that we still use this expression indicates the deplorable lack of respect we have for the opinions of others in this day and age. Just my two cents.

[*]Disclaimer: I don't really recommend this.

Toronto maps

September 09, 2011 at 03:13 PM | categories: toronto, maps, projects

Map of Toronto

In a moment of obsessive frustration, I have converted several beautiful old maps from the Toronto archives into more usable file formats. Check em out here.


Semaphore rewrite

April 26, 2011 at 01:14 AM | categories: javascript, projects, semaphore

New decade, new tech.

A few years back, I wrote a Processing sketch to play with semaphore. That project is suprisingly one of my more popular, but I wasn't too happy with the fact that it was a Java applet.

So, I rewrote it in Javascript!

Stuff used

It would have been trivial to port the original project to John Resig's super-awesome Processing.js, but that doesn't work on IE. Now normally I don't care about IE support, but this seemed like a nice small project to try out a different library. So, I have rewritten semaphore using the nice-ish Raphaël library, which renders to SVG on most browsers, and VML on IE.

This was a mostly painless experience, although Raphaël's docs could use a lot of work. If you're interested in quick and easy graphics in Javascript, I would definitely recommend that you give it a try.

The lack of proper local transformations, however, I think would be a deal-breaker in a larger project. Animating a rotation of a group of objects around a pivot point specified in their local coordinates is not, as far as I can tell, possible. Keeping track of the full stack of transformations for groups (or sets as they're called by Raphaël) was fine for a project of my scale, but if you were animating a more complex jointed object would be untenable.

That said, it's early days. Hopefully Raphaël keeps getting better!


Next Page »