Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • I think one of the best use cases of AI is as a natural language interface to programming. The syntax of a programming language is an opinionated part of its design that often adds to the complexity of learning the language.
  • Vivian, the commercial baker, learned a different set of skills. She might have deskilled with regards to hand-rolling dough but she gained new skills related to industrial production.

    I've made a half-dozen or so DSLs with LLM tools over the last couple of years. I've learned a lot about the architecture of parsers, semantic analysis, editor services, LSPs, DAP, etc. I have a new set of skills! I'm able to focus more on the syntax and semantics languages themselves and the overall developer experience. This would have taken literal man-years of development to do otherwise.

    For my hand-rolled craft I'd much rather sit down at the piano or pick up my guitar!

  • >It's a verbose coder, it overcomplicates things, and it works fast. Even if you had an inhuman level of attention, you couldn't keep up.

    I wonder if that trick about prompting it to write like a 5th grader* would help here. Keep it simple!

    *A trick which allows it to pass for human 70% of the time...

  • I went from just coding manually, to using LLMs for "surgical edits", to "woah, AGI!", to "haha whoops, not even close", to just coding manually (my brain still works!), to "surgical edits" again.

    My current approach is "ask for very small diffs" + "review them very carefully".

    I'm not working a job though, I'm working on a multiplayer game.

    Main findings: The frontier models can't reliably modify Pong without breaking it, so their skill appears to be quite domain-specific. (OK, to be fair, neither can I half the time!) This is probably because they are "time blind". I had one model try to test a game by running it at 0.1 frames per second and shoving each frame in the vision API...

    If you leave any room for a misunderstanding, they will laser in on do it and do the stupidest thing possible. If you're not checking everything carefully, you will discover this later, and you will cry.

    Formal proofs, oddly enough, do not improve the situation: they will simply prove mathematically that the absurd and pointless and backwards implementation is completely without defects. (It obviously does help within an implementation, though.)

    They can't formally prove what the hell you meant when you told them to build something. That job remains frustratingly human!

    Current dissatisfaction: (1) Harnesses are designed for super bloated codebases (i.e. designed to load as little context as possible) which make them pretty clunky for small repos and small edits. (I had a Surgical Edit Tool I need to bring back...), (2) Current LLMs are anal about verifying the most trivial change, even without prompting, even if it's impossible for them to verify it because they're blind so they start measuring pixel data in Python... Both of which eat up Speed and Cost, taking the work even further from Realtime/Interactive to Tedious/Sad.

  • Insightful:

    > the term “vibe-coding” suggests a kind of laissez-faire attitude where you don’t really care about the outcome and you’re just having fun. That’s what the phrase meant when it was coined, but the world has moved on. In many companies professional programmers are using AI in such a way that it’s impossible to imagine that they are also reading the resulting code in detail. This is what modern vibe-coding is. Deferring to the AI, not worrying about the individual lines of code, and keeping an eye on whether the code passes its tests and throws up any problems in production.

    This way of working is the only one that justifies the trillion-dollar bet on the AI industry. I agree, this method should be called vibe-coding.

    by ripe
  • I had the same thought and came to the exact same name: vibe crafting. Published a skill in the process, steps: https://github.com/scosman/vibe-crafting
  • “But that would be like telling a student in the 70s to pretend that calculators or computers don’t exist.”

    If students of the 70s or today pretended they didn’t exist up to a certain point when they needed them to move forward, like bioinformatics or something, they 100% would be better off. There is plenty of research on off loading thinning providing a worse understanding of the material - eg side rules proving a better understanding than calculators.

  • This misses the best use of AI in my opinion, which is to gain understanding. Whst is this bit of code doing? Is there a risk of data leaking here? Are permissions enforced downstream of this function?

    Code review can go much deeper now if you use AI to aggressively attack a PR combined with your human insight. Same for planning a feature:

    Can I consolidate this logic to a shared function? Does the error surface to the user and are there any gaps? What preexisting functionality is affected by this PR? Can this query be made more efficient?

    LLMs are great with focused questions, up and down abstraction layers and across all kinds of concerns. Stack up these focused concerns into a rich understanding of what you are doing or writing.

    Understanding is the real output, code is the byproduct.

Explore Birbla archives