Kristopher Ives Cynical Ramblings of a Programmer

Diablo II Save File Format

I made a tool called diablohud for streamers of Diablo II. In the process I had to piece together parts of documentation on the .d2s file format. From this I made the d2s-format specification to help anyone else interested.

Originally I found GoMule but after reading the source they had some pretty nasty hacks to get around parts of the file they didn’t understand. In particular I saw that they read item data they did understand and then scanned for the next JM header. Looking around at the various .txt files released in the MPQ of the game files I saw how they were connected and made a parser for that data.

The .d2s format requires working with data that isn’t byte aligned, and because of this I had to roll a BitBuffer class that I will also be separating into a standalone library anyone is free to use.

jbloomer 1.0.0

I wrote a simple bloom filter library called jbloomer under a BSD-like license that anyone is welcome to use. You can grab a JAR or just use the single file.

Ethereum & DAO

Some of you may have asked why I was involved in the go-ethereum issue. This was a joke about how anyone who has lost coins should get their own default soft fork command line flag. From what I read from their release it would appear they switched it to --dao-soft-fork making instead of making it default.

Assuming these forks go through I don’t know how much anyone can trust Ethereum to not change the outcome of smart contracts. I think it’s going to be a hard hit to the main selling point of a decentralized contract enforcement platform.

Hello World

New blog for Github