妻となんか動物園の思い出話になって、大人になってから衝撃を受けた2シーンを備忘のために残しておく。子供が生まれる前に妻と行って、生まれて初めて観覧車に乗って恐怖を味わったのだが、動物園のほうのアライグマが最高におもしろくて今でもときどき思い出すし、語り草になっている。アライグマは檻の鉄柵(だと思うが金網かも知れない)の手前に来ていて、こちらは檻の手前の人間用の柵から見ている状態。アライグマ舎の鉄柵の下が溝になっていて水が流れている。アライグマは何かを探していて、見ていると何やら地面に落ちていた黄色いものを手にした。見ても糞だが、それを一心不乱に洗い始めた。思う間もなく、糞は溶けてしまって無くなってしまった。溝は黄色く染まっている。するとアライグマは呆然としたあとに、いきなり右手を振り上げて水をパシッと叩いて奥へ引っ込んでしまった。以後、荒川のウンコアライグマが、妻との間で暖簾に腕押しのような意味で使われる言葉となった。子供を連れて行って、ヤマアラシの山を見ていたら、3匹くらい連なって行進している。塀の回りを回り続けている。時々コースを変えるのだが、隊列は乱れない。つかず離れず隊列乱さず大行進なので、どういう習性なんだろうと不思議に思う。後で調べても縄張りの見回り行進をするというような習性は書いてないし、発情して追っかけまわして結果的に大行進になるというようなことも出ていないし、今でも不思議だが、少なくとも20分くらい見ていた間はずっと行進していた。その後、数回行ったときにヤマアラシを観察するのだが、以降、2度と見ることはなかった。読み終わって少し時間がたったが紹介する。システムを開発するときに、どのような筋道で開発に着手するかの前段階の調査と思考の筋道を説明した本である。プログラミングそのものも設計だが、それより下位の設計(たとえばクリーンアーキテクチャのような実装設計であり、フレームワークへの適用設計である)よりもさらに下位にくる、全体の見取り図の設計、実装設計のための方向性の決定のための設計と考えると良い。アーキテクチャとしては下位だが、上流工程とも言える。上か下かは立ち位置による。内容はおれさま判断で正しい。この言語化(つまりは書籍化、結局は筆者のマイケル・キーリングのノウハウの分化と手順化)には舌を巻く。11月の末頃いただいて、大体1か月くらいかけて通勤時の何割かと休日に読んだ。1/3強を占めるパターン集(アクティビティと本書では呼ぶ)は適宜読んでいるので別。全体は380ページある。そのうち本文に相当するのが全体の2/3で、残り1/3はパターンカタログ(ただし本書ではアクティビティ(ワークショップで実行するための科目)としてあるし、実際に、設計での合意のためのワークショップで行うべき作業)となっている。本文は第1部30ページ弱と、残りすべてを占める第2部(200ページ弱)で構成される。第1部は設計という作業全体についての要約である。第2部ではそれを分解して手順化した具体的なやるべき作業として示す。読むのに時間がかかるのは、コードが無く、ほぼ文章でかつ内容が比較的抽象的(見方による。おれにとっては脳内作業なので抽象なのだが、本書は目的からワークショップでの科目なので具体作業である)なので咀嚼に時間がかかるからだが、考え方の筋道を示す図が多数入っているので難しいわけではない。おれが読むのに時間がかかったのには2つの理由があると考えられる。1つは、用語が多数出て来てそれらが自由自在に組み合わさるために、ある言葉がどういう意味で出てくるのか時々見失うからだ。重要な語句は頭語になっているのだが、結構これを忘れる。幾つかについては後述する。老化もありそうだし、ボキャブラリーが微妙に異なることにもありそうだ。1つは、今となってはおれにとって瞬時に終わるようになっている設計上のポイントについて、チームでの合意形成のためのワークショップで行う内容の説明と例示として説明されていることにありそうだ。このため、自分の中でほとんど無意識に行える判断と突き合わせるのに、内的な言語化と視覚化が必要となり、そこに時間がかかったようだ。1つ付け加えると、本書は、個人~数人レベルのプロダクトを対象したものではなく、遥かに大きいシステム(総員100名、10人チーム×10サブシステムくらいで、本書の範囲に3ヵ月程度を利用できるというかしなければならない規模)を想定している。本文を読む限りでは開発期間100日のうち30日を本書の範囲としているようだが、それには盛沢山に過ぎるように見える(上で書いた10チームがそれぞれで本書の内容を30日で行うとすれば帳尻は合う)。そのため、チームマネージメント(下位設計時点なので合意形成が主眼となる)についてのありよう、つまりはワークショップ(会議では断じて無い!)が丁寧に示されている。これは現在のおれには興味がなく、考えたくもない領域だが、読む限りとても良いことを書いていると感じる。重要な点というよりも、本書が正しいと考えられるのは、おれ個人の内部での合意形成(つまりはポイントポイントでのアーキテクチャ選択)の筋道と合致しているからだ。ここまで書いた時点で疲れたので一度中断。芝浦3丁目あたりだと思うが、倶楽湾という中華料理屋があって、味も適当においしいし、とにかく内装が素晴らしいので、たまに港南のほうに用があるときに妻と行く。何が素晴らしいかといえば特に1階から2階への階段なのだが、ぼーっとしていると店員にエレベータへ案内されてしまうので帰りにしか味わえないが、適度に暗くて正方形に区切った壁面にいろいろ不可思議なものが置いてあるのが実に良い雰囲気なのだ。あと最近改装されてつまらなくなってしまったが、男子トイレに入ると妙なゴルファーの像があってそれに見とれていると奥のほうに薄明かりがついて、ギギギーバタン!という怪しげな音とともに便器の蓋が跳ね上がるのが照らせれるのが不気味千万ですさまじく楽しい(が、改装されて普通に明るくてつまらなくなってしまった)。2階も、小奇麗ではあるが、上海バンスキングとはこういう場所が舞台なのですなという感じで(後で調べたら、本当に上海租界のイメージで内装を作ったというようなことが書いてあった)、好きだ。上海バンスキング・FIRST(吉田日出子)で、昨日も同じく港南に用があったので、妻と愛育病院のあたりから芝浦公園を通って田町のあたりへ歩いていたのだが、残念なことに倶楽湾は臨時休業だった。子供がたくさんいて、なんかすごく活気があって楽しい。子供って基本的に頭が悪いから、いきなり歌は歌うし踊りは踊るし、走り回るし、嬌声を上げるわけだが、それがなんか適当な節度なので、見ていてこちらも楽しい。全体的にも住人が若い。この一帯ってイメージでは、老人が多そうなんだが、どうも再開発の時期が良かったのか、比較的小さい子供を持つ家族世帯が多いようにみえる。町としてなんかすごく良い雰囲気なのだ。そのとき、あ、だからここは港区女子というものがすなっている場所なのかと電撃のように理解した。こんな記事が見つかる。港区内格差:港区内で格下とされる芝在住の女が、バーキンを持つ前にやるべきことわかんないだろうなぁ。PDFは難しい以下のように出力されるPDFがある。これが、pdf-readerでは正しくテキストが取れない。X座標が関連業の部分と(0.2%)の部分で入れ子になるからだ。x座標が(の部分で左に移動している。char=)生データは以下となっている。<022A00(Tjで指定されている文字はUTF8変換で正しい)Tmで設定されているメディアボックスの解釈をpdf-readerが間違っているのは明らかなので、要は86.6769のXまでに51.1569からのTjの文字がすべて入る必要があるのだが、4.44の倍率だけでは解釈できない。それはそれとしてpdf-readerを修正した場合、PRするのは簡単だが、テストケースが作れない(変換元のPDFをどうすれば良いか?)のは難しいな。すれば、メディアボックスを先読みするようにすれば良いのだな。(あるいは直前のメディアボックスの開始位置まで巻き戻してXを再設定する)いや、今気づいたが、最初のメディアボックスの4.44が効いていないような。(以降は6ずつ増えているのだから、フォントサイズを1とすれば、最初の部分は4.44ずつ増えるべきだが、同じく6ずつ増えている。)を眺めてもらちが明かないので、ばかでかくてすごく嫌だがPDFのリファレンスを眺めることにする。P.410の5.3の最後に、Tmを適用している。この処理が、PageState#process_glyph_displacementでは正しく行われていない。いうのは、font_sizeの計算がおかしいからだ。小数点2位くらいまでは実際に設定されるのでそこに丸める。endなんだけど、元のコードはフォントサイズに縦を利用していて、もしかしてそれが正しい場合もあるのかも知れなくて、困るな(おれは困らないので、このパッチを適用するわけだが、PRしようがない)。フランケンシュタイン子供と日生劇場(初めて足を踏み入れたような気がする)でフランケンシュタイン。韓国製のミュージカルとしてはアンクルトムに続いて2つ目だ。物語はわりと良く知っているシェリー夫人のフランケンシュタインだが、幾つかミュージカルとして物語を際立たせるための改変がある。主人公のヴィクトルフランケンシュタインは母親の死のショックから永遠不滅の生命というものを、母親の死に対してなんの手も差し伸べなかった神に変わって作り出そうという目的へ邁進する男として作られている。最初の子供っぽい復活のための実験を村人に勘違いされて、家を焼かれてそのときに父親も喪失している。悲劇を際立たせるために、ヴィクトルの回りに重要な4人の人物を配する。1人は忠実な執事で、孤児(後述する姉はいる)となったヴィクトルを父親の代わりに溺愛している。ヴィクトルに対して完全に無償な貢献を行う。1人は姉で、ヴィクトルの気持ちもわかるが、頭の悪い村を生活の場として定めた以上は折り合いをつけさせるべきだという思いもある。唯一ヴィクトルの実験に対して反対の意見を(まともに)表明している(まともではない反対は頭の悪い村すべてなので問題とはならない)。1人は親代わりに引き取った伯父の娘で、ヴィクトルの天才っぷりに心底いかれている。ナポレオン戦争中に不服従の罪で銃殺直前のところをヴィクトルに救い出された元医学生(人体の再利用という研究をしていたが廃棄して、やけになっている)のアンリで、ヴィクトルの生命創造への論理的な支持者である(執事と伯父の娘はおそらく同情と頭の良さに対する闇雲な支持者なので、相当異なる)。ヴィクトルはナポレオン戦争で死体から兵士を作るというアイディアが採用されて実験をしまくっているが、ワーテルローでナポレオンが敗けたために実験途中で解散を命じられる。そのときに、停戦合意書に署名をするために子爵の失われた右腕を作るという依頼をクリア(実際の執刀はアンリが行ったらしい。その手術の腕前が評価されてヴィクトルの右腕になれたのだろう)したために、戦争の英雄として村へ帰還する。そのため、風当たりは少し弱まることになる。驚くほど下手な歌を歌い出すので、これはミュージカルではないのではないかと疑ってしまった。その後に出てきた伯父の娘が素晴らしい歌を歌ってみせて、ほっとした。ミュージカルのようだ。ヴィクトルの研究はほぼ完成していて、焼け残った居城の地下に実験施設があるのだが、新鮮な脳みそを持つ頭が手に入らないために、失敗しまくる。執事が、葬儀屋から入手することを思いつき、段取りをつける。葬儀屋は金をすぐ欲しいもので、無から死体を生み出す。その死体が自分に対する敬意を示した医学生だったので、ヴィクトルは怒りのあまり葬儀屋を突き飛ばす。打ち所が悪くて死体が2つになった。仰天してヴィクトルも気を失う。そこへ警察がやってきたため、アンリが身代わりとなって逮捕される。ヴィクトルがアンリの脳髄を手に入れることもありだな、と考えていると姉がやってきて、お前はさすがにまともではないとたしなめる。(微妙に、姉とアンリはお互いに惚れあっているような描写はいくつかある)さすがに、ヴィクトルもアイディアの外道っぷりに反省して自首する。カラマーゾフの兄弟のイワンの証言のような扱いになる。ヴィクトルは戦争の英雄なのに対して、アンリは突然あの頭のおかしなフランケンシュタインが連れてきたよそ者だから、犯人はアンリに決まっているという理屈で、徹頭徹尾、この村は2000人の狂人の村として描写される。してアンリの新鮮な首を盗み出したヴィクトルは生命を吹き込む。生まれた人間は元のアンリではなく、執事を噛み殺してしまう。怪物を作ってしまったと認識したヴィクトルは銃で撃つがもう遅い。怪物は窓から逃亡してしまう。