My Blog

And this is my blog. When I do occasionally get off of my ass to write something, it's typically very technical and related to something that I've been working on. I have a basic tagging system, but haven't been bothered to write any sort of statistical rankings, so here's a few cherry-picked ones: tutorial, writeup, programming, and security.

If you use a feed reader, there's an RSS stream available here.

Replacing Anki With org-drill

Posted on Fri, 13 Jul 2018.

Recently, I read Michael Nielsen's essay, "Augmenting Cognition". It talks about some very interesting use cases for the spaced repetition software "Anki" that made me want to try it out again. I'm familiar with Anki, as I used it extensively throughout my last year of high school to study for AP exams. At the time, Anki's "ki... (read on)

First Impressions of the Rust Programming Language

Posted on Fri, 8 Jun 2018.

C is almost 50 years old, and C++ is almost 40 years old. While age is usually indicative of mature implementations with decades of optimization under their belts, it also means that the language's feature set is mostly devoid of modern advancements in programming language design. For that reason, you see a great deal of encouragement nowadays to move to newer languages - they're... (read on)

Installing Gentoo: One Month Later

Posted on Mon, 28 May 2018.

It seems that the general consensus on "distro hopping," the act of constantly switching between distributions of GNU/Linux, is that it's a bad habit that should be consciously avoided. If you do a search for the term, you'll get articles with titles along the lines of "How I Stopped Distro Hopping." But it's also a term that gets thrown around loosely, and I think that that "dis... (read on)

Decompilation By Hand

Posted on Thu, 1 Mar 2018.

My capture-the-flag team played in the Insomni'hack teaser this year. During the competition, I worked on a single challenge titled "sapeloshop." It was labeled as "Medium-Hard," and it was in the binary exploitation category. The source code for the server wasn't provided, so reverse engineering was necessary. I don't think that having to reverse the binary was supposed to be th... (read on)

Duke on FluidSynth

Posted on Sat, 13 Jan 2018.

My first experiences with Duke Nukem 3D were with EDuke32 ages ago. This was back when I was running Windows Vista, and while my memory is a bit lacking, I swear that I had working music then. Ever since I made the switch to Linux, I haven't had working music playback in EDuke. Frustrated at the fact that my past few years of Duke 3D have been devoid of all sound besides the scre... (read on)

Bad BEHAVIOR

Posted on Thu, 4 Jan 2018.

TL;DR, I discovered a stack-smashing vulnerability in GZDoom's interpreter for ACS. As a preface, there's a tendency for whitepapers like this in the security community to be written with a somewhat condescending tone towards the product's vendor. I do not mean for any portion of this writeup to come off as degrading to the developers involved. Yes, the bug was obvious to me<... (read on)