<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Aaron Sumner</title>
  <link href="/feed.xml" rel="self"/>
  <link href=""/>
  <updated>2026-01-04T22:02:22+00:00</updated>
  <id>/feed.xml</id>
  <author>
    <name>Aaron Sumner</name>
  </author>

  
    <entry>
      <title>January 2026 updates: New shops and projects abound!</title>
      <link href="/posts/2026/01/updates-jan-2026"/>
      <updated>2026-01-04T00:00:00+00:00</updated>
      <id>/posts/2026/01/updates-jan-2026</id>
      <content type="html">&lt;p&gt;&lt;img src=&quot;/assets/images/content/petrified-forest-np.webp&quot; alt=&quot;Petrified Forest National Park in Arizona, USA&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Hi friends, I am back in Saint Louis after nearly two months in California. I got to visit Petroglyphs National Monument and Petrified Forest National Park on the way out, and White Sands National Park coming back. All are amazing, and I hope you have a chance to see them yourself. (Yes, I took lots of photos—read on for more!)&lt;/p&gt;

&lt;p&gt;It’s nice to get back to my own bed and my own kitchen and my walkable neighborhood—now with a new taco place nearby, even! Perhaps as a result, I’ve had a burst of creative energy over the past couple of days, and channeled it into a few fun things I want to share.&lt;/p&gt;

&lt;h2 id=&quot;new-online-shop-for-low-overhead-woodworking&quot;&gt;New online shop for Low Overhead woodworking&lt;/h2&gt;

&lt;p&gt;In late 2024 I made wooden owl ornaments from scrap lumber and leftover paint samples. To my surprise, I sold a bunch of them! So I did what a lot of people do and set up a little Etsy store to make them available online. Etsy is okay, but I don’t think I’m getting my money’s worth from them. So I’m trying something new, and now &lt;strong&gt;&lt;a href=&quot;https://ko-fi.com/lowoverhead&quot;&gt;Low Overhead woodworking is on Ko-fi&lt;/a&gt;&lt;/strong&gt;! I have a couple of items left to add, and after that I’ll close shop on Etsy.&lt;/p&gt;

&lt;p&gt;I really want to get my little workshop back in order this month, and back to building. There’s never a shortage of projects at home, which means plenty of little scraps for future items. I may also set up for small commissioned projects, if you’re looking for a customized owl or something. Stay tuned!&lt;/p&gt;

&lt;h2 id=&quot;bandageman-tip-jar-and-stickers&quot;&gt;Bandageman tip jar (and stickers!)&lt;/h2&gt;

&lt;p&gt;I had a ton of fun last year learning game development with Pico-8. I released three little games through &lt;a href=&quot;https://bandageman.com&quot;&gt;Bandageman Studios&lt;/a&gt;, my just-for-laughs video game development shop. The games are free to play! But &lt;strong&gt;if you’d like to leave a tip, or even buy a sticker, &lt;a href=&quot;https://ko-fi.com/bandageman&quot;&gt;Bandageman is also on Ko-fi&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The stickers are really nice! I ordered them from &lt;a href=&quot;https://stickerninja.com&quot;&gt;Sticker Ninja&lt;/a&gt;, and highly recommend them the next time you need stickers for whatever it is you need stickers for. I eventually want to get some made for all the characters in the BCU (Bandageman Cinematic Universe, natch).&lt;/p&gt;

&lt;p&gt;Meanwhile, I have a couple of game ideas noodling in my head, and have started sharing work-in-progress screenshots on Ko-fi. Maybe even early access?&lt;/p&gt;

&lt;h2 id=&quot;work-in-progress-gallies&quot;&gt;Work-in-progress: Gallies&lt;/h2&gt;

&lt;p&gt;Since bailing on Instagram for ethical reasons, I’ve missed having an outlet for sharing photos with family and friends. Pixelfed isn’t great for photo dumps, at least not in its current state. So I built my own thing. &lt;strong&gt;I’ve uploaded &lt;a href=&quot;https://gallies.netlify.app&quot;&gt;several photo galleries&lt;/a&gt;&lt;/strong&gt; from recent travels and music to my new site, Gallies.&lt;/p&gt;

