• Home
  • Portfolio
  • Blog
  • Home
  • Portfolio
  • Blog

Blog Posts

  • Changing Primary Keys in Django

    The primary key field in a database table isn't meant to change, so what happens when your database has a midlife crisis?

  • 11ty Excerpts and You

    So you've got some Really Radical Content(tm) and you want to show a bit of ankle in 11ty. That's all fine and dandy but it turns out that this can be a little trickier than you may think at first blush.

  • Zero to Sixty in 14 Seconds

    In school we're taught about database normalization and the dream of third normal form - the platonic ideal of the database. When starting a new project I think we all strive for a clean, cohesive schema. At some point, however, changes must be made. I agonize over these changes. I work hard to keep my database clean, but I'm slowly gathering that I'm better off just... not.

  • Streaming Video Over LAN with FFMPEG

    I’ve been offline for a while and I figured it’s probably time to check back in with something completely different. This may not be my usual shtick, but I’m super happy I had the opportunity to do this, and I wanted to share a bit about it. Without further ado, this is “Streaming Video Over LAN with FFMPEG”. (Alternatively, “Spying on Your Friends.”)

  • Puttsy - A Post-Mortem

    In this post I’ll explain the timeline for Puttsy as well as some reflections on my performance during this Ludum Dare. Let’s dive in!

  • Platformer Pathfinding with Pre-Recorded Inputs

    AI has never been my strong suit. I enjoy thinking about it from a design perspective, but actually programming pathfinding and state machines always tends to feel like a chore. It's never my first pick, unless I'm feeling masochistic. Recently, however, I started working on the most ambitious AI I've tried to program to date, and (much to my surprise) it's coming along quite well.

  • Automating Tasks with Batch

    Most people who know me know that I love automation. Taking simple, repetitive, horrible tasks and writing out little scripts to do them for me. Actually, I even went so far as to buy a little water pump and an Arduino a while back and set up an automated watering system for my cactus. This type of stuff is strangely cathartic, and today I had the good fortune of coming across a task that screamed “automate me”.

  • Making a Local Multiplayer Lobby

    Today I finished a two day long push to get a local multiplayer lobby set up, and I wanted to talk a bit about how I did it and the system I used. Who knows, maybe someone out there will find it useful.

  • MemErr - A Post-Mortem

    Of all the games I’ve made for game jams, MemErr flew closest to the sun. I really felt the time constraints this time around, as the development process was cut short by other plans. Asylum Jam also put me well outside my comfort zone (I never quite subscribed to the horror genre). Despite all of this, I feel that I came away from it with a relatively complete game and a few new tools tucked away.