• From EC2 To My Desk: Moving a Django Site (dtac.io) Home

    The last big cloud holdout I had was a Django site on an AWS EC2 box. You are reading this one, the Hugo site, from the same desk now - but dtac.io was the one that had an actual database in it. That made it the interesting one. This article is the record of dragging a real, stateful web application off a rented VM and onto the little cluster sitting next to my keyboard.

  • Welcome Home... To My Home - From Cloud To Self-Hosting

    It started with this website here. For years this site sat on an AWS EC2 instance, with S3 hosting some images. It cost around $4/mo so it wasn’t much. But I got to thinking about it. Within that year I could have paid for a little machine. With about 10X the power. Literally. And it was even more than that. It was remote, and static, and hard to update, which meant it was stale. As you can see by the posts it was very stale. Then we start expanding that math to the bigger sites I had. Then it hit me pretty hard. I’m just burning money.

  • How an AI Coding Agent Rebuilt This Site

    The bottom line

    This site was rebuilt by an AI coding agent, and this page is the part of that job most people do not see. Below is not just what happened. It is also the boring, nerdy underneath: what the model is, how the work is measured, what tokens, wall time, and effort actually mean, and why a human would even bother.

    That is the part an SEO crawler will eat up, and the part a curious engineer will actually enjoy.

  • Site Redesign: Out With the Bootstrap 3 Theme

    Site Redesign 2026

    TL;DR

    The site has a new visual theme. The old Bootstrap 3 “Beg” theme is retired (kept in the repo for rollback). The new one is hand-rolled, has light and dark color schemes, loads zero third-party assets, and every URL stayed exactly the same.

    Designer credit

    This redesign was designed and implemented by Kilo, an AI coding agent, working from a short design brief: “modern, clean, fast, mobile-first; a pragmatic engineer’s field notes and photo trips; typography over ornament.” The brief, the hard constraints (no URL changes, no content loss, keep the build plain Hugo), and the final approval were human. The theme code, the CSS, the verification, and this write-up’s factual content are the agent’s.

  • Hugo: A replacement for Wordpress

    Hugo: A Replacement for Wordpress

    TL;DR

    • I researched go
    • Found Hugo
    • Setup a test
    • Migrated my Wordpress instance
    • Launched DigitalOcean Droplet
    • Deployed

    Total time: 6 hours

    Continued:

    My problems started almost a year before I took up this cause. At the time I only had 2 Wordpress sites. Very very low traffic. Only a couple users a day. They were mostly place holders for business sites.

    Wordpress is hungry

    What was annoying about the case was that they would randomly carsh! I realized they were running out of memory. I couldn’t figure out why because I just wouldn’t let myself believe that a couple instances of Wordpress were enough to run out of memory. It was an AWS box running with .5GB of memory and some swap space. I can’t remember what. Maybe I was just too optimistic.