Live data from Hacker News

After two years of vibecoding, I'm back to writing by hand

atmoio.substack.com

401–410 of 652 posts

Re: After two years of vibecoding, I'm back to writing by hand

#401
post #85

Earlier quoted context omitted.

Weightlifting and weight training was invented long before forklifts. Even levers were not properly understood back then. My favorite historic example of typical modern hypertrophy-specific training is the training of Milo of Croton [1]. By legend, his father gifted him with the calf and asked daily "what is your calf, how does it do? bring it here to look at him" which Milo did. As calf's weight grew, so did Milo's…

Dad needs to respect that we need rest days.

Bulgarian Method does not have rest days: https://www.mashelite.com/the-bulgarian-method-is-worth-a-lo...

Alexander Zass (Iron Samson) also trained each day: https://en.wikipedia.org/wiki/Alexander_Zass

"He was taken as a prisoner of war four times, but managed to escape each time. As a prisoner, he pushed and pulled his cell bars as part of strength training, which was cited as an example of the effectiveness of isometrics. At least one of his escapes involved him 'breaking chains and bending bars'."

Rest days are overrated. ;)

Re: After two years of vibecoding, I'm back to writing by hand

#402
post #9

> Not only does an agent not have the ability to evolve a specification over a multi-week period as it builds out its lower components, it also makes decisions upfront that it later doesn’t deviate from. That's your job. The great thing about coding agents is that you can tell them "change of design: all API interactions need to go through a new single class that does authentication and retries and rate-limit throttl…

> (And the automated test suite will help them confirm that the refactoring worked properly, because naturally you had them construct an automated test suite when they built those original features, right?) I dunno, maybe I have high standards but I generally find that the test suites generated by LLMs are both over and under determined. Over-determined in the sense that some of the tests are focused on implementatio…

I get the sense that many programmers resent writing tests and see them as a checkbox item or even boilerplate, not a core part of their codebase. Writing great tests takes a lot of thought about the myriad of bizarre and interesting ways your code will run. I can’t imagine that prompting an LLM to “write tests for this code” will result in anything but the most trivial of smoke test suites.

Incidentally, I wonder if anyone has used LLMs to generate complex test scenarios described in prose, e.g. “write a test where thread 1 calls foo, then before hitting block X, thread 2 calls bar, then foo returns, then bar returns” or "write a test where the first network call Framework.foo makes returns response X, but the second call returns error Y, and ensure the daemon runs the appropriate mitigation code and clears/updates database state." How would they perform in this scenario? Would they add the appropriate shims, semaphores, test injection points, etc.?

Re: After two years of vibecoding, I'm back to writing by hand

#403
post #46

Earlier quoted context omitted.

I think this is a pretty solid analogy but I look at the metaphor this way - people used to get strong naturally because they had to do physical labor. Because we invented things like the forklift we had to invent things like weightlifting to get strong instead. You can still get strong, you just need to be more deliberate about it. It doesn't mean shouldn't also use a forklift, which is its own distinct skill you al…

> people used to get strong naturally because they had to do physical labor I think that's a bit of a myth. The Greeks and Romans had weightlifting and boxing gyms, but no forklifts. Many of the most renowned Romans in the original form of the Olympics and in Boxing were Roman Senators with the wealth and free time to lift weights and box and wrestle. One of the things that we know about the famous philosopher Plato…

> I think that's a bit of a myth.

Why do you think that? It's definitely true. You can observe it today if you want to visit a country where peasants are still common.

From Bret Devereaux's recent series on Greek hoplites:

> Now traditionally, the zeugitai were regarded as the ‘hoplite class’ and that is sometimes supposed to be the source of their name

> but what van Wees is working out is that although the zeugitai are supposed to be the core of the citizen polity (the thetes have limited political participation) there simply cannot be that many of them because the minimum farm necessary to produce 200 medimnoi of grain is going to be around 7.5 ha or roughly 18 acres which is – by peasant standards – an enormous farm, well into ‘rich peasant’ territory.

