博多電光

技術ブログ

下書き供養 (書評2016、翻訳ゼミレビュー、HDDとDNAの比較表を作ってみた、npm脆弱性報告、艦娘教師なし学習)

※この記事は下書き供養 Advent Calendar 2018 3日目の記事です。

adventar.org


歳末が近い。次の年に厄を引き継がないためにも、もはや続きを書く予定のない下書きを下書きのままいくつか供養する。


2016年の書評

いつの間にか2017年が始まっていたので、突発的に、hakatashiが2016年に読んだ古典・小説・漫画・ゲーム・二次創作・SSなどから、特に心に響いたものをジャンルを問わずに紹介しようと思う(ただしフィクションに限る)。

ネタバレになりそうな部分は白文字で書いてあります。

横山秀夫クライマーズ・ハイ

クライマーズ・ハイ (文春文庫)

 五百二十四人──
 部屋が一瞬、静まり返った。
 誰もがその数字の大きさを具体的に思い浮かべることができた。北関の社員総数が五百十一人だった。会社そのものを消滅させ、なお十三の空席を余す数。

横山秀夫作品の中でも一二を争う名作。1985年に発生した、日本航空123便墜落事故を題材とした物語であり、当時航空機が墜落した群馬県の地方新聞記者として現場を取材した著者による壮絶な体験が礎となっている。

力強く妙味のある文章とリアルな筆致、そしてほろ苦くも人間性を感じさせる結末が深く刺さった。激情、プライド、失望、欲求。そういった人間の飾らない感情が胎動する文章の中に生きたまま放り込まれた、怪物のような作品である。

また、新聞記者という、ともすれば地味になってしまいそうな題材からこれだけの作品を組み上げたことにも驚きを隠せない。日航事故に関する記録文書としてもおすすめしたい一作。

仲谷鳰やがて君になる

2016年のベスト・オブ・百合。既にあらゆる場所で取り上げられているので、もはや語ることは無いくらいだが、こういった作品がたまに現れてくれるおかげで百合業界もしばらく安泰だと思わせてくれる、そんな作品である。

かわいい。そして苦しい。愛することと愛されることにまつわる喜びと苦しみを、豊かな感情を含んだ筆触で鮮やかに描き出した作品。百合入門としてもどうぞ。

OVER「Coda ~棘~」

※成人向けゲームです。

さまざまな偶然を経て出会った2001年発売の18禁ゲーム。正直に言うと購入した際はあまり期待していなかったのだが、色々な意味で期待を裏切って心の防壁を乗り越えてくる怪作だった。

その物語は……これは付属のマニュアルにも書いてあることだが、痛いとにかく痛い稀代の痛ゲーである。特に作中で流れる、バッハの「平均律クラヴィーア曲集第1巻第1番プレリュード」のインパクトは凄まじく、僕は今なおこの曲をどこかで耳にするたび心拍数が僅かに上昇する。

すでに販売終了しておりダウンロード版もないため入手が難しく、しかも最近のWindowsでは動かないためプレイまでのハードルは格段に高いが、痛いゲームを所望の人には強く推薦したい。ただ一点、同時期に発売された「君が望む永遠」をプレイ済みの人にはおすすめしないということだけ添えておく。また、パッケージ裏に書いてあるあらすじは多分にネタバレを含むため、個人的には読まずにプレイすることをおすすめする。

エーリヒ・ケストナー飛ぶ教室』 丘沢静也訳

児童文学の古典的名作。「ギムナジウム物」の作品は何作も読んできたが、本来の(?)ギムナジウムが登場する小説はこれが初めてである。翻訳はちゃんと読み比べていないが、少なくとも光文社古典新訳文庫の翻訳は日本語に余計な引っ掛かりもなく良かったのではないかと思う(ちなみにこの本は光文社古典新訳文庫のベストセラー第1位である)。

クリスマスに寄宿舎で披露される演劇『飛ぶ教室』と、それを演じる少年たちを巡る大小の事件を描いた物語である。プロローグでも作者によって触れられているが、誰もが経験しながら忘れてしまう童心を、避けられない苦味や酸味と一緒に的確に描き出している。どこか啓蒙的でありながら人間臭く寓話性を感じさせない、80年前の作品にも関わらず新しさを感じる作品である。時間があれば映画も見てみようと思う。

平「風の分身」

※R-18小説です。
※ゲーム「艦隊これくしょん」の二次創作です。

