three pieces of software
For a good deal of my career, I resisted the pull of any job that had me writing code less than 50% of the time. It is my favorite part of what I do, and while I have enjoyed the roles where I’ve been able to help guide teams and mentor developers, I never wanted to transition away from actually writing code.
It was the transition to teaching that finally got me to give up having “writing code” as part of my job description. Now, most of the time I spend in my text editor is spent writing markdown. I’ve written a few tools that help me with my job: a bespoke TODO app to help me manage the demands of a 9-week quarter, a tool for linting markdown, and a spell checker with an owl in it. These are mostly incomplete works in progress, which I add to as I need. I’d be thrilled if they were useful to someone else— but they are primarily for me.
These projects are also a great way to learn & brush up on things. I’ve written more Rust for those tools than I’ve had an excuse to do in any other context. In addition to these small projects, I also try to write some code in the language I am teaching. I find it is particularly helpful to reduce Python/JS context-switching mistakes.
Recently, I’ve felt the draw to write more software that isn’t directly related to my job. I don’t know that I’ll ever build something that takes up as much of my life as Open States did for 13 years, but I do miss writing code that is of use to other people & the community that comes with it.
careful - One of the libraries I’ve maintained for over a decade,
scrapelibis a little bit of code that extendsrequestswith some functionality that we needed for Open States. It adds easy rate limiting, retries, and caching to speed up development.carefuladds these same features tohttpx, my preferred Python HTTP library these days.trifold - I used to depend on Netlify for the dozens of static sites I host, but their recent ToS changes had me searching for another solution.
trifoldis a simple script that allows publishing static webpages to the bunny.net CDN. It now hosts my site, my open source projects, and quite a bit more, and I’m currently paying about $1/month. (More importantly, not a dime to Amazon, Cloudflare, Microsoft, etc.)h9 - The weirdest of the bunch. Still in an early prototype form, h9 is an exploration of an API for browser/SVG drawing that I’ve had bouncing around in my head for a while. I recently came into possession of a pen plotter, and that— combined with wanting to write some JS to prepare for a data visualization course, motivated me to break through the wall I’d hit in prior attempts to bring this idea to life. The examples (https://h9.bees.free/examples.html#layout) are a sort of proto-tutorial/set of tests. I have another project that depends on this project, so will probably keep working on this as that project evolves.
If these projects are interesting to you, please reach out! I’d also appreciate if you forward them along to anyone you think might be interested.
There’s a bit of a theme here, which may or may not be evident if you don’t live inside my head. I am worried about the open web. Plenty has been written about the parallels to habitat destruction and relationship between corporate ownership of the web and the current state of global democracy. I hope that these might help a few more people publish their own work and make their own interesting things online. The two large projects I spend the most time thinking about (but not making much progress on) are a step further in this direction: ways for people to use the web to connect with one another without dependence on big tech.
a few bonus h9 images

