I know we shouldn't care about the source, crazy-insane as he obviously is, but FWIW, the author is Yusuke Endoh, one of the Ruby core members. RubySource had an interview with him here:
This is truly baffling! I had to run it on my machine, and it really works as advertised.
For the curious who can't (or don't want to) install the compilers for all those languages, here's a zip file with all the intermediate files generated https://dl.dropboxusercontent.com/u/2683925/bigquine.zip
The code that generates the quine is included. There's still lots of super impressive stuff here, but don't be intimidated thinking he wrote that monster by hand!
Wow, even the source code of the original file is arranged to look like the Star of David surrounded by the dragon-eel thing, Obfuscated-C-contest style:
My thoughts went from "This is amazing" to "But he must have taken a lot of time and brainpower to do this" to "This is useless really" to "So what? If I wanted to do that I would take a year perhaps if I ever could" to "This is amazing"
That is both the most incredible thing I've ever seen, yet also by far the saddest thing I've ever seen. Props to the author for taking dedication to a whole new level.
Its not sad at all. Really good programmers can do things that ordinary programmers think impossible. This code was probably generated. Here is a paper on quine generation[1], and the authors have a very popular talk where they livecode a quine generator; that is, they livecode a program that generates an infinite list of quines[2] (source code from talk [3]).
Saying that hacking is "sad" is arrogantly elevating your own limited worldview over the worldview of hackers. Perhaps someday you could hope to become as awesome as the person you're criticizing, but first you have to realize that being a hacker is something worth aspiring to.
Working on it now. I started a repo where I document the things I had to do to get it to work, i.e. where I had to do something other than what was in Mame's README:
Edit2: I ended up copying so much of what was already there that I re-did this as a fork, adding my contributions in two directories (installation and intermediate):
So far I'm stuck at an issue with the Pascal compiler not accepting long strings, which can be fixed either with a compiler switch or by editing the source earlier in the relay.
I'm grabbing the packages (in Ubuntu 12.04, just sub "clojure1.4" with "clojure" and you should be able to grab them all)... will attempt to run it once I get this all set up.
NB: I originally posted this with the link pointing to the QR.rb file, which is the main code file and also a piece of Ascii art. Looks like the mods switched the link back to the main project to provide more context. But to have people looking at QR.rb first and then reading about what it does afterwards was the idea. Amazing piece of work by @hirekoke.
This reminds me very much of the various types of mathematical exercises that seem to be very esoteric and academic but turned out to be very useful in some solution in physics (eg. lorentz contractions). I would not be surprised if some insight indirectly comes from this insanely amazing exercise.
[+] [-] danso|12 years ago|reply
http://rubysource.com/meet-fifteen-ruby-core-committers/
He lists his "hobby in programming" as: "writing a Quine and enjoying esoteric programming."
[+] [-] minikomi|12 years ago|reply
[+] [-] tonylampada|12 years ago|reply
[+] [-] YzzYz|12 years ago|reply
https://github.com/tric/trick2013/blob/master/mame1/entry.rb
from TRICK2013 (The 1st Transcendental Ruby Imbroglio Contest for rubyKaigi)
https://sites.google.com/site/trickcontest2013/
[+] [-] fakeer|12 years ago|reply
[deleted]
[+] [-] scrumper|12 years ago|reply
Fortunately, he can correct it without blowing out his Ascii art by deleting the extra space between '##' and 'Quine'.
I'd issue a pull request myself, but it'd be like me putting soy sauce on a piece of Jiro Ono's sushi. I am completely unworthy.
[+] [-] ilyanep|12 years ago|reply
[+] [-] chalst|12 years ago|reply
https://github.com/mame/quine-relay/commit/b9322a12e9598911f...
The hashes are automatically generated, it turns out.
[+] [-] quchen|12 years ago|reply
[+] [-] cbhl|12 years ago|reply
[+] [-] sans-serif|12 years ago|reply
[+] [-] codeulike|12 years ago|reply
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] epidemian|12 years ago|reply
[+] [-] polemic|12 years ago|reply
This project isn't code, it's art.
Edit:
Heh, Brainfuck, Whitespace, Logo... and notice they're all in alphabetical order?
[+] [-] Rabidgremlin|12 years ago|reply
[+] [-] candeira|12 years ago|reply
jasmin QR.j QR.j:2: Warning - Syntax error.
^ QR.j:2: Error - Couldn't repair and continue parse.
^ QR.j: Found 2 errors
And then completely craps out at the badly generated Java. Any idea of what goes?
[+] [-] vedant|12 years ago|reply
I started a tiny stub post here, where I'd like to dig into the code over the next couple of days: http://vedantmisra.com/2013/07/yusuke-endohs-amazing-quine-r...
I also made an EC2 AMI, ID ami-744b351d, for anyone who would like to try this themselves.
[+] [-] jcromartie|12 years ago|reply
https://github.com/mame/quine-relay/blob/master/src/code-gen...
[+] [-] StavrosK|12 years ago|reply
[+] [-] lisper|12 years ago|reply
[+] [-] Leszek|12 years ago|reply
[+] [-] scott_karana|12 years ago|reply
Same fellow who did the "rotating globe" quine a few years back:
http://mamememo.blogspot.ca/2010/09/qlobe.html
[+] [-] mncaudill|12 years ago|reply
[+] [-] barbs|12 years ago|reply
https://github.com/mame/quine-relay/blob/master/QR.rb
[+] [-] jetru|12 years ago|reply
[+] [-] boomlinde|12 years ago|reply
[+] [-] RyanZAG|12 years ago|reply
Link to a description of what this actually is: https://github.com/mame/quine-relay
[+] [-] dustingetz|12 years ago|reply
[1] http://users-cs.au.dk/danvy/sfp12/papers/byrd-holk-friedman-... [2] http://www.infoq.com/presentations/miniKanren [3] https://github.com/webyrd/quines
The talk is amazing and hilarious.
On point, if the code is not generated in this fashion, there is assuredly a "work smart not hard" trick that drastically simplifies the problem.
[+] [-] skrebbel|12 years ago|reply
There's nothing wrong with not loving programming, but calling people who clearly do "sad" because of it, is a bit, well, sad.
[+] [-] GuiA|12 years ago|reply
[+] [-] kragen|12 years ago|reply
[+] [-] quchen|12 years ago|reply
[+] [-] SilasX|12 years ago|reply
https://github.com/SilasX/QuineRelayFiles
The intermediate source files I've been able to generate so far are in /output_files:
https://github.com/SilasX/QuineRelayFiles/tree/master/output...
Edit: Direct link to the go file:
https://github.com/SilasX/QuineRelayFiles/blob/master/output...
Edit2: I ended up copying so much of what was already there that I re-did this as a fork, adding my contributions in two directories (installation and intermediate):
https://github.com/SilasX/quine-relay
So far I'm stuck at an issue with the Pascal compiler not accepting long strings, which can be fixed either with a compiler switch or by editing the source earlier in the relay.
https://github.com/mame/quine-relay/issues/3
[+] [-] vedant|12 years ago|reply
I also made an EC2 AMI, ID ami-744b351d, for anyone who would like to try this themselves.
I started a tiny stub post here, where I'd like to dig into the code over the next couple of days: http://vedantmisra.com/2013/07/yusuke-endohs-amazing-quine-r...
I posted about it earlier in a reply here to OP.
[+] [-] sker|12 years ago|reply
[+] [-] sikhnerd|12 years ago|reply
[+] [-] mbillie1|12 years ago|reply
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] shurcooL|12 years ago|reply
[+] [-] deathwarmedover|12 years ago|reply
[+] [-] NanoWar|12 years ago|reply
Also the SVG to ASCII mapping is cool!
[+] [-] duggieawesome|12 years ago|reply
https://en.wikipedia.org/wiki/INTERCAL#Hello.2C_world
[+] [-] avivo|12 years ago|reply
[+] [-] tome|12 years ago|reply
[+] [-] dpayne|12 years ago|reply
[+] [-] _pmf_|12 years ago|reply
Today, I have seen true madness.
[+] [-] codeulike|12 years ago|reply
https://github.com/mame/quine-relay/blob/master/QR.rb
[+] [-] zw123456|12 years ago|reply
[+] [-] GhotiFish|12 years ago|reply