Hacker News new | comments | show | ask | jobs | submit login
[dupe] Rust – “hello world” contains Lovecraft quotes (github.com)
47 points by monort 839 days ago | hide | past | web | 36 comments | favorite

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 :("

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.

> 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.)

> Shouldn't that be its users?

No, an open source project with a minor foothold is wholly dependant on its developers/contributors. The users at this point have very little investment.

> because this is really 2K multiplied by all the times it gets used

No matter how many times it gets used, it's still 0.56%.

> 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.

Despite your baseless proposition, Rust has done very well in gaining popularity as a C++ competitor. It has done this by discerning in features that actually matter like safety, structure and consistency.

You're making it out to be devs vs users, but let's not overlook the fact that the project lead, along with several major contributors, have independently brought this up and expressed concerns.

Show me all those projects with sad developers who abandoned contributing because they didn't include quotes in their binaries.

Sad developers who abandoned contributing: Joey Hess[0]

Developer that is sad because a committee is irrationally ganging up on his loved inclusion of quotes: Steve Klabnik[1]

0] https://lists.debian.org/debian-devel/2014/11/msg00174.html

1] https://github.com/rust-lang/rust/issues/13871#issuecomment-...

To make my position on this issue clear, it won't be the end of the world if we lose the Lovecraft, and indeed, we are. I find the space issue more compelling than some sort of 'professionalism' claim though. Being a professional does not mean being boring.

(Joey Hess) ∉ (Rust Developers)

Plus, neglecting to include a few Lovecraft quotes does not seem on the same level as "It's clear to me now that [the Debian constitution is] a toxic document, that has slowly but surely led Debian in very unhealthy directions."

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.

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-...

[2] https://github.com/rust-lang/rust/commit/29ad8e15a2b7e202494...

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

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.

>Gosh, I don't get how anybody sane could think it's funny.

It's for people with a sense of humor.

I dunno, I think it's more a way of stating 'this was written by a person', similar to the mouseman furniture. Whether that's appropriate or not in an OS project with multiple collaborators is debatable; I would say yes, but those disagreeing have a fair point (sadly, I feel)

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

> quote stamped, in very small script

You see, "quote stamped on the hammer" would be the case if it would have poetry in the comments in the sources (which is actually nice unless it raises real problems because of some folks who doesn't understand art, but, unfortunately, have a voice in somebody's organization, e.g. lawyers) or, at max (which actually is even closer to your example), if the compiler binaries itself would contain these quotes, which is weird, but still acceptable.

But this one hammer is stamping quotes on my details, really. I hope you can see the difference.

I can, and I do. :) I disagree, but that's for personal, [trivial] reasons (I like there to be the deliberate, personal sign of a maker), and I fully understand this is not something I would guess many professionals feel has a place in a tool such as Rust (rightly so). I was going to say put it in the comments, or make it part of the test suite (makes me sad, but it is a better solution)

Edit: I think it's wrong to say it's weird; this thing has effectively been handcrafted with great care, and authored, not simply machined out of a production line - I think, in fact, it's a very normal thing to do (ignoring any performance issues etc)

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


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).

Well I never.

I don't think a sentence can be copyrighted.

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...

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

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

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".

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

or better yet -Wcthulhu

See also 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?

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.


  from __future__ import braces
    File "<stdin>", line 1
  SyntaxError: not a chance

`import antigravity`, as well.

Not to mention `from __future__ import braces`.

Also 0xCAFEBABE which is the Java class file magic number and apparently comes from a cafe frequented by James Gosling that was "a pretty funky place that was definitely a Grateful Dead Kinda Place":


I love it how Array#forty_two equals self[41].

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact