True, dat.

Sometimes funny, sometimes thoughtful, always a good time
True, dat.

The Zing team took the afternoon off to see Tron: Legacy this afternoon.
It was way cool. After disappointing overhyped sequels in the past few years– like The Phantom Menace and Indiana Jones 4— I was a little worried that we’d be oversold and underwhelmed by this reboot of the series.
The film was entertaining, visually amazing, and actually had a plot. And who can argue with Olivia Wilde as the butt-kicking black-leather glow-in-the-dark parallel of Trinity?

Sixty degrees, sunny, light breeze. Time for some ultimate.
Today I picked up lunch at a local hole-in-the-wall sandwich shop, and I was told by the manager that I can’t have bare feet in the restaurant. (This was as I was paying and heading out to leave.)
The place has a concrete floor, so I’m not sure what the concern is. I asked her why bare feet weren’t allowed and she shrugged and said, “Health code.”
As I was driving back to the office, I started wondering what in the world the health code would have to do with bare feet. Let’s say I have a fierce case of athlete’s foot… maybe I’ll leave icky fungus on the floor or something, but it’s not like the food is down there. If they drop a piece of ham for my sandwich on the floor, I would fully expect them to toss it and get a new piece from the counter. And if there’s some kind of hazard on the floor– like broken glass– then I might cut my foot but that has nothing to do with the Health Department.
I think it’s all a movement against those of us who enjoy life in bare feet.
Since Google is one of my clients, I occasionally check their online invoice-tracking system to find the status of the invoices I’ve submitted to them. Tonight I’m doing some accounting work, and I went to login to their site and saw this page:

Uhh.
So Google’s financial department invoice system has a quota… on Google’s own servers? That seems painfully ironic.
Zack put together a Christmas list. It’s pretty awesome.

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:
Wife
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.
Anyway.
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.)