コダマナオコ『コキュートス』

こんなに 伊月が
好きなのに
 
どうして
無理なんだろう
 
なんだか
ショックだった

赤坂アカ『ib -インスタントバレット-』


大学のゼミで Anna Kavan の “I'm Wondering Where I Stand Now” を翻訳した

2015年度のAターム(秋学期)、東京大学の文学翻訳ゼミを受講してきたので、ここにそのレポートを書く。

そもそも東京大学の前期課程における「ゼミ」とは、正式には主題科目と呼ばれる講義群のことであり、今回受講したのはその中でも東京大学の教員が比較的自由に内容を設定できる全学自由研究ゼミナールに分類される講義である。東京大学の学生諸氏においては、シラバスの講義コード51100を参照されたい。

このゼミの目的は、英文学の翻訳を実践的に学ぶことである。そのために受講生は渡された課題文を翻訳して提出したり、出版社から招かれた翻訳本レーベルの編集者の話を聞いたりと、かなり充実したカリキュラムを受ける。提出した訳文は、Wordのコメント機能を使って全てみっちりと添削されて返ってくる。

そして、このゼミの最終課題として、自分で気に入った英語の文学作品をひとつ選び、それを二ヶ月あまりかけて、少しずつレビューを受けながら翻訳するというものがある*1。僕はアンナ・カヴァンの短編集 “My Soul in China” を購入し、その中から “I'm Wondering Where I Stand Now” を翻訳した。

僕がアンナ・カヴァンと出会ったのは昨年の3月、有名な『氷』のちくま文庫版が出版された時である。その時の衝撃に関してはまさしく言語を絶するが、それ以来『ジュリアとバズーカ』など彼女の作品に読み耽ると同時に、これまで敬遠しがちだった翻訳文学にも少しずつ歩み寄っていった。今回のゼミ受講もそのような経緯があってのことである。

自分がしがない理科生であるというのもあって翻訳課題はかなり骨が折れたが、教員のレビューを受けたり、訳文について討論したり、ピアレビューをしたりして完成した訳文は最終的にとても達成感に満ちたものになった。全体を通して非常に得るものの多いゼミだったと思う。聞けば今回が初めての開講とのことだったが、ぜひ次学期以降も開講して欲しいし、その際には後輩諸君にも自信を持って受講をお勧めしたい。多少人生が変わるかもしれない。

さて、そんなこんなで僕が制作したアンナ・カヴァンの翻訳文だが、残念ながら原文の著作権が存続しているため全文をここに公開することはできない。そのため引用という体で抄訳をここに記したいと思う。

『足下もおぼつかない(抄訳)』 アンナ・カヴァン、 高橋光輝 訳

 ある日、このUFO男が私のもとを訪ねてきた。この男とは前に一度、ある社交界の会議で会ったことがあり、確かジッパーを晒したみすぼらしい人間だったとおぼろげに記憶している。職務中にこの男を部屋に入れたくはなかったが、彼は既に入り口に足を伸ばしていたため、私は丁重にご用件は何ですかと尋ねた。彼は非常にぴりぴりしていて、周りの様子も見えてないようだった。没個性な灰色のスーツと、だいぶ昔に親戚に編んでもらったかのような焦げ茶色のセーターを着ていて、こいつはUFOを笠に着たスパイなのではないかと思わせた。これほどに没個性な人間というのはスパイ以外に考えられなかった。だがもちろんスパイがこんなにぴりぴりすることはない。少なくともそれを表に出すことは。

「この『星空の家』という商いについて」彼は言った。「いくつか質問がある」冷淡な人間、さらに言うなら若干不愉快な人間であるようだ。仕草が気に食わない。こそこそしていて、非難めいている。それから、先ほどの陳述も腹立たしかったので、前に顔を合わせてからスコットランド・ヤードBBCにでも加入したのか、と尋ねてみた。

