Me: GPT 5.5, why is this Worker failing?
GPT 5.5: *thinks* It's because of this deep corner case in the Cap'n Proto RPC system described in this comment you wrote 6 years ago, which you thought was only a perf issue but actually affects correctness: https://t.co/K37Zsi6roK
Me:
I can't count the number of times I'm working through something with colleagues and we say, "let's just talk in code."
Good code is concise and precise. Syntax, types, naming conventions, and structure enforce clarity and prevent ambiguity.
Natural language is the opposite: verbose when precise, ambiguous when concise, and prone to misinterpretation.
Of course, natural language has its place and strong prose is valuable in the SDLC.
But let’s not forget that programming languages (and the vast majority of code we write) are optimized for human comprehension first (vs. purely for machine execution).
The "code is dead" claims overlook why we still default to talking in code when precision counts.
I can't count the number of times I'm working through something with colleagues and we say, "let's just talk in code."
Good code is concise and precise. Syntax, types, naming conventions, and structure enforce clarity and prevent ambiguity.
Natural language is the opposite: verbose when precise, ambiguous when concise, and prone to misinterpretation.
New blog post: "A sufficiently detailed spec is code"
I wrote this because I was tired of people claiming that the future of agentic coding is thoughtful specification work. As I show in the post, the reality devolves into slop pseudocode
https://t.co/V86V7cjWpS
.@nodejs has always been about I/O. Streams, buffers, sockets, files. But there's a gap that has bugged me for years: you can't virtualize the filesystem.
You can't import a module that only exists in memory. You can't bundle assets into a Single Executable without patching half the standard library.
That changes now 👇
Fuck it, a bit early but here goes:
Monty: a new python implementation, from scratch, in rust, for LLMs to run code without host access.
Startup time measured in single digit microseconds, not seconds.
@mitsuhiko here's another sandbox/not-sandbox to be snarky about 😜
Thanks @threepointone@dsp_ (inadvertently) for the idea.
https://t.co/UuCYneMQ9j
It is interesting to see that many use claude code to implement a waterfall development workflow. They write a multi pages comprehensive spec, then let cc run on its own.
There is a reason why people moved away from waterfall in favor of a more iterative workflow where specs are updated along the way. Think of agile methods.
Sure, if you want to be agile with cc (or another AI coding agent), then you have to stay in control, interact, review, and revise during the development of your system. But it is worth it, for all the reasons that made waterfall fail in the past.
A workflow I'm enjoying for managing coding agents on a kanban board:
When an agent needs your input, it turns the task red to alert you that it's blocked!
And then you can respond right there on the card to unblock it 😎
@geofflangdale A productivity tool doesn’t mean you magically incept novel product ideas.
Nor does it mean every whim is productized into something for others to try.
Don’t mistake people’s lack of imagination or willingness to commercialize as evidence against How Great This Stuff Is
Hard disagree.
Spend your time learning to understand and articulate problems and goals in your domain. Not tooling that’s going to change or get abstracted in 6-12 months.
“There is nothing so useless as doing efficiently that which should not be done at all.”
I've never felt this much behind as a programmer. The profession is being dramatically refactored as the bits contributed by the programmer are increasingly sparse and between. I have a sense that I could be 10X more powerful if I just properly string together what has become available over the last ~year and a failure to claim the boost feels decidedly like skill issue. There's a new programmable layer of abstraction to master (in addition to the usual layers below) involving agents, subagents, their prompts, contexts, memory, modes, permissions, tools, plugins, skills, hooks, MCP, LSP, slash commands, workflows, IDE integrations, and a need to build an all-encompassing mental model for strengths and pitfalls of fundamentally stochastic, fallible, unintelligible and changing entities suddenly intermingled with what used to be good old fashioned engineering. Clearly some powerful alien tool was handed around except it comes with no manual and everyone has to figure out how to hold it and operate it, while the resulting magnitude 9 earthquake is rocking the profession. Roll up your sleeves to not fall behind.
@karpathy I suspect you're not as far behind as you feel.
Our minds can only hold so many focuses at once.
The hard part was never really the the labor of writing code, spinning up experiments, or debugging.
The bottleneck is choosing what deserves your attention.
*Opens Twitter*
*Sees nth “this is my technique for AI coding” tweet*
*Literally the same techniques that’ve been used to write software for years and years*
@simonw That’s a relief.
To clarify what I meant: explaining every line is table stakes. AI can mask whether the dev actually understood the design options, tradeoffs, and wider implications.
Code that 'just passes tests' can hide all of that and instill a false sense of confidence.