KP's Homepage

About Me

I'm a programmer and musician living in Tennessee. You might know me from the Ludum Dare community where I used to develop games. While I'm not a gamedev any longer, I still engage in related pursuits like graphics programming and low-level systems development, which I guess I'd consider my niche these days.

I'll be using this page to share some details about projects I've taken on and provide some insight into how I approach my work.

Professional career

Currently I make a living writing software for meteorological data analysis, i.e. visualizing the weather. It's been a fun way for me to take my knowledge of rendering engines from game development and apply it to something completely different.

NEXRAD software

Pictured above is a series of screenshots of my NEXRAD radar analysis software decoding and rendering Level II reflectivity data. The first two screenshots are 3D renders of an EF-3 tornado in New Orleans from February 2017.

Programming for fun

These are some less serious projects I've worked on throughout the years.

KP3D

KP3D Map Editor

At one point I committed the gamedev's cardinal sin of writing your own game engine. I called this engine KP3D and it was an attempt at seeing what it'd be like to implement the DooM engine using modern technology. I got the engine pretty much complete, then forgot to actually make a game with it. Oops!

I wrote all of it in C++17 using SDL2 and OpenGL. I also used Omar Cornut's Dear ImGui library for the editor.

SampleFinder

SampleFinder

In the hunt for a particular piece of lost media, I took it upon myself to write a better Shazam. It isn't complete, but it's able to perform fingerprinting and matching of audio via the user's own music library. It's loosely based on Will Drevo's DejaVu project, using the same techniques for fingerprinting but implemented in C++. I built it to scan whole libraries and provide a comprehensive list of matches, which Shazam doesn't do as of 2023.

Music

I also play the piano, electric bass and guitar. More recently I've gotten back into producing as well, uploading electronic music of questionable quality to either here or my SoundCloud under various aliases. Most of the games I've done programming on I've also made the music for.

Here's a couple tracks I made, both for game soundtracks:

Metablitz Mechanica — Track A
Project SGG — Cheese-chan's Theme

Other interests

Besides programming and music, I also dabble in competitive Super Smash Bros. Melee playing Yoshi. It's really fun and super accessible now thanks to the advent of Dolphin/FM and Slippi, so give it a shot if you haven't already!

In recent-ish years I've also taken an interest in 音MAD. It's an interesting little subculture worth checking out.

I'm also into cars, skateboarding, camping, hiking, and anything else that gets me away from a screen really.

Workflow

Programming

I've used a bunch of languages over the years, but C, C++, JavaScript and Perl are the ones I find myself using the most. I don't have a particular favorite.

GNU Emacs is my favorite text editor. For larger projects I'll typically use an IDE like CLion or Visual Studio, the latter I'd really like to abandon someday. CLion is particularly cool because it's the only IDE I've ever used that's managed to almost perfectly emulate Emacs' keybindings.

Music

I like FL Studio. I've tried to use other DAWs in the past, but I feel like if you find a workflow that works well for you, stick with it and save your time :)

I have some hardware as well. I use a Behringer DeepMind 12 as a nice all-rounder synth as well as a TD-3 and MPC One. I don't see myself buying much more of these in the future though. Plugins and samples can really do just about anything you want.

Graphics

Paint.NET just werks <3

My website

You'll notice the place looks a bit old—it's intentionally designed to evoke the charm of an older, simpler, more personalized web. I believe in bringing back that cool factor and uniqueness to the internet.

To that end, here's an old-skool 88x31 button you can slap on your site (and if you don't have one, make one):

kpworld.xyz button

If you're into this kind of thing, check out my curated list of other sites I like.

Bonus: my cat

Last updated June 23rd, 2023 at 11:15 PM CST