Hidden text inside every compiled Rust program
Here is a simple rust code:
// main.rs
//////////////
struct Point { x: int, y: int, }
fn main() { let origin = Point { x: 0i, y: 0i }; println!("The origin is at ({}, {})", origin.x, origin.y); }
//////////////
Compile it using `rustc main.rs`
Now open the compiled `main` file in a text editor and search for this text:
It was from the artists and poets that the pertinent answers came, and I know that panic would have broken loose had they been able to compare notes. As it was, lacking their original letters, I half suspected the compiler of having asked leading questions, or of having edited the correspondence in corroboration of what he had latently resolved to see.....
48 comments
[ 2.7 ms ] story [ 52.2 ms ] thread[1] http://www.hplovecraft.com/writings/fiction/cc.aspx
A humorous person can find something to make fun about and make people feel better even at a funeral -- heck even on his deathbed. I think we all have known people like that.
OSes, compilers, interpreters, editors -- all kinds of programs have had easter eggs since way before the IBM PC. Those kind of things are inherent in hacker culture (check the Hacker's dictionary for lots of examples).
Actually, in my experience, that's the key characteristic of an unfunny person desperately trying to pass: http://www.theonion.com/articles/who-says-java-programmers-d...
In contrast, here's somebody who could compartmentalize fun: http://www.reddit.com/r/IAmA/comments/2birwp/jeff_bridges_he...
Also: https://twitter.com/stuartpb/status/508235714287259648
Side note, I would expect someone named "rails user" to at least have a modicum of humor.
It reeks of immaturity.
Lots of people have explained elsewhere in the thread why this is a completely trivial issue. I don't think it's a reasonable position to hold that a kilobyte of static data in the runtime is an actual problem that needs solving - if it were, we would see pull requests like any other bug, not a pearl-clutching HN thread.
Concern trolls attempt to weaken or fragment a community by pointing out "problems" that aren't actually big enough to actually warrant attention or energy, then accusing the community of weakness/malfeasance/hypocrisy for failing to act. This primarily serves to divide idealists (who want to solve every problem, no matter how small) from pragmatists (who want the community to focus its energy on things that matter).
Amplifying a small matter like this into a "deadly" one and claiming that it "reeks of immaturity" is such grandiose posturing that I personally cannot imagine it's in earnest. It seems more likely to me to be someone heavily invested in another toolchain who wants Rust to not be taken seriously, wants contributors to Rust to fret over every commit, and wants people considering Rust to worry about the consequences should they adopt it. That's all I intended to convey.
Selling consumer lollipops? Use all the whimsy you want; it's part of your marketing.
I don't expect the beams of a trestle to spell "LOL WTF". I expect a bridge to be built by a person who does-not-fuck-around. My life depends on it.
https://github.com/rust-lang/rust/commit/51abdee5f1ad9326713...
What's the point of adding this very long text?
There are many valid reasons why this should be removed, but binary size is not one of them.
Really, the scale of efficiency delta between various things used on computers today is vast, and it's hard to say whether something like this "easter egg" is really significant. A few years ago I knew of a linux distro called "slitaz" that was a 30mb ISO, and it had x windows and a minimal window manager and a barebones browser and such.
On the other hand, its presence in the current codebase will tend to attract playful tinkerers, which is arguably what it needs in its current stage of development.
Search for "Here's a nickel"
[edit: clearer source than the text around the patch: https://github.com/gcc-mirror/gcc/blob/master/libgcc/soft-fp...]
But when I'm trying to resolve a production issue and I have to waste brain cycles ignoring garbage text to solve a problem, I will hunt you down.
https://www.youtube.com/watch?v=aS1esgRV4Rc I'm not by any means the guy who wrote that easter egg, but I'm in absolute solidarity with his sentiment. I don't want to be a Randian Ubermensh like Howard Roark, in a soviet world stripped of all artifice and caprice.
The world needs to stay playful - and my world is software. Fun isn't optional; it's absolutely necessary for the human psyche - any description of a world without it is isomorphic to a prison or a hell. The price of fun is frivolity - one man's fun is another man's "stupid waste of time". There's no way around this; it's just the table ante we have to pay for having a non-spartan culture.
Yes, the overhead cost sucks ... but the alternative has been proven to be much much worse.
Note that the runtime will be removed entirely soon, so that text may go with it…
It's "just" an RFC, but the notion that has some momentum built up already.
Bonus: HyperCard 1.x used "That's all folks..."
FYI, the unix utility 'strings' has this as it's raison d'etre.