This looks really good. Haven't read in full yet, but I was hoping to see him credit Ben Evans's "Office, messaging and verbs" (2015): "In effect, every person on that floor is a cell in a spreadsheet. The floor is a worksheet and the building is an Excel file, with thousands of cells each containing a single person."
Funny that everyone is linking the tools they wrote for themselves to deal with this problem. I am no exception. I wrote one that just lets you write JavaScript. Imagine my surprise that this extremely naive implementation was faster than jq, even on large files.
I’ve always meant to write a post about this. Bun is pretty similar and has the `$` helper from dax built in. In the past I would have used Python for scripts that were too complicated for Bash. But the type system in Python is still not great. TypeScript’s is great: flexible, intuitive, powerful inference so you don’t have to do many annotations. And Deno with URL imports mean you can have a single-file script with external dependencies and it just works. (Python does this now too with inline dependencies and uv run.) Deno and Bun also come with decent APIs that are not quite a standard library but help a lot. Deno has a stdlib too.
You can see in my other scripts in my dotfiles that between dax for shelling out and cliffy or commander.js as a CLI builder, TS is a great language for building little CLIs.
Ugh you're right. There was a new AST-based version control system that came out a month ago and I couldn't remember the name. I asked an LLM what the name was and repeated the answer the LLM gave me without checking (facepalm).
This is a reasonable reaction — pretty sure I felt the same way when I heard about jujutsu's first-class conflicts[0] — but it turns out to be really useful not to be stuck inside an aberrant state while conflicts are in the process of being resolved.
I looked at the repo and couldn’t even find an example, so it can’t be that many of their commits. But also: this is ridiculous. Whether the commit appears as done by Claude or not is a setting you can change. If they turned it off, you’d never even notice.
These are great developers and they’ve built an incredible tool. I use it a hundred times a day. It is very odd and dogmatic to think that because you saw a commit authored by Claude, whatever skills and qualities let them build something so good are now being thrown out.
Can't blame you for not trusting OpenAI, but it seems to me they would gain very little from fucking up uv (or more precisely doing things that have a side effect of fucking up uv), and they have tons of incentive to cultivate developer good will. Better to think of buying and supporting a project like this as a very cheap way to make developers think they're not so bad.
No they don't have incentive to cultivate developer goodwill. They are monetizing replacing developers everywhere. That is the trillion-dollar valuation. They have the opposite incentive.
They are not. A very large proportion of their revenue comes from developers. A large proportion of their marketing and product work is aimed at developers. You have to work really hard to not see this. Just look at what Altman and Brockman tweet about.
All the various APM companies are implementing "Assign to agent" flows. The various foundation model providers will be satisfied getting a subscription for 10% of total comp of a developer, instead of pocketing 60% of the total comp completely replacing them?
The only thing that could prevent this is lack of ability to execute, like how Uber wanted to replace drivers with FSD vehicles.
It's not about what they wish would happen, it's about what they think will happen. In my view they are acting precisely like they believe they will be making a proportion of developer pay by making them more productive rather than replacing developers. I think they understand that the alternative doesn't really work out for them or anyone.
Even if they believe that their systems will eventually tank employment and replace developers rather than augment meant, the fate of Astral doesn't matter at all in that scenario because a) nobody has a job, and b) you can build your own uv replacement for $20.
Could it be that they want developers to use their stuff so they get telemetry and mind share out of it? As a stepping stone for the ultimate goals so to speak?
Personally, even though performance up to 200k has improved a lot with 4.5 and 4.6, I still try to avoid getting up there — like I said in another comment, when I see context getting up to even 100k, I start making sure I have enough written to disk to type /new, pipe it the diff so far, and just say “keep going.” I feel like the dropoff starts around maybe 150k, but I could be completely wrong. I thought it was funny that the graph in the post starts at 256k, which convenient avoids showing the dropoff I'm talking about (if it's real).
https://www.ben-evans.com/benedictevans/2015/5/21/office-mes...
reply