Here, you will find an overview of my interests and accomplishments.
I am a C++ programmer with over fifteen years of experience.
My programming philosophy is to focus on accuracy, simplicity, and performance; in that order. By accuracy, I refer to correctness, stability, and the absence of bugs. By simplicity, I refer to code size, consistency and readability. By performance, I refer to using statically-typed, compiled languages, and appropriate algorithms that scale well at all levels.
I find the general programming community to hold the exact oppsite ideals; often focusing on feature-creep and excess abstractions. Perhaps the best example of this would be the UI toolkit Qt, whose download weighs in at an astonishing 500MB - 1GB, depending upon your platform.
My philosophy and desire to learn often leads me to implement my own versions of countless libraries and software programs.
My most notable projects include:
- higan, a Nintendo multi-system emulator
- loki, a Super Famicom debugger
- libco, a cooperative threading library
- nall, a standard template library
- ruby, a cross-platform hardware abstraction layer
- hiro, a cross-platform UI toolkit
I have written an assembler, a high-level programming language, an HTTP server (in 25KiB), a ZIP/PNG decoder (in 16KiB), an image manipulation library, a delta-based patcher, a tile editor, and much more.
I enjoy reprogramming software for English-speaking audiences. The most notable that I have completed are Der Langrisser and Dragon Quest V, both for the Super Famicom. I intend to one day translate Tengai Makyou Zero and Bahamut Lagoon.
I am interested in the preservation of gaming software. Realizing that no others were willing to take on the mantle, I have collected, scanned and imaged every US Super Nintendo game ever released; and am currently working on doing the same for every Japanese Super Famicom game.
For legal reasons, I am limited to only releasing the SHA256 image sums and memory map information. For time reasons, I was only able to scan the boxes and cartridges, but not the manuals.
I have been studying the Japanese language for more than half of my life. I have invested thousands of hours in this pursuit. And yet despite this, my skills are insufficient to hold even a basic in-person conversation or to translate at more than a snails' pace.
Japanese is, to me, the ultimate challenge. There's something about it that is so deeply and fundamentally anathema to my way of thinking, that it is easily the most difficult goal I have ever attempted: and yet, the more I am defeated, the more I desire to overcome it. I suppose it is something of a negative feedback loop: the more time invested, the more it would be a waste to give up. I doubt I will ever succeed in mastering this language, but regardless of how reckless it is, I will surely die trying.
Like Japanese, this is another interest and yet nigh-insurmountable challenge of mine. I've always been an intellectual, with creativity eluding me. All the same, it's something I dedicate a small portion of my time to.