• regdog@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    1 day ago

    Joke content aside, that image is very poorly crafted. The last square is not even a square!

  • dalekcaan@feddit.nl
    link
    fedilink
    arrow-up
    51
    ·
    3 days ago

    Vibe coder: DO NOT DELETE THE DATABASE. DO NOT DELETE THE DATABASE. DO NOT DELETE THE DATABASE.

    Chatgpt: All I heard was “delete the database” three times.

    • ulterno@programming.dev
      link
      fedilink
      English
      arrow-up
      5
      ·
      2 days ago

      Some guy outside the company: Why don’t you just remove the ability to delete the database from the API?
      The guy that made the thing vibeable before being laid-off: There is no API, I just piped the ChatGPT output to sh

    • ChickenLadyLovesLife@lemmy.world
      link
      fedilink
      English
      arrow-up
      35
      ·
      edit-2
      3 days ago

      I remember my first day of my first professional programming job back in 1996. I had just learned SQL that morning (which I’d never even heard of before) and that afternoon I forgot to add a WHERE clause to a DELETE command. Good times …

      Fortunately this was in production and not in any important environment like development or test.

        • ChickenLadyLovesLife@lemmy.world
          link
          fedilink
          English
          arrow-up
          8
          ·
          2 days ago

          Lol “credentials”. This was done directly on the server, which was kept always logged in with the admin account so anybody in the server room could access it. It was OK though, this was just a small company … just Reliance Electric, now part of Rockwell Automation.

          And you thought “security through obscurity” was bad - this was “security through apathy”.

          • squaresinger@lemmy.world
            link
            fedilink
            arrow-up
            7
            ·
            2 days ago

            That was the 90s. It’s so long ago, we’ve come so far, so luckily there is no way any respectable company in 2025 does anything like that anymore.

            Meanwhile: There’s me joining a ~400k employee corporation half a year ago to find out that they don’t have a dev env and testing is done on production, we just have to not push the “publish” button to keep our tests in preview mode instead of going live in our customer-facing ecom solution. 😬

      • dbx12@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        2 days ago

        That’s why I start my dangerous queries with a broken first word like ELETE FROM table... and do a proofread before adding the D. Saves you from annoying mistakes either by stupidity or fat fingering the enter key.

    • Otter@lemmy.ca
      link
      fedilink
      English
      arrow-up
      11
      ·
      edit-2
      3 days ago

      That’s an actual problem with some of them. It chunks up the prompt and assigns weights to different parts, and doesn’t understand the original intent

      Saying “No food on the plate” might have it decide “plate + food + no”

      Compared to saying “empty plate” for example

    • squaresinger@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      9 hours ago

      I tried vibe coding with Copilot Agent mode the other day just for fun. I needed a small web UI (two forms, a handful of buttons, single page, no backend) for a hobby project. The UI was just for a non-critical part of the project. It won’t see a lot of modifications, it was made from scratch, so basically the perfect circumstances for easy coding.

      I’m a backend/embedded developer and while I can find my way around FE code, I don’t know anything about which framework is currently hype and I didn’t really want to get into learning all that for just a very simple little hobby tool.

      Vibe coding kinda mostly worked.

      • It did create the app I wanted with comparatively small amounts of manual coding.
      • It did help with my lack of framework knowledge

      But that’s where the positives end.

      • It made mistakes all the time resulting in syntax errors, which it reckognized itself and asked if it should fix them, and when I said it should, it just made many, many more syntax errors. So at that point I had to stop using it, fix the errors manually and only then return to vibe coding.
      • One issue I had all the time was that it would put correct lines in the wrong locations. For example, a change should add a line to a list (among other things). It did generate the correct line but put it 100 lines later right in the middle of some function code.
      • The most annoying instances of that were that it insisted on putting each new function on line 1 before the import statements and outside of all components.
      • The produced code was horrible. Like, comically bad. All in one 1500k lines file, duplicate and dead code everywhere, no clear code standard, every function looks like it was stolen from a different project.
      • It implemented a few things that I didn’t ask it for, and when I asked it to remove it, it only removed the feature from the DOM, leaving all supporting functions and variables intact (thus producing dead code).
      • I had to do some manual touch-ups for things it couldn’t do, and it was really difficult to do sue thanks to the spaghetti-origins of the code.

      If this was a real product that was to be maintained for a longer period of time this would be horrendous to maintain.