Date: August 24th, 2010
Category: Geekism

Metagun and Meta-Metagun

Ludum Dare is a game making competition, where programmers are invited to make a game based on a certain theme. The catch is you have to do it in just 48 hours! In the latest competition, the theme was “enemies as weapons”.

A guy named Markus Persson, of Minecraft fame (Minecraft being a game only ultra-nerds can understand or even recognize as a game, kind of like Dwarf Fortress) entered with a game called Metagun. In this game you are a guy who has a gun that shoots out little guys who then shoot back at you. Meta enough? Not yet!

The really Meta thing is that Markus, AKA “Notch”, recorded his computer screen for the 48 hours of making the game, and put the result up on Youtube! You can see him writing code, creating graphics, designing levels and testing the game out all at 500x speed. It’s sometimes almost unbelievable how much stuff can be cranked out by guys in these competitions, but now you can see it yourself.

Date: July 5th, 2010
Category: Otherwhere

The West


For Jenny’s Dad’s 60th birthday, the whole family took a trip out West! We stayed 7 days, on a tour bus whenever there was sunlight, and in different hotels each night. The bus travelled counter-clockwise around Wyoming and its bordering states, hitting as many destinations as humanly possible: Denver, Crazy Horse Memorial, Mt. Rushmore, Devil’s Tower, Yellowstone, The Grand Tetons, Salt Lake City, Arches National Park… probably several more I’m forgetting. Look at the pictures.

On the first day, when the tour guide told us that we would be receiving a 5 AM wake up call to get going the next morning, I demanded to know whose crazy idea the trip was. On the last day, after doing an incredible sunset hike in Arches National Park, we were making plans to go back.

Date: May 22nd, 2010
Category: Video Games


Manufactoria is to Конструктор as your Theory of Computation class was to your Digital Logic class. Instead of creating tricky silicon circuits to implement various logical operations, you create tricky state machines to modify and accept or reject sequences of colored dots on a paper tape. And just like Конструктор it goes from super trivial (accept every tape, unchanged) to super insane (reds are ones, blues are zeroes, the input tape represents a number, create an output tape with that number plus one).

I’m hoping that in the last level I have to create a state machine that accepts a paper tape with a PROGRAM ON IT and then EXECUTES IT.

Date: March 17th, 2010
Category: Geekism

Happiness is…

…running top, pressing 1, and seeing this message:

Sorry, terminal is not big enough.

Date: February 17th, 2010
Category: Geekism

LOGO on Scratch, Scratch on LOGO

Heard of Scratch? My nephew Dante introduced me to it. It’s a really nice visual programming environment, aimed at kids. You create programs that control the movement of sprites by snapping blocks together. There’s an “IDE” (written in Squeak Smalltalk) that you download and install and use to develop your programs, and then you are encouraged to share your programs by uploading them to the Scratch site. On the site, your Scratch program is run in a Java applet. Other users can then download the “source” to your programs, “remix”, and repost them. The people behind it have put a lot of work into both the technology and the community, and it ends up being really fun all around.

I made a few small programs to get the feel of it, like this Mars Lander game, but wanted to see how far I could push Scratch. So I set out to make a LOGO interpreter! It was pretty difficult, since Scratch doesn’t have subroutines, and the only data structure is the array. I ended up with something that supports a small subset of LOGO, including basic turtle graphics, user defined subroutines, and global variables. I also spent quite a lot of effort optimizing it to be as fast as possible within the limitations of Scratch. At first I just wanted to get the simple LOGO program to draw a circle, REPEAT 360 [ FD 1 RT 1 ], to run as fast as a “native” Scratch program to do the same thing. I succeeded beyond my wildest dreams and actually made my interpreter run faster than native Scratch. How I did that is another story, but to give you a hint, -funroll-loops.

Anyway the point of all this is while poking around at how to speed things up in Scratch, I decompiled the Java player that runs Scratch programs on the web. I was at first very confused by the output, because it looked like the source code to a… LOGO interpreter…??!?! I looked harder and found enclosed in the JAR file a LOGO program to run Scratch programs! For whatever reason, maybe because they had a LOGO interpreter in Java lying around, the Scratch team implemented the online player as a LOGO program that runs on Java. So that means when my Scratch LOGO interpreter is running, it’s LOGO, on Scratch, on LOGO, on Java. Neat!

Date: November 19th, 2009
Category: Regular
2 msgs

That was easy.

Two years ago:

Dear Google:

Please get like 50 of your PhDs together and have them figure out how to automatically provide subtitles for all your YouTube videos.

Love, the Internet.

And today: Done!

