
“this code very fast” pull request to remove whitespace from linux kernel - namanyayg
https://github.com/torvalds/linux/pull/437
======
SwellJoe
This is kinda awesome only because lots of people can't tell if it's a joke or
not. I'm reasonably confident it is, but the fact that a lot of people can't
tell makes it pretty funny. And, the account that posted it is seemingly new
enough to programming to maybe have no idea that it's ridiculous. So, it may
even be sincere, which is less funny, but still caused me to think about it
for a minute.

Also, I admire the handful of people who commented with a sincere explanation
about why it's wrong. I don't have that much patience, but I'm happy that
people who do exist.

~~~
crispinb
I can't tell whether or not it's a joke.

What I can clearly see is the whole reason I left working in tech: the field
is stuffed full of deeply unpleasant and unkind people.

~~~
SwellJoe
Yeah, I try to look past it, but we really are a bitter and angry community on
average; anyone different, anyone less skilled, anyone who can be "othered",
is treated with disdain by a lot of our peers.

It never stops being disappointing...though I also understand the feeling that
leads to it. Some days I genuinely hate my projects users for being so utterly
helpless and having bizarre mental models for how things work. As I've gotten
older and, I think, kinder, I try to take a break when I feel like ranting or
condescending at a person rather than helping. I don't always succeed, but I
wish more people would try.

~~~
mto
That's unfortunately true. I found people in research to be much more open-
minded than in sw development (at the same time they were always a bit too
outgoing for me :)). But not sure if it's much better in most other
disciplines. Tech people seem to be pretty honest at least. Compared to the
backstabbing and cutthroat cultures and hierarchies in business, law and
medicine (there even literally). Elitism can also be found in basically every
other field... So well. Perhaps it's just the people

------
Retr0spectrum
Why don't we just compile the kernel to machine code, and distribute that
instead?

This would completely eliminate waiting for kernel compilation.

~~~
kbr
Machine code varies depending on the platform, and Linux is meant to be
distributed to a _ton_ of platforms.

~~~
PrimHelios
That's the joke. The kernel is _already_ distributed as compiled machine code.

~~~
kbr
Whoops haha didn't catch that :)

------
to3m
I do indent my code, but I very rarely insert syntactically irrelevant spaces.
I don't mind if clang-format (etc.) puts them in for me, but I don't add them
by pressing keys myself and I don't have a problem reading code that leaves
them out (since that code looks just like the code I write myself before I run
it through clang-format).

This has long been my habit, since I started out on a computer with 32K RAM,
where putting in extra spaces just meant you'd need to use shorter variable
names to balance things out.

