第22回IOCCCで入賞した”とある”ソースコード

はじめに

第22回IOCCC(International Obfuscated C Code Contest、国際難解Cコードコンテスト http://ioccc.org/ )が開催され、1月3日にそのソースコードが公開されました。
受賞したコードの中で、Most catty賞を受賞したとあるコードに目が止まったので、紹介します。

misaka プロジェクト

ソースコード入手

以下で公開されているmisakaというコードから以下の3ファイルを入手しましょう。(名前で察し…)
http://ioccc.org/years.html#2013

$ wget http://ioccc.org/2013/misaka/Makefile
$ wget http://ioccc.org/2013/misaka/bf.pl
$ wget http://ioccc.org/2013/misaka/misaka.c

ビルド

下記のページの記載に従ってビルドします。
http://ioccc.org/2013/misaka/hint.html

$ make misaka
cc -Wall -W -Wno-comment -Wno-empty-body -std=c99  -O2  misaka.c -o horizontal_cat
rm -f misaka2.c
./horizontal_cat misaka.c misaka.c > misaka2.c
cc -Wall -W -Wno-comment -Wno-empty-body -std=c99  -O2  misaka2.c -o vertical_cat
rm -f misaka3.c
./vertical_cat misaka.c misaka.c > misaka3.c
cc -Wall -W -Wno-comment -Wno-empty-body -std=c99  -O2  misaka3.c -o long_cat
rm -f misaka4.c
./vertical_cat misaka.c misaka.c misaka.c > misaka4.c
cc -Wall -W -Wno-comment -Wno-empty-body -std=c99  -O2  misaka4.c -o loong_cat
rm -f misaka5.c
./vertical_cat misaka.c misaka.c misaka.c misaka.c > misaka5.c
cc -Wall -W -Wno-comment -Wno-empty-body -std=c99  -O2  misaka5.c -o loooong_cat
rm -f misaka6.c
./vertical_cat misaka.c misaka.c misaka.c misaka.c misaka.c > misaka6.c
cc -Wall -W -Wno-comment -Wno-empty-body -std=c99  -O2  misaka6.c -o loooooooong_cat
rm -f misaka7.c
./vertical_cat misaka.c misaka.c | ./horizontal_cat - - > misaka7.c
cc -Wall -W -Wno-comment -Wno-empty-body -std=c99  -O2  misaka7.c -o long_fat_cat
rm -f misaka8.c
./vertical_cat misaka.c misaka.c | ./horizontal_cat - - - > misaka8.c
cc -Wall -W -Wno-comment -Wno-empty-body -std=c99  -O2  misaka8.c -o long_faat_cat
rm -f misaka9.c
./horizontal_cat misaka.c misaka.c | ./vertical_cat misaka.c - > misaka9.c
cc -Wall -W -Wno-comment -Wno-empty-body -std=c99  -O2  misaka9.c -o same_as_long_cat

Makefileに従って、〜catという実行バイナリが出来上がります。
horizontal_catが文字列の水平連結、vertical_catが文字列の垂直連結を行う実行バイナリになっています。

$ ls -l
合計 264
drwxrwxr-x  2 psy psy  4096  1月  7 22:37 ./
drwxr-xr-x 43 psy psy  4096  1月  7 22:37 ../
-rw-rw-r--  1 psy psy  5559  1月  4 07:46 Makefile
-rwxrwxr-x  1 psy psy  6796  1月  4 07:46 bf.pl*
-rwxrwxr-x  1 psy psy 12055  1月  7 22:37 horizontal_cat*
-rwxrwxr-x  1 psy psy 12056  1月  7 22:37 long_cat*
-rwxrwxr-x  1 psy psy 12056  1月  7 22:37 long_faat_cat*
-rwxrwxr-x  1 psy psy 12056  1月  7 22:37 long_fat_cat*
-rwxrwxr-x  1 psy psy 12056  1月  7 22:37 loong_cat*
-rwxrwxr-x  1 psy psy 12056  1月  7 22:37 loooong_cat*
-rwxrwxr-x  1 psy psy 12056  1月  7 22:37 loooooooong_cat*
-rw-rw-r--  1 psy psy  3808  1月  4 07:46 misaka.c
-rw-rw-r--  1 psy psy  8415  1月  7 22:37 misaka2.c
-rw-rw-r--  1 psy psy  7616  1月  7 22:37 misaka3.c
-rw-rw-r--  1 psy psy 11424  1月  7 22:37 misaka4.c
-rw-rw-r--  1 psy psy 15232  1月  7 22:37 misaka5.c
-rw-rw-r--  1 psy psy 19040  1月  7 22:37 misaka6.c
-rw-rw-r--  1 psy psy 16830  1月  7 22:37 misaka7.c
-rw-rw-r--  1 psy psy 25200  1月  7 22:37 misaka8.c
-rw-rw-r--  1 psy psy 12223  1月  7 22:37 misaka9.c
-rwxrwxr-x  1 psy psy 12056  1月  7 22:37 same_as_long_cat*
-rwxrwxr-x  1 psy psy 12056  1月  7 22:37 vertical_cat*

下記のコマンドの実行結果を見る事で、プログラムの概要が掴みやすくなります。

$ make understanding 

実行してみる

$ ./long_cat

                                      o""8o
                                     o"  "8
                      o88ooo        o8    8
                      "8  ""8ooo8""""     8o
                       "8o          oooo  88
                         8 o""8  o"8"  ""oo8ooo
      o""""oo""""""88oooo8 8oo8  8o8o         "8o
      8o                 8  ""      """8oo      "8o
       "8ooooooooo       8        o      "8o      8
                 "8oo    "o   """"      o8"8ooooo8"
                    "8oo  "8ooo    ooo8""    "8
                       ""ooo888"""""          8
                              8               8
                              8               8
                              8               8
                              8               8

猫が出てきました。

% ./loong_cat

                                      o""8o
                                     o"  "8
                      o88ooo        o8    8
                      "8  ""8ooo8""""     8o
                       "8o          oooo  88
                         8 o""8  o"8"  ""oo8ooo
      o""""oo""""""88oooo8 8oo8  8o8o         "8o
      8o                 8  ""      """8oo      "8o
       "8ooooooooo       8        o      "8o      8
                 "8oo    "o   """"      o8"8ooooo8"
                    "8oo  "8ooo    ooo8""    "8
                       ""ooo888"""""          8
                              8               8
                              8               8
                              8               8
                              8               8
                              8               8
                              8               8
                              8               8
                              8               8

猫の胴が伸びました。

他の実行バイナリも、名前の通りの出力結果となります。

で、何が凄いの?

以下のコマンドを実行してみます。

$ seq -f '%.0f  ' 45 | ./horizontal_cat - misaka.c

f:id:erumoto:20140107233342p:plain

あっ…。

% seq -f '%.0f  ' 90 | ./horizontal_cat - misaka9.c

f:id:erumoto:20140107233357p:plain

ああっ…。これは「ミサカ盛り」(ミサカ盛り - Google 検索) では…。
これでも立派なCのソースコードです。
何故、このソースコードをビルドするとあの猫が表示される実行バイナリが出来上がるのか(唖然

おわりに

プログラムの作者であるDon Yang氏は2005年よりGoogleでSoftware Engineerとして働いている方だそうですが、他の作品も自身のWebサイト上に公開されています。ビックリする事請け合いです(笑)

http://uguu.org/sources.html

箱根駅伝を走り終えた”あの”選手達を追う

はじめに

年明けの1月2、3日に行われた箱根駅伝、東洋大学が歴代2位の記録で総合優勝したのは多くの方がご存知のことかと思いますが、本記事では、テレビや新聞、雑誌等では絶対に特集されないであろうちょっとマニアックな箱根駅伝ランナーの世界をご紹介したいと思います。

注:本記事のまとめブログやNAVERまとめへの無断転載禁止。

箱根駅伝ランナーにはアニメや声優さん好きが何故か多い!?

私は半ば趣味で毎年ベースボール・マガジン社から毎年出版されている「箱根駅伝完全ガイド」を元に「区間別のアニメ、声優好きの箱根駅伝出走選手一覧」を作成しているのですが、今年多くの”ヲタク”ランナーが箱根路を走りました。

f:id:erumoto:20140107005125p:plain

陸上競技マガジン増刊 箱根駅伝2014 2014年 01月号 [雑誌]

陸上競技マガジン増刊 箱根駅伝2014 2014年 01月号 [雑誌]

区間ごとの順位を見ても、区間賞を2人が獲得するなど、実力も伴っている選手が多いというのが印象です。素晴らしい!
下記は上記一覧に記載の選手のうち、各区間において1桁順位を獲得した選手の一覧です。

  • 3区 兼子侑大 (山梨学院大3年) 実質区間6位(※2区で襷が途切れた為、参考記録
  • 5区 尾上慎太郎 (拓殖大3年) 区間9位
  • 6区 廣瀨大貴 (明治大4年) 区間賞
  • 7区 蛯名聡勝 (帝京大4年) 区間4位
  • 7区 柳利幸 (早稲田大2年) 区間5位
  • 8区 高久龍 (東洋大3年) 区間賞
  • 8区 沼田大貴 (中央学院大4年) 区間3位
  • 8区 浅岡満憲 (東京農業大3年) 区間8位
  • 8区 井戸浩貴 (早稲田大1年) 区間9位
  • 9区 竹内竜真 (東京農業大3年) 区間6位

今年卒業される4年生は卒業後実業団に進む方も多いので、来年以降、ニューイヤー駅伝等で活躍する姿を見る事が出来るかもしれませんね。

個人的に注目するランナー4名

上記の選手一覧で挙げたランナーの中には、ツイッターをされている選手も何名か存在します。その中から特に私が個人的に注目する選手を紹介したいと思います。

及川佑太選手(中央学院大3年)

TV中継ポイントの一つ小涌園前で「箱根のラブライバー 及川佑太」なる横断幕で応援された事で「箱根のラブライバー」の称号を獲得、一躍有名になった及川選手。フォロワー数は数百人から一気に8000人を超えるまでになりました。

ファンである榊原ゆいさん(ゆいにゃん)本人にも応援される


色んな意味で実力者

稲田翔威選手(順天堂大2年)

3区を走った稲田選手、2位順位を落とした事でフィギュアを2個没収されてしまった模様。来年の奪還に期待しましょう!

土井久理夫選手(東京農業大3年)


及川選手の好敵手出現!

新田恵海さん(えみつん)ファンを公言する土井選手は、えみつん代表作ともいえるラブライブ!のファンでもありました。「箱根のラブライバー」の登場に霞んでしまいましたが、「箱根の下りラブライバー」の称号を与えたい(笑) 他のツイートを見る限り、相当なラブライバーですよ、これは!

東農大陸上競技部ではスクフェスが人気の模様。ラブライバーな高校生長距離陸上選手は東農大に入るしか!?

竹内竜真選手(東京農業大3年)

同じく東農大の9区を区間6位で走り抜いた竹内選手、父親が大根になっていました。個人的にヒット(笑)


箱根OBの選手達

柏原竜二&佐藤佑輔選手(富士通)

言わずと知れた通称”山の神”こと柏原選手。声優の花澤香菜さん好きとしても有名です。

また、佐藤選手は律ちゃん(「けいおん」の田井中律)好きとして昨年の箱根駅伝において一部で話題となりました。日大でキャプテンを務めた後、富士通に入り、今は柏原選手と同部屋のようです。富士通はこのコンビを狙ったんでしょうか(笑)

4年目の箱根では結果が振るわなく、当時使用されていたツイッターアカウントを消去されるほど、落ち込んでおられたのを記憶しています。

ニューイヤー駅伝

そんな佐藤選手ですが、今年のニューイヤー駅伝では富士通のアンカーとして7区を力走しました。

富士通からも律ちゃん好きについて認知されているのが大変素晴らしいです(笑)。応援のイラストが届くのも羨ましい限りですね。

そして、ラノベ作家に

最近では、ラノベ作家の才能を開花させたようで、企業も巻き込んだプロジェクトが進行中のようです。

本業がラノベ作家になりそうですが、副業でランナーも継続されるようですので応援しましょう。


箱根のラブライバー、早速2人からフォローされイジられる

ことりちゃん争奪戦に勝利した及川選手、おめでとう!

番外編

ここまで陸上長距離界を取り上げましたが、プロレス界にも今後ヲタク旋風が吹き荒れるかも!?

岡倫之選手(日大レスリング部、レスリング全日本チャンピオン→新日本プロレス

新日本プロレスの主催はあのブシロードなので、親和性は抜群ですね!
なんでも、コミケ会場で木谷社長からスカウトされたんだとか。なんたる(笑)
http://blog.cs-park.jp/oka_tomoyuki/detail/2559

一時期低迷していた新日本プロレスブシロードが経営を担うようになってから観客動員も増えてきたと聞きます。今後益々の発展を期待したいです。

さいごに

私の母校の大学は箱根駅伝に出場していないので、基本的に大学単位で応援するという事はありません。なので、毎年このように選手単位で応援したい選手を見つけ、応援しています。
本記事がきっかけとなって、これまで箱根駅伝に今ひとつ興味が無かった人がお気に入りの選手を見つけ、応援するようになってくれれば幸いです。

選手皆様の今後の活躍に期待しています!

まとめブログへの転載禁止を明記した画像が改竄、著作者ロンダリングされた後にまとめブログに転載されるまでの顛末まとめ(追記あり)

はじめに

知り合いのツイートを通じて、まとめブログへの転載禁止を明記したはずの拙作画像がまとめサイトに転載されている事を知ったので、どうしてこのような事態となってしまったのかを整理しようと思いブログに書き綴ります。

転載された画像について

以下のツイートで投稿した画像が、改竄のうえで転載されました。

なぜまとめブログへの転載禁止の文言を入れるに至ったかの経緯

私は以前、箱根駅伝2011、2012に出走するアニメ・声優好きランナーを整理した以下の画像を作成しツイートしました。

そこそこ好評を博したのはいいのですが、同時に大量にまとめブログに転載された結果、あさっての方向から大量のメンションが届くようになり(よく分からない質問をされたり…)ツイッター上の会話に支障をきたした為、昨年より「まとめブログやNAVERまとめへの画像無断転載禁止」の文言を入れました。

転載禁止の一文を入れた所、まとめブログへ転載されないようになったので、今年も同様の文言を入れました。

時系列

1. 私が以下のツイートを行う


上記の画像が転載されました。
蛇足ですが、後日一部修正した版をアップロードしていたりします。

2. ほくほく@海未キチ (@Hoku2boy)氏により、転載禁止の一文を削除した改竄画像がツイートされる

※ツイート削除済みの為、追記参照。

3. 何者かによって2chにほくほく@海未キチ (@Hoku2boy)氏による改竄画像が転載される

【やべぇ】 箱根駅伝出場選手の好きな女性タレントクッソワロタwwwwwwwwwwwwww
http://hayabusa3.2ch.net/test/read.cgi/news/1387844357/

f:id:erumoto:20131224234938p:plain

4. まとめブログに2chの当該スレッドの記事がこぞって掲載される


箱根駅伝出場選手の好きな女性タレントクッソワロタwwwwww」でググッただけでも、大量のまとめブログがヒットします。(2013/12/24 23:00現在)
悪名高い大手まとめブログを含め、たくさんのまとめブログに転載される結果となりました。
それにしても、世の中には何個まとめブログあるんですかね…

  • ハムスター速報

箱根駅伝出場選手の好きな女性タレント一覧がひどいwwwwwwwwwwwwww
http://hamusoku.com/archives/8188015.html

  • オレ的ゲーム速報@JIN

【安定のガチ回答】正月と言えば箱根駅伝ですが、ここで2014年度出場選手達の「好きな女性タレント」をご覧ください
http://jin115.com/archives/51992659.html

  • なお、まにあわんもよう@なんJ

箱根駅伝出場選手の好きなタレントwwwww
http://naomani.com/articles/16974.html

  • やらおん!

箱根駅伝2014完全ガイドより 出場選手の好きな女性タレントが今回も声優とアニメキャラ多すぎワロタwwwwww
http://yaraon.blog109.fc2.com/blog-entry-20780.html

【画像あり】箱根駅伝出場選手の好きな女性タレントクッソワロタwwwwwww
http://himarin.net/archives/7469481.html

  • アルファルファモザイク

http://alfalfalfa.com/archives/7013295.html

  • その他、まとめブログ

http://fesoku.net/archives/7013374.html
http://blog.livedoor.jp/shachiani/archives/35891058.html
http://nanik.doorblog.jp/archives/35886577.html
http://papipu2ch.blomaga.jp/articles/30132.html
http://chunisoku.com/archives/35138088.html
http://sabusoku.blog.fc2.com/blog-entry-777.html
http://gossipjap.blog.jp/archives/1818773.html

なぜ、ほくほく@海未キチ (@Hoku2boy)氏はわざわざ画像加工の手間をかけてまで転載禁止の一文を削ったのか

ツイッター上でたびたび目にするパクツイ(他人がツイートした文章や画像をまるで自分のもののようにツイートする行為)との決定的な違いは、「まとめブログやNAVERまとめへの画像無断転載禁止」の文言を意図的に削除した上で投稿されているという点です。

まとめブログやNAVERまとめへの転載を禁止しているだけなので、やろうと思えばツイッター上にパクツイする事自体は削除せずともやれたはずなのに。やる道理がない。

およそ唯一考えられる解は、ブログタイトルにもあるようにマネーロンダリングならぬ著作者ロンダリングを行いたかったという事でしょう。まとめブログに掲載したいが為に、”改竄画像を投稿”→”2ch投稿”→”まとめブログ投稿”という経緯を踏んだと考えるのが、最も理に適っています。

氏のプロフィールには高1と書いてありますが、果たしてどうなんでしょう。恐らくまとめブログを運営している関係者ないしは関係者と近しい関係にある者と邪推せざるを得ません。

このようなロンダリング行為を防ぐ手はあるのか

現状、あまり対策が無いように思います。天下のGoogle様がまとめブログを一掃(Google八分)してくれると少しはまともなWebが戻ってくるのかもしれませんが…。
今出来る事は、PVさえ稼ぐ事が出来れば誇張、改竄なんでもアリな「まとめブログ」を見ない事くらいしか思いつきません。

まとめ

世間はクリスマスだというのにオレは何でこんな記事を今書いてるんだろう。
溜まったアニメでも観て寝よう λ...

追記(2012/12/27)

ほくほく@海未キチ (@Hoku2boy)氏が証拠隠滅なのかどうか知りませんが12/25に改竄画像付きツイートを消去してしまったようです。このブログの記事でも目に止まったんでしょうか。

一応、元のツイート画像を証拠としてキャプチャしているので載せておきます。
f:id:erumoto:20131225001851p:plain

せっかくツイッターの著作権侵害報告ページを試そうと思ってたのに残念だよ。
https://support.twitter.com/forms/dmca

まとめブログに転載された画像は消えないしね。

再び追記(2013/1/2 13:00)

箱根駅伝絶賛視聴中ですが、なんか、はてブで話題になっているようなので…。

画像にも記載している通り、1次情報源はムック本「箱根駅伝2014完全ガイド」である為、正確には私の実施している作業は編集行為である事に異論は無いのですが、計506名(1チーム22名、23チーム)の選手名簿から特定クラスタのみに価値のあると思われる情報を抽出し、編集する作業を毎年行なって初めて作れる表でもあるので、そこに私自身の編集による創造性が多少はあるのかなと思っています。

またまた追記(2013/1/3 7:30)

箱根駅伝復路が始まろうとしている所ですが、ツイッターへのリプライやはてブのコメントで色々教えて頂いたので…。

編集著作権というものが存在し、私の画像は編集著作物として認められるのではとの事です。あまり詳しくないので勉強になります。

編集著作権
http://kotobank.jp/word/%E7%B7%A8%E9%9B%86%E8%91%97%E4%BD%9C%E6%A8%A9

複数の著作物の選択または配列によって創作性をもつ編集物を編集した者に認められる著作権。効力は全体についてだけ存在し、編集物の部分を構成する個々の著作物の著作権には及ばない。

編集著作物
http://copyright.watson.jp/compilation.shtml

さて、便乗炎上マーケティングでのPV稼ぎが好きそうな「面白ニュース秒刊サンデー」というサイトが以下のような「転載可能」バージョンを配布し始めたのですが、これは私の編集著作権を侵害しているのではないでしょうか。

どうでもいいけど、「面白ニュース秒刊サンデーという名前とは裏腹に面白くないね」と誰か言ってあげた方がいいと思います。

上記サイトは有限会社たまやという法人格の企業が運営しているんですね。世も末ですね。

有限会社たまや 会社概要
http://www.hamamatsu.bz/company/

主要取引先

主要取引先様におきましては、老婆心ながらこのような会社とは手を切った方がコンプライアンス的に宜しいかと思います。