Date: October 18th, 2009
Category: Geekism

How… retro?


Made me immediately think of this:

Date: September 15th, 2009
Category: Geekism

Portents… signs…. follow…..

I just launched an automated build, and the log file timestamp ends with ‘1337′. If that’s not a good omen for a programmer I don’t know what is.

Date: September 6th, 2009
Category: Meta

Needful Upgradation

In celebration of upgrading to the very latest and guaranteed secure (at least for the next 5 minutes or so) version of Wordpress, here is a picture of the evilest doll at the Shelburne Museum:

Date: August 25th, 2009
Category: Regular
2 msgs

Lake Compounce

We mentioned to Sharena about 5 years ago that maybe we’d bring her to an amusement park in the summer, but we never did and forgot all about it. She didn’t! So we finally went this year with her and a bunch of other people from Jenny’s family. We learned:

  1. Jenny still can’t go on rides – she didn’t somehow “get better”. Our third ride was the pirate ship, and that did her in for the rest of the day. She was even sitting in the middle!
  2. I still can – according to the kids this means I am not old yet. I liked “THUNDER AND LIGHTNING” and “BOULDER DASH” best.
  3. Somehow the person who was the most game for the scary rides was Alexis, even though she’s only 8! She would go on anything, and even sit right in the front car.
Date: August 20th, 2009
Category: Geekism

Last minute hacks

Here are a bunch of stories of really great last minute hacks that were needed to get a game out the door. I have perpetrated my share of these as well. On one project I worked on, we had an upcoming very high profile marketing launch. (how high profile? we rented this room at Lincoln Center – the same one used as the meeting room in the recently canceled bad show Kings) Anyway, just before that launch, we realized that due to some very low level bugs in our messaging infrastructure, some small percentage of messages were being lost. The cause was unknown, and the “real” fix would have taken more time than we had. So instead, I put in a small change. Send every message… no, not twice, that wouldn’t be quite awesome enough… no, I sent every message in TRIPLICATE! Worked like a charm.

Date: August 15th, 2009
Category: Video Games
6 msgs

Scariest Game Music

Prompted by this entry at Crummy about video game music medleys, I went and listened to some old game music and realized that some of the songs that have stuck in my head throughout the years were accompanied by some of the scariest moments. Here are some that play in my head AT LEAST once per day, in trendy “TOP $N” format:

#3 Scariest Moment: Dracula

Castlevania was the first game I ever played where, when you finally manage to kill the final end guy, after weeks of playing to reach him… HE COMES BACK TO LIFE IN AN INCREDIBLY MORE SCARY FORM and immediately jumps on you with huge sharp claws and you die. This is the music that plays as that happens. It took many more weeks to figure out how to kill the alternate form of Dracula. The secret, which is to use the Holy Water, came to me in a dream. For reals.

#2 Scariest Moment: About that cake…

In Portal, throughout the whole game you have been promised, and I quote, “delicious cake”. When you finally finish the last set of obstacles and your Aperture Science Unstationary Platform rounds a corner, instead of cake you find… the oven.

And the #1 Scariest Moment is: MOTHERBRAIN

Anybody who has played Super Metroid remembers this moment with perfect clarity. You have descended to Tourian, in the depths of planet Zebes, and found Mother Brain, in exactly the same setting as the original Metroid. The same way to destroy it works too: missiles through the glass. It doesn’t even take that many before Mother Brain explodes, and you get ready to celebrate. But then, after an eerie pause, this music begins to play and Mother Brain comes back to life in a screen-filling, and seemingly invincible form. None of your weapons work, and Mother Brain keeps shooting you with an energy draining beam that pins you to the back wall and leaves you immobilized. No matter how many E-Tanks you have, all you can do is sit there and watch them all be drained away. To raise the drama even further, Mother Brain shuts off the beam when you have like 10 energy points left, giving you a few moments to helplessly pound on the buttons, or scream and swing the controller around over your head, depending on your panic level. Lots of games do the “that was only a hologram… now my TRUE FORM” thing with the final end guy, Castlevania was maybe the first, but I say Super Metroid did it the best.

Date: March 31st, 2009
Category: Geekism
1 msg

Things to “accidentally” type when you need a break

make -j, when you meant make -j2.

Date: March 25th, 2009
Category: Geekism
1 msg

Communist Logic