「あなたが折しも関心を持っていたのは、私が思うに、質問ではなく、円盤ではなかったでしょうか」

 彼はのそのそと歩き回り始めた。とてつもなく落ち着かない様子で、ぽかんと、あるいは反熱狂的感情に囚われたかのようにあちこちに触れてから、こう言った。「あなたの戦略は……もちろんクリケットのことではなく」そんなことは言っていないと言った。スポーツに関しては門外漢で、私をローズ[訳注1]に連れて行っても、イニング[訳注2]とウィケット[訳注3]の違いすらわからないことだろう。彼は歩きまわるのをやめ、私の前で立ち止まり、不細工な顔で私を凝視し、こう言った。「どうしてそれがあなたをみすみす見逃すなどと思っているんだ」私は沈黙を守ることによってその質問が無礼だということを伝えようとした。彼は異様な眼差しで私を見つめ続けたので、彼の精査が長引いていることも物ともせず、新聞を取り上げて彼の前に掲げ、私の書いた広告が読めるように折りたたんでみせた。これは私の最高傑作だ。

 想像してみてください。オールダム[訳注4]かその辺りで一生を過ごしてきた人間が、目覚めたら新しい家にいて、窓の外には太陽系が燦然と輝いているのを。彼は自分の周りを、惑星が不可思議な順番で回転するのを見るでしょう。遠く離れた銀河系が、我々の銀河の中心から神秘的に何光年も遠ざかっていくのを見るでしょう。吹き流される星雲や、塵とガスが華々しい超新星爆発を起こすのを見るでしょう。この畏るべき壮観の中心で、運の良い購入者は心地よい隠れ家でゆったりとくつろぐでしょう。いかれた太陽が燃え上がり、海は干上がり、フライにされた地球がバラバラになって、宇宙全体が散り散りになっていく一方で、まったく金のかからなかったこの途方もない眺めをリラックスしながら観察するでしょう。

訳注1: ロンドンのウェストミンスター区に存在するローズクリケット場(Lord's Cricket Ground)を指す。クリケットの聖地と呼ばれている。

訳注2: クリケットの用語。攻撃番のこと。

訳注3: クリケットの用語。チームが守るゴールラインで、これをボールが超えると得点が入る。

訳注4: イングランド北西部に位置する街。この物語が書かれた1950年代から現代に至るまで、経済の落ち込んだ住宅街として知られている。

こんな調子で原文で6ページの短編を丸ごと訳した。最後の最後でメンターから誤訳との指摘を受けた部分も含まれているが、提出した原稿をそのまま写して持ってきたので堪忍してほしい。

このようにして提出された最終課題は、提出者全員の原稿をまとめて一つの冊子にされ、受講者全員に配られる。今思い返してみれば、教員もそうだが、受講者もレベルの高い講義だった。特に英文学への愛情が強く感じられた。僕などは先程も言ったとおり翻訳文学に関しては完全な素人なのだが、受講者の中にはオー・ヘンリーをこよなく愛する生徒や、村上春樹からフィッツジェラルドを知り彼の作品をほぼ読破した生徒や、ニンジャスレイヤーから翻訳の世界に興味を持った生徒などバリエーション豊かな生徒が集まり、そのぶん冊子も彩り豊かになった。

まあ、要するに何が言いたいかというと、この一学期間、非常に楽しいゼミだったということである。繰り返しになるが、このように充実したゼミなので、英文学や翻訳に興味がある東大生の後輩にはぜひ受講してほしい。もちろん来年以降開講されるかどうかは分からないが……。


「HDDとDNAの比較表を作ってみた」の解説

Twitterで何気なく呟いたツイートが思いのほか伸びてしまった。

多くの人に見られるというのは恥ずかしくも有りがたいことで、多くの人から貴重な意見を得ることができた。実を言うとこの表は10分程度でちょちょいと調べた情報をもとに作ったものなので、正確性はかなり怪しい。よってここで訂正を兼ねて、いくつかの補足と解説を加えようと思う。

なお筆者は東京大学(中略)統合生命科学コースの内定生だったが、内定辞退の上留年という複雑な境遇によって社会の荒波に揉まれまくったので、決して生物学の知識があるわけではない。注意されたし。

記憶容量

このツイートのそもそもの着想は、「ヒトのDNAの情報量はバイト数に直すと1GBに満たない」という、細胞生物学の教員から聞いたヨモヤマ話が元になっている。

情報量の定義はシャノンの平均情報量によるものとし、ここでは4種類の塩基が塩基配列上に完全に独立かつ無作為に現れるものとする。このとき塩基1つの情報量は { -\log_{2}\frac{1}{4}=2\mathrm{bit} } となる。実際には遺伝コードは冗長であり、さらにタンパク質の立体構造に縛られるので本来の情報量はもっと小さくなるはずだが、簡易的にはこれでよいだろう。

ヒトのDNAにはおよそ30億の塩基対が含まれている*2。(画像には書き忘れたが、ここで話しているのはすべてヒトのDNAの話である。)ここから単純にヒトのDNAが持つ情報量を計算すると、

{ 2\mathrm{bit}\times\mathrm{3,000,000,000}=750\mathrm{MB} }

となり、確かに1GBに満たない。

面白いのは、Twitter上でこの数字に対して「1GBも」という反応と「1GBしか」という反応が両方見られたことである。確かに半径わずか数μmの細胞核中にこの情報量が凝縮していることを考えると驚異的だが、ヒトという生命体の全体を考える際に、この1GBという数字は体感としてあまりにも小さいと考えるべきだろう。(細胞生命学の教員もそういう文脈で話をしていた。)ありとあらゆる人間の生命の神秘や脳機能、意識の発現などに必要な40億年の進化の結晶が、たかだかCD1枚分に収まってしまう。驚きである。

それはさておき、この表ではわかりやすさを重視して1GBに数字を切り上げておいた。HDDのほうは解説の必要はないだろう。

モリタイプ

Twitter上の反応で最もツッコミが多かったのはこの部分である。HDDが性能として読み書き可能なのは自明だが、DNAも同様に書き込みが可能であるという意見が多く見られた。

ヒトのDNAの記録情報が変化する可能性としてまず考えられるのが、トランスフェクションによる遺伝子の組み換えである。これは通常人為的な遺伝子組み換えによって行われるが、まれにウイルスの作用によって外来の遺伝子が導入される場合がある。その顕著な例がHIVを含むレトロウイルスである。

また、細胞分裂におけるDNA複製の誤りなどによって結果的にDNAの記録情報が書き換わる場合がある。後述するがこれらの情報損失は遺伝子の再編成や欠失を引き起こし、特に致命的な場合にはこれが癌細胞の増殖に繋がることは言うまでもない。

いずれにせよ、生理的反応による能動的な作用ではないので、これを以てDNAが「書き込み可能」であると呼ぶのはかなり語弊があるように感じる。しかし、いずれ塩基配列が個体内において絶対不変のものではないことは注記しておいたほうがいいだろう。

シーケンシャルリード

現在流通している最新のHDDならシーケンシャルリードは100MBps程度だろう。ツイートでは単位を揃えるため1000000000bpsとしたが、1Gbpsと書いてもよかったかもしれない。

DNAのシーケンシャルリードだが、ここが最も悩んだ部分である。


とあるnpmモジュールの脆弱性を見つけて報告した話

今年4月、shell-quoteというnpmモジュールにちょっとやばげな脆弱性を見つけて報告し、つい先日nodesecurity.ioに勧告が掲載された。

Potential Command Injection | Node Security Platform

shell-quoteは知る人ぞ知るNode.jsの有名人substackが制作した大量のnpmモジュールの1つで、npmのダウンロードカウンターを見てみると月に約200万回ダウンロードされている。

CVSSは8.4で深刻度はレベルIIIと、かなり高めの値がついた。自分はセキュリティ専門家でない以上、脆弱性は日々のプログラミングの中で偶然に発見するものだと思っているが、このレベルの脆弱性に遭遇するのは人生でもなかなかないと思われるので、脆弱性を発見してから勧告が掲載されるまでの経緯を記しておこうと思う。

脆弱性を見つける


教師なし学習で艦娘を分類する

実はもう2週間くらい前の話だが、TSGという大学のサークルのPRML勉強会でkammusu-meansなるデモンストレーションを製作したのでここにも貼っつけておく。

別ページで開く

だいぶ見た目が似通っていてよろしくないが、構想および実装はにとよんさんの以下の記事を大いに参考にさせて頂いた。感謝。

tech.nitoyon.com

このデモンストレーションは、PRMLの第8章で解説されている「K-means法」と「混合ガウス分布EMアルゴリズム」の2通りの手法を用いてゲーム「艦隊これくしょん」に登場する艦娘をクラスタリングする様子をデモンストレートする。アルゴリズムについての解説は同書および各種解説資料*3に譲り、本記事では実装する上での感想などを述べていく。

*1:なお、純粋に翻訳力を鍛えるという観点から、選ぶことができる作品は公の出版物において未訳のものに限られる。

*2: UCSB Science Line

*3:同勉強会ではネット上に転がるPRML解説資料を集約するリポジトリも作成したので、参考にされたし。