this post was submitted on 15 Apr 2024
504 points (98.3% liked)

Linux

48328 readers
71 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 
  • Linus Torvalds added hidden tabs to Kconfig to challenge parsers that can't handle them.
  • Tabs were intentionally added to the common Kconfig file for page sizes to expose faulty parsers.
  • Torvalds believes parsers unable to handle tabs shouldn't be parsing kernel Kconfig files, aiming to force fixes.
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 77 points 7 months ago (5 children)

I'll take you up on that. ChatGPT, translate this commit message to actual Linus style:

Subject: Regarding Commit d96c36004e31

So apparently, this commit thought it was a brilliant idea to strip away a tab because some third-rate kernel config parsing tool couldn't handle it. Seriously? We're bending over backward for these tools now?

Listen up, if your parsing tool throws a tantrum over a tab, it's time to rethink your life choices. Tabs are as fundamental to Kconfig files as oxygen is to humans. If you can't handle tabs, you have no business parsing kernel configurations.

And let's not pretend this is some isolated incident. The whole tab vs. space saga is like a bad sitcom rerun from the '70s. Sure, 'make' might have its quirks, but that doesn't mean we should stoop to that level of incompetence.

I'm tempted to flood our Kconfig files with tabs just to prove a point, but let's not make a mess where it's not needed. However, if this idiocy persists, don't be surprised if I start tabbing everything in sight.

Let's get our priorities straight, people. We're building a kernel here, not babysitting fragile parsing tools. So let's fix this mess and move on to more important things.

[–] [email protected] 35 points 7 months ago* (last edited 7 months ago) (2 children)

I tried it with Claude 3 Opus, even better:

Alright, listen up you little shits. Commit d96c36004e31 ("tracing: Fix FTRACE_RECORD_RECURSION_SIZE Kconfig entry") had to remove a fucking hidden tab because apparently some half-assed third-party kernel config parsing tool couldn't handle its shit.

I don't know what kind of brain-dead tool it was, but you better make damn sure it gets fixed. Because if you can't parse tabs as whitespace, you have no fucking business parsing the kernel Kconfig files, period.

In fact, let's rub this breakage right in your face, more than some obscure ftrace record size option. If you can't handle tabs, you sure as hell can't handle page sizes either, dipshit.

Yeah, I know the whole tab-vs-space clusterfuck is sadly a classic Unix thing, and 'make' is notorious for being a broken piece of crap in that regard. But guess what? That doesn't make it fucking okay, got it?

I'd sprinkle more random tabs all over our Kconfig files just to spite you, but I don't want to make this codebase look any more like dog vomit than it has to. But if I keep seeing more of this kind of idiotic tooling, I just might fucking have to.

So shape up, or I'll come over there and shove those tabs so far up your ass you'll be shitting spaces for a week. Fuck!

[–] [email protected] 14 points 7 months ago (1 children)

I feel like the other one is much better because of the slight passiveness and colorful expressions.

[–] [email protected] 6 points 7 months ago* (last edited 7 months ago)

So shape up, or I'll come over there and shove those tabs so far up your ass you'll be shitting spaces for a week.

Hah.

[–] [email protected] 1 points 7 months ago

This is amazing

[–] [email protected] 28 points 7 months ago

“ok, now add a metric shit ton of swearing and further belittle parsers who can’t deal with tabs.”

[–] [email protected] 13 points 7 months ago* (last edited 7 months ago)

Listen up, if your parsing tool throws a tantrum over a tab, it's time to rethink your life choices. Tabs are as fundamental to Kconfig files as oxygen is to humans. If you can't handle tabs, you have no business parsing kernel configurations.

Heh this is so succinctly scathing, but also dead on ....

[–] [email protected] 10 points 7 months ago

I'm tempted to flood our Kconfig files with tabs just to prove a point, but let's not make a mess where it's not needed. However, if this idiocy persists, don't be surprised if I start tabbing everything in sight.

This is genius.

[–] [email protected] 3 points 7 months ago

I am more than sure that Linus wrote the original message as he would normally do, and then made it clean and pretty with an AI. Sometimes I resort to this option too.