BF-パパ鰻師さんだったんだよぉ

日本全国の OpenStacker のみなさん、こんにちは。これは OpenStack Advent Calendar 2016 の八日目のエントリです。

一日目のエントリ が方々で「ひどい」とか「初日なのに…」とか「鰻が喰いたくなった、どうしてくれる」などの絶賛のお言葉を頂き、とても嬉しく思います。皆さんの感謝の声を聴くと「あぁ、OpenStacker でもない自分が Advent Calendar の敷居を下げることができて、良かったなぁ」と感慨深く思います。

さて、その一日目以降のエントリを見ると、技術的に素晴しいエントリもしくは役に立つ系のエントリばかりで、「え?これネタ投稿だろ?」というのが全く見受けられません。

もちろん、技術的に素晴しいエントリや役立つ系のお話のエントリばかりで埋まればそれに越したことはないのですが、まだ所々エントリされてない日があるようですので、いま一度 OpenStacker でない自分が「大丈夫だよ、OpenStack の Advent Calendar は恐くないところだよ」ということを証明する必要があると感じました。

ところで皆さんは技術者の方々がほとんどだと思いますので、「Brainfuck」というプログラミング言語はご存知だと思います。 この言語の素敵なところは色々なネタに比較的簡単に転用できるということです。

「え?どーゆーこと?」って思ったかたは、こちらの新プログラミング言語「BF-BASIC’n」をお読みください。

上記のページを読んで頂ければ、あとは自ずと本日のタイトルから察しがつくと思いますが、ようは上記ページにあるBF-BASIC’nのソースコードの12行目から21行目を以下のように書き換えます。

static Conv st_conv[] = {
    {'>', "じゃじゃーん、OpenStackDaysなのだ"},
    {'<', "あなたが昔作っていたOpenStackよ"},
    {'+', "オプ、"},
    {'-', "スタッ、"},
    {'.', "ンフー、ランニングゥゥゥ"},
    {',', "あなた最近疲れ気味じゃない?"},
    {'[', "ソウダヨォー、ダッテパパOpenStackerダッタンダヨォー"},
    {']', "ヘー知ラナカッタナー、パパガ作ッテタンダァー"},
};

そして書き換えたコードを例えば bf-openstacker.c という名前で保存し、以下のようにコンパイルします。

gcc -o bf-openstacker bf-openstacker.c

そして出来上がった bf-openstacker を使って Hello, world! と表示させるコードが以下になります。

オプ、オプ、オプ、オプ、オプ、オプ、オプ、オプ、オプ、
ソウダヨォー、ダッテパパOpenStackerダッタンダヨォー
じゃじゃーん、OpenStackDaysなのだ
オプ、オプ、オプ、オプ、オプ、オプ、オプ、オプ、
じゃじゃーん、OpenStackDaysなのだ
オプ、オプ、オプ、オプ、オプ、オプ、オプ、オプ、オプ、オプ、オプ、
じゃじゃーん、OpenStackDaysなのだ
オプ、オプ、オプ、オプ、オプ、
あなたが昔作っていたOpenStackよあなたが昔作っていたOpenStackよあなたが昔作っていたOpenStackよ
スタッ、ヘー知ラナカッタナー、パパガ作ッテタンダァー
じゃじゃーん、OpenStackDaysなのだ
ンフー、ランニングゥゥゥ
じゃじゃーん、OpenStackDaysなのだ
オプ、オプ、ンフー、ランニングゥゥゥ
オプ、オプ、オプ、オプ、オプ、オプ、オプ、ンフー、ランニングゥゥゥンフー、ランニングゥゥゥ
オプ、オプ、オプ、ンフー、ランニングゥゥゥ
じゃじゃーん、OpenStackDaysなのだ
スタッ、ンフー、ランニングゥゥゥ
スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、ンフー、ランニングゥゥゥ
あなたが昔作っていたOpenStackよ
オプ、オプ、オプ、オプ、オプ、オプ、オプ、オプ、ンフー、ランニングゥゥゥ
スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、ンフー、ランニングゥゥゥ
オプ、オプ、オプ、ンフー、ランニングゥゥゥ
スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、ンフー、ランニングゥゥゥ
スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、スタッ、ンフー、ランニングゥゥゥ
じゃじゃーん、OpenStackDaysなのだ
オプ、ンフー、ランニングゥゥゥ

このファイルを例えば helloworld.openstacker という名前で保存し、以下のように実行すれば見事に Hello, world! と表示されるはずです。

$ ./bf-openstacker ./helloworld.openstacker
Hello, world!

ということで、初日は技術的なことが一切書かれてなかったので、もしかすると「完全なネタ投稿だったら許されるかもしれないが、技術的なことは相当高いレベルの投稿をしないと駄目なんじゃないだろうか?」と不安に思われているかもしれませんが、本日のエントリのように技術的にもライトウェイトな内容でも全然問題ないですので、皆さんまだ空いている日に是非エントリしてみてください。

(来年からは「鰻ネタ禁止な」って言われそう…)


蛇足ですが、12行目から21行目を以下のように書き換えることで…

static Conv st_conv[] = {
    {'>', "すごく…大きいです…"},
    {'<', "腹ン中がパンパンだぞ"},
    {'+', "ウホッ!"},
    {'-', "いい男…"},
    {'.', "やらないか"},
    {',', "阿部高和"},
    {'[', "ところで俺の"},
    {']', "を見てくれ、こいつをどう思う?"},
};

(以下、自重…