Contrary to popular belief, the very last human to lose his job to AI will be a software engineer, even though, as a group, we devs have been among the first specialists to see our livelihood debased by AI. Think about it, though… Who else is gonna build the very final interface Claude needs before gaining full computer access? Biblically speaking, the first shall be last and the last indeed shall be first.
I bought a new backup Kinect V2. Yay.
Continuing my M.O. of iterating on my harness rather than actually developing anything, I finally integrated Linear with my Tasks page. I’ve been using Linear for task tracking/management in all my other projects, so it doesn’t make much sense to have an isolated system here. I’ll still be able to create todos for myself automatically from these blog posts using the inline ‘todos’ hashtag, but now I can also bring in todos from Linear, which is convenient for when I’m on mobile and a new idea pops into my head. There’s more blog post to write, but I’ll pause briefly to see if I can get my task list to update on Linear by marking an issue as completed from here.
Task marked as complete here. Ran sync. Task marked as complete on Linear. ✅ Same task unmarked as complete here. Ran sync. Task remarked as complete here. ❌
This is why we test things. Or why we tell agents to create tests and run them. I actually tested that one manually—guess I’m old school. Good news though: once I notified Claude about that failed test, it decided to run a bunch of test scenarios on its own. Now, “Sync energyball.dev issue tracker with Linear” is a task I can successfully and easily cross out, both here and on Linear :D
Energy Ball V3 is now open source!
As I reflect on why I waited so long to do this, the only obvious answer is that because this project hadn’t been in the forefront of my mind lately, I simply hadn’t got around to open-sourcing it. And yet, that excuse is paradoxical because I’d previously made a personal agreement to abstain from releasing V3 until I felt like it was complete, and while it’s likely the project would have been finished by now if I’d actually worked on it over my past few months of freedom, there’s an equally likely chance that I would have come up with additional requirements that kicked “completion” further and further down the line each time I checked a task off my list.
I think this state now is how things are meant to be. The Interactive Energy Ball is my passion project, a side-hobby, one that I come to and leave as I please. Rushing my design towards a state of “completion” so that I’d be able to share this work openly isn’t in alignment with how I flow. I should have been sharing this WIP the entire time because that’s what I’ve already been doing with this blog. If anything, these posts will be less confusing from here on out because what I talk about in here will be directly coordinated with the commit history over there. Hope you guys are enjoying what I’m building here, and I dream that eventually, I won’t be building this thing alone.
Open-sourcing forced me to actually look over my project’s source code for the first time in what feels like forever. I’d forgotten about all my VS Code-specific configurations. I’ve since moved over to using Zed as my default editor (to match my new ZED camera, presumably), and even though I really don’t look at code anymore (aside from the tidbits that show up in my agent session terminal window), it occurred to me that I’d lost some pretty effective C# linting capabilities after ditching VS Code.
Not anymore! I’ve now added linting in three new places for an uber-robust setup.
- In the Zed editor using
format_on_save - In Claude using a
PostToolUsehook - In git using a husky pre-commit hook
Tags: ai claude kinect project-management opensource workflow automation linear