Saturday, June 27, 2009


I spent the whole day programming for Waterloo's iGEM team. iGEM, for anyone who doesn't know, is the International Genetically Engineered Machines competition hosted by MIT, the goal of which is to figure out ways to design useful things out of biological components.

There's a subtle but important difference between iGEM's philosophy and conventional biotechnology, and it lies in the issue of design. People have been able to do things like getting bacteria to produce human insulin for a while now, by taking the human gene for insulin production and inserting it into the bacteria. What we haven't been able to do is to really understand the genes that we're dealing with.

Biological parts have been impenetrable black boxes: if something comes out of that box that we can use, that's great, but more often than not we would like to get into that box and tinker. What's more, these parts don't tend to play well with each other, and all sorts of chaos ensues when you start mixing together genes.

iGEM's approach is to create new biological parts. Parts that are not massively complex genes, but simple, reliable, reusable components that have intended purposes and known effects with other components. The goal, really, is to allow for true genetic engineering instead of genetic experimentation.

This isn't to say that all genetic parts created for iGEM are simple or reusable and it certainly doesn't mean that all that many of them are reliable, but we're working on it. The project I was coding today, for example, is intended to allow the team to predict the results of certain biological reactions, the end goal of which is to develop a repeatable method of inserting genes into chromosomal DNA.

At least, I think that's what it's for. Biology hurts my brain.

Thursday, June 25, 2009

Unfinished Jungle

(click image for huge size)

I've wanted to do a drawing of a jungle for a while, just because I find all the foliage pretty awesome. It turns out foliage is really annoying because it's simultaneously insanely complex and repetitive.

The drawing ended up being more of a tech demo of different brushes, but I still think the concept is cool. Also, if you click the image for the larger version and then squint at the lower corners, you can make out some neat detail.


While half researching and half procrastinating on a professional development assignment (oh yes, we have professional development assignments... but that's a whole other blog post) I stumbled upon another blog called "This is What an Engineer Looks Like".

It seems to be a collective blog written by various women in engineering most of whom seem to go to my school (the University of Waterloo). So there you go, check it out.

EDIT: I forgot to explain what 'WIE' is: it's an abbreviation of "Women In Engineering" and is the name of various organizations dedicated to the women who study engineering, the largest of which is probably IEEE WIE.

Monday, June 15, 2009

Balcony, Meet Bacon

I went to Toronto last weekend. It's pretty. Lots of skyscrapers and flying pigs. This picture reminds me a lot of the view from the CN Tower on a foggy day, although it started out as the view from my sister's balcony.

Thursday, June 11, 2009

Head Hurts

(click image to see full-size)

For all those wondering how I managed to concuss myself while getting out of bed...

[In case you can't tell from the drawings, I was trying to wake up, but kept giving up and falling on my pillow. Then I got close to getting up and managed to hoist my body off the bed -- which just means I missed my pillow when I gave up.]

I'm fine now, by the way. And I probably didn't really get a concussion. No really, Mom, I'm fine.

Sunday, June 7, 2009

GUID socks

I was folding laundry this morning, when I was distracted by the realization that socks that had a little brand name printed on them were much easier to pair and fold than the other socks. This isn't a huge revelation, but it made me think back on all those times that I've paired two not-quite-identical socks together and wished I had some way to tell which ones actually did match without having to spend time inspecting them in minute detail.

So how could we tackle this great new problem of sock matching? Well with socks with globally unique identifiers (GUIDs) printed on them of course! Guids are 128 bit numbers, which means that there are 2^128 (approximately 3.40282367 × 10^38 for those of you who prefer to think in base ten) possible different ids. This is a gargantuan number, one so large that it allows ids to be constantly randomly generated with almost no probability of duplication (if you generate one of these ids every millisecond for the rest of your life, the odds are still very much against you finding a duplicate -- heck, you could generate one every nanosecond if you want). All this to say that guids are unique and can be written as strings, so all we have to do is print the same guid on matching pairs of socks and presto! Insta-matching socks.

(Click for Larger Image)

There are further improvements that could be made to this design of course. The text is a bit hard to read at a glance, so we might want to colour code each digit in the guid so that visual recognition of the guids is a bit easier. An even fancier solution would be to transform the guid into some more visual form, perhaps using the guid number to seed a fractal function. What you lose in style, you more than gain in geek cred -- not to mention the original point of folding laundry faster.