13 ms·
Vibe Code Warning – A personal casestudy
- cnity 11mo agoSometimes I read something on the internet and I think: finally someone has articulated something the way that I think about it. And it is very validating. And it cuts through a bunch of noise about how "oh you should be tuning and tweaking this prompt and that" and really speaks to the human experience. Thanks for this.
- all2 11mo agoSame. After using AI for too long I get the same mental feeling as I do when scrolling endlessly on YouTube, a listless empty purposeless feeling that I find difficult to break out of without a whole night's rest.
- jackdoe 11mo agoProgramming was very meditative and fulfilling experience for me, "building something" whatever it is, now I can see it slipping through my fingers. You know the feeling of starting a new mmorpg video game? The first time you enter a new world, you dont know what to do, where to go, there is no "optimal" way to play it, there are no guides, you just try things and explore and play and have fun. Every new project I start I have this feeling. Few years later the game is a chore, you have daily quests, guides and optimal strategies and simmulations and if you dont play what elitistjerks say you are doing it wrong. With AI it feels the game is never new.
- all2 11mo ago> Programming was very meditative and fulfilling experience for me, "building something" whatever it is, now I can see it slipping through my fingers. I've been characterizing it to others as the difference between hand-carving a post for a bed frame vs. letting a CNC mill do it. The artistry-labor is lost, and time-savings are realized. In the process, the meditation of the artist, the labor and blood, sweat, and tears are all lost. It isn't 'bad', but it has this dulling effect on my mind. There's something about being involved at a deep level that is satisfying and uplifting to my mind. When I cede that to a machine, I have lost that satisfaction. Some years ago, I noticed this same issue just looking at typing vs. hand-writing things. I _think_ very differently on paper than I do typing at a terminal. My mind is slow and methodical with a pen, as if I actually have time to think. At a keyboard, I am less patient, more prone to typing before I think.
- CooCooCaCha 11mo agoI’m the opposite. I’d rather spend more time in a flow-like state where I’m dreaming of possibilities and my thoughts come to life quickly and effortlessly. I often find tools frustrating because they are imperfect and even with the best tools you inevitably have to break from your flow sometimes to do stuff in a more manual way. If a tool could take care of building while I remain in flow I’d be in heaven.
- cindyllm 11mo ago[dead]
- CooCooCaCha 11mo agoThat’s interesting because i love computers and parts of programming. Algorithms are fascinating and I get a deep sense of satisfaction when my program works. But at the same time I find programming to be a frustrating experience because I want to spend as much time as possible thinking about what I’m trying to build. In other words I’d rather spend time in the dream-like space of possibilities, and iterating on my thoughts quickly than “dropping down” to reality and thinking through how I’m actually going to build it, what algorithms to use, how to organize code, etc. Because of that I’ve found vibe coding to be enjoyable even if it’s not perfect.
- mfro 11mo agoLove of the process vs the product
- all2 11mo agoThese are intertwined, though, and rather tightly in some cases. Game dev is an excellent example of this.
- CooCooCaCha 11mo agoPerhaps you're confusing enjoyment with necessity. Iteration is necessary to build a good game, but I want to minimize iteration time as much as possible so I can finish the game. In that sense, the process is the enemy. A long, laborious process kills games.
- mentalgear 11mo agoMaybe this is Doom-Coding (as Instagram's empty DoomScrolling).
- Izkata 11mo agoA while ago I suggested "doom prompting", also from "doom scrolling", but it was for a slightly different mental effect: "It's so close, just one more and it might be exactly right".
- abathologist 11mo agoCareful, that way leads roboticization, according to me https://news.ycombinator.com/item?id=44010933 https://news.ycombinator.com/item?id=44010933 :|
- afc 11mo agoWonder if you've tried spec driven development (as opposed to just prompting)? I used to create requirement-oriented prompts and I felt something similar to what you describe. However, I've switched to generating parts of my source code from my specs in a semi-automated way and it made the process much more pleasant (and efficient, I think). I wrote a bit about my current state here: https://alejo.ch/3hi https://alejo.ch/3hi - for my Duende project I generate 8821 lines of code (2940 of implementation, 5881 of tests) from 1553 lines in specifications.
- all2 11mo agoI have. I get into the same head space, either way.
- cyanydeez 11mo agoSome think current AI is like Excel and you just need to know the hotkeys and formulas. Others see its mostly a slot machine that more often than not gives you almost right answers. Knowing how the psychology of gambling machine design is maybe a big barrier between these people.
- NewsaHackO 11mo ago[flagged]
- tekbruh9000 11mo ago[dead]
- dang 11mo ago"Edit out swipes." "Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith." https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- tekbruh9000 11mo ago[flagged]
- deleted 11mo ago[deleted]
- csallen 11mo ago> After about 3-4k lines of code I completely lost track of what is going on... Overall I would say it was a horrible experience, even though it took 10 hours to write close to 10000 lines of code It's hard to take very much away from somebody else's experiences in this area. Because if you've been doing a substantial amount of AI coding this year, you know that the experience is highly dependent on your approach. How do you structure your prompts? How much planning do you do? How do you do that planning? How much review do you do, and how do you do it? Just how hands-on or hands-off are you? What's in your AGENTS.md or equivalent? What other context do you include, when, why, and how? What's your approach to testing, if any? Do you break down big projects into smaller chunks, and if so, how? How fast vs slow are you going, i.e. how many lines of code are you letting the AI write in any given time period? Etc. The answers to these questions vary extremely wildly from person to person. But I suspect a ton of developers who are having terrible experiences with AI coding are quite new to it, have minimal systems in place, and are trying "vibe coding" in the original sense of the phrase, which is to rapidly prompt the LLM with minimal guidance and blindly trust its code. In which case, yeah, that's not going to give you great results.
- nemomarx 11mo agoAfter all of that effort is it faster than coding stuff yourself? This feels like getting into project management because you don't want to learn a new Library in something
- csallen 11mo agoYes, it often is much faster, and significantly so. There are also times where it isn't. Developing the judgment for when it is and isn't faster, when it's likely to do a good job vs isn't likely, is pretty important. But also, how good of a job it does is often a skill issue, too. IMO the most important and overlooked skill is the having the foresight and the patience to give it the context it needs to do a good job.
- sodapopcan 11mo ago> There are also times where it isn't. Should this have the "Significantly so" qualifier as well?
- krainboltgreene 11mo ago"Our products would be so many mirrors in which we saw reflected our essential nature." All the way from 1844.
- mronetwo 11mo ago> After about 3-4k lines of code I completely lost track of what is going on, and I woudn't consider this code that I have written, but adding more and more tests felt "nice", or at least reassuring. > There was a some gaslighting, particularly when it misunderstood dap_read_mem32 thinking it is reading from ram and not MEM-AP TAR/DRW/RDBUFF protocol, which lead to incredible amount of nonsense. > Overall I would say it was a horrible experience, even though it took 10 hours to write close to 10000 lines of code, I don't consider this my project, and I have no sense of acomplishment or growth. Ah yes, we can now mass produce faulty code, we feel even more alienated from our work, the sense of achievement gets taken away, no ownership, barely any skill growth. Wonderful technology. What a time to bring value to the shareholders!
- lazide 11mo agoJust wait until you see how it’s being used for robot boyfriends/girlfriends/porn. Just…. Wow.
- onion2k 11mo agoIs this what programming is now? No. Vibe coding in the sense of handing all responsibility and accountability for the code in a change request over to AI and then claiming the bad code is the fault of AI is not a thing. It's still your change request regardless of how you created it. If you write every line it's yours. If you copy it from SO into your editor and committed it, that's your choices, and therefore your code. If you prompted an LLM to write something, you are responsible for that. If there is AI slop in your codebase it is only because you put it there.
- causal 11mo agoIMO this is why Claude Sonnet is better than ChatGPT: Sonnet is so much better at clarifying, drawing diagrams, writing documentation. It TRIES really hard to keep you in the loop, but of course you can choose to ignore everything it writes and just say "do more" without understanding anything.
- hitarpetar 11mo agono. read the code before you check it in. don't rely on your chatbot to explain it for you
- causal 11mo agoYes that's part of what I meant by read, but understanding a codebase goes a lot faster when you begin with some higher level understanding.
- hitarpetar 11mo agoI'm sure it feels that way to you!
- edfletcher_t137 11mo ago> If there is AI slop in your codebase it is only because you put it there. Nailed it, came here to say this. If anything, this entire post should just be titled "AI PEBKAC". Don't blame the tool because you're using it wrong.
- yodsanklai 11mo agoPretty much my experience, LLMs have taken the fun out of programming for me. My coding sessions are: 1. write prompt 2. slack a few minutes 3. go to 1 4. send code for review I know what the code is doing, how I want it to look eventually, and my commits are small and self-contained, but I don't understand my code as much because I didn't spend so much time manipulate it. Often I spend more time in my loops than if I was writing the code myself. I'm sure that with the right discipline, it's possible to tame the LLM, but I've not been able to reach that stage yet.
- vorticalbox 11mo agoI’ve stopped getting LLM to code and use it to spitball ideas, solutions etc to the issue. This lets you get a solution plan done, with all the files and then you get to write the code. Where I do let it code is in tests. I write a first “good” passing test then ask it to create all the others bad input etc. saves a bunch of time and it can copy and paste faster then I can.
- MikeNotThePope 11mo agoI'm experimenting with how to code w/ LLMs. I used an AI assistant for about a month w/ a React app, prompting it to do this & that, and I learned almost nothing in that month about React itself. Then I prompted it to tell me what to do, but I did the typing, and I learned quite a bit in a short period of time.
- dmix 11mo agoAt a minimum I write my own automated tests for LLM code (including browser automation) and think them through carefully. That always exposes some limitations to Claude's solutions, discovers errors, and lets you revisit it so you fully understand what you're generating. Mostly LLMs do the first pass and I rewrite a lot of it with a much better higher level systems approach and "will the other devs on the team understand / reuse this". I'd still prefer deciphering a lot of default overly-verbose LLM code to some of the crazy stuff that past devs have created by trying to be clever.
- M4v3R 11mo ago
- ipaddr 11mo agoI have felt similiar thoughts. You start off with a mental model of how to develop an app based on experience. You can quickly get the pieces working and wire them up. What get's lost is when you normally develop an app that takes days you create a mind model as you go along that you take with you throughout the day. In the shower you may connect some dots and reimagine the pieces in a more compelling way. When the project is done you have mental model of all of the different pieces; thoughts of where to expand and fears of where you know the project will bottleneck with a mental note to circle back when you can. When you vibe code you don't get the same highs and lows. You don't mentally map each piece. It's not a surprise that opening up and reading the code is the most painful thing but reading my own code is always a joy.
- danielbln 11mo agoI feel I still get that just not on the code level but on the systems level. I know which systems exist, how they connect, how the data flows. The lower level code and implementation details stay foggy, because I didn't write them, but I did design and/or spec the involved systems and data models.
- mentalgear 11mo agoThis reflects my XP as well: use LLMs for semantic search. Do not trust it with your code. > Overall I would say it was a horrible experience, even though it took 10 hours to write close to 10000 lines of code, I don't consider this my project, and I have no sense of acomplishment or growth. > In contrast, using AI to read all the docs (which are thousands of pages) and write helpful scripts to decode the oscilloscope data, create packed C structs from docs and etc, was very nice, and I did feel good after.
- esafak 11mo agoSuppose it was 10,000 lines of solid code. That would still require of dozens of PRs to be digestible, and the attendant time to review. Our attention is the bottleneck now.
- alganet 11mo agoWhat Í'm doing a lot is vibe coding and stashing. Not even a public branch, just git stash the whole thing the LLM writes. Also, I stack the stash. When I vibe code, I pop it, let it work on its own mess, then I stash it again. One project has almost 13.000 lines of vibe mess, all stashed. One good thing, is that the stash builds. It's just that I don't want to release more code than I can read. It's a long review queue that is pre-merged somehow. Once in a while I pick something from there, then I review it and integrate into the codebase more seriously. I don't have the throughput to review it all, and not all projects can be yolo'd.
- afarviral 11mo agoHow can you maintain that much stashed code between commits? I assume you refer to it and manually code using the "mess" as inspo? I don't know stash works much deeper than stashing things I might need later so I can pull from remote.
- alganet 11mo agoIt works quite well for me. I don't use it as inspiration. It's like I said: code that is not reviewed yet. It takes the idea of 50 juniors working for you one step ahead. I manage the workflow in a way that they already made the code they wrote merge and build before I review it. When it doesn't, I delete it from the stash. I could keep a branch for this. Or go even deeper on the temptation and keep multiple branches. But that's more of my throughput I have to spent on merging and ensuring things build after merging. It's only me. One branch, plus an extra "WIP". Stash is perfect for that. Also, it's one level of stashing. It's stacked in the sense that it keeps growing, but it's not several `git stash pop`s that I do. One thing that helps is that I already used this to keep stuff like automation for repos that I maintain. Stuff the owner doesn't want or isn't good enough to be reused. Sometimes it was hundreds of lines, now it's thousands.
- verdverm 11mo agoI just force push the same commits, so you won't know if it was me or the ai that wrote various parts /s I actually lead my commit messages with (human) or (agent) now You could try using a git worktree that never gets pushed
- stevage 11mo agoThis is reassuring. I started vime coding a side project and quickly got repulsed by the feeling of disconnection and lack of ownership. I put it on the shelf for a bit then came back and started over, writing all the code myself (but with a bit of VS Code autocomplete and a lot of assistance from ChatGPT). Super satisfying.
- tcdent 11mo agoIt's to be expected that HN would have a contrarian take but I find it ironic that the amount of criticism toward technological innovation in an industry that is rooted fundamentally in technological innovation is so common.
- immibis 11mo agoThe saying is "don't get high on your own supply" for a reason.
- tcdent 11mo agoThat saying applies to one thing: drugs. It's not something you can extrapolate across industries. What is a programming language in the first place if not a programer satiating their own need for a better tool?
- immibis 11mo agoI hear that cocaine makes you feel very successful despite the fact you're actually sitting in a back room with white powder on your nose doing nothing meaningful whatsoever. This is also what AI does, but not what programming languages do (except possibly Rust for some reason).
- xomiachuna 11mo agoThe stakes are higher than when it comes to any previous controversial technology/bikeshed. This is not "react bad", but rather "push for trusting a black box with engineering bad".
- iammjm 11mo agoI feel with people that say that "AI have take the fun out of programming" for them, but at the same time I think to myself: is it about doing, or is it about getting things done? Like I imagine someone in the past loved their job walking each night through their city, lighting up the gas-powered street lights. And then one day someone else implemented electric street lights, and the first person lost the job they loved. But in the end, its about providing light to the city streets, no? For the great majority of work, it is not about fun, but about doing something other people need or want. For me, AI allows me to realize my ideas, and get things done. Some of it might be good, some of it might be bad. I put at least as much time, attention and effort as the "real" programmers do, but my time goes into thinking and precisely defining what I want, cutting it up into smaller logical modules, testing, identifying and fixing bugs, iterating all the time.
- minimaxir 11mo agoHow people derive utility varies from person to person and I suspect is the root cause of most AI generation pipeline debates, creative and code-wise. There are two camps that are surprisingly mutually exclusive: a) People who gain value from the process of creating content. b) People who gain value from the end result itself. I personally am more of a (b): I did my time learning how to create things with code, but when I create things such as open-source software that people depend on, my personal satisfaction from the process of developing is less relevant. Also, getting frustrated with code configuration and writing boilerplate code is not personally gratifying.
- dlisboa 11mo agoYou like having the painting, you just don't like to paint. You can think of a painting and have it appear before you. That's OK, but surely you can see how painters wouldn't enjoy that in the slightest.
- grim_io 11mo agoYou can still enjoy painting, but there is no guarantee that you will be paid for it.
- 11mo ago
- raphman 11mo agoGiven the code has been completely vibe-coded, what does this mean in practice?: > Copyright (c) 2025 Whose copyright? IIRC, it is consensus that AI cannot create copyrightable works. If the author does not own the copyright, can they add a legally binding license? If not, does this have any legal meaning?: > IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
- bdangubic 11mo ago> After about 3-4k lines of code I completely lost track of what is going on full stop here, there is nothing you can write after this…
- abathologist 11mo agoA key -- perhaps THE key -- remark here, IMO is the following: > I do want to make things, and many times I dont want to know something, but I want to use it This confesses the desire to make, to use, and to make use of, without ANY substantive understanding. Of course this seems attractive for some reasons, but it is a wrong, degenerative way to be in the world. Thinking and being belong together. Knowing and using are two dimensions of the same activity. The way of these tools is a making without understanding, a using without learning, a way of being that is thoughtless. There's nothing preventing us from thoughtful, rigorous, enriching use of generative ML, except that the systems we live and work in don't want us to be thoughtful and enriched and rigorous. They want us pliant and reactive and automated and sloppy. We don't have to bend to their wants tho.
- glenstein 11mo ago>Of course this seems attractive for some reasons, but it is a wrong, degenerative way to be in the world. I share your sense that there's something psychologically vivid and valuable in that passage, but it's part of an implicit bargain that's uncontroversial in other respects - I don't have to be an electrician to want a working light switch. I don't personally inspect elevators or planes or, in many cases, food. It's the basic bargain of modernity. I suppose, to your point, the important distinction here is that I wouldn't call myself an electrician if my relationship to the subject matter doesn't extend beyond the desire to flip a switch.
- abathologist 11mo agoI'd argue that you understand what a light switch does well enough to use it effectively for its purpose. When me move from just making use of something to using something to make with, that is when we should have a deeper understanding I think. Does that sound right? > the important distinction here is that I wouldn't call myself an electrician if my relationship to the subject matter doesn't extend beyond the desire to flip a switch. Yeah, that seems right to me!
- hackmack10 11mo agoThis is very well said. I thought I was just burned out over the past several months. Truth is, I'm just reviewing AI code slop all day and I fucking hate it. It's exhausting.
- rzzzt 11mo agoYou can ask for Mermaid syntax and receive nicely formatted block diagrams.
- lux_sprwhk 11mo agoI don't get it. Any time I step into a human-dev project, I feel exactly the same. Whenever a program gets large enough to be useful, it's too complex for anyone to understand without putting some work into it. It's like spaghetti code only existed after 2022.
- ares623 11mo agoIt’s like the people that hate the job the most are now driving change. People who hated working with others so much, that those who enjoy or don’t mind working with others now have to change with them. I don’t know, but it just doesn’t feel right to me.
- kpil 11mo agoI think that the important conclusion to make of this is that publicly available code is not created or even curated by humans anymore, and it will be fed back into data sets for training. It's not clear what the consequences are. Maybe not much, but there's not that much actual emergent intelligence in LLMs, so without culling by running the code there's seems to be a risk that the end result is a world full of even more nonsense than today. This already happened a couple of years ago for research on word frequency in published texts. I think the consensus is that there's no point in collecting anymore since all available material is tainted by machine generated content and doesn't reflect human communication.
- hackncheese 11mo agoThis is a really interesting point, I wonder if this will have a similar effect to model poisoning
- johnnyApplePRNG 11mo agoI think we'll be fine. AIs definitely generate a lot of garbage, but then they have us monkeys sifting through it, looking for gems, and occasionally they do drop some. My point is, AI generated code still has a human directing it the majority of the time (I would hope!). It's not all bad. But yea, if you're 12 and just type "yolo 3d game now" into Claude Code, I'd say I'd be worried about that but then immediately realized no... that'd be awesome. So yea, I think we'll be fine.
- mmaunder 11mo ago[flagged]
- saturatedfat 11mo agofor the love of the mf game. most fun i’ve had with computers in my whole life
- hitarpetar 11mo agothis has the makings of a quality copypasta
- filoeleven 11mo agoShow some code, then. There are so many spurious claims made by AI backers about how wonderful their apps are, and yet nobody's willing to show anything they've actually produced with it. That's what drives the rancor for me: hype and anecdotes with no evidence.
- bobbyblackstone 11mo agothis is why if you want to use the machine to code. you need to plan, build guards, provide scope and desirables and test, retest, xref everything. the machine codes, then stops and checks the rules, backtests and then continues. as with all progression, structure matters most. also, spaghetti code is the future. adapt or die tbh. "huhuhu look at his spaghetti code, muppet " .... "but it works and is 3 months ahead of schedule ... ." ... "oh" ... "and there is documentation"
- cindyllm 11mo ago[dead]
- _pdp_ 11mo agoLet me play the devil's advocate here for a brief moment. I suspect that developers will adapt to the new norms.
- wartywhoa23 11mo agoTo hell with these new norms which aren't normal at all. And no amount of building back better will change that.
- jackpepsi 11mo agoI resonate with what the author said about losing track of the Mental Model. I think that's the key to enjoying the process or not. I.e. the building up or utilising of that mental model (my own understanding) is they key to finding software development joyful. Specifically: "Easy but boring project" case: For projects where I am already familiar with a strong and sensible architecture then I find AI enjoyable to work with as a simple speed boost. I know exactly what I'm asking AI to do at every stage and can judge it's results well. It's not that interesting to me to code these components myself because I've done it before several times. My mental model of the problem space and a good solution is complete. I get some satisfaction from using my mental model. "Challenging but interesting project" case: For projects where I don't yet understand the best architecture then I will inevitably ask AI to connect Component A to Component B without yet understanding that there should be a Component C. Because I don't have the understanding of the problem space. The thing is before AI I may have made this mistake myself, I just would have had the satisfaction of learning at the same time. Given the time with these type of projects I basically write them twice: First pass making it work but as a huge mess, but building a mental model of the real problem space along the way. Second pass refactoring and getting it right, creating now a mental model of a good solution. Only after two passes would it be a project I would feel is done correctly and be happy (joyful) to publish it. I have found AI enables you to get the first pass working much quicker, but without the learning along the way of the mental model to inform how to make the second pass properly. So If I want the challenging project to be joyful I still need to invest the time to learn from the first pass. And that specific learning task I enjoy more if I do it iteratively as the AI and I build together, it's less enjoyable if I sit down afterwards and only inspect the code. SO if I want a challenging project to be joyful I have to continue investing the time in the first phase to do the learning. AI just gives the opportuntity to produce a messy working prototype without learning anything, which may or may not make sense for the business side of things.
- wessorh 11mo agoafter reading this I purchased fuck-ai.com and decided to write a little website to accumulate writings such as the OP, alas the ai-written code isn't done yet, gotta say I feel simular to waht the author experenced.
- cadamsdotcom 11mo agoThe solution is to ground your model. In code, one way I’ve found to ground the model and make its output trustworthy is test-driven development. Make it write the tests first. Make it watch the tests fail. Make it assert to itself that they fail for the RIGHT reason. Make it write the code. Make it watch the tests pass. Learn how to provide it these instructions and then take yourself out of the loop. When you’re done you’ve created an artefact of documentation at a microscopic level of how the code should behave, which forms a reference for yourself and future agents for the life of the codebase.
- paul_h 11mo agoAgree. I'm having lots of fun with Gen-AI and I still have insights it does not. Test-at-the-same-time-as-prod-code is also doable with gen-AI. All the ones I tried are shit at testability by default in my experience. And every now and again they forget about tests being important.
- mbesto 11mo ago> I don't consider this my project, and I have no sense of acomplishment or growth. Trigger warning incoming... if you are in a for-profit company, does the business really care whether you feel accomplished as long as you are producing code? As an analog - the assembly line worker on a highly automated Tesla assembly line is essentially a replaceable commodity at this point. > The main issue is taste, when I write code I feel if its good or bad, as I am writing it, I know if its wrong, but using claude code I get desensitized very quickly and I just can't tell, it "reads" OK, but I don't know how it feels. In this case it happened when the code grew about 4x, from 1k to 4k lines. And worse of all, my mental model of the code is completely gone, and with it my ownership. Does the code work? If so, why does any of this matter? In an age of automated manufacturing, I've noticed more and more independent wood workers. This is okay - but you aren't going to supply the world's furniture needs with thousands or hundreds of thousands of artisan wood workers.
- DauntingPear7 11mo agoBut a chair cannot be copied from one home to another. Code uniquely can be. Good (perhaps artisanal) code is useful and better for everyone. The foundational improvements by a single person can get magnified throughout a project, while with other crafts the quality of their output does not have the same effect.
- mbesto 11mo ago> Good (perhaps artisanal) code is useful and better for everyone. How so? We actually don't have any specific characteristics on what makes code "good", nor do we have any quantifiable metrics that say "said good code is better"? I may think your chair is more comfortable or that it lasts longer under load, but that doesn't always mean is "better". A cheaper chair could be considered better because its cheaper to acquire, even if its not as comfortable or doesn't last as long.
- aleph_minus_one 11mo ago> But a chair cannot be copied from one home to another. Some 3D printing enthusiast: "Hold my beer ..." :-)
- cmpalmer52 11mo agoI haven’t done any serious web coding in years, so when I needed a little web page dashboard, I thought I’d do it 100% vibe coded. Problem statement: We have four major repos spanning two different Azure DevOps servers/instances/top-level accounts. To check the status of pull requests required a lot of clicks and windows and sometimes re-logging in. So we wanted a dashboard customized to our needs that puts all active pull requests on each repo into a single page, links them to YouTrack, links them to the Azure DevOps pages, auto-refreshes, and flags them by needing attention for approval, merge conflicts, and unresolved comments. And it would use PATs for access that are only stored locally and not in the code or repo. AI used: I began by describing the project goals to ChatGPT 5 and having it suggest a basic architecture. Then I used the Junie agent in JetBrain’s WebStorm to develop it. I gave it the ChatGPT output and told it to create a Readme and the project guidelines. Then I implemented it step by step (basic page layout, fill with dummy data, add Azure API calls, integrate with YouTrack, add features). By following this step by step iteration, almost every step was a one-shot success - only once that I remember did it do something “wrong” - but sometimes I caught it being repetitive or inconsistent, so I added a “maximize code reuse and put all configuration in one place” step. After about 3 hours, some of which was asking it code to my standards or change look and feel, I had a very full featured application. Three different views - the big picture, PRs that need my attention, and active PRs grouped by YouTrack items. I gave it to the team, they loved it and suggested a few new features. Another hour with the Junie Agent and I incorporated all the suggestions. Now we all use it every day. I purposefully didn’t hand edit a single line of code. I did read the code and suggested improvements, but other than that, I think a user with no programming experience could have done it (particularly if they asked chatGPT on the side, “Now what?”). And it looked a helluva lot better than it would have if I coded it because I’m rusty and lazy. Overall, it was my biggest success story of AI coding. We’ve been experimenting with AI bug triage, creating utility functions, and adding tests to our primary apps (all .NET Maui) but with a huge code base, it often missing things or makes bad assumptions. But this level of project was near perfect capability to execution. I don’t know how much my skills helped me manage the project, but I know that I didn’t write the code. And it was kinda fun.
- andrewstuart 11mo ago>> I fucking hate this. >> And I can not help, but feel dusgust and shame. Is this what programming is now? I love it. LLM assisted programming lets me do things I would never have been able to do on my own. Never a greater leap in programming than the LLM. No doubt the process is messy and uncertain and all about wild goose chases but that’s improving with every new release of the LLMs. If you understand everything the LLM wrote then you’re holding it wrong. I don’t hear developers disowning their work because they didn’t write the machine code that the compiler and linker output. LLM assisted programming is no different. I’m excited about it and can’t wait to see where it all goes.
- adamddev1 11mo agoCompiler and linker output is totally different. Compiler and linker output comes from determnistic, hard-coded logic that you can trust and build on. It's in a totally different category. Compiler and linker output is like trusting well-proven math theorums written in standardized symbols, published in peer-reviewed books. LLM output is like asking random people on the street for random ideas with ambiguous language based on who knows what. The jump to LLMs is in no way analogous to the jump to a higher level programming language.
- reeredfdfdf 11mo ago"If you understand everything the LLM wrote then you’re holding it wrong." If you're using LLM to build production code, then yes, you should very much understand everything the LLM wrote.
- ares623 11mo agoLucky I'm not an SRE!
- igravious 11mo agoI've successfully built projects that I had previously abandoned because the amount of tangential learning required felt overwhelming. With AI assistance, I'm now reaching goals that were once just beyond my grasp, which is an incredible feeling. I think those who dismiss 'vibe coding' haven't tried to use it for something truly beyond their current skill set. There's also an implicit sneer in the criticism—a kind of 'Oh, so you need an AI to help you code?'—that misses the point entirely. [btw: I used Deepseek to reword my original reply :)]
- anonymousiam 11mo agoReading through to the end of the README.md on the GitHub page, I noticed that he's claiming copyright on the code, even though he admits that 3/4 of it is machine generated, and he doesn't understand it all. It reminded me of the legal challenges for copyright of content that was not created by a human. In every case that I'm aware of so far, courts have ruled that content that wasn't created by a person cannot be copyrighted.
- boxedemp 11mo agoStill a good business move, in case things change.
- alexpotato 11mo agoMany years ago (early 2000s), I had to write a tool to scrape Yahoo message boards. The business was that folks were running "pump and dump" scams on the finance boards. The companies whose stock was being "pumped" hired law firms who, in turn, hired the company I worked for. I was VERY new to Perl and didn't realize that LWP::simple already existed. I therefore ended up writing my own library using TCP socket handling and sending GET requests "by hand". It was a great learning experience and taught me a lot about how message boards, TCP and HTTP work. At the same time, it was slow, took a lot of time and had limited features and very little error handling. I now use Python's requests module all the time and have never, not ever, thought "I should go peak inside the library to see how it actually works under the hood". My point in this story is that LLMs will probably move us more and more towards "AI as library". Sure, if you are writing super higher performant code that ties tightly to hardware you might still dig down into the details. Most of us will probably just use the next generation "library".
- QuadrupleA 11mo agoTricky though because this generation of LLMs involve random sampling, so unlike computer code and libraries it's non-deterministic and inherently unreliable. Not sure if autoregressive random token sampling will ever be the winning paradigm.
- arresin 11mo ago> And worse of all, my mental model of the code is completely gone, and with it my ownership. EXACTLY my feelings also.
- tppiotrowski 11mo agoI think what Claude generated code is still missing is the feeling of "I learned something from reading this code. Reading this code made me a better programmer". We're not there yet. That's why we have forgiveness for the scripts/tests/etc Claude writes - those are purely for utility. However, reading Claude code must make us feel like we're getting smarter, not dumber.
- dmix 11mo agoI learn new framework/language features all the time from Claude generated code. It's hard for anyone to keep up with every new version or evolution in best practices.
- 1gn15 11mo agoThat was a bit overdramatic, I think. But it does mesh with my experience, though as a robot of course I say this with a lot less emotion: Use LLMs for "compressing and understanding large amounts of existing code", autocomplete, and "vibe coding prototypes, especially for non-programmers". Do not use LLMs for "vibe coding production projects".
- JustExAWS 11mo agoI don’t enjoy coding. I haven’t enjoyed coding since the first 6 years I started coding in 6th grade in 1986 in a combination of Basic and assembly through 1992 when I graduated high school. After that it was to get my degree and after that it was to exchange labor for money to fund my life. There hasn’t been a time since 1996 that I haven’t had some outside interest that I would rather be doing than sitting down at a computer after work. While my official title hasn’t been “software engineer” since 2020 and the last time I had to get a job based solely on my coding ability was 2012, I am still at 51 expected to know how to spit out production level code as part of my job. If AI can help me create code that gets me paid faster so be it. At 51, no one hires me based on my coding skills or even interviews me based on it.
- scuff3d 11mo ago> I fucking hate this. Very nicely summarizes vibe coding in four words. Well done.
- stock_toaster 11mo agoReading vibe coded code often feels like reading the programmatic equivalent of "English as She is Spoke"[1]. [1]: https://en.wikipedia.org/wiki/English_as_She_Is_Spoke https://en.wikipedia.org/wiki/English_as_She_Is_Spoke
- anthk 11mo agoOr the Idiocracy movie where 'doctors' don't understand neither the tech nor the procedures.
- gfgcjxg 11mo agoi what to know hacking
- RamtinJ95 11mo agoThis is exactly what I experienced as well a few weeks back and wrote about here: https://handmadeoasis.com/ai-and-software-engineering-the-conflict-within/ https://handmadeoasis.com/ai-and-software-engineering-the-co... Essentially it boils down to what kind of programmer you are and what about the craft of software engineering you enjoy.
- stpedgwdgfhgdd 11mo agoVibe coding sucks at this moment in time. On the other hand, when was the last time you looked at assembler code and thought, mmmm, I do not like the style? There is also room for optimization. If i would have written this myself, it would be way faster. l'histoire se répète
- dingnuts 11mo ago[dead]
- hitarpetar 11mo agoprogramming languages are deterministic
- agjmills 11mo agoWhilst I ostensibly agree with the sentiment of the linked page, my personal experience is very different - my suspicion is due to the different technologies at play I enjoy building little SaaS side hustles that one day (I can dream) might make me a couple of grand, but I don’t enjoy writing 20+ CRUD controllers, with matching validation, and HTML forms. I’m probably a bit neurospicy, and I have a young family, but before LLMs came along I might “finish” one SaaS every couple of years. I’ve been able to complete 3 so far this year. It’s a wild uptick in productivity. I’m well aware of the dangers that come with it too, but having been in the mines churning out this code for the last couple of decades I feel well versed in what to prompt for, just as I would with a keen yet naive junior engineer. I’d also argue that LLMs are much better at enforcing a particular style on the code base. I feel strongly that with an opinionated framework, in a relatively simple language, solving repetitive simple problems - you’ll have a great time with LLMs and you’ll be more productive than ever. The problems arise when we delegate jobs like writing READMEs or tests (the boring stuff, right?) without really getting into the weeds.
- ta12653421 11mo ago++1
- notarobot123 11mo agoI think it's fair to say that CRUD apps are in a different category to low level systems programming. The former are never particularly difficult to reason about unless they are written poorly, the latter are rarely easy to understand off the bat unless they are extremely written well.
- Luker88 11mo agoSorry about the OT, but I see this more and more often: Project License: MIT Readme.md: "Project is about 80% Vibecoded. 80% of your project is public domain. I'm not saying don't use AI. But at least shut up about how much. This project uses MIT (which IMHO is already a small problem because it has no patent grant), but I see people vibecoding almost all of a project and then using AGPL. Doesn't work like that. AI code can't be copyrighted. No copyright => public domain. Please don't sleepwalk only to wake up to some company closing your projects and laughing at you.
- rkerno 11mo agoI personally find AI generated code to be pretty average. I might get AI to write a function, then rework it. I use it a lot for reviews, which helps. And also as a sounding board for research - this is by far the most valuable use case, saves a ton of time. Or get it to write tests similar to what you have, just tell it what you want tested, and get it to suggest. I definitely don't trust the code it writes, especially for anything remotely complicated.
- noduerme 11mo agoDisenchantment with having something else write code is coming hot and fast on HN this week. Also, yeah, the beach is boring.
- Havoc 11mo agoSome of this angst feels identical to what you heard in artists circles after their craft by genAI AI is cool but also worrying times ahead especially for those that get a part of their purpose/identity from it
- internet_points 11mo agoLooking forward to when we have compiler code written by llms. How hard would it be for a rogue llm provider/employee to channel the spirit of ken and inject little trusting trust attacks, if no one is reading the code any longer? (How likely is it to go off on such a tangent its own, after writing thousands of mind-numbingly boring lines of assembly code, given the existence of many such proof-of-concepts in its training set and the copious examples of temporary llm insanity?)
- sandos 11mo agoThis pretty much sums up my vibe coding experience as well. I have been doing many small pet tool/util projects at work, and after a few thousand LoCs I am always very detached, and have a hard time to see if the LLM is off track or not. At this point I often try to get it to refactor the code aggressively, and especially finding duplicate things.
- ta12653421 11mo agojust do a CTRL A in the one LLM and copy it over to the other and see what it says.
- ta12653421 11mo agoVibe Coding is absolutely OK, .. IF you know what you are doing and if you understand what the result should be. Example: Most systems have uncritical components which are nice to have but nobody wants to code because "we-can-help-ourself-without-X-by-doing-this-manual-step-but-it-will-be-better-if-someone-does-X-somewhen-in-the-future-but-for-now-we-can-work-without-it" E.g.: I have polished tons of report due to AI usage; financial reporting usually ends up somewhere with "large loops collecting data and copying it over to the report" - those things are usually "minimum-implemented" and nobody cares since "its good enough to do Y". Its mundane and frustrating to work on those code snippets. Output streams in general are much more easy now: Lately I had to put together a component to display some numbers in a Windows App, this comes along with things like scaling the data/window correctly etc.; I would have had to put it in windows drawing calls. With a few prompts, I was able to get a perfect rendering component of 1500+ LOC which does exactly what i want and the result is perfect. (even better than in the reference app that we use to compare data output) There are so many things where LLM are just a boon!
- binaryfuel 11mo agoNo one other than devs ever cared about the quality or readability of code. Devs are a necessary evil to business Now that a ‘machine’ can write code no one give a crap. Does it work? Then it’s done. Why would anyone need devs to harness some ‘human capable’ but highly syntactically specific programming instructions that get compiled down into machine code anyhow The new programming language is English
- veegee 11mo ago[dead]
- cmpalmer52 11mo agoOnly if the goal is to run the result and never have to update it or add features. Several of the good test projects I’ve made from scratch with AI (my title at work needs to be “Speaker to Silicon” because I’m usually tasked with experimenting with AI tools) have worked and looked great. Then someone wants a new feature. No problem, it adds it. Then you say, add that feature to this other part of the program, and it does it, but if you don’t look at the code, you realize it re-implemented it, so if you go back in a month and request a change, it only gets applied to the first place it finds. I had to constantly say “DRY! Don’t implement it twice, share the code!” I mean, it’ll get better, but it ain’t there yet.
- jrochkind1 11mo ago> The tests are quite comprehensive test suite Also Claude-written, presumably?
- slowp_ke 11mo agoI love seeing comments in here mulling over if the developer wrote an AGENTS.md or had some sort of appropriate planning, then the vibe coded application wouldn't have been horrible. I'm sorry, I thought OpenAI, Anthropic, Lovable, et. al. certainly don't advertise it as needing? I certainly know the people making purchasing decisions think it's necessary.
- alienbaby 11mo agoThis was my exact first experience trying to build anything of significant size. Several projects later, I can work with the AI now to produce several thousand lines of code, I understand it, it is what I asked for, has the architecture I wanted, is not bloated and is not buggy. Spend time planning, figuring out the architecture you want, refining, breaking things down into smaller implementable features with implementation plans for each feature. Review these things aggressively. Make sure they align with your expectations. Then get it to start writing code. Writing tests for everything. Include detailed runtime logging. Read what it produces, understand it and redo it if it wasn't what you expected. Your experience will be vastly superior to that first attempt.
- weq 11mo agoGreenfields projects where this was possible only make up a tiny fraction of the stuff devs work on. Good devs find it easier, quicker, and more reliable writing the code themselves then explaining the context of the situation to someone. At some point the idea of coupling your buisness to a set of tokens to an ai company that cant make profit on the tokens they sell to you - is going to crash. AI companies have an incentive to generate LoC because thats how they get paid. LoC = context. Your greenfields project turns into a unmaintainable bloated legacy codebase sooner then you expect. Like every other tech innovation in the last 10yrs, after the honeymoon period ends so do those perks that you enjoy today. Just imagine in 5years that time your AI will only recommend libraries they can yeild off, and will charge an even more premium price then you can imagine today to enjoy the benifits of ad free code generation. By that time your skills could be replicated by AI, because you keep training their AIs, and they will be worthless. Only those devs who maintain there understanding of code will be worth anything, and they will be brought in to cleanup the mess. </end musings>
- igravious 11mo agofta: I fucking hate this. to which i respond: i find this fucking magical.
- mintaka5 11mo ago[dead]
- mcalus3 11mo agoVibe coding is cursed gold from the first 'Pirates of the Caribbean' movie. > "For too long I've been parched of thirst and unable to quench it. Too long I've been starving to death and haven't died. I feel nothing. Not the wind on my face nor the spray of the sea. Nor the warmth of a woman's flesh." [steps into moonlight becoming a skeleton]
- jeingham 11mo agoI'm an OFG, born in 1952 (...an okay boomer...) hit the job market in 1971, bad but there were always openings for machinists. Tough craft with a long learning curve but they paid reasonably well in my view, at the time at least. Long story short, TL;DR, evolving myself into a CAD CAM CNC stabilized my career long term. I know there are nuances and differences here with you programmers and the AI revolution but I think you all will be best served embracing it fully or find another path.BTW, the only reason I'm reading HN
- jeingham 11mo ago... is because I parlayed my CAD CAM and CNC knowledge into my follow on career as an web applications manager, server admin (of sorts), DBA and general web wonk midwitz. I'll add that I am still, in my state of semi blissful retirement, clattering away on my several PCs and really having fun with AI, Cursor, HN and other geeky (can we say that anymore?) stuffs. I guess I'll end by advising that to fight evolution is a bad bet.