The Legend of #155

*tap* *tap*

Is this thing still on?

It's been a while. Over two years, to be precise. Which, coincidentally, happens to be about the age of the oldest open ticket on my issue tracker for my freelance client. But don't let that fool you: this particular thorn in my side has existed effectively since the day I started with them, way back in 2016. This is the story of issue #155.

Some Background

The client in question operates a heavily customized Minecraft server network. When I first started with them, my role was to migrate the existing software suite from the Bukkit API (a modified version of…

On Net Neutrality

Note: This brief essay was submitted as an FCC filing in correspondence with proceeding 17-108 "Restoring Internet Freedom."

The Internet exists in our current day as an open platform for information on which any given entity may publish content for consumption. This is the state in which it was initially realized, and the principle on which it has operated in the decades since. The compromise of net neutrality would effectively destroy this facet of the platform, allowing content to be prioritized or deprioritized (or even blocked entirely!) in the name of the bottom line. Internet service…

Auto-Update Woes

Certain users of my projects TTT and Steel may have noticed that the third-party auto-updater used by both of them recently broke. Ordinarily, this updater works by checking CurseForge for any updated releases, and if any are found, downloading them and replacing their own JARs with the newly downloaded files. However, a relatively recent change to the ServerMods API caused the updater to malfunction, downloading invalid artifacts and effectively deleting its respective plugin.

So what happened?

The ServerMods API is a REST service provided by Curse which essentially returns all available…

On Discontinuing Pore

Well, we're officially killing Pore. We had fun developing it over the past year and a half(!), but unfortunately we believe it's no longer worth the effort to continue work on it. I'll highlight our main reasons for this conclusion below.

There Are Only Two of Us

Since its inception, Pore has been developed almost exclusively by myself and Minecrell. It's a fairly large project, and building it with a two-person team is very difficult and requires a great deal of effort. Additionally, we have lives and academics/other projects that prevent us from dedicating a sufficient amount of time to…

The Case of the Missing Constant Structures

I ran into an interesting bug today when messing around with Beret, my WIP attempt at a Java decompiler. For some reason, it would fail to read certain class files, in which it would encounter an invalid constant pool entry and crash, unable to proceed. Upon further investigation I found that it was actually reading into the next structure of the class file (the access flags) in an attempt to parse them as constant structures, and would freak out when it didn't recognize the data. Without much effort I discovered it was inexplicably discovering two fewer structures in the table than indicated…

« Page 1/2 »