this article is incredibly long and rambly, but please enjoy as this asshole struggles to select random items from an array in presumably Javascript for what sounds like a basic crossword app:

At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. I made some false starts using what I could gather, and while I did my thing—programming—Ben told GPT-4 what he wanted and got code that ran perfectly.

Fine: commands like those are notoriously fussy, and everybody looks them up anyway.

ah, the NP-complete problem of just fucking pulling the file into memory (there’s no way this clown was burning a rainforest asking ChatGPT for a memory-optimized way to do this), selecting a random item between 0 and the areay’s length minus 1, and maybe storing that index in a second array if you want to guarantee uniqueness. there’s definitely not literally thousands of libraries for this if you seriously can’t figure it out yourself, hackerman

I returned to the crossword project. Our puzzle generator printed its output in an ugly text format, with lines like "s""c""a""r""*""k""u""n""i""s""*" "a""r""e""a". I wanted to turn output like that into a pretty Web page that allowed me to explore the words in the grid, showing scoring information at a glance. But I knew the task would be tricky: each letter had to be tagged with the words it belonged to, both the across and the down. This was a detailed problem, one that could easily consume the better part of an evening.

fuck it’s convenient that every example this chucklefuck gives of ChatGPT helping is for incredibly well-treaded toy and example code. wonder why that is? (check out the author’s other articles for a hint)

I thought that my brother was a hacker. Like many programmers, I dreamed of breaking into and controlling remote systems. The point wasn’t to cause mayhem—it was to find hidden places and learn hidden things. “My crime is that of curiosity,” goes “The Hacker’s Manifesto,” written in 1986 by Loyd Blankenship. My favorite scene from the 1995 movie “Hackers” is

most of this article is this type of fluffy cringe, almost like it’s written by a shitty advertiser trying and failing to pass themselves off as a relatable techy

  • datarama@awful.systems
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 months ago

    It’s not tricky at all, but it is tedious. It’s tedious precisely because it isn’t tricky. There’s little essential complexity in the task (so it isn’t fun to solve unless you’re a beginner), but it’s buried in a lot of incidental complexity.

    The thing I’ve personally gotten most actual real-world utility out of LLMs for is … writing VimL scripts, believe it or not. VimL is a language that’s almost entirely made out of incidental complexity, and the main source of friction (at least to me) is that while I use Vim all the time, I rarely write new VimL scripts, so I forget (repress?) all the VimL trivia that aren’t just simple compositions of my day-to-day commands. This is exactly what you’d expect LLMs to be good at: The stakes are low, the result is easy to test, the scripts I need are slight variations over various boring things we’ve already done a ton of times, and writing them requires zero reasoning ability, just a large pile of trivia. I’d prefer it if Vim had a nicer scripting language, but here we are.

    They still screw it up, of course, but given that I never want a VimL script to be very large anyway, that’s easy to fix.

    • sajran@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      10 months ago

      Off topic but are you aware of neovim and it’s Lua capabilities?

      • datarama@awful.systems
        link
        fedilink
        English
        arrow-up
        0
        ·
        10 months ago

        I am! I use Neovim as my daily driver on my own machine.

        I still need some VimL scripts for when I need to work with systems that have Vim but not Neovim, so things I want to always be there, I’ve generally done in VimL. Anything that involves a bit more complexity I do in Lua (or call out to an external script).

    • Soyweiser@awful.systems
      link
      fedilink
      English
      arrow-up
      0
      ·
      10 months ago

      Yeah I was mentally already thinking about different datastructures and how to convert via various ones to solve the crossword puzzle thing (before I went ‘wtf am I doing’) and was already annoyed by a bit of the tedium of the problem.

      And that is interesting that it works well for scripting like that.

      I do now wonder, how much of the working with LLMs for code is partially the rubber duck effect. That while talking to a LLM and trying to get it to generate code you want are you already working out the problem more and more?

      • datarama@awful.systems
        link
        fedilink
        English
        arrow-up
        0
        ·
        10 months ago

        No need to speculate! Lots of programmers say - in those exact words - that they use LLMs as rubber ducks that talk back. As one of my friends (who uses ChatGPT a lot, for that exact purpose) likes to put it: The AI has no brain, you have to bring your own.

        • Soyweiser@awful.systems
          link
          fedilink
          English
          arrow-up
          0
          ·
          10 months ago

          Well, I had to speculate as I had not talked to people about this and don’t use LLMs myself (or at least not directly glares at google search results). So thanks!