- 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.
what a mad lad!
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.
these days i think the only reason people want open source is to air the dirty laundry of software development
“newsworthy”??
Who said news? The mailing list is my k-drama
Kernel-drama, my favorite.
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
I’m here for Linus zingers tho?
Based Linus is based.
Tabs are a dark pattern confirmed.
The war is over, long live spaces.
Reminds me of Beethoven writing Für Elise for sometime he loved, and when he was rejected, the music was finished in such a way that she could not play it.
deleted by creator
Fur Elise wasn’t discovered until 40 years after his death and its unknown who it was written for.
deleted by creator
It was probably not for Elise, but Therese, but again its complicated.
This is the best summary I could come up with:
Within yesterday’s Linux 6.9-rc4 release is an interesting little nugget by Linus Torvalds to battle Kconfig parsers that can’t correctly handle tabs but rather just assume spaces for whitespace for this kernel configuration format.
Due to a patch having been queued last week to replace a tab with a space character in the kernel tracing Kconfig file, Linus Torvalds decided to take matters into his own hand for Kconfig parsers that can’t deal with tabs… Torvalds authored a patch to intentionally add some tabs of his own into Kconfig for throwing off any out-of-tree/third-party parsers that can’t correctly handle them.
Torvalds added these intentional hidden tabs to the common Kconfig file for handling page sizes for the kernel.
Torvalds wrote in the patch: "Commit d96c36004e31 (“tracing: Fix FTRACE_RECORD_RECURSION_SIZE Kconfig entry”) removed a hidden tab because it apparently showed breakage in some third-party kernel config parsing tool.
Yes, tab-vs-space confusion is sadly a traditional Unix thing, and ‘make’ is famous for being broken in this regard.
I’d add more random tabs to our Kconfig files, but I don’t want to make things uglier than necessary.
The original article contains 308 words, the summary contains 184 words. Saved 40%. I’m a bot and I’m open source!
The bot vs the human moderator
bell rings
FIGHT!
Bonebag wins
“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.”
The associated forum post contains a much more endearing translation.
Complaining about PC but type the word “fuck”? Genius.
No-no-no. “Whoever can’t handle tabs as whitespaces should heat their IQ, it is below freezing right now”. Or “retroactively aborted”.
Nice one. Maybe e can make a website “whatwouldlinussay.com”?
And honestly, I find his phrasing today far more damming with its conciseness. It screams leadership.
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
Thanks for your insight, fartsparkles.
I need more fartsparkles in my life.
We all do.
Please make fartsparkles the new rimjobsteve. Pretty please?
+1
Spreading kindness to strangers, treating people with respect, and being a force for good on the internet is something everyone should aspire to.
Also I ate way too much glitter than usual this one time and I’ve never been able to live it down. Embrace, extend, shine.
than usual?
I mean, it wasn’t an unhealthy amount!
Sparkly bling bling farts is the new fetish.
Indeed 😂😂
I think your keyboard is broken. It’s inserting random stars in your text.
Yours is too, its posting a silly link at the bottom which makes you look like you’re a Facebook mom in 2003.
Dear Mark Zuckerberg
With this statement, I give notice to Facebook it is strictly forbidden to disclose, copy, distribute, or take any other action against me based on this profile and/or its contents. The content of this profile is private and confidential information. The violation of privacy can be punished by law (UCC 1-308- 1 1 308-103 and the Rome Statute. NOTE: Facebook is now a public entity. All members must post a note like this. If you prefer, you can copy and paste this version. If you do not publish a statement at least once it will be tacitly allowing the use of your photos, as well as the information contained in the profile status updates. FACEBOOK DOES NOT HAVE MY PERMISSION TO SHARE PHOTOS OR MESSAGES.
Doing the pointless thing is whatever.
Mocking people who point out it’s pointless is toxic, abusive, and deeply revealing. You think AI harvesters give a shit what you’ve told them not to harvest?
It has some strong SovCit vibes.
Ah finally! You didn’t put that link in this comment, so I get to feed it to my hungry AI that I keep down in my basement!
Dude. Censoring profanity ain’t as cringe as licensing a fucking Lemmy comment XD
xD xD XDDDD
Can’t we just all come together and agree that they’re both cringe
The Gordon Ramsey of programing
Why are you censoring your own text? Truly baffling.
Because… there’s moderation on lemmy that doesn’t like certain words :P
Not on your instance.
I promise, you can say shit, ass and fuck
I’ve had some posts removed because of that so… maybe not on this community but still.
Yes, but can you say removed, removed, and sharemoved?
Pretty sure your instance is one of the only ones with that filter
cover your eyes!
sha256 I said it
I am no kernel or parsing expert here but how hard would it be to convert tabs to spaces? Is it like very finicky and is weirdly platform dependent that it wouldn’t just be one of the first things that you do if you are writing a parser for anything?
grep -oP ' *'
oops no tabscut -d ' ' -f 3
oops no tabs
WE DO NOT BREAK USERSPACE
Invalid, not an ABI change. Besides, this does not break, it only reveals existing breakage.
Unconventional way to take acid, but I support him.
I do the same to people who refuse to follow specifications they agreed to follow.
There is a slight satisfaction to get back at them for continually delivering much lower quality than is required.
But it really is to cover me. Because, it always happens, later in the future that edge case comes up, and everything breaks. And management is ready to blame me. But then I show them that I tested the edge case before the conclusion of the project. And that programmer ignored my emails, and that I told management these edge cases weren’t covered. But then management signed off on calling it complete. And suddenly management is no longer red with fury. And they usually won’t allow me time to fix it. So the can gets kicked down the road until the next time that edge case fails.
Me: “This is the file format we agree on.”
They: “Yep, that’s what you’ll get.”They: “Why is your script not working?”
Me: “Idk what was the last file you put through it?”In their defense, they got the file from a third party that we both previously assumed competent enough to follow explicit written instructions. Guess there’s a lesson in trust…
Torvalds believes parsers unable to handle tabs shouldn’t be parsing kernel Kconfig files, aiming to force fixes.
Stern but just
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.
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.
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 feel like the other one is much better because of the slight passiveness and colorful expressions.
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.
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 …
“ok, now add a metric shit ton of swearing and further belittle parsers who can’t deal with tabs.”
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.