the return of dirk!
I've rewritten Dirk for my own learning a few times, in Perl again, PHP and Python. It's my Hello World app, hitting web apps, databases, general syntax, algorithms and performance. I try to write it as idiomatically as possible each time, and squeezing every drop of performance out of the pathfinding algorithm (which I know pretty well by now) lets me learn what's fast and slow in each language.
Dirk is one hell of a Hello World app. Go play! Connect! Pathfind!