Are you like me? Do you like games that feel like work? Then maybe this game is for you. Конструктор (constructor) has been my obsession since it appeared on Sunday. I’ve had Zachtronics Industries subscribed for a while, after stumbling across some of his older games “for engineers”. But this one is my favorite so far. In it, you create chips that meet certain specifications using metal wires and two types of silicon. The red silicon, when powered, can stop the flow of electricity when drawn on top of the yellow. And the yellow, when drawn on the red, stops the flow unless it is powered. That is all you have to work with! Did you ever take a class in “Digital Logic” where you sketched out designs for things like an an adder using simple gates, like NOT or AND or NOR? This game is like the ASSEMBLY LANGUAGE of that. You don’t even have a NOT gate. In fact, your first challenge is to make one! The levels ramp up in difficultly quite quickly from there, and many seem simply impossible at first. I’m now to the point in the game with timing glitches and space to lay out circuits is becoming an issue, and loving it. The last few levels are “Confidential” but I have high hopes given that in the levels leading up to them you implement a shift register, RAM, and a rudimentary ALU.

If I stop showing up to work for the next few days this game is the reason why.

(by the way: the author of the game seems to have neglected to point out one important fact: you hold down the shift key to toggle between paining the two types of silicon. this took me a while to figure out the first time.)

Date: March 13th, 2009
Category: Video Games


Date: February 19th, 2009
Category: Otherwhere

You’re doing it wrong

Sharena is making a mockery of the lion dance and eventually her great grandfather can’t take it any more.

Date: February 18th, 2009
Category: Otherwhere
1 msg

Taiwan updates

I’ve started to post a few pictures from Taiwan and also some shaaaaaky videos.

Remember this famous picture of Sharena from the first trip? I took an almost identical one of Mira this time around, and not even on purpose! For reference, here’s what Sharena looks like now.

Today we’re in Hualien and tomorrow we continue our bus ride around the country. The bus ride today was pretty long, but it was no problem because there was “entertainment”.

Date: February 16th, 2009
Category: Otherwhere

Got here

We have arrived in Taiwan and in typical Taiwanese fashion we found that Jenny’s relatives actually rented a TOUR BUS to pick us up from the airport. It brought us to her Uncle’s place (only saw one bing lang girl on the way) where every relative ever had gathered for food and drink. They finally let us go and now they’ve distributed us out to houses with spare rooms for sleeping. We have big plans to get up early tomorrow and get breakfast and check out the area, but I’m pretty sure we owe like 2 or 3 night’s sleep at this point so we’ll see what actually happens.

Tomorrow is a day of relative rest (other than the inevitable banquet-grade dinner) and then the next day we start a 5 day bus trip around the island, to some places we’ve been before, and some we haven’t.

Date: February 3rd, 2009
Category: Geekism

Sharp tools, and subverting the paradigm

This story of the recent technical happenings of Muxtape has three points that resonate with me:

  1. How to deal with tools that suck. (And what it means when a geek says something sucks.)
  2. How much better tools that don’t suck are!
  3. And the best part: how to change those tools, from suck to not suck, even when you aren’t “the boss”.
Date: January 31st, 2009
Category: Video Games

Judo chop!

Date: January 23rd, 2009
Category: Otherwhere

Taiwan + Palo Alto

We’ve got trips! And this time they’re for reals.

This weekend: Palo Alto! I’ve been casually talking to somebody out there for a while, and now that our conversations are getting more serious (O(lg n) and the like) we’ve decided to meet up in person and see where things lead.

End of February: Taiwan, again! This time with all of them, plus ALL their kids, which will definitely be either fun or “fun”. Hoping for mostly the former.

Date: January 11th, 2009
Category: Geekism


I’m having a hard time figuring out if this is an extremely advanced form of sarcasm, or if he’s actually serious.

Can the waterfall method be added to the list of things where the real thing cannot be distinguished from the parody?

Date: January 10th, 2009
Category: Video Games
2 msgs

Blasphemy. Madness!

You meet some interesting people playing Dr. Mario online…

Date: December 30th, 2008
Category: Video Games
1 msg

Fredrik Larsson’s “Wind Waker Unplugged”

I like to occasionally revisit how far fan-made versions of video game music have progressed. This, as far as I’m concerned, is as good as it gets as of 2008:

Here is an interview with him about this incredible video.

Date: December 29th, 2008
Category: Regular

Say it! SAY IT!!!

Date: September 13th, 2008
Category: Geekism
4 msgs

Good C++ training… really!

Remember how I was all “Is there available, on planet Earth, REALLY good C++ training?” The answer turns out to be YES! We (the place where I work) just finished a week of training provided by DevelopMentor, using materials created by Scott Meyers, and presented by Steve Dewhurst. It was absolutely excellent! I had recently been in a phase where there more I learned about C++ the less I liked it, but during the course I think I hit some sort of Tipping Point™ where I started to like it again. You can (and should) complain about a lot of things in C++, but no other language spans a greater range of the abstraction spectrum from the lofty and metaphysical down to gritty opcodes and registers.

