
Rust – “hello world” contains Lovecraft quotes - monort
https://github.com/rust-lang/rust/issues/13871
======
tinco
Wether or not these quotes should stay in the rust runtime should be a
decision based on the concerns of the languages main stakeholder, and that's
the language core developers.

If the developers would lose even the littlest amount of joy or dedication to
the project because their project culture is corrupted by concerns over
lawyers and perceptions of irrational programmers, then that would be a
significant detriment to the project. I'm not saying the developers work on
Rust _because_ there's Lovecraft quotes in there, but the Lovecraft quotes are
in there because the developers are in control of the project. One of the main
things that keeps you happy in a job is being in control, and there's very
little things you are in control over in such a project to begin with.

So what's the upside of this? It makes the developers and some users happy.
You shouldn't be asking what's the upside, because it's obvious. What's the
downside? 2kb of memory for people with GBs of it to spare. Embedded
developers? They're not including the runtime anyway. From my perspective, the
naysayers are just irrational. (As developers often are when judging their
tools)

edit: anyway, however fun it is to discuss this, it's not really up to us, and
the majority of the core developers already reached a concensus in the first 4
comments that the quotes should go, so everyone pitching in after that is
pretty much making an elephant out of a fly (including me).

summary of discussion: "There's 2kb of bloat", "That's only 0.56%", "Yes, but
it looks unprofessional", "Ok let's remove it", "Ok, but I loved it :("

~~~
userbinator
_based on the concerns of the languages main stakeholder, and that 's the
language core developers_

Shouldn't that be its _users_?

 _One of the main things that keeps you happy in a job is being in control,
and there 's very little things you are in control over in such a project to
begin with._

 _It makes the developers and some users happy._

In other words, it's there mostly because the developers are more concerned
with having fun among themselves, rather than the needs of their users? "some
users" is vague, but I doubt it's the majority.

 _What 's the downside? 2kb of memory for people with GBs of it to spare_

I wish this "it's only X amount" type of thinking would stop, because this is
really 2K _multiplied by all the times it gets used_.

Fun and games has its time and place, but the runtime library of a new
language that's trying to increase its popularity is not it. For example, I
enjoy watching 1/2/4K demos, but wouldn't be amused at all if one was embedded
in Rust.

~~~
dbaupp
> Shouldn't that be its users?

In general, the developers of a project get to decide if they "care" about
users; maybe they're working on the project purely for fun, or for research
purposes, and so desires of other people trying to use it are essentially
irrelevant.

(This isn't the case for Rust; but the enjoyment of the contributors and core
team is still important, most of the contributors and some of the core team
are volunteers.)

------
functional_test
What's the upside to this? Larger size, potential legal issues -- all for an
Easter egg?

People defend it, and it hasn't been taken out in 1.0, but it seems like an
all downside trade.

I see the value of Easter eggs, but the fact that this issue keeps coming up
should be enough of a sign that it isn't worth it in this case.