(Here's a photo of some representative code I wrote for a reddit contest a
couple of years ago:
[http://ffe3.com/pics/.beeb/IMG_1373.JPG](http://ffe3.com/pics/.beeb/IMG_1373.JPG)
\- not much different from what I wrote in the early 1990s as a teenager. But
I did typically use longer variable names back then, because unlike this case
I wasn't concerned about fitting the whole listing on one 40x25 screen...)

Even today, doing this still means fewer L1 cache misses in the scanner.

~~~
copx
Your code is still needlessly verbose.

Have you ever seen how the ancient Romans wrote Latin? Not only no white
space, no interpunctuation either, and everything in uppercase. E.g:
[http://ratcliffe-college.co.uk/wp-
content/uploads/2015/09/La...](http://ratcliffe-college.co.uk/wp-
content/uploads/2015/09/Latin-IMG2.jpg)

So instead of..

    
    
      FEO1:INX:LDAS:STX
     

.. you should just write:

    
    
      FEO1INXLDASSTX
    

Now _that_ is concise code!

~~~
DaiPlusPlus
YESITSVERYCONCISEHOWEVERIMNOTSUREABOUTHOWREADABLEITISWHENYOUHAVEAMBIGUOUSLYSPELLEDWORDSWHERELETTERSCOULDBELONGTOONEWORDORANOTHER.

~~~
0xBA5ED
Surprisingly, I didn't have a hard time reading that. Maybe because I had a
good idea of what the context would be before hand... Hmmmm, interesting
thought of the day.

~~~
carapace
Y cn rmv th vwls frm nglsh nd ts stll knd rdbl.

You can aslo salmrbce the lteerts in wdros and as lnog as the frsit and lsat
leretts are the same it is siltl raleabde.

:-)

OOoo! And of course there's "Ladle Rat Rotten Hut":

> Wants pawn term, dare worsted ladle gull hoe lift wetter murder inner ladle
> cordage, honor itch offer lodge, dock, florist. Disk ladle gull orphan worry
> putty ladle rat cluck wetter ladle rat hut, an fur disk raisin pimple colder
> Ladle Rat Rotten Hut.

~~~
carlmr
>salmrbce

That took me a bit

~~~
0xBA5ED
Me too. My brain reached for "semblance" at first.

------
altotrees
So many people taking it seriously. I have never attempted to commit anything
to the kernel, but it seems like a tough crowd in some areas.

~~~
roblabla
I'm fairly sure that there's almost no serious kernel developer answering
here. Kernel contributions don't go through github PRs but through mailing
lists. The "tough crowd" you see here are trolls - not the actual community,
which is inclusive and quite nice to work with.

~~~
grkvlt
> And actually most of the C and C++ bugs beside the bad logical
> implementation which would be a fault of a person who write the code is the
> problem with not dealocated memory or pointers that point to a wrong part of
> memory and make programs crashes. In other words buffer overflows and stack
> smashing which all lead to segfaulting or even worse if they are not
> properly handled by the operating system like in case of Micro$hit
> windblows.

Yes, I would hope no kernel contributor ever refers to _Micro$hit windblows_ ,
or has such atrocious grammar and communication skills. It seems like this guy
is trying to explain the C memory model, but doing a terrible job. I would
have guessed that most of the commenters are children in high school, but
worryingly many seem to be full-grown adults.

This excerpt (above) is from a comment made by a GitHub account that is six
years old and who claims to be an 'Experienced Linux System Admin'...

------
chainsaw10
It doesn't compile though -- I hope.

I'm pretty sure C keywords require a space on either side...

~~~
Jach
Missed opportunity to put in some zero-width unicode spaces just to add that
extra bit of uncertainty for whether gcc would respect it...

------
Pxtl
Solving the tabs vs spaces debate and the cr/lf debate using the Gordian Knot
approach.

------
AaronFriel
Ah, someone must have mistaken this for the Gentoo repository. This sort of
patch should be maintained by downstream distributions where concerns like
speed are overriding concerns.

Me, personally? I found that compiling was a lot faster if I ran "rm -rf ."
first.

------
roywiggins
While you're at it, minify all the symbols. That will make it much faster.

------
msla
It's almost certainly a joke, but defaulting to treating things you think are
a bad idea as if they were jokes is fairly hostile behavior which makes it
impossible for controversial issues to be discussed because someone will treat
the side they don't support as being so obviously stupid it must be a joke,
which can be dismissed without consideration.

~~~
eigenbom
Best joke I've heard all day.

------
fka
Seems like he made an irony. a.k.a. troll.

Details (in Turkish): [https://palmiyria.blogspot.com.tr/2017/05/test-
yazisi.html?m...](https://palmiyria.blogspot.com.tr/2017/05/test-
yazisi.html?m=1)

~~~
fka
However, the dates are strange.

post about this troll: 24.05.2017 github pr: 17.07.2017 the SS on post:
25.07.2017

------
TazeTSchnitzel
Wasn't there an embedded JS implementation where whitespace slowed down code
execution?

~~~
rjeli
v8 used the string length of a function, including comments, to determine
whether to inline. HotSpot used (uses?) bytecode length of a method, so adding
useless lines would affect performance.

~~~
TazeTSchnitzel
I'm aware of V8, but what I'm thinking of was something worse: JS for embedded
devices that apparently interpreted the code on-device without even compiling
to bytecode.

------
tolgahanuzun
I do not think he's joking. JS thinks in logic. :D

------
phinnaeus
Lots of people getting whooshed in the comments there.

------
pvtmert
this guy is hilarious, well i am in the same country where he is from. Turkey
obviously.

------
linopolus
You could always put it through a C formatter after..

~~~
saagarjha
I'm pretty sure that no C formatter can handle tokens that run together.

~~~
amag
That's right! Linus needs to rewrite the kernel in Fortran so we can utilize
this code compaction!

