elsewhere:
check these out!
recently:
Hello 2025

Been a minute! Quick roundup of some stuff I'm up to. read more
My favorite part of my zsh config
A few years ago, I thought it would be funny to have sudo cd
work to cd
into nonexistent directories, and so I manifested:
read more
A Little Landscape Toy

Been a moment since I've posted! Got a bunch of ideas at like 60% polish, so I figure I'll post a work in progress. Here's a little toy that came out of "hey can I do isometric graphics using CSS for layout?" The answer is: yes, and it's gnarly: read more
Image Recycler

Done with that worn-out old JPEG? Dusty PNG? Why not recycle it into a new image! read more
A Shortcut for Universal Control Sickos

My daily setup is a little unusual- I rock a dual monitors on my desk, but each monitor is driven by a different machine- my work computer on the left, and my personal machine on the right. read more
How potch.me Works

I claimed at some point I'd talk about the code that powers this website, and seeing as it recently underwent a minor renovation, now's as good as any a time to pop the hood! I, like so many developers, suffer from the "roll my own" website affliction. This is a chronic, and often terminal, diagnosis; but largely benign overall other than the deleterious effect on post rate, as the temptation to tinker is right there. I think one's own online home is a great testbed for trying things out, provided the end state is a good DX for yourself to use. Alas, the cobbler's children are frequently unshod. For evidence, see also: this website. read more
range-num, a useful little web vanilla web component
I'm working on a few small demos and a thing I often find myself needing is a
combination input[type="range"]
with some sort of label, or even
an input[type="number"]
showing the same value. I decided to
package those together in a tiny vanilla web component called range-num
,
and I've made it publicly available via
npm
and
github.
read more
One Year of Listed!

This week marks one year of Listed, a wordle-inspired real estate guessing game built by me and my pal Andrew. read more
Smolitaire is now available in the Playdate Catalog!

When the Playdate SDK was released, I decided I wanted to try my hand at gamedev for the platform- I didn't really know Lua (and didn't want to mess with C) so it made sense to focus on porting an existing game that felt at-home on the device. I settled on solitaire, because every platform needs a solitaire game! read more