My flight home on Friday was cancelled, so instead of getting a nice upgraded seat on the 6pm flight, I was moved to the redeye flight. I had less success than usual in dozing off for a couple hours. (It looked like all the other options for getting home were worse.) Delta emailed me about the cancellation the night before, then called me cell phone a half hour before my usual wakeup time. This was insufficient annoyance so they also called a half hour later, and Marissa says they called the house three times.
My category theory book is screwing with my brain. Maybe I shouldn't read it before bed. The pedagogical problem with the text is that in order to make the definitions make sense, you need to first explain what they mean in Set. Many sections start by drawing the Set-diagrams, showing uniqueness in Set, etc. and then abstracting afterwards. But this sort of demotivates the whole "we can build logic without set theory" idea by making it seem like we are only building these particular structures because of set theory.
I had been thinking of writing some code that would could all distinct structures that can be build with N 2x2 lego bricks. It seems like an interesting challenge. The Online Encyclopedia of Integer Sequences has quite a few sequences tagged as 'lego', for example A007575 (1, 3, 7, 19, 53, 149, 419, 1191, 3403, 9755...) is the number of "stable lego towers" made with 2x2 bricks.
Lego, alas, does not make for a very interesting categorial structure--- it's just a partial order. It's not even a semilattice because although greatest lower bounds exist, they are not unique. (Maybe they are if you allow disjoint structures, but that's no fun.)