logoalt Hacker News

rgloveryesterday at 6:05 PM7 repliesview on HN

> When you spend two years making useless Arduino projects, you develop instincts about electronics, materials, and design that you can’t get from a tutorial. When vibe coding goes straight to production, you lose that developmental space. The tool is powerful enough to produce real output before the person using it has developed real judgment.

The crux of the problem. The only way to truly know is to get your hands dirty. There are no shortcuts, only future liabilities.


Replies

ytoawwhra92yesterday at 11:05 PM

Nah.

There are corners of the industry where people still write ASM by hand when necessary, but for the vast, vast majority it's neither necessary (because compilers are great) or worthwhile (because it's so time consuming).

Most code is written in high-level, interpreted languages with no particular attention paid to its performance characteristics. Despite the frustration of those of us who know better, businesses and users seem to choose velocity over quality pretty consistently.

LLM output is already good enough to produce working software that meets the stated requirements. The tooling used to work with them is improving rapidly. I think we're heading towards a world where actually inspecting and understanding the code is unusual (like looking at JVM/Python bytecode is today).

Future liabilities? Not any more than we're currently producing, but produced faster.

show 3 replies
alwayesterday at 6:53 PM

Then again, sophisticated manufactured electronics had long been cheap and available by the time somebody thought to create Arduino as a platform in the first place.

And even today, people hack on assembly and ancient mainframe languages and demoscene demos and Atari ROMs and the like (mainly for fun but sometimes with the explicit intention of developing that flavor of judgment).

I predict with high confidence that not even Claude will stop tinkerers from tinkering.

All of our technical wizardry will become anachronistic eventually. Here I stand, Ozymandius, king of motorcycle repair, 16-bit assembly, and radio antennae bent by hand…

bool3maxyesterday at 6:13 PM

You're absolutely right -- that's the crux of the problem. There are no shortcuts, only future liabilities.

show 2 replies
HerbManicyesterday at 8:03 PM

Yep. Increases output but reduces understanding.

gowldyesterday at 7:17 PM

Couldn't one rebut that Arduino is plug-and-play without getting your hands dirty in lower-level electronics?

show 2 replies
tsunamifurytoday at 12:10 AM

HA hey before you code then hope you roll your own silicon because otherwise its just shortcuts.

This is such high minded bullshit.

epiccolemanyesterday at 6:57 PM

I might be tilting at a strawman of your definition of vibe coding - apologies in advance if so.

But LLM-aided development is helping me get my hands dirty.

Last weekend, I encountered a bug in my Minecraft server. I run a small modded server for my kids and I to play on, and a contraption I was designing was doing something odd.

I pulled down the mod's codebase, the fabric-api codebase (one of the big modding APIs), and within an hour or so, I had diagnosed the bug and fixed it. Claude was essential in making this possible. Could I have potentially found the bug myself and fixed it? Almost certainly. Would I have bothered? Of course not. I'd have stuck a hopper between the mod block and the chest and just hacked it, and kept playing.

But, in the process of making this fix, and submitting the PR to fabric, I learned things that might make the next diagnosis or tweak that much easier.

Of course it took human judgment to find the bug, characterize it, test it in-game. And look! My first commit (basically fully written by Claude) took the wrong approach! [1]

Through the review process I learned that calling `toStack` wasn't the right approach, and that we should just add a `getMaxStackSize` to `ItemVariantImpl`. I got to read more of the codebase, I took the feedback on board, made a better commit (again, with Claude), and got the PR approved. [2]

They just merged the commit yesterday. Code that I wrote (or asked to have written, if we want to be picky) will end up on thousands of machines. Users will not encounter this issue. The Fabric team got a free bugfix. I learned things.

Now, again - is this a strawman of your point? Probably a little. It's not "vibe coding going straight to production." Review and discernment intervened to polish the commit, expertise of the Fabric devs was needed. Sending the original commit straight to "production" would have been less than ideal. (arguably better than leaving the bug unfixed, though!)

But having an LLM help doesn't have to mean that less understanding and instinct is built up. For this case, and for many other small things I've done, it just removed friction and schlep work that would otherwise have kept me from doing something useful.

This is, in my opinion, a very good thing!

[1]: https://github.com/FabricMC/fabric-api/pull/5220/changes/3e3...

[2]: https://github.com/FabricMC/fabric-api/pull/5220/changes