NHaD 200 Turns

I like to do a project every fall. This year, I tied together a lot of threads I had been thinking about, and with help from Paul and Will, launched the Nethack-a-Day site.

The idea was to take one action or turn a day, and see how things played out. To keep things interesting, Paul signed up to write some creative 'flavor' text along with the game turns.

Now, exactly six months later, we've reached 200 game turns. Progress has been even slower than I imagined. Cody, our hero, has only explored five rooms, and is still on the first floor of the dungeon.

Cody's Movement Direction for the first 200 Turns

Cody's Movement Direction for the first 200 Turns

We don't have a huge following, but that's really not the point, and those who have taken an interest seem to enjoy what we're doing.

Keith Crescenzi joked that it would take a long time to finish a game. I ran the numbers. NetHackWiki calls an ascension that takes less than 20k turns a 'speed ascension', and I'd consider a typical run to fall in the 60k turns range. While I expect that over time, the turn-to-day ratio will get higher, the numbers are daunting:

Time-to-Ascend based on info from NetHackWiki (and current turn per day ratio)

Time-to-Ascend based on info from NetHackWiki (and current turn per day ratio)

This has gotten me thinking a lot more about the hardware I'm using to run the NetHack games.

I did not set the game up initially on a VM or take other steps to make it easier to continue this work for 50 years or more. It seems like NetHack savegames are not directly portable between machines; I'm going to have to do some more research into this to see what is possible.

Through these 200 turns, I've written around 4,000 words in service of the tip files, and Paul has written roughly 8,000 words of story.

So far, so good.

Music Hack Day Boston Interviews

This year, Zoe joined me for the first half of Music Hack Day Boston.

We had a lot of fun. One of the things she wanted to do at the event was practice her interviewing skills.

Zoe interviews Echo Nest staff at Music Hack Day Boston

Zoe interviews Echo Nest staff at Music Hack Day Boston

She had a great time speaking with the hackers, and everyone was very patient and friendly.

Here is the edited-down audio from this recording session.

Monospace in iOS Safari

Back in 2008, Dr. Drang wrote about how Monospace Characters in iOS were not actually monospaced. The situation has improved since then.

Today, drawing the same characters in a <pre> or <code> block works just fine.

Screenshot from iOS 7.0.4 Safari

...with an important exception. Using certain unicode "line drawing" characters in a <pre> or <code> block still, maddeningly, does not appear to be monospaced.

Here's an example of line drawing, which should look good on a desktop browser:


When I previewed my line drawings on iOS, I couldn't get them to look right.

After searching the web I did find a little help.

Courier New appears to do a much better job of handling extended characters, and by explicitly requesting "Courier New" in your stylesheet, your text will render correctly. Here's a demonstration:

Screenshot from iOS 7.0.4 Safari

HTML for the above page is on Github.

If you are having trouble with extended characters rendering as monospaced in a <pre> or <code> block, make sure you are using "Courier New" rather than Courier.


We had an unexpected visitor in our backyard this evening. I was walking out to check the mail and heard a screech and saw the flutter of wings.

I popped inside the house to get Z and we started breaking through the snow in the backyard, looking up in the trees. We were both startled to see a large hawk, almost within arms reach of us!

We admired the bird for a while, and then I sent Z in to get a coat and grabbed my camera. Happily, the bird decided to hang around for a bit longer (although on a higher branch).

The photos aren't amazing, but I did get a few passable ones - mostly from the same angle, so I'll spare you the repetition. The hawk had 'treed' a few squirrels in an adjacent pine. They were making crying noises, and understandably, were both scared witless.

The bird eventually got bored of my picture taking and decided to fly away, squirrel-less.

Christmas App

Last year, Jim and I used the Rovi Data API to build an app that lists all Christmas albums in the AMG database.

Songs (by frequency on Albums)

I put a fresh coat of paint on the site and re-launched it at christmas.cloudapp.net. The site was only up in December 2012. Now that the holidays are over, I have pulled it down. As usual, the site was built on Python/Flask, but this time I used an Azure VM as the host.

Most Prolific Artists (Ranked by # of Tracks on Albums)

It allows you to sort the most popular songs, most prolific artists, and find songs by genre or subgenre (there are 25 Polka albums, and 33 Disco records - don't miss Christmas In The Stars.

The images above are some tag clouds I built from the data - made with the excellent Wordle. I did the design/styling on the actual site. It's... less polished. Keep an eye open for the site next year during the holidays!


Music Hack Day Boston 2012 Project with Jim Fingal.

We built a Brick Breaker game that generates a brick pattern from any song. When you break a brick it plays the corresponding portion of the song.

Apologies to anyone who tried to download the file and got a "classic environment" error - the executable we uploaded to github was corrupted. It should work now on Lion/Mountain Lion. You can download directly here. You may still need to manually right click and select 'open' since the code is unsigned.

ECHOBREAKOUT was built using The EchoNest Remix Library and The Löve2d framework.

Default music for the application was provided by the Free Music Archive, specifically, Trouba by Steve Gunn from the album Soundeyet, Latin Jeta by Los Sundayers from the album Eterno Domingo, and Monster on Campus by Halloween from the album S/T. All distributed under Creative Commons BY-NC-SA.



Brick me, Maybe? 
Brick me, Maybe? 
The font is "Press Start 2P".

The font is "Press Start 2P".