2012年6月30日土曜日

「やらな言い訳をしない」こと|職業は武装解除

DDR(武装解除、動員解除、社会再統合)という概念について初めて知ったのは、伊藤計測さんの中編小説『The Indifference Engine』でした。
この『職業は武装解除』は、それとは全然関係なく、たまたま本屋で見かけて気になったので買ったもの。前者の本を読んだ後だったから、それもあって気になったのかもしれないけれど。認定NPO法人 日本紛争予防センター事務局長の瀬谷ルミ子さんの自伝です。

彼女の歩んできた道は特殊で、DDRについても概念はしっていたものの馴染みのあるものではなかったので、イベントを追っていく事自体、十分に興味深く、楽しめました。また、好き好んでかどうかはともかく、日本の名前を背負って世界をより可能性にとんだものにしようと活動している著者の存在にとても勇気づけられます。


もうひとつは、「やらな言い訳をしない」こと、私たちが幸運にも与えられている選択する自由を行使することで前に進んでいく彼女の在り方にも、多くのヒントと勇気をもらいました。折に触れて、「自分は取り柄があまり無い」というけれど(その真偽は置いておいて)、ならどうするか、っていうのを常に考えて動いていく。その積み重ねが彼女を今の場所まで導いたんだと思います。


学生を見ていてもこういう考えが出来る人は、勉強ひとつとっても本当に伸びていく。「またお風呂入ったら眠くなって、寝ちゃいましたー。」てずっと言っている子と、「お風呂入ったら眠くなっちゃうんでー、自分くせーって思いながら勉強しているんですよー。」と笑いながら言っている子がいて、やっぱり後者のほうが凄く伸びていくんです。


自分も頑張ろうって思える良い一冊でした。また読もう。

PHPでTwitter botつくるよー|3.フォローバック、特定ユーザーのツイート取得

PHPでTwitterのbotをつくろう3回目。
目的と下準備、Oauth認証までの1回目
特定のキーワドで検索、結果をRT、発言者をフォローした2回目
の続きです。
今回は、特定のユーザーの最新のツイートを取得してRTする部分。
1回目の方法でOauth認証が終わっている前提です。
相変わらずoverflowが折り返されて見難い事この上ないですが。
まずフォローバック機能


/******************************************************
follow back
*******************************************************/

//followしてくれたひとにはfollow返す。
//まずfollower取得(5000まで)
$followers=json_decode(file_get_contents('https://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=MyScreenName'),true);>
//followしているひと取得(5000まで) $followings=json_decode(file_get_contents('https://api.twitter.com/1/friends/ids.json?cursor=-1&screen_name=MyScreenName'),ture);

//followerだけどfollowしていないひと(5000ずつの中で)
$diff=array_diff($followers['ids'],$followings['ids']);
//フォローバックする
$res = $objOauth->OAuthRequest('http://api.twitter.com/1/friendships/create.json','POST',array('user_id' => $id, 'follow' => 'true'));



自分(@MyScreenName)がfollowしているひとと自分のfollowerは一度に5000までしか引っ張てこれないのですが、そんな大規模なもの作る気はないのでそのなかでマッチングしてしまっています。
ちゃんとやるなら全部取得してマッチングしたほうが良いかも。
つぎは特定のユーザーの最新のツイートの取得とRTする部分

/******************************************************
TargetUserNameのツイートをひとつリツイート
*******************************************************/
//まず、TargetUserNameの最新のツイート1つを取得。countの値で取得数設定できます。
$last_tweet=json_decode(file_get_contents('https://api.twitter.com/1/statuses/user_timeline.json?&screen_name=TargetUserName&count=1'),true);

//取得したツイートをRT
$res = $objOauth->OAuthRequest('https://api.twitter.com/1/statuses/retweet/'.$last_tweet[0]['id_str'].'.json','POST',array());


こんなところです。らくちんらくちん。
あとは平打のユーザ名などを変数にして関数化して、
cronの設定すればbotちゃん完成です。
cronの環境がない!というかたには、
風柳さんのGAE-Cronこちらに設置していますのでよかったらどうぞ。
いつのまにかcssとんで醜いですが動きますので。

追記
リストからランダムでツイートする機能について書くのを失念していました。
また、グーグルブログ検索の結果のタイトルとURLをツイートする機能も追加したので、また別の機会にかけたら併せて書こうとおもいます。

2012年6月29日金曜日

