megamouthの葬列

長い旅路の終わり

今年の懺悔と隠しブログの三悪人

年末までに簡単な小説一遍と、「なろう小説」を完結させようと思っていたのだが、体調がすぐれず、起きていられないので、どうにも無理なようだ。
直近の懺悔としてはこんなものだが、年末に読むものが無いという読者の為に、ブログを休んでいた時期にこっそり書いていた隠しブログでも教えようと思う。

zebraex.hatenablog.com

このブログを作った理由は、自由に書きたかったことと、今の私の文章がどれほど読者数に影響するのか、というのを純粋に知りたくなったからだ。

結果としては、総計アクセスが「65」という、何かの間違いのような事になってしまっているのだが、このブログの読者の方の一人(秘す必要もないので言うが、id:noromanbaさんである)が見てくれたようで、偶然読んだのか、探して来てくださったかはわからないが、さすがですね、という言葉をお送りしたいと思う。

多分、この「zebraexの遍歴」は放置すると思うが、何かの気の迷いで更新するかもしれない。そういう扱いとしている。

今年のエントリまとめ

さて、せっかくなので、今年書いたエントリのうち、愛着のあるものなどをまとめたいと思う。

www.megamouth.info

なんかブクマ数ランキングベスト100に入ったり、はてなブログの年間ランキング入りしたりもした、このエントリだが、実はあまり愛着がない。
twitterで何度も弁解したのだが、純粋に論説の「練習」として書いたエントリだからである。

このテーマを選んだのも、こんなの当たり前の話で、別に考えなくても書けるので、ちょうどいい、という程度のものだったのだが、前述の結果となった。

私が現状におけるブログというメディアをあまり信用していないのは、こういうのがウケてしまうことにあるのだが、読んでいただいた読者には感謝しております。それは本当。

www.megamouth.info

この文章を書くのに、足掛け2年の時間が必要だった、という点では愛着があるエントリである。

ただ、MSXユーザー以外わかんないよね。というのはある。そのへんを普遍的なところまで持っていけなかったところに技量不足と根気の無さを感じる。ただ、彼の存在をモチーフとしてまだまだ書きたいという思いはある。
ようするに及第点ではあるが、納得はしていないのだ。

www.megamouth.info

虚構の構築という点では上手くいった。なので自分としては書けて嬉しかった。ただ、やっぱりウケない。読者はお母さんではありません。という事ですね。自分の「作家(なんとおこがましい)」としてのスタンスはこれが原点になると予感はしている。

www.megamouth.info

この話、ほぼ実話に近いのだが、わりと空気は書けたように思う。基本的に私はダメな人が好きなんだと思う。

www.megamouth.info

サキという女性もモデルになる人がいて、私は現実の彼女に一方ならぬ恩があるわけだが、文章にしてみたくなって書いた。
結果としては彼女という存在を会話でしか表現できないことに絶望したわけだが。ある人にそれを相談すると、会話表現書きたきゃ漱石の「明暗」を読めと言われて、読んだ。本格的に俺はダメだと思った。

www.megamouth.info

こちらも反響を呼んだ一品。この文章は夜中に酒飲みながら散文を書いて、早朝にまとめるというプロセスで作られていて、ああこのやり方でやりゃいいのか、と確信した一作でもある。ただ、同じ書き方を出来た試しがない。深酒がすぎるか、朝眠すぎてまとめられないのだ。なかなか文章を書くのも難しい。


振り返ってみると、意外と「愛着」のあるエントリを書けてない。
自分としては、「ディス・オールド・マン」と「ダーク&ロング」は重要な文章だと思う。これをちゃんと書けないうちは物書きなどと名乗ることはないだろう。

というわけで、今年は反省と不可思議の年でした。

脱力系AmazonPrimeMusicの紹介

懺悔といえば、このコーナー。

The Sound of the Smiths (Deluxe Edition) [Remastered]

The Sound of the Smiths (Deluxe Edition) [Remastered]

イギリスの労働者階級にとって、「モリッシーがいる」という事実は凄まじく重要なことだと思う。日本の誰がネトウヨの悲しみ(National Front Disco)を歌ってくれるというのか。
そのモリッシーが金で揉めるまでやっていたポスト・パンク・バンドがこのThe Smithsである。脱力するので、仕事中には聞けないが、仕事終わりに安酒を飲みながら聴くには最高である。

Everyday Robots

Everyday Robots

この人を全然知らないのだが、たまに「無」になりたい時に聴いている。柔らかく、しっとりとした曲調。

※補足(2018/01/01)


The Fall

The Fall

Gorillazはわりと好きで、このアルバムもCDを持っているのだが、Gorillazの中でも一番脱力感があるアルバムだと思う。なんで日本でこういうバンドって生まれないんでしょう?知らないだけだとは思うんですが。

Talkie Walkie

Talkie Walkie

Airと書いて「エール」と読みます。フランスのエレクトリカル・デュオ。同時期に日本にも"Air"というバンドがあって、AmazonのMP3ミュージック内で同一視されているようで、おすすめにやたら日本の"Air"が出るので憤慨している。
それはさておいてもいいアルバムです。00年代前半のあの不毛なラウンジ・ミュージック群の中でも一線を画していたバンドなので。


もうちょっとある気がするが、まあこのへんで。
それでは皆さま良いお年を。

中国のIMCO TRIPLEX SUPER

ベランダに差し込む風は冷たく、衣服や皮膚をなんなく素通りして、肉体の芯と、対応する私の精神の核心を怯えさせた。

私は煙草に火をつけようとして、愛用のオイルライターであるIMCO TRIPLEX SUPERを探したが、いつも置いてあるガーデンテーブルの上には見当たらなかった。
結局のところ、それは枯れ果てて無残な様相を呈している植木鉢の中に見つかったのだが、軽くもないIMCOが風に煽られてこんなところまで飛んだとは信じられなかった。

私はIMCOを拾い上げて、ステンレス・スチールに刻まれた造形を何気なく眺める。

それは冬の低すぎる太陽に光って、時には安っぽく、70年代の不良がゲームセンターで仲間にひけらかしているようにも見えるし、時には気だるく、アイリッシュパブで労働者の野太い手に握られているようにも見えるのだった。

*

今の中国製IMCOの美点はつまるところ、この造形の「凝り方」にある。あくまで「凝り方」であり、質感が良いとは言いがたい。
ステンレススチールは、重厚とは程遠く、何かの拍子にバラバラになりそうな危うさがあるし、握った感覚も「悪くはない」と言った程度のものだ。

程よい重さでは、ある。あるにはあるのだが、本当にライターとしてちょうど良い重さというだけで、その機能や機構の必然としての重さ、という印象を不思議と受けない。
重量計で測れば、オイルを染み込ませたフェルトを含めて正確に○gと出るであろ、という重さである。

散々けなしてきたが、これにはそれなりの理由がある。
このIMCO、点かないのである。

買った当初は、良かった。
オイルライターといえばZippoだが、それと違って、IMCOはワンアクションで着火する。
蓋の端を軽く抑えると、バネが跳ね上がって、カチャッという小気味良い音を発し、同時に回転したヤスリから火花が散り、開いたばかりの芯から吹き上がった揮発したオイルに着火する仕組みである。

私は届いたIMCOの蓋を子供のような無邪気さで何度も跳ね上げ、不思議な機構の結果としての炎を見て楽しんだ。

しかし、2日ほどすると、火花ばかりが散って、炎が上がらず、点くのは5回に1回という有り様になった。
フリント(発火石)の減りが早いのかもしれない、と考えて、まだ充分長さの残っているフリントを捨てて、新品に入れ替えてもみた。
そうしても最初の数回、着火するだけで、しばらくすると、また点かなくなるのである。

*

点かないライターというものがこれほど不快なものだとは、正直その時まで思っても見なかった。

Zippoライターを使ったことのある読者はいるだろうか?
おそらくZippoが点かない、という事を経験されたことがある読者は少ないだろう。
フリントが摩耗して数mmになってしまっていたり、オイルが切れていたりするのなら別だが、あの大げさな蓋を跳ね上げ、ヤスリを回転させれば、確実に着火したことだろう。

実のところ、Zippoもヤスリの回し方が悪ければ、点かないこともあるのだが、それでも、もう一度力をこめて回せば確実に点火する。

反面、IMCOは、着火に失敗すると、一度蓋を閉めなければならない。
また、Zippoのように「力をこめる」ということもできない。あくまでヤスリを回すのはバネで出来た「機構」の役割で、点くか点かないかに、人の技が介在する余地がない。
自然と、カチャッカチャッと何度も蓋を開け閉めすることになり、蓋が跳ね上がるあの小気味よい音が、一転、なんとも惨めな、失敗のリズムを刻むことになる。

すっかり嫌気のさした私は、傍らの100円ライターを使って煙草に火をつける。
そして、このライターとしての機能を半ば失ったIMCOを恨めしげな目で眺めるのである。

*

諦めが悪い私は、それでもネットでIMCOについて調べても見た。フリントは純正のものもいいがWINDMILLのものも良い、とある。
また機構が複雑なので、ヤスリやオイルタンクのこまめな掃除が必要である、ともあった。

調べている最中に知ったことだが、IMCO TRIPLEXというライターの原型はオーストリアで1912年に作られたのだという。Zippoは第1次大戦が終わった後だから、それより古いことになる。

私はここで、IMCOの造形の「凝り方」に合点がいった。

喫煙に加えて、結婚できない男の特徴のほとんどを兼ね備えている私は、少しばかりミリタリー系の趣味も嗜んでいる。

上から見た時、IMCOは銃口を抱いた拳銃を正面から見たような形をしている。オイルタンクに至っては銃弾そのものだ。
蓋を開けるバネと、フリントを押し付ける2種類のバネ。基本的には蓋とヤスリだけしかない単純明快なZippoの機構との対比は、ドイツを代表とするヨーロッパの兵器とアメリカの兵器の発想の差そのものだと思ったのだ。

美しく巧妙だが、壊れやすいヨーロッパ的な合理性と、無骨だが大量生産が効き、結果的には丈夫で実用的なアメリカの合理性。

その対比が、ライターにも現れているのである。

*

またレビューやマニアのブログなどを見ると、今のように中国で作られるようになる前のIMCOも当たり外れが激しく、点かない個体はとことん点かなかったそうだ。

なるほど、この個体は「外れ」であったということか。

と私は納得した。
そして、返す返す鉄製からステンレスになった中国のIMCO TRIPLEX SUPERの造形を眺めて、「上手く出来てるのになあ」と独りごちるのである。


冬の風が、ベランダで立ち尽くした私を責めたてている。私は2本目の煙草をくわえた。
手にはIMCOがある、半ば無意識に蓋を手をかける。祈るでもなく、諦めるでもなく、ただ無心に蓋を跳ね上げる。

私のIMCOがその小さな風防の中で、こっそりと炎を上げた。


フェティシストの先輩はいくじなし

私が今のように酒飲みでなく、駆け出しのPerlプログラマだった頃、先輩がいた。

私達が仕事のコードを書いている時、先輩は聞いたこともないフレームワークのテストをしていたり、英文のサイトを読んで大半の時間を過ごしていた。
たまに気が向くと、私のような新米プログラマー達にDBマイグレーションが簡単にできる方法や自作のフレームワークアーキテクチャを優しく教えてくれたりしたが、それらは全て当時の私達の理解を超えていて、正直、どう反応していいものやらわからなかった。

1

ある時、私達のプロジェクトが炎上した。
納期ギリギリで、システムが出来るには出来たのだが、挙動が不安定で、何より実行速度が極度に遅く、想定のユーザー数をさばけなかったのだ。

社長が出てきたり、顧客との悶着があったりした末、納期が再設定され、先輩がプロジェクトリーダーになり、私達がそれを手伝うことになった。

のんびりした様子で先輩は私達のコードをざっと眺めて、まずそれを褒めた。
「ちゃんとモジュール化されているし、DBコネクションが複数張られることもない」
「思ったより悪くないね」と先輩は微笑んだ。

そして、笑顔のまま、それらのコードを全て放棄した。

2

先輩が重視したのはとにかくシンプルさだった。

例えば失敗したシステムには、私が書いた拙いORマッパがあった。
Userオブジェクトを生成して、saveメソッドを呼び出すと、userテーブルに書き込まれる、といったアレだ。
先輩は「こういうのは結局使いにくいんだよ」と言って、全てのテーブルについてfetch_user、add_userのような関数を作るように命じた。(今で言うとトランザクションスクリプトだ)

また、生真面目にBEGIN、COMMITといったSQLを発行していたものを、トランザクションオブジェクトを作って、そのbeginメソッド、commitメソッドを呼び出すようにした(commitせずにオブジェクトが破棄されるとrollbackする仕組みだ)

しかし、その実装を見た私は驚いた。RDBMSトランザクションに加えて、システム全体で単一のロックファイルを使った排他制御が行われていたのだ。

せっかくRDBMSトランザクションを使っているのに、なぜジャイアントロックをするのか。こんなことをすればユーザーが何かを更新する度に、全てのテーブルの読み込みが待たされることになる。
私は当然懸念を表明したが、先輩は「これで十分」と言って聞かなかった。

こんな調子で、予定通りシステムは出来上がった。想定の性能も出て、問題らしい問題は全くなかった。