------
jfager
Congratulations, haters: [https://github.com/rust-
lang/rust/pull/20944](https://github.com/rust-lang/rust/pull/20944)

------
tomp
Moreover, as pointed out by mjbshaw [1], it also contains "You've met with a
terrible fate, haven't you" [2], which is apparently a _The Legend of Zelda_
quote [3], almost certainly still under copyright.

[1] [https://github.com/rust-
lang/rust/issues/13871#issuecomment-...](https://github.com/rust-
lang/rust/issues/13871#issuecomment-67676376)

[2] [https://github.com/rust-
lang/rust/commit/29ad8e15a2b7e202494...](https://github.com/rust-
lang/rust/commit/29ad8e15a2b7e2024941d74ea4ce261cb501ded9#diff-a9fca94e278fcf3b55ad199ccfdd9bdeR79)

[3]
[http://zeldawiki.org/Happy_Mask_Salesman#Powers](http://zeldawiki.org/Happy_Mask_Salesman#Powers)

~~~
krick
Actually, I couldn't care less if it's copyrighted or not, the sheer idea of
adding some trash to binaries "for fun" is absolutely enraging in my opinion.
Gosh, I don't get how anybody sane could think it's funny.

I don't think that there should exist some magic command in Python which
prints out "Zen of Python", but it's OK, let it be, no harm done. It's just
some executable, which interprets text you passed it and does something based
on what is written there. It's almost natural there's some command I don't
use.

It's a bit worse when some tool like ack instead of being "better grep" has a
shitload of ugly ascii-art in in, because it's a bit distracting when I read
the sources or even man-page, but, again, it's not that bad. Stupid, useless,
but maybe it's actually my problem I don't like it.

But here is a language compiler which is advertised as "as close to metal as
C", "zero overhead" and stuff, and it puts some random text in my binaries!
2KB of it! It's just… marvelous!

Easter Eggs are fun in GTA Vice City or something, but these are tools,
goddammit. Would you like it if your hammer would have a secret life, doing
something you don't expect it to do? Smashing some details when you don't see
it? Well, I wouldn't. And all I expect of a hammer is, well, being hit against
some surface when I do so.

~~~
RobertKerans
What if the hammer had, say, a quote stamped, in very small script, into the
head, or carved at the base of the haft?

~~~
joosters
What if, say, US army gun sights had bible verses stamped on them?

[http://www.christianpost.com/news/u-s-military-concerned-
abo...](http://www.christianpost.com/news/u-s-military-concerned-about-guns-
with-bible-verses-43411/)

~~~
hga
Those aren't really "US Army" gun sights, as in the stock iron sights on the
M16 and M4 rifles produced to government specifications by Colt, or now FNH
since Colt has lost all their contracts.

They and other designs, like my favorite the holographic EOTech, are sights
designed and manufactured by independent companies that the US Army and
Marines found to be useful in combat, one of the truly big advantages of our
still having a serious civilian gun culture. And of course Trijicon fixed this
after it was requested.

Note also that these are even better Easter eggs, in that one of Trijicon's
claims to fame is using tritium to provide sight illumination in the dark,
hence using _references_ (not actual quotes) to Bible verses referencing
"Jesus being the light of the world" per the article.

Whereas many people including myself are interested in Rust precisely because
it promises to deliver us from the Lovecraftian horrors of C and C++ (although
not this one:
[http://www.bobhobbs.com/files/kr_lovecraft.html](http://www.bobhobbs.com/files/kr_lovecraft.html)).

------
jarcane
The properties of Cthulhu and his Star-Spawn are a standard test case for the
Heresy object system.
[https://github.com/jarcane/heresy/blob/master/tests/things.r...](https://github.com/jarcane/heresy/blob/master/tests/things.rkt)

------
mbrock
I hope that nobody can figure out where these quotes are coming from. Hey,
that would be a good short story.

------
Cacti
There should be an option to disable this, but otherwise, who cares? Live a
little, people.

------
maemilius
ITT: A bunch of programmers trying to validate themselves by removing all the
fun from everything because "real professionals don't have fun at work".

~~~
rootlocus
how about a compier switch --enable_easter_eggs ? This way you can choose if
you want to have fun at work :D

------
sctb
[https://news.ycombinator.com/item?id=7678012](https://news.ycombinator.com/item?id=7678012)

------
JonnieCache
See also
[http://www.rubydoc.info/docs/rails/Array:forty_two](http://www.rubydoc.info/docs/rails/Array:forty_two)

Not quite 2k though. Isn't there something similar in the python stdlib as
well? An xkcd reference or something?

~~~
krick
Yes, there's `import this`. But, as I commented below already, one thing is
interpreter having command you don't use, and another — compiler, advertised
as "close to metal" adding trash in your binaries.

~~~
artursapek
`import antigravity`, as well.

~~~
ayrx
Not to mention `from __future__ import braces`.