PHPでTwitter botつくるよー|2.検索、RT、フォロー

TwitterのbotをPHPで作るよということで、今更感満載ですが。
目的などについては、PHPでTwitter botつくるよー|1.Oauth認証までを御覧ください。
また、以下は、前回の記事の方法でOauth認証を済ませた状態で動くものです。

ではさっそく、必要機能の1つ目、
・あるキーワードを含むツイートを、RTする。また、その発言者をフォローする。
を実装します。
このあたりはTwitter DevelopersにあるREST API Resourcesを参照しながらサクサク作成していきます。コードが折り返されてしまうのがどうにも直らなくって醜いかもしれませんがご容赦ください。

/******************************************************
キーワード で検索してリツイート&follow
*******************************************************/
//「キーワード」による検索結果を取得(urlエンコードしたきーわーどをq=以下に)
$seach_result=file_get_contents('http://search.twitter.com/search.json?q=%E3%82%AD%E3%83%BC%E3%83%AF%E3%83%BC%E3%83%89');
//jsonをデコードしてオブジェクトを取得
$data = json_decode($seach_result);

// retweet & follow
/ 検索で得られたツイートひとつひとつに対して
foreach ( $data->results as $key ) {
//自分のTweetかどうかの判断
if($key->from_user !=="MyUserName"){
     //違う場合はリツイートリクエスト
$res = $objOauth->OAuthRequest('https://api.twitter.com/1/statuses/retweet/'.$key->id_str.'.json','POST',array());
//followしていないかどうか判断 screen_name_aがscreen_name_bをフォローしていればtrue
if(file_get_contents('https://api.twitter.com/1/friendships/exists.json?screen_name_a=MyUserName&screen_name_b='.$key->from_user)==="false"){
  //followしていない場合はfollowする
$res = $objOauth->OAuthRequest('http://api.twitter.com/1/friendships/create.json','POST',array('screen_name' => $key->from_user, 'follow' => 'true'));
}
          //あまり間隔開けずに連投RTするのも迷惑なので、適当に処理停止
sleep(rand(29,158));
}
}

取得した検索結果についてよくご存知でない方は、$dataをダンプして中身確認してみると良いとおもいます。ここで使っているのはfrom_user 発言者とid_str ツイートid(文字列)のみです。今回はここまで。

追記
Twitterのいろいろな自動化についてはTwitterの規約に触れる場合があります。確認の上、ご自身の責任で行いましょう。

PHPでTwitter botつくるよー|1.Oauth認証まで

仕事と趣味の狭間みたいなところで必要になったのでPHPでTwitter bot作ります。

つくる機能は以下のとおり。
・あるキーワードを含むツイートを、RTする。また、その発言者をフォローする。
・フォローしてくれたユーザーをフォローバックする。
・リストからランダムに内容を選んでツイートする。
・特定のユーザーの最新の発言をRTする。

巷には、コードいじらなくてもbot作ってくれるサービスもあるようですけど、ある程度いじれるほうがカスタマイズ効いて良いかなと思ったのでPHPでつくることにしました。
素晴らしいライブラリが沢山ありますし、そんなに手間はかからないはずです。

まず準備段階としてTwitter Developersで紹介されているphp向けのライブラリを導入
https://dev.twitter.com/docs/twitter-libraries#php

今回はAbraham Williamsによるtwitteroauthを使わせてもらいます。zipファイルをダウンロードして解凍後、twitteroauthフォルダごとphpファイルおく場所にコピーしておきます。

次に、Twitterの開発者サイトでアプリケーションを登録をします。
https://dev.twitter.com/
以下、たん英語版のページで進めていますのであしからず。


「Create an app」のリンクをクリックし、
Name、Description、Websiteを記入します。
Name、Descriptionは適当に、Websiteも適当で大丈夫です。
後ほど変更もできますので心配せずサクサク埋めていきます。
Callback URLは必要ありませんので空欄で大丈夫です。

規約に同意し、Captchaを入力してアプリケーション作成のボタンをクリックします。

Settingのタブをクリックし、Application Typeを「Read, Write and Access direct messages」に変更しておきましょう。
次にDetailタブの一番下の「Create My Access Token」をクリックし、Access Tokenを作成します。
これで準備は完了です。

まずはOauthの設定ファイルを作成


define.php
<?php
$conf = array(
'username'=>'UserName', //Twitter User Name
'consKey'=>'ConsumerKey', //Consumer Key
'consSecret'=>'ConsumerSecret', //Consumer Secret
'acsToken'=>'MyAccessToken',//My Access Token
'acsTokenSecret'=>'MyAccessTokenSecret',//My Access Token Secret
);
?>


そして、Oauth認証します。


<?php
//tweetoauthライブラリ読み込み
require_once('twitteroauth/twitteroauth.php');

// 環境設定情報読み込み
require_once('define.php');

/******************************************************
 Oauth認証
*******************************************************/
try {

$objOauth = new TwitterOAuth($conf['consKey'],$conf['consSecret'],$conf['acsToken'],$conf['acsTokenSecret']);

} catch (Services_Twitter_Exception $e) {

echo $e->getMessage();

}

これだけです。簡単ですねぇ。Abrahamさまさまです。
コードを貼ると長くなるので、2につづきます

2012年6月27日水曜日

宇宙物理の詩|二十世紀の忘れもの & ゆらぎの不思議

知人、から貸していただいて、なかなか読めずにいたのですが、ついに読み終わりました。佐治晴夫さんと松岡正剛さんの対談を収録した『二十世紀の忘れもの』と佐治晴夫さんの講義風のエッセイ『ゆらぎの不思議』。

どちらも大変に味わい深く、佐治さんは物理学者だそうですが発言がとにかく詩的で面白いです。ゆらぎ、とか対称性の破れ、とかガチガチの物理の事象をすごく感覚的にすっといくように話されていてすごく好感がもてました。

とくに『二十世紀の忘れもの』は松岡さんとの対談の中でいろんなところに話が飛んで読んでいて楽しいです。これは是非入手して折に触れて読み返したいなと思いました。宇宙や生命の話から、地球外生命体存在の可能性、青春の後退やら部分と全体の話、1/fのゆらぎなど幅広い話題に触れているうえ、どれもとても面白そうに、興味を惹かれるように話されるので教養を広げる元になる本になるかもと。

この本を読んでいてみたくなった光景が2つ。皆既日食と月夜の虹です。
夜が西のほうから、時速何全キロというスピードで走ってきますからね。それが見えるんです。
月の明りで虹が出るんです。もう、神秘的で死にそうになります。ちょっと、この世のものとは思えない印象ですよね。
普通の虹もそうだけれど、光が大きな役割を担う光景って、写真やビデオを通してみるのと現場で見るので印象が結構違うなと思っていて、この2つは是非この目でみてみたいと思っています。
皆既日食はこの11月にケアンズのあたりで見られるらしいので、なんとか仕事都合付けていってこれないかなあと思案中。



 


2012年6月25日月曜日

ディテールと関係性でそれでも世界は廻っていく|ニコニコ時給800円

知り合いが知り合いと言っていて、変な名前だったので頭の隅に引っかかっていたので、図書館で借りて読んでみた。海猫沢めろんさんの『ニコニコ時給800円』。

時給800円、なのかはわからないけれど、割と低賃金で働いている人たちを中心とした物語。

そのシチュエーション自体には悲壮感は感じられない。なんか無職FESじゃないけれど、無職とか、非正規雇用とか、不況とか下り坂とか、もはや生まれた時からそうだったりしてブーム通り越して定常状態だよね。みたいな感じ?

もうそれが普通になったなら、そこでちゃんと文学やろうよってことになっていくのかなあ。ギリギリのところで生きるようになって、それでもなんとか関係性とか日々の些細なディテールとかに載る感情を掬いとって綺麗に磨いてやっていくのかな。

物語としてはあんまり好みじゃない。みんな繋がりすぎていて気持ち悪い。でもディテールの描写はすごい好き。アパレルバイトの話は話はさっぱりわからなかったけど描写が好きで2回読んでしまった。

ここのところディテールが大事なのかなと思っている。全体ばかり目を向けて引いて見ていても駄目な気がする。部分に全体を見ることはあるけど、逆は難しいかもしれないとか。

このぶんはひどいのでいつかかきなおす


BloggerのカスタムCSSはテンプレート間で引き継がれない

タイトルそのまま。それ以上有りません。

昨日、ブログのテンプレートを変更したのですがBloggerのカスタムCSSはテンプレート間で引き継がれないということに気づいていなくて、コード表示などが大変なことになっていました。

早めに気づいてよかった。
次からは、テンプレートの変更の前にCSSコピーしておこう。自戒を込めて。

PHPでの文字列の有無の判定|empty()と!strlen()どっちがはやい?

久しぶりにPHPをいじっていて、関数の中に文字列がはいっていないかどうか判定する時って、empty()と!strlen()どっちでも使えるなあと思ってしまいました。
もちろんempty()は文字列変数の中身が"0"でも真になってしまうのですけれど、それさえ気をつければどちらでも良いはず。
昔書いたのをみてもそのときによってどっちも使っています。
PHPはこんなふうに、ある問題を解くのにいろんな方法が使えてしまいますよね。

ということで、今回は、ちょっとempty()と!strlen()のスピードを比べてみました。
早速結果です。

"if (!strlen($string))" VS "if (empty($string))どっちがはやい?"

unset($stringの場合);
!strlen()のかわりにempty()を使うことによる速度上昇の平均値: 99.72%

$string === falseの場合;
!strlen()のかわりにempty()を使うことによる速度上昇の平均値: 79.17%

$string = ''の場合;
!strlen()のかわりにempty()を使うことによる速度上昇の平均値: 69.79%

$string = 'hogehoge'の場合;
!strlen()のかわりにempty()を使うことによる速度上昇の平均値: 70.39%


基本的にempty()のほうが速いので、empty()をつかうと!strlen()に比べてどれだけ速いかを示すようにしました。常識なんでしょうかねぇ。
ちなみにこちらのサイトを参考というか、ここに出ているコードをそのまま使っています。追証実験ということで。環境によって差はあるんでしょうがスピードの差は歴然としていますよ。

理由としてはこちらのサイト
because empty() is a language construct built into the Zend engine, while strlen is implemented as a standard extension function. 
empty()はZendエンジンに組み込まれた言語だが、strlenは拡張機能として実装されているからだ
というふうに出ています。

そんなシビアなプログラムをするわけではないし、もしそうならならPHPじゃなくてもって感じもするので半ば自己満足です。

以下検証に用いたコード。

<?php
function test_strlen_vs_empty($string) {
    /* 基本的にはempty()のほうが速いですが、たまにstrlen()が速い時があります。100回の試行のうち1度有るか無いかくらい。その場合は$odditiesでカウントして、平均値はそれを除いてだしています。 */

    $oddities = 0;

    /* 変数が与えられないとき */
    if ($string == 'unset') {
        unset($string);
    }

    /* 試行は100回 */
    for ($i = 0; $i < 100; $i++) {
        /* タイマースタート */
        $start_time = microtime(true);

        /* empty()で100回チェック */
        for ($ii = 0; $ii < 100; $ii++) {
            /* Check if the string is empty() */
            if (empty($string)) {
            }
        }
        /* タイマーストップ */
        $end_time = microtime(true);

        /* empty()100回にかかった時間 */
        $time_for_empty = $end_time - $start_time;

        /* タイマースタート */
        $start_time = microtime(true);
        for ($ii = 0; $ii < 100; $ii++) {
            /* strlen()がfalseかどうか100回チェック */
            if (!strlen($string)) {
            }
        }

        /* タイマーストップ */
        $end_time = microtime(true);

        /*!strlen()100回にかかった時間*/
        $time_for_strlen = $end_time - $start_time;

        /* もし!strlen()のほうがempty()より速い時には記録 */
        if ($time_for_strlen < $time_for_empty) {
            $oddities++;
        } else {
            /* そうでなければempty()をつかうことで!strlen()にくらべてどのくらい速くなっているか%で加算 */
            $slowers_total += round(100 - (($time_for_empty / $time_for_strlen) * 100), 2);
        }
    }
    /* Output the results with an average taking into account any oddities that may have occurred */
    echo "<br />" . '!strlen()のかわりにempty()を使うことによる速度上昇の平均値: ' . round($slowers_total / (100 - $oddities), 2) . '%';
    if ($oddities) {
        echo "<br />" . '!strlen()のほうが速かった回数: ' . $oddities;
    }
}

echo "<br /><br />" . '"if (!strlen($string))" VS "if (empty($string))どっちがはやい?"' . "<br /><br />";
echo 'unset($stringの場合);';
test_strlen_vs_empty('unset');
echo "<br /><br />" . '$string === falseの場合;';
test_strlen_vs_empty(false);
echo "<br /><br />" . '$string = \'\'の場合;';
test_strlen_vs_empty('');
echo "<br /><br />" . '$string = \'hogehoge\'の場合;';
test_strlen_vs_empty('hogehoge');
?>

君たちって誰のこと?|僕は君たちに武器を配りたい

瀧本哲史さんが京大での講義で話されていることをまとめた本、だと思います。
内容を一言で言えば、コモディティになるな、スペシャリティになれ、ということでしょう。あとはご自身の経験からくる、いろいろヒントになりそうなことを散りばめられています。

グローバル化と世界的な技術力や教育水準の底上げによって、ますますコモディティの範囲が拡大していくという状態がまず底にあります。多くの先進国で失業率が高まっているのもそのせいもあるんでしょうか。そのなかで、上手く頑張ってスペシャリティになってねというのが趣旨でしょう。

でも一方で、これまでも、これからも、コモディティな職に就く人たちが多数なのだとは思うのです。ぼくも完全コモディティ人間です。ぼくはきっとこの本を読んでもスペシャリティにはなれないでしょう。そうあって欲しいという他人の足をひっぱる矮小な願望かもしれませんが、これを読む多くの人はきっとスペシゃリティにならないとおもうのです。そもそもさらに多くの人はこの本(あるいはこの本と似た趣旨の本)を読みません。

だからといって、この本が意味ないと言っているわけではないんです。一部の人に刺さればいいんだろうと思います。こういったある種の英才教育てきなものが広く一般に触れられるところにあるというのは素晴らしいことです。その中から優秀な人が受け取っていけよいと思います。

コモディティの話で思い浮かべたのは、途上国と言われる労働賃金の安い国々へコモディ知的な労働が移動して、先進国と言われる国々で失業率が高まって、国の力が衰えたら、やがてはバランスして、どの国でも労働賃金は一緒という時代が来るのだろうかということです。もちろんその過程で労働だけでなく技術移転も進んで先進国と途上国が逆転するということも起こるかもしれませんが、振り子のように行きつ戻りつして最終的にバランスすることはあるのでしょうか。その時、労働はどんなふうに分配されるのでしょう。

そんな世界でも、労働(とそれに伴う賃金)を奪いあうことになるんでしょうか。
こどものころ、科学技術が発展していっておとなになるころにはあんまり働かなくても生きて行けるようにならないかな、と思っていたことを思い出しました。

2012年6月24日日曜日

喫茶店と読書とビール|単なる日常

今日は概ね本を読んでいました。午前中は佐治晴夫さんと松本正剛さんの対談をまとめた『二十世紀の忘れもの』。借り物なのになかなか読めなかったもの。読み始めると面白くって味わいながらも一気に読んでしまいました。これは買ってもう一度読もう。内容についてはまた別に書きます。

読み終わってから、気分を変えようと浅草へ。喫茶店友路有浅草店にてこんどは佐治晴夫さんの『ゆらぎの不思議』を読みます。宇宙の始まり等について物理を用いながらものすごく詩的に描く不思議なエッセイ。こちらも借り物。早く読んで返さないとという気持ちと、読み急ぐと勿体無いという気持ちがせめぎあって困る。
喫茶店の名前はトゥモローと読むのだとか。カウンター席には電源あり、Wifiも通じているネットジャンキーフレンドリーなところと、レトロな喫茶店的内装を両立した嬉しいお店。日曜だったころもあってかとっても繁盛していました。

ここで友人と合流してからケンタッキーフライドチキン浅草店へ。なぜ浅草まできてKFCかというと、7月4日の食べ放題に行くかどうかの判断をしておこうという、その場の思いつきです。そこでレッドホットチキンお試しパック¥1,000円を二人で分けてチキン2本とLポテト半分ずつ食べた僕らの結論。食べ放題はいいや。それだけで十分お腹いっぱいになってしまったのでした。おとな1人につき未就学児1人無料だそうなので、子連れの方など良いんじゃないですかね。ポテトとソフトドリンクも食べ飲み放題らしいですよ。

それからこの紹介記事をみて行きたくてたまらなかった浅草三丁目の近くの以志田に向かいました。ついたのは17時20分頃で18時開店とのことで、近くの喫茶店ロッジ赤石でお茶を飲みつつ時間を潰すことに。常連さんいっぱいなお店ですが、お店の方は気さくで話しやすく、お客さんも巻き込んで付近の美味しい飲み屋などを教えてくれたりました。
18時をまわったのでもういちど以志田へ。店構えはこんな様子。
すでにお腹いっぱいだったのとロッジ赤石で教えてもらった喜美松にも寄ってみたかったので軽めに。瓶ビール1本とつくね、鳥刺し、クラゲ酢。ビールはキリンラガー。つくねは鶏肉に小麦粉とゆかりなどの香辛料を練りこんだような様子。とても美味しい。お通しのお漬物も唐辛子が入ってぴりっとして美味。おやじさんとおかみさんもすっごく良い感じで接してくれて気持ちよく飲めました。お金できたらうなぎやうどんすきも食べに来たいな。月曜火曜が定休日だそう。

教えてもらった喜美松は残念ながら定休日。土日祝日はお休みのよう。場所はわかったので次の機会に。
そこで解散して、南千住の方へ歩いて帰ったのですが、適当に見当付けて歩いていると吉原に突入してしまい呼び込みが大変なことに。断り歩くのも気まずいと思ってヘッドホン装着。
山谷のパレスジャパンの脇を抜けanalogfishを聞きながらてくてくと帰ってまいりました。このあたり北海道ラーメンのお店多いのは気のせいかな。
東京の東側の、人情味に溢れ、少しあやうく、新しいものを取り入れながらも古いものが生きている、そんな様子が僕は好きです。
そんな1日。



2012年6月23日土曜日

そっと泣きたいときに|I dedicate D chord

I dedicate D chord
ひさしぶりになにごともなくぼーっとする日にしたので、toddleの『I dedicate D chord』を聴いていました。

疾走感を保ちながらどこかふわふわとして切ないサウンド。

けしてうまいとはいけないけれど、涼やかで気取りのない声にはっきりと歌詞を載せてのびやかにうたうボーカル。

心から好きと言えるもののひとつ。



2012年6月12日火曜日

ロマンス×アクション×不憫×シモネタ|高慢と偏見とゾンビ

ジェイン・オースティンの言わずと知れた名作『高慢と偏見』にセス・グレアム=スミスがゾンビの要素を加えた怪作。何故だかソンビで溢れかえり、何故か東洋の武術とマスケット銃でゾンビどもを退治することが美徳とされた英国を舞台にほぼ原作通りの恋模様が展開されます。そしてなぜかシモネタが織り込まれていたり。なにこれ。

ゾンビ要素を足したからなのかは微妙なところだけれど、シャルトットやコリンズ、ウィカムといった脇役たちが不憫すぎて吹きます。そして主人公達も若干歪みがひどい。

メインの筋は原作そのままなので、後半の盛り上がり部分はほぼ原作の印象そのままです。それもあって、前半の一番の改変部分が目立ち、この作品の印象を決めている感じがします。どこかというとシャルロットの境遇についての部分。あんまり中身のことは書きませんが、どこまでもシャルロットが不憫。

映画化の方は今時点ではあまり進んでいないようですね。2011年9月くらいから情報が出ていません。監督も何度か変更になったようですし。迷走を重ねてとんでもないB級駄作になるのもそれはそれで楽しそう、などと無責任に思っています。

『高慢と偏見』は森薫さんビジュアルが頭の中に浮かんできましたが、本作を読んでいる最中はユマ×タランティーノの映像が流れていました。Kill Billの効果音付きで。ホラー見は余り無いですけどアクションシーン多いです。最後のダーシーの叔母との対決場面の映像は楽しみでしょうがありません。

2012年6月4日月曜日

善意の押し付けが世界を灰色に塗り潰す|チョコレート・アンダーグラウンド

どうやら日本ではコミカライズやアニメ化もされているみたいですけれど、wikipedia眺めた限りでは小説版とはちょっと違うよう。もともとアレックス・シアラーの小説があって、BBCで子供向けにドラマ化したと英語のwikipediaにはあるけど、このへんは日本のwikipediaとくい違いがあります。日本のほうが間違っているのかな。とりあえず小説版しか読んでいません。

邦訳に当たって改題、改装されているけれど、この本に限っては日本版のほうがどちらも好き。特に装丁は。『夜中に犬に起こった奇妙な事件』のクリストファーは茶色が嫌いって言っていましたけれど(うんこの色だからだったかな?)、僕は結構好きです茶色。チョコレートの色だもの。幸せの色だよ。

人々の無関心や行き過ぎた善意の押し付けが、抑圧された生きづらい世界を作っていく、そんな過程を、チョコレートの禁止という一見ユーモラスな、子供向けに見える題材を通して描いています。随所に、子供の頃読んでいたら気に入って使ってみただろう格好良い言い回しが散りばめられていて、読んでいて楽しい。翻訳も良いのだと思います。

文の中で禁酒法時代のアメリカの話が引かれているのですが、その辺りはあまり馴染みがなく、イメージしづらいので、大麻取締法とか低投票率について想いを巡らせながら読み進めました。純粋に物語だけで楽しめますけれど、いろいろ考えちゃうのは年取ったからかな。仲間の一人が戻ってくる辺りまでの話が好きかな。

BBCでやっていたドラマシリーズはちょっとみてみたいですね。




ぼくらのぼうけん|夜中に犬に起こった奇妙な事件

外界の情報が選別されずに頭に流れてきてしまうがゆえに、パターン化した行動や、多くの自分ルールをもって生活する少年クリストファー。ぼくとは違った世界の見方をするそんな彼の言葉で語られた物語。

クリストファーが、自分の体験したことについて書いた本、というのがこの本の構造になっています。物語の前半は、題名になっている事件について気にかけながらの日常生活を彼の言葉で描写されています。様々な事象にたいする彼の考え方、周りの人の考え方や行ったことにたいする彼の考察、そういったものを通してぼくとはちょっと異なる彼独特の世界観について丁寧に丁寧に描いています。

事件の核心が明らかになる物語のターニングポイントを境に、物語の後半は彼が自分を守るために作った世界から出て、自分の世界を広げていく過程が描かれます。自分の世界を広げるのは誰にとっても簡単なことではありません。そういう意味で、この物語の後半は冒険譚になっています。僕らはそれぞれに住みよい世界を持っているけれど、それはある日あっさり壊されることもままあります。特に社会的に弱い人達の世界は。
そんなときにいじけず恨まず、自分にできる最善と信じることを実行するのは、きっと簡単なことではないと思うのです。それはきっとクリストファーの冒険のように困難に満ち、意志の力と忍耐を必要とするものでしょう。

多くの人はきっと彼よりも、彼の周りにいる父親や母親などの登場人物たちのほうが感情移入するかもしれません。そんなにも彼の考え方はぼくのものとは違うようにみえます。でも、クリストファーほど異なることはそう多くないにしても、人の考えかたや世界観というものはもともと一人ひとり違うものですよね。ひとの頭の中は覗けないけれど、みんな違うんだってことは常に頭に入れて想像力を持って生活したいものです。

2012年6月3日日曜日

幸せのディティール|友人の結婚式に行って思ったこと


昨日は友人の結婚式で式→披露宴→二次会と参加してきました。オーソドックスなウェディングで、とっても幸せな気分になりました。そのあと、帰り際に一緒に出席した別の友人と話していたときに、彼が「結婚式というのは基本的に成功するものなのだな」と言っていたのが妙に心に残ったのでそのことについて書こうと思います。
この発言をした友人は2次会の幹事をやっていて、結婚式だけでなく2次会のことも含めての発言だと思います。というのも、段取り通りに行かなかったり、当日になってなくなったイベントなどもあって、事前の計画からするとグダグダだったとも話していたからです。それでも終わってみるとすごく幸せな気分になるし、良いウェディングだという印象しか残らなかったということです。
実際、披露宴でも、主賓の一人に前日に不幸があって代わりもたてられなかったり、ちょっとひどいなと思えるビデオレターが流れたり、ひとつひとつのイベントを見ていくと必ずしも上手くいっているわけではないのです。
それでも振り返ってみると、ぼくもその友人も完璧で幸せな結婚式だったという印象が残っていて、これは一体何なんだろうと不思議なのでした。
まあ、2人とも割と鈍感な人間であるし、立場としても新郎友人という同じ立ち位置なので、他の人がどう思ったのかはわからないです。ただぼくの場合は、ぼくが振り返って完全で幸せな感じを受けたのは、幸せを感じさせるディティールが溢れていたからなのかなと思います。
いたるところに飾られた花であったり、ドレスのレースであったり、式場の緑や太り気味の神父の片言のニホンゴや、みなの笑顔や、音楽や、おめかしした人々や、おいしい料理やお酒や。そういう普段から小さな幸せを感じるようなものが、これでもかってくらいつみかさなって配置されて、幸福の上限値を超えて、些細なことでは駄目にならないくらい、完璧で幸せな空間を作るのかなと。

そんな空間を作ってくれた会場の皆様や新婦さんや参加したみなさまに感謝しつつ。二日酔いの抜けた頭でそんなことを思っていました。