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.