Announcement

Collapse
No announcement yet.

Linus Torvalds Injects Tabs To Thwart Kconfig Parsers Not Correctly Handling Them

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Noooo, we are doomed!

    Comment


    • #12
      Originally posted by c117152 View Post

      Tabs enable elastic tabstop.
      curfew It also makes parsing text much easier. Lots of strings include spaces (filenames, semantic names, dates, times, etc) but very few strings include tabs. If you're trying to parse text with columns, then by relying on tabs you can completely ignore (and preserve) spaces. Since tabs automatically grow, it also makes aligning columns much easier.

      Comment


      • #13
        Is that what it has come to? Injecting tabs. Creative problem solving and forward thinking.

        Comment


        • #14
          Originally posted by DanL View Post
          What is the point of this passive-aggressive nonsense?
          It leaves a commit trail and advertises to the people, who he obviously doesn't know who they are and doesn't want to take the time to find out, that their nonsense of trying to 'workaround by changing the source' instead of 'fix the parser' won't be allowed.

          I mean who does that to a 3rd party project?

          Who just randomly starts changing tabs to spaces in a project that has thoroughly established precedent for their style guides? Its a kernel faux pas, I mean I'd be upset if someone came in my project and changed spaces to tabs because their IDE autochanges 8 spaces to a tab and they didn't want to change that. Anyway its supposed to be light hearted rebuke even though it comes off as a bit childish but in no way would I call it aggressive.

          Comment


          • #15
            Originally posted by curfew View Post
            This time he's wrong. Tabs have no purpose in anything. It's an ancient gimmick aimed at saving meaningless amounts of storage space and computing resources by inventing a silly character that can substitute multiple somewhat redundant characters, while also including annoying side-effects, and sometimes even bugs as evident. Those days are gone, have been for 30 years already.
            What's really wrong, is that out there there are parsers that can't even deal with this. Heck, is not even a 101 coding problem, is a thing that supossedly was solved back in the 8-bit era of computing for ASCII code, and solved quite nicely in the 90's when UTF*****g-8 became a thing. (Except for QTidiots who managed to break it back in the 2010's era).

            Comment


            • #16
              Originally posted by curfew View Post
              Tabs have no purpose in anything. It's an ancient gimmick aimed at saving meaningless amounts of storage space and computing resources by inventing a silly character that can substitute multiple somewhat redundant characters, while also including annoying side-effects, and sometimes even bugs as evident. Those days are gone, have been for 30 years already.
              I guess you've never used a manual typewriter. Setting up left aligned columns of text without tabs is not a fun exercise. The intention was never to save storage space on devices that hadn't been invented yet. If you set the tab stops too wide, the momentum of the platen hitting the tab stop would physically move the entire typewriter to the left. They were not a 'gimmick'.

              It's worth understanding why the concept of tab stops was retained in the transition from typewriters to word processors, and why the 'word processors' that programmers use to write their code continue to include tab stop functionality.





              Comment


              • #17
                Pretty much the only thing going for the current Kconfig format is that it's compatible with existing tools, but if backwards-compatibility doesn't matter, then just replace it. Seriously, it's horrendous:

                False/disabled values are identical to unset values except for a #comment; having CONFIG_SOMETHING=n would be so much easier to parse and understand. Mutually-exclusive selections store each possible selection as a separate boolean, which makes the config so much larger and more cluttered than it needs to be. Unset variables automatically copy the default value, but don't update that default value if the default ever changes, which makes rolling out changes much slower and more manual.

                Comment


                • #18
                  Originally posted by panikal View Post
                  It leaves a commit trail and advertises to the people, who he obviously doesn't know who they are and doesn't want to take the time to find out, that their nonsense of trying to 'workaround by changing the source' instead of 'fix the parser' won't be allowed.

                  I mean who does that to a 3rd party project?

                  Who just randomly starts changing tabs to spaces in a project that has thoroughly established precedent for their style guides? Its a kernel faux pas, I mean I'd be upset if someone came in my project and changed spaces to tabs because their IDE autochanges 8 spaces to a tab and they didn't want to change that. Anyway its supposed to be light hearted rebuke even though it comes off as a bit childish but in no way would I call it aggressive.
                  If Linus had just rejected the patch then you'd be right, but he went out of his way to break existing tools for no good reason. If what the submitter did was a faux pas, then what Linus did was a fiasco.

                  Comment


                  • #19
                    Originally posted by EphemeralEft View Post

                    If Linus had just rejected the patch then you'd be right, but he went out of his way to break existing tools for no good reason. If what the submitter did was a faux pas, then what Linus did was a fiasco.
                    Which existing tools did he break? The existing unnamed tools were already broken or they wouldn't be trying to modify the source to fit their parsers weird expectations.

                    Anyway I think you misunderstand the definition of fiasco. It might have unintended future consequences, but this is neither out of place for Linus nor embarrassing for him and achieved his goals, namely ensuring that people won't start trying to play the 'tabs vs space' commit-war game and he won't have to parse a thousand diffs of tabs vs space changes himself because someone doesn't want to fix their parser.

                    Comment


                    • #20
                      Michael, it's funny that you troll people who predicted the kernel code of conduct would be the end of Linux and that Linus no longer calling people idiots would be the end of Linux, and it's a reminder to us all of who
                      the actual idiots were, and I get that they are amusing targets, but at some point we should move on.

                      Comment

                      Working...
                      X