• @[email protected]
    link
    fedilink
    3124 hours ago

    I just inherited a Python repo where every hundred lines or so, they added a ^L. What is a ^L? you ask. And I say that’s an excellent question. You see, a ^L is an ASCII standard for saying that if you print the plain text, you should split the content onto a new page here. That’s right, for years, a team of people strictly enforced that they consistently add ^Ls everywhere in case someone wanted to print the entire fucking repo onto paper.

    It’s an invisible character, it took me quite a while to figure out what it even was.

    • @[email protected]
      link
      fedilink
      1823 hours ago

      If ^L is invisible in your editor, you’re using a bad editor.

      Not saying page feeds are useful, but you can’t complain that you don’t see them.

  • Zarlin
    link
    fedilink
    321 day ago

    This can happen when the file has mixed line endings

    • kionay
      link
      English
      13 hours ago

      I once worked in a program that allowed custom C# scripts to be written into it to add custom functionality. The way it worked under the hood however was that the code written in the text field would be stitched together into a longer file and the whole thing compiled and ran. The developers didn’t want people to have to write or understand boilerplate code like import statements or function declarations so the place you typed into was the body of a function and some UI was used to get the rest of the bits that would create generated code for everything else.

      To add to that there was a section of global code where you could put code explicitly outside of functions if you knew what you were doing. This wouldn’t get code-generation-wrapped into a function, just at the top of the class. It did, however, only run and get runtime checking when one of the functions was ran. And since the program didn’t grasp that the global code error line number should be with respect to the global code block and not the function code block you could get errors on line -54 or whatever since the final generated file landed the global broken code 54 lines before the beginning of the function.

      Not that any of this was told to the user. I only found out because early versions of the app wasn’t compiled with obfuscation so ILSpy let me see how they rigged the thing to work.

      Error on line -54 will probably be what made me the most dumbstruck in all of development.

    • Lemminary
      link
      221 day ago

      Or is being transpiled and doesn’t have a source map. 🥲

  • @SkunkWorkz
    link
    181 day ago

    Obviously a Zero Width Space (U+200B) is placed there

  • palordrolap
    link
    fedilink
    211 day ago

    Urge to analyse… rising…

    My first guess would be to take out that semicolon on line 264. JavaScript will often happily take a new line as end of statement if it makes sense to do that, so in theory, that semicolon is not needed. And it might be a Greek question mark your prankster colleague put in your code when you weren’t looking.

    And then I’d be tracing parentheses, curlies, quotes and so on, because that error could be the point the parser gave up trying to make sense of the code rather than where the error actually is.

    And if that didn’t find it, I’d put in a deliberate error at an earlier, known line to see where the parser thinks that error is. If it’s offset by 20 lines, then I know the original error is probably offset by a similar amount.

  • @marcos
    link
    191 day ago

    Yeah, fixed something like this yesterday.

    Turns out the Oracle database can’t count lines. But that’ not really news.

      • @marcos
        link
        11
        edit-2
        1 day ago

        Yes. Yes, it is.

        Good thing I can’t sign my rights away that easily in my country.

        I think I can even compare it with Postgres and tell people Postgres is faster! Well, not in every single case, but Oracle is beaten by almost every DB in almost every case.

  • @Im_old
    link
    91 day ago

    Fun fact (not really), when docker-compose throws an error on a yaml file it tells on which line the error is. The problem is that it ignores any commented out line, so you end up guesstimating on which line the error is

    • synae[he/him]
      link
      fedilink
      English
      51 day ago

      Easy solution, no comments! Plus then you have a fun puzzle you can figure out over and over again

      • @chellomere
        link
        514 hours ago

        Or, you can at least put comments at the end of lines

  • @marlowe221
    link
    English
    81 day ago

    Man, I hate it when that happens.

  • @badbytes
    link
    51 day ago

    I see the problem, the error is one line off, on 266

  • @[email protected]
    link
    fedilink
    01 day ago

    Man this account consistently reposts hot posts from the Lemmy.world programmer_humor. Starting to get very repetitive and annoying

    • @cm0002OP
      link
      141 day ago

      False, that appears to be hiddenlayer posting to all 3 major programmer humors

      I only do .ml to here as part of a small ongoing effort to direct content away from a tankie instance to other instances. I don’t even crosspost based on how “hot” they are, just whenever I see them.

      I didn’t even know there was a .world programmer humor, why did they use the exact same .ml version logo lmao

        • @cm0002OP
          link
          524 hours ago

          Yes. Like I said, I crosspost em when I see em, not based on how popular I think it’ll be.

          In this case I saw it an hour after posting, but there are plenty that I’ve done that are just minutes apart