Date: June 26th, 2008
Category: Regular

EXPIRED, Tired, Wired

Oh yeah, remember this one? Here’s an update:

WAY old and busted:



Probably by two years from now it’ll be a holographic phone that is projected directly on your retina or something.

Date: June 26th, 2008
Category: Geekism

What about unestablished entities? Or what if I’m established, but not an entity?

Here are two statements from ICANN’s announcement that they will be opening up registration of top-level domains:

“The potential here is huge. It represents a whole new way for people to express themselves on the Net,” said Dr Twomey.

Yay! I would love to be able to “express myself!” http://messy.78/ here we come!

There will be a limited application period where any established entity from anywhere in the world can submit an application that will go through an evaluation process.


Another thing I realized while reading this is that some day very soon “.com” will be passe… and then shortly afterwards extremely cool and retro.

Date: May 19th, 2008
Category: Otherwhere

What’s up with that?

Nice to see that ancient Chinese scholars had the same sense of humor as modern stand-up hacks:

Reading Laozi, by Bai Juyi

Those who speak do not know, those who know are silent,
I heard this saying from the old gentleman.
If the old gentleman was one who knew the way,
Why did he feel able to write five thousand words?

Date: April 9th, 2008
Category: Regular
3 msgs


I am dumbfounded. And they even have competition.

Date: March 9th, 2008
Category: Geekism

What is the output of date -d “”?

Answer: up until yesterday, it was the current date. But starting today, it is AN ERROR MESSAGE! Why? DAYLIGHT SAVINGS TIME!!! This wasted about 1 hour of my time today.

Date: February 7th, 2008
Category: Video Games
1 msg


I have determined the top two Street Fighter videos on the ENTIRE INTERNET, but I just can’t quite tell which is the absolute champion:


Date: January 30th, 2008
Category: Otherwhere

Taiwan 2008

We’ll be going back to Taiwan this year, in April! Highlights will be Jenny’s grandfather’s ∞th birthday (and other family type functions), a visit to Sandwich Lady, and going up to the top of the Taipei 101 while it still holds on to the “tallest” title. (The last time I saw the 101 it looked like this!)

Update: no we aren’t! more like TaiWRONG 2008!

Date: December 27th, 2007
Category: Geekism
11 msgs

Word count bookmarklet


This word count bookmarklet searches through the page you’re on, and attempts to report the word count of the selection. It will first look for the text selection, and if there is none, it will search for a textarea that has a selection. It should be working in Safari and Firefox, and possibly even IE and Opera.

Date: December 21st, 2007
Category: Geekism
4 msgs

Fun synonyms for “broken”

  • Brokeolated
  • Funktified
  • Borkonated
  • Screwzored
  • Bustacular
Date: December 19th, 2007
Category: Geekism

The weird thing is it’s not in the dictionary

OK, so you actually expect me to believe that ON THE SAME DAY we got actual evidence that Duke Nukem Forever is going to come out, like, ever, AND news that the next version of IE is going to pass the ACID2 web standards test? Just how gullible do you think I am? The next thing you’re gonna try and tell me is that a new version of Feed on Feeds has been released.

Date: December 13th, 2007
Category: Regular
1 msg


Do not, under any circumstances, click this link. And if you accidentally do, ABSOLUTELY DO NOT CROSS YOUR EYES.

(for more things you should never click on don’t click here)

Date: December 2nd, 2007
Category: Regular
1 msg

Everybody Loves Hypnotoad!

The new Futurama DVD has the best special feature of any DVD ever in the history of human achievement: an entire episode of Everybody Loves Hypnotoad!

And as if that wasn’t enough, there’s also a lecture on the math of Futurama by Dr. Sarah J. Greenwald. a2+b2=c2 ? THINK AGAIN!!!!!

Date: December 2nd, 2007
Category: Geekism
1 msg

The Legend of the Squishy MacBook

Great. I am now completely obsessed with the squishy left side of my MacBook.

Date: November 30th, 2007
Category: Regular
1 msg


Remember this? Scientists are now beginning to unlock the secrets of cockroach zombification:

Researchers have worked out the neurological trick used by a species of wasp to turn cockroaches into ‘zombie slaves’. The discovery explains why, once stung, cockroaches can be led by a much smaller master towards certain death. Researchers have proven their theory by replicating the effect, and by using an antidote injection to release the cockroaches from their zombie state.