> Of course with such large farms there can’t be all that many zeugitai and indeed there don’t seem to have been. In van Wees’ model, the zeugitai-and-up classes never supply even half of the number of hoplites we see Athens deploy

> Instead, under most conditions the majority of hoplites are thetes, pulled from the wealthiest stratum of that class (van Wees figures these fellows probably have farms in the range of ~3 ha or so, so c. 7.5 acres). Those thetes make up the majority of hoplites on the field but do not enjoy the political privileges of the ‘hoplite class.’

> And pushing against the ‘polis-of-rentier-elites’ model, we often also find Greek sources remarking that these fellows, “wiry and sunburnt” (Plato Republic 556cd, trans. van Wees), make the best soldiers because they’re more physically fit and more inured to hardship – because unlike the wealthy hoplites they actually have to work.

( https://acoup.blog/2026/01/09/collections-hoplite-wars-part-... )

---

> Many of the most renowned Romans in the original form of the Olympics and in Boxing were Roman Senators

In the original form of the Olympics, a Roman senator would have been ineligible to compete, since the Olympics was open only to Greeks.

Re: After two years of vibecoding, I'm back to writing by hand

#404

Earlier quoted context omitted.

People use "vibe coding" to mean different things - some mean the original Karpathy "look ma, no hands!", feel the vibez, thing, and some just (confusingly) use "vibe coding" to refer to any use of AI to write code, including treating it as a tool to write small well-defined parts that you have specified, as opposed to treating it as a magic genie. There also seem to be people hearing big names like Karpathy and Linu…

Funny, the last interview I watched with Karpathy he highlighted the way the AI/LLM was unable to think in a way that aligned with his codebase. He described vibe-coding a transition from Python to Rust but specifically called out that he hand-coded all of the python code due to weaknesses in LLM's ability to handle performant code. I'm pretty sure this was the last Dwarkesh interview with "LLMs as ghosts".

Right, and he also very recently said that he felt essentially left behind by AI coding advances, thinking that his productivity could be 10x if he knew how to use it better.

It seems clear that Karpathy himself is well aware of the difference between "vibe coding" as he defined it (which he explicitly said was for playing with on hobby projects), and more controlled productive use of AI for coding, which has either eluded him, or maybe his expectations are too high and (although it would be surprising) he has not realized the difference between the types of application where people are finding it useful, and use cases like his own that do not play to its strength.

Re: After two years of vibecoding, I'm back to writing by hand

#405

Earlier quoted context omitted.

People use "vibe coding" to mean different things - some mean the original Karpathy "look ma, no hands!", feel the vibez, thing, and some just (confusingly) use "vibe coding" to refer to any use of AI to write code, including treating it as a tool to write small well-defined parts that you have specified, as opposed to treating it as a magic genie. There also seem to be people hearing big names like Karpathy and Linu…

karpathy is biased. I wouldn't use his name as he's behind the whole vibe coding movement. You have to pick people with nothing to gain. https://x.com/rough__sea/status/2013280952370573666

I don't think he meant to start a movement - it was more of a throw-away tweet that people took way too seriously, although maybe with his bully pulpit he should have realized that would happen.

Re: After two years of vibecoding, I'm back to writing by hand

#406
One use case that I'm beginning to find useful is to go into a specific directory of code that I have written and am working on, and ask the AI agent (Claude Code in my case) "Please find and list possible bugs in the code in this directory."

Then, I can reason through the AI agent's responses and decide what if anything I need to do about them.

I just did this for one project so far, but got surprisingly useful results.

It turns out that the possible bugs identified by the AI tool were not bugs based on the larger context of the code as it exists right now. For example, it found a function that returns a pointer, and it may return NULL. Call sites were not checking for a NULL return value. The code in its current state could never in fact return a NULL value. However, future-proofing this code, it would be good practice to check for this case in the call sites.

Re: After two years of vibecoding, I'm back to writing by hand

#407
post #388

Earlier quoted context omitted.

Neat project, and your experience mirrors mine when writing hobby projects. About the project itself, do you plan to open source if eventually? LLM discussion aside, I've long been frustrated by the lack of a good free desktop 3D CAD software.

Thanks man! I would love to build this eventually to a real product so am not currently considering open sourcing it. I can give you a free foreverlicense if you would like to be an alpha tester though :) - but am considering in any case for the eventual non-commercial licenses to be affordable&forever. IMHO what the world needs is a good textbook on how to build CAD software. Mäntylä’s ”Solid modeling” is almost 40…

Fair enough. I was asking mostly because it looks like the current demo is Windows only. I'm trying to de-Windows my life before I'm forced onto Windows 11 and I imagine multi-platform support isn't a high priority for a personal project. I do wish you the best of luck though.

Re: After two years of vibecoding, I'm back to writing by hand

#408

My high school computer lab instructor would tell me when I was frustrated that my code was misbehaving, "It's doing exactly what you're telling it to do". Once I mastered the finite number of operations and behaviors, I knew how to tell "it" what to do and it would work. The only thing different about vibe coding is the scale of operations and behaviors. It is doing exactly what you're telling it to do. And also exp…

"I really hate this damn machine. I wish that they would sell it. It never does what I want it to, only what I tell it."

Re: After two years of vibecoding, I'm back to writing by hand

#409
post #9

> Not only does an agent not have the ability to evolve a specification over a multi-week period as it builds out its lower components, it also makes decisions upfront that it later doesn’t deviate from. That's your job. The great thing about coding agents is that you can tell them "change of design: all API interactions need to go through a new single class that does authentication and retries and rate-limit throttl…

> That's your job.

No, that isn't. To quote your own blog, his job is to "deliver code [he's] proven to work", not to manage AI agents. The author has determined that managing AI agents is not an effective way to deliver code in the long term.

> you don't have the agent-managerial skills to tell the coding agents how to clean up the mess they made

The author has years of experience with AI assisted coding. Is there any way we can check to see if someone is actually skilled at using these tools besides whether they report/studies measure that they do better with them than without?

Re: After two years of vibecoding, I'm back to writing by hand

#410
On the one hand, I created vibe coded a large-ish (100k LOC) C#, Python, Powershell project over the holidays. The whole thing was more than I could ever complete on my own in the 5 days it took to vibe code using three agents. I wrote countless markdown 'spec' files, etc.

The result stunned everyone I work with. I would never in a million years put this code on Github for others. It's terrible code for a myriad reasons.

My lived experience was... the task was accomplished but not in a sustainable way over the course of perhaps 80 individual sessions with the longest being multiple solid 45 minute refactors...(codex-max)

About those. One of things I spotted fairly quickly was the tendency of models to duplicate effort or take convoluted approaches to patch in behaviors. To get around this, I would every so often take the entire codebase, send it to Gemini-3 Pro and ask it for improvements. Comically, every time, Gemini-3-Pro responds with "well this code is hot garbage, you need to refactor these 20 things". Meanwhile, I'm side-eying like.. dude you wrote this. Never fails to amuse me.

So, in the end, the project was delivered, was pretty cool, had 5x more features than I would have implemented myself and once I got into a groove -- I was able to reduce the garbage through constant refactors from large code reviews. Net Positive experience on a project that had zero commercial value and zero risk to customers.

But on the other hand...

I spend a week troubleshooting a subtle resource leak (C#) on a commercial project that was introduced during a vibe-coding session where a new animation system was added and somehow added a bug that caused a hard crash on re-entering a planet scene.

The bug caused an all-stop and a week of lost effort. Countless AI Agent sessions circularly trying to review and resolve it. Countless human hours of testing and banging heads against monitors.

In the end, on the maybe random 10th pass using Gemini-3-Pro it provided a hint that was enough to find the issue.

This was a monumental fail and if game studios are using LLMs, good god, the future of buggy mess releases is only going to get worse.

I would summarize this experience as lots of amazement and new feature velocity. A little too loose with commits (too much entanglement to easily unwind later) and ultimately a negative experience.

A classic Agentic AI experience. 50% Amazing, 50% WTF.

Post reply on HN