I had the same reaction. We're headed into a period where you can shape your tools exactly as you like them; artisanal rather than factory-created workshops, essentially.

I think the instinct that APIs, validation layers, and so on take on a much higher importance is right.. I have a few internal tools that made sense to make libraries out of, and once the first library is good, and a test suite is comprehensive, porting to a bunch of different languages is extremely simple.

Everting that, it's also going to be simple for someone to hook up to this library with custom tooling.

Really interesting period in computing, for sure.

> We're headed into a period where you can shape your tools exactly as you like the

What period were we for the past 50 years?

Since roughly 1995 or so we've been in a world where quality tooling was provided by on the order of 1,000s of developers, mostly open source. GNU, Xorg, Apache, emacs, nginx, and so on. Or you could opt in to the Microsoft ecosystem.

The ~20 years prior to that we were in a world where you chose to align with either Microsoft's tooling, IBM, or shops providing Unix tooling from proprietary vendors.

I elide a nearly infinite amount of detail, obviously.

What's new now is that you can get your own window manager written to spec in under a week, perhaps much more quickly, not just choose one of a few major window managers and configure it in accordance with the chosen configuration options delivered by the large developer team.

The reason I don’t bother writing code this days is because my use cases have been solved, and if they weren’t, I’d tweak the most suitable candidate. One of my principles is to keep my workload small. More often than not, things starts with a small script or plugin, and then grow according to my needs. Why replicate what others have already done?

If others have built a whole-ass house and I just occasionally need the kitchen table I had to just deal with the hassle of having a whole house and just used the table. And even the table was the wrong shape, but I could deal with it. Asking the Others to make the table modifiable would've been a massive effort of PRs and mailing lists I didn't want to get into.

Now I can build a bespoke table in an evening or two and it fits my stuff just perfectly.

I could do it before too, but it would've taken too long for me to bother, so I dealt with the whole house along with the table.

There’s a lot of small programs out there. Especially if you go to the BSDs where small programs are the norm.

Because its fun. And because your experience using a tool is fundamentally different if you made it yourself, compared to if its something someone else made for you.

I don't think I can explain the difference, but it feels really different. Even if you used claude.

It never felt fun for me to write software fully with LLMs. It feels disorientating, it produces a lot of code that you have no familiarity with and no authorship. It feels like you’re a teenager again, copy pasting code from internet or journal and hoping it will work.

"Everting"?

I learned it in the math context - a sphere eversion is a 3 dimensional process that ends with the inside of the sphere becoming the outside.

I had to check it up too. Appears to be a synonym for "inverting" used in some fields like biology and medicine.