Ross Karchner

Ad Hoc

Today is my first day as an Ad Hoc employee. I’ve watched from the sidelines over the years as they’ve hired a number of my favorite people, both former CFPB colleagues and “internet friends” whose work and careers I’ve taken an interest in. I’m looking forward to being part of the team!

The actual client I’ll be working for is… a different civilian federal agency with a financial focus. You might be thinking “out of the frying pan and into the fire”, and aren’t completely wrong about that. My discussions with folks from Ad Hoc, the “prime” contractor subcontracting to Ad Hoc, and the client agency have convinced me that the work is necessary and should be funded for some years to come. I think it will be stable at least through the length of the contract, so long as I do good work.

Endings

Hello from Camp T. Brady Saunders. It’s the last day of summer camp. The kiddo mostly had a good time, but we’re both ready to go home.

Today is technically also the last day that I am a CFPB employee(last day actually working was 7/3). I wasn’t laid off this time, I’ve got a new job that starts Monday. I’m pretty excited about it, but I’ll save writing about that for next week.

Finished reading: Failure to Launch: A Tour of Ill-Fated Futures by Kel Mcdonald ๐Ÿ“š

An excellent graphic journey through all sorts of could’ve-beens: including Y2K hysteria, decentralized wind power, robot dogs, virtual pop stars, a mechanical duck that poops (maybe), and Louisiana hippos.

I โ™ฅ๏ธ BTRFS Subvolumes

I’ve been mucking around with my operating system setup for reasons too tedious to describe here. One hilarious bit of hijinx involved trying to use the Nobara repository exactly in the way it says not to…

It is NOT recommended to try to upgrade your Fedora installation to Nobara and support for doing so will not be provided.

Turns out, there are reasons.

But, the point of this post is actually a nice thing I discovered:

Read more โ†’

Like I said, I don’t love my latest game, but it feels good to add something to the /games page after six months.

The Invisible Alligator

I’m not that proud of The Invisible Alligator in its current form, but the Godot Wild Jam 82 deadline is here, and it’s nice to ship a game after almost 6 months of not doing much gamedev.

It could use more levels, sound and music, animation, more NPC variety, and more effort spent on graphics. The core gameplay isn’t that fun yet, but Benjamin calls it “satisfying”, so that’s something.

I started out thinking about it as a 2D version of Hitman Go, with animals. It ended up in a place that (if built out more) would feel a bit like Hoplite.

Read more โ†’

Finished reading: Drawing Blood by Kevin Eastman ๐Ÿ“š

Confession: I picked this up thinking it was non-fiction and that Shane Bookman was a real author.

One of the nice things about going to events again is seeing the fancy offices people work in.

(brought to you by the seltzer dispenser at The College Board)

Musings of an LLM Using Man

I know, the internet doesn’t need more words about AI, but not addressing my own usage here feels like an omission.

A good deal of the DC Tech Events code was written with Amazon Q. A few things led to this:

  • Being on the job market, I felt like I needed get a handle on this stuff, to at least have opinions formed by experience and not just what I read on the internet.
  • I managed to get my hands on $50 of AWS credit that could only be spent on Q.

So, I decided that DC Tech Events would be an experiment in working with an LLM coding assistant. I naturally tend to be a bit of an architecture astronaut. You could say Q exacerbated that, or at least didn’t temper that tendency at all. From another angle, it took me to the logical conclusion of my sketchiest ideas faster than I would have otherwise. To abuse the “astronaut” metaphor: Q got me to the moon (and the realization that life on the moon isn’t that pleasant) much sooner than I would have without it.

Read more โ†’

How DC Tech Events works

The main DC Tech Events site is generated by a custom static generator, in three phases:

  1. Loop through the groups directory and download a local copy of every calendar. Groups must have an iCal or RSS feed. For RSS feeds, each item is further scanned for an embedded JSON-LD Event description. I’ll extend that to support other metadata formats, like microformats (and RSS feeds that directly include event data) as I encounter them.
  2. Combine that data with any future single events into a single structured file (YAML).
  3. Generate the website, which is built from a Flask application with Frozen-Flask. This includes two semi-secret URL’s that are used for the newsletter: a simplified version of the calendar, in HTML and plaintext.

Once a day, and anytime a change is merged into the main branch, those three steps are run by Github Actions, and the resulting site is pushed to Github Pages.

Read more โ†’

I’m at the AWS DC summit today and tomorrow.

Seems like people are really excited about this AI stuff?

I want to apply for a job, not join your “talent community”

Loopnik Begins

Some progress on the “beat game” remake (for the moment, called “Loopnik”). It’s much easier now that I have a better idea of what I’m doing and how to structure things. Aside from level advancement, this does everything the original does, with half the lines of code.

The “graphics” are kind of charmless and generic right now, but they’re placeholders. The donut is from Kenney.

From so bad it's good to so good it's good

My first game jam entry was beat game, submitted to the So Bad It’s Good Game Jam in July 2023. Until then, I’d worked on tutorials, toy projects, and had done some tinkering on a recreation of Spin Doctor.

The game ranked 4th overall and won the “uniqueness” category. I’m proud of that, but clearly the “so bad” theme worked in my favor. I periodically wonder what a good version of that game would look like, and I’m looking for a way to get back into game dev after a couple of months out of it.

Read more โ†’