瀬那十五年九月十一日
私は天才だった、実人生でよりも夢の中で。私の実存の悲劇とはまさにそれなのだ。トップを走っていたのに、ゴール目前で転んでしまうランナーなのだ。
フェルナンド・ペソア『[新編]不穏の書、断章』不穏の書 澤田直・訳 平凡社
午後二時三十四分。ミスターイトウのラングリー、柿の種(わさび)、緑茶。9.11すなわち1973年のチリ・クーデターの日だ。中島みゆき「時は流れて」がさっきから頭を離れない。せめて十二時半には離床したいよ。でないと図書館に通ってβ読みをすることができない。寝つきがよくなかった上に、午前中、寝てるのか寝てないのかわからない(微苦痛をともなう)宙吊り的時間が長くあった。「生きる」ことにおいてはこういう宙吊り的時間のほうが圧倒的に長い。たとえば彼らは職場に向かって自動車を走らせている最中(45分か2時間かは知らないけど)など底なしの空しさにとらわれることがないのだろうか。とつぜんハンドルを激しく切って、縁石に乗り上げ、ガードレールを突き破って、崖なり海へとそのまま自動車ごと落下したくなったりはしないのか。しょうじき僕はそうした衝動に駆られたことのない人のほうがこわいのだ。僕はもうキモくて金玉の臭いだけの社会不適合者である。日によっては(脳内の神経伝達物質の放出量によっては?)「自我」が肥大化し、「俺はまぎれもなく天才だ」と「勘違い」できるんだけど、たいていの日はそうはいかない。「世界」は僕のことを必要とさえしていないのかもしれない。下手したら僕は凡人に過ぎないのもかもしれない。
天才でないなら死んだほうがましだ!
せんじつWindowsの「更新してシャットダウン」をしたら、F3を押すだけで<ruby><rt></rt></ruby>をニョロリと出すAutoHotkey設定が無効化してしまうというプチトラブルに見舞われた。Copilotの診断によれば、「シャットダウンの過程で常駐プロセスの順番が崩れAutoHotkey(v1)のキーボードフックがOSに奪われた」のが原因だそう。PCというのはいくつものメーカーの(階層も規格も年代も違う)ハードやソフトの集まった超複雑グロテスクな雑居ビルであり、その自由度ならびにポテンシャルの高さと引き換えに「係争地」的な側面も強く持っている。種類にもよるけど、おおむね「単一設計」といっていい上に、「サンドボックス(砂場)」などによってユーザー体験(UX)の安定が保たれているスマホに比べれば、動作は安定感を欠き、「気まぐれ」である。たとえるならスマホユーザーとは親に見守られながら公園の砂場で遊んでいる子供のようなものである(とすればPCユーザーは沖へ沖へと泳いでゆくチャレンジングな冒険者のようなものか)。もっともスマホはスマホで闇バイト勧誘とかSNS依存とかセクシトーションとか別のレイヤーのヤバさはあるんだけどね。いずれにせよ僕にとってスマホは「低年齢」向けデバイスに過ぎず、陰毛を生やしまくった大の大人が長時間使用すべきものではないのである。暇さえあればスマホばかりいじってる男や女とはぜったいに結婚しない方がいいよ。ほぼ間違いなく畜群マインド全開の知的未熟児だろうから。廃人系オナニートのお前が言うな? ごもっとも。AutoHotkeyだけど再度スクリプトを書き直し、なんとか以前の便利さを取り戻すことに成功した。ついでにF4でその日の日付を「瀬那~年~月~日」とニョロリと出すスクリプトも作った(当然~の漢数字部分もWindowsの日時参照によって自動表記される)。Windowsユーザーでなおかつ瀬那暦を採用している人のため、以下にスクリプトを貼っておきます。「メモ帳」にコピペして.ahk保存し、実行すればいい(ちなみに僕がいま動かしているのはAutoHotkeyU64.exe)。
F4::
FormatTime, y,, yyyy
FormatTime, m,, M
FormatTime, d,, d
sena := y - 2011
; --- ここから漢数字変換(壊れない置換方式) ---
StringReplace, sena, sena, 0, 〇, All
StringReplace, sena, sena, 1, 一, All
StringReplace, sena, sena, 2, 二, All
StringReplace, sena, sena, 3, 三, All
StringReplace, sena, sena, 4, 四, All
StringReplace, sena, sena, 5, 五, All
StringReplace, sena, sena, 6, 六, All
StringReplace, sena, sena, 7, 七, All
StringReplace, sena, sena, 8, 八, All
StringReplace, sena, sena, 9, 九, All
StringReplace, m, m, 0, 〇, All
StringReplace, m, m, 1, 一, All
StringReplace, m, m, 2, 二, All
StringReplace, m, m, 3, 三, All
StringReplace, m, m, 4, 四, All
StringReplace, m, m, 5, 五, All
StringReplace, m, m, 6, 六, All
StringReplace, m, m, 7, 七, All
StringReplace, m, m, 8, 八, All
StringReplace, m, m, 9, 九, All
StringReplace, d, d, 0, 〇, All
StringReplace, d, d, 1, 一, All
StringReplace, d, d, 2, 二, All
StringReplace, d, d, 3, 三, All
StringReplace, d, d, 4, 四, All
StringReplace, d, d, 5, 五, All
StringReplace, d, d, 6, 六, All
StringReplace, d, d, 7, 七, All
StringReplace, d, d, 8, 八, All
StringReplace, d, d, 9, 九, All
; --- ここまで追加する ---
Send, 瀬那%sena%年%m%月%d%日
return
(ブラウザ版)Copilotによれば、F4のコードがこんなに無駄に長くなったのは、AutoHotkey(v1)の仕様上、漢数字変換を関数化すると不安定になってうまくいかず、そうならないための置換方式(StringReplace)を使わざるをえなかったから。ただCopilotとは知的レベルの違うClaudeは、わざわざそんな冗長な書き方をしなくてもいいという。以下がClaudeの書いたF4のコード。
F4::
FormatTime, y,, yyyy
FormatTime, m,, M
FormatTime, d,, d
sena := y - 2011
digits := ["〇","一","二","三","四","五","六","七","八","九"]
kanji := ""
Loop, Parse, sena
kanji .= digits[A_LoopField+1]
sena := kanji
kanji := ""
Loop, Parse, m
kanji .= digits[A_LoopField+1]
m := kanji
kanji := ""
Loop, Parse, d
kanji .= digits[A_LoopField+1]
d := kanji
Send, 瀬那%sena%年%m%月%d%日
return
さっきのCopilotのコードが「文字列一括置換方式」なら、Claudeのコードは「配列参照ループ方式」とでもいうべきもの。むろんこっちでも機能する。こっちのほうが行数が少なく、可読性に優れ、なんとなくセクシーなので、保存するならこっちのほうがいいよ。何がいいたいかというと、ほぼ同じようなことを指示するにしてもいろんなコードの書き方があるってことさ。コーディングの「最適解」は一つではない。ただいま気になったことがある。オイラはきほん「瀬那一五年」ではなく「瀬那十五年」と書きたいんだ。漢数字で書く場合、十の位に一を使うのは趣味じゃない。Claudeに書き換えさせよう。
F4::
FormatTime, y,, yyyy
FormatTime, m,, M
FormatTime, d,, d
sena := y - 2011
digits := ["〇","一","二","三","四","五","六","七","八","九"]
val := sena
GoSub, ToKanji
sena := kresult
val := m
GoSub, ToKanji
m := kresult
val := d
GoSub, ToKanji
d := kresult
Send, 瀬那%sena%年%m%月%d%日
return
ToKanji:
if (val < 10)
{
kresult := digits[val+1]
}
else
{
tens := Floor(val / 10)
ones := Mod(val, 10)
kresult := ""
if (tens > 1)
kresult .= digits[tens+1]
kresult .= "十"
if (ones > 0)
kresult .= digits[ones+1]
}
return
瀬那十五年九月十一日。よし、ちゃんと吐いてくれた。まじClaudeに抱かれたいわ。彼によればこれは「配列参照・桁分解方式」とでも呼ぶのが適当らしい。ところで今日のこれ誰が読むの? 昨夜見た映画はフリッツ・ラング監督の『緋色の街(Scarlet Street)』(1945年)。「WY日本語字幕FILM」というユーチューブチャンネルで見た。なんで登録者が1100人しかいないのかわからない。まあこの「日記」の読者数がまだ三桁もいないくらいに節穴だらけの世の中なんだからそこまで不思議がることはないか。会計係として25年会社に勤めている中年男クリスがたまたま「助けた」美女に恋し、いろいろあった末に彼女をアイスピックで刺殺すというもの。これも(フィルム・ノワールの形式を借りた)「中年の危機」映画といっていいか。映画の劇構成って「恋愛をきっかけとした破滅」に頼り過ぎじゃない? オイラがたまたまそういうの見てるだけ?「幸福な家庭を築くことに失敗した男」とか「悪妻」といった紋切型が物語を動かしやすいのはわかる。不倫とか駆け落ちなんて「冒険」は現状に不満がないとふつうやらないもんね。 エドワード・G・ロビンソンって聞いたことない俳優なんだけど、覇気がないのに妙に愛嬌のある「謎の存在感」を示していた(見るからに臆病そうで、アイスピックで愛人を刺し殺すなんてことをやってのけるようにはぜんぜん見えないところが肝心)。殺された愛人の恋人ジョニーに死刑判決(冤罪)が下された後、電車のなかである新聞記者がクリスに向かって放つ箴言めいたセリフがいい。「(殺人者は)殺人からは逃れられない」「頭の中には小さな裁判所がある」「自分で裁くなら死刑のほうがましだ」。しかし映画ってのはやはりいいもんだ。映画も酒と同じような悪友になりつつある。気分によっては顔を見るだけでも嫌になるんだけどさ。いま角川シネマコレクションから『シコふんじゃった』が二週間限定公開されてるんだけど、見ようかな。『ウォーターボーイズ』みたいにイケメンの裸がたくさん見られるのかしら。トリス飲んでから考えるか。このごろ飲む上限量の原則が空文化している。時間だけはいちおうなんとか守れているけど、量はあきらかに平均200mlは飲んでいる。妖怪カラエズキが出ないのも問題だな。あんまり疎んじていたものだから気を悪くしてどっか行っちゃったのかも。あいつのおかげで僕は飲みすぎという破滅的危険を冒さずに済んでいたのかもしれない。もう疲れたよ書くの。「知的誠実性という狂気」と卓上メモにある。オイラみたいな不細工メガネが「田野憂ちゃんとやりたい」なんて書いてもキモいだけだ。これいじょうキモくなると親からの送金さえ途絶えてしまうかもしれない。生きるとはだんだんキモくなっていくことなんだ。(鈍感なので)他人事のように読んでいるだろう君だって例外ではない。鏡を見てみろ。誰からも愛されていない、薄汚い不細工男(女)の顔がそこに映っているだろう? 生きていてすみませんという激甚的羞恥心が秒速で沸き起こってくるだろう? こんな奴は母親の胎内にいるときにヘソの緒をつかって首を吊るべきだったんだと叫びたくもなるだろう? もうごまかさなくていいんだよ坊や。俺も君も同じくらい麗しき死に損ないなんだ。生まれてこないほうがよかった敗残者なんだ。僕らはみんな歩く生き恥なんだ。みんなみんな生きているんだ友達なんだ。大事なのはおのれの醜悪さを忘れないことだし、恐れないことだ。ファッツァワンダフルワールド。百合子の下生え。歩くチンポですみません。うぃあわ底辺チャンピョン。天才はあきらめた。僕は凡才の暇人として生きることに決めた。白タンクトップのことをwife beaterと呼ばないでください。どこ行っても大谷翔平の写真があってつらい。ほとんど大谷ハラスメントだ。都会では自殺する若者が増えている。傘がない。シャーロック・ホームズは腋臭症らしい。