Tech Babble | the random musings of a techie

About Me

I'm amazingant. Depending on when you check, my Twitter bio typically includes complaints about programming, video games, or watching Pokémon. Regardless of what it says, it's likely to be accurate.

During weekdays I write code for my employer, which often involves dealing with or working around third-party tools. When time permits, I spend time contributing to some open-source projects that I like and use frequently. Most of the time I'm given fairly free reign over what I'm working on, so long as Big Feature gets finished and deployed in time. This freedom means I do spend some of my employer's time working on things that don't benefit my employer at all, but it generally means that I spend a lot of time building or investigating new tools that help me finish Big Feature much faster.

At home, when I can find the motivation to do so, I work on personal code frequently. I have a short list of video game series I like to play, although I don't have loads of time to spend gaming. More recently I've found myself doing minor carpentry and other odd things around the house.

When I spend free time on code, I love to poke at various levels of the "stack" that I work with; I've dabbled in various things ranging from writing executables in a hex-editor up to high-level languages like Haskell. In case you're wondering, the hex-editor thing isn't a joke; I have a 3-ring binder with x86 opcodes and their assembly mnemonics just so I could do that. I've written readers for binary formats like BMP and PNG images, defined my own formats for things, and implemented my own communications protocol; I seem to enjoy trying to squeeze information into smaller formats without relying on compression. For kicks, I've even written my own (rather un-finished) scripting language!

I also love advanced typing systems that provide things like algebraic data types; I could do without product types, but F#'s support for sum types has made my life at work far easier. I also tend to prefer static typing, but I do like some of the benefits of dynamic typing.

I'm sure there's more to be said about me, but if I keep going, I'm likely to just start rambling on about programming. So there you have it, some info about me!