programming

You are currently browsing articles tagged programming.

Alligator Eggs

I just came across a very interesting puzzle game called Alligator Eggs.

Although the author has intended it to be a non-computer game (i.e. you print things on physical paper and play with those) it reminds me a lot of the classic computer “game/puzzle” life (no relation to the board game of the same name). I wonder how long before someone creates a computer simulation for it.

The thing I really like about this game is that it teaches some very advanced algorithms and logic patterns (all having to do with Untyped Lambda Calculus for those of you that are truly geeky) in a very approachable (and cute!) way. That’s no small task (lambda calculus is normally very dry, believe it or not ;-) ).

This also reminds me of Nell’s Primer in The Diamond Age by Neal Stephenson. The Primer made use of similar games/puzzles to teach children programming concepts without them knowing that they were learning such things.

Even though it is unlikely that Untyped Lambda Calculus questions will appear on any No Child Left Behind standardized tests, I believe that these kind of puzzles inform our knowledge of the modern computer-driven world more than memorizing historical dates (not that I think that knowledge is unimportant, just not as likely to be useful).

I’d be interested in hearing from anyone that successfully plays this with their kids. Not that it’ll ever replace Candyland or Chutes And Ladders, but if your child enjoys this kind of game you may have a future computer scientist on your hands.

Tags:

Rescuing Code

I’ve been working recently on “rescuing” some code I had written a year ago (under the codename KARPmusic) to control icecast and ices. It’s written in python, so at least that part is easy, but it was written against the TurboGears web development framework rather than Django which I’m using now. Thus, it’s not a simple copy/paste task.

I actually enjoy this kind of archaeological coding. It’s very zen-like because the underlying logic of the code is done and working. All I have to do is put a fresh coat of “syntax-paint” on it. Some might find that kind of coding tedious because you aren’t actually creating anything new. I like it because it allows me to focus on some of the more esoteric aspects of programming (e.g. coding-style, unit-testing) which usually take a back seat to functionality. Another benefit to this kind of code-migration is that I am personally confronted with how much better a python programmer I am now than a year ago.

Now, if I could just apply the same zen-like strategy to other aspects of my life. “I’m going back and re-integrating some of my childhood belief patterns into my current life. Anyone know what I can do with this ‘trust authority’ pattern I’ve found?”

Tags: , ,

I’ve been working on integrating some djedna changes that Mike checked in over the weekend. These changes should allow us to have a “site install” of djedna. That means that it’ll be easy to customize specific installations of djedna (i.e. templates, graphics, javascript, etc.) You know, skins. ;-) My apologies to Brian who first pointed me to that “skinning meme.”

Other features that are on slate for being worked on this week include admin and user settings, “Fever” functionality (obviously, that’s the code name and I can’t go into any detail about it yet), arbitrary track pool/playlist creation, and RSS feeds.

Tags: ,

Many of you know about the programming language python that I’ve become enamored with over the past year or so. Some of you may have thought I was talking about snakes or Monty.

For those of you that are interested, Curt (yes, Curt again, get used to hearing about him) just sent me a link to this cool video of a Google presentation, Advanced Python (or Understanding Python). Even if you’re an experienced snake charmer there’s probably something in there you didn’t know.

Oh, and this gives me a chance to try this “video embedding” that seems to be all the rage right now. :-)

Tags: ,

Newer entries »