It's terrifying how many people would commit the first thing my agent produces to production
I spend quite a bit of time re-prompting and getting the result exactly how I want it
I've noticed that the biggest productivity gain for me with AI code gen isn't that it figures out better solutions than I would have (it happens, but pretty rare, usually I'm telling it there's a better way), so much as it just EDITS FILES FASTER than I can
Unfortunately no matter how judicious I am, no matter how much I review the code, it feels impossible to not let the slop slip in.
I feel like you can prevent it from overflowing, but without your hands getting dirty, you don't really know the state of the project.
I've got an agent in a loop optimizing a renderer with the goal to minimize frame times (and tests to measure). It got times down from 88ms to 2ms and allocations down from ~150K to 500. Sounds good, right? Wrong. This is exactly why agent psychosis is a big fucking problem.
As an experiment, I rewrote the Ghostty core render state in Go, with access to identically laid out data structures as Ghostty and the exact same validation tests. I made a purposely naive renderer (simple, correct, but slow). 88ms per frame with 150,000 allocations (horrendous, lol)!
I then kickstarted a Ralph loop to bring the frame times down. I told it it can't modify input data structures or the public API or tests (they're correct), but it can do anything else it wants. It got to work.
It has worked for about 4 hours. I've spent around $350 on this experiment so far. The results?
88ms => 1.5ms
150K allocs => ~500 allocs
Incredible right? Nope.
My hand-written renderer I ported has frame times (same benchmark) of ~20us (0.020ms) and 0 allocations in the update path.
This is the problem with psychosis and lacking systems understanding. If you don't understand the system, you're going to accept that this is an incredible result. If you understand the system, you'll see better solutions immediately and can do roughly 75x better on throughput.
The people who blindly trust agent output are in the former camp. They're sheeple, overdrinking from a fountain of mediocrity.
Standard disclaimer: I use AI all the time. I like AI. The point I'm making is to not blindly accept results. Think. Analyze. Learn.
Reviewing code generated by AI offsets all the productivity gains you get by using AI. It takes a lot of effort to review and validate changes, and you cannot do that for 8 hours per day.
Unless you are vibe coding, the actual productivity gains are marginal in large projects where software mistakes cost a lot of money.
It isn't unexpected that the focus of the Bun Rust rewrite is on the anti-Zig side more than anything, since the internet loves to hate. What is unexpected and unfortunate is that leadership within Bun hasn't tried to steer the conversation away from that at all.
There are so many positive and interesting takeaways from this and I'm not really seeing any of them pushed as the primary message.
A positive thing that hasn't been talked about at all is how far Bun came thanks to Zig. And even if you dump it now, its meaningful for how good Zig was to even build a product to this point and impact by any metric. I would've loved to see anyone in leadership say this.
On the interesting side is how fungible programming languages are nowadays. Programming languages used to be LOCK IN, and they're increasingly not so. You think the Bun rewrite in Rust is good for Rust? Bun has shown they can be in probably any language they want in roughly a week or two. Rust is expendable. Its useful until its not then it can be thrown out. That's interesting!
There's been a lot of talk about memory safety and no doubt Rust provides more guarantees than Zig. But I'd love to see a better analysis of why Bun in particular suffered so much rather than take the language-blame path. How could engineering as a practice been more rigorous to prevent this? What were the largest sources of crashes other programs should watch out for? How does Rust prevent them? How could Zig theoretically prevent them? That's interesting.
I know the official blog post hasn't come out yet from Bun. But they're smart enough to know that that PR would stir up controversy the moment it opened, or they should've been. And plenty in the company have been tweeting and writing about it. Its somewhat telling to me in various dimensions what they chose to talk about first.
I tend to think I'm pretty good at corporate PR/comms (especially when it comes to developer audiences) and I think appealing to the negative is never the right long term strategy; it does work to get short term eyes though.
Jeff Bezos just told you exactly how to price AI.
Nobody listened.
Bezos: “AI is real and it is going to change every industry. In fact it’s a very unusual technology in that regard in that it’s a horizontal enabling layer.”
Horizontal enabling layer.
Three words that reprice the entire technology sector.
The iPhone was a vertical. One product. One new market.
Electricity was a horizontal. One substrate that rewired every market on Earth.
Wall Street is pricing AI like it is the next iPhone. Bezos is telling you it is the next electrical grid.
Right now, thousands of companies are trying to sell AI as a product.
A feature. A tool. A subscription tier.
Every single one of them will be priced to zero.
You do not sell a horizontal layer. You do not compete with it. You build on top of it or you disappear beneath it.
For a century, entire industries survived on one thing. Complexity.
The friction of navigating law, medicine, logistics, finance. That was the moat. If you could not memorize the maze, you could not compete.
A horizontal layer does not navigate the maze. It dissolves the walls.
Electricity did not compete with the candle industry. It erased the need for one.
The most dangerous part of a horizontal shift is how quiet it is. It moves underneath the economy. The surface looks normal. Revenue still holds.
Every day you operate on the old substrate, you accumulate a debt you cannot see and cannot repay.
The internet repriced distribution. AI is repricing cognition itself.
When intelligence becomes a utility that runs through the walls of every company on Earth, the premium on human expertise does not erode. It evaporates.
This is not a disruption. Disruptions replace products.
This replaces the ground you are standing on.
Japanese actor Hiroyuki Sanada spoke about the contradictions of human nature:
“Some people dream of having a swimming pool at home, while those who have one hardly ever use it. Those who have lost a loved one feel a profound sense of loss, while others often complain about their living relatives. Those without a partner long for one, while those who have one often don't appreciate it. The hungry would give anything for a meal, while the satiated complain about the taste of their food. Those without a car dream of owning one, while those who have a car are always looking for a better one.”
The key to happiness is gratitude: truly seeing and appreciating what we already have, and understanding that somewhere, someone would give anything for what we take for granted.
It’s happening. Yarn 6 Preview is here 💫
Yes, we rewrote it in Rust 🦀⚡️
I'm incredibly excited for the future of our beloved package manager. See the benchmarks and plans in our latest post: https://t.co/7AvujMya97
I don't know a single person who works in tech and hasn't seriously thought about quitting and running a small off-the-grid farm in the middle of nowhere
Microservices is the software industry’s most successful confidence scam. It convinces small teams that they are “thinking big” while systematically destroying their ability to move at all. It flatters ambition by weaponizing insecurity: if you’re not running a constellation of services, are you even a real company? Never mind that this architecture was invented to cope with organizational dysfunction at planetary scale. Now it’s being prescribed to teams that still share a Slack channel and a lunch table.
Small teams run on shared context. That is their superpower. Everyone can reason end-to-end. Everyone can change anything. Microservices vaporize that advantage on contact. They replace shared understanding with distributed ignorance. No one owns the whole anymore. Everyone owns a shard. The system becomes something that merely happens to the team, rather than something the team actively understands. This isn’t sophistication. It’s abdication.
Then comes the operational farce. Each service demands its own pipeline, secrets, alerts, metrics, dashboards, permissions, backups, and rituals of appeasement. You don’t “deploy” anymore—you synchronize a fleet. One bug now requires a multi-service autopsy. A feature release becomes a coordination exercise across artificial borders you invented for no reason. You didn’t simplify your system. You shattered it and called the debris “architecture.”
Microservices also lock incompetence in amber. You are forced to define APIs before you understand your own business. Guesses become contracts. Bad ideas become permanent dependencies. Every early mistake metastasizes through the network. In a monolith, wrong thinking is corrected with a refactor. In microservices, wrong thinking becomes infrastructure. You don’t just regret it—you host it, version it, and monitor it.
The claim that monoliths don’t scale is one of the dumbest lies in modern engineering folklore. What doesn’t scale is chaos. What doesn’t scale is process cosplay. What doesn’t scale is pretending you’re Netflix while shipping a glorified CRUD app. Monoliths scale just fine when teams have discipline, tests, and restraint. But restraint isn’t fashionable, and boring doesn’t make conference talks.
Microservices for small teams is not a technical mistake—it is a philosophical failure. It announces, loudly, that the team does not trust itself to understand its own system. It replaces accountability with protocol and momentum with middleware. You don’t get “future proofing.” You get permanent drag. And by the time you finally earn the scale that might justify this circus, your speed, your clarity, and your product instincts will already be gone.
Mark Zuckerberg scaled Facebook in 2005 - without Kubernetes, Serverless Functions, Redis, Managed Auth, Rust, or Kafka.
No fancy orchestration.
No distributed event streams.
No cloud-native anything.
Modern devs love to over-engineer.
We build as if our projects will scale to 1 million users tomorrow.
But here's the truth:
Most apps die with 100 users, not 1 million.
We predict every possible future case:
→ So we add layers, queues, caches, and microservices...
for problems that don't even exist yet.
That's not architecture.
That's trend-driven engineering.
Always architect your apps based on current needs (not possible future guesses), leaving room for extension and evolution.
Complexity kills projects - simplicity scales.
Don't design your MVP like it's Facebook in 2025.
Design it like Facebook in 2005 - simple, fast, and focused on what matters most: value.
👉 Join 16,000 software engineers who learn how to build software based on current needs and not the trends:
↳ https://t.co/dajCViEeyi
𝗕𝗼𝗻𝘂𝘀: every subscriber gets a PDF with 650+ exclusive resources for mastering C#, .NET, ASP .NET Core, EF Core, and Microservices.
——
♻️ Repost to help others learn how to build software based on current needs
➕ Follow me ( @AntonMartyniuk ) to improve your .NET Skills