Today it was sunny and 50-ish so I figured it was as good a time as any to hang the Christmas lights. That meant digging up our box of lights and going through the annual tradition of figuring out which strands don’t work. As always, two or three of them had burned out over the course of the year. So we trekked to Target to get some more lights.

Last year’s Christmas card– which featured the Schroeder Clan making funny faces– was such a big hit that we had to figure out how to keep up that tradition. My idea this year was to wear a bunch of goofy hats. Happily, Target stocks a whole shelf of hats, so we went over there and took pictures of ourselves wearing them.

Laralee complained that she felt kind of silly. The store was pretty crowded, and here we were, putting on hats and taking pictures by placing the camera on a nearby shelf and setting the self-timer. In truth, no one really cared.

After we came back home and I looked at the collection, there were potentially some fun things we could do with them… like change out the background and go for the 1930’s look or something.

But… eh. Although fun, it’s not really a Christmas card motif. So I’ll have to come up with something different.

I’m still not quite sure what we’ll use for our card, but it should be interesting as always.


We were playing Scattergories the other night, and our letter was W. In the category of “kitchen utensil” I thought I was clever by putting wire whisk. But Alex topped me with his answer:



Alex has a year-long project for the gifted program at school. It’s a wide-open project where each of the kids in the class can basically choose to do whatever they want, as long as it requires a bit of brainpower. I think the real goal is not necessarily the project itself, but the process of defining a project, planning it, finding “advisors” to help, meeting deadlines, and writing reports. Overall it’s pretty cool, and I hope it’s a good learning experience.


A few months ago Alex was asking me for ideas about what to do. We brainstormed a few things, and finally I asked him what his interests are. What sorts of things does he enjoy that could conceivably be combined into a year-long project? He replied “video games, computers, and Lego”. After a bit more thought, we came up with a good idea: he could write a computer game.

His computer experience to date consists of writing a Zork-like text game in Chipmunk BASIC (yes, it’s really called Chipmunk BASIC). It was a “choose your own adventure” game where you were given a description of where you were, and you had to select which direction to go. The goal was to find the submarine and leave the island. Or something like that.

All in all, it wasn’t bad. At its heart, it was really just a series of if-then-else constructs, but the logic had to be self-consistent so you could– for example– go north and then south and end up where you started. He did a good job, and there were maybe eight or ten different “rooms” in the game. Many of them killed your character, oddly enough.

He really enjoyed that project and was excited about the prospect of writing a game that was slightly more advanced. More to the point, we decided he would write a computer opponent (a so-called “AI” player) so it was a more interesting game. We talked about Tic Tac Toe but anyone who’s seen Wargames knows that’s a silly exercise because if you start in the center, you can always force a draw.

The next obvious option was…

But chess is actually quite complex, with an enormous number of possible moves at any point in the game (I did a science project about it back in junior high). So we ruled that out. However, checkers struck our fancy because it’s much simpler but still confined to a small game board and has a much more limited number of moves and countermoves.

Alex suggested Connect Four, and after some discussion we decided that would be even better. The move options are even more limited than checkers: instead of fifteen pieces with two possible (diagonal) moves– four if they’re kings– we have seven vertical slots with only one move each. The interface would be drop-dead simple: the game would prompt the user to enter a slot (one through seven) and would drop a checker in that slot.

We’ve decided to write the game in Python. It’s a powerful but not-too-difficult scripting language, highly recommended as a good learning language. There are a gazillion libraries for it, including graphics packages that might be nice for dressing up the game once we get the basic logic worked out. I know a (very) little bit about Python, having written a couple of database routines in it, so it will be a bit of a learning process for both of us.

This week, during Thanksgiving break, Alex is going to work on learning very simple Python tasks so he can grasp the syntax and grammar. Then we’re going to really lay out the program architecture, identifying modules like user input, graphic display, error checking, win/loss conditions, and the most complicated piece of all: the AI.

This won’t be true artificial intelligence, of course, but it should be interesting to write an algorithm that decides how to move. Time permitting we’ll change the console interface to graphics and maybe even animate the pieces dropping into their slots.

The next step would be Connect Four Million, an awesome but long-lasting game which can only be played by immortal brothers with nothing better to do.

(Disclaimer: if you haven’t seen Lost, you won’t get this joke.)


Apparently the TSA has finally gone too far. I figured it would only be a matter of time before they added one thing too many to the list of things you can’t bring or can’t do or have to put up with. And the combination of the backscatter x-ray machines (so-called “porno scanners”) with the “enhanced pat-downs” has apparently broken the proverbial camel’s back. This week there’s been an explosion of reports and blog articles from people all over the place sharing their horror stories at the hands (get it?) of the TSA.

I even climbed on the catch-phrase bandwagon when I sent my weekly survey about ultimate on Thursday. The options about whether everyone wanted to play were:

  • Yes.
  • No.
  • If you touch my junk, I’ll have you arrested.
  • And today I found a hilarious graphic that was apparently on the cover of a book left at a TSA checkpoint.

    It’ll be interesting to see how all of this plays out. Maybe some common sense will finally prevail.


Actual e-mail from Zack to his friend Alec:

this is in crazy caveman talk: Me give you stuff.
this is girl talk: Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah…

The response from Alec:

What the heck?

I shudder to think what my e-mail messages at age 9 would have been like. Maybe it’s best that technology didn’t appear until I was 18.


Wikipedia is awesome and amazing. To think that hundreds of thousands (millions?) of people volunteered their time to contribute to what is essentially a compendium of human knowledge is inspiring. The web site is on their annual fund drive, so I took a moment to contribute. I’ve used the site at least weekly for years, and I feel like I need to give back in some small way. And it’s sure cheaper than buying a set of encyclopedias a decade ago!

The thank-you page has a cool banner:

One might argue there’s a bit of hyperbole here, but it’s not that far from the truth. Wikipedia is, in fact, free access to human knowledge. The last time that might have happened was at the Library of Alexandria. In the last century– heck, even the last decade– such a thing was unthinkable. And yet here we are. Wikipedia demonstrates the power of the internet and of human cooperation.

Take a minute and send a donation.


Yesterday I hung the oversize prints that Thom made for me. There are four photos by me and two by Rob.

After three years in an office with blank walls, it’s nice to finally have some kind of decoration. They look awesome.


A new course at Berkeley: StarCraft Theory and Strategy. This is the actual course description:

This course will go in-depth in the theory of how war is conducted within the confines of the game Starcraft. There will be lecture on various aspects of the game, from the viewpoint of pure theory to the more computational aspects of how exactly battles are conducted. Calculus and Differential Equations are highly recommended for full understanding of the course.

Furthermore, the class will take the theoretical into the practical world by analyzing games and replays to reinforce decision-making skills and advanced Starcraft theory.

As a prerequisite, students should be familiar with all units and some basic StarCraft strategy.

I’ve never played StarCraft (I’m a big fan of Warzone 2100) but this is pretty cool. Or scary. I’m not sure which.

Oh, and bonus points that you need calculus and differential equations to “fully understand” the course.


I’m writing a proposal (whee!) and I meant to type the word “telecommuting” but instead ended up with “telecommuning”.

It made me laugh… I suppose telecommuning would involve some sort of long-distance spiritual link with someone, and perhaps some ohhhhmmmmm chanting.