ごちうさ映画の話 / SECCON 2017 Online CTFにでてみた話
12月ということで人々がアドベントカレンダーに精を出しているのを眺めていると、もうタスクを積みたくないからとアドベントカレンダーに登録しなかった私であっても、やはりブログでも書いて世界に何事かを発信していくかという気持ちになるもので、従って12月は、毎日とは言わないまでも少しずつ、書きそびれてきたことを書いてゆきたいと思う。
はてなブログの下書きやEvernoteのノートには、書こうとして放置したことがらがいくつか溜まってはいるのだが、古いことから書いていくときっと新しいことを書くことが永遠にできなくなるので、基本的には時系列とは逆に、しかし思い出した順に適当に、今年のことを振り返っていく。
以上の理由から、この記事を書いている現在は平成29年12月12日未明であるが、この記事の触れる内容は基本的には同年12月10日、即ち2日前のことである。
ごちうさ映画を観た
ごちうさの映画(「ご注文はうさぎですか?? ~Dear My Sister~」)を観に行った。
といっても、今回が初めてではなく2度目である。前回は公開日である11月11日(ぴょんぴょんの日)に行ったから、ちょうど1か月ぶりだ。
前日には「明日ごちうさを観に行くぞ!」と考えていたにもかかわらず朝起きたのが午後1時頃であったため、午後3時半からの回を予約した。この時間なら余裕だろうと考えていたのだが*1、ぼーっとしていたら時間が相当ぎりぎりになっていた*2。
京都駅北口にバスが着いたのは15時28分。そこから京都駅西側廻廊*3を息を切らしながら抜けてイオンモールに着いたのが35分。しかし息が上がったために飲み物を求めたりして、入場できたのは40分。前回来たときに長い予告をみた記憶から間に合うかもと思ったが、普通に始まっていた。OPが見られなかったのは痛恨極まりない。遅刻はかなしい結果を産む。知見である。
なお、前回も同じ道を通って行ったのだが、前回は余裕があったのでこんな写真を撮っていた。うきうきするあたたかな秋の午下がり、「日常の中にも不思議の交差点♪」とかうたいながら。
閑話休題。
肝腎なのは映画の感想であるが、それについては一度目に観たあとのこの短文が私の得た感動をよく表していると思う。
いろいろな感情を刺戟されました……
— すずしめ (@suzusime) 2017年11月11日
戟で刺されるという表現*4がぴったりくる、そんな情動である。ここではそれを散発的ながら、もうすこし詳しい言葉で記しておく(ネタバレあり)。
- テレビアニメに比べ、映画の強みはやはり臨場感というものである*5。それを活用して、この作品はごちうさ世界というものの広さをわかりやすく示してくれた。初めの千夜とシャロちゃんが走るシーン。駅。これまで見てきた世界はこの世界のほんの一部でしかなかったことを思い知らされた。
- 臨場感といえば、やはりラビットハウスの空気というものの表現も素晴らしいものだった。静かな店の中、カウンターに立ったチノちゃんが「この店、広いですね」と呟く……。そこで「ああ……」と感じるのである。
- なんといってもチノちゃんの感情表現。いつものようにココアさんがいない。寂しさ、それがひとつ大きなものだろう。しかしココアさんがいない、それは普段意識しなかったことがおもてに出てくる余裕にもなるのである。この作品ではそうやって訪れたいつもと少し違う日々が描かれる*6。静かな私室でひとり勉強。ココアさんからかかってきた電話に嬉しく思い。けれどいつもの声をきくと安心して少し冷たく接してみて。「切ってしまいました」、そう言うシーンでは、私の心はほとんどチノちゃんのものそのものになってしまう。枕に突っ伏して、「あーーーー」と、小さな声で叫びたくなる。みんなを花火に誘おうとするシーン。チノちゃんの心の不安、恥ずかしさ、震えはそのまま私のものである。それを観る心は為しえなかった思いを託す願いである。
- 物語というものに触れるときは、たいてい登場人物の誰かに感情移入するものだと思うが、私の場合ごちうさではチノちゃんである。最近キャラクターに対してよく使われる表現で「尊い」というものがあるが、尊いものに近づきたいというのは人の*7自然な願いである。「俺の嫁」という言葉に代表されるような「それを自分のものとしたい」という願いもあるかもしれないが、私の場合はそういうものではない*8。「自身が尊いものになりたい」という憧れの思いである。魂をチノちゃんの如く昇華することを願うのである。ジャンプ漫画の主人公になりたいと思う子供のように、私はチノちゃんで在りたい。……そう胸の内で呟くたびに胸の下あたりに湧き上がる、この切ない痛みは一体何?
- こういうわけだからどうしてもチノちゃんに注目してしまうのだが、それ以外にも見るべきところはある。ひとつ印象深いシーンが、「話し中」になるシーンである。インターネットが普及し、電子メールやSNSでの連絡が一般的な時代、「話し中」は過去の思い出のなか、私の場合は幼きの頃の思い出のなかの存在である。そうすると、子供の頃、親の実家に帰省した時のことを思い出す。子供の頃といわずとも、(もっとココアちゃんの状況に近い)一人暮らしの今の暮らしから実家に帰ることにも思いが至る。若い=新しい――そして時に寂しい――世界の対称としての、家族の=古い世界。北欧のフィヨルドのなかにあるようなココアちゃんの田舎であっても、そこに郷愁というものの共有を得られるのである。
- ココアちゃんが将来について話すシーンは、(将来どうしようか軽い絶望のうちに悩んでいる*9私にとって)つらいものでも、やさしいものでもある。「やさしい大人になる でもでもでもそれ以上わからない」とはいうけれど、大人ってなんだろう。私はもう大人になってしまったのか? どうでもいいが、半ば冗談として言っているココアちゃんが物理学徒になるという説は、実はかなりの現実性を持っている気がしてきてならなかった。
- 青山さんと編集さんの関係性が結構好き。
芸術というものは人の感情を動かしてなんぼというものだと思うので、少なくとも私にはとても良い映画であった。
ごちうさにはギャグシーンも多いが、私はどうしても少し真面目な部分、そこで描かれる微妙な感情の機微が好きなところがある。でも、ギャグシーンが冗長かというとそうではなくて、あれがあってこそ「ごちうさだ」と思えるのだ……そう感じた。
SECCON 2017 Online CTF に出た
話は大きく変わってSECCONの話。
先ほど午後1時に起きた、と書いたが、それはこれのせいである。
今までつけていた脚注で察せられるかもしれないが、最近ダメダメで、何もできていない。9日土曜日もそんな感じで、一日中家の布団でぼーっとしていたら一日が終わりかけていた、という具合であった。
それで夜になって、こんなことしてるくらいならやってみるか、と最近流行のストロングゼロを呷りながら、SECCONにエントリーした。
サークルで開かれていたCTF勉強会*10に出ていたことはあったものの、考えてみれば一度もまともなCTFの大会に出たことがなかった。折角勉強したのだしやっておこうという気持ちになったのだった。
朝にもういいかなと満足するまでやって、結果は4問正解で600点345位。インターネットを探せばWrite Upがたぶんたくさんあるのだが、初心者の参戦記ということで各問題の感想をちょっと書いておく。
Run me!
最初に解けたのがこれ。
プログラムを動かしてくれといっているのだが、貼られているPythonコードを見ると、フィボナッチ数列の第11011項を10進数で表したときの上32桁を求めるプログラムであるらしい。
当然普通には無理なわけで、Wikipediaやオンライン整数列大辞典などをしばらく眺めながらどうしたものかと考える。
この前ISUCONで出たらしいBigIntの上15桁を求める問題と似ているのでどうにかならないかなと考えるが、それとは違い自分で数値を計算する必要がある。
そこで上32桁だけ正しい値に保ちつつ計算する方法がないかなと紙に書いてやってみたりするが、足し算なのでまあダメっぽい。
そもそもPythonの整数型って何bitだったっけと考えたところで気づく。
この問題は「フィボナッチ数列の第11011項を10進数で表したときの上32桁を求めろ」といっているわけではなく、「このプログラムの実行結果を求めろ」といっているのであった。
というわけで、桁溢れを無視してPythonの整数型の範囲だけの演算で得られた結果、つまりバグを含んだ計算結果を答えてしまえば良いわけである。
するとあとは簡単で、再帰函数で書かれたプログラムをメモ化再帰か漸化式で書き直してしまえばいいだけになる。
そういえばこれは競プロじゃなくてCTFだったなぁ、と思い出させられた。
gist.github.com
SHA-1 is dead
次に解けたのがたしかこれ。
SHA-1のハッシュ値が衝突するような2つのファイルをアップロードしてくれという問題である。
SHA-1の強衝突耐性が破られたというのは大ニュースになっていたけれど、それはGoogleが鬼のような計算機力(≒金の力)で殴って得た結果だったはずで、一般人にはどうしようもなさそうな気がした。
そこでまあ思いつくのがSHAtteredで公開されているサンプルのPDFを上げる方法だが、この問題ではファイルサイズに条件があり、2017KiBより大きく2018KiBより小さいファイルでなくてはならない。このPDFは413KBほどなので条件に合わない。
それでどうしたものかということになるが、確かこの問題は「先頭から順にブロックに区切ってハッシュ値を計算していったときにどこかで同じ値が出てしまう」ということに起因するものであったような気がした。そうならば末尾に適当な同じデータを付け加えてもハッシュ値が同じになるはずである。ということで雑にPythonコードを書いてファイルを生成し、SHA-1ハッシュを計算してみたら同じだったので投げてみたら通った。
gist.github.com
Vigenere3d
暗号を解くやつ。
ヴィジュネル暗号とかいうものらしく、とりあえずググって出てきたWikipediaをみたり、「ABC」の三文字の場合についてコードを追いながら紙に書いてみたりした。
しばらくやっていて、(Wikipediaにも太字で書いてあったのだが)鍵の文字数を知られないことが重要であること、つまり鍵の文字数の周期でただのシーザー暗号になるということを理解する。
そして、問題を見てみるとどうも鍵の文字数が14文字であるっぽく見える。
で、平文の最初の7文字は「SECCON{」であることが分かっている。
それだけだと足りないようだが、実装を見るとどうも鍵は元の文字そのものではなく、実質的に半分の長さ、つまり7文字の長さの数値列になっていそうであることがわかる。
それなら解ける。
……ということで、紙で手作業でシーザー暗号を解いてみると、途中で「SECC」という文字列がでてきたので「これはいけそうだ」と思い、プログラムに解かせた。
手作業レベルでできるような暗号解読は、それこそ探偵小説のようでやっていて楽しかった。
Powerful_Shell
最初はLinuxで動かすのかなとLinuxのVMから落としたが、fileコマンドを売ってみたらTextとかでてきて、中をみたら見知らぬプログラミング言語で書かれたプログラムで、なんじゃこりゃとなった。
眺めて意味のありそうなコマンド名でググってみたらPower Shellらしいことがわかり、ああそういう意味のタイトルかと。
これを動かすのにセキュリティポリシーの変更なんかが必要で、少し面倒だった。
ちょっと怖いなと思いつつも管理者権限のPower Shell上で動かすと、ピアノの鍵盤がでてきて、楽しいなーと。
そのままじゃ埒が明かないのでソースを覗くが、例の如く難読化されていて意味不明。
ただ、一番下の行で$ECCONなる変数の中身をプログラムとして実行しているらしいことが分かったので、その変数をファイルに書き出すようにプログラムに手を加える*11。
するとちゃんと読めるスクリプトが出てきて、中に書いてあった某曲*12のメロディを弾いてクリア。
……かと思いきや、パスワードを入れろとか言ってくる。第2ステージがあるらしい。
そのあとは結局似たようなことをした。つまりスクリプト内で生成されたスクリプトを実行するようなつくりなので、その中身をファイルに書き出して読むのである。変数名に記号を使って難読化しているものは適当に置換したり変数の内容一覧を表示してみたり。
そんなこんなでパスワードを見つけて入力したら答えが出てきた。
ピアノの鍵盤を弾くと音が鳴るというビジュアル的な要素があって、これも(初心者ながら)解いていて楽しい問題だった。
以上が解けた4問である。他に、解けなかったが挑戦した問題についてもいくつか書いておく。
putchar music
これもビープ音で音楽を鳴らすやつ(っぽい)。
Scientific LinuxのVMで動かしてみたが何の曲か全くわからないので諦めた。
Baby Stack
スタックオーバーフローで攻撃するやつ(だと思う)。
こういうのこそCTFという感じで、スタックオーバーフローでシェルを奪えることをCTF勉強会で知った時は感動したので、是非解きたかった。
gdb-pedaで頑張って動作を追ってみたものの、何処に飛ばせばいいのかなど見つけられず、スタックの動きもよくわからなくて断念。
Goで書かれているようだったが、Goでもスタックオーバーフローするんだなー、と思った。
Ps and Qs
暗号化されたファイルと公開鍵2つが与えられ、それを復号しろという問題らしかった。
同じ秘密鍵から作られた公開鍵が複数あるともしかして秘密鍵の情報がでてくるのか? と思い適当にググったところ、http://www.jnsa.org/seminar/pki-day/2012/data/PM02_suga.pdfがでてきてPsQsなどという文字列が見えたのでこれかな、と考える。
Widespread Weak Keys in Network Devices - factorable.netで公開されているfastgsdを落としてきて、VM上でビルドするところまではやったものの、よくある鍵の最大公約数の一覧(?)がわかったところでどうすればいいのかよくわからないので諦めてしまった。
……といったところである。
CTFは消耗するけれど、解けたときはやっぱりうれしくてハイテンションになるので、なんともいえないものである。
CTFにしろ競プロにしろ、いろんなものに少しだけ手を出してまともにはやらないという私の悪い癖の結晶のようなもので、そのあたりが痛むところではあるのだけれど。ちなみに、最近は『ステラのまほう』原作の照先輩エピソードを見て「ああ……」などと思うなどしていた。ステラのまほうはいいぞ。
*1:私の家から京都駅まではバスで約40分、劇場であるTジョイ京都まではそこから徒歩約15分。
*2:最近はこんな感じのことばかりでなかなか大学の講義に出られない
*3:走りながら適当に名付けた。京都駅北口バスターミナルから西に油小路まで行き、線路をくぐる地下道で南側に抜けるルート。若干遠回りな嫌いはあるが、駅構内を通らないので走れる。
*4:この単語なかの「戟」は動詞として使われているようだけれど。
*5:良い視聴環境を用意すればテレビアニメもより迫力をもったものとして楽しめるのだろうが、それは一学生には難しい。
*7:「凡人の」なのかもしれない。
*8:だから「きらら」を求めるのだと思う。
*9:今月中に卒業研究の希望調査を出さないといけないのだが、不安しかない。
*10:『セキュリティコンテストチャレンジブック』(ハリネズミ本)と『暗号技術入門 秘密の国のアリス』の輪講をしたりした。
*11:PowerShellなんて使ったことがないので書き出し方は当然ググった
*12:私はこの曲が好き。
量子力学の演算子の話
量子力学の講義や演習で、演算子が波動函数に直接作用しているように書かれていることがよくあった。
という具合。
こういうのが出るたびによくわからない気持ちになっていた。
波動函数というのは
で定義される「数」であり、物理量(一次演算子)の作用する先の「状態」ではないからだ。
今日ようやく謎が解けた。どうもあの表記法は
で定義される量を指しているらしい。
言われてしまえば非常に簡単な話なのだが、量子力学の非可換性に囚われて
などと訳のわからないことを考えていた。
要するに、状態を座標による基底で表示したものが波動函数であるから、「一次演算子を状態に作用させたあとに座標による基底で表示する」ということを暗黙に行っていたらしい。
それにより記号の順序が逆になるというただそれだけのことであった。
講義ではふだんあまりブラケット形式を使わずに波動函数での表記を用いているが、調和振動子の問題を扱う場合などにたまにブラケット形式で表記される。
そういう問題で途中までブラケット形式で、途中で波動函数での表記に変わるようなことがあり、そのたびによくわからないという思いを抱いていた。
そういうとき、ブラケットを機械的に波動函数に置き換えてしまえば何故かうまくいくのだけれど、何故そうして良いのかが全く分かっていなかった。
それで、ブラケット形式で表記される一般の量子力学と波動力学との間に壁を感じ、「量子力学がよくわからない」という気持ちを増大させていた。
気付いてしまえば非常に簡単な記号の濫用の問題であったのだけれど、気付くまでに随分と時間がかかった。
「よくわからない」という漠然な気持ちを抱いた時に、きちんとその理由を突き止めようとするべきであったのだろう。
もしかすると同じことで悩んでいる方がいらっしゃるかもしれないので、ブログに書いた次第。
<11/6追記>
各所からご教示を頂いたので追記しておきます。
- 「記号の濫用」などと上では書いたが、と見ればよいだけ。左辺のような表記は単に括弧の省略が行われているだけであるといえる。
- これがとても納得できる説明だった。パースがうまくできていなかっただけ……
- 演算子も座標表示して と見れば、順序は自然。
ありがとうございます。
『クロックワーク・プラネットI』を読んだ
『クロックワーク・プラネット』原作小説をこの前ようやく見つけ*1、その第一巻を読み終えた。
素晴らしかった。私はアニメから入った口なので(恐らく)三巻までのストーリーは知っている訳だけれど、それでも泣けた。圧倒された。
あらすじは公式サイトを参照。
要するに、二人の「天才」――異常に良い耳をもつ高校生の少年と才気に満ちた時計技師の少女――を主人公とした物語である。
歯車仕掛けの設定が格好いいというのもあるのだけれど*2、この天才たちの戦いを描き方が良い。天才たちが自分の理想を貫くために、一筋縄にはいかない世界と正面から戦うのだ。
※以下ネタバレ成分が強めです。
この物語は徐々に「凡人と天才の戦い」というテーマが表に出てくる……というのはアニメ版からの知識なのだが、第一巻の時点でもそういう伏線は張られていた。マリーさんが軍に対して「邪魔だからド素人は引っ込んでろ」と言うくだりである。能力がない者は何もできない。だからマリーさんの言うことは正論ではある。だが、何もできないから恐ろしいのだ、とハルターが心の中で語っている。
羨望、嫉妬、憎悪……「ルサンチマン」という語の俗化した意味のものの力は恐ろしい。これによってマリーは苦しめられる。
平凡な人間の多い社会というものは、そういったものとうまく折り合いをつけながら回っている。たとえ天才だからと言って正論だけではいけない。相手を適宜思いやって、相手の顔を立てて、理想そのものが実現できないとしても適当に妥協することで満足する。これが大人の解決策である。
この小説は、これを否定する。
天才は妥協せず自らの力の全部を以て信念を貫き夢を実現せよ。苦悩の末マリーが至るのは、そういった、ある種子供じみた結論である。
マリーは子供じみたと自覚しつつも、子供だからいいじゃないかというのである。
私がアニメを全話見て抱いた感想は、「面白かったけれど、ものすごいテロリズム礼賛アニメだ……」というものだったのだけれど、原作小説は一巻の時点でそれをずばり語っていて笑ってしまった。
首をかしげたナオトに、マリーはにやりとして、
「理想を追求するのに最も都合のいい立場って何だかわかる?」
ナオトは首を振る。
「いいや」
「それはね――テロリストよ」
にっこりと危険な笑顔で、マリーは言った。
現状維持的で薄汚い社会に抗って理想を具現化しようとするならば、着く果てがテロリストなのは妥当なのだけれど、ここまで断言してくれると清々しいものである。
これを是としてしまうのは、私が子供っぽいからなのだろうか。
何はともあれ、天才たちが困難を打破する姿は格好いいし、熱くなるのである。それで十分かもしれない。
あとリューズさんマジリューズ。うん。
頷くシーン最高。作者たちが「萌え」というものを生み出す魔術師に思える。
リューズの口上もいちいちとても良い。
媒体の問題でアニメにはなかった登場人物の背景とか心理の描写が小説にはあるので、キャラの見方を結構変えてくれた。そういう意味で、アニメを見た方にもおすすめ。若干手に入りづらい嫌いがあるが……*3
――感動をうまく伝えられなくてもどかしいけれど、久々に熱中して読める面白いラノベに巡り合えたな、という話でした。
情報と物体
先日(土曜日)、メロンブックスで好きな同人サークルのCDを手に入れてきました。
そしてPCに取り込んで聴こうとしたのがつい先ほどなのですが、そこで「あれ???」と。
曲名入力をコピペで楽しようと公式サイトを見に行ったのですが、過去の作品一覧ページに記載がない。
3度くらい上から下まで見直しても、反転したりしてもでてこないのです。
――完全によくわからなくなって、名前でググってみると少しだけ情報がでてきて、「なるほど」となりました。
……この高度情報化社会では、物よりも先に情報があることが普通です。たいていは物を買う前にインターネットでその詳細を調べますし、新刊本が出るときは数か月前に予告がなされるでしょう。
今回はそれが逆転していました。お店で物を見て、そこで存在と名前を知って、それから初めて情報を得ることができる。
(もちろん注意深く2chのスレなんかを追っていれば先に情報を得られていたかもしれないわけですが、そういうことをあまりしない私のような者は公式サイトから存在の情報を隠されるとどうしようもないわけです)
こういう経験は奇妙で刺激的で、「なるほど」となったときのカタルシスは素晴らしく、あぁ、良いなぁ、と。
――以上です。
メモツールについて
私は結構長い間 FitzNote というメモツールを使っています。素晴らしいソフトなのですが、乗り換えたい気もずっとしていて、どうしようかという思いがあるのでそれをちょっとここに書いておきます。
FitzNoteの良い所
なにより手軽に書けるのが素晴らしいんですよね。
PCでメモを取ろうとすると、主に面倒くさいのはファイル名をつけてどこか適当な場所に保存しないといけないことなんです。
「これは保存すべき情報なのかな」「これはこういうカテゴリの情報だからこういうフォルダに入れておくべきかな」といった思考を、ちょっとしたメモのたびに考えるのはとても面倒です。
その点FitzNoteはすごく楽です。
デスクトップに「雑記.ftz」のようなファイルをおいておけば、ダブルクリックで一瞬でFitzNoteのソフトが立ち上がり、画面に出るのは前回開いた場所で。
新しいノードはワンクリックでつくれて、ノードを作るとノード名入力待ちになるので適当に名前を入れるかそのままエンターキーを押すとメモ入力が始められる。
あとは思いつくままにテキストを羅列していくだけ。
ここまでになにも頭を使う必要がないのです。
更に、FitzNoteはアウトラインエディタと呼ばれるタイプのエディタですから、階層的なデータ構造をつくるのが得意です。書きなぐったアイデアを階層的に整理していってまとめるという作業がストレスなく直感的にできるわけです。
また、一覧性があるのも大事なことで、FitzNoteにはツリービューがあり、これを常時表示しておくことでいつでもワンクリックでメモを探しに行くことができます。
重要な情報もそうでもない情報も、階層構造で整理して一元管理。 情報はここにあります。
という謳い文句が公式サイトにありますが、まさにその通りで、だいたいここにメモをつっこんであるので情報を探す手間がとても少ないのです。
PC内のどこか埋もれたファイルを検索するのとは違い、全文検索ができて結果もすぐに出るのも素晴らしいです。
なお、FitzNoteには進捗管理ソフトの面もありますが、私は基本的にメモツールとしてしか使っていないのでそっちの面についてはよくわかりません*1。
乗り換えたい理由
こんなにべた褒めすると、じゃあなんで乗り換えたいんだ、一生使っておけばいいじゃないかという話になりそうなのですが、やっぱりFitzNoteにも少し問題があります。
問題の第一は(というよりほぼすべてなのですが)、古いことです。最終更新は実に1999年、今から18年前です。これが未だに動いていることについてはWindowsの後方互換性を讃えるべきですし、そもそも私がこのソフトを使い始めたのは確か古くなって無償化されたと聞いて興味を持ちダウンロードしてみたからだったはずなので、古いということに文句を言える立場ではないのですが、やはり現実問題として古くて今後アップデートされる見込みがないのは厳しい所です。
OSのアップデートでいつ動かなくなるかわからないので、綱渡りを続けるような状況になってきます。OSSではないので自分で修正することもできません。
第二はUnicodeに対応していないことですね。これも古いからで片付きそうですが。
第三には、情報が集中しすぎていてすこし怖いということです。1つのバイナリファイルに全部のデータが入っているので、これが壊れたら終わりだなぁと。たまに思い出したときにバックアップを取っていますが。
あとはクラウド共有あたりの問題でしょうか。今はftzファイルをOnedriveにおいていて別のPCからも編集できるようにしているのですが、これも1つのバイナリだという事情から衝突したときは手作業でマージするしかなくなります。
……このあたりでしょうか。
乗り換え先の候補
そもそもアウトラインエディタというジャンルのソフトウェア自体が下火なようで……
いくつか試してみたのですが、あんまりしっくりくるものがなかった記憶があります(それこそメモしてなかったので記憶が薄い)。
emacsのorg-modeとかいうのもよさそうだなと思った記憶があるのですが、気づいたらvimしか使えなくなっていました。
プレーンテキストですから、サーバーにテキストを置いておいて一日に一回くらいcronでgitを叩くみたいな運用ができそうなのはよさそうなのですが*2。
「♪エンジニアーはみんなー 不思議な力をもってるのー ソースコード、書くだけで、どんなアプリでも、うみだせるー」と歌いながら*3、シンタックスハイライト機能をつけてその場で実行できるようにするとか、TRONの実身・仮身を参考にファイルを分けて参照するような構造とかを考えて、便利なものを自分で書こうとしたこともあったのですが、結局投げ出してしまいました。
とりあえずツリーで選んだやつのデータを右に出すところまでできた。 pic.twitter.com/LDczm7y51R
— すずしめ (@suzusime) 2015年3月23日
これが最初のころで、大学入学する前なので2年くらい経っているわけです。あの頃はデリゲートなにそれわからんといいながらC++しか知らないまま雑にC#をかいてWPFに殺されていたのですが、いつになってもWPFの気持ちがわかることはなく(というか資料が少ない)、途中でこの実装はやばいと気づいてコードを破棄し、そのままといったところです。
だいたいはGUIのつくりかたが分からなすぎるというところに帰着します。
あとは無駄にUnicodeに完全対応したい、いい感じに文字をレンダリングしたいからFreetypeを直に叩くか、などなどと余計なことを考えていって要求が肥大化していったのも問題だったのでしょう。
あまりIT系のひとの言葉を引用するのは好きじゃないのですが、ネットでよく見る「完璧を目指すよりまず終わらせろ」というFacebook創業者の発言は正しいと思いますね。
うーん。締まりのないお気持ち表明でした。(やっぱりつくりたい)
*1:最近までスケジュール管理というものをほとんどしておらず(基本的に覚えられる範囲にしか予定を入れていなかった)、さすがにまずいかという気持ちになって最近スマホを手に入れたのを契機にgoogleカレンダーを使い始めましたが、これは予定を入れるのが楽しくなっていいですね。なにが楽しいかって、場所を入れるとそこの画像が取得されて予定表の 背景にその画像がでてくることです。完全におまけ的な機能なのですが、これがとても魅力的に思えます。
*2:gitの使い方として最悪っぽい気もする。
名前
「だって名前を断ち切る蜻蛉切でしょう? 私、ジョセフィーヌとかスザンヌとか、いろいろと通り名作ってるから。そっちのほうが軽いし。刃って、切りやすい方に滑るわよね」
「――ま、待て!」
二代が叫んだ。
「蜻蛉切は、通り名だろうと、機体称呼だろうと、威力が減衰するが断ち切れるはず!」
「あら、そういうものなの? じゃあ、残念ね。今までその槍が切ってきた通り名とかその他いろいろは、――それを使ってるやつらが、自分自身だと信じてたものなのね、きっと」
「お主は、己の通り名を、一体何だと……」
「ファッションよ。衣服と同じ。だから、――服と一緒に切れたのはそちら」
――ここに引いた賢姉様の台詞、初見では「そんなのありかよ」と思っていましたね。さすがにご都合主義に過ぎるのではないかと。まあ私はひとえにご都合主義が嫌いという訳でもないので、それはそれでいいのですが、それはそれとして、名前について考えるとこの一節はなかなか当を得ているなと思えてきたので引いたという次第です。
私もインターネットの上でいくつかの「名前」を持っています*1。(世間をみれば今時の中高生や逆に上の方の世代の方々、及び海外の人々は得てして実名インターネットをする傾向にあるらしく*2、インターネットに実名を晒すことに極めて強い抵抗を感じるのは2chなどを見て育ってきた我々の世代特有のものなのかもしれないな、などと思うこともあるわけですが、ともかく、)実名でない名前、ハンドルネームを考えてはそういう人格を作り、そういった人間として活動していくわけです。名前が人格を生むのであり、名前の数だけ人格をつくれてしまうのです。
別にこれはインターネットの中だけに限られた話ではなく、また個人の名義に限られたの話でもありません。
「同人」の世界を知り初めた昔(中学生の頃)、どうもサークルというものを単位としてやっているらしいということを理解したのですが、東方Projectの上海アリス幻樂団が一人のサークルだと知ってびっくりした記憶があります。
「サークル」という言葉は広く使われていますが、学校の「部活動」以外を知らない身にはいったいどういうものを指しているのかよくわからなかったのです。
……一人でサークル、これ如何に。
いざ大学生になってみると、「なんだ、そういうものか」となりました。サークルは、いわば概念でした。サークルは、サークルを立てると宣言した瞬間に誕生するのです。
私が一回生の頃、よくTwitter上で「#京都大学ポテトサラダ同好会」なるハッシュタグをつけて学食のポテトサラダの写真をアップロードする遊びが行われていたのですが、それも一種の同好会なわけで、なるほどなとなりました。「我々はサークルをつくるサークルです。私は〇〇個のサークルを作りました。うち△△個は私一人だけのサークルです」といった張り紙をみたこともあります。どこまで本気かわからない政治的な主張のビラは、たいていの場合そのとき初めて見るような同好会の名前で出されます。
要するに、サークルというのは名義だったのです。
ハンドルネームと違うのは、暗黙裡に一人であるかどうかはわからない人間の集合であることを示しているということだけです*3。
同じサークルの名義でなにかが行われるとき、それは関連性、連続性をもつものと解されることを意図しているのでしょう。
メンバーが同じでも別の目的があれば別の名前のサークルを名乗り、人が違っても連続性をもたせたいならば同じサークルの名義を名乗る、そういったものなのです。
人は、縁――或いは絆――に縛られるものです。連続性をもたらす「名前」というものは、絆そのものでしょう。
「名誉」は同じ名前を使い続けることでしか得ることはできません。
しかし一方で、その名前には望まないしがらみや、捨てたい過去も載っていくのです。
ハンドルネームやサークルの名義を用いることの素晴らしさは、こういったことを自由にコントロールできることです。
本名を用いて、変えられない顔を用いる現実世界では、望む望まないに拘わらず人間は一人の連続した人間として名誉と責任とを背負うことを余儀なくされます。
一方で、自分が新たにつけた名義で活動する場合は、特に「顔の見えない」インターネットの中では、しんどくなったら名前を捨てる、また使いたくなったらまた使う、なんてことが自由にできるのです。
ある種無責任なわけですが、そういった気楽さはとても大事なことだと思います。
(だから、やっぱり“かけがえのない”本名や顔を明かすのが怖いと思うのは正しいはずです(自己正当化)。)
しかし、どこかに一人の青年がいるだろう。彼の心には、何か彼自身を戦慄さすようなものが生れかかっている。そのような青年にとって、おまえが無名であることはきっと大切なことに違いない。おまえには、おまえなどを虫けらのように思っている人間が、行く手に立ちふさがっているかもしれない。おまえの周囲の人々がみんなおまえを見限っているかもしれない。あるいは、おまえのいだいている思想が気にくわぬとして、頭からおまえをやっつける人々もあるだろう。しかし、それら目にみえぬ敵はかえってただおまえの決意をしっかり心の中でささえてくれるだけなのだ。そのあとからやってくる「名声」という陰険な仇敵に比べれば、まるでなんのたわいもないものだ。名声はお前をまきちらし、おまえという詩人を毒にも薬にもならぬものに変えてしまうのだ。
僕は誰一人おまえのことを口にしてもらいたくない。むろん、悪口は絶対言ってもらいたくない。星が移り月が変って、おまえの名前は世間の口にのぼるようになるかもしれぬが、おまえはそれを、移り気な世間の人々の口の端にのぼるすべてのこと以上に真剣に考えてはならぬ。むしろ、名まえはそれで汚されたと思い、なるべく早く捨ててしまう方がよいのだ。さっそく何か別の名まえと取りかえて、深夜、神さまにだけその新しい名前を呼んでもらうことを考えねばならぬ。そして、それは誰にも知らせず、そっと隠しておくのだ。
社会とか、そんなもののなかで、人は「優秀な人間」とかそうでないとか、そういった評価を得てしまうわけですが、そういうものはとても不幸なように思えます。
仕事ができてもそうでなくても、絵がうまくてもそうでなくても、数学ができてもできなくても、それは私だ!――そんなことを叫びたくもなります。
(自我同一性を何に求めるかという問題は、あるいは青年期特有のものなのかもしれませんが。)
神様にだけ本当の名前を告げる、それはこういった社会からの防禦策なのだと思います。
自分という全存在が懸かってしまう本名(あるいはそれに準ずる名)は、能力など関係なしにありのままに受け入れてくれる存在*4にだけ託す。仕事はその時々の名前で行い、名前に評価を肩代わりさせ、自分という人間存在を評価から守る。
あまりに弱いありかたかもしれませんが、私はできればこういった風に生きていきたいです。
残念ながら現実の社会はそういったことを許してはくれないこともあるでしょうが、だからこそインターネットの世界に、創作の世界に、承認と救いを求めに行くのだろうと思います。
「この岡に菜摘ます児 家告らな名告らさね」(万葉集)――言霊の感覚は今もありありと生きています。
鴨川
夜の鴨川は怖かった。
河原を自転車で走っていくと、滝の近くを通るたび、ごうごうと響く水音にびっくりする。
こんなにこの川は激しかっただろうか、大きかっただろうか。
そんなことを思ってしまう。
夜の川は漆黒である。向こう岸や橋の上に明かりがあったとしても、その光は川面で反射するだけで、中まで照らすことはない。
闇は、見ているだけで吸い込まれそうで、ただ恐ろしい。
飛び石を探して河川敷を行くと、視線をたまに川の方へと遣るわけで、すると自然と進む道は川寄りになる。暗闇の中、自転車の燈火だけを頼りに進むと、突然目の前に人の座っているベンチが見えてきたり、茂みが現れたりするのであった。そして、いつの間にやら川に近づきすぎていて、落ちる恐怖に晒されるのだ。
* * *
……私は飛び石を探していた。何ヶ月か前にも飛んだ鴨川の飛び石を。
色々あって虚無としか言えない気分になっていたから、むかし慰めを与えてくれたその飛び石を探して、自転車を走らせていたのだった。
* * *
荒神橋のあたりと記憶していて、たしかに荒神橋のあたりに飛び石はあったのだが、少し渡ってみるとそれは違うものだと分かった。
飛び石を渡っていくと、真ん中あたりで近くに舟型の石がある、そんな飛び石を探していた。
いつだったか、その舟のうえでざわめく心を安らげた。
それを繰り返したくなったのだった。
……果たして、それは丸太町橋より更に少し下ったところにあった。単なる記憶違いであった。
私はそれを真ん中、舟のあたりまで渡る。
水量は、先ほどの飛び石のところほどにはみえなかった。流れが少し反対の岸のほうに寄ってていたからだろうと思う。
ちょうど舟の前の石へと飛んだとき、横でぼちゃんという水音がした。驚いたが、落ちずには済んだ。残された波紋を見て何かの魚がいたのだとわかったが、流れの中は、やはり何も見えなかった。
石の上に座ると、流れは近くなった。
いつだったかのように、舟まで飛び移る勇気を、今日の私は持っていなかった。
ふと思い立って、左手で流れに触れようとした。……怖かった。水に触れてしまうと、文明に守られた私という存在の不可侵性が破れてしまうような気がした。私がこの大きな川の上にあってなお乾いているそのことが、安全ということの表象であるかに思えた。
しかし、触れてみた。
触れてみれば、なんということはなかった。
神社のお手水のような気分になり、次は右手を入れてみた。
右手を上げると、なにか砂のようなものがついたことが分かった。
もう一度川に浸して洗い落としてしまえばいいか。そんなことを考えたとき、何故であろう、私は急に恐ろしくなった。私は石を急いで飛んで岸へと戻った。
――祓ひ給ひ、清め給へ。守り給ひ、幸へ給へ。
そんな祈りの言葉を唱えたあと、私はその場から逃げるように帰った。
濡れたままの手で触ってしまったリュックサックからは、学校のプールの後のなつかしいにおいがした。
家について扉を開けると、外出前に撒いておいたファブリーズの人工的な“芳香”が私を包んだ。
私は窓を全開にして、その匂いを追い出した。