&lt;p&gt;Apologies that they don’t yet have alt text, and navigation is a little weird—I have a list of things to improve upon, and am using this as an opportunity to learn more about AstroJS and (later) Svelte. I’ll make the software open source eventually, too.&lt;/p&gt;

&lt;h2 id=&quot;thats-all-for-now&quot;&gt;That’s all for now&lt;/h2&gt;

&lt;p&gt;Thanks for making it to the end. I’m hoping to get back into the habit of a monthly-ish update here. See you next time!&lt;/p&gt;
</content>
      <author>
        <name>Aaron Sumner</name>
      </author>
    </entry>
  
    <entry>
      <title>New game from Bandageman Studios: Some People Call Him the Space Cowboy</title>
      <link href="/posts/2025/12/space-cowboy-pico8-announcement"/>
      <updated>2025-12-16T00:00:00+00:00</updated>
      <id>/posts/2025/12/space-cowboy-pico8-announcement</id>
      <content type="html">&lt;p&gt;Hello! I’m happy to share I’ve released a new Pico-8 game called &lt;strong&gt;Some People Call Him the Space Cowboy&lt;/strong&gt;. You can check it out and play for free at &lt;a href=&quot;https://bandageman.com/space-cowboy/&quot;&gt;Bandageman Studios&lt;/a&gt;, or on the &lt;a href=&quot;https://www.lexaloffle.com/bbs/?tid=153452&quot;&gt;Lexalaffle BBS&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bandageman.com/space-cowboy/space-cowboy.gif&quot; alt=&quot;Animated GIF of Some People Call Him the Space Cowboy, a retro-style video game where the player shoots at waves upon waves of silly space squid.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I started working on this game last summer. It began with a pixel sketching session, wherein I noodled a little cowboy character. A few minutes later he had a body, and a few minutes after that I decided he should be the Space Cowboy (with a reverent nod in homage to &lt;a href=&quot;https://www.youtube.com/watch?v=dV3AziKTBUo&amp;amp;list=RDdV3AziKTBUo&amp;amp;start_radio=1&quot;&gt;Steve Miller&lt;/a&gt;). The rest evolved from there.&lt;/p&gt;

&lt;p&gt;My first draft was pretty buggy. I kept the sprites but otherwise started fresh after watching the fantastic &lt;a href=&quot;https://www.youtube.com/playlist?list=PLea8cjCua_P3Sfq4XJqNVbd1vsWnh7LZd&quot;&gt;Lazy Devs Shmup Tutorial&lt;/a&gt;. What I’m sharing now is so, so much better than what I had just a few months ago! It’s still not perfect, and there are things I still want to add at some point.&lt;/p&gt;

&lt;p&gt;But perfect is the enemy of good, as they say, and I felt a strong need to just get this out in the world and let perfect simmer in the back of my brain while I work on other things.&lt;/p&gt;

&lt;p&gt;Anyway, it’s a &lt;strong&gt;free-as-in-no-really-it’s-free&lt;/strong&gt; thing that’s out in the world and I hope it gives you a few minutes of amusement. Bonus points if it inspires you to put something fun out there, yourself. Go forth and speak of the pompatus of love.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some People Call Him the Space Cowboy&lt;/strong&gt; is available at &lt;a href=&quot;https://bandageman.com/space-cowboy/&quot;&gt;Bandageman Studios&lt;/a&gt;, or on the &lt;a href=&quot;https://www.lexaloffle.com/bbs/?tid=153452&quot;&gt;Lexalaffle BBS&lt;/a&gt;. And have I mentioned it is free.&lt;/p&gt;
</content>
      <author>
        <name>Aaron Sumner</name>
      </author>
    </entry>
  
    <entry>
      <title>Announcing Bandageman Studios, my extremely serious take on video game development</title>
      <link href="/posts/2025/10/bandageman-games"/>
      <updated>2025-10-26T00:00:00+00:00</updated>
      <id>/posts/2025/10/bandageman-games</id>
      <content type="html">&lt;p&gt;Hello! I am very excited to share my latest source of amusement. For the past
