Engineering lead. 15+ years building things on the web. Now figuring out what AI changes and what is just the same old shit. Berlin.

Berlin, Germany
Joined July 2009
I’m glad we’re finally having this discussion industry-wide. I thought I was going crazy. I recently built a project agent first. @mattpocockuk-style. Grilling, specs, tickets, adrs, tdd…the whole deal. Set up a *lot* of guardrails, along the lines of @dillon_mulroy’s anti-slop. The project works. Mostly. Then I started reading the code. Now I am untangling an overengineered system full of local maxima that every frontier model will happily tell you are perfectly reasonable and well-engineered. So far I’ve been able to remove multiple database tables, a queue and a ton of overlapping types and concepts. Pretty much what @dillon_mulroy tried to explain to that “CTO”. It might’ve partially been my fault, though. The thing is, agents invite laziness. I might’ve agreed to too many recommendations in the grill me sessions. Relied too much on the smart-sounding jargon models are spewing. Don’t get me wrong, I love the new way of working and I don’t see us going back. Coding might be solved, but software development for sure isn’t.
Replying to @bcherny
Thanks for taking my rather too on-the-edge tweet and inviting a serious debate - I much prefer this. I'm interested by how you define the term "coding". I'll just @JohnOusterhout's definition of Tactical vs Strategic programming. Tactical: the on-the-ground, day-to-day aspects of coding. Strategic: the long-term. Codebase health, architectural design. Making the right decisions. I agree that AI has largely eaten tactical programming. But I've seen no evidence that it can think strategically. Ousterhout talks about some employees as "tactical tornadoes" - able to churn out astonishing amounts of work with zero eye for the future. That's how agents feel to me right now. I'd love to see how your observations fit into that frame.
1
1
181
been a gpt shill for almost a year, but opus 5.5 is just so nice to work with.
84
21
10
1,343
47,279
Europe’s founders need a European standard to compete globally from day one. Europe’s leaders committed to delivering one. But their teams are negotiating away the very things that make it one. There is still time to change course if Europe's Heads of State step in now.
34
178
58
851
112,873
At this point the whole EU Inc negotiations are so lost in the details that everyone forgot the main goal: Creating a standard. Basically, allow founders to raise quickly globally and use stock options to hire competitively. Let’s say it quite clearly: 1) If EU Inc isn’t providing a standard it’s useless. We already got 30+ legal entities in Europe. Experienced founders use Delaware Inc already because of this. 2) If EU Inc doesn’t fix stock options Delaware Inc is still the better option. I understand the there are complex details and people are worried about loopholes. But you can’t lose the actual goal of it because of it. An EU Inc that doesn't provide a standard is pointless. Nobody will care about intricacies of compromises reached in political committees if the market can't use the outcome. If you are in contact with your political leaders (prime ministers, presidents, et al) please reach out to them. Or to founders/investors in your network who might have that access. 🔥🇪🇺✌️ xitter.cf/euinc_petition/status/…
Europe’s founders need a European standard to compete globally from day one. Europe’s leaders committed to delivering one. But their teams are negotiating away the very things that make it one. There is still time to change course if Europe's Heads of State step in now.
48
181
27
942
67,521
showing my age 🙈
4
this post is a lesson in computer science and trolling. i love it
kit finally finished the blog post he covers how OpenCode 2.0 is able to modify everything about itself in real time even during running sessions btw post whatever easter eggs you're able to find anoma.ly/notes/opencode-relo…
13
astra cannot be trusted to write code
9
Coding agents are very good at adding another check. Eventually you have six checks and nobody knows which one matters. Parse at the boundary, carry the type through, delete the rest. Did this across a codebase. The diff got simpler. No new abstractions. So refreshing.
1
28
Clemens retweeted
Inspired by @dillon_mulroy’s fight against slop, two skills to fix some of my biggest agent annoyances: • impossible-states: make invalid states unrepresentable, cut redundant checks • remove-low-value-tests: cut noisy tests, keep meaningful coverage  github.com/klaemo/skills
1
1
2
228
also, thank you @mattpocockuk for writing-for-agents!
Inspired by @dillon_mulroy’s fight against slop, two skills to fix some of my biggest agent annoyances: • impossible-states: make invalid states unrepresentable, cut redundant checks • remove-low-value-tests: cut noisy tests, keep meaningful coverage  github.com/klaemo/skills
36
Inspired by @dillon_mulroy’s fight against slop, two skills to fix some of my biggest agent annoyances: • impossible-states: make invalid states unrepresentable, cut redundant checks • remove-low-value-tests: cut noisy tests, keep meaningful coverage  github.com/klaemo/skills
1
1
2
228
Respectfully (to humans), I think we really over-estimate the quality of human code. And we over-estimate the quality of _our own_ human code even more.
Most of the human code I've encountered is much worse than AI generated code from Fable and Astra
104
68
11
1,789
98,378
Replying to @CloudflareDev
@CloudflareDev my wishlist for workers tracing: - support for opentelemetry/api instrumented libraries ootb - adding support for creating tracing destinations in the terraform provider
1
26
- span.setStatus() - span.recordException()
4
Clemens retweeted
mit 70,6k Brutto im Jahr verdient ihr als Single knapp 3650€ netto im Monat. Das ist ein sehr gutes Gehalt, aber es reicht in einer Großstadt für ne 60qm-Wohnung, n Skoda Octavia im Leasing und Eigentum könnt ihr euch sowieso abschminken. Für die BuReg sed ihr ab da quasi unermesslich reich.
72
101
6
2,329
183,660
/show-me is a phenomenal skill Makes PR descriptions extremely easy to read Basically a toolbox of "nice ways to look at code" Nice work, @dexhorthy github.com/humanlayer/skills…
80
517
42
7,608
890,632
chatgpt, work and codex should all be the same thing. same threads, same features, same mental model. progressive disclosure of features. make the ui adapt to the type of work.
1
26
sol low > luna max for computer use and basic sysadmin work. luna gets confused by its own reasoning and takes way longer
23
👏🏻 you’d never see this kind of transparent communication and attention to detail from the claude folks
We are reseting usage for all paid users of Codex and ChatGPT Work. Please continue reading for an update on Codex usage limits. The team has been working around the clock, going through thousands of reports and shipping fixes. Depending on how you use Codex, you should see your usage go between 10% and 50% further than before. We really went with a fine comb, with many uncovered small things being longstanding and here is what we found and fixed: - Compaction. We were keeping old images during compaction, sometimes making the context large enough to trigger compaction again. After the fix, usage dropped around 10% for users making heavy use of images. Fixed. - Memory. Background memory workers could inherit Stop hooks and keep running when the hook wouldn’t let them finish. This affected fewer than 1% of users, with the long tail being pretty bad and we saw one example thread check whether it could stop 15,000 times. Fixed. - Goals. In some cases, a set /goal could finish and then keep going past the intended stop condition, or the model would keep retrying broken tools without stopping. We saw examples consume anywhere from 15% to 70% of a weekly allowance. Fixed. - Automations. Some custom schedules could run more frequently than configured. Fixed. - Subagents. Smaller models (e.g. Luna) sometimes picked more capable helpers without being explicitly asked. The same was true where the orchestrating model not running in /fast mode could request sub-agents to run /fast. Fixed. - Computer History. The older implementation could lead to repeatedly summarizing overlapping activity. For some cases we saw it consume up to one fifth of the weekly usage per week. Fixed. - Rolling task summaries. Ordinary turns were triggering extra background requests. These added about 1% to token usage. Small each time, but it adds up. We have disabled this. - MCP. Some tool results could be encoded twice. We also found tool instructions getting cut off and fetched again. Fixed. We’ve also made architectural changes to prevent these from regressing and our teams will get paged if it happens regardless. We are also working on showing you directly in the app where your usage goes so you don’t have to guess. Goes without saying that we’re resetting usage limits and I hope you enjoy a very nice Saturday!
46
instead of “How should we implement this?” I now keep asking “Why does this need to exist?”
AI: bringing first order solutions to second order problems since 2024.
1
1
21
When calories became cheap, convenient, and abundant, bodies decayed. Thinking is now cheap.
3