sshi.Continual 2023-12-10T16:15:03+09:00 sshi Hatena::Blog hatenablog://blog/17680117127017670886 touch hatenablog://entry/6801883189065628073 2023-12-10T16:15:03+09:00 2023-12-10T16:15:03+09:00 この廃墟に手をいれるかどうか考える試み <p>この廃墟に手をいれるかどうか考える試み</p> sshi ICFPのコンテストに参加しました hatenablog://entry/17680117127024676208 2010-06-27T00:00:00+09:00 2019-04-12T20:04:05+09:00 http://icfpcontest.org/2010/ 一週間遅れですが、簡単なレポートを。ここに書くのほぼ一年ぶりか… 今年は流れで某Mくんと2人でチームを組んで参加。チーム名tokorobashi。名前の由来は近いうちに明らかになるかもならないかも。最終結果は7点。 今年は特にサーバへのsubmitとかを便利にしてくれるインフラ整備をがんばる余地がいっぱいあったので、もうちょっと人数多くないと戦えてなかったかもしれない。でも結局、「本番」に到達できなかったのであんまり関係なかった。 大会の詳細はどっか他のサイトを見てください。(http://d.hatena.ne.jp/mr_konn/… <p><a href="http://icfpcontest.org/2010/">http://icfpcontest.org/2010/</a><br /> 一週間遅れですが、簡単なレポートを。ここに書くのほぼ一年ぶりか…<br /> 今年は流れで某Mくんと2人でチームを組んで参加。チーム名tokorobashi。名前の由来は近いうちに明らかになるかもならないかも。最<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%AA%B7%EB">終結</a>果は7点。<br /> 今年は特にサーバへのsubmitとかを便利にしてくれるインフラ整備をがんばる余地がいっぱいあったので、もうちょっと人数多くないと戦えてなかったかもしれない。でも結局、「本番」に到達できなかったのであんまり関係なかった。<br /> 大会の詳細はどっか他のサイトを見てください。(<a href="http://d.hatena.ne.jp/mr_konn/20100618/icfp2010task">http://d.hatena.ne.jp/mr_konn/20100618/icfp2010task</a>あたりがわかりやすいか?)</p> <div class="section"> <h4>一日目</h4> <div class="section"> <h5>6月18日(金) 21:00〜</h5> <p>開始。最初はサーバが重くてチーム登録ができなかったので、とりあえず英文よむよむよむ。結局、サーバの調子をみてチーム登録をやりながら、気分を落ち着けるために和訳文作成をはじめてしまって日付が変わるくらいまでその作業をしてた。Mくんはそんな僕をしりめに最初の回路構造を考えてたぽい。</p> </div> <div class="section"> <h5>6月19日(土) 0:00〜</h5> <p>日付が変わったころに、だいたいの問題を理解してなにはなくとも「回路」を生成しないと話にならないことに気がつく。で、問題にのっているサンプル回路を眺めてフォーマットを想像する。一つのゲートが二入力二出力なので、1行が1ゲートをあらわしていて、入出力の先が書いてあるんだろうなあ、くらいの想像はついた。最初の行と最後の行の意味がわからず1ゲートの回路(と思われるもの)をいくつかsubmitしてテスト。最初はエラーばっかし。</p><p>ログを見返してみたらもうこの時点で「これ入力も推測せなあかんのか?それとも定数を出力するような回路が組めるのか?」と結構本質的なことをしゃべってる。もっと早い時点で後者だと信じて突き進むべきだったよ。</p> </div> <div class="section"> <h5>1:00〜</h5> <p>1時間くらい試したところでM君の「最初と最後はXの場所っぽいよな」という発言で回路記法をようやく理解。ただしこの時点では、遅延する線としない線の法則がわかっていなかった。<br /> 記法がわかったので、1ゲートのいろんなバリエーションを入力して出力を収集。1ゲートは4パターンしかないので、それぞれに名前をつけて共有したりしてた。そうこうしてるうちに、ゲートを通過させなければサーバの入力が取れるなと気がついて、全部の出力が自分自身の入力になっているゲート一個だけの回路を入れてみる。こんなの。</p> <pre class="code" data-lang="" data-unlink>X: 0R0L0#0R0L: X</pre><p>無事にとおってサーバ入力がとれた。これがとおってから「X::X」で充分だったことに気がつく。で、実はここでゲートの入出力表を作成するのには充分な情報が得られているらしいのだが、「遅延」のセマンティクスがまったくわかっていなかったので、そこでつまづいてしばし悩むことになる。あとで聞いてみたら、会社の先輩も同じところでつまっていた。</p> </div> <div class="section"> <h5>2:00〜</h5> <p>どういう線が「遅延」されるのかさっぱり理解できていなかったので延々悩む。「右出力は常に遅延されるのでは?」などという頓珍漢な仮定を僕がだしてしまったので余計迷宮入り。このへん良く覚えてないが、4:00くらいまで悩んで、わからないなりにも回路シミュレータを<a class="keyword" href="http://d.hatena.ne.jp/keyword/ruby">ruby</a>で実装したりしていた。気がついたら次の日の昼頃になってた気がするが良く覚えていない。</p> </div> <div class="section"> <h5>19:00〜</h5> <p>悩みながらなかなか寝られなかったりしたので、起きたら夜だった。ひどい生活。<br /> 寝てる間に、M君がゲートが2つの回路を自動生成して出力を収集してくれていた。まるっきり同じ出力をする回路とかでてきて、なかなかおもしろい結果に。それらを眺めつつ、悩んでいたら2時間くらいたっていて… そしてやっと遅延のセマンティクスに気がつく。</p> </div> </div> <div class="section"> <h4>二日目</h4> <div class="section"> <h5>6月19日(土) 21:00〜</h5> <p>単純に、「自分より前かあるいは自分のゲートに出力されている線が遅延される」ということにやっと気がついた。配線のトポロジは同じでもゲートの順番が違う回路をちゃんと試していたらもっと早く気がついていたかもしれない。<br /> なんにせよここで、配線の初期値(後ろのゲートの出力が入力になっている場合の、初回の値)の推定を含めて入出力表を求める作業にはいれることになった。回路シミュレータを改造して、いままでの回路と既知の出力値をぶちこんで入出力表を埋めていくプログラムを組んだ。<br /> 人間が解くように、「確定できるところだけ表を埋めていく」ようなコードにしてしまったので、1ゲートの回路だけじゃ求まらなかった。が、M君が収集してくれた2ゲートの回路の結果もいれたら動いた。2、3バグを直したらすぱーんとそれっぽい表ができて喜ぶ。初期値も0以外では成立しないという結果もでた。<br /> 「ありうる表を全て試して、まずいことが起こった表は捨てる」という方法だと1ゲートの回路だけで表がでたみたい。どうも僕は全探索への苦手意識がありすぎる。ちゃんと全探索でいける計算量を見積って探索できるようにならなきゃだめだな。<br /> で、回路シミュレータがようやくまともに動くようになったので、サンプルの回路を動かして"the key"を得た。そしてまたもや途方にくれる。</p> </div> <div class="section"> <h5>23:00〜</h5> <p>"the key"はわかったものの、それを出力する回路をどう構成すればいいか全くわからない。たまーに、入力したい段数分遅延させたらいいんじゃないかなあというぼんやりしたイメージは浮かんだものの、具体的な構成方法が全くわからないので、その発想はすぐ消えてしまうのであった。<br /> しっかりした目標がさっぱり立たないので、まず「入力にかかわらずに決まった値を出力する1入力1出力の回路」を考えはじめる。そういえば<a class="keyword" href="http://d.hatena.ne.jp/keyword/graphviz">graphviz</a>での回路の図示も実装してみたが、左右の出力がちゃんと左右に配置されなくてあんまりわかりやすいものにはならなかった。</p> </div> <div class="section"> <h5>6月<a class="keyword" href="http://d.hatena.ne.jp/keyword/20%C6%FC">20日</a>(日) 0:00〜</h5> <p>ノートに回路を殴り書きしながらうーんうーんと頭をしぼって、ようやく「任意の入力を受けとって0を出力する」回路の構造の概要を思いつく。が、ちゃんと作ると10ゲートを越える回路になりそうで、かつ似た構造を2つ重ねたものだったので、まず手書きする気は起こらない。こういうのは自動生成だろうと思って、ちょっとだけ書くのが楽な、回路を生成するための<a class="keyword" href="http://d.hatena.ne.jp/keyword/DSL">DSL</a>もどきを<a class="keyword" href="http://d.hatena.ne.jp/keyword/ruby">ruby</a>で実装しはじめる。</p> </div> <div class="section"> <h5>2:00〜</h5> <p>このへんで簡単に回路を合成できるような機能までを含めて回路自動生成コードができてた。その上で「0を出力する回路」ができたので、それを元に1を出力するもの、2を出力するものを作ってライブラリ化。この時点では「これを作ったからといって"the key"の生成になにも寄与してないじゃないか むきー!」という気分になっていたのだが、実はこの蓄積が最後の最後にちょっとだけ役立った。<br /> あと本大会の目的が勝ち負け関係なしの「なんとか得点を得ること」というものに下方修正されたのもこのあたり。<br /> それ以降どうしてたかちょっと覚えていない。たまに「マルドゥック<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%E9%A5%F3">スクラン</a>ブル」を読みかえして勇気をふるいたたせつつ、回路の内容がさっぱりわからないのでヒントを求めて問題に書いてある回路を解析しはじめてすぐに絶望的な気分になったりする。</p> </div> <div class="section"> <h5>7:00〜</h5> <p>問題に書いてあるサンプル回路の解析、などという無茶なことをはじめたせいで、回路の左出力は引き算であること、回路自体は遅延する線の数だけ変数を持つ漸化式で表現できること、などなどには気がつくがそれ以上のことはわからず、何もすすまない。絶望して寝た。回路の夢を見た気がする。</p> </div> <div class="section"> <h5>15:00〜</h5> <p>こんどは夕方には起きたが全く進展なし。相方とも時間があわず1人絶望をかかえて愚痴を<a class="keyword" href="http://d.hatena.ne.jp/keyword/twitter">twitter</a>に吐き散らしたりする。「全然やった気がしない!」とか叫んだ。</p> </div> </div> <div class="section"> <h4>三日目</h4> <p>月曜日は仕事を休めなかったので実質日曜の深夜までがタ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%E0%A5%EA">イムリ</a>ミット。</p> <div class="section"> <h5>6月<a class="keyword" href="http://d.hatena.ne.jp/keyword/20%C6%FC">20日</a>(日) 21:00〜</h5> <p>相方M君と話して「やっぱり入力関係なく数値を出力する回路を作るしかない」という方針を再確認。再確認したところで、希望の入力を出力するためには、多段に遅延する回路を作るしかないよなあ、というところに戻って、今度はイメージが消えないうちに真面目に考えはじめる。<br /> 最初は、任意の数値が出せるような構造が思いつかなかったのでadhocに1番目に1を出す回路、それに加えて2番目に1を出す回路、、というふうにインクリメンタルに手で回路を考えはじめる。回路生成プログラム上でコーディングしながら回路シミュレータで結果を確認して試行錯誤。入力がなんであれ先頭から「11」を出力する回路はできたが、3番目でややこしくなりすぎて途方にくれる。</p> </div> <div class="section"> <h5>23:30〜</h5> <p>一段ずつ手で回路の構造を考えるのは複雑になりすぎたので、一定の形式で任意の数列が出力できるような構造に思いをめぐらせる。そしてここでようやく思いつく。<br /> 入力によらず0,1,2を出力し続ける"定数回路"は既に手にはいっているので、左に入力された値に対して、右入力に繋げる"定数回路"を適切に選んでやれば、左出力の出力の値は完全にコン<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A5%ED%A1%BC%A5%EB">トロール</a>できる。こういうゲートを逆向きにN段繋ぐと、入力によらずN個の数字を出力する回路ができあがる。いわば、出力したい値を各定数回路に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%F3%A5%B3%A1%BC%A5%C9">エンコード</a>した回路を構成できる。ただし"定数回路"のゲート数はそれだけで10や20はあるものだったので、回路規模は10n 〜 20nくらいの大きなものになる。<br /> とはいえ、この時点では回路のサイズなんて知ったこっちゃないので、そのまま急いで「指定した出力を行う回路生成プログラム」をコーディング。定数回路のライブラリが既にあったのでほぼそれを繋ぎあわせるだけで実装完了。30分かからなかった。</p> </div> <div class="section"> <h5>6月21日(月) 0:00〜</h5> <p>コーディングが完了したので,"the key"を出力する回路(確か260ゲートくらい)を生成して、どきどきしながらsubmit。</p> <pre class="code" data-lang="" data-unlink>circuit output starts with 11021210112101221 this is a legal prefix Congratulations. You have submitted a circuit that produces the key prefix.</pre><p>とおった!長かったー!<br /> 本当はここからが本番のはずなのだが、もうタ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%E0%A5%EA">イムリ</a>ミットと言える時間だったし、任意の数列を吐ける回路生成ツールができたのである程度満足してしまう。Mくんにツール群を託して風呂へ。</p> </div> <div class="section"> <h5>1:30〜</h5> <p>風呂からあがったらスコアボード上で得点が増えていた。MくんがCarとFuelの構造おかまいなしで、"the key"に適当に数字をくっつけてsubmitするのを試しており、"the key"に"1111"をくっつけただけのやつでも最初のほうのかなりの数のCarにパスすることを発見していた。最後に訪れたsubmit祭り。<br /> とはいえ僕はもう得点にあんまり興味がなくなっていたのとサーバが無茶苦茶重くなっていたので、CarとFuelの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%F3%A5%B3%A1%BC%A5%C7%A5%A3%A5%F3%A5%B0">エンコーディング</a>のところの問題を読みなおしたりしながらじっとsubmit祭りをみまもる感じに。ちょっと難しそうなCarにsubmitしてもらってそのエラーメッセージを見たりしていたが実質的にはもう何もせず。</p> </div> <div class="section"> <h5>3:00〜</h5> <p>結局25台のCarにsubmitを通したところで疲れたり満足したりタ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%E0%A5%EA">イムリ</a>ミットだったりして終了。</p> <pre class="code" data-lang="" data-unlink>score: 7.124 others&#39; cars solved: 25 cars submitted: 0</pre> </div> </div> <div class="section"> <h4>まとめ</h4> <p>以上終わり。自動生成して都合のよい回路を探索するようコードは一行も書かなかった。というか回路を育てていく<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>がぱっと思いつかなかったので、思いっきりスルーしてた。もうちょっとそっち方面の勘を養っとくべきかもなあ。<br /> 今回は「回路の構成のしかたがわからん」ということにつきる。最後にぎりぎり「Carに合うFuelを生成したり、Fuelが生成しにくいCarを作る」という今回のお題の入口には立てたものの、「他のプレイヤーとのコミュニケーション」はさっぱりできませんでした。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%F3%A5%B3%A1%BC%A5%C7%A5%A3%A5%F3%A5%B0">エンコーディング</a>の推測は楽しそうだったので、まだ余裕があるうちにそれが役立つ局面までは辿りつきたかった。残念。</p> </div> sshi RubyKaigi2009 三日目 hatenablog://entry/17680117127024676394 2009-07-19T00:00:00+09:00 2019-04-12T20:04:07+09:00 三日目だけ行ってきました。 土曜日行けなかった上に今日もかなり寝過したのでセッションはほとんど見れなかったけど、ふつうのコンパイラを先行販売で手にいれたのと、某動画配信者の方と会えたのでよし。 今年もReject Kaigiのテンションはすごかったのでそれもよし。オフレコのLTって… <p>三日目だけ行ってきました。<br /> 土曜日行けなかった上に今日もかなり寝過したのでセッションはほとんど見れなかったけど、ふつうの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B3%A5%F3%A5%D1%A5%A4%A5%E9">コンパイラ</a>を先行販売で手にいれたのと、某動画配信者の方と会えたのでよし。<br /> 今年も<a class="keyword" href="http://d.hatena.ne.jp/keyword/Reject">Reject</a> Kaigiのテンションはすごかったのでそれもよし。オフレコのLTって…</p> sshi ジェネラル・ルージュの凱旋 hatenablog://entry/17680117127024676466 2009-03-18T00:00:00+09:00 2019-04-12T20:04:08+09:00 見ました。ない。これはない。 わかりやすくキャラ付けされた田口と白鳥が、原作の派手めのイベントの継ぎ接ぎをなぞっていく構成になってて、無理な皺寄せがいろんなところに波及していて目もあてられない。途中から半泣きになりながら見てました。キャラ付けはあれはあれでいい気もするけど、構成はもうちょっとなんとかならなかったんだろうか。 特に主役の速水。堺雅人が演じる本編の主役であるはずの速水の姿を楽しみにしていたのだけれども…あの格好よい速水はどこへいった?速水の葛藤や、その脇をかためるべき黒崎や佐藤の思いはどこへいった?泣ける。 これは「大事故発生してめでたしボム発動」と言われてしまってもしょうがないな… <p>見ました。ない。これはない。<br /> わかりやすくキャラ付けされた田口と白鳥が、原作の派手めのイベントの継ぎ接ぎをなぞっていく構成になってて、無理な皺寄せがいろんなところに波及していて目もあてられない。途中から半泣きになりながら見てました。キャラ付けはあれはあれでいい気もするけど、構成はもうちょっとなんとかならなかったんだろうか。<br /> 特に主役の速水。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BA%E6%B2%ED%BF%CD">堺雅人</a>が演じる本編の主役であるはずの速水の姿を楽しみにしていたのだけれども…あの格好よい速水はどこへいった?速水の葛藤や、その脇をかためるべき黒崎や佐藤の思いはどこへいった?泣ける。<br /> これは<a href="http://d.hatena.ne.jp/nagachika/20090308/general_rouge">&#x300C;&#x5927;&#x4E8B;&#x6545;&#x767A;&#x751F;&#x3057;&#x3066;&#x3081;&#x3067;&#x305F;&#x3057;&#x30DC;&#x30E0;&#x767A;&#x52D5;&#x300D;</a>と言われてしまってもしょうがないなあ。原作でもそういうイベントはあるけども、確かにボム発動でうやむやになった面もあるけれども、あそこまで全てを消しさる安直なボムではなかったと思う。<br /> バチスタはもうすこしまともだったような気がするんだけどなあ。こんなもんでしたっけ?</p> sshi 428 〜封鎖された渋谷で〜 hatenablog://entry/17680117127024676567 2008-12-07T00:00:00+09:00 2019-04-12T20:04:09+09:00 http://chun.sega.jp/428/ 428 ~封鎖された渋谷で~(初回入荷分) 特典 スペシャルDVD「SHIBUYA 60DAYS ~Making 428~」付き - Wii出版社/メーカー: セガ発売日: 2008/12/04メディア: Video Game購入: 4人 クリック: 38回この商品を含むブログ (129件) を見るセガ・チュンプロジェクトのWiiゲー「428」を買ってひととおりクリアした。おもしろかった。これはおもしろかった。「428」は5人の主人公が交錯しつつ4月28日の10時から20時までの10時間の物語を進めていくサウンドノベル。むかしなつかしい「街」シ… <p><a href="http://chun.sega.jp/428/">http://chun.sega.jp/428/</a><br /> <div class="hatena-asin-detail"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001FSKK0Q/hatena-blog-22/"><img src="https://images-fe.ssl-images-amazon.com/images/I/514gw%2BNYuhL._SL160_.jpg" class="hatena-asin-detail-image" alt="428 ~封鎖された渋谷で~(初回入荷分) 特典 スペシャルDVD「SHIBUYA 60DAYS ~Making 428~」付き - Wii" title="428 ~封鎖された渋谷で~(初回入荷分) 特典 スペシャルDVD「SHIBUYA 60DAYS ~Making 428~」付き - Wii"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001FSKK0Q/hatena-blog-22/">428 ~封鎖された渋谷で~(初回入荷分) 特典 スペシャルDVD「SHIBUYA 60DAYS ~Making 428~」付き - Wii</a></p><ul><li><span class="hatena-asin-detail-label">出版社/メーカー:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BB%A5%AC">セガ</a></li><li><span class="hatena-asin-detail-label">発売日:</span> 2008/12/04</li><li><span class="hatena-asin-detail-label">メディア:</span> Video Game</li><li><span class="hatena-asin-detail-label">購入</span>: 4人 <span class="hatena-asin-detail-label">クリック</span>: 38回</li><li><a href="http://d.hatena.ne.jp/asin/B001FSKK0Q/hatena-blog-22" target="_blank">この商品を含むブログ (129件) を見る</a></li></ul></div><div class="hatena-asin-detail-foot"></div></div></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BB%A5%AC">セガ</a>・チュンプロジェクトの<a class="keyword" href="http://d.hatena.ne.jp/keyword/Wii">Wii</a>ゲー「428」を買ってひととおりクリアした。おもしろかった。これはおもしろかった。</p><p>「428」は5人の主人公が交錯しつつ4月28日の10時から20時までの10時間の物語を進めていく<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%A6%A5%F3%A5%C9%A5%CE%A5%D9%A5%EB">サウンドノベル</a>。むかしなつかしい<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A1%D6%B3%B9%A1%D7">「街」</a>システムで、ある主人公の選択が他の主人公の展開に影響を与えたりする。</p><p>実写をベースにした静止画だった街とは違って、たまに動画がはいったり、静止画でも微妙に動き(スクロール)がついてたり、音楽もよくなってる。地味にバージョンアップ。システム的に街とちょっとだけ違うのは、全体の話の区切りの単位。各人の行動が他の人に影響するのが1時間の単位で閉じている。全員の1時間をうまく経過させられると、そこで次の1時間がはじまる。街だと1日だったっけ?単位が短めになってるので、テンポよく進められるし、次の1時間に進めるところではいる予告の煽りっぷりもなかなかよし。</p><p>あと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A1%D6%B3%B9%A1%D7">「街」</a>ではそれぞれの主人公がそれぞれの目的を持って動いてた感じだけど<a href="#f-47447669" name="fn-47447669" title="やったのはかなり昔なんでもしかしたら違うかもしんない">*1</a>、今回のは誘拐事件を発端にしたひとつの大事件へと話が集約されていく。解決に辿りつくにはそれぞれの立場で正解ルートを選ばないといけないんだけど、それも各人が解決に向けてちょっとずつ努力して影響をおよぼした結果に感じられてプレイ感もよし。<br /> 正直なとこ、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A1%D6%B3%B9%A1%D7">「街」</a>だとおもしろい話もあればつまんない話もあって、全体の話をすすめるために嫌々消化してた話もあったりしたけど、今回はメインの事件に対する重要な役割がそれぞれの主人公に順番にまわってくる感じで、つまらないパートはひとつもなかった。特に、しだいに事件の全貌が見えだしてそれぞれの人の話が噛み合いだす昼以降の展開の加速っぷりは異常。ハリウッド映画的な話の転がりかた。そういうの結構好きなんです。<br /> 序盤は丁寧な<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB">チュートリアル</a>がついてるし、チュンソフ党な人じゃなくても、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%A6%A5%F3%A5%C9%A5%CE%A5%D9%A5%EB">サウンドノベル</a>に抵抗のない<a class="keyword" href="http://d.hatena.ne.jp/keyword/Wii">Wii</a>ユーザーはみんな買えばいいと思うよ。</p><p>ただ、二つ目のボーナストラックは…個人的には本編を台無しにしてると思うので、それだけは見なかったことにしたい。なんで付けちゃったのかね。</p> <div class="footnote"> <p class="footnote"><a href="#fn-47447669" name="f-47447669" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">やったのはかなり昔なんでもしかしたら違うかもしんない</span></p> </div> sshi 容疑者Xの献身 hatenablog://entry/17680117127024676676 2008-12-03T00:00:00+09:00 2019-04-12T20:04:10+09:00 映画は予想外に良かった。 何がよかったか、というと、犯人である数学者・石神を演じる堤真一さんの演技があまりにすばらしかったのだ。 数学の道が閉ざされるとき - hiroyukikojimaの日記 そうそうそうそうそう。すっかり忘れていたが容疑者Xの献身の映画を見たんだった。映画のキャストをはじめて聞いた時は、「え?原作ではがっちり体型で頭薄の石神役が堤真一?全然キャラ違うじゃんどうするつもりだ」と内心あきらめておったのですが、堤真一がちゃんと夢を断たれた失意の数学者に見えたので、それだけで満足してしまったのだった。(原作にはまだでてきてなかった)内海薫も映画だからといって妙なことをしでかすこと… <blockquote cite="http://d.hatena.ne.jp/hiroyukikojima/20081202/1228226660"> <p>映画は予想外に良かった。</p><p> 何がよかったか、というと、犯人である数学者・石神を演じる<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C4%E9%BF%BF%B0%EC">堤真一</a>さんの演技があまりにすばらしかったのだ。</p> <cite><a href="http://d.hatena.ne.jp/hiroyukikojima/20081202/1228226660">&#x6570;&#x5B66;&#x306E;&#x9053;&#x304C;&#x9589;&#x3056;&#x3055;&#x308C;&#x308B;&#x3068;&#x304D; - hiroyukikojima&#x306E;&#x65E5;&#x8A18;</a></cite> </blockquote> <p>そうそうそうそうそう。すっかり忘れていたが<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CD%C6%B5%BF%BC%D4X%A4%CE%B8%A5%BF%C8">容疑者Xの献身</a>の映画を見たんだった。映画のキャストをはじめて聞いた時は、「え?原作ではがっちり体型で頭薄の石神役が<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C4%E9%BF%BF%B0%EC">堤真一</a>?全然キャラ違うじゃんどうするつもりだ」と内心あきらめておったのですが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C4%E9%BF%BF%B0%EC">堤真一</a>がちゃんと夢を断たれた失意の数学者に見えたので、それだけで満足してしまったのだった。(原作にはまだでてきてなかった)内海薫も映画だからといって妙なことをしでかすことなく、ほとんど何もしなかったのもよかった。</p><p>原作は地味な地味な話なので、映画では派手な脚色やら設定の変更やらいろいろ追加されてたけどそれは気にしない方向で。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BE%BE%C0%E3%C2%D9%BB%D2">松雪泰子</a>もよかったし。うん。</p> sshi wcコマンドの実装を通してArrowの気持ちを推し量ってみた hatenablog://entry/17680117127024676846 2008-11-16T00:00:00+09:00 2019-04-12T20:04:11+09:00 "モナドの一般化"なんていう敷居がやたら高いふれこみのArrowをちょろっと調べてみた。 主に、ha-tanさんのサイト(http://d.hatena.ne.jp/ha-tan/20070810/1186744818)と、そこから参照されているページをひととおり読んだ。モナドがわかる人には多分、 Monadは、値をからくり箱に入れたもの。からくり箱は基本的に(ヘンな)値。 Arrowは、関数をからくり箱に入れたもの。からくり箱は基本的に(ヘンな)関数。 3分で解るHaskellのArrowの基本メモ - よくわかりません という説明でなんとなく通じるかなあ。Monadが型クラスなようにArr… <p>"<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%CA%A5%C9">モナド</a>の一般化"なんていう敷居がやたら高いふれこみのArrowをちょろっと調べてみた。<br /> 主に、ha-tanさんのサイト(<a href="http://d.hatena.ne.jp/ha-tan/20070810/1186744818">http://d.hatena.ne.jp/ha-tan/20070810/1186744818</a>)と、そこから参照されているページをひととおり読んだ。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%CA%A5%C9">モナド</a>がわかる人には多分、</p> <blockquote cite="http://d.hatena.ne.jp/r-west/20070529/1180455881"> <ul> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/Monad">Monad</a>は、値をからくり箱に入れたもの。からくり箱は基本的に(ヘンな)値。</li> <li>Arrowは、関数をからくり箱に入れたもの。からくり箱は基本的に(ヘンな)関数。</li> </ul> <cite><a href="http://d.hatena.ne.jp/r-west/20070529/1180455881">3&#x5206;&#x3067;&#x89E3;&#x308B;Haskell&#x306E;Arrow&#x306E;&#x57FA;&#x672C;&#x30E1;&#x30E2; - &#x3088;&#x304F;&#x308F;&#x304B;&#x308A;&#x307E;&#x305B;&#x3093;</a></cite> </blockquote> <p>という説明でなんとなく通じるかなあ。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Monad">Monad</a>が型クラスなようにArrowも型クラス。でもって、Arrowの場合はからくり箱の中身が関数なので、型情報によって処理をふりわけるっていう性質が<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%CA%A5%C9">モナド</a>より強い(気がする)。ストリームファンクションはそのよい例で、関数の型を、Arrowの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9">インスタンス</a>型のどの型だと推論/定義するかで、関数自体の定義は全く変えずに関数の対象が値からリストにがらっと代わる<a href="#f-d92a1aeb" name="fn-d92a1aeb" title="http://d.hatena.ne.jp/propella/20070807/p2にでてくるSFがその例">*1</a>。<br /> まだ試してないけど、Arrowとして定義されている関数には、Arrowの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9">インスタンス</a>の型を後付けしてやることによっていろんな処理ができるんじゃないかなあ。多分、関数の返り値を全部ログに取る、なんてのも書ける気がする。無理かな。書けなかったらごめんなさい。</p><p>で、<a href="http://d.hatena.ne.jp/ha-tan/20070814/1187046533">http://d.hatena.ne.jp/ha-tan/20070814/1187046533</a>を参考にwcコマンドの実装をしてみた。確かにタプルでパターンマッチさせるのはいまいちだな、と思ったのでさらに、<a href="http://d.hatena.ne.jp/takkan_m/20070814/1187102348">http://d.hatena.ne.jp/takkan_m/20070814/1187102348</a>を参考にパターンマッチをほんのりラップしつつ、自分なりにArrowの気持ちが一番わかりやすい形で組みたててみた。</p> <pre class="code lang-haskell" data-lang="haskell" data-unlink><span class="synPreProc">import</span> Control.Arrow wc <span class="synStatement">::</span> (Arrow a) <span class="synStatement">=&gt;</span> a String (Int,(Int,Int)) wc <span class="synStatement">=</span> count_lines <span class="synStatement">&amp;&amp;&amp;</span> count_words <span class="synStatement">&amp;&amp;&amp;</span> count_chars <span class="synType">where</span> count_words <span class="synStatement">=</span> arr (words <span class="synStatement">&gt;&gt;&gt;</span> length) count_lines <span class="synStatement">=</span> arr (lines <span class="synStatement">&gt;&gt;&gt;</span> length) count_chars <span class="synStatement">=</span> arr length a3_show <span class="synStatement">::</span> (Arrow a,Show b) <span class="synStatement">=&gt;</span> a (b,(b,b)) String a3_show <span class="synStatement">=</span> arr (show <span class="synStatement">***</span> show <span class="synStatement">***</span> show) <span class="synStatement">&gt;&gt;&gt;</span> join <span class="synType">where</span> join <span class="synStatement">=</span> second join_tab <span class="synStatement">&gt;&gt;&gt;</span> join_tab join_tab <span class="synStatement">::</span> (Arrow a) <span class="synStatement">=&gt;</span> a (String,String) String join_tab <span class="synStatement">=</span> arr (<span class="synStatement">\</span>(a,b) <span class="synStatement">-&gt;</span> a <span class="synStatement">++</span> <span class="synConstant">&quot;</span><span class="synSpecial">\t</span><span class="synConstant">&quot;</span> <span class="synStatement">++</span> b) main <span class="synStatement">=</span> runKleisli (Kleisli (const getContents) <span class="synStatement">&gt;&gt;&gt;</span> wc <span class="synStatement">&gt;&gt;&gt;</span> a3_show <span class="synStatement">&gt;&gt;&gt;</span> Kleisli putStrLn) () </pre><p>"Kleisli"というのは<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%CA%A5%C9">モナド</a>を内部に含むようなArrowの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9">インスタンス</a>型であり、かつ、"Kleisli m"型のデータ構築子でもある。"runKleisli"というのが、Kleisli型の値から<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%CA%A5%C9">モナド</a>な関数をひきだす関数で、"Kleisli m a b -> a -> m b"という型を持っている。この場合は、"Kleisli putStrLn"等々からIO<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%CA%A5%C9">モナド</a>を含むKeisli IO型の値を生成し、そこから"runKleisli"を使って"a -> IO ()"型の関数を引きだしているので、mainの型は"IO ()"となって、型の整合性はとれている。<br /> 見てのとおり、wcやa3_showには<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%CA%A5%C9">モナド</a>のことは一言も書いてないけど、">>>"を使ってArrowとして結合してあるので勝手にArrowの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9">インスタンス</a>である"KLeisli IO"型に推論されていて整合性がとれる、と。これは地味に嬉しい。</p><p>あと、wcとa3_showには、うざったい型宣言が書いてあるが、これは省略してもちゃんと動く。なんで書いてあるかというと、型宣言を省略すると、mainの部分にひっぱられてwcが"wc :: Kleisli IO String (Int, (Int, Int))"と推論されてしまうから。"Kleisli IO"はArrowの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9">インスタンス</a>型で、つまり、省略すると本来はArrowという型クラスでいいはずの型が具体的な型に推論されてしまう。</p><p>さっきも書いたけど、多分Arrowのうまみは(多分)型情報によって処理を切りかえるところなので、具体的な型になってしまうとそのうまみがなくなっちゃうと思う。例えば、上のように型宣言しておいたソースをGHCiで読みこむと、</p> <pre class="code lang-haskell" data-lang="haskell" data-unlink>Main<span class="synStatement">&gt;</span> wc <span class="synConstant">&quot;one two</span><span class="synSpecial">\t</span><span class="synConstant">hree&quot;</span> (<span class="synConstant">1</span>,(<span class="synConstant">3</span>,<span class="synConstant">12</span>)) </pre><p>なんていうのも動作する。実は、普通の関数の型 "->"もArrowの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9">インスタンス</a>として定義されているので、この場合はwcが普通の関数 "String -> (Int,(Int,Int))"と推論されて動作してるわけだ。wcの型が具体的な"Kleisli IO ..."と推論されてしまっているとこのコードは型エラーで動かない。</p><p>乱暴にまとめると、Arrowは<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%CA%A5%C9">モナド</a>みたいにシーケンシャルな結合だけじゃなくて、分岐や(ここでは使ってないけど)繰り返しを表現する<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B1%E9%BB%BB%BB%D2">演算子</a>を使って結合させることができて組み立ての自由度が高い。さらにArrowな<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B1%E9%BB%BB%BB%D2">演算子</a>で実装した関数は(ちゃんとArrowな型宣言を書いておいてやると)いろんなArrowの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9">インスタンス</a>型と整合してくれる。上のコードの中ではwcを一行も書きかえることなく、IO<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%CA%A5%C9">モナド</a>な関数および普通の関数として動作してくれる。Arrowをうまく使うと非常に再利用性が高い関数群が定義できるはず。</p><p>ということは、Arrowの使いこなす上で鍵になるのは、Arrowの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9">インスタンス</a>型をいかに上手く定義できるか、ということになるような気がするんだけど、他に典型的なArrowの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9">インスタンス</a>ってどんなのがあるのかな。次はそのへんかなー。</p> <div class="footnote"> <p class="footnote"><a href="#fn-d92a1aeb" name="f-d92a1aeb" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="http://d.hatena.ne.jp/propella/20070807/p2">http://d.hatena.ne.jp/propella/20070807/p2</a>にでてくるSFがその例</span></p> </div> sshi 聖女の救済 hatenablog://entry/17680117127024677109 2008-10-26T00:00:00+09:00 2019-04-12T20:04:14+09:00 読みおわった。これはすごい。これもまた傑作だった。くらくらする。でもちょっと複雑な心境。文句のつけようはいくらでもありそうな気はするけど、それは問題ではないというか。いま読了したばっかりで受けた衝撃が強いせいかなあ。すこしたってみると感想が変わるかもしれない。 <p>読みおわった。これはすごい。これもまた傑作だった。くらくらする。</p><p>でもちょっと複雑な心境。文句のつけようはいくらでもありそうな気はするけど、それは問題ではないというか。いま読了したばっかりで受けた衝撃が強いせいかなあ。すこしたってみると感想が変わるかもしれない。</p> sshi ガリレオの苦悩 と 聖女の救済 hatenablog://entry/17680117127024677214 2008-10-25T00:00:00+09:00 2019-04-12T20:04:15+09:00 先日の「ガリレオ」テレビ特番の最後で、特番の原作本「ガリレオの苦悩」が出るよ、と言っていたので買いにいった。ら、なんとその短編集の隣りに新作長編まで置いてあった。映画もやっててタイムリーなこのタイミングで、ハードカバー二冊を同時に出すとはえげつない。とはいえ、傑作「容疑者Xの献身」に続くガリレオの長編第二弾であることに加えて、帯の「おそらく君たちは負ける。僕も勝てない。これは完全犯罪だ」「理論的には考えられても、現実的にはありえない」にまんまと煽られて、ほくほくして即二冊買い。幸せな週末だ。 ガリレオの苦悩 ガリレオの苦悩作者: 東野圭吾出版社/メーカー: 文藝春秋発売日: 2008/10/2… <p>先日の「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AC%A5%EA%A5%EC%A5%AA">ガリレオ</a>」テレビ特番の最後で、特番の原作本「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AC%A5%EA%A5%EC%A5%AA">ガリレオ</a>の苦悩」が出るよ、と言っていたので買いにいった。ら、なんとその短編集の隣りに新作長編まで置いてあった。映画もやっててタ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%E0%A5%EA">イムリ</a>ーなこのタイミングで、ハードカバー二冊を同時に出すと<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%A8">はえ</a>げつない。</p><p>とはいえ、傑作「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CD%C6%B5%BF%BC%D4X%A4%CE%B8%A5%BF%C8">容疑者Xの献身</a>」に続く<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AC%A5%EA%A5%EC%A5%AA">ガリレオ</a>の長編第二弾であることに加えて、帯の「おそらく君たちは負ける。僕も勝てない。これは完全犯罪だ」「理論的には考えられても、現実的にはありえない」にまんまと煽られて、ほくほくして即二冊買い。幸せな週末だ。</p> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AC%A5%EA%A5%EC%A5%AA">ガリレオ</a>の苦悩</h4> <p><div class="hatena-asin-detail"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4163276203/hatena-blog-22/"><img src="https://images-fe.ssl-images-amazon.com/images/I/41h0acvhvJL._SL160_.jpg" class="hatena-asin-detail-image" alt="ガリレオの苦悩" title="ガリレオの苦悩"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4163276203/hatena-blog-22/">ガリレオの苦悩</a></p><ul><li><span class="hatena-asin-detail-label">作者:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%CC%EE%B7%BD%B8%E3">東野圭吾</a></li><li><span class="hatena-asin-detail-label">出版社/メーカー:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%CA%B8%E9%BA%BD%D5%BD%A9">文藝春秋</a></li><li><span class="hatena-asin-detail-label">発売日:</span> 2008/10/23</li><li><span class="hatena-asin-detail-label">メディア:</span> 単行本</li><li><span class="hatena-asin-detail-label">購入</span>: 6人 <span class="hatena-asin-detail-label">クリック</span>: 38回</li><li><a href="http://d.hatena.ne.jp/asin/4163276203/hatena-blog-22" target="_blank">この商品を含むブログ (183件) を見る</a></li></ul></div><div class="hatena-asin-detail-foot"></div></div>というわけで、短編集「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AC%A5%EA%A5%EC%A5%AA">ガリレオ</a>の苦悩」のほうは読んだ。ドラマに登場していた「内海薫」も登場。特番で学生時代の話になってたやつは原作だといつもの湯川 + 内海薫 初登場の回だったんだな。ドラマで見た時はものすごい違和感だったけど、本で読むと普通。個人的には4番目の「指標す(しめす)」がおもしろかった。</p><p>ちょっと驚いたのが、ドラマで<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BC%C6%BA%E9%A5%B3%A5%A6">柴咲コウ</a>が演じた内海薫と原作の内海薫の違い。原作の内海薫はできる子じゃないですか!ドラマの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BC%C6%BA%E9%A5%B3%A5%A6">柴咲コウ</a>は騒ぎまくって話に華をそえるワトソン役だったけど、原作の内海薫は良く言えば冷静で頭が切れる、悪く言えば華がないキャラ。<br /> これを先に読んでたら、湯川の違和感より内海薫の違和感のほうが大きすぎて、ドラマはまともに見れてなかったかもしれないなあ。この順番でよかった。</p> </div> <div class="section"> <h4>聖女の救済</h4> <p><div class="hatena-asin-detail"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4163276106/hatena-blog-22/"><img src="https://images-fe.ssl-images-amazon.com/images/I/414rGJFvv2L._SL160_.jpg" class="hatena-asin-detail-image" alt="聖女の救済" title="聖女の救済"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4163276106/hatena-blog-22/">聖女の救済</a></p><ul><li><span class="hatena-asin-detail-label">作者:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%CC%EE%B7%BD%B8%E3">東野圭吾</a></li><li><span class="hatena-asin-detail-label">出版社/メーカー:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%CA%B8%E9%BA%BD%D5%BD%A9">文藝春秋</a></li><li><span class="hatena-asin-detail-label">発売日:</span> 2008/10/23</li><li><span class="hatena-asin-detail-label">メディア:</span> 単行本</li><li><span class="hatena-asin-detail-label">購入</span>: 11人 <span class="hatena-asin-detail-label">クリック</span>: 60回</li><li><a href="http://d.hatena.ne.jp/asin/4163276106/hatena-blog-22" target="_blank">この商品を含むブログ (250件) を見る</a></li></ul></div><div class="hatena-asin-detail-foot"></div></div>それでこの長編ですよ。まだ前半1/3くらいしか読んでないがおもしろい。</p><p>こちらにも内海薫が登場していて、短編集では空回りしたりもする彼女がこの長編では事件の手掛りを鋭く指摘する役割を担いつつある。草薙が完全にワトソン役なので、ペアになる内海は小ホームズにせざるを得なかったのか、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%CC%EE%B7%BD%B8%E3">東野圭吾</a>の趣味がはいっているのか。<br /> この長編の犯人は<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C7%F2%CC%EB%B9%D4">白夜行</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B8%B8%CC%EB">幻夜</a>の主人公を思いおこさせる「とても頭がよい底の知れない女性」として描かれていて、今のところの構図は、鉄壁のアリバイを誇るその犯人に小ホームズ内海薫が湯川の援助を受けつつ対抗する、という雰囲気。よい。とてもよい。</p><p>まとめ。なんだかんだいいつつも、僕はまだ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%CC%EE%B7%BD%B8%E3">東野圭吾</a>が好きすぎる。</p> </div> sshi ガリレオ φ hatenablog://entry/17680117127024677367 2008-10-04T00:00:00+09:00 2019-04-12T20:04:17+09:00 容疑者Xの映画が公開されるのにあわせてガリレオの特番をTVでやってる。 草薙と湯川の学生時代の話ってこの特番オリジナルなんだろうか。ネタ自体は原作にもあったかもしれないけど、なんかこう…。若い役者が演じてる、学生時代の湯川がもはや福山の物真似にしかみえないし、全体的にいまいちです…。容疑者Xでの堤真一も原作の石神とは別物になってるような予感するけど、そのへんを確かめるためにも見てこないと駄目だなあ。さて何時行こう。特番、最後までみたら映画の出来が超不安になりました。半分くらいストーリー改変されてそうだなあ。 <p>容疑者Xの映画が公開されるのにあわせて<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AC%A5%EA%A5%EC%A5%AA">ガリレオ</a>の特番をTVでやってる。<br /> 草薙と湯川の学生時代の話ってこの特番オリジナルなんだろうか。ネタ自体は原作にもあったかもしれないけど、なんかこう…。若い役者が演じてる、学生時代の湯川がもはや福山の物真似にしかみえないし、全体的にいまいちです…。</p><p>容疑者Xでの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C4%E9%BF%BF%B0%EC">堤真一</a>も原作の石神とは別物になってるような予感するけど、そのへんを確かめるためにも見てこないと駄目だなあ。さて何時行こう。</p><p>特番、最後までみたら映画の出来が超不安になりました。半分くらいストーリー改変されてそうだなあ。</p> sshi Gallina hatenablog://entry/17680117127024677655 2008-08-31T00:00:01+09:00 2019-04-12T20:04:20+09:00 で、さっそくGallinaの情報をあつめてみようとしたわけだが、GallinaってCoq上の言語(の一番シンプルなやつ)の名前なのかな…。もしかして去年と同じものを違う角度からしゃべってただけなんだろうか。つ、釣られた。無知と不勉強を露呈しまくり。 <p>で、さっそくGallinaの情報をあつめてみようとしたわけだが、GallinaってCoq上の言語(の一番シンプルなやつ)の名前なのかな…。もしかして去年と同じものを違う角度<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%AB%A4%E9%A4%B7">からし</a>ゃべってただけなんだろうか。つ、釣られた。無知と不勉強を露呈しまくり。</p> sshi LL Future に行ってきましたよ hatenablog://entry/17680117127024677479 2008-08-31T00:00:00+09:00 2019-04-12T20:04:18+09:00 http://ll.jus.or.jp/2008/ 今年は奇跡はおきず、きっちり寝すごした。けど、結局後半だけLL Futureに行ってきたので、例によって今の印象を偏見もまじえて垂れ流し。今回は1000人以上収容できる広いホールでの開催でなかなか壮観だった。800人とかいたらしい。そうとう規模がでっかくなってきたような。ほんと、その規模を支えてるスタッフの方々には感謝感謝です。 君ならどう書く? すでにかなり後半のこのセッションの途中、yuguiさんが解説しはじめるあたりに到着。 今回のネタは「LL Golf」ということで、いくつかのお題をLL言語でGolfしよう、という話だった。いろんな言… <p><a href="http://ll.jus.or.jp/2008/">http://ll.jus.or.jp/2008/</a><br /> 今年は奇跡はおきず、きっちり寝すごした。けど、結局後半だけLL Futureに行ってきたので、例によって今の印象を偏見もまじえて垂れ流し。今回は1000人以上収容できる広いホールでの開催でなかなか壮観だった。800人とかいたらしい。そうとう規模がでっかくなってきたような。ほんと、その規模を支えてるスタッフの方々には感謝感謝です。</p> <div class="section"> <h4>君ならどう書く?</h4> <p>すでにかなり後半のこのセッションの途中、yuguiさんが解説しはじめるあたりに到着。<br /> 今回のネタは「LL Golf」ということで、いくつかのお題を<a class="keyword" href="http://d.hatena.ne.jp/keyword/LL%B8%C0%B8%EC">LL言語</a>でGolfしよう、という話だった。いろんな言語のGolfコードが公開&解説されてて結構おもしろかった。<br /> が、このセッションはプロゴルファー浜地先生の指導とコメントが全てだったような気がする。パーサーの不意を付くような細かい規則がでてくることでてくること。よく発見したなあ&よく覚えてるなあ。でもGolfで一番重要なのは、そういう短く書ける構文要素を駆使する<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>の構成能力だよなあ。プロゴルファーになれる気がしない。<br /> Golfテクニック以外のコメントもおもしろかった。だれか先生のコメントをまとめて欲しい。「classの作りかたくらいはわかります」くらいしか覚えていない。残念。</p> </div> <div class="section"> <h4>古い言語、新しい言語</h4> <p>セッションタイトルからはよくわかんなかったけど、要は<a class="keyword" href="http://d.hatena.ne.jp/keyword/ECMAScript">ECMAScript</a>(<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>と<a class="keyword" href="http://d.hatena.ne.jp/keyword/ActionScript">ActionScript</a>とか<a class="keyword" href="http://d.hatena.ne.jp/keyword/tamarin">tamarin</a>とか) + <a class="keyword" href="http://d.hatena.ne.jp/keyword/LLVM">LLVM</a>なセッションだった。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Lisp">Lisp</a>の話もちらっとだけあったか。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Lisp">Lisp</a>=ゴキブリ説。個人的にはセッションのパネラーだった、あろはくんとomoさんが生で見られて満足。あろはくんには隙あらば挨拶しようかなと思ってたけど、結局つかまえられず。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Javascript">Javascript</a>で実装した<a class="keyword" href="http://d.hatena.ne.jp/keyword/JVM">JVM</a>上で、現実的なスピードで<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C6%A5%C8%A5%EA%A5%B9">テトリス</a>(Applet?)が動くデモがあったりして「どのブラウザでもお手軽に動作する<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>は、現在の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B8%EC">機械語</a>的な役割をになっているのでは」というのもやや納得。ただなー、<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>はライブラリが(環境ふくめて)ぜんぜん統一されてないから、ちょっと不信感があるんだよなあ。まだ<a class="keyword" href="http://d.hatena.ne.jp/keyword/ActionScript">ActionScript</a>のほうがいいような。難しいところか。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/LLVM">LLVM</a>の話と<a class="keyword" href="http://d.hatena.ne.jp/keyword/tamarin">tamarin</a>の話はだいたい聞いたことがある話だったけど、omoさんによる<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mozilla">Mozilla</a>ががんばってる<a class="keyword" href="http://d.hatena.ne.jp/keyword/tamarin">tamarin</a>と<a class="keyword" href="http://d.hatena.ne.jp/keyword/SpiderMonkey">SpiderMonkey</a>の統合の現状の話はおもしろかった。</p><p>あとあれか、ActionScript3から生成したABCをそのままAVMで動かすよりも、<a class="keyword" href="http://d.hatena.ne.jp/keyword/LLVM">LLVM</a>を経由してABCにした方が高速っていうのがおもしろかった。<a class="keyword" href="http://d.hatena.ne.jp/keyword/LLVM">LLVM</a>のほうでは関数呼びだしとかが静的に決まる<a class="keyword" href="http://d.hatena.ne.jp/keyword/C%B8%C0%B8%EC">C言語</a>になってるから、メソッド呼びだしが動的な<a class="keyword" href="http://d.hatena.ne.jp/keyword/ActionScript">ActionScript</a>を対象にするより最適化が効きやすいのでは?って話だったけど、そうだとすればCコードを書いてる人間がある程度最適化してるとも言えるよなー。妄想としてはそこを自動化できるとおもしろそう。例えば、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>とかで(evalやクラスの変更はぴたっと止めて)メソッドの呼びだしの解析とかやって、インライン展開とかのがりがりした最適化処理いれたりできんかなあ。</p><p>残念だったのは、このセッションは明らかに各パネリストの時間の配分に失敗していたこと。omoさんが結局一言もしゃべらずに終わるのではないかと見ててドキドキした。あ、あと、「ABC?<a class="okeyword" href="g:sshi:keyword:Concurrent Clean">Concurrent Clean</a>?」ってネタはきっちり笑いました。そう思うよなー。</p><br /> <p>以下、ライトニング・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A1%BC%A5%AF">トーク</a>。三つめのセッションにして早くもLT。どんだけ遅刻してるんだ。例によって、おもしろかったのや興味をひかれたのだけ列挙。</p> </div> <div class="section"> <h4>Client-side database storageで実際にアプリケーションを作成してみた</h4> <p>ブラウザのクライアントサイドのストレージ(<a class="keyword" href="http://d.hatena.ne.jp/keyword/SQLite">SQLite</a>?)を使うアプリケーションを作ってみた、という話。手法としていちおう押さえておきたいとは思ったけど、実際にどういう環境でどうしてるかを聞きのがしてしまった。あとで調べよう</p> </div> <div class="section"> <h4>私は如何にしてNarioを作り、一面をクリアしたか</h4> <p>ライトニング<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A1%BC%A5%AF">トーク</a>でまさかのゲームライブプレイ。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B2%A1%BC%A5%E0%A5%BB%A5%F3%A5%BF%A1%BCCX">ゲームセンターCX</a>かと思った。<a class="keyword" href="http://d.hatena.ne.jp/keyword/GC">GC</a>でのかたまり具合いがみれなかったのは残念。なんかパッチがはいってまともに動くようになってたのかな?</p> </div> <div class="section"> <h4>「Pit」で救う世界</h4> <p>あいかわらずプレゼンが派手で楽しめた。抜群の安定感。PitっていうのはパスワードとかIDとかを簡単に管理できるようなライブラリらしい。たしかにたまにそういう機能は必要で常に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%C9%A5%DB%A5%C3%A5%AF">アドホック</a>にやっつけてしまうので、こういうのはいいな。必要な時におもいだそう。</p> </div> <div class="section"> <h4>Babel21(仮) LLにLLを埋め込んでみた</h4> <p>発表時には仮称がとれて、Unbabelが正式名称になってた。えーと要は、ある言語の中に違う言語を記述して透過的に使うライブラリ。ゲスト言語のほうはプロセスたちあげて文字列を丸投げしてるだけみたいだけど、「Unbabel<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%C8%A5%B3%A5%EB">プロトコル</a>さえ実装してもらえればどの言語から(このへん記憶あいまい)でも使えます」って言ってたのが気になった。自作言語作るとき、ライブラリの不足を補う足掛りにはよさそう。「Unbabel<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%C8%A5%B3%A5%EB">プロトコル</a>」を調べてみる価値はあるかなあ。どこまでできるんだろ。</p> </div> <div class="section"> <h4>ちょっと草植えときますね型言語Grass</h4> <p>知る人ぞ知る、Grass言語の紹介。軟派な見た目とはうらはらに一皮むけば超シンプルな<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A6%CB%B7%D7%BB%BB">λ計算</a>という硬派。Grass on <a class="keyword" href="http://d.hatena.ne.jp/keyword/Rails">Rails</a>にも期待。「見た目で釣っといて、formalizmを叩きこむ!」っていうのにおおうけ。いいぞもっとやれ。</p> </div> <div class="section"> <h4>超未来言語 Gallina</h4> <p>関数だけでなく型までも第一級である(変数に代入できる)言語Gallinaの紹介。<a class="keyword" href="http://d.hatena.ne.jp/keyword/OCaml-Nagoya">OCaml-Nagoya</a>の今井さんが去年のCoqに引き続きマニアックな一品をたんたんと説明する姿に感動した。<br /> で、も、あくまで静的検証もできる<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%D8%BF%F4%B7%BF%B8%C0%B8%EC">関数型言語</a>として紹介してたけど、検証するにはさらっと省略してた「証明」ってとこにCoqみたいな論理式を書きまくらないと駄目なんじゃないのかなあ。すでに<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%AD%A1%BC%A5%EF%A1%BC%A5%C9">はてなキーワード</a>にも登録されていて、それを見るとCoqのための言語って書いてあるし。推測してないで使ってみろってことだな。<a class="keyword" href="http://d.hatena.ne.jp/keyword/haskell">haskell</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/OCaml">OCaml</a>と連携できるっていってたしちょっと楽しみ。<br /> あーで、たしか静的な検証の話への導入だったと思うけど、「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%C0%B8%EC">プログラミング言語</a>の未来、っていう話なのに誰もプログラム品質の話をしないのは不思議」的なことをいっててそれは確かにそうだな、と思った。うん。</p> </div> <div class="section"> <h4>未来の並列<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%C0%B8%EC">プログラミング言語</a>としての <a class="keyword" href="http://d.hatena.ne.jp/keyword/Haskell">Haskell</a></h4> <p>これは気になります。次のバージョンアップや次の次のバージョンアップとかで<a class="keyword" href="http://d.hatena.ne.jp/keyword/GHC">GHC</a>に並列プログラミング向けのライブラリ?が追加されるよ的な話。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Haskell">Haskell</a>びいき者としては、ちゃんとキャッチアップしとかなきゃだめだなあ。それと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Haskell">Haskell</a>の最適化フェイズを<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3">プラグイン</a>でさしかえられるようにするプロジェクトをやってる、、って言ってた気がするんだけど、詳細が気になる。これもそのうち調べよう。</p> </div> <div class="section"> <h4>その他</h4> <p>最後にボール投げ抽選会があったけど今年は拾えず。休み時間に書籍販売のとこで「実践CommonLisp」を買ったので書籍分はこれで満足しておくことにする。</p><p>見逃したセッションの中では「LL でアート」のセッションがよかったらしい。情報をさがさねば。</p><p>あと今回も「ブログでは良く知ってるけど御会いしたことない人」数人と(ほんのちょっとだけだけど)お話できて収穫。ここにまともな名前を書いてないので、いつも「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA">はてな</a>で、<a class="okeyword" href="g:sshi:keyword:sshi">sshi</a><a href="#f-cf1fa702" name="fn-cf1fa702" title="ここの発音も考えてないので「えす えす えいち あい」とか言っちゃう始末">*1</a>ってIDでブログ書いてるものですが」なんていうまだるっこしい挨拶をするんだけど、皆さんちゃんと反応してくれるのでありがたい。でもさすがに、そろそろ名前書いとくか。どうすっかな。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-cf1fa702" name="f-cf1fa702" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">ここの発音も考えてないので「えす えす えいち あい」とか言っちゃう始末</span></p> </div> sshi LL Futureだなあ hatenablog://entry/17680117127024677745 2008-08-30T00:00:00+09:00 2019-04-12T20:04:21+09:00 今日だるだるだったのと、雨もひどそうなので明日はやめておこうかと思ったがプログラムをみかえしたら行きたくなったので一応行く方向で。 乗り換え経路を確認したりしつつ、こういう時こそストリートビューの出番なのではと思って使ってみる。わかりやすいなーこれ。Googleトランジットとシームレスに使えるのもまたよい。中野駅からだと、線路沿いの道をがんがん進んで、小ホール前を通過して本館にいけばいいのか。もよりのサンクスで昼飯かっとくか。二度寝で行く気をなくして終了。やっぱり今からいこ。 <p>今日だるだるだったのと、雨もひどそうなので明日はやめておこうかと思ったがプログラムをみかえしたら行きたくなったので一応行く方向で。<br /> 乗り換え経路を確認したりしつつ、こういう時こそ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%EA%A1%BC%A5%C8%A5%D3%A5%E5%A1%BC">ストリートビュー</a>の出番なのではと思って使ってみる。わかりやすいなーこれ。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Google">Google</a>トランジットとシームレスに使えるのもまたよい。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C3%E6%CC%EE%B1%D8">中野駅</a>からだと、線路沿いの道をがんがん進んで、小ホール前を通過して本館にいけばいいのか。もよりのサンクスで昼飯かっとくか。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C6%F3%C5%D9%BF%B2">二度寝</a>で行く気をなくして終了。やっぱり今からいこ。</p> sshi 湖岸の盲点 解答編 hatenablog://entry/17680117127024677923 2008-08-13T00:00:01+09:00 2019-04-12T20:04:23+09:00 http://hannin-a.sakura.ne.jp/ http://d.hatena.ne.jp/anrakuisu_hannin/20080813/1218556825解答編がでてたよ。 問題は考えたけど、結局ミスの最後の一つが確定しなかったので応募しなかったのでした。結果はほぼ予想の範囲内。三つのミスはあってた。でも「犯人当て」形式で読むとやっぱりあらは見えちゃうね。気になった度合いが大きかったのを二点だけかいとく。厳密には解答として求められてたわけじゃないけど、「犬塚の指紋が一番上にある」ってのから、順序を限定するのは無理がある。後からはいった人間が、犬塚の指紋のある場所に「たまた… <p><a href="http://hannin-a.sakura.ne.jp/">http://hannin-a.sakura.ne.jp/</a><br /> <a href="http://d.hatena.ne.jp/anrakuisu_hannin/20080813/1218556825">http://d.hatena.ne.jp/anrakuisu_hannin/20080813/1218556825</a></p><p>解答編がでてたよ。<br /> 問題は考えたけど、結局ミスの最後の一つが確定しなかったので応募しなかったのでした。</p><p>結果はほぼ予想の範囲内。三つのミスはあってた。でも「犯人当て」形式で読むとやっぱりあらは見えちゃうね。気になった度合いが大きかったのを二点だけかいとく。</p><p>厳密には解答として求められてたわけじゃないけど、「犬塚の指紋が一番上にある」ってのから、順序を限定するのは無理がある。後からはいった人間が、犬塚の指紋のある場所に「たまたま」さわらなかっただけ、という可能性がつぶしきれてないような。実際、後からはいった人間はいたわけだし。「たまたま」と「偽装」の間にそれほど差があると読みとれなかったせいか。えーとつまり、ちょっと気をつける程度で偽装できてしまうのなら、後からはいった人が、たまたま指紋の上をさわらない可能性も十分考えられる、と読みとってました。</p><p>あと、三つめ<a href="#f-59d2d713" name="fn-59d2d713" title="解答編で提示される順番">*1</a>のミスは他と明らかに根拠の強度が違うので、解いてる側としては(変は変だからもしかしたらミスなのかなあとは思うものの)他の三つとあわせて解答するのは躊躇するような。僕は躊躇しました。絶対他にミスを見落していると思ってしまった。残念。</p><br /> <p>ぐだぐだ書いちゃったけど、やってておもしろかったです。またやりたいなあ。</p> <div class="footnote"> <p class="footnote"><a href="#fn-59d2d713" name="f-59d2d713" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">解答編で提示される順番</span></p> </div> sshi 忌火起草 その3 hatenablog://entry/17680117127024677844 2008-08-13T00:00:00+09:00 2019-04-12T20:04:22+09:00 金になった。自力のみでは無理でした。むずかしいとこだなあ。 そういえば百八怪談がぜんぜん取れていない。 <p>金になった。自力のみでは無理でした。むずかしいとこだなあ。<br /> そういえば百八怪談がぜんぜん取れていない。</p> sshi 忌火起草 その2 hatenablog://entry/17680117127024678018 2008-08-12T00:00:00+09:00 2019-04-12T20:04:24+09:00 ピンクに到達。今回のピンクは悪ノリしすぎな上に長い。おもしろかったけど。 さー、100%にはどこが足りないのだろうか。 <p>ピンクに到達。今回のピンクは悪ノリしすぎな上に長い。おもしろかったけど。<br /> さー、100%にはどこが足りないのだろうか。</p> sshi 忌火起草 解明編 hatenablog://entry/17680117127024678106 2008-08-10T00:00:00+09:00 2019-04-12T20:04:25+09:00 http://chun.sega.jp/kaimei/ 忌火起草 解明編 - Wii出版社/メーカー: セガ発売日: 2008/08/07メディア: Video Game購入: 1人 クリック: 13回この商品を含むブログ (20件) を見る忌火起草のWii版がでてたので購入してプレイ中。 これはいい。これはいいゲームだ。まぎれもなくSFC版「かまいたちの夜」*1の正統な後継者ですよ。ようやく登場してくれたか、という思いで胸がいっぱい。楽しい。 プレイ状況は赤、茶色、青に加えて紫まで「完」を出したところ。表示されるパーセンテージでは70%くらい。ちらっと緑にはいりかけたが、何故かすぐ戻ってしま… <p><a href="http://chun.sega.jp/kaimei/">http://chun.sega.jp/kaimei/</a><br /> <div class="hatena-asin-detail"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0019D9OCC/hatena-blog-22/"><img src="https://images-fe.ssl-images-amazon.com/images/I/515zhSvObrL._SL160_.jpg" class="hatena-asin-detail-image" alt="忌火起草 解明編 - Wii" title="忌火起草 解明編 - Wii"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0019D9OCC/hatena-blog-22/">忌火起草 解明編 - Wii</a></p><ul><li><span class="hatena-asin-detail-label">出版社/メーカー:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BB%A5%AC">セガ</a></li><li><span class="hatena-asin-detail-label">発売日:</span> 2008/08/07</li><li><span class="hatena-asin-detail-label">メディア:</span> Video Game</li><li><span class="hatena-asin-detail-label">購入</span>: 1人 <span class="hatena-asin-detail-label">クリック</span>: 13回</li><li><a href="http://d.hatena.ne.jp/asin/B0019D9OCC/hatena-blog-22" target="_blank">この商品を含むブログ (20件) を見る</a></li></ul></div><div class="hatena-asin-detail-foot"></div></div><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%F7%B2%D0%B5%AF%C1%F0">忌火起草</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/Wii">Wii</a>版がでてたので購入してプレイ中。<br /> これはいい。これはいいゲームだ。まぎれもなく<a class="keyword" href="http://d.hatena.ne.jp/keyword/SFC">SFC</a>版「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%AB%A4%DE%A4%A4%A4%BF%A4%C1%A4%CE%CC%EB">かまいたちの夜</a>」<a href="#f-1ba89cc4" name="fn-1ba89cc4" title="「弟切草」のほうがふさわしいのかもしれないが、弟切草はやりこまなかったのでよくわからない">*1</a>の正統な後継者ですよ。ようやく登場してくれたか、という思いで胸がいっぱい。楽しい。<br /> プレイ状況は赤、茶色、青に加えて紫まで「完」を出したところ。表示されるパーセンテージでは70%くらい。ちらっと緑にはいりかけたが、何故かすぐ戻ってしまうので悩み中。</p><p>システム的には、描写はあいかわらず文字でべたに表示されるものの、登場人物のセリフが全て音声で流れるのは新鮮だし、環境音も実に細かくしこまれてる。サークルの部室では、主人公と直接会話してる人以外がえんえんしりとりしてる音声が聞こえてたり、食堂では他の人の会話がなんとなく聞こえてきたりして臨場感抜群。あと、携帯にメールが着信すると手元の<a class="keyword" href="http://d.hatena.ne.jp/keyword/Wii%A5%EA%A5%E2%A5%B3%A5%F3">Wiiリモコン</a>がぶるっといったりします。地味にこわい。</p><p>さらに今回は、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D5%A5%ED%A1%BC%A5%C1%A5%E3%A1%BC%A5%C8">フローチャート</a>表示と分岐条件のバランスにかなり気をつかってるように思える。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D5%A5%ED%A1%BC%A5%C1%A5%E3%A1%BC%A5%C8">フローチャート</a>から分岐条件がまるわかりだと、ゲームが単なる<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D5%A5%ED%A1%BC%A5%C1%A5%E3%A1%BC%A5%C8">フローチャート</a>穴埋め作業になってしまって非常につまらない。いままでの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%AB%A4%DE%A4%A4%A4%BF%A4%C1">かまいたち</a>の続編にはそういう傾向があったんだけど、今回は怪しいポイントはわかるものの、どの選択肢が影響してるのかわかりにくい作りになってるので単純な穴埋めにはならない。その意味で、プレイ感は<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D5%A5%ED%A1%BC%A5%C1%A5%E3%A1%BC%A5%C8">フローチャート</a>表示がなかった<a class="keyword" href="http://d.hatena.ne.jp/keyword/SFC">SFC</a>版<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%AB%A4%DE%A4%A4%A4%BF%A4%C1">かまいたち</a>にかなり近いです。</p><p>お話の分岐の仕方も<a class="keyword" href="http://d.hatena.ne.jp/keyword/SFC">SFC</a>版<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%AB%A4%DE%A4%A4%A4%BF%A4%C1">かまいたち</a>に近くて、本編と似たようなホラーものあり、登場人物や最初の展開はまるきり同じなのに、ものすごい違う話にぶっとんでいってしまう展開ありで満足。個人的には<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A1%D6%B3%B9%A1%D7">「街」</a>っぽく複雑に話がからみあうのもやってみたい気はするが、難易度の調整が難しいだろうなあ。</p><p>…しかし、ここまでやって外伝的な話以外は全部鬱エンディングっていうのはゲームとしてどうなんだろう。最後までやりきったらまた書くかも書かないかも。</p> <div class="footnote"> <p class="footnote"><a href="#fn-1ba89cc4" name="f-1ba89cc4" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C4%EF%C0%DA%C1%F0">弟切草</a>」のほうがふさわしいのかもしれないが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C4%EF%C0%DA%C1%F0">弟切草</a>はやりこまなかったのでよくわからない</span></p> </div> sshi 安楽椅子犯人 「湖岸の盲点」 hatenablog://entry/17680117127024678207 2008-07-31T00:00:00+09:00 2019-04-12T20:04:26+09:00 http://hannin-a.sakura.ne.jp/ 読者への挑戦付きサウンドノベル。解答をメールで送って正解すると、正解者の中から抽選で賞品が貰えるらしい。締切は8月11日。大山さんのコメントがついていたので、くそ忙しいのに読んで(プレイして)しまった。そして考えるはめになった。くそう。ゲームの形式は選択肢のないサウンドノベル(いまどきは違ういいかたするんかな)、要は文章に音とキャラ絵とか背景とかついてくる。倒叙物で犯人は最初からわかっていて「犯人がおかした四つのミス」をあてろ、というのが問題。そういう意味では犯人当てではないけど、ちゃんと「読者への挑戦」もでてきてルールの説明なんかも… <p><a href="http://hannin-a.sakura.ne.jp/">http://hannin-a.sakura.ne.jp/</a><br /> 読者への挑戦付き<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%A6%A5%F3%A5%C9%A5%CE%A5%D9%A5%EB">サウンドノベル</a>。解答をメールで送って正解すると、正解者の中から抽選で賞品が貰えるらしい。締切は8月11日。大山さんのコメントがついていたので、くそ忙しいのに読んで(プレイして)しまった。そして考えるはめになった。くそう。</p><p>ゲームの形式は選択肢のない<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%A6%A5%F3%A5%C9%A5%CE%A5%D9%A5%EB">サウンドノベル</a>(いまどきは違ういいかたするんかな)、要は文章に音とキャラ絵とか背景とかついてくる。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%DD%BD%F6">倒叙</a>物で犯人は最初からわかっていて「犯人がおかした四つのミス」をあてろ、というのが問題。そういう意味では犯人当てではないけど、ちゃんと「読者への挑戦」もでてきてルールの説明なんかもある。趣味的だ。大好きだ。</p><p>感触としては、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%D2%A4%B0%A4%E9%A4%B7">ひぐらし</a>みたいな無茶苦茶な感じじゃなくて、「ちゃんと考えてつくってあるなあ」という感じ。あちこちに伏線がちりばめられてて、いろんな可能性をつぶしてまわってる。問題とされてるのは犯人がおかしたミスだけなんだけど、登場する刑事の立場からもちゃんと犯人が搾りこめるように作ってあると書かれてるので、そのせいなんだろうな。</p><p>で、友達に教えて二人でああだこうだいってたんだけど、わかった!といえるのは三つだけ。あと一つは候補はいろいろあるものの、決定打という感じがしないんだよなあ。なんだか、一つのミスだけで十分犯人を限定できてるような気もするし。そうでもないんかなぁ。</p> sshi The Eleventh ICFP Programming Contest: Rules hatenablog://entry/17680117127024678312 2008-07-04T00:00:00+09:00 2019-04-12T20:04:28+09:00 http://icfpcontest.org/rules.html ルールがでてるらし(via http://www.kmonos.net/wlog/86.html#_1709080623)。チームは五人までだそうな。 今回のはソースをsubmitしてサーバ側で動かすタイプのやつなんだな。サーバでサポートされる言語(けっこうある)と環境が提示されている。sumiiさんが優勝した2002年みたいな、ガチガチの対戦アルゴリズムものになるんだろうか。 <p><a href="http://icfpcontest.org/rules.html">http://icfpcontest.org/rules.html</a><br /> ルールがでてるらし(via <a href="http://www.kmonos.net/wlog/86.html#_1709080623)">http://www.kmonos.net/wlog/86.html#_1709080623)</a>。チームは五人までだそうな。<br /> 今回のはソースをsubmitしてサーバ側で動かすタイプのやつなんだな。サーバでサポートされる言語(けっこうある)と環境が提示されている。sumiiさんが優勝した2002年みたいな、ガチガチの対戦<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>ものになるんだろうか。</p> sshi RubyKaigi2008 二日目 hatenablog://entry/17680117127024678390 2008-06-22T00:00:00+09:00 2019-04-12T20:04:29+09:00 yuguiさんにサインもらえて満足。 やるおがJRubyの最適化するのは反則。残りは後で書く。書いた。一週間遅れだが今も覚えていることを書く。偏見がさらに記憶改変されて内容が無茶苦茶になってたらすみません。 拡張ライブラリの書き方講座(arton) 拡張ライブラリのテンプレートを生成してくれるextrails*1は便利そげ。あ、gemにも対応してたのか。 圧巻は拡張ライブラリを使ったメモリイメージの可視化ツール*2。主要なオブジェクトが色わけされた(昔の)windowsデフラグちっくな画面が綺麗だった。GCされるとごそっと書きかわるので楽しげ。 ただ、extrailsをつかったライブコーディン… <p>yuguiさんにサインもらえて満足。<br /> やるおが<a class="keyword" href="http://d.hatena.ne.jp/keyword/JRuby">JRuby</a>の最適化するのは反則。</p><p>残りは後で<del datetime="2008-06-29T19:48:18+09:00">書く。</del>書いた。</p><p>一週間遅れだが今も覚えていることを書く。偏見がさらに記憶改変されて内容が無茶苦茶になってたらすみません。<br /> <br /> </p> <div class="section"> <h4>拡張ライブラリの書き方講座(arton)</h4> <p>拡張ライブラリのテンプレートを生成してくれるextrails<a href="#f-600805e1" name="fn-600805e1" title="本体は http://svn.arton.no-ip.info/raa/trunk/extrails/ かな。">*1</a>は便利そげ。あ、gemにも対応してたのか。<br /> 圧巻は拡張ライブラリを使ったメモリイメージの可視化ツール<a href="#f-46c2964b" name="fn-46c2964b" title="http://svn.arton.no-ip.info/raa/trunk/HeapShow/">*2</a>。主要なオブジェクトが色わけされた(昔の)<a class="keyword" href="http://d.hatena.ne.jp/keyword/windows">windows</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C7%A5%D5%A5%E9%A5%B0">デフラグ</a>ちっくな画面が綺麗だった。<a class="keyword" href="http://d.hatena.ne.jp/keyword/GC">GC</a>されるとごそっと書きかわるので楽しげ。<br /> ただ、extrailsをつかったライブコーディングのデモで"w"の文字のせいでなかなかバグがとれなくて時間がおしてしまったのは残念。<a class="keyword" href="http://d.hatena.ne.jp/keyword/IRC">IRC</a>チャットでバグが指摘されてたのはおもしろかった。</p> </div> <div class="section"> <h4>さらに仕事に使う<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>(後藤 謙太郎(ごとけん))</h4> <p>客先をまきこんで、<a class="keyword" href="http://d.hatena.ne.jp/keyword/trac">trac</a>とかRadMainを使ったお仕事の進めかた。客先と情報を共有している時には、客先にみせなくない情報もあるわけで、そういう情報はひとつのシステム内で可視性をいじくるよりも違うシステムを立てちゃったほうが早いし安全という話があってこれはなるほど。</p> </div> <div class="section"> <h4>erbを偲んで(関将俊)</h4> <p>『「せき」さんこと「せきさん」』の発表。偲ばない。<a class="keyword" href="http://d.hatena.ne.jp/keyword/MVC">MVC</a>のViewはテンプレートじゃなくて実行環境+テンプレート(View Object)なのだ、という指摘。だめだ大分忘れてるな。</p> </div> <div class="section"> <h4>matzを説得する方法(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%C4%C3%E6%C5%AF">田中哲</a>)</h4> <p>田中さんによるRubyMLでMatzを説得させるための傾向と対策。RubyMLに提案を投げてみたことは一度もないけど、参考になる。<a class="keyword" href="http://d.hatena.ne.jp/keyword/perl">perl</a>というと釣りやすい、<a class="keyword" href="http://d.hatena.ne.jp/keyword/haskell">haskell</a>というと駄目、というのはわかりやすい。<a class="keyword" href="http://d.hatena.ne.jp/keyword/haskell">haskell</a>に近い書式で書ける遠藤さんの提案が玉砕してたしなあ。</p> </div> <div class="section"> <h4>日本<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>のリファレンスマニュアル2008・初夏(青木峰郎)</h4> <p>リファレンスマニュアルの進捗報告。去年聞いた限りだと絶望的な状況ぽかったのに、おもいのほか進んでる。えらすぎる。</p> </div> <div class="section"> <h4>The future of <a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a> in <a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac%20OS%20X">Mac OS X</a>(Laurent Sansonetti)</h4> <p>噂の<a class="keyword" href="http://d.hatena.ne.jp/keyword/MacRuby">MacRuby</a>。これはいろんな意味ですごかった。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>上の<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>というと<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Cocoa">Cocoa</a>が既にあるわけだが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/RubyCocoa">RubyCocoa</a>は<a class="keyword" href="http://d.hatena.ne.jp/keyword/Objective-C">Objective-C</a>のオブジェクトと<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>のオブジェクトをがんばってブリッジしてるのでオーバーヘッドがおおきい。そこで<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>のオブジェクトと<a class="keyword" href="http://d.hatena.ne.jp/keyword/Objective-C">Objective-C</a>のオブジェクトをマージしちゃえばいいんじゃないの、というのが<a class="keyword" href="http://d.hatena.ne.jp/keyword/MacRuby">MacRuby</a>の思想。<br /> どうがんばっているかというと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>のCのソースを<a class="keyword" href="http://d.hatena.ne.jp/keyword/Objective-C">Objective-C</a>で書きなおしていて、例えば<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>のStringクラスを<a class="keyword" href="http://d.hatena.ne.jp/keyword/Objective-C">Objective-C</a>のStringクラスを改変する形で実装している。ブリッジしてないので早いし、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>側のStringオブジェクトから<a class="keyword" href="http://d.hatena.ne.jp/keyword/Objective-C">Objective-C</a>のStringのメソッドが呼べたりする。でもってほとんど一人でそれをやってるらしい。すげ。ここまでいくと<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>ではないよなあ、と思うものの、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%D1%A5%AF">インパク</a>トは抜群。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>いいな。<br /> んー。どっかに無理がでてるのかどうかは心配。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Objective-C">Objective-C</a>のモデルと<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>のモデルの親和性が高かったってことなのかな。</p> </div> <div class="section"> <h4>REST信者から見た<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby%20on%20Rails">Ruby on Rails</a> 2.0(山本陽平)</h4> <p>うわ。これの内容を覚えてない。REST的な思想の説明をしてたんだっけ…。</p> </div> <div class="section"> <h4>Real-World Enterprise <a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>(大場光一郎・高井直人)</h4> <p>高井さんはおもしろい。スーツ二人がおりなす漫才。実際の<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>の適用事例を紹介してたはずだが内容をあんまり覚えていない。あー、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>の案件と同じように<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>の案件でもテストチーム等々の体勢をしっかり作ってて、そこまでやってしまえば、特に<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>だからどうこう言う話ではない、というのが印象的。</p><br /> <p>ここからサブセッションへ。<br /> <br /> </p> </div> <div class="section"> <h4>net-<a class="keyword" href="http://d.hatena.ne.jp/keyword/irc">irc</a>というモジュールの実装紹介(cho45)</h4> <p>cho45さんを個人的に会ったことある人かと勝手におもっていたら違ったのがショックだった。えーと内容は<a class="keyword" href="http://d.hatena.ne.jp/keyword/irc">irc</a>を<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A1%BC%A5%D5%A5%A7%A5%A4%A5%B9">インターフェイス</a>にいろいろやろうというお話。<a class="keyword" href="http://d.hatena.ne.jp/keyword/ruby">ruby</a>で<a class="keyword" href="http://d.hatena.ne.jp/keyword/irc">irc</a>というとささださんが作った<a class="keyword" href="http://d.hatena.ne.jp/keyword/nadoka">nadoka</a>というのがあるのだが、それとの関係がちょっと気になった。</p> </div> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>プログラムの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%BF%BF%E4%CF%C0">型推論</a>(松本宗太郎)</h4> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%BF%BF%E4%CF%C0">型推論</a>のお話。やっぱり難しそうだなあ。ML流のがちがちな<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%BF%BF%E4%CF%C0">型推論</a>をするなら、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>側になんらかの制約なり<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%CE%A5%C6%A1%BC%A5%B7%A5%E7%A5%F3">アノテーション</a>をつけることにするなり、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>側に制約をかけないんだったら、緩めの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%BF%BF%E4%CF%C0">型推論</a>(わかんねーって型を残すとか)しないと厳しそうという印象。フロー解析はまだやってないのでそれをすれば…という話もあったけど、あんまり良くわかってないのでなんともいえず。ああでも僕の思ってるようなことはどっちかいうとフロー解析なんかな。<br /> PROで発表した時の別刷を配ってたので貰ってきた。別刷メソッド。あたらしい。</p> </div> <div class="section"> <h4>RubyGCをどけんかせんといかん(authorNari)</h4> <p>soutaroさんとしゃべってたのでこれはあんまり聞いてなかった。なんかアクションゲームをつくって<a class="keyword" href="http://d.hatena.ne.jp/keyword/GC">GC</a>が走ることによる<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%D4%C4%EA">不定</a>期な速度低下をデモしてたらしい。</p><br /> <p>もういちどメインセッションへ<br /> <br /> </p> </div> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/Rails">Rails</a>症候群の研究(前田修吾)</h4> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Rails">Rails</a>では黒魔術がいっぱいつかわれているせいで、それを見た<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>使いが次々(不必要な)黒魔術を駆使するようになってしまうわけだが、それは実は<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>のせいなんであるよ、という話だったような気がする。おもしろ。<br /> で、最後のあたりは"<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>の標準化"的な話になったわけだが、標準化に関して<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>の楽しさを排除する方向への動きがでればそれには表にたって断固反対します、的な発言がでた。政治的な話はよくわからないが、Matzの近くにこういう人がいるのは頼もしい。とはいえ、ちょっとこの部分、デリケートな話の気もするし、既に記憶があまり確かじゃないので後で動画みて確認しとかないと駄目だな。<br /> <br /> <br /> </p> </div> <div class="section"> <h4>そして怒涛のRejectKaigi二本立て</h4> <p>でRubyKaigi終了後は好例のRejectKaigiが行われたわけだが、これがすごかった。件数が多くなったので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Reject">Reject</a> Kaigiを<a class="keyword" href="http://d.hatena.ne.jp/keyword/Reject">Reject</a>された<a class="keyword" href="http://d.hatena.ne.jp/keyword/Reject">Reject</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Reject">Reject</a> Kaigiもできて、同一会場で、二つのスクリーンを立てて一本3分半程度で二本立てで同時進行。マイクないので片方の声がでかいともう片方の声が聞こえないというカオスっぷり。<br /> 最初は真ん中くらいにいて、見るのがつらくなったらおもしろそうな方に移動する、という見方をしてたのだがいろいろ見おとした気がする。ネタ満載で結構笑った。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Reject">Reject</a> KaigiとRejectReject のプログラム一覧どっかにないかな。</p><p>中でも、「やる夫で学ぶ<a class="keyword" href="http://d.hatena.ne.jp/keyword/JRuby">JRuby</a>最適化」が反則。高速化されたはずだし<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%F3%A5%BF%A1%BC%A5%D7%A5%E9%A5%A4%A5%BA">エンタープライズ</a>は<a class="keyword" href="http://d.hatena.ne.jp/keyword/JRuby">JRuby</a>だ!と調子にのったやるおがオプションを駆使して最適化を試みるもCRubyより遅い結果に終わる、というのがやる夫AAで繰り広げられる。<br /> これをスーツ姿の高井さんがたんたんと進めるもんだから無茶苦茶おもしろかった。資料(というかAA)が公開されてる<a href="#f-312a013c" name="fn-312a013c" title="http://recompile.net/2008/06/jruby-3.html">*3</a>けどこれは生で見たほうが断然おもしろいな。</p><p>あとは遠くにいたので聞けなかったけど、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>のRejectKaigiなのに<a class="keyword" href="http://d.hatena.ne.jp/keyword/Gauche">Gauche</a> on <a class="keyword" href="http://d.hatena.ne.jp/keyword/Rails">Rails</a>とかやってる人がいたり無茶苦茶。そして最後の角谷さんのRegional(地域) <a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a> Kaigiの御提案<a href="#f-5a6fc2ee" name="fn-5a6fc2ee" title="http://kakutani.com/20080622.html#p02">*4</a>がまたしても感動的なのでありました。</p><br /> <p>休日を2日つぶしてつくばまで行くのはつらかったけど、おもしろかった。</p> </div> <div class="section"> <h4>番外編 「初めての<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>」</h4> <p>二日目の昼休みに買ったYuguiさんの本(サインありがとうございます)、まだ全部読めてないけどよい。特に一章は、「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a> Way」とか「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>らしさ」とか言われているものを一生懸命文章で説明している(ように見える)のでかなり良い。特に、言語内<a class="keyword" href="http://d.hatena.ne.jp/keyword/DSL">DSL</a>のことがいきなり一章に書いてあるのは結構すごい気がする。</p><p>にしても、言語を自由に改変できる<a class="keyword" href="http://d.hatena.ne.jp/keyword/Lisp">Lisp</a>流のマクロを否定している<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>において、「言語内<a class="keyword" href="http://d.hatena.ne.jp/keyword/DSL">DSL</a>が作りやすい」といわれるのはおもしろい。Matzの言語デザインの取捨選択が成功した結果なのか、偶然はまっただけなのか、あるいは、言語関係なく「<a class="keyword" href="http://d.hatena.ne.jp/keyword/DSL">DSL</a>を使おう」という風潮が盛り上ってきている中で、文法の制約の中でがんばった人達の成果が<a class="keyword" href="http://d.hatena.ne.jp/keyword/DSL">DSL</a>としての使いかたを結実させたのか、興味深い。<br /> さらにもうひとついうと、この言語内<a class="keyword" href="http://d.hatena.ne.jp/keyword/DSL">DSL</a>の思想もやっぱり<a class="keyword" href="http://d.hatena.ne.jp/keyword/Lisp">Lisp</a>の後追いに過ぎない、とも言えるわけで…、あんまり考えまとまってないけど、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>っていうのはMatzLispであり、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Lisp">Lisp</a> on <a class="keyword" href="http://d.hatena.ne.jp/keyword/Rails">Rails</a>なのかもしれないな。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-600805e1" name="f-600805e1" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">本体は <a href="http://svn.arton.no-ip.info/raa/trunk/extrails/">http://svn.arton.no-ip.info/raa/trunk/extrails/</a> かな。</span></p> <p class="footnote"><a href="#fn-46c2964b" name="f-46c2964b" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="http://svn.arton.no-ip.info/raa/trunk/HeapShow/">http://svn.arton.no-ip.info/raa/trunk/HeapShow/</a></span></p> <p class="footnote"><a href="#fn-312a013c" name="f-312a013c" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="http://recompile.net/2008/06/jruby-3.html">http://recompile.net/2008/06/jruby-3.html</a></span></p> <p class="footnote"><a href="#fn-5a6fc2ee" name="f-5a6fc2ee" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="http://kakutani.com/20080622.html#p02">http://kakutani.com/20080622.html#p02</a></span></p> </div> sshi RubyKaigi2008 一日目 hatenablog://entry/17680117127024678559 2008-06-21T00:00:00+09:00 2019-04-12T20:04:30+09:00 案の定、起きたら朝ではなかった。YARVやJRubyやRubiniusの話、さらにMatzの基調講演もまるごと聞きのがした。16:00からのセッションとLTだけ見て、懇親会のチケットも買ってなかったのでそこで終了。例によって偏見と思い違いも込みでメモ代わりになぐりがき。 <p>案の定、起きたら朝ではなかった。<a class="keyword" href="http://d.hatena.ne.jp/keyword/YARV">YARV</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/JRuby">JRuby</a>やRubiniusの話、さらにMatzの基調講演もまるごと聞きのがした。16:00からのセッションとLTだけ見て、懇親会のチケットも買ってなかったのでそこで終了。例によって偏見と思い違いも込みでメモ代わりになぐりがき。</p> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>《を》教えてるんじゃない、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>《で》教えてるんだってば(増原英彦)</h4> <p>東大での<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>を使ったプログラム教育のおはなし。<a class="keyword" href="http://d.hatena.ne.jp/keyword/irb">irb</a>上で、eachじゃなくてforを使わせて、クラスを使わないで短いプログラムを記述させるそうな。一発目としてはありかもなあ。<br /> ところで、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>を教育の言語として選択したのは増原さん個人の判断ではなくて、何人かの先生の合議だった、とのことだけど、そのメンツがすごかった。直接名前を紹介しないで、各先生のかかわった書籍(論文もあった?)の表紙がざっと表示されただけだったので全員はわからなかったけど、竹内郁雄先生や武市先生は確認できた。多分湯浅先生もはいってた。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%D8%BF%F4%B7%BF%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0">関数型プログラミング</a>界の御大達が<a class="keyword" href="http://d.hatena.ne.jp/keyword/ruby">ruby</a>を押すっていうのはちょっとおもしろい。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>はやっぱりMatzLispなんだな。あー、てことは成功したDylanでもあるのか?</p> </div> <div class="section"> <h4>成功する<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>教育のプ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E9%A5%AF">ラク</a>ティス(吉田裕美)</h4> <p>請け負った<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>教育の事例紹介、ということでいいのかなこれは。実習の時に、普通にサンプルを書かせるんじゃなくて、テストケースをこちらで与えてそれに通るコードを書かせるのはよさげ。次のステップとして「じゃあ次は仕様からテストケースを自分で作れるようになりましょう」というのに自然に移行できそうだし。<br /> 妄想ひとつめ。そういえば「<a href="http://d.hatena.ne.jp/asin/4781911609/hatena-blog-22">プログラミングの基礎 ((Computer Science Library))</a>」でも、コードを書く時には、外部仕様を決めて、入出力の型を決めて、それに合うように本体の実装を書かせる、という方向に誘導していた。このへんの思考の流れを強制するように仕様に取りこんだ言語はできんもんかな。<br /> さらに妄想。<a class="keyword" href="http://d.hatena.ne.jp/keyword/topcoder">topcoder</a>では、与えられたお題を満たすコードを書いて得点を得るフェイズの後に、他人のコードを見て、バグを指摘(仕様と異なる動作をするような入力を送りこんでバグを表面化させる)して成功したら加点、っていうフェイズがある。これも教育に取りこめないかな?<br /> 例えば、実習でコードを書かせた後、いきなり講師が採点とかアド<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>するんじゃなくて、このシステム上に全部コードをのっけて受講者みんなに他人のコードの穴をつつきまくらせる。バグの指摘が成功すると結構気持ちいいからそれなりに<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BB%A5%F3%A5%C6%A5%A3%A5%D6">インセンティブ</a>もありそうだし、どれくらいのバグを指摘できたかはその受講者の評価材料にもなりそう。さらにその後に、バグを指摘された人と指摘した人を組ませて<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DA%A5%A2%A5%D7%A5%ED">ペアプロ</a>でコードを改良させれば講師の手をわずらわせずに教育効果があがるやもしれない。</p> </div> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/RSpec">RSpec</a>による<a class="keyword" href="http://d.hatena.ne.jp/keyword/Rails">Rails</a>アプリケーションBDD事例(Yugui)</h4> <p>今日僕が見たなかでは一番おもしろかった話。危機的なプロジェクトに、<a class="keyword" href="http://d.hatena.ne.jp/keyword/subversion">subversion</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/trac">trac</a>を導入し、さらにBDDを基本にすることで、結構スムーズに<a class="keyword" href="http://d.hatena.ne.jp/keyword/Rails">Rails</a>へのリプレースが進んだ、という事例の紹介。結果的には、本体コード3割、テストコード7割くらいの比率になったらしい。参考になったのは、不慣れな人が多い環境でBDDを推進する時に、まず慣れてる人がお手本となるテストケースを量産しておいて、後から不慣れな人にもそれをお手本にして書いてもらう、という手順。なるほど。<br /> 内容とは関係ないけど、このプレゼン、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Wii%A5%EA%A5%E2%A5%B3%A5%F3">Wiiリモコン</a>でスライドを操作しつつ、ステージの中央あたりで大きめの身振り手振りをまじえてしゃべってたので、たまに踊っているように見えた。生「踊る<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE">プログラマ</a><a href="#f-687e8e02" name="fn-687e8e02" title="http://idm.s9.xrea.com/ratio/2007/05/13/000621.html">*1</a>」が見れて満足。<br /> 一番格好よかったのは、「そんなにテストが多くなると、上のほうからテストじゃなくて新規機能を実装しろよ、という話はでてこないのか?」という質問に対して「『わかってない人は余計なこといわないで黙っててください』で押しとおします(ました?)」と言い切る姿。しびれる。明日本買うのでサインください。</p> </div> <div class="section"> <h4>(仮)<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>技術者認定試験 模擬問題解説(松田慎弥)</h4> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>技術者認定試験の傾向と対策、のようなお話。ざっくりまとめると、組込みや標準ライブラリの仕様を暗記するのが重要、らしい。個人的には<a class="keyword" href="http://d.hatena.ne.jp/keyword/ruby">ruby</a>を書く時には<a class="keyword" href="http://d.hatena.ne.jp/keyword/irb">irb</a>とリファレンスマニュアルは必須なので、この試験には絶対受からない気がした。ちゅうか、<a class="keyword" href="http://d.hatena.ne.jp/keyword/irb">irb</a>やマニュアルくらい使わせてくれてもいい気がするんだけど。ころころ仕様変わるんだしさー。<br /> 現に(半分はネタだけど)この発表中に紹介されていた問題の答えを変えちゃうような仕様変更の企みが<a class="keyword" href="http://d.hatena.ne.jp/keyword/IRC">IRC</a>チャットのほうで高速で進行していた。問題作るほうも受けるほうも大変だな。</p><br /> <p>以下、Lightning Talksの気になったやつだけ。やっぱこれ書くの疲れるなあ。</p> </div> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>とODEで<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D4%A5%BF%A5%B4%A5%E9%C1%F5%C3%D6">ピタゴラ装置</a> (佐々木竹充)</h4> <p>これはおもしろかった。物理シミュレーションエンジンであるODEを<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>からあやつって、仮想空間上でのプレゼン。キューブに文章がはりつけてあるので、スライドを送る代わりに空間内を<a class="keyword" href="http://d.hatena.ne.jp/keyword/Wii%A5%EA%A5%E2%A5%B3%A5%F3">Wiiリモコン</a>で移動してキューブに注目することでプレゼンがすすむ。さらに空間自体がひとつの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D4%A5%BF%A5%B4%A5%E9%C1%F5%C3%D6">ピタゴラ装置</a>になっていて、最後に「どーん」と崩壊するキューブ群の中に最後のまとめ文章がしこんである、という趣向。実際には最後にまとめのキューブを探せなくてちゃんと終われなかったのもいい感じ。<br /> 欲をいえばこれは、去年のLL Spiritでの「君ならどうかく」(プレゼンテーションソフト編)のセッション<a href="#f-fcc78394" name="fn-fcc78394" title="http://d.hatena.ne.jp/sshi/20070805/p1を参照のこと">*2</a>で見たかった!もうちょっとプレゼン向きの操作<a href="#f-6a272617" name="fn-6a272617" title="選択したキューブに自動的にずずっとよっていって文章が読みやすい位置に勝手にあわせるとか、あるいはプレゼンのための移動コースをあらかじめしこんでおけるとか、何階層かのレイヤーのスムーズなズーミングとか">*3</a>がそろってれば十分新たなプレゼン手法として確立すると思う。…あーでも物理シミュレーションにする意味はあんまりないかな…。</p> </div> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>で楽しむフォークプログラミング (Webアプリじゃないよ蝙) (高山征大 (mootoh))</h4> <p>個人的に楽しみにしていたLTふたつのうちのひとつ。<br /> デスクトップ上で<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>を使うと結構簡単にリッチなUIをいじれるのでかなり楽しい、最近はWebアプリを書いて楽しむ人が多いみたいだけど、もうWebアプリいっぱいあるし、こういう楽しみ方はどうですか的なお話。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/MacOS">MacOS</a>上で<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>でいろんな<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8">スクリプト</a>を書いていろんなサービスのUIを拡張してる事例が紹介されてなかなか楽しめた。でも画像が動くのを想像するのは無理!残念。あと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Windows">Windows</a>ユーザーとしては<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>固有の話がどれくらいだったのかが気になるところ。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>買えってことかなあ。</p> </div> <div class="section"> <h4>toRubyでみつけた <a class="keyword" href="http://d.hatena.ne.jp/keyword/Rubyist">Rubyist</a>人生再出発 (池澤一廣)</h4> <p>どうにも越えられない<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>の壁に悩んでいたところ、近場に住んでると判明した咳さんにおもいきって出してみたメールがきっかけでtoRuby(勉強会)の企画が持ちあがり、<a class="keyword" href="http://d.hatena.ne.jp/keyword/irb">irb</a>を通したオブジェクトの視覚化等々を教えてもらうことによって<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>の見方が変わって壁を越えられたというお話。<br /> わかんない話をわかんないまま諦めないで、駄目元でやってみた行動が次の理解へ繋がった、といういい話だった。<br /> にしても、こういう人に敷居が高いとおもわれてしまうMLというシステムはすこし哀しい。もうちょい緩い場の提供はできないものか。</p> </div> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby%201.9">Ruby 1.9</a> on <a class="keyword" href="http://d.hatena.ne.jp/keyword/Rails">Rails</a> 2.1による新時代DBプログラミング (松田明)</h4> <p>えーと、結局DBからデータをひっぱってくるのは集合演算にすぎなくて、<a class="keyword" href="http://d.hatena.ne.jp/keyword/SQL">SQL</a>はそれを表現するにはちょっとつらい。Rails2.1では集合演算を抽象化して自由に組みあわせられるなんとかいうメソッド(name_scopeでしたっけ?)があるのでそれを使いましょう、という話。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/RDB">RDB</a>へのクエリはもともと(思想的には)集合演算だろう、とか思ってしまったけど、今頃こんな話がけっこう評判よく紹介されるのは、今迄は<a class="keyword" href="http://d.hatena.ne.jp/keyword/SQL">SQL</a>の制約がそれを許さなかった、ということなんだろうか。<a class="keyword" href="http://d.hatena.ne.jp/keyword/SQL">SQL</a>あんまり詳しくないのでよくわからない。<br /> <br /> </p> </div> <div class="section"> <h4>テストベースコードリーディングのすすめ (遠藤侑介)</h4> <p>楽しみにしていたLTふたつのうちのふたつ目。テストの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AB%A5%D0%A5%EC%A5%C3%A5%B8">カバレッジ</a>を上げる、というのを目的に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9">ソースコード</a>を読みすすめる手法の紹介。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AB%A5%D0%A5%EC%A5%C3%A5%B8">カバレッジ</a>をあげるにはどうしてもコードをちゃんと読まざるをえず、しかも読んだ結果としてテストコードが書ければ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AB%A5%D0%A5%EC%A5%C3%A5%B8">カバレッジ</a>のパーセンテージが上昇するのでやってて達成感がある、とのこと。<br /> たしかに。正直なところ真面目なのかネタなのかわからなかったが、がしがしバグを発見してテストを量産して結果的に<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>のコミッタになった遠藤さんが言うと説得力があるなあ。でもそんな簡単にテストコード書けるもん?「テストの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AB%A5%D0%A5%EC%A5%C3%A5%B8">カバレッジ</a>を上げる」ってさらっと言ってたけど、それ自体の敷居が結構高いような気がしてならない…。<a class="keyword" href="http://d.hatena.ne.jp/keyword/PHP">PHP</a>で試してみるべきなのか…。<br /> <br /> </p> </div> <div class="section"> <h4>Industrial-Designed Language: <a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a> (斎藤ただし)</h4> <p>最初からの予定だったのか、突然のトラブルだったのか、スライドなしのLT。つまりしゃべくるだけ。しゃべくるだけなのに時間にきっちりおさめたのはすごい。</p><br /> <p>ふー。疲れた。あさいちがartonさんの話なので明日は遅刻するわけにはいかないのだが、何時に起きればいいのかな…。つくば遠いよー。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-687e8e02" name="f-687e8e02" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="http://idm.s9.xrea.com/ratio/2007/05/13/000621.html">http://idm.s9.xrea.com/ratio/2007/05/13/000621.html</a></span></p> <p class="footnote"><a href="#fn-fcc78394" name="f-fcc78394" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="http://d.hatena.ne.jp/sshi/20070805/p1">http://d.hatena.ne.jp/sshi/20070805/p1</a>を参照のこと</span></p> <p class="footnote"><a href="#fn-6a272617" name="f-6a272617" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">選択したキューブに自動的にずずっとよっていって文章が読みやすい位置に勝手にあわせるとか、あるいはプレゼンのための移動コースをあらかじめしこんでおけるとか、何階層かのレイヤーのスムーズな<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BA%A1%BC%A5%DF%A5%F3%A5%B0">ズーミング</a>とか</span></p> </div> sshi RubyKaigi2008 hatenablog://entry/17680117127024678799 2008-06-20T00:00:00+09:00 2019-04-12T20:04:33+09:00 超狭い範囲の観測によると0th Dayからかなり盛り上ってるみたいですね。起きられたら明日から行く予定。 <p>超狭い範囲の観測によると0th Dayからかなり盛り上ってるみたいですね。起きられたら明日から行く予定。</p> sshi 僕たちの終末 hatenablog://entry/17680117127024678888 2008-05-30T00:00:00+09:00 2019-04-12T20:04:34+09:00 僕たちの終末 (ハルキ文庫)作者: 機本伸司出版社/メーカー: 角川春樹事務所発売日: 2008/05/15メディア: 文庫購入: 1人 クリック: 52回この商品を含むブログ (47件) を見る読んでもうた。劇場版「デビルマン」や「Ruby-DB ウェブデザイン」級。 ニセ科学を観察している気分になった。 宇宙船をつくる話なので、それなりな用語が繰り出されることは繰り出されるんだけど、肝心なそれらの具体化の部分が御都合主義的な妄想でつながれていって、山積する問題があたかも解決したかのようにごまかされながらいつの間にか我侭ニートな主人公の思いどおりに宇宙船が完成して、AIとの問答のあげくハッピ… <p><div class="hatena-asin-detail"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4758433356/hatena-blog-22/"><img src="https://images-fe.ssl-images-amazon.com/images/I/51wfYnJeVPL._SL160_.jpg" class="hatena-asin-detail-image" alt="僕たちの終末 (ハルキ文庫)" title="僕たちの終末 (ハルキ文庫)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4758433356/hatena-blog-22/">僕たちの終末 (ハルキ文庫)</a></p><ul><li><span class="hatena-asin-detail-label">作者:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%CB%DC%BF%AD%BB%CA">機本伸司</a></li><li><span class="hatena-asin-detail-label">出版社/メーカー:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%B3%D1%C0%EE%BD%D5%BC%F9">角川春樹</a>事務所</li><li><span class="hatena-asin-detail-label">発売日:</span> 2008/05/15</li><li><span class="hatena-asin-detail-label">メディア:</span> 文庫</li><li><span class="hatena-asin-detail-label">購入</span>: 1人 <span class="hatena-asin-detail-label">クリック</span>: 52回</li><li><a href="http://d.hatena.ne.jp/asin/4758433356/hatena-blog-22" target="_blank">この商品を含むブログ (47件) を見る</a></li></ul></div><div class="hatena-asin-detail-foot"></div></div>読んでもうた。劇場版「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C7%A5%D3%A5%EB%A5%DE%A5%F3">デビルマン</a>」や「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>-DB ウェブデザイン」級。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A5%BB%B2%CA%B3%D8">ニセ科学</a>を観察している気分になった。<br /> 宇宙船をつくる話なので、それなりな用語が繰り出されることは繰り出されるんだけど、肝心なそれらの具体化の部分が御都合主義的な妄想でつながれていって、山積する問題があたかも解決したかのようにごまかされながらいつの間にか我侭<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A1%BC%A5%C8">ニート</a>な主人公の思いどおりに宇宙船が完成して、AIとの問答のあげくハッピーエンド。</p> sshi 「コンパスとプログラム」 hatenablog://entry/17680117127024679043 2008-05-24T00:00:00+09:00 2019-04-12T20:04:36+09:00 最近、新しいコンパスを買った。きれいな円を描く奴、ではなく方位磁石。道に迷ったときのため、じゃなくて自作のプログラムのデバッグ用。 Junkyard Review GoogleSatTrackで夢の場所への切符を手にいれた柏井さんの、プログラミングに関するすごくいい文章。僕がいままで読んできたプログラミング関連の話の中で一番素晴しい。プログラミングの喜びと感動が全てここに書いてある。 <blockquote cite="http://www.lizard-tail.com/isana/review/view.php?search_id=20071110194347"> <p>最近、新しいコンパスを買った。</p><p>きれいな円を描く奴、ではなく方位磁石。道に迷ったときのため、じゃなくて自作のプログラムの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C7%A5%D0%A5%C3%A5%B0">デバッグ</a>用。</p> <cite><a href="http://www.lizard-tail.com/isana/review/view.php?search_id=20071110194347">Junkyard Review</a></cite> </blockquote> <p><a href="http://www.lizard-tail.com/isana/tracking/">GoogleSatTrack</a>で<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CC%B4%A4%CE%BE%EC%BD%EA%A4%D8">夢の場所へ</a>の切符を手にいれた柏井さんの、プログラミングに関するすごくいい文章。僕がいままで読んできたプログラミング関連の話の中で一番素晴しい。プログラミングの喜びと感動が全てここに書いてある。</p> sshi Tech talk: Gauche Scheme hatenablog://entry/17680117127024679141 2008-05-23T00:00:00+09:00 2019-04-12T20:04:37+09:00 http://youtube.com/watch?v=WEBOdWyGE3E sumimさんのところ(http://d.hatena.ne.jp/sumim/20080522/p1)より。shiroさんがGoogleでGaucheについて話している動画をみた。 Gauche バイトコードへのコンパイラ自身がGaucheで書かれてるのはやっぱりおもしろいなあ。型推論の話もそうだけど、途中や最後のほうで嬉々として話している最適化のアイデアのことごとくが「〜(してやる|の情報がある)とそこを最適化するGaucheのマクロがいれられるんで」という言葉で締め括られてるのが格好よすぎます。「Ianのやつ」… <p><a href="http://youtube.com/watch?v=WEBOdWyGE3E">http://youtube.com/watch?v=WEBOdWyGE3E</a><br /> sumimさんのところ(<a href="http://d.hatena.ne.jp/sumim/20080522/p1">http://d.hatena.ne.jp/sumim/20080522/p1</a>)より。</p><p>shiroさんが<a class="keyword" href="http://d.hatena.ne.jp/keyword/Google">Google</a>で<a class="keyword" href="http://d.hatena.ne.jp/keyword/Gauche">Gauche</a>について話している動画をみた。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Gauche">Gauche</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%C8%A5%B3%A1%BC%A5%C9">バイトコード</a>への<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B3%A5%F3%A5%D1%A5%A4%A5%E9">コンパイラ</a>自身が<a class="keyword" href="http://d.hatena.ne.jp/keyword/Gauche">Gauche</a>で書かれてるのはやっぱりおもしろいなあ。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%BF%BF%E4%CF%C0">型推論</a>の話もそうだけど、途中や最後のほうで嬉々として話している最適化のア<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%C7%A5%A2">イデア</a>のことごとくが「〜(してやる|の情報がある)とそこを最適化する<a class="keyword" href="http://d.hatena.ne.jp/keyword/Gauche">Gauche</a>のマクロがいれられるんで」という言葉で締め括られてるのが格好よすぎます。</p><p>「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ian%A4%CE%A4%E4%A4%C4">Ianのやつ</a>」も一回ちゃんと調べるか。</p> sshi RubyKaigi2008 hatenablog://entry/17680117127024679218 2008-05-11T00:00:00+09:00 2019-04-12T20:04:38+09:00 http://jp.rubyist.net/RubyKaigi2008/ チケット買ってみた。今年はキャパ何人くらいなんだろ。 <p><a href="http://jp.rubyist.net/RubyKaigi2008/">http://jp.rubyist.net/RubyKaigi2008/</a><br /> チケット買ってみた。今年はキャパ何人くらいなんだろ。</p> sshi プログラミングの思い出 hatenablog://entry/17680117127024679315 2008-04-27T00:00:00+09:00 2019-04-12T20:04:39+09:00 http://www.kmonos.net/wlog/84.html#_1054080427 とか http://d.hatena.ne.jp/haru-s/20080217 を見てなんとなく思いだしたことを書きとめておく。 コンピュータとの出会い 人生で最初にふれたプログラマブルなコンピュータは、カシオのポケットコンピューター。たぶんこれ。 ってカシオじゃないやSEIKOだ。そうだSEIKOだ。MC-2200。感熱プリンタとマイクロテープドライブが一体化した拡張デバイスがついてて、プリンタやテープを使うには電卓みたいな本体を土台みたいになってるそのデバイスにがちゃっと埋めこんで使う。 本体に… <p><a href="http://www.kmonos.net/wlog/84.html#_1054080427">http://www.kmonos.net/wlog/84.html#_1054080427</a> とか<br /> <a href="http://d.hatena.ne.jp/haru-s/20080217">http://d.hatena.ne.jp/haru-s/20080217</a> を見てなんとなく思いだしたことを書きとめておく。</p> <div class="section"> <h4>コンピュータとの出会い</h4> <p>人生で最初にふれた<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE%A5%D6%A5%EB">プログラマブル</a>なコンピュータは、カシオの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%B1%A5%C3%A5%C8%A5%B3%A5%F3%A5%D4%A5%E5%A1%BC%A5%BF%A1%BC">ポケットコンピューター</a>。たぶんこれ。<br /> <a href="http://www.pocketmuseum.com/images/seiko/mc-2200.jpg" class="http-image" target="_blank"><img src="http://www.pocketmuseum.com/images/seiko/mc-2200.jpg" class="http-image" alt="http://www.pocketmuseum.com/images/seiko/mc-2200.jpg" width="300"></a><br /> <a href="http://www.pocketmuseum.com/images/seiko/mp-220.jpg" class="http-image" target="_blank"><img src="http://www.pocketmuseum.com/images/seiko/mp-220.jpg" class="http-image" alt="http://www.pocketmuseum.com/images/seiko/mp-220.jpg" width="300"></a><br /> ってカシオじゃないやSEIKOだ。そうだSEIKOだ。<a href="http://www.pocketmuseum.com/html/seiko/mc-2200_e.html">MC-2200</a>。感熱プリンタとマイクロテープドライブが一体化した拡張デ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>がついてて、プリンタやテープを使うには電卓みたいな本体を土台みたいになってるそのデ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>にがちゃっと埋めこんで使う。<br /> 本体には見てのとおりたった一行分の、しかもアルファベットしか表示できない画面しかないわけだが、もぐらたたきとか、迷路探索ゲームとか、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%BF%A1%BC%A5%C8%A5%EC%A5%C3%A5%AF">スタートレック</a>ゲームとかが付属していていろいろ遊べた。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%BF%A1%BC%A5%C8%A5%EC%A5%C3%A5%AF">スタートレック</a>はなんといちいち画面<a href="#f-f0dbce3c" name="fn-f0dbce3c" title="9x9くらいのフィールドを表現するマトリックス">*1</a>をプリンタに打ちだして遊ぶようになってた。<br /> 付属っていってるのはおまけのマイクロテープにはいってるので、いちいちピーピーガーガーいわせながらプログラムをロードしないといけない。たしかでかいゲーム(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%BF%A1%BC%A5%C8%A5%EC%A5%C3%A5%AF">スタートレック</a>とか)はロードだけで五分くらいかかったと思う。<br /> あ、いや違ったかも。入門用のテキストにゲームプログラムが載っていて、それを打ちこんでテープに保存してたのかも。がんばって巨大なプログラム打ちこんだのにテープへの保存に失敗していて全部パァになったという経験もあります。でも電源切っただけではメモリはクリアされなかったんじゃないかな<a href="#f-0509ab2e" name="fn-0509ab2e" title="ちょっと後になってパソコンの入門漫画を読んだ時に、電源切ると全部消えちゃうので注意とか書いてあって驚いた記憶がある">*2</a>。自分でプログラム作ってる時はいちいち途中で保存しなくてもよかったので便利だったような。<br /> テープに保存する時にも便利な<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A1%BC%A5%D5%A5%A7%A5%A4%A5%B9">インターフェイス</a>なんてものはない。普通のラジカセについてるような再生や録音や巻き戻しや早送りボタンがついてる。このへんの操作は手動。つまり、保存するときは録音ボタン押しこんでから本体にCSAVE命令を発行しないといけないし、読みこむ時は本体のCLOAD命令を発行してから再生ボタンを押しこまないといけない。あ、よくみるとテープドライブの近くに「REMOTE」って書いたオンオフスイッチがあるな。LOADする時は同期して再生してくれる機能はあったかもしんない。<br /> 複数をプログラムを一本のテープに保存することもできるんだけど、それぞれのプログラムをどこからに録音したのかは自分で覚えとく必要がある。どうやって覚えとくかというと、テープを巻き戻した状態でテープカウンタを0にしておいて録音開始したカウンタの値をメモっておくわけだ。当然上書きしてしまうとアウトなので、必然的に終了場所もメモっておかないといけない。<br /> いやー書いてて、今の技術とのあまりの落差に驚きますね。</p> </div> <div class="section"> <h4>最初のプログラミングの思い出</h4> <p>この<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%B1%A5%B3%A5%F3">ポケコン</a>の持ち主は親戚の叔父さんで、当時(小学生低学年くらいか)はよく遊びにいっていたので、その時にいじっていた。とはいえ、最初はプログラミングの意味をさっぱりわかってなかった。断片的にこんな話を覚えている。<br /> 僕はよくこの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%B1%A5%B3%A5%F3">ポケコン</a>の「もぐらたたきゲーム」で遊んでいた。このもぐらたたきゲームは、もぐらがあちこちに顔を出すようなゲームじゃなくて、単にアルファベット一文字が画面に表示されるだけ。1〜2秒くらいの制限時間内にそのアルファベットのキーを押せれば叩いたことになるわけだ。それを15回繰り返すと叩いた数だけが点数になって終了。15点満点。最後に得点に応じたメッセージがでる。2点くらいしかとれないと「ZENZEN DAME」とか、15点満点とれると「ANATAHA TENSAI DESU!!」とか。日本語は表示されないから全部ローマ字。今思えばなんの工夫もないつまらないゲームだけど、当時の僕は何点だとどのメッセージがでるのか全部暗記するくらい遊んだ。<br /> 夏休みのある日、叔父さんのところに遊びにきていた従兄弟達とみんなでこのゲームをやってた。得点ごとのメッセージを覚えている僕は、メッセージが表示される前に何が表示されるかを言い当てることができた。従兄弟連中に「すごいすごい」言われて、調子にのった僕は、このゲームに一番詳しいのは自分だ、すごいだろ、というノリで叔父さんにまで「何点でどのメッセージがでるかわかるよ!!3点までだとこれで〜」とか説明しだした。叔父さんは笑いながら「ああ、そりゃ俺もわかるよ。だって全部俺が打ちこんだんだもん」と答えた。</p><p>最初は意味がわからなくて軽くショックだった。「ゲームの動作は全てプログラムとして記述されていて、それを書いた人はゲーム中に何をどうするとどこがどうなるのかを完全に知っている」ということが全くわかってなかったから。このゲームのことは自分が一番よく知っているとばかり思っていた。ところが、今まで自分ががんばって遊んでいたゲームの全てを叔父さんはもう既に知っている。順序としては逆で、叔父さんがBASICで打ちこんだものだけが<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%B1%A5%B3%A5%F3">ポケコン</a>上で動作している。それがつまりプログラミングだ。プログラミングすげえ。</p><p>今にして思えば、あの時の叔父さんの言葉が、プログラミングとゲームの関係の理解の第一歩だったし、僕の中の大きなターニングポイントだったんだろう。この言葉でなんとなく仕組みを理解した僕はプログラミングをはじめた。<br /> 最初にやったのは、もぐらたたきゲームで最後に表示されるメッセージを書きかえたり、制限時間を変更することだったかな。その後もいろいろ作ってみたりした。かけ算の筆算を解いてくれるプログラムとかも作った。電卓だとかけ算の計算結果しかわからないけど、計算途中も含んだ筆算全体の形をプリントアウトしてくれるやつ。計算ドリルが大嫌いだったんです。結局数式入力してプリントアウトさせるより自分で解いたほうがはやかったので、ほとんど使わなかったけど。後期(1、2年後だったかもしれない)には結構な時間かけて入門テキストにのってた迷路探索ゲームの概要をなんとなーく理解した。2次元配列という概念はここらへんで学んだはず。</p><p>そんな感じで僕の中での<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%B1%A5%B3%A5%F3">ポケコン</a>の時代は終了。次に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE%A5%D6%A5%EB">プログラマブル</a>なコンピュータと再会するのは、中学の友達の家にあった<a class="keyword" href="http://d.hatena.ne.jp/keyword/MSX">MSX</a>だったわけだけど、これはまた別の機会に書くかも書かないかも。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-f0dbce3c" name="f-f0dbce3c" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">9x9くらいのフィールドを表現する<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%C8%A5%EA%A5%C3%A5%AF%A5%B9">マトリックス</a></span></p> <p class="footnote"><a href="#fn-0509ab2e" name="f-0509ab2e" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">ちょっと後になってパソコンの入門漫画を読んだ時に、電源切ると全部消えちゃうので注意とか書いてあって驚いた記憶がある</span></p> </div> sshi コンフィダント・絆 hatenablog://entry/17680117127024679461 2008-04-05T00:00:00+09:00 2019-04-12T20:04:40+09:00 http://www.parco-play.com/web/play/les/ 三谷幸喜の演劇DVDを見た。「コンフィダント・絆」という2007年春に上演されたもの。 ゴッホ、ゴーギャン、スーラ、シュフネッケルという画家達と、ルイーズという一人のモデル、あわせて5人がひとつのアトリエで繰り広げるお話。 頼まれたついでに自分もDVDを買ってみたので、先入観なく見たのもよかったのかもしれないが、いままで見た三谷幸喜作品の中で一番おもしろかった。笑いはいつも通り適度にまぶされているし、なにより終盤の破壊力がすごすぎる。一回見て笑い泣き、さらにコメンタリー聞きながら見た二回目でも泣き笑い。堀内敬子とい… <p><a href="http://www.parco-play.com/web/play/les/">http://www.parco-play.com/web/play/les/</a><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%BB%B0%C3%AB%B9%AC%B4%EE">三谷幸喜</a>の演劇DVDを見た。「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B3%A5%F3%A5%D5%A5%A3%A5%C0%A5%F3%A5%C8%A1%A6%E5%AB">コンフィダント・絆</a>」という2007年春に上演されたもの。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B4%A5%C3%A5%DB">ゴッホ</a>、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B4%A1%BC%A5%AE%A5%E3%A5%F3">ゴーギャン</a>、スーラ、シュフネッケルという画家達と、ルイーズという一人のモデル、あわせて5人がひとつのアトリエで繰り広げるお話。<br /> 頼まれたついでに自分もDVDを買ってみたので、先入観なく見たのもよかったのかもしれないが、いままで見た<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BB%B0%C3%AB%B9%AC%B4%EE">三谷幸喜</a>作品の中で一番おもしろかった。笑いはいつも通り適度にまぶされているし、なにより終盤の破壊力がすごすぎる。一回見て笑い泣き、さらにコメンタリー聞きながら見た二回目でも泣き笑い。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%CB%D9%C6%E2%B7%C9%BB%D2">堀内敬子</a>という人もすごいですね。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%E0%C3%C4%BB%CD%B5%A8">劇団四季</a>の時代は全く知らないんだけど、「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CD%AD%C4%BA%C5%B7%A5%DB%A5%C6%A5%EB">有頂天ホテル</a>」ではじめて見た時には若いバイトにしか見えず、「<a class="keyword" href="http://d.hatena.ne.jp/keyword/12%BF%CD%A4%CE%CD%A5%A4%B7%A4%A4%C6%FC%CB%DC%BF%CD">12人の優しい日本人</a>」では普通のおばさんにしか見えなかった。<br /> その二つのギャップのすごさが気になっていたのも「コンフィダント」を買ってみた理由だったんだけど、やっぱりよかった。天真爛漫な若いモデルと、老婆の二つが見事に演じられわけていて、歌もすばらしい。さらに出演者インタビューだとこれがまた全然違う顔にみえる。まさに"憑依型"。ファンになってしまいました。</p><p>というわけで、いろいろ満喫して満足。</p> sshi うただのあたらしいやつ hatenablog://entry/17680117127024679571 2008-03-30T00:00:00+09:00 2019-04-12T20:04:41+09:00 そういえばこれ買った。HEART STATIONアーティスト: 宇多田ヒカル出版社/メーカー: EMI Records Japan発売日: 2008/03/19メディア: CD購入: 7人 クリック: 681回この商品を含むブログ (507件) を見る最初の三曲が好きすぎるのでループ再生中。 <p>そういえばこれ買った。<div class="hatena-asin-detail"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0012OR6YQ/hatena-blog-22/"><img src="https://images-fe.ssl-images-amazon.com/images/I/51xy4vZmIHL._SL160_.jpg" class="hatena-asin-detail-image" alt="HEART STATION" title="HEART STATION"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0012OR6YQ/hatena-blog-22/">HEART STATION</a></p><ul><li><span class="hatena-asin-detail-label">アーティスト:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%B1%A7%C2%BF%C5%C4%A5%D2%A5%AB%A5%EB">宇多田ヒカル</a></li><li><span class="hatena-asin-detail-label">出版社/メーカー:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/EMI%20Records%20Japan">EMI Records Japan</a></li><li><span class="hatena-asin-detail-label">発売日:</span> 2008/03/19</li><li><span class="hatena-asin-detail-label">メディア:</span> CD</li><li><span class="hatena-asin-detail-label">購入</span>: 7人 <span class="hatena-asin-detail-label">クリック</span>: 681回</li><li><a href="http://d.hatena.ne.jp/asin/B0012OR6YQ/hatena-blog-22" target="_blank">この商品を含むブログ (507件) を見る</a></li></ul></div><div class="hatena-asin-detail-foot"></div></div>最初の三曲が好きすぎるのでループ再生中。</p> sshi おおきく振りかぶって hatenablog://entry/17680117127024679677 2008-03-08T00:00:00+09:00 2019-04-12T20:04:43+09:00 おおきく振りかぶって (1)作者: ひぐちアサ出版社/メーカー: 講談社発売日: 2004/03/23メディア: コミック購入: 1人 クリック: 183回この商品を含むブログ (617件) を見るめずらしく高校野球漫画に手をだしてみたらこれがものすごくおもしろかった。中学時代、速球も投げられず「ハリボテのエース」として一勝もあげられなかった主人公。チームメイトからも全く信頼されず、そのせいで自信のかけらもなく卑屈な卑屈な性格に。でも彼には、ただ努力のみで身につけた驚異的な制球力と、普通のストレートとは違い微妙に浮きあがる"まっすぐ"という武器があった。高校にはいった彼はやはり野球を捨てきれず… <p><div class="hatena-asin-detail"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4063143422/hatena-blog-22/"><img src="https://images-fe.ssl-images-amazon.com/images/I/514KFX5DRTL._SL160_.jpg" class="hatena-asin-detail-image" alt="おおきく振りかぶって (1)" title="おおきく振りかぶって (1)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4063143422/hatena-blog-22/">おおきく振りかぶって (1)</a></p><ul><li><span class="hatena-asin-detail-label">作者:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%D2%A4%B0%A4%C1%A5%A2%A5%B5">ひぐちアサ</a></li><li><span class="hatena-asin-detail-label">出版社/メーカー:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li><li><span class="hatena-asin-detail-label">発売日:</span> 2004/03/23</li><li><span class="hatena-asin-detail-label">メディア:</span> コミック</li><li><span class="hatena-asin-detail-label">購入</span>: 1人 <span class="hatena-asin-detail-label">クリック</span>: 183回</li><li><a href="http://d.hatena.ne.jp/asin/4063143422/hatena-blog-22" target="_blank">この商品を含むブログ (617件) を見る</a></li></ul></div><div class="hatena-asin-detail-foot"></div></div>めずらしく<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%E2%B9%BB%CC%EE%B5%E5">高校野球</a>漫画に手をだしてみたらこれがものすごくおもしろかった。</p><p>中学時代、速球も投げられず「ハリボテのエース」として一勝もあげられなかった主人公。チームメイトからも全く信頼されず、そのせいで自信のかけらもなく卑屈な卑屈な性格に。でも彼には、ただ努力のみで身につけた驚異的な制球力と、普通のストレートとは違い微妙に浮きあがる"まっすぐ"という武器があった。高校にはいった彼はやはり野球を捨てきれず、全員が一年生という新設野球部に入部し…というお話。</p><p>お話じたいは、ヘタレな主人公がまわりの力をかりながら成長していくっていうありがちな話なんだけど、おもしろいのは描写の細かさ。とにかく細かい漫画。野球のルールや練習方法なんかの理屈も細かいし<a href="#f-48da5a07" name="fn-48da5a07" title="おまけ漫画でインフィールドフライのルールを解説してる漫画ははじめてみたよ">*1</a>、心理描写も細やか。そしてすごいのはその細かさがシームレスに試合に直結してること。<br /> お互いのチームの監督やピッチャー、キャッチャー、バッターがその時に何を考えてるかが丁寧に描き分けられていて(そして大抵は御互いの考えはくい違っている)、それらがひとつひとつ積み重なることによってピンチやチャンスが構成されていく。いやすごいです。描写の密度は高いけど流れはよいので読みやすい。<br /> この書き方だと土台がしっかりしているので勝敗はどうなってもおもしろさには関係ない気がする。いや多分それは嘘なんだけど、そういうふうに感じさせる漫画でした。漫画なのに「筋書のないドラマ」を見ている気になったよ。</p> <div class="section"> <h4>ところで</h4> <p>この漫画を読むきっかけは、誰かがブログで書いてたのを<a class="keyword" href="http://d.hatena.ne.jp/keyword/LDR">LDR</a>で読んでおもしろそうだと思ったことだったんだけど、その記事をもう一度探そうとしてもみつけられなくなってしまった。書いてあった文章までは正確に思い出せないし、漫画のタイトルでぐぐってもいっぱいヒットしすぎて探せないし、どうしたもんだか。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/RSS%A5%EA%A1%BC%A5%C0%A1%BC">RSSリーダー</a>に既読分の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C1%B4%CA%B8%B8%A1%BA%F7">全文検索</a>機能つかないかな。</p><p>あ、みつかった。<a class="keyword" href="http://d.hatena.ne.jp/keyword/google">google</a>偉い、という結論でいいのかなこれは。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-48da5a07" name="f-48da5a07" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">おまけ漫画でインフィールドフライのルールを解説してる漫画ははじめてみたよ</span></p> </div> sshi