several months, I’ve been learning video game development for fun, and you can
see my first air-quote published works at &lt;strong&gt;&lt;a href=&quot;https://bandageman.com&quot;&gt;Bandageman
Studios&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Need to be convinced to click a link? In this economy? I get it, man. Here’s
what you’ll get for your effort–all for the low, low cost of free:&lt;/p&gt;

&lt;h2 id=&quot;dream-ghoul&quot;&gt;Dream Ghoul&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://bandageman.com/dream-ghoul/dream-ghoul.gif&quot; alt=&quot;Animated GIF of Dream Ghoul, a dark, spooky, but sweet retro-style video game.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://bandageman.com/dream-ghoul&quot;&gt;Dream Ghoul&lt;/a&gt;&lt;/strong&gt; is a small, silly game I
made my for wife for her favorite time of year. Find the keys, grab the hearts,
and meet your dream ghoul! Just move around with your arrow keys and try not to
bump into things. (Or &lt;em&gt;do&lt;/em&gt; bump into things; it’s funny to watch!)&lt;/p&gt;

&lt;h2 id=&quot;lt-dans-dream-run&quot;&gt;Lt. Dan’s Dream Run&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://bandageman.com/dans-dream-run/dans-dream-run.gif&quot; alt=&quot;Animated GIF of Lt. Dan&apos;s Dream Run, a retro-style video game featuring a dog chasing after snacks.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Have you ever wondered what your dog dreams about? I’m pretty sure my dog, Lt.
Dan, dreams of running through fields and gobbling all the snacks. In &lt;strong&gt;&lt;a href=&quot;https://bandageman.com/dans-dream-run/&quot;&gt;Lt.
Dan’s Dream Run&lt;/a&gt;&lt;/strong&gt;, you get to help Lt.
Dan (yes, that is his real name, and yes, he has magic legs) through his dream.
Use the arrow keys to move around and eat the treats before they leave the
screen. Level up every ten devoured snacks!&lt;/p&gt;

&lt;h2 id=&quot;powered-by-pico-8&quot;&gt;Powered by Pico-8&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://www.lexaloffle.com/pico-8.php&quot;&gt;Pico-8&lt;/a&gt;&lt;/strong&gt; is the delightful little
“fantasy console” behind Bandageman’s games. It’s been around for more than ten
years, and I think it crossed my radar when it was new. But I didn’t get to it
until this past late spring, when it should’ve stopped raining so much but
hadn’t, and I felt cooped up and annoyed. It’s been a blast to write software
that has absolutely nothing to do with any day job I’ve ever had, and a fun new
creative outlet.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.lexaloffle.com/bbs/?uid=127970&quot;&gt;Bandageman has a profile on the Lexaloffle
BBS&lt;/a&gt;, and you can play my games
there or via &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SPLORE&lt;/code&gt; if you’ve got a Pico-8 license. (No, Pico-8 is not
free–but it’s the best twenty bucks I’ve spent in some time.)&lt;/p&gt;

&lt;p&gt;I’m planning to do a writeup on my feelings about Pico-8 as a software developer
over on my soon-to-be-rebranded development blog soon. The short version–it’s
been so fun to create very real things that I can share with very real people,
while still being restricted to rather harsh constraints. No, the next Zelda
game won’t come from Pico-8–but it’s still fun to try.&lt;/p&gt;
</content>
      <author>
        <name>Aaron Sumner</name>
      </author>
    </entry>
  
    <entry>
      <title>What I&apos;m up to (September 2025)</title>
      <link href="/posts/2025/09/update-september-2025"/>
      <updated>2025-09-07T00:00:00+00:00</updated>
      <id>/posts/2025/09/update-september-2025</id>
      <content type="html">&lt;p&gt;&lt;img src=&quot;/assets/images/content/morning-sky-20250831.jpg&quot; alt=&quot;Late summer morning sky in St. Louis, MO. Pink clouds over an old brick building.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Boy oh boy, &lt;a href=&quot;/posts/2025/03/what-im-up-to-march-2025&quot;&gt;I was pretty ambitious in March&lt;/a&gt;. Fast forward to now. Summer was a wash. Here in St. Louis, it rained most of June, and started feeling like fall by mid-August. I &lt;em&gt;love&lt;/em&gt; summer. I love the heat and even some humidity. Maybe we’ll get a little last gasp of the season in the next few weeks?&lt;/p&gt;

