<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description></description><title>卜部昌平のあまりreblogしないtumblr</title><generator>Tumblr (3.0; @shyouhei)</generator><link>http://shyouhei.tumblr.com/</link><item><title>【告知】12/11に島根大学で喋ります</title><description>&lt;p&gt;島根大学の野田先生に光栄にもお誘いをいただきました。きたる12/11(金曜日)に、共通教養科目「Rubyプログラミング」の時間を一コマいただけることになりました(シラバス: &lt;a href="http://gakumuweb1.jn.shimane-u.ac.jp/shinwa/campus?func=function.syllabus.refer.nocheck&amp;nendo=2009&amp;j_s_cd=90&amp;j_cd=HZ30022"&gt;http://gakumuweb1.jn.shimane-u.ac.jp/shinwa/campus?func=function.syllabus.refer.nocheck&amp;nendo=2009&amp;j_s_cd=90&amp;j_cd=HZ30022&lt;/a&gt; )。島大のみなさんはよろしくおねがいします。島大のみなさん以外が来てもいいかはよくわかりません。立地条件の関係で他大の学生がテンプラすんのは難しいとは思いますが。&lt;/p&gt;

&lt;p&gt;内容はシラバスには一応「Rubyバージョンの発展とRuby1.8」と書いてあるものの、さすがに90分もあればRubyのバージョン番号を解説するだけでは余るはずなので、もうちょっと何か膨らませないとなあと思案中です。でもひょっとして下手に膨らませるよりも手短に終わったほうが学生の受けはいいのだろうか? 悩ましいです。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/252205611</link><guid>http://shyouhei.tumblr.com/post/252205611</guid><pubDate>Sun, 22 Nov 2009 05:37:03 +0900</pubDate></item><item><title>秋葉原駅のステンドグラス。ここまで駅壊してもまだ残ってるってのは何か重要だから残してるんだろうか? 近代化遺産とか?</title><description>&lt;img src="http://10.media.tumblr.com/tumblr_ktaf4xDTGX1qzt98vo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;秋葉原駅のステンドグラス。ここまで駅壊してもまだ残ってるってのは何か重要だから残してるんだろうか? 近代化遺産とか?&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/248056570</link><guid>http://shyouhei.tumblr.com/post/248056570</guid><pubDate>Wed, 18 Nov 2009 13:29:21 +0900</pubDate></item><item><title>ダンジョン攻略(バリアフリー縛り)調布→川口</title><description>&lt;p&gt;というわけで一個前のエントリにあるとおり、わりと短期間で調布と川口をいったりきたりすることになった。独り身の引越なのでキャリーでごろごろ運べばいいかなとおもってやったみたのだが、ともかく駅が面倒である。いかに階段を使わずに移動するかを考えるのはパズルのようで楽しくもあったが、ときにどう進めばよいか分からず案内図とにらめっこすることもあった。正直この知識は後世のために伝えていくべきなのではないかという思いを持ったので、とりあえずここで公開してみる。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;調布駅ダンジョン&lt;/h3&gt;

&lt;p&gt;&lt;b&gt;調布駅ダンジョン&lt;/b&gt;はこの種のダンジョンとしては標準的か、いっそ小さい部類に入る。かつて調布駅はホームまでの通路が地下で、階段でしかアクセスできなかったので、いきなり出だしで詰んでしまうところだったのだが、最近の工事でエレベーターがついた。大変喜ばしい。また京王線の駅には「地上までのバリアフリー主要ルート」とかいうのが設定されており、これはいきなりダンジョン攻略図が表示されているようなもので、とても助かるのでぜひ利用しよう。駅構内でえんじ色の「ごあんない」の看板に書いてあるぞ(&lt;a href="http://www.keio.co.jp/train/station/station_map/index2.html"&gt;Webからも「車いすをご利用のお客様の移動経路」として確認できる&lt;/a&gt;)。

&lt;/p&gt;
&lt;h3&gt;新宿駅ダンジョン(前半)&lt;/h3&gt;

&lt;p&gt;おまえらもご存知のとおり、&lt;b&gt;新宿駅ダンジョン&lt;/b&gt;はウメダ・メイエキ・ヤエスの日本三大地下ダンジョンとも並び称される、本邦屈指のダンジョン複合施設である。ここは考えなしに突き進んでしまうとバリアフリー経路はおろか自分の所在すら分からなくなってしまう。最初から綿密な計画でもって挑みたい。&lt;/p&gt;

&lt;p&gt;とはいえ、新宿駅のダンジョン群の中でも最初に遭遇する、&lt;b&gt;京王線新宿駅ダンジョン&lt;/b&gt;を突破するのは実はそんなに難しくない。というのも例の「車いすをご利用のお客様の移動経路」があるからだ。また京王線新宿駅には何か所か改札があるが、じつはそれらはどれも&lt;b&gt;小田急エース南館ダンジョン&lt;/b&gt;と&lt;b&gt;京王モールダンジョン&lt;/b&gt;で相互に水平移動可能なので、間違えてもリカバー可能である。恐れずに進もう。ただし小田急エースや京王モールだって新宿駅のダンジョン群を構成する施設であるから、それなりの規模を持っており、通り抜けができるからといってどこに出てもいいや、とまでは言いづらい。できるだけ無駄のない歩き方をしたい、となると、正解はJR西口方面へ抜ける改札である。でもなんで? その理由を解説するには少々の予備知識が必要だ。&lt;/p&gt;

&lt;h3&gt;乗り換えの計画&lt;/h3&gt;

&lt;p&gt;さて、いまおまえらは新宿駅にいて、目的地は川口駅だ。川口駅はJR京浜東北線しか通ってないから、最終的に京浜東北線に乗り換えるような経路を考えないといけない。実質的な選択肢は以下の4つだ。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;埼京線・湘南新宿ラインを北行して赤羽で乗り換え&lt;/li&gt;
&lt;li&gt;山手線外回りで田端で乗り換え&lt;/li&gt;
&lt;li&gt;中央総武各駅停車で秋葉原乗り換え&lt;/li&gt;
&lt;li&gt;山手線内回りの品川から田端のどっかで京浜東北線へ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ここで「中央線快速で神田で乗り換えれば?」とか思ったおまえらは健常者である。なぜなら&lt;b&gt;神田駅ダンジョン&lt;/b&gt;にはエレベーターが設置されてないのだ。神田駅で乗り換えようかと思うと、あの特徴的なクソ狭い階段を必ず昇降しないといけないのだ(エスカレーターはある。ただし上向きだけ)。なので、神田駅というのはバリアフリーの経路としては避けるべきダンジョンなのである。また「中央線快速で東京で乗り換え」は実際可能だが、&lt;b&gt;JR東京駅ダンジョン&lt;/b&gt;はそれ単体が超弩級の大ダンジョンであるのみならず、上で紹介した&lt;b&gt;八重洲地下通路群ダンジョン&lt;/b&gt;などにシームレスに連携する。ダンジョン複合施設としてみた東京駅の広さは間違いなく日本一で、迷ったときのリスクが半端じゃないので、ここでの乗り換えは避けるほうがよい。

