- 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.
“if you can’t parse tabs as whitespace, you should not be parsing the kernel Kconfig files.” ~ Linus Torvalds
This is what we got after people sent him into PC training. The OG Linus would say something like “if you’re a piece of s* that can’t get over your a** to parse tabs as whitespace you should be ashamed to walk on this planet let alone parsing the kernel Kconfig files. What a f* waste of space.”
And honestly, I find his phrasing today far more damming with its conciseness. It screams leadership.
Thanks for your insight, fartsparkles.
Removed by mod
Please make fartsparkles the new rimjobsteve. Pretty please?
Yeah, I can’t stop laughing at
If you can’t parse tabs, you can’t have page sizes.
It’s like how I’d admonish my pet
Indeed 😂😂
The Gordon Ramsey of programing
The associated forum post contains a much more endearing translation.
I think your keyboard is broken. It’s inserting random stars in your text.
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.
“ok, now add a metric shit ton of swearing and further belittle parsers who can’t deal with tabs.”
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!
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.
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 …
Unconventional way to take acid, but I support him.
Removed by mod
The bot vs the human moderator
bell rings
FIGHT!
Why would anyone NOT parse a tab as whitespace? Like, python really wants you to use spaces but will still let you use tabs if you are consistent.
what a mad lad!
The Robustness Principle may seem like little more than a suggestion, but it is the foundation on which many successful things are based.
To boil it down to meme-level old-school Torvaldsry: Assume everyone else is a f–king idiot who can barely do what they’re supposed to and expect to parse their files / behaviour / trash accordingly.
If you do not do this, you are, without doubt, one of those f–king idiots everyone else is having to deal with. If you do do this, it does not guarantee that you are not a f–king idiot. Awareness is key.
Examples where this works: Web browser quirks mode; Driving a car; Measure twice, cut once. This latter one is special because it reveals that often, the f–king idiot you’re trying to deal with is yourself.
Assume everyone else is worse.
Fun corollary: In altering his behaviour towards
f–king idiotspeople who should know better, Linus has learned to apply the robustness principle to interpersonal communication.using a rly bad word but pretending not to is kinda weird
deleted by creator
People who use spaces are not taping space space space space space space space space. Their tapping the tab key all the same.
Wait…. What? You mean I’ve….
Wow, super newsworthy. Even included some bs about “colorful language”. Can’t let a thing like that go by without trying to entice some internet drama.
I’m here for Linus zingers tho?
“newsworthy”??
Who said news? The mailing list is my k-drama
these days i think the only reason people want open source is to air the dirty laundry of software development
It’s from Phoronix. This is kinda what they do. It’s not worthy of the front page of the Wall Street Journal, but then, no one said it was…
They are kind of known for not being all that clickbaity. They just report on Linux and benchmark stuff