Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign up"hello world" contains Lovecraft quotes #13871
Comments
pcwalton
added
A-libs
labels
May 1, 2014
This comment has been minimized.
This comment has been minimized.
|
It looks like this is 2640 bytes of lovecraft quotes in each exectuable (out of 469320, 0.56%). Perhaps it's not so bad? |
This comment has been minimized.
This comment has been minimized.
|
2k is pretty bad, because a hello world binary should be ~10k at most. It's not the lowest hanging fruit right now but it will become a bigger fish as we fix the other problems. I think it's an indication of a larger issue rather than being a problem itself though... |
This comment has been minimized.
This comment has been minimized.
|
I think there is no defensible reason to have that text in every executable. |
This comment has been minimized.
This comment has been minimized.
nddrylliog
commented
May 1, 2014
|
And thus poetry was killed... |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
2K? So that's what 2014 is about? |
This comment has been minimized.
This comment has been minimized.
|
@adrientetar: If you want Rust to be taken seriously as a systems language, you have to worry about that. It's not acceptable in many embedded environments for binaries to be this large. It makes the language unusable without writing the entire standard library again. It's fine for it to be in the standard libraries... just not every binary linking against them. |
This comment has been minimized.
This comment has been minimized.
|
Should be fine until other sources of bloat are removed. |
This comment has been minimized.
This comment has been minimized.
|
The problem here isn't the quotes, it's that the code containing the quotes is used or considered used at all. It's the canary in the coal mine. I'm sure we can cut down the runtime overhead to something much smaller, including getting rid of this. |
This comment has been minimized.
This comment has been minimized.
|
It's not unreasonable for it to be considered used, considering it's part of the abort code, so even a trivial program might trigger it (e.g. on OOM, stack corruption, etc). Personally I'd add a no_horrors cfg option or something to disable it in the rare cases where 2k is considered important, unless the potential for user confusion is considered to great to keep the behaviour at all. |
This comment has been minimized.
This comment has been minimized.
|
It's not rare for people to compare the size of the binaries to C and decide against using Rust for their use case due to it being very unfavourable. You shouldn't have to compile Rust again to disable debugging features useful only to the developers. This is only the runtime abort code, it's not the generic Runtime errors should report real errors, and logic errors should be dealt with by improving the code so redundant checks aren't necessary in the normal release builds. It can remain around in a build that's not for regular end users... the code paths calling this just need some work to remove the need for debugging stuff. |
This comment has been minimized.
This comment has been minimized.
|
Yeah but I love it though :( Hehe. |
This comment has been minimized.
This comment has been minimized.
|
I also love it, but it's more important to be professional and chuck it out. Let's not make this Rust's equivalent to T_PAAMAYIM_NEKUDOTAYIM. Easter eggs are fun, but they have to have literally zero impact on users. |
This comment has been minimized.
This comment has been minimized.
IDisposable
commented
May 1, 2014
|
The key question isn't "is 2K big or small". The key question is "what value does this add". |
This comment has been minimized.
This comment has been minimized.
Kingsquee
commented
May 3, 2014
|
Keeping these as default isn't very professional for many reasons, but I think value would be lost if lightheartedness was removed from Rust as a continuing policy. I've been amazed at how many people become interested in the language after I link them the abort messages in question. A human touch to the compiler output goes a long way. How about a '-fun' flag that enables easter eggs being compiled in? |
This comment has been minimized.
This comment has been minimized.
Sounds a bit ridiculous tbh. The point of an easter egg is to have it everywhere, not to compile it purposefully. |
This comment has been minimized.
This comment has been minimized.
Kingsquee
commented
May 4, 2014
|
Perhaps, but I'd argue the main point of an easter egg is to be entertainingly surprising. A flag enabling them wouldn't give away when they happen, just discourage unpleasant surprises. Wild Wasteland for a compiler. Another option would be to strip the messages when optimizations are enabled. -O equals -nofun. |
This comment has been minimized.
This comment has been minimized.
|
That's funny, wordy and mawkish. "what value does this add"? Nothing. |
This comment has been minimized.
This comment has been minimized.
cvkline
commented
May 11, 2014
|
Besides Lovecraft, I see tons of text obviously related to assertion failures and references to my build directory. I assume there is a lot of debugging code left in the compiler and libraries that will eventually get turned off in a production compiler, yes? |
added a commit
to liigo/rust
that referenced
this issue
May 19, 2014
liigo
referenced this issue
May 19, 2014
Closed
green: remove Lovecraft quotes, for its no practical value #14290
This comment has been minimized.
This comment has been minimized.
|
Am I the only one that's going to bring up copyright issues? I work for a company that thoroughly reviews code with lawyers that will ban any and all uses of software that are even questionable in terms of their license or copyright issues. You might claim embedding these quotes (and without attribution) is fair use etc, but all it takes is for one of my company's lawyers to disagree with your conclusion and suddenly Rust is banned from use in the company. I understand and appreciate the value of having some fun with a project, but these quotes:
|
added a commit
to IDisposable/rust
that referenced
this issue
Dec 19, 2014
This comment has been minimized.
This comment has been minimized.
Lovecraft's works are basically public domain, it's not a problem. |
This comment has been minimized.
This comment has been minimized.
bpicolo
commented
Dec 19, 2014
|
To be fair, pretty sure copyright is the wrong case to make. Lovecraft's works are in the public domain. Edit: Dang, Steve beat me to it. |
This comment has been minimized.
This comment has been minimized.
Won't the embedded environments you speak of use libcore? |
This comment has been minimized.
This comment has been minimized.
True, but it wasn't Lovecraft's quotes I had in mind (but I probably should have been more specific because this issue specifically mention's Lovecraft's quotes and doesn't mention Zelda quotes). I know I'm being a bit paranoid here when I bring up copyright stuff, but I'm not kidding when I mention zealous lawyers laying down strict rules... |
This comment has been minimized.
This comment has been minimized.
|
This is only the opinion of a user on the outside looking in, but I'm not sure there's any sensible reason for this being in-- at best it's a waste of space and code, and at worst having Lovecraft spouted during an |
This comment has been minimized.
This comment has been minimized.
|
I think that it should remain in. It sort of reminds people who stumble upon this that |
This comment has been minimized.
This comment has been minimized.
|
It's not part of An easter egg like this in |
This comment has been minimized.
This comment has been minimized.
|
I suggest its removal simply be the christening commit of 1.0-stable. |
This comment has been minimized.
This comment has been minimized.
|
@Gankro yesssss |
This comment has been minimized.
This comment has been minimized.
franc0is
commented
Dec 19, 2014
|
To those of you saying "2k, in 2014?" I will point out that there are a lot of platforms out there where 2k is still a big deal. If Rust is going to work for embedded systems work, you can't pull tricks like this. |
This comment has been minimized.
This comment has been minimized.
|
@franc0is those would not be using Rust's runtime anyway, and so would not have this in it. |
This comment has been minimized.
This comment has been minimized.
|
Why should we have poetry in a binary executable generated by a supposedly serious, non-esoteric programming language? One would think this wouldn't even need to be a discussion........... |
This comment has been minimized.
This comment has been minimized.
franc0is
commented
Dec 19, 2014
|
@steveklabnik that is not necessarily true. As I understand, the runtime is getting slimmer and slimmer with every RFC. |
This comment has been minimized.
This comment has been minimized.
|
@christopherdumas aye. To my tastes, this sort of easter egg belongs in the compiler/toolchain, not a statically linked stdlib. |
This comment has been minimized.
This comment has been minimized.
|
@thestinger True, it probably shouldn't be part of the runtime. |
added a commit
to brson/rust
that referenced
this issue
Jan 11, 2015
brson
referenced this issue
Jan 11, 2015
Merged
std: Remove fortune cookies from fatal runtime errors #20944
This comment has been minimized.
This comment has been minimized.
stuartpb
commented
Jan 11, 2015
|
An embedded gag that only comes up when the program is frustrating the user with a catastrophic error? What could possibly go wrong? |
This comment has been minimized.
This comment has been minimized.
vgel
commented
Jan 11, 2015
|
Honestly, as someone outside the Rust community, seeing this puts me off using the language. I'm a Lovecraft fan, and if this was an easter egg in the toolchain I would love it, but embedding this statically into all the binaries I ship to end users is a step too far. There's a lot of negative interpretations a snooping end-user could get from finding these quotes talking about things dying and gods in the binaries (and running Rust is a tool. If my table saw has a tiny inscription on the underside with the name of the engineer who designed it - that's neat, a fun homage, and overall great. If my table saw contains a tiny router that engraves that engineer's name onto every piece of wood I cut with it - not so great. It degrades the quality of the tool. While I appreciate the entertainment value of the quotes, I think moving them into a developer tool like the Rust compiler would maintain that entertainment while also not degrading the quality of Rust by inserting unwanted data in generated binaries. |
This comment has been minimized.
This comment has been minimized.
gabrielecirulli
commented
Jan 11, 2015
|
@Rotten194 That's an incredibly fitting analogy. Here are a complete outsider's 2 cents: why not change |
This comment has been minimized.
This comment has been minimized.
marcoms
commented
Jan 12, 2015
|
I am very much in favour of removing the quotes. Put the quotes somewhere where humans will read them, not machines |
pcwalton commentedMay 1, 2014
Yes, really