&lt;p&gt;Anyway, I didn’t get as much done as I thought I would this time-ish last spring. But let’s not dwell on that. Let’s talk about now. Here are a lot more words than I planned on writing.&lt;/p&gt;

&lt;h2 id=&quot;rspec-book-updates-almost-done-for-real&quot;&gt;RSpec book updates almost done, for real!&lt;/h2&gt;

&lt;p&gt;I think I’ve mentioned that the updates to &lt;em&gt;&lt;a href=&quot;https://leanpub.com/everydayrailsrspec/&quot;&gt;Everyday Rails Testing with RSpec&lt;/a&gt;&lt;/em&gt; that I announced more than a year ago wound up being much more of an overhaul than I expected. Like, it’s pretty much a whole new book. So I’ve blown through all my self-defined deadlines. The good news: I am almost done. I’m working on the last chapter now, and should have it out the door soon.&lt;/p&gt;

&lt;p&gt;The other good news–yes, I know Rails 8.1’s first beta just dropped. And I know I missed 7.2 and 8.0 entirely (2024 was a busy year for Rails). But part of the overhaul was to structure the book and the sample application accompanying it to be less burdensome to keep up-to-date. Not easy, but also not as much of a drudge that I resent it. So, hopefully, that means I’ll have the 8.1 edition out the door by end-of-year. From there I still hope to ship an update annually, as long as there’s demand.&lt;/p&gt;

&lt;h2 id=&quot;thinking-about-context-engineering&quot;&gt;Thinking about: context engineering&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; I know there are a lot of feelings about using LLMs and agents in general, and for software engineering in particular. Below is a small summation of my experience to date. I have a fuck ton of concerns, too, but am not interested in getting into a debate about this. If you don’t like a tool, don’t use it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I’m still pragmatically bullish on agent-assisted software development (or, pair-coding with an AI). At work, my team maintains nearly fifty discrete software systems and associated libraries. Keeping them all in our brains has never been realistic. AI agents are changing that–but with great power, yada yada.&lt;/p&gt;

&lt;p&gt;This year I’ve been using agents (first &lt;a href=&quot;https://aider.chat&quot;&gt;Aider&lt;/a&gt;; currently &lt;a href=&quot;https://github.com/charmbracelet/crush&quot;&gt;Crush&lt;/a&gt;) to build long-lost &lt;em&gt;context&lt;/em&gt; to systems that are old enough to vote, have test suites that stopped working more than a decade ago, and lack documentation. Systems that were someone’s idea late on a Friday, and in production the following Monday–and that someone hasn’t been with the company in more than a decade. Agents have gotten &lt;em&gt;really good&lt;/em&gt; at examining an entire system and building some starter context, from which I can glean additional context and insight through dialog with the agent, along with diagrams! Projects that even a year ago were insurmountable are now wrapped in weeks.&lt;/p&gt;

&lt;p&gt;But here’s the rub: I’ve felt emboldened to take bigger swings, which usually means bigger diffs for my fellow human team members and me to review. So I’ve been working to get better at, for lack of a better term, &lt;em&gt;mindful vibe coding&lt;/em&gt;. Or if that’s too woo-woo for you, then &lt;em&gt;thoughtful&lt;/em&gt;. Or &lt;em&gt;Golden Rule&lt;/em&gt;. And it starts with a buzz term that’s picked up steam over the summer: Context engineering.&lt;/p&gt;

&lt;p&gt;It’s great to tackle larger projects, but don’t get lazy. Build that context up-front. Don’t start writing production-bound code until you, the human, &lt;em&gt;actually understand the problem you’re trying to solve&lt;/em&gt;. Ask questions. Critique the answers. Refine, refine, refine.&lt;/p&gt;

&lt;p&gt;Then, break it up into chunks. Work on a chunk, make sure it’s reasonably solid, then move on to the next. This results in a change (and corresponding request for code review) that’s much more humane–and less likely to sneak bugs into production. I know “be the human in the loop” has become trite, but &lt;em&gt;be the damn human in the damn loop&lt;/em&gt; for the sake of your team and the long-term viability of your work.&lt;/p&gt;

&lt;p&gt;Jake Nations has written my favorite article on context engineering so far, &lt;a href=&quot;https://www.arthropod.software/p/vibe-coding-our-way-to-disaster&quot;&gt;Vibe Coding Our Way to Disaster&lt;/a&gt;. It’s reasonably short for the attention-inhibited, has nice diagrams, and builds from past wisdom and research on simplicity and creative thinking. It concludes with a three-phase approach to, ahem, &lt;em&gt;thoughtful&lt;/em&gt; agent-assisted programming. All in words much more eloquent than I’ve been able to muster so far.&lt;/p&gt;

&lt;p&gt;I could talk a lot more about this, like how it’s become important again to understand underlying principles like algorithms, design patterns, and data structures. Because when asking an LLM to help you solve a problem, words matter. I might, someday.&lt;/p&gt;

&lt;h2 id=&quot;thinking-about-making-django-more-rails-like&quot;&gt;Thinking about: Making Django more Rails-like&lt;/h2&gt;

&lt;p&gt;Speaking of big swings, at my day job I’ve been busy building new software to modernize workflows for today’s publishing needs. As much as I would’ve loved to do this work in Ruby, alas, I work at a Python-first shop. But I am a team player, so the new tooling is Django-based.&lt;/p&gt;

&lt;p&gt;I like some things about Django. I like how it encourages modularized applications much more than Rails likely ever will (we have engines, but they’re not the default and they’re not simple). I think I like how Django builds migrations; I’m just not used to it yet. And the built-in admin is nifty and can go a long way, particularly for internal-facing software.&lt;/p&gt;

&lt;p&gt;But Django’s default behavior of glomming all your models into &lt;em&gt;models.py&lt;/em&gt;, all your admins into &lt;em&gt;admin.py&lt;/em&gt;, and so on do not scale when you’re talking a legacy database with dozens of tables. So I wrote a simple scaffold generator that works sort of like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rails g scaffold:&amp;lt;model&amp;gt;&lt;/code&gt;, but for tables in the database we’re building on top of. And we use Just as our task runner, so the scaffolding tool looks something like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;just add-scaffold &amp;lt;app-name&amp;gt;:&amp;lt;table-name&amp;gt;&lt;/code&gt;. The underlying Django task uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;inspectdb&lt;/code&gt; to build a model from the table, then creates a standalone model file, admin file, and corresponding starter test files in the app’s directory, with some added logic to handle the quirks of the database’s design and other conventions we want everything to follow. In most cases, this is enough to have a working admin UI to poke at. And it’s been a &lt;em&gt;huge&lt;/em&gt; productivity boost.&lt;/p&gt;

&lt;p&gt;I’ve also broken up settings into development, testing, and production, but that doesn’t seem as different-thinking in Django land?&lt;/p&gt;

&lt;h2 id=&quot;having-fun-with-pico-8&quot;&gt;Having fun with: PICO-8!&lt;/h2&gt;

&lt;p&gt;Back in June when I was feeling bitter about those annoying rainy days, I decided to learn more about video game development. Writing video games is much different than writing back-end web applications, for the uninitiated! After looking at my options, I was reminded of &lt;a href=&quot;https://www.lexaloffle.com/pico-8.php&quot;&gt;PICO-8&lt;/a&gt;, an intentionally constrained system for writing and sharing retro-style games. (Think somewhere between the Atari 2600 and the original Nintendo Entertainment System, fellow old-timers.) PICO-8 has been around for more than a decade–so I’m late to the party, sure, but I’m glad I got here eventually.&lt;/p&gt;

&lt;p&gt;I’m going to admit something–I haven’t &lt;em&gt;enjoyed&lt;/em&gt; writing software in some time. Writing with agents for work has helped change that, but PICO-8 has been actual &lt;em&gt;fun&lt;/em&gt;. I don’t worry about code quality and well-structured commits. I don’t do the work in a &lt;em&gt;real&lt;/em&gt; editor; I use PICO-8’s built-in tooling.&lt;/p&gt;

&lt;p&gt;It’s a blast. It’s bringing out the better parts of 12-year-old me, hunched over a TRS-80 trying to figure out how to make it do what I want.&lt;/p&gt;

&lt;p&gt;I’ve got a few games I’ve been noodling with here and there, when I need a break from life and work and other things. When I get stuck or bored on one, I switch to another to tinker with. The most fully-formed is &lt;em&gt;Some People Call Him the Space Cowboy&lt;/em&gt;, a shoot-em-up where you, the eponymous Space Cowboy, defends a space ranch from alien space slugs.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/content/space-cowboy-20250906.gif&quot; alt=&quot;Animated GIF of Space Cowboy retro-style video game, in which the player shoots at pink space slugs&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The PICO-8 community is super-supportive and generous with their knowledge. (It reminds me at times of the earlier days of Ruby.) &lt;a href=&quot;https://www.youtube.com/channel/UCdT68dsulMFouI2InvXWM5w&quot;&gt;Lazy Devs Academy&lt;/a&gt; is the best PICO-8 learning resource I’ve found. I started &lt;em&gt;Space Cowboy&lt;/em&gt; over while working through the Shmup Tutorial–my original was more feature-complete, but had flaws I didn’t know how to work around. And it didn’t have the explosions, splats, and shakes I now know how to make.&lt;/p&gt;

&lt;p&gt;Because I like to amuse myself, I will be publishing my games via &lt;a href=&quot;https://bandageman.com&quot;&gt;Bandageman Studios&lt;/a&gt;, my I-owned-the-domain-name-already-so-might-as-well-do-something-with-it indie studio. I would love to have &lt;em&gt;Space Cowboy&lt;/em&gt; out in the world by end-of-year.&lt;/p&gt;

&lt;p&gt;That’s all for now. I’m going to take my dog to the park. See you next time.&lt;/p&gt;

</content>
      <author>
        <name>Aaron Sumner</name>
      </author>
    </entry>
  
    <entry>
      <title>What I&apos;m up to (March 2025)</title>
      <link href="/posts/2025/03/what-im-up-to-march-2025"/>
      <updated>2025-03-21T00:00:00+00:00</updated>
      <id>/posts/2025/03/what-im-up-to-march-2025</id>
      <content type="html">&lt;p&gt;The world is a mess, and the country in which I live is extra a mess, and I’m not trying to ignore that by any means. It fucking sucks.&lt;/p&gt;

&lt;p&gt;But I &lt;em&gt;am&lt;/em&gt; riding a small burst of manic productive energy, so stepping back for a sec to think about what I’m working on and what I’ve accomplished in the past couple of weeks.&lt;/p&gt;

&lt;p&gt;In no particular order:&lt;/p&gt;

&lt;h2 id=&quot;porting-everyday-rails-to-ghost&quot;&gt;Porting Everyday Rails to Ghost&lt;/h2&gt;

&lt;p&gt;I’ve published &lt;a href=&quot;https://everydayrails.com/&quot;&gt;Everyday Rails&lt;/a&gt; using Jekyll since the day I started it, moving hosts over time. It’s been on Netlify for awhile now. I actually like this combo. It’s just Markdown, it’s fast, it’s stable.&lt;/p&gt;

&lt;p&gt;But I hate that I have to deal with Mailchimp every time I want to send an email out to people to let them know about new blog posts or book updates. I’ve never found joy in Mailchimp’s user interface, and I’m pushing up against my grandfathered-in subscriber cap, anyway.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://ghost.org&quot;&gt;Ghost&lt;/a&gt; has been on my radar for awhile. I’ve set up a self-hosted version to experiment with, and am figuring it out. It’s certainly more involved than Jekyll, but so much more powerful–it’ll handle my newsletter much better as it scales. And I can use a professionally-designed theme instead of hacking together my own front-end code. I don’t have time for hacking together my own front-end code these days!&lt;/p&gt;

&lt;p&gt;Not making any promises, but at minimum I’d like this change to help me post more frequently, and actually let you know when I do. I won’t lie–I’ve thought about what subscriber-only content might look like, and I’m not ruling that out. But I’m also not worrying about it too much.&lt;/p&gt;

&lt;p&gt;There’s no set timeline on this, but maybe by end of summer I’ll have things moved over.&lt;/p&gt;

&lt;h2 id=&quot;hosting-sound-refound-with-dokku&quot;&gt;Hosting Sound Refound with Dokku&lt;/h2&gt;

&lt;p&gt;My pet project &lt;a href=&quot;https://soundrefound.com/&quot;&gt;Sound Refound&lt;/a&gt; has been on Digital Ocean’s platform-as-a-service for a few years. It’s been fine, but it’s kind of expensive for something I keep around to amuse myself. I considered moving to a VM and deploying via &lt;a href=&quot;https://kamal-deploy.org&quot;&gt;Kamal&lt;/a&gt;, but the app itself is a little dusty, and I still kind of find Kamal confusing/annoying in some aspects. And I don’t like how DHH is its primary spokesperson.&lt;/p&gt;

&lt;p&gt;So I’m rocking it kind of old school with &lt;a href=&quot;https://dokku.com&quot;&gt;Dokku&lt;/a&gt;, the original open-source Heroku alternative! It feels like a great alternative for projects that need to get out of an expensive PaaS, or away from Apache+Capistrano-style hosting on the server itself, and toward a container-based system. I may revisit Kamal once I’ve got Sound Refound up to Rails 8, but for now, Dokku is winning it for me.&lt;/p&gt;

&lt;p&gt;I hope to write more about this in Everyday Rails later this year.&lt;/p&gt;

&lt;h2 id=&quot;updating-my-rspec-book&quot;&gt;Updating my RSpec book&lt;/h2&gt;

&lt;p&gt;I am finally, finally in the home stretch of the updates to &lt;a href=&quot;https://leanpub.com/everydayrailsrspec&quot;&gt;Everyday Rails Testing with RSpec&lt;/a&gt; that I started last year. It’s been a lot more work than I had anticipated. Good work, though, and much more than a code-only update to the last version from 2017. I mean, I’ve written a lot of code, a lot of tests, and mentored a lot of people on testing since then. My thinking about what matters has evolved so much, and if you’ve downloaded any updates to the book recently, you’re getting my latest thinking around test-driven development.&lt;/p&gt;

&lt;p&gt;I’m wrapping up the all-new chapter on mocking now, then just a couple more chapters before calling this edition done. Then an update to whatever the latest Rails 8.x version is at that point, then I’m going to take a breather.&lt;/p&gt;

&lt;h2 id=&quot;day-job&quot;&gt;Day job&lt;/h2&gt;

&lt;p&gt;July 2025 will mark my 12th year with &lt;a href=&quot;https://www.oreilly.com/&quot;&gt;O’Reilly Media&lt;/a&gt;, and I can’t think of a more hectic, but fun, stretch of work in that time than what we’re working on these days. It’s humbling that, thirty years after starting my career with a cubicle full of O’Reilly print books, I now manage the team responsible for making sure those books keep flowing out into the world. I’m not sure how much I’ll be able to share about this, but my team is doing some really neat things right now that you’d probably not even notice otherwise. And I mean that in the best way possible–when my team does its job, then things just work.&lt;/p&gt;

&lt;p&gt;And I wouldn’t have it any other way.&lt;/p&gt;
</content>
      <author>
        <name>Aaron Sumner</name>
      </author>
    </entry>
  
    <entry>
      <title>Online and socials (2025)</title>
      <link href="/posts/2025/01/online-socials-2025"/>
      <updated>2025-01-11T00:00:00+00:00</updated>
      <id>/posts/2025/01/online-socials-2025</id>
      <content type="html">&lt;p&gt;Hiya–as you may know, I’ve more or less been off Twitter/X since about 2016. I’ve not been active on Facebook for some time, and I’m now getting away from Instagram. Meta and its leader have always grossed me out, and recent policy changes are the last straw for me.&lt;/p&gt;

&lt;p&gt;So here’s a list of where to find me online these days, and what to expect when you do.&lt;/p&gt;

&lt;h2 id=&quot;sites&quot;&gt;Sites&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;My personal blog&lt;/strong&gt; (this site) will continue to be where I post longer-form items. It’s also where I keep a list of what I’m reading/have read since 2014. &lt;a href=&quot;https://www.aaronsumner.com/&quot;&gt;https://www.aaronsumner.com/&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Everyday Rails&lt;/strong&gt; is where I write about code and coding–usually about Ruby on Rails, but increasingly more general purpose topics. &lt;a href=&quot;https://everydayrails.com/&quot;&gt;https://everydayrails.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both have RSS/Atom feeds for your convenience!&lt;/p&gt;

&lt;h2 id=&quot;socials&quot;&gt;Socials&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Bluesky&lt;/strong&gt; is becoming my front door to the federated socials. I’ll share links to articles I’ve written and whatever else I’m thinking about or creating there. Warning, it may get salty. &lt;a href=&quot;https://bsky.app/profile/ruralocity.bsky.social&quot;&gt;@ruralocity@bsky.social&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;I tend to talk about more technical matters on &lt;strong&gt;Mastodon&lt;/strong&gt;. Also with the occasional salt. &lt;a href=&quot;https://mastodon.social/@ruralocity&quot;&gt;@ruralocity@mastodon.social&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;I’m slightly more professional on &lt;strong&gt;LinkedIn&lt;/strong&gt;. &lt;a href=&quot;https://www.linkedin.com/in/asumner/&quot;&gt;https://www.linkedin.com/in/asumner/&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;And I’m setting up a &lt;strong&gt;Pixelfed&lt;/strong&gt; presence as I move away from Instagram and Meta. Pics will likely be a mix of the usual–woodworking, cooking, travel, and life back in Saint Louis. &lt;a href=&quot;https://pixelfed.org/@ruralocity&quot;&gt;https://pixelfed.org/@ruralocity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;code&quot;&gt;Code&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;I share most of my coding work on &lt;strong&gt;GitHub&lt;/strong&gt;. I still like its feature set and integrations more than other options, sorry not sorry. &lt;a href=&quot;https://github.com/ruralocity&quot;&gt;https://github.com/ruralocity&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;I’ve got a &lt;strong&gt;Codeberg&lt;/strong&gt; account, but I’ve not shared anything there yet. &lt;a href=&quot;https://codeberg.org/ruralocity&quot;&gt;https://codeberg.org/ruralocity&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;I’m also on &lt;strong&gt;GitLab&lt;/strong&gt;, but usually just to check out their new features vis a vis other hosted Git providers. &lt;a href=&quot;https://gitlab.com/ruralocity&quot;&gt;https://gitlab.com/ruralocity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;creations&quot;&gt;Creations&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;I’m working on setting up shop for my woodworking projects on &lt;strong&gt;Etsy&lt;/strong&gt;! Buy something or at least follow me, will ya? More to come as the year progresses. &lt;a href=&quot;https://www.etsy.com/shop/LowOverheadWood&quot;&gt;https://www.etsy.com/shop/LowOverheadWood&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
      <author>
        <name>Aaron Sumner</name>
      </author>
    </entry>
  
</feed>
