• @Treczoks
    link
    92 days ago

    I don’t speak elisp, but I speak regexp. Looks like the LLM speaks neither.

  • Snot Flickerman
    link
    fedilink
    English
    90
    edit-2
    2 days ago

    Management: Fuck it, ship it.


    The people at the top honestly don’t give a fuck if it barely works as long as it’s an excuse to cut costs. In things like Customer Service, barely working is a bonus, because it makes customers give up before they try to get their issue solved.

  • @kitnaht
    link
    59
    edit-2
    2 days ago

    I mean, I bet it failed at making a regex that worked much faster than you could fail at writing a regex that worked. Sounds like progress! :D

    • Karyoplasma
      link
      fedilink
      292 days ago

      I am always suspicious if a regex I write doesn’t throw some form of pattern compilation error. It usually means I’m not even close to the correct solution.

  • @[email protected]
    link
    fedilink
    English
    40
    edit-2
    2 days ago

    You know what? If your management is telling you to use AI generated code to “go faster”, just go ahead and do it. But fork the repo first, in case you’re still around when they get fired and someone sensible says to put it back how it was before.

      • @[email protected]
        link
        fedilink
        English
        123 hours ago

        Well, if you just swap your CI to point af the fork, and then port over the non-ML delta of business logic, then you’re a fuckin hero and can write your own check, so long as you play it right. Depending on the company. And the leadership. And where you live. And how much of the kool-aid you drink. And-

        But I digress. I do think it’d be quite possible to wrangle a promo out of a situation like that if you play it right.

  • andrew_bidlaw
    link
    fedilink
    English
    192 days ago

    As it learns from our data, no wonder it fucks up at regexps. They are the arcane knowledge not accessible to us mere mortals, nor to LLMs.

    • @[email protected]
      link
      fedilink
      92 days ago

      If you know even a little about how an LLM works it’s obvious why regex is basically impossible for it. I suspect perl has similar problems, but no one is capable of actually validating that.

      • Ignotum
        link
        32 days ago

        What do you mean it’s impossible for it? I know how LLMs work but I don’t know if any such limitations

        Write me a regex that matches a letter repeated four times, followed by a 3 or 4 digit number

        Here’s your regex: ([a-zA-Z])\1{3}\d{3,4}

        • @[email protected]
          link
          fedilink
          32 days ago

          They aren’t context aware, it’s using statistical probability. It can replicate things it’s seen a lot of like a tutorial regex. It can’t apply that to make a more complicated one. Regex in the wild isn’t really standard at all, because it’s rarely used to solve common problems. It has a bunch of random regexs from code it analyzed and will spit something out that looks similar.

  • fmstrat
    link
    fedilink
    English
    122 days ago

    I love regex. I know, most don’t, but I do. GPT/Claude can write some convincing code, but their regexes can be spotted a mile away.

  • @cm0002
    link
    18
    edit-2
    2 days ago

    Just outta curiosity:

    Full o1 model

    “\\id:\[]]+\\\\[]]+\\\”

    Claude 3.5 Haiku:

    Never used elisp, no idea of any of this is right lmao

      • @cm0002
        link
        22 days ago

        3.5 sonnet might do a lot better, idk I’m on the free plan with Claude lmao

    • @[email protected]
      link
      fedilink
      English
      10
      edit-2
      2 days ago

      o1 without Markdown misformatting:

      \\id:\\[^]]+\\\\\[^]]+\\\
      

      No idea what the rectangles are supposed to be, I just copy-pasted it

      • @marcos
        link
        42 days ago

        They are valid unicode points that your font doesn’t know about.

        … or at least they represent that, but I think there’s a character that looks like one too.

        • @[email protected]
          link
          fedilink
          English
          32 days ago

          It’s U+E001 from a Private Use Area. The UnicodePad app renders it as something between 鉮 and 鋁 (separate boxes stricken through; I wasn’t able to find it even with Google Lens)

    • @Skullgrid
      link
      -12 days ago

      I swear to god,someone must have written an intermediary language between regex and actual programming, or I’m going to eventaully do it before I blow my fucking brains out.

      • @BassTurd
        link
        62 days ago

        How do you think that would look? Regex isn’t particularly complicated, just a bit to remember. I’m trying to picture how you would represent a regex expression in a higher level language. I think one of its biggest benefits is the ability to shove so much information into a random looking string. I suppose you could write functions like, startswith, endswith, alpha(4), or something like that, but in the end, is that better?

        • @[email protected]
          link
          fedilink
          62 days ago

          People have unironically done that. No, it isn’t better. The fundamental mental model is the same.

          • @Skullgrid
            link
            22 days ago

            I want to see their unironic attempts, maybe they’re useful to me at least if they’re not better.

            The fundamental mental model is the same.

            It’s not the fundemental model that I have a problem with for Regex, it’s the fucking brainfuck tier syntax

          • @[email protected]
            link
            fedilink
            -12 days ago

            I honestly think it can be a lot more readable, especially when the regex would have been in the thousands of characters.

            • @[email protected]
              link
              fedilink
              -12 days ago

              There’s a built-in feature that Perl has that only a few of the languages claiming PCRE have actually done, and it makes things a lot more readable. The /x modifier lets you put in whitespace and comments. That alone helps a lot if you stick to good indentation practices.

              If all other code was written like an obfuscated C contest, it would be horrible. For some reason, we put up with this on regex, and we don’t have to.

              https://wumpus-cave.net/post/2022/06/2022-06-06-how-to-write-regexes-that-are-almost-readable/index.html

              • @[email protected]
                link
                fedilink
                02 days ago

                I agree, but then there’s also some other niceties that come from expression parsers in the language itself (as noted in the article): syntax highlighting, LSP, a more complete AST for editors like helix.

                • @[email protected]
                  link
                  fedilink
                  02 days ago

                  Syntax highlighting works fine as long as your language has a way to distinguish regexes from common strings. Another place where Perl did it right decades ago and the industry ignored it.

        • @[email protected]
          link
          fedilink
          1
          edit-2
          2 days ago

          Like any other set of parsing combinators just limited to regular grammars. Most if not even all such libraries already contain everything to express the regular subset as it’s actually quite useful.

          It’s certainly more readable once you get past trivial stuff.

          Random example: Here’s nom’s Kleene star, many0.

        • @Skullgrid
          link
          42 days ago

          I suppose you could write functions like, startswith, endswith, alpha(4), or something like that,

          yes.

          but in the end, is that better?

          YES.

          startswith('text');
          lengthMustBe(5);
          onlyContain(CHARSETS.ALPHANUMERICS); 
          endswith('text');
          

          is much more legible than []],[.<{}>,]‘text’[[]]][][)()(a-z,0-9){}{><}<>{}‘text’{}][][

          • @BassTurd
            link
            72 days ago

            Assuming “text” in your example is a placeholder for a 5 digit alpha string, it can be written like this in regex: /[a-zA-Z0-9]{5}/

            If ”text" is literal, then your statement is impossible.

            I think that when it gets to more complex expressions like a phone number with country code that accepts different formats, the verbosity of a higher level language will be more confusing, or at least more difficult to take in quickly.

            • @[email protected]
              link
              fedilink
              32 days ago

              Exactly. It’s a lot like Java to me. Looks readable on the surface, but it’s actually adding a bunch of crap you don’t need and does not help anything.

              They also have to implement a long list of features. These projects tend to focus on the handful of features the authors specifically use, and the rest get sent by the wayside. Taking the Melody language that was mentioned in another message, it hasn’t even fully implemented [^A] or [abc]. We’re not even talking about somewhat obscure stuff like zero width assertions or lookaheads. These are very basic.

          • @BassTurd
            link
            12 days ago

            The “something” is where the regex goes. For simple cases contains by itself does just fine, but for almost anything kind of dynamic input, it’s going to not be capable of what regex does.

      • @marcos
        link
        12 days ago

        intermediary language between regex and actual programming

        It’s called Haskell.

  • @thedeadwalking4242
    link
    22 days ago

    Try breaking each character in the string into its own token, it’ll have an easier time because it’ll actually know what the string is

  • madthumbs
    link
    English
    -102 days ago

    It will replace a lot of crappy jobs the same way the industrial revolution did with machines making it possible to improve lifestyles (which is what machines did).

    The people that typically hate LLMs (AI) are the same people that don’t mind developers flooding the market with ‘free software’ (which can thwart real competition, not just reduce paying jobs).

    It has gotten me on the right path on occasions where it was wrong, and when I question information it will most often tell me ‘you’re right!’ and have a good chance of a real answer.

    The biggest failure I’ve had with it is trying to get the ffmpegthumbnailer working in Windows. Other than that, it’s annoying how many times I ask for instructions for Windows and it tells me to use blatant Linux commands (or package managers).

    • @pivot_root
      link
      6
      edit-2
      2 days ago

      The people that typically hate LLMs (AI) are the same people that don’t mind developers flooding the market with ‘free software’ (which can thwart real competition, not just reduce paying jobs).

      And “fuck the free market” while we’re at it, am I right?

      The only people who hate free software are those who either can’t compete in quality with FOSS offerings, or have something to gain through vendor lock-in. And neither of those are beneficial for anybody other than the software vendor.

      • madthumbs
        link
        English
        -22 days ago

        Vendor lock in is a myth. Vendors stopped selling Linux pre-installed because it cost them more in returns and support. -Take a look at those prices on vendors that sell laptops with it. Linux users will also likely choose a different distro anyway.

        Older people tend to know better the evils of communism and don’t need to be developers to be against FOSS.

        • @pivot_root
          link
          1
          edit-2
          2 days ago

          Vendor lock in is a myth.

          You’ve never worked in a company stuck using Oracle software or AWS, have you?

          Vendors stopped selling Linux pre-installed because it cost them more in returns and support.

          Hmm… consumers buying products inadequately explained to them and returning them because they can’t run the Windows-only software they’re expecting and already familiar with. Sounds a bit like lock-in, doesn’t it?

          Older people tend to know better the evils of communism and don’t need to be developers to be against FOSS.

          “FOSS = communism = bad” and
          “I’m older and therefore correct”

          Yeah, I’m not even going to dignify that asinine take by responding to it. Enjoy your proprietary software.

      • madthumbs
        link
        English
        -52 days ago

        You didn’t pay for or invest your time in software development did you?

        • @pivot_root
          link
          2
          edit-2
          2 days ago

          You would be mistaken, then.

    • @kitnaht
      link
      32 days ago

      To be fair a lot of the windows commands ARE now Linux commands, thanks to WSL. Lots of people using it directly from within windows now instead of trying to make windows-only solutions.

    • @BassTurd
      link
      12 days ago

      Anecdotally, every AI has generations to go before it’s good enough to replace a person entirely. It’s a solid tool for people that know how to code, but it’s nothing more than hobby or reporting worthy to someone with limited to no programming experience. It does not make secure or efficient code, and it’s only as good as the input, which will not be good from someone that doesn’t understand how to code. Anyone that blindly trusts generated code and pushes into production, is insanely reckless and grossly unqualified to have that kind of power.

      • madthumbs
        link
        English
        -12 days ago

        Agreed, at the moment people who understand the code are still valuable. Also knowing what code is capable is as well.