Adventures in Optimization

This weekend I thought it would be a good idea to run the Eressea server both with and without optimizations enabled and compare the output. In theory, I thought, optimization should not change the results, and different results would hint at bugs like uninitialized variables or illegal memory access.

Needless to say, the output wasn’t the same. It was slightly different, and it looked like a small error snowballing towards the end. I’ll spare you the tale of a day trying to narrow down the exact location, and cut right to the chase:
Continue reading

Eressea: text vs. binary data files

I’m posting about this because I like talking about code and nobody is on IRC. If you don’t like code, you may want to skip this. Also, none of this is rocket science, but it was a nice exercise.

Traditionally, the data files in Eressea have been text files. You know the kind where you’re doing a lot of fprintf and fscanf everywhere in the code. There are usually two advantages associated with that: small integers take up less space (2-3 bytes instead of 4), and when something goes terribly wrong, you can edit the data with vi.

The latter had long been a mixed blessing, with edits occasionally doing more harm than good, and since the introduction of a shell and script access to all the game data, it’s not really been necessary. Which left three reasons not to switch: Slight space improvements, the amount of work to change over to something else, and backward compatibility. However, I had some time on my hands recently and decided to tackle all of those issues.
Continue reading

the sixtyone – a music adventure

I recently discovered the sixtyone, a webpage that’s sort of a game to discover music. You gain points for certain activities on the site (like listening to new music), and you can spend them to bump songs you enjoy. If a song you bumped gets bumped by more people afterwards, you gain more points – so predicting good music makes you level faster. Fun idea. But the best part of it: You get some really good music.

Try the sixtyone. And when you’re there, check out ugress 🙂

Standby problems figured out

My new computer would not go into standby for more than a second. I turned off all the wake-on-LAN options in the BIOS, still no luck. Then I had a look at the device manager: The entry for my network card has extra power management settings that override the BIOS ones: Turn those off as well.

Now the computer went to sleep, but the fans continued to run. Not good. More poking around in the device manager finds a power tab on the keyboard and mouse: Turn off the option to let those devices wake the computer from standby, and voila! the fans stop. Now the only way to wake it up is the power button, but that’s fair enough.

Why did this have to be so hard?

Linkage Ate

Posing as a ten-year-old, this guy wrote letters to serial killers and has published the replies. This band from Manchester used CCTV camera and the Data Protection Act to record their video. In the past nine years, the number of government-tapped mobile phones in Germany has risen from 6,391 to a whopping 39,200. Chronotron is a super addictive puzzle game with a really cool premise: Travel in time and help yourself. And last but not least, here’s a coffee table we all wish we had.

Oslo or Bust!

I spent the long weekend moving my base of operations to Oslo. Anke came along and we went on a road trip through Germany, Denmark and Norway.

Summer in the City Oslo or Bust! Oslo or Bust! Oslo or Bust! Oslo or Bust!

Everything went really well.