私は半ば感心し、半ば挫折した気分だった。
なぜプロジェクトが成功したのかもよくわからなかったし、何より、私達が書いたコードは全て捨てられてしまった結果がこれなのだ。
まるで、0点の答案を返されて、追試で答えだけを教えてもらって合格点をもらった。そんな気分だった。

3

先輩が会社を辞めたその後も、あの時の先輩の判断について私は考え続けた。

ORマッパについては、そもそも出来がよくなかったし、もし、使い続けていたらひよっこの私達には使いこなせないか、習得やバグ取りに時間をとられることになっただろう。
なにより私達は、fetch_userでuserデータを取り出し、update_userでデータを書き換えることに何の疑問も抱かずにすんだ。

ジャイアントロックについては、正直ずっと釈然としなかった。
実際、後のバージョンで、必要に迫られて私はそれらを全て除去した。(ご想像の通りサーバーの台数が増えてファイルロックが使えなくなったのだ)

しかし、データ不整合が起きたと聞いた時(結局、それは誤解だったのだが)、真っ先に自分の実装を疑わなくてはいけない羽目に陥った。

先輩は常に正しかった。と私は数年後に思った。

私達ひよっこPerlプログラマーという手数、次は絶対に失敗できない重圧、納期、それら全ての要因を考えた上で、全てが「ベストの選択だった」としか言いようがなかった。

4

齢を重ねた。

私の歳はとうに当時の先輩の年齢を超えている。
経験も、まあ努力の差や、私の怠惰な性格を差し引いても同等かそれ以上になるだろう。
本当なら、私は当時の先輩の境地に達している筈である。

だが、今だに私は先輩がわからない。

後輩や誰かが書いた無駄に複雑でバグだらけのコードを見ても、先輩のように全てを破棄する決断を下すことができない。
これはこれで動いている以上、どこか正しいのではないか、と、思ってしまう。

生産性を増大させる見込みのあるフレームワークアーキテクチャを見分けることができない。
新しいフレームワークを見ても、将来性や導入(学習)のコストを考えて、二の足を踏んでしまう。

私ができるのは、せいぜい、前任の某が使っていたのが回ってきたから、という理由でフレームワークを選んだり、クイックハック気味にバグを取ったり、あんまりひどい時はコードを少しリファクタリングしてわかりやすくするぐらいのことだ。

今でも私は、先輩のように、あの故郷を目指してただ一直線に突き進む鳥のように、速やかに、迷いなく、何かを決めるということができない。ただの一つも。

5

しかし、とも思う。
自分の才能の無さを棚に上げれば、先輩は一種のフェティシストだったのではないか、と思うのだ。
シンプルさやミニマルな実装に対する偏愛があっただけだったのではないか、と。

私は先輩の鮮やかな開発を見た。まるで最初から最後まで全てをわかっているような決断の速さと、狂いのなさを見た。
反面、今の私はどのような開発現場にも使える「銀の弾丸」が存在しないことも、また知っている。
納期やクライアントの理不尽さに対抗するには、手段を選んではいけない事を知ってしまってもいる。

今の私にはシンプルを愛する先輩がその後も、どんな状況でも上手くやれた、とまで言い切ることができない。

6

ダーティーなクイックハックを行う時、こういう時、先輩ならば、と私は何度も自問したものだ。
それでもなお先輩はシンプルを追い求めるだろうか?と。

おそらく追い求めるだろう。営業の虚をついて、以前のコードを全て破棄するぐらいのことは平気でやってしまうだろう。
なぜなら先輩には「確信」があるからだ。一切のバグを出さず、所定の時間で、自分の好みに実装を作りかえるぐらいわけはない、と本気で考えているのだ。

私にはついぞその「確信」は芽生えなかった。
私はただ迫り来る波をうまくかわせればいいとだけ思っている臆病なサーファーだ。

だが、プログラマとして生きていくにはそれで必要十分なことだったように思う。

風の噂で、先輩は私よりずっと早くプログラムを辞めて、ITとは何の関係もない仕事についた、と聞いた。

フェティシストは「完全」を知っている。だが、それ故に生き続けるのも難しのかもしれない。
私は「不完全」なシステム開発の汚濁を生きた。だからこそ、まだ立っている。
まあ、抜け出せなくなっているだけかもしれないのだが。


ただ今でも、私がコードを書く時、必要以上に複雑になっていやしないか、と少し怯えている背中から、私の先輩はあの時の笑顔のまま、私のコードを見てくれているのだ。


筋少の大車輪

筋少の大車輪