Kumagi
d.hatena.ne.jp · Personal blog · on HN since 2009
Kumagi, a Japanese programmer, writes on Hatena Diary about quines, polyglot programs, Ruby, Go, and security bug rewards.
What HN saysHN links it for his inventive quines, including a spinning-globe Ruby program, with commenters discussing how they work.
24HN people shared it
11linked it in comments
13stories submitted
249story points
8 years agolast shared
2009people per year2026
Most-shared posts
- 1Quine in multiple languages4 people · 12 points · first shared 2009 · 1 comments on HN
- 2A crazy Ruby quine: a spinning globe.2 people · 95 points · first shared 2010 · 18 comments on HN
- 3A polyglot quine2 people · 47 points · first shared 2010 · 4 comments on HN
- 4Japanese hacker earns $13,174 for reporting Google security holes1 people · 54 points · first shared 2011 · 17 comments on HN
- 5Multi-player 3D FSP on Emacs1 people · 30 points · first shared 2011 · 9 comments on HN
- 6Golang and Python on Google AppEngine compare1 people · 4 points · first shared 2011 · discussion on HN
- 7How to download JDK with curl1 people · 2 points · first shared 2012 · discussion on HN
- 8Parallel QuickSort using Go1 people · 1 points · first shared 2009 · discussion on HN
- 9Why Keras Creator François Chollet Should Study His History1 people · 1 points · first shared 2017 · 1 comments on HN
- 10A Ruby program that generates an AVI animation which prints itself1 people · 1 points · first shared 2010 · discussion on HN
- 11Node.js on Android1 people · 1 points · first shared 2011 · discussion on HN
- 12HBase at Facebook what I heard on #hbasetokyo1 people · 1 points · first shared 2011 · discussion on HN
- 13P11 people · first shared 2013
- 14%C0%D1%C6%C91 people · first shared 2018
- 1520090511 12420534981 people · first shared 2009
What HN people wrote when they linked it
Danieru · 2013-09-28
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-he… 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.
omoikane · 2013-07-16
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…
wodenokoto · 2018-07-30
For those looking for the actual characters:
積読 [http://d.hatena.ne.jp/keyword/%C0%D1%C6%C9]
stouset · 2016-05-20
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
dim-s · 2015-04-26
JPHP can be faster PHP7: http://d.hatena.ne.jp/hnw/20150117, also each version of the java virtual machine becomes faster than the previous 10-30% so and JPHP becomes faster. Thanks to Oracle and OpenJDK community.
ay · 2011-01-05
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]
vito · 2010-12-20
Equally impressive: http://d.hatena.ne.jp/ku-ma-me/20090916
A Ruby -> Python -> Perl -> Lua -> OCaml -> Haskell -> C -> Java -> Brainfuck -> Whitespace -> Unlambda -> Ruby quine!
draegtun · 2010-04-19
There's been a slew of blog posts on Mojolicious::Lite & Websockets recently:
* http://vti.showmetheco.de/articles/2010/04/mojolicious-and-websockets.…
* http://d.hatena.ne.jp/yukikimoto/20100415/1271340273
* http://d.hatena.ne.jp/yukikimoto/20100418/1271601822
1331 · 2010-03-18
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!)
mahmud · 2009-10-30
The reddit crowd shares you fascination and expresses itself eloquently:
http://d.hatena.ne.jp/ku-ma-me/20090916/p1#c1254244804
davi · 2009-06-09
A little more info, in English:
http://d.hatena.ne.jp/spyuge/20090511/1242053498