&lt;/p&gt;
&lt;p&gt;なお「湘南新宿ラインを南行して横浜で乗り換え」とか「中央線で西国分寺に出て武蔵野線で南浦和に」とかの荒唐無稽な乗り換えははなから考慮してないのでよろしく。&lt;/p&gt;

&lt;p&gt;というわけで上記の4つの選択肢だが、実は一長一短である。一番遠回りに思える山手線内回りは、しかし京浜東北線と並走しているところでの乗り換えは圧倒的に簡単だ。逆に最短経路である埼京線は混みすぎてて、乗り降りに不安がある上に、新宿駅の埼京線ホームにバリアフリーで到達するには、&lt;b&gt;新宿駅ダンジョン&lt;/b&gt;を隅から隅まで楽しみ尽くす必要がある(つまり必ず一回以上は迷う)。&lt;/p&gt;

&lt;p&gt;そんなわけで色々考えてみると、やはり一番重要なのは新宿駅での乗り換えではないかと思う。ここさえどうにか脱出できれば、後は些細な問題ではないだろうか? そういう基準で選ぶと、一番おすすめなのは秋葉原乗り換えとなる。なぜならJR新宿駅に接続するすべての路線の中で唯一、中央線のホームだけが、東口・西口直結のエレベーターを装備しているからだ。&lt;/p&gt;

&lt;h3&gt;新宿駅ダンジョン(後半)&lt;/h3&gt;

&lt;p&gt;ダンジョン攻略に戻る。当面の目標はJR西口改札の先にある、構内唯一のエレベーターを発見することである。&lt;b&gt;京王線新宿駅ダンジョン&lt;/b&gt;からは新宿西口地下広場に出るコンコースがある。ここを目指そう。西口地下広場に出るまでにちいさい階段があるが、そこは左手にスロープが設置されているので回避可能だ。小田急を突き抜けてJR西口改札を通り、東口ではなく中央東口を目指そう。その直前のあたりが中央線快速のホームだ。左右をよく見回してエレベーターを発見しよう。&lt;/p&gt;

&lt;p&gt;見つけられない場合は(まあほとんどの人が最初はそうだと思うが)、まずBECK’Sを探すとよい。BECK’Sの前に立って中央線の方を見ると、都市迷彩で風景に溶け込むようにして、エレベーターが実は視界に入っているはずである。だまし絵を見るつもりで風景を一歩引いて眺めていると、やがて浮かんでくる。健闘を祈る。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://configure.ac/img/shinjuku.jpeg" alt="図:"/&gt;(BECK’Sの付近からエレベーターを見る。ただしこれは、とびきり見通しのよい画を撮らんとわざわざ眠い目を擦りながら始発で新宿駅に向かい、日曜の朝5:20に撮影したものであるから、このくらいの混雑度で済んでいることに注意。普段は人ごみに紛れてもっと見えづらい。)&lt;/p&gt;

&lt;p&gt;実は中央線ホームは使いでのよいホームである。わりと最近できたからか、既述の通りエレベーターの設置が豊富である上に、すべてのコンコースと両方向のエスカレーターで繋がっている。今回は荷物のサイズの関係でエスカレーターは使えなかったが、「階段はちょっと厳しいがエスカレーターならなんとか」という場合など、ともかく中央線ホームに出てしまえばそこを経由して必要な箇所にアクセスできるはずなので、ぜひ利用しよう。&lt;/p&gt;

&lt;p&gt;今回は中央線ホームを経由してさらに「新宿駅ダンジョン」を潜りつづける必要はない。ここで東京方面ゆき快速に乗ってしまうからだ。&lt;/p&gt;

&lt;h3&gt;(コラム) バリアフリー南口&lt;/h3&gt;

&lt;p&gt;新宿駅南口を利用したことがあれば、南口構内にガラス張りのオサレなエレベーターがバカスカ林立しているのを知っているかもしれない。じつは新宿駅は東口・西口コンコースより南口コンコースのほうがバリアフリーが進んでいて、南口からだとすべてのJR線ホームにエレベーターでアクセスできる。東口・西口コンコースにそもそもエレベーターはおろかエスカレーターすらほとんどないのとは好対照である。また最近できた新南口・サザンテラス口コンコースにはエレベーターはないが、こんどはすべてのJR線ホームにエスカレーターでアクセスできる。JR新宿駅はコンコースごとに不思議な特徴があるのだ。&lt;/p&gt;

&lt;p&gt;したがって南口にアクセスできればバリアフリー経路の幅は一気に広がる。&lt;b&gt;京王線新宿駅ダンジョン&lt;/b&gt;から南口まで階段を使わない移動は可能か? というと、意外なことに実は可能である。京王線の改札を出たら、そのまま&lt;b&gt;京王百貨店ダンジョン&lt;/b&gt;か&lt;b&gt;小田急百貨店ダンジョン&lt;/b&gt;のどちらかに入ってしまい、百貨店のエレベーターで1Fに昇り、そこで外の道路に出てしまうのだ。あとは&lt;b&gt;京王百貨店ダンジョン&lt;/b&gt;、&lt;b&gt;ルミネ1ダンジョン&lt;/b&gt;、&lt;b&gt;小田急ミロードダンジョン&lt;/b&gt;の前の公道を順にぐるーっと回って南口に至る。この間、坂道はあっても階段はない。&lt;/p&gt;

&lt;p&gt;ただし、とんでもなく遠回りである。&lt;b&gt;モザイク通りダンジョン&lt;/b&gt;をバリアフリーで突破できれば大幅に近道なので、やり方を知っている人はreblogなりなんなりして教えてほしい。&lt;/p&gt;

&lt;h3&gt;御茶ノ水駅ダンジョン&lt;/h3&gt;

&lt;p&gt;このダンジョンは地上に出ようとすると地獄を見るが(回りに病院とか多いんだから困ってる人は多いと思うんだがな)、地上に出ようと思いさえしなければ楽勝だ。並走する中央線から総武線に乗り換えるのは同じホームで左右に乗り換えるだけなので、なにも悩まないでいいだろう。注意するところがあるとすれば、千葉方面ゆきホームの先端のほうは段差があるので、中央線でできるだけ後ろのほうに乗ってたほうが段差を回避する必要がなくて楽とか、そのくらいだ。まあ新宿駅でエレベーターを使ったら普通に6号車に乗ってると思うから、気にしなくてよい。&lt;/p&gt;

&lt;h3&gt;秋葉原駅ダンジョン&lt;/h3&gt;

&lt;p&gt;&lt;b&gt;秋葉原駅ダンジョン&lt;/b&gt;はけっして小さくない。むしろこれほど大きい駅は島根県にはないわけで俺から見れば「東京すげー」って感じだ。しかし、新宿駅をすでにクリアしたお前らならそんなに難しく感じることはないだろう。この駅も昔は階段での上下移動が不可避だったように記憶するが、多分つくばエクスプレスができたのと前後して各ホームにエレベーターが設置され、現在はふつうにバリアフリーである。実際に乗り換えを行うときは、いったん電気街口改札をめざすとわかりやすい。改札をでてしまう直前くらいに、道の真ん中にエスカレーターがある。くれぐれも反対向きの京浜東北線に乗らないように注意。&lt;/p&gt;

&lt;h3&gt;川口駅ダンジョン&lt;/h3&gt;

&lt;p&gt;ゴールは近い。この駅の特徴としてカーブの途中にあって降りるときに列車とホームが割と離れているというのがある。俺の場合、一回キャリーのタイヤが間に挟まって危なかった。&lt;/p&gt;

&lt;p&gt;さて&lt;b&gt;川口駅ダンジョン&lt;/b&gt;はちょっと構造が&lt;b&gt;調布駅ダンジョン&lt;/b&gt;に似ている。オタっぽい言い方をすれば島式ホームの橋上駅舎だ。攻略法も一緒で、改札とホームの間に一ヶ所、そして改札外のペデストリアンデッキにあるエレベーターを基本的には昇って、降りる。シンプルな動作で脱出できるはずだ。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;まとめ&lt;/h3&gt;

&lt;p&gt;実は最初は新宿駅が通り抜けられなくてUターンするしかないんじゃないかと思った。&lt;/p&gt;

&lt;p&gt;しかし新宿駅はひどく複雑だが、一応のバリアフリー対応はなされているというのは少々驚いた。俺が小学生のころには家庭科の授業とかで「日本の社会はバリアフリーへの取り組みが遅れていて云々」とか教わったものである。ところが意外にも今回調べた限りではどうしてもNGなのは神田駅と御茶ノ水駅くらいで、それ以外はなんとかして乗り換えれるし、脱出できる。もちろん遠回りになったり不便にするところは多いが、それでもキャリーを抱えて階段を昇ることを半ば覚悟していたので、なんとか階段を使わずにいけると分かったときはうれしかった。日本のバリアフリーって案外進展してるじゃん。&lt;/p&gt;

&lt;p&gt;でもやっぱ新宿駅はひどい。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/242492948</link><guid>http://shyouhei.tumblr.com/post/242492948</guid><pubDate>Fri, 13 Nov 2009 20:57:36 +0900</pubDate></item><item><title>ルームシェアを始めたと思ったらシェアメイトが家賃滞納して逐電したので家追い出されたでござるの巻</title><description>&lt;p&gt;オフラインの知り合いの皆さんには「川口に引っ越すよー」って話はしてあったと思うのですが、元々から知人の男が川口でその前からルームシェアしてて、シェアメイトの人が大阪に行っちゃったので「一人では家賃辛いからかわりに住まないか」という話だったのですね。んで10月末くらいに布団とか着替えとか運んで、とりあえず住み始めたんですけど、どうやらその時点ですでにだいぶ滞納してたらしくて。&lt;/p&gt;

&lt;p&gt;というわけで今週いきなり家に不動産管理会社から契約解除の通告が来て「出てってね(はぁと)」と。で一緒に住んでたその男は音信不通で週末から戻ってこないし携帯にも出ないと。&lt;/p&gt;

&lt;p&gt;まあ名義人の変更とか大家さんへの挨拶とか前の家の解約とかまだぜーんぜんなんもやってなかったため、契約上は赤の他人で、俺には金銭的にもなんも不都合はなくて、俺は普通に前の調布の家に帰ります。なんだけど、元シェアメイトの親族の方とか保証人の方とか(両方とも俺と元から面識がある)は大変そう。俺も家賃滞納の契約解除通告とか東京電力の金払わないと電気止めちゃうぞ最後通牒とかは初めて見た。きわめて貴重な体験をしました。&lt;/p&gt;

&lt;p&gt;しかしね。保証人の人に請求書見せてもらったわけですけどね。滞納って言ったってmalaの人がitkzの人に渡した金額に比べれば全然少ないのね。俺は吝嗇だからきっちり回収するけど、それにしても即金で耳を揃えて貸してやれるような額なわけでね。なんでそれ黙っていなくなるかね。せめて一言金貸してくらい言えんかね。俺そこまで信用ないかね。逆に滞納して蒸発するようなのに金貸さなくてよかったと言えなくもないが……&lt;/p&gt;

&lt;p&gt;まあ、ちょっと自分の人望のなさには凹みました。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/240097219</link><guid>http://shyouhei.tumblr.com/post/240097219</guid><pubDate>Wed, 11 Nov 2009 17:37:49 +0900</pubDate></item><item><title>転職しました</title><description>&lt;p&gt;別に隠してたわけではないのですが、8月15日づけて株式会社トランス・ニュー・テクノロジーを退職してました。その後しばらく失業保険で暮らして、11月1日づけで株式会社ネットワーク応用通信研究所に就職しました。当初は東京支社勤務の予定です。&lt;/p&gt;

&lt;p&gt;なお、べつにRubyの開発という名目で雇用されているわけではないです。普通の従業員です。まだ来たばっかなんで将来何やるかとかは未定ですが。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/229538374</link><guid>http://shyouhei.tumblr.com/post/229538374</guid><pubDate>Sun, 01 Nov 2009 16:00:00 +0900</pubDate></item><item><title>今年のRubyConfには参加しませんの件</title><description>&lt;p&gt;まあ表題の通りなんだけど、誤解されないように言っておくんだけど、過去の実績から考えて今年のRubyConfも素晴らしいカンファレンスなのは間違いないです! Rubyistなら毎回行けとまでは言わないが一生に一度以上は行くべきです!今年RubyConf行く人は楽しんできてください。&lt;/p&gt;

&lt;p&gt;でもなんか、俺は行きづらくなっちゃった。&lt;/p&gt;

&lt;p&gt;その、仮に一人でふらっと行ってもいいんであれば、今年も行ってたと思うんだよね。俺。でもそうじゃないじゃん。俺がRubyConfに行くということに付随するもんができちゃってるじゃん。具体的に言うとレポートなんだけどさ。正直に言っていいですか? あれ近年重荷になってました。正直俺が聞きたいコマよりレポートする価値のあるコマを優先して聞くの、かなり辛いです。ええそうですよ、誰もそこまでしろとか言われてませんよ。でも「今年も期待してます」とか言われるとさあ。あなたが俺に期待してるレポートに俺は興味がないんだ!ってはなかなか言いづらいよ。&lt;/p&gt;

&lt;p&gt;あああと、カンファレンスの発表そのものより、なんか通路とかでおもむろにコード書いたりして議論するところのほうが面白い時間帯もありそうなので、今年も行く人はそのへんは注意してみるといいですよ。で、そういうのにもレポートやると参加できないんだな。「なぜ卜部は毎年RubyConf行ってるのに米国のRubyコミュニティでプレゼンスがないのか」って、そりゃ会期中一言も喋ってないもん。当然だよ。向こうの人からしたら常にノートPCに向かってなんか書いてるこの東洋人は何しに来たんだって感じだろうよ。&lt;/p&gt;

&lt;p&gt;そういうわけで、卜部にとってRubyConfはいまいち楽しめないカンファレンスになっちゃったんです。Ruby会議終わった後に「次は頑張ってRubyConf行かなきゃ」って思ってはっとなった。RubyConfって頑張ってわざわざ行くものじゃないから。いつのまにかモチベーション尽きてるから。なので、今年はもう無理。立場を離れて見れば面白いカンファレンスなのにね。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/213651903</link><guid>http://shyouhei.tumblr.com/post/213651903</guid><pubDate>Thu, 15 Oct 2009 18:52:00 +0900</pubDate></item><item><title>おがきちかという作家の特異性について</title><description>&lt;p&gt;→&lt;a href="http://swmemo.tumblr.com/post/195659512"&gt;swmemo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ランドリが曲芸なのはまあそうかもと思うけど、たとえばエビアンワンダーは叙述トリック(じゃないけど手法としては)じゃん。あのエンディングは最初から考えてないと書けないと思うなあ。ランドリにしても3巻までで回収されなかった伏線はないと思うので、3巻まではちゃんと細部まで一気にプロットしてあった気がする。その後は曲芸かもしれないけど。&lt;/p&gt;

&lt;p&gt;まあ、商業誌での連載なんだから常に打ちきりとか廃刊とかの可能性はあるわけで、ライブ感覚というか、作りながら考える部分はある程度は不可避だと思う。それを破綻なく続けてるのはマジすごいと思います。でも作家としての特殊性がそこに起因してるか?というと、どうかな。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/199873797</link><guid>http://shyouhei.tumblr.com/post/199873797</guid><pubDate>Tue, 29 Sep 2009 15:26:00 +0900</pubDate></item><item><title>そういうわけでWikiばなに行ったらartonさんにマシン貸してくれと言われ、貸したらUbiGraphがついてきた。しかもマシンが遅くてLTでレンダリングが間に合わないというひどいオチ！(artonさん...</title><description>&lt;p&gt;そういうわけでWikiばなに行ったらartonさんにマシン貸してくれと言われ、貸したらUbiGraphがついてきた。しかも&lt;a href="http://www.ustream.tv/recorded/1947698"&gt;マシンが遅くてLTでレンダリングが間に合わない&lt;/a&gt;というひどいオチ！(artonさんごめん)&lt;/p&gt;

&lt;p&gt;まあ、そんで、懇親会までの間にartonさんと俺と田中さんでちょっと解析した感じだと、rubyはぜんぜん余裕でどっちかというとUbiGraphのほうが足を引っ張ってそうである。とくにXMLRPCがなんとなくボトルネックではないかという結論になった。&lt;/p&gt;

&lt;p&gt;で、家に帰って&lt;a href="http://ubietylab.net/ubigraph/content/Docs/index.html"&gt;ドキュメント&lt;/a&gt;を読んでみると、やっぱし最後の方でXMLRPCを疑え、みたいなことが書いてある。しかし、そこで回避策として提示されているのが、SWIG経由でC版を使え、とか、速いグラボ買ってこい、とか、いまいち現実味に欠ける。&lt;/p&gt;

&lt;p&gt;どうしようもないのか? と思ってさらによく読んでみると、以下の一文を発見した。&lt;/p&gt;
&lt;blockquote&gt;
If you are unable to solve API performance problems by using, e.g., SWIG and the C API, consider using XMLRPC multicalls. 
&lt;/blockquote&gt;

&lt;p&gt;“XMLRPC multicalls”って何? というのは、実はググってもよく分からんのだが、しかしrubyのlib/xmlrpcを覗くとなんか&lt;a href="http://www.ruby-doc.org/stdlib/libdoc/xmlrpc/rdoc/classes/XMLRPC/Client.html#M001777"&gt;それっぽいのがある&lt;/a&gt;。どうも実装を読むと、複数のRPCを一個のでかいリクエストにカプセル化して送受信するもののようだ。そこで、rubigraphに適当な個数のリクエストをバッファして一気に送信するような改良を&lt;a href="http://github.com/shyouhei/rubigraph/tree/multicall"&gt;入れてみた&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;これで、LTの途中で終わっちゃってたrwikiのレンダリングが&lt;/p&gt;
&lt;pre&gt;zsh % time ruby -I../lib rwiki.rb 200 &gt;/dev/null #前
ruby -I../lib rwiki.rb 200 &gt; /dev/null  1.73s user 0.18s system 2% cpu 1:23.24 total
zsh % time ruby rwiki.rb 200 &gt;/dev/null #後
ruby rwiki.rb 200 &gt; /dev/null  0.59s user 0.48s system 47% cpu 2.270 total&lt;/pre&gt;
&lt;p&gt;といった感じで数秒で終わるようになる。いい感じである。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/159131567</link><guid>http://shyouhei.tumblr.com/post/159131567</guid><pubDate>Sun, 09 Aug 2009 22:23:57 +0900</pubDate></item><item><title>Rubyパッチ袋</title><description>&lt;a href="http://github.com/shyouhei/ruby/tree/trunk"&gt;Rubyパッチ袋&lt;/a&gt;: &lt;p&gt;まあ、おまえらもmatz基調講演を聞いて「意外にも思いつきではなくちゃんとパッチが管理されている」ことに衝撃を受けたことだろう(実は前から日記とかで言及されてはいたが)。あれを見てそろそろgit使い始めようかとか思いだしたかもしれない。しかし、じゃあといってRubyのレポジトリを&lt;tt&gt;git svn clone&lt;/tt&gt;しようとすると果てしなく時間がかかる(ネットワーク状況などにもよるが30時間くらい?一日以上なのは確実)ので、多くの人はここでめげてしまう。&lt;/p&gt;

&lt;p&gt;ところが案外知られていないけどgit-svn(1)は実はよくできていて、&lt;tt&gt;git svn clone&lt;/tt&gt;ってのは毎回みんながやる必要はなくて、本当はだれかがどこかで一回やればいいのである。他の人はそいつを&lt;tt&gt;git clone&lt;/tt&gt;すればいいの。その誰かさんのgitレポジトリってのはみんなが見れるところにないといけないわけだが、そこはもちろんgithub使えよ。って話。まあそういうわけで、おまえらのために俺のgithubアカウントに&lt;a href="https://github.com/shyouhei/ruby/tree/trunk"&gt;コミッタ用レポジトリのフルミラー&lt;/a&gt;を置いてみたので、おまえらも使えばいいと思う。&lt;/p&gt;

&lt;p&gt;(1) Rubyコミット権持ってないおまえらにおける手順&lt;br/&gt;
コミット権持ってないおまえらがこのミラーを使うとなにが嬉しいかは単純明快、「pull requestできる」この一点である。Rubyのレポジトリ自体は&lt;a href="http://github.com/rubyspec/matzruby"&gt;rubyspec / matzruby&lt;/a&gt;とかにも置いてあるんだけど、これらはread onlyなのでpullしてもらえない。このミラーは俺経由でRubyのsvnレポジトリに突っ込まれる道が一応ある(内容によるが)。おそらく同種のミラーは今のところこれしかない。使い方は何も特別なことはなく、&lt;/p&gt;
&lt;pre&gt;
% git clone git://github.com/shyouhei/ruby.git
&lt;/pre&gt;
&lt;p&gt;まあようするに普通のgitレポジトリと同じ使い方をすればよい。&lt;/p&gt;

&lt;p&gt;(2) Rubyコミッターのおまえらにおける手順&lt;br/&gt;
コミッターはずばりパッチ袋として使う。まず下準備として&lt;/p&gt;
&lt;pre&gt;
% git clone git://github.com/shyouhei/ruby.git
% cd ruby
% git svn init -s --prefix=origin/ svn+ssh://svn@ci.ruby-lang.org/ruby
% git svn fetch
&lt;/pre&gt;
&lt;p&gt;とする。これが上に書いた「よくできてる」部分で、このように&lt;tt&gt;git clone&lt;/tt&gt;に上から&lt;tt&gt;git svn init&lt;/tt&gt;をかぶせると、全体としてはgit-svnが有効だがcloneしてきたものも無視されずに、その続きからgit-svn的「普通の使い方」ができる。これは賢い。&lt;/p&gt;
&lt;p&gt;で、ここにまつもとさんみたいに&lt;a href="http://www.procode.org/stgit/"&gt;stgit&lt;/a&gt;でパッチ袋作ってもいいし、そんなことせずに素のgitを使っても良いだろうが、そのへんの話はさすがに他の文章に譲る。あとは、コミッターの人は俺を経由せずとも&lt;/p&gt;
&lt;pre&gt;
% git svn dcommit
&lt;/pre&gt;
&lt;p&gt;でいきなり本家に突っ込めるはずなので、俺ミラーはたぶん最初しか使わないと思われる。&lt;/p&gt;

&lt;p&gt;(3) さらにそれをforkする場合&lt;br/&gt;
俺のレポジトリは俺にはforkできないからよくわからないんだけど、コミッターの人がさらにgithubで(2)をforkする時は&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;まず(2)の手順でローカルにレポジトリを作る&lt;/li&gt;
&lt;li&gt;githubのサイト上でforkボタンを押してfork&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;% git remote add hoge git@github.com:${おまえのアカウント}/ruby.git&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;% git push hoge master&lt;/tt&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;でいいんじゃないかな。要人柱。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/152842980</link><guid>http://shyouhei.tumblr.com/post/152842980</guid><pubDate>Fri, 31 Jul 2009 17:35:45 +0900</pubDate></item><item><title>あえて言うがRuby会議はそろそろ一回終わってみるべき。</title><description>&lt;p&gt;表題のようなことを実は2007年のやつの後くらいから思ってて、今年はほとんど確信に近くなっている。Ruby会議2009最終日にうっかり角谷さんの電波(自称)を浴びてしまったせいで、当日は「あー、俺より角谷さんのほうがちゃんと考えてて、でも逃げてないんだなあ」とか思った。思ったが、一日たって冷静に考えてみたら、やっぱ逃げてもいいと思うよ。なので当初考えていたとおりに書くことにする。&lt;/p&gt;

&lt;p&gt;(1) おまえらの仕事は品質過剰です。&lt;br/&gt;
Ruby会議は世間のカンファレンスの相場から考えると、クオリティに比して参加費が異常に安い。クオリティの高さに関しては素晴らしいとは思うが、それの費用は安すぎだと思う。&lt;br/&gt;
なぜRuby会議はあのクオリティで開催できるのか、一回きちんと考察してみるべきだ。俺には参加費の代わりにおまえらのモチベーションを削ぎ落としながら燃料にしてオペレーション回してるようにしか見えない。横から見ていてメチャ辛そうなんだよ。そのまま行くとみんな燃え尽きて終了する、よくある「燃え尽きたプロジェクト」の光景が広がっているのではないか。俺はモチベーションを金で買うのはそんなに悪いことだとは思わないというか、何かを継続的にやっていこうとするなら不可避なのではないかとすら思う。&lt;br/&gt;
Ruby会議にはそもそも継続して開催するスキーマのようなものがない(あるのだとしたら公開されてない)。なんでないかというと、最初のときにとりあえず続くか分からなかったからだ。なんでもいいから一回やってみよう、が、意外に好評だからなんとなく続いている状態。そりゃ破綻するってば。&lt;/p&gt;

&lt;p&gt;(2) おまえらはRuby会議で燃え尽きてる場合じゃないはずです。&lt;br/&gt;
個人的にRuby会議というものを今の段階で勝手に総括すると、そのもっとも有益だったと思える成果は「たくさんの人達を掘り出してきてスポットを当てたこと」だと思うね。Ruby会議に参加しなかったら知らないままだった人がたくさんいる。&lt;br/&gt;
でさあ、それは大変素晴らしいことなんだけど、そこで終わってちゃだめだろ。Ruby会議みたいな言ってしまえばゆりかごみたいな世界でずっといつづけるのはおまえらのためにならない。Ruby会議は故意にか偶然にか知らないがとても効果的におまえらを発掘してしまったので、もうそろそろおまえら全員を面倒見切れなくなってきている。このまま行くとRuby会議が足枷になってさらに成長できるはずの人が無駄にスポイルされるようになってしまうのではないかと危惧する。&lt;br/&gt;
それを回避する方法は、手段を選ばないのなら、たとえば「規模を大きくする」とか「回数を増やす」とか「法人化して事業として回す」とかあると思うんだが、どれもどうやら中の人はやりたくないらしいんだよな。で、俺の考えつく方法で消去法で残るのは「もうやめちまえ」しかない、という。&lt;/p&gt;

&lt;p&gt;(3) Ruby会議ってキモくない?&lt;br/&gt;
そろそろこれ、言い出す人いてもいいと思うんだけど。「きもちいい」とか「愛」とかさ。それ聞いて感動してるおまえらとドン引きしてる俺なわけよ。冷静になれよ。普通に考えておかしいだろ。耳触りの良い言葉ばかりが並んでたら警戒しろよ。裏があるとか疑えよ。&lt;br/&gt;
まあようするに思いっきり穿った見方をするとRuby会議ってのは一部の自覚的な指導者層が多くの無自覚な信徒を煽動する装置であって、有り体に言ってカルトに近い方向性を備えている。似てるってだけでそこまで危険とは思わないが、俺は当事者だから客観的な評価ができないから甘めになってる可能性も捨てきれない。&lt;br/&gt;
そんでRubyの中の人でもある俺から言わせてもらうと、そういう状況って危険でさあ、なんでかっていうと熱しやすいやつらって冷めやすいんだよ。俺としては(他の人もそうだと思うが)一気に流行って一気に廃れるのは困るわけ。今はとりあえず流行るところまでは来たのはいいが、ここからどう落ちつかせるかってのが今後十年のRubyには重要で、だからそろそろこれ以上加熱するのはやめるべき。冷却すべき。信者のおまえらは目を覚ますべき。&lt;/p&gt;

&lt;p&gt;まあそういうわけでまとめると、毎年「しんどい」とか「薄氷を踏み抜くような」とか言いながらRuby会議続けるのもうやめようよ。一回は終わってみようぜ。なにもRuby会議だけがおまえらの人生じゃないだろ。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/145555071</link><guid>http://shyouhei.tumblr.com/post/145555071</guid><pubDate>Tue, 21 Jul 2009 05:16:33 +0900</pubDate></item><item><title>"GNU screenはもう古いので皆さんtmuxへ移行しましょう、という話。"</title><description>“GNU screenはもう古いので皆さんtmuxへ移行しましょう、という話。”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;p&gt;&lt;a href="http://d.hatena.ne.jp/tmatsuu/20090709/1247150771"&gt;時代はGNU screenからtmuxへ - それ、Gentooだとどうなる？&lt;/a&gt; (via &lt;a href="http://otsune.tumblr.com/"&gt;otsune&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;いまだにレポジトリにCVS使っちゃうtmuxだっていいかげんロートルだと思うなあ。どっちもどっち。&lt;/p&gt;&lt;/em&gt;</description><link>http://shyouhei.tumblr.com/post/138469546</link><guid>http://shyouhei.tumblr.com/post/138469546</guid><pubDate>Fri, 10 Jul 2009 01:29:23 +0900</pubDate></item><item><title>最近会社でコップのかわりに使っているビーカーがすこぶる評判が悪い。とくに充実野菜は「コロイドかと思った」「いやアルミ化合物かと」な...</title><description>&lt;img src="http://1.media.tumblr.com/qb6iKrZdVpdccesmn7g9MXJAo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;最近会社でコップのかわりに使っているビーカーがすこぶる評判が悪い。とくに充実野菜は「コロイドかと思った」「いやアルミ化合物かと」など散々な言われよう。気にせず飲んでるが。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/133442104</link><guid>http://shyouhei.tumblr.com/post/133442104</guid><pubDate>Wed, 01 Jul 2009 17:39:13 +0900</pubDate></item><item><title>俺もそろそろメンテナンス戦略について一言言っとくか</title><description>&lt;p&gt;俺におけるブランチメンテナンス戦略は詰まるところ「バグは潰すよ」という話に尽きるわけだが、これには批判がある[1]。まあようするに安定とはなんぞやという話だな。1.8.7や1.8.6やかつての1.8.5は「安定」ブランチだという理解はおそらくみんな一致してると思うが、安定という言葉に込められた思いが人によっては俺とは違う。俺はSEGVするようなプログラムを安定しているとは思わないんだが、どうもそういうことよりも変更の少なさに価値を見出す派閥があるらしい。&lt;/p&gt;

&lt;p&gt;俺がバグの重要度という概念を快く思ってない理由の一つは、ほとんどのバグがそのライフサイクルのごく初期に「実際に困っている人がバグ報告をすることで発覚」というフェーズを経ているという経験的傾向があるからで、したがって俺に言わせれば重要でないバグなんて(滅多に)ない。この点どうもLinusも似たような思想らしく[2]、激しく共感を覚える。まあ俺はセキュリティリリースという行為は悪くないと思うんだけど、それしかやらんのはありえんよ。&lt;/p&gt;

&lt;p&gt;[1] &lt;a href="http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-dev/35404?35205-35839+split-mode-vertical"&gt;http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-dev/35404?35205-35839+split-mode-vertical&lt;/a&gt;&lt;br/&gt;
[2] &lt;a href="http://news.gmane.org/find-root.php?message_id=%3calpine.LFD.1.10.0807150907480.3017%40woody.linux%2dfoundation.org%3e"&gt;http://news.gmane.org/find-root.php?message_id=%3calpine.LFD.1.10.0807150907480.3017%40woody.linux%2dfoundation.org%3e&lt;/a&gt;&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/131271242</link><guid>http://shyouhei.tumblr.com/post/131271242</guid><pubDate>Sun, 28 Jun 2009 02:42:09 +0900</pubDate></item><item><title>右利きのおまえらが左手でマウスを使うべきいくつかの理由</title><description>&lt;p&gt;俺における身も蓋もない左手マウスの理由は、またしても中学2年の頃に「おまえらと違って左手で華麗にマウス使っちゃう俺」的な発想で使い始めたところに遡るわけだが、それ以来飽きることなく十年以上も左手マウスを続けているのは、純粋にそのほうが便利だからである。もう中2じゃないのでべつにおまえらと違わなくても生きていけるので、そろそろ左手マウスの良さについて一言いっておく。&lt;/p&gt;

&lt;h3&gt;マウスは左手でも不自由なく扱える&lt;/h3&gt;
&lt;p&gt;いきなり消極的な理由に思えるかもしれないが、実はこれが一番重要な点だ。左利きのおまえらと違って右利きのおまえらは利き手じゃないほうの手で細かい操作をすることに不安をおぼえるかもしれないが、実際にはなんの問題もない。よくマウスを観察してみよう。ボタンが数個くらい付いてるだけだろう。こんなもん箸も持てない子供ですら扱えるわけで、健常者のおまえらならまったく問題ない。&lt;/p&gt;

&lt;h3&gt;左手マウス+右手テンキーの破壊力はすさまじい&lt;/h3&gt;
&lt;p&gt;具体的に言うとExcelなわけだが、マウスでセルを選択してテンキーで入力なのである。かったるくて矢印キーまで手を伸ばす気になれないのである。Excelをできるだけキーボードで操作する努力よりも左手でマウスを使う努力の方が圧倒的に少なくて済むのである。怠惰を美徳とするおまえらなら魅力的に感じるはずだ。&lt;/p&gt;

&lt;h3&gt;机の右半分が効果的に使える&lt;/h3&gt;
&lt;p&gt;俺の観察によると、右利きのおまえらは右手で運んできた書類を机の右半分に置く傾向がある。これまではそのための場所をマウスに占拠されていたわけだが、左手マウスの場合は机の右は空いている。存分に置くがよい。書類をマウスパッドの替わりにする癖も解消されるだろう。&lt;/p&gt;

&lt;h3&gt;まとめ - 利き手があいてるのはなんだかんだで便利&lt;/h3&gt;
&lt;p&gt;利き手があいてるというのはちょっとしたときに便利だったりする。べつにマウスを逆に持ったからといって人生変わったりはしないが、じみーに生産性が上がるので、おまえらも一度は試してみよう。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/119878536</link><guid>http://shyouhei.tumblr.com/post/119878536</guid><pubDate>Mon, 08 Jun 2009 19:20:16 +0900</pubDate></item><item><title>レフティマウス買ってみた。</title><description>&lt;img src="http://15.media.tumblr.com/qb6iKrZdVoghvoaoY9zBDBipo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;レフティマウス買ってみた。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/119857291</link><guid>http://shyouhei.tumblr.com/post/119857291</guid><pubDate>Mon, 08 Jun 2009 17:57:46 +0900</pubDate></item><item><title>stdinから一行ずつ読んでそれっぽく表示 on ruby-gnome2</title><description>&lt;p&gt;ちょっと前に社内で発表したネタだが仕事中に書いたコードじゃないから公開しておく。どうせRuby会議で使いたい人がいるだろうし。&lt;/p&gt;
&lt;p&gt;フォントと色は各自の環境に合わせて弄ること。&lt;/p&gt;

&lt;pre&gt;
#!/bin/ruby -Ku
# Copyright(c) 2009 URABE, Shyouhei.
#
# Permission is hereby granted, free of  charge, to any person obtaining a copy
# of  this code, to  deal in  the code  without restriction,  including without
# limitation  the rights  to  use, copy,  modify,  merge, publish,  distribute,
# sublicense, and/or sell copies of the code, and to permit persons to whom the
# code is furnished to do so, subject to the following conditions:
#
#        The above copyright notice and this permission notice shall be
#        included in all copies or substantial portions of the code.
#
# THE  CODE IS  PROVIDED "AS  IS",  WITHOUT WARRANTY  OF ANY  KIND, EXPRESS  OR
# IMPLIED,  INCLUDING BUT  NOT LIMITED  TO THE  WARRANTIES  OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE  AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
# AUTHOR  OR  COPYRIGHT  HOLDER BE  LIABLE  FOR  ANY  CLAIM, DAMAGES  OR  OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF  OR IN CONNECTION WITH  THE CODE OR THE  USE OR OTHER  DEALINGS IN THE
# CODE.

require 'gnome2'

FPS = 60
Font = Pango::FontDescription.new 'M+ 2p, Ultra-Bold 32'
Line = [0.3, 0.5, 0.7, 0.9] # rgba 0.0 - 1.0
Fill = [0.9, 0.7, 0.5, 0.3] # rgba 0.0 - 1.0

class IO
   RS = /[\r\n]+/n

   def gets_nonblock siz=4096
      @buf1 ||= String.new
      @buf2 ||= String.new
      read_nonblock siz, @buf2
   rescue EOFError
      # close
      raise
   ensure
      @buf1 &lt;&lt; @buf2
      while m = RS.match(@buf1)
         str, @buf1 = m.pre_match, m.post_match
         yield str unless str.empty?
      end
   end
end

class Gdk::Drawable
   def transparent!
      c = create_cairo_context
      c.set_source_rgba 1, 1, 1, 0
      c.operator = Cairo::OPERATOR_SOURCE
      c.paint
      c
   end
end

class Comment
   def initialize w, str
      l = Pango::Layout.new Gdk::Pango.context
      l.set_text str
      l.set_font_description ::Font
      @extent = l.get_pixel_extents.last
      @x = nil
      @y = 0
      @map = Gdk::Pixmap.new w.window, @extent.width + w.rect.width / 4, @extent.height, -1
      c = @map.transparent!
      c.pango_layout_path l
      c.set_source_rgba(*::Fill)
      c.fill_preserve
      c.set_source_rgba(*::Line)
      c.set_line_width 1
      c.stroke
   end

   def render r, w, g
      # nicovideo player is 512px (+ comment length), 4sec.
      i = @extent.width
      j = r.width
      k = (i + j) / (4.0 * ::FPS)
      @x ? @x -= k : @x = j
      r = Gdk::Rectangle.new @x, @y, i + k + 1, @extent.height
      w.begin_paint r
      w.draw_drawable g, @map, 0, 0, *r
      w.end_paint
   end

   attr_reader :x, :extent
   attr_accessor :y

   def rightmost? w
      @x ? @x + @extent.width &gt; w : true
   end

   def visible?
      rightmost? 0
   end
end

module Player
   def render force = true
      return !force unless force or not @comments.empty?
      w = window
      w.transparent! if force
      g = Gdk::GC.new w
      @comments.each do |i| i.render @rect, w, g end
      @comments.reject! do |i| not i.visible? end
      @cache.reject! do |i| not i.visible? end
      return !force
   end

   def push str
      c = Comment.new self, str
      e = c.extent
      n = @rect.height / e.height + 1
      i = -1
      n.times do |i|
         d = @cache[i]
         break if d.nil?
         next  if d.rightmost? @rect.width
         break if d.extent.width &gt;= e.width
      end
      if i == n - 1 # "Curtain Fire" mode
         c.y = rand @rect.height - e.height
      else
         c.y = i * e.height
      end
      @cache[i] = c
      @comments &lt;&lt; c
   end

   def kick fp
      @comments = []
      @cache = []
      trap :INT do
         Gtk.main_quit
      end
      Gtk.timeout_add 1000.0 / ::FPS do
         render false
      end
      tag = Gdk::Input.add fp, Gdk::Input::READ do
         begin
            fp.gets_nonblock do |str|
               str.chomp!
               push str
            end
         rescue EOFError
            Gdk::Input.remove tag
         end
      end
   end
end

class Toplevel &lt; Gtk::Window
   include Player
   attr_reader :rect
   def initialize
      super
      @kicked = false
      [[:colormap=, screen.rgba_colormap || screen.rgb_colormap],
       [:skip_taskbar_hint=, true],
       [:accept_focus=, false],
       [:app_paintable=, true],
       [:decorated=, false],
       [:keep_above=, true],
       [:title=, ''],
       [:fullscreen],
       [:stick],
      ].each do |a|
         send(*a)
      end
      {
         "destroy" =&gt; lambda do Gtk.main_quit end,
         "expose-event" =&gt; lambda do |w, e|
            kick ::STDIN unless @kicked
            render :force
         end,
         "configure-event" =&gt; lambda do |w, e|
            m = Gdk::Pixmap.new nil, e.width, e.height, 1
            [m, window].each &amp;:transparent!
            input_shape_combine_mask nil, 0, 0
            input_shape_combine_mask m, 0, 0
            @rect = Gdk::Rectangle.new e.x, e.y, e.width, e.height
            false
         end,
      }.each_pair do |k, v|
         signal_connect k, &amp;v
      end
      show
   end
end

Toplevel.new

Gtk.main

# Local Variables:
# mode: ruby
# coding: utf-8
# indent-tabs-mode: t
# tab-width: 3
# ruby-indent-level: 3
# fill-column: 79
# default-justification: full
# End:
# vi: ts=3 sw=3
&lt;/pre&gt;</description><link>http://shyouhei.tumblr.com/post/119202369</link><guid>http://shyouhei.tumblr.com/post/119202369</guid><pubDate>Sun, 07 Jun 2009 10:31:24 +0900</pubDate></item><item><title>"First things first, to answer the subject of this very message, I’d like to announce that we..."</title><description>“First things first, to answer the subject of this very message, I’d like to announce that we at Best Practical will no longer be actively developing SVK. We won’t be implementing new features or working to improve performance. Rest assured, however, that for at least the next 18 months, we’re committed to making sure that SVK will continue to work with the current release of Subversion.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;p&gt;&lt;a href="http://lists.bestpractical.com/pipermail/svk-devel/2009-May/001224.html"&gt;[svk-devel] The Future of SVK&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;そう来るかという感じ。風呂敷のたたみ方の参考に。&lt;/p&gt;&lt;/em&gt;</description><link>http://shyouhei.tumblr.com/post/114349647</link><guid>http://shyouhei.tumblr.com/post/114349647</guid><pubDate>Fri, 29 May 2009 00:41:49 +0900</pubDate></item><item><title>"Programming today is a race between software engineers striving to build bigger and better..."</title><description>“Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.&lt;br/&gt;
- Rich Cook”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://www.storm-consultancy.com/blog/other/classic-programming-quotes/"&gt;Classic Programming Quotes | Storm Consultancy Blog&lt;/a&gt;&lt;/em&gt;</description><link>http://shyouhei.tumblr.com/post/109335988</link><guid>http://shyouhei.tumblr.com/post/109335988</guid><pubDate>Mon, 18 May 2009 13:30:24 +0900</pubDate></item><item><title>ちょっと追補</title><description>&lt;p&gt;○ 俺は島根の郷土が好きです。大山の伏流水が好きです。蒜山高原SAのアイスクリームが好きです。皆生温泉が好きです…って全部鳥取じゃねーか! えっと、えっと、海岸に行くとなぜか転がってるハングルのペットボトルが好きです。大橋川に行くとなぜか転がってる寛永通宝が好きです。菊竹清訓の建築がバカスカ林立する殿町の奇観が好きです。&lt;/p&gt;

&lt;p&gt;○ 俺は島根からは逃げてきたけど、逃げないって選択肢の人の覚悟は尊重するので、こっちにおいでとまでは言わない。俺には逃げないのは無理だったって話。&lt;/p&gt;

&lt;p&gt;○ 就労人口を増やすには要するに仕事がなきゃダメなわけで、したがって行政が仕事を増やすという話になるともっとも短絡的なのは公共事業で、したがってハコモノ行政ってのはいちおう定住促進にプラスではあるので、1から10まで批判するのはどうかなーと思います。ただ、短絡的過ぎて俺の未来に希望が持てるような状況ではなかった。&lt;/p&gt;

&lt;p&gt;○ 島根には近代史とかいうものがありません。島根民に歴史の話をさせると、太平記か、その前は弥生時代か、下手すると出雲神話とか話し出すので注意が必要です。神話と歴史の区別がついてねえ。「のっぺりした現在と遥か彼方に振り返る過去」ってのは、島根民の意識としてはかなり実状に即していると自負します。&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/104394541</link><guid>http://shyouhei.tumblr.com/post/104394541</guid><pubDate>Thu, 07 May 2009 10:44:00 +0900</pubDate></item><item><title>「1)島根はもう立ち直れないと思う」とかいうエントリを書こうと思ったが、よく考えたらべつにそんなん今更俺が言わんでも周知の事実だ</title><description>&lt;p&gt;島根県は自称・全国一の高齢県だ。実際、前回国勢調査[1]によると「総人口に占める老年人口の割合を都道府県別にみると，島根県（27.1％）が最も高」い。27%というのはおおむね県民4人いれば1人以上は定年後というレベルなわけで、実体験として年寄りが多いとは思ってたけど、数字になると凄みが増すというもんですな。&lt;/p&gt;

&lt;p&gt;まあそんで、ひらたく言うと俺が島根から東京に逃げてきたのは、島根に未来がないからなんだな。のっぺりとした現在と遥か彼方に振り返る過去しかねえんだもん。言っとくけど島根ってべつに急に高齢化したわけじゃないんだよ。ざっくりググっても俺が生まれるより前の1980年の時点[2]ですでに全国トップなわけよ。俺も80年代から90年代の島根をリアルに体験して、その間手をこまねいて高齢化を放置してきた島根のお歴々をガキなりに横から見てきてよく理解したわけ。こいつらもうダメだって。&lt;/p&gt;

&lt;p&gt;ちなみに島根に未来がないのはべつに俺じゃなくても住んでりゃふつーに理解できる話で、Wikipediaの島根県のページ[3]に年齢別人口分布グラフが載ってるので一瞥を勧めるが、18歳でガクンと比率が落ちている。つまり高校卒業を期に島根から逃げ出すのは俺に限った話じゃないということだね。そんで戻ってこない。これは、たとえば隣県の広島県とかと比較してもらえば明らかに分布として特徴的なので、県民が気づいてないわきゃないんだが、それでも有効な対策がこれといって打ててないってのが。18歳からの人口ってようするに就労人口なわけで税収とかにもろに影響してると思うんだが、まあお役所だってね。対策といってもね。そんなもんあるならとっくにやってるよって感じでしょうけどね。&lt;/p&gt;

&lt;p&gt;そういうわけで、最近日本がダメかどうかで盛り上がってるみなさんはぜひ島根をケーススタディすべき。この分野で全国平均の20年から30年先を行ってますから。日本の未来(のなさ)を知るにはもってこいです。&lt;/p&gt;

&lt;p&gt;[1] &lt;a href="http://www.stat.go.jp/data/kokusei/2005/kihon1/00/02.htm"&gt;http://www.stat.go.jp/data/kokusei/2005/kihon1/00/02.htm&lt;/a&gt;&lt;br/&gt;
[2] &lt;a href="http://wwwhakusyo.mhlw.go.jp/wpdocs/hpaz198001/b0002.html"&gt;http://wwwhakusyo.mhlw.go.jp/wpdocs/hpaz198001/b0002.html&lt;/a&gt;&lt;br/&gt;
[3] &lt;a href="http://ja.wikipedia.org/wiki/%E5%B3%B6%E6%A0%B9%E7%9C%8C#.E5.B9.B4.E9.BD.A2.E6.A7.8B.E6.88.90"&gt;http://ja.wikipedia.org/wiki/%E5%B3%B6%E6%A0%B9%E7%9C%8C#.E5.B9.B4.E9.BD.A2.E6.A7.8B.E6.88.90&lt;/a&gt;&lt;/p&gt;</description><link>http://shyouhei.tumblr.com/post/104223633</link><guid>http://shyouhei.tumblr.com/post/104223633</guid><pubDate>Thu, 07 May 2009 02:00:13 +0900</pubDate></item></channel></rss>
