Kumagi, a Japanese programmer, writes on Hatena Diary about quines, polyglot programs, Ruby, Go, and security bug rewards.
HN links it for his inventive quines, including a spinning-globe Ruby program, with commenters discussing how they work.
The author has explained it, here:
http://d.hatena.ne.jp/ku-ma-me/20130715/p1
In the "spoiler" section:
"""
Normally quines are made like this:
s = (something that generates your own source code)
puts s
At the same time, a Ruby program that outputs a Perl program looks like this:
puts "print(\"...\");"
If you combine these with quine methods, you get a multi-quine that goes between Ruby and Perl:
s = (something that generates your own source code)
puts "print(\"#{ s }\");"
Theoretically you just repeat this process. Except, there are the following practical problems:
- Need proper escaping
+ Lots of old languages do not support C style of escape sequences.
+ Depending on languages, you need to escape interpolations.
- Cobol and Fortran programs have troublesome constraints
+ Need 7 spaces on the left and less than 80 columns per line, etc.
- Naive escaping will cause intermediate files to get too large.
+ JVM Strings have 64K size limit.
+ Languages like Intercal and Whitespace will become unbearably slow.
In order to avoid these, Perl requires something like ppencode, Java needs LZW compression to avoid string size limits. Cobol's line length limit was satisfied using Closure generator, Fortran's line length limit was satisfied using Coffeescript generator. People who are interested should see the generated code.
"""
In general, there isn't any standard method to making quines. You just keep on…
I recommend creating your own cards, they just feel more weighty. I did jump start my sentence deck with the 500 card starter deck from AllJapaneseAllTheTime (http://www.alljapaneseallthetime.com/blog/my-first-sentence-pack-is-here-huzzah). Yet those cards feel different. If I were to redo things I would start from zero and build cards as you go.
My process is to add 4 cards everyday. These sentences come from posts in my RSS feed. Over the years I found websites that interest me. Take for instance http://blog.esuteru.com/ which has a very 2ch style of news, not safe for work but often interesting. Or I'll stumble upon people's blogs. For example "KEN's": http://qoqpop.blog123.fc2.com/ He is a phone "otaku" who often travels to china and Mexico for business trips. I found his blog in a N900 related search. The open source community also has plenty of japanese bloggers. For instance http://d.hatena.ne.jp/naruoga/ is the blog of a Debian translator and a journalist who I found through the OpenPrinting working group.
Check out this "quine relay!"
http://d.hatena.ne.jp/ku-ma-me/20090916/p1
The Ruby program outputs Python that outputs Perl that outputs Lua that outputs OCaml that outputs Haskell that outputs C that outputs Java that outputs Brainfuck that outputs Whitespace that outputs Unlambda that outputs the original Ruby program.
(I was unable to get it to work when I tested it, but I still find it quite impressive!)
I'm not sure what you're talking about. The output is the entire source with the central globe rotated by a user-selectable number of degrees, including 0. The output isn't just the globe in the center.
Edit: Ah, nvm. It looks like this is a Javascript port of a famous Ruby quine from 2010, the Qlobe[1].
[1]: http://d.hatena.ne.jp/ku-ma-me/20100905/p1
Looks it got pulled in the meantime. Oops. Looking at it now it says in light gray letters at the top "for docomo" so maybe it was some kind of beta that I accidentally downloaded.
Here's a link to author's blog - there are examples of using zxing library for generating the QRCode. HTH.
http://d.hatena.ne.jp/tomorrowkey/searchdiary?word=*[qrcode]
There's been a slew of blog posts on Mojolicious::Lite & Websockets recently:
* http://vti.showmetheco.de/articles/2010/04/mojolicious-and-websockets.html
* http://d.hatena.ne.jp/yukikimoto/20100415/1271340273
* http://d.hatena.ne.jp/yukikimoto/20100418/1271601822