20代後半で 46 kg 台の体重を記録して以降、
単に生きているだけでアイドル並みの体重を維持し続ける今年33歳の中年男。


33歳といえば会社でもそこそこの中堅どころである。
言動にはこれまで以上に気を配らねばならないのはもちろん、
外見にも気を配らねばなるまい。男は背中で語るのだ。


年相応の体型と威厳と責任感を獲得するため、まずは 50 kg 超えを目標に
毎日のビール摂取、思い出したようにやる腕立て伏せに励んでいる甲斐あって、
先日ついに体重 49.6 kg まで肉薄した。


体重の測定はバラ付きがあってはいけないので、風呂に入る前に全裸で行っている。


この調子なら 50 kg 超えももうすぐかもしれない。
鼻歌交じりで湯船に浸かってたら、不意に便意が訪れた。
仕方ないのでタオルで体だけ拭き、全裸のままトイレへ。


体が持ち上がるほどのうんこが出た。
しかも、普段よりあったかかったと思う。


興が乗ったので排泄後に風呂に戻ってきてからもう一度体重を測ったら、
48.6 kg になっていた。


1kg のうんこ。実に体重の2% である。
(実際は風呂で汗かいた分も含まれてるだろうけど。)


よく体の 70% くらいは水でできていますとか言うけど、
残りの内、 2% がうんこだった衝撃。


体の 2% はうんこでできています。


僕の体の 2% がうんこでできているということは、
アイドルも同様に 2% はうんこでできているということで、
それはつまり AKB48 の内 1人はうんこでできている計算になる。


アイドルはうんこしないとは昭和の頃よく言ったものだが、
最近はアイドルがうんこでできている。
時代は変わるものですね。


●ハイチに千羽鶴を送るのはさすがに違うだろうという話

差し障りない存在でありたいので、なるべく身の丈を超えた発言はしないようにしてるんだけど、
なんか今日一日頭から離れない。

「痛いニュース(ノ∀`):ハイチ地震被災者に千羽鶴を送ろう!活動がmixiで広がる」

【大勝利】ハイチ地震“千羽鶴”は「迷惑です」現地支援者からの指摘でmixi主催者沈黙★12 - こっちは必死なんだよ(#^ω^)

恥を偲んで書くけれど、僕はこれ読んで違和感を溜め込むまで、
ハイチとタヒチの区別がついてなかった。

こう書いてる今も、ふと隣のインコに目を奪われた隙にどっちかわからなくなるくらいだ。
ハイチは廃地、タヒチは多日地と当て字すると覚えられるようになった。

インコは寝てる。

●想像力の欠如の無限ループ

問題は想像力の欠如にあるんだと思うんだけど、 想像力の欠如を声高に指摘する行為もまた想像力を欠いてると思う。

人は見たいことしか見ないし、聞きたいことしか聞かない。
相手への配慮を欠いた正論は人を追い込むくらいの役にしか立たない。

かくいう僕はそもそもハイチのことを考えてすらいない。


●ビールのお釣りを募金箱に入れるのか?募金した余りでビールを買うのか?そういう問題じゃない


じゃあどうすればいいのかとか帰る道すがら考えてたんだけど
思いつくのは当て字とくだらないダジャレばかり。

コンビニに入ってビールを買った。
ふとレジ脇を見るとハイチ地震援助と書かれた募金箱。
お釣りを思わず反射的に流し込んだ。
もちろん、いつもの一言は忘れない。
「レシートいただけますか」

レシートの要不要を判断するのはこの俺だ!
家に帰ってから捨てる!


ここまでの一連の行為はただの出会い頭だ。


●気持ち悪いの我慢して食べてもアフリカの子どもたちには届きません


僕の嫌いな言葉に
ご飯を残そうとした時に言われる
「アフリカでは満足に食事もできない人もいるんだから、残すなんてとんでもない」
ってのがある。
多分、僕が嫌いなんじゃなくて、松本人志が言ってたんじゃないかと思う。


でも、理由はどうあれ
食事を作った人は、やっぱ残されたら気分悪いし、
きれいに食べてくれたら気分いいと思う。


●大事なのはアフリカじゃなくて、食事を作ってくれる人です


世界はタイチと日本しかないわけじゃないし、アフリカなんて想像上の存在かもしれない。
僕にはただ心を痛め、日々の生活を続けることくらいしかできない。

ハヒチで苦しんでる人がいるんだったら、せめて身内にくらい優しくいたいなーと思った。
ハイチには全く何も届かないけど、僕の周りの狭い世界はちょっとはマシになると思う。


ただ、困ったことに僕には優しさと厳しさの区別がイマイチついてないんだ。

そんなたいした話じゃないです。

黄昏 日光・東北編 39「雨が雨粒になる瞬間。」を読んでて、ちょっと見過ごせない部分があった。
平たく言うと、間違ってる部分。

南伸坊って人と、糸井重里って人の会話の中で、

要約すると、
・とある絵描きが、授業で空気抵抗を別にすると万物の落ちる速さは同じだと習った
・その絵描きは、それならば雨粒も人も同じ速さで落ちるのだろうかと考えた
・確かめるために、雨の日にジャンプして落ちながら雨を見つめた
・そうしたら、いつも糸のように感じている雨粒が粒に見えた
というくだりがあった。


さらっと読むと、おお試したんだ、すげーとか思っちゃうけど、そんなわけはない。


空気抵抗を別にした場合、万物が同じ速さで落ちるのは
落下時間が同じ場合、つまり同じ高さから落ちた場合だ。
等速運動ではなく、等加速度運動なので、
落ちている時間が長くなれば長くなるほど落ちる速度は速くなる。


雨粒は空から落ちてきてるので、
ジャンプして落ちてる自分とは落ちてる時間が比じゃないので
同じ速さになることは、ない。
空気抵抗を別にして考えてるので、完全にない。


そのくだりは南伸坊さんの発言だったんだけど、
それに対しての糸井重里さんは


・そもそも雨を線として捉えてるのは錯覚に過ぎない
・絵描きとして雨を線として表現する描き手の都合が許せなかったんじゃないか


みたいな返しをした。


それがいいなーと思った。
たとえば、そこでそれは間違ってますよ!って言っちゃうと、そこで話終わっちゃうもんね。


そんな感じで、正論とか誤りの指摘とかは
相手を黙らせたいときとか追い込みたいときくらいにしか使えないよなーって思った。

正論がそう思われたのはとばっちり。


本日(2009/11/4)未明にリリースした Twhich(ついっち) ですが、恥しながらとても大切なことを忘れていました。


このサービス、期間限定です。
その余命、1ヶ月。


そもそも Mashup Awards 5(MA5) に応募するため作ったのですが、
使用している「日本語解析エンジン なずき」
MA5 開催期間限定公開の API だったんです。
なずきの利用規約(PDF)


企画段階ではそのこと覚えていたのですが、途中からすっかり忘れてまして
どうせ作るならってドメイン取って、
レスポンス遅めだからアニメーション付けて、
しかもこっそり応募してりゃいいのに得意げに公開しちゃったりして俺涙目です。


短い間ですが、Twhich をよろしくお願いします。


なずき API の公開終了後も、一度集計したデータは残しておきますので、
リンク切れの心配はありません。


なずき API、ほんとおもろいんですけどねえ。
残念です。

twhich (ついっち)

入力した言葉が Twitter 上で好意的につぶやかれているか、
或いはその逆かを簡単に検索できるサービス「Twhich (ついっち)」をリリースしました。

Twhich の使い方


twhich1.png 「好き/嫌い」を調べたい言葉を入力し、ボタンを押します。
twhich2.png 集計には少し時間がかかるので、検索されたつぶやきを眺めながら時間をつぶしてください。
twhich3.png 結果がグラフで表示されます。 結果のページはパーマリンクなので、ブログ等に URL を貼って他の人に結果を見てもらうこともできます。


Twhich の特徴


速報性の高い Twitter を検索対象としたことで、 入力された言葉が Twitter 利用者層において、 「今」どう思われているかがわかります。


好きか嫌いかだけでなく、その判定の元になった言葉も表示するので、
ストーリーを想像することができます。


Twhich のコンセプト




「Twitter で100人に聞いたかのように好き嫌いが検索できる」


ちょっと興味があるけど買おうかどうしようか迷っている商品、
または自分は好きなんだけど、他の人はどう思ってるんだろうなんて思う物事について、
ネットで調査する方法はいくらでもありますが、
膨大な情報量の中から結論付けるのは大変です。


Twhich では、速報性が高く、生の声を拾いやすい Twitter を検索対象とし、
また一つ一つのつぶやきに対する判定は表示せずに
最終的な集計結果だけをグラフ表示することで、
簡単にわかった気になることができます。


マーケティングツールとして利用できるほどの正確性は保証しません。


Twhich の仕組み




「100人に聞いたかのように」とはいいながら、実際に聞いているわけではありません。
入力された言葉を含む twitter 上のつぶやき直近100件を取得し、
そのつぶやきを連結した上で、日本語解析エンジン「なずき」にて、
感性表現を抽出して集計し、グラフで表示しています。


グラフの作成には Google Chart を利用しています。


Twhich (ついっち)

このサービスについてのお問い合わせ先


pm11op+twhich at gmail.com ( at を@に変換してください) までどうぞ。

僕は普段、図とか資料とかさらーっと書けるようになりたい気持ちに
向き合わないようにしながら生きてます。


そんなわけで、ちょっと前ですが、ドキュメント勉強会に行って来ました。

以下、感想です。

  • 読み手をいかに意識するかが大切だなーと思った。
  • 読み手に伝わりさえすれば何でもいいかもなーとも思った。
  • 特に後半がおもしろかった。
  • 中でも yabumaru さんの相変わらずのぶっちゃけぶり(内部資料公開?)と 増田さんの Office なんか使いたくない!(reStructuredText + rst2pdf) の発表が最高だった。来てよかった。
  • 懇親会では Poken 祭りのアウェーの中、My Name is E を宣伝して来た。

    ↓よろしくね。

    http://www.mynameise.com/pm11op


  • みんな Poken は窓から投げ捨ててから iPhone 買って My Name is E 使えばいいと思う。

  • うそですごめんなさい!

AuthComponent の詳しい使い方はマニュアルに書いてあるので省略

admin routing を有効にして、admin_*** っていう action の時だけ認証かけたい。

ググってもそれらしきものがなかったので忘れないうちに書いとく。

AppController を下記のようにすれば OK。

class AppController extends Controller {
  var $components = array('Auth');

  function beforeFilter() {
    if (Configure::read('Routing.admin') && isset($this->params['admin'])) {
      // AuthComponent の設定とかあれば書く
      $this->Auth->fields = array('username'=>'name', 'password'=>'passwd');
    } else {
      $this->Auth->allow($this->params['action']);
    }
  }
}

単純に admin が含まれてなかったら動的に allow してるだけ。
これで一々 action 名を allow しなくていい。

はじめて使ったけど、AuthComponent めちゃくちゃ便利だ。

第2回 CakePHP 関西勉強会でLTしてきました。

発表資料を公開します。
プレゼン初心者御用達ツール「高橋メソッドなプレゼンツール in XUL リターンズ」を利用させてもらったので
Firefox でしか見られません。
内容は後日エントリに書きます。

Plugin の名前と URL がキモいのを何とかする

以下は当日の内容と感想です。


shin1x1 さん


「フックメソッドを極める」

CakePHP のフックメソッドを網羅。
知らんやつがいくつかあって、特にComponent の「beforeRedirect」は便利そう!
Model の onError も使いどころありそう。
細かい内容なのに、すごいわかりやすいのはさすがだなーと思った。
CakePHP1.2本も買うつもり。今度はサインしてください。


しかし主催(多分)x司会x発表トップバッター
そのエネルギーは一体どこから。。。

slywalker さん

「究極のコントローラを目指す」

Good Cake の証?Controller の中身を空にするまでの偏執狂的記録。
随所に超ためになる内容満載。

Configure::write, Configure::read の使い方が斬新というかその発想はなかった感じ。あれは普通にやることなのかなー。
あと、Inflector クラスとか Set::merge とか file upload のエラー処理は
Behavior でやるのがよいとか絶対マニュアルだけ読んでたんじゃわからない。

yabumaru さん

「RubyOnRails から CakePHP へ 」

もごもごの中の人!


RoR と CakePHP の比較。
こういう他の言語をやる人の視点ってすごい重要だと思う。
どんどん使えるところが増えてくもんだと思ってたRuby の現況に驚いた。
事例紹介の内容もぶっちゃけすぎじゃないかとみんな心配になるくらいの内容で、
むちゃくちゃおもしろかった。
はっきり言ってお金払ってもいいとすら思った。


msng さん


「CakePHPでこんなの作ってみました。」


元高校教師だけあって、すごい軽妙なトーク。
「名前をつけてやる」僕、こういうのに投稿するの好きだ。

「名前をつけてやる」って強烈な印象だけあって、
大槻ケンヂの歌だっけ、誰かのアルバム名だっけって
肝心な部分が思い出せなかったけど、スピッツの曲でした。

あと、職種「ブロガー」を自称されてるだけあって、
ブログみに行ったら、あー知ってる!読んだことある!っていう
ホッテントリいっぱいあった。おもろい。

keisonさん

「CakePHPでPDFを出力してみる 」


PDF 出力はめんどくさい。
座標合わせにグリッドを出すっていうアイデアが秀逸!

自分の発表直前ということもあり、
強烈な尿意に襲われてたこともあり、
ちょっと上の空だった。

pm11op

資料作ってるうちに内容ふくらみすぎてとても10分で
収まらない内容を無理やり10分強くらいでしゃべったので、
かなりバタバタしたのが反省点。

もっと内容絞って丁寧に喋った方がよかったなーと他の方の発表みてて思った。


あと、ピザ→ひざ→そこはひじ!のくだりも、
前フリと、ここ、オチてますよ!のアピールはもうちょっと丁寧にやるべきだと思った。
だだスベリだった。


懇親会とか

今回、仕事にかまけて勉強会の日程と足元がおろそかになってて、
気づいて申し込もうと思ったときには、募集枠埋まってて、
slywalker さんが twitter でうながしてくれたおかげてLT枠でギリ参加できた。


と思ってたら、懇親会で shin1x1 さんが僕のLT参加を待ってたみたいなことを仰ってて、
実は twitter での follow のタイミングもそれを狙ってたらしく、
そういえば確かにそのおかげで勉強会のこと思い出したし、
ってことはひょっとしてこのエントリ
ちょっと僕に向けられてた部分もあるんだろうかとか思ったら
もう申し訳ないやら情けないやら偲びねえやらで、
まあとにかく間に合ってよかったと思ったのでした。


楽しかった。

新型インフルより、GENOウイルス及びその亜種の方が怖い気がしてる
今日この頃、皆様いかがお過ごしでしょうか。

自分がGENOの感染源になって二次感染まで引き起こした日には おまんま食いっぱぐれかねないので、
簡単に C:\WINDOWS\system32\sqlsodbc.chm が改ざんされてないかをチェックする
バッチファイルを書いてみました。

今のところ、ファイルサイズ(50,727バイト)で確認できるようですが、
今後ファイルサイズをぴったり合わせてくる亜種が出ないとも限らないので、
ファイルサイズだけでなく、ハッシュ値も比較します。

見よう見まねなので、おかしな部分があればご指摘いただければ幸いです。

手順が多少ややこしいです。

  1. まず、フォルダを新規作成。適当に「genoChecker」とか名前をつける。
  2. Microsoft のサイトから、ファイル チェックサム整合性検証 ユーティリティをダウンロード。
    適当な場所に保存して、さっき作った「genoChecker」フォルダに解凍。
    • この fciv.exe を使ってハッシュ値を比較します。
  3. テキストエディタを開いて下記のスクリプトをコピペ。
    適当なファイル名「checker.bat」をつけて「genoChecker」フォルダに保存。
    拡張子は「.bat」にすること。

    @echo off
    if exist C:\WINDOWS\system32\sqlsodbc.chm goto FILE_EXISTS
    goto END
    
    :FILE_EXISTS
    for %%F in (C:\WINDOWS\system32\sqlsodbc.chm) do  @if %%~zF == 50727 (goto SAME_FILESIZE) else goto INFECTED
    
    :SAME_FILESIZE
    fciv.exe C:\WINDOWS\system32\sqlsodbc.chm > hash.txt
    for /F %%i in ('findstr chm hash.txt') do @if %%i == f639afde02547603a3d3930ee4bf8c12 (goto END) else goto INFECTED
    
    :INFECTED
    echo 感染してる可能性があります!今すぐLANケーブル引っこ抜いて!
    pause
    
    :END
    echo 感染してませんでした!
    del hash.txt
    pause
    
  4. あとは「checker.bat」をダブルクリックでいつでも sqlsodbc.chm への改ざんの有無を確認できます。

この方法は、sqlsodbc.chm が改ざんされていないかを調べるためのものです。
ウイルス感染の有無を調べるものではありませんので、ご注意ください。
(sqlsodbc.chm を改ざんしない亜種とかその他のウイルスに感染しててもわかりません)

こちらのサイトを多いに参考にしました。ありがとうございます。
GENOウイルスまとめ - 対策と駆除方法

最近はFTP使う前とか電源落とす前とかこのファイル目に入ったときとか
必ずこのバッチファイル実行してます。
マスクも欠かさずしてます。

とりあえず僕がやりたいのは、はてなキーワードみたいに、
登録されてる単語にリンクを貼るみたいなやつ。

どうも Darts というライブラリを使うとそれっぽいことができるらしい。

てことで、まずは Darts をインストール。
MacPorts で簡単簡単

% sudo port install Darts

mkdarts も勝手にインストールされる。


darts をどう使うかはこちらの通りにやったら口半開きのままできる。
Dartsを試してみた - ダウンロードたけし(寅年)の日記


まず、改行区切りのキーワードリストを作る。

keywrods.txt


うんこ
ちんこ
インコ

で、sort するんだけど、この時 export LANG="" しておかないと、
マルチバイト文字がちゃんと処理されなくて、mkdarts 時にエラーになるらしい。
sort したものを mkdarts する。
何も考えずに port install したので、

/opt/local/lib/darts/mkdarts

に mkdarts がインストールされてた。気にしない。
気にしないけど LANG のこととか一々めんどうなので、まとめてシェルスクリプトにした。

#!/bin/zsh
export LANG=""
sort keywords.txt > keywords.sort
/opt/local/lib/darts/mkdarts keywords.sort keywords.da

これでキーワードリストがいつでも作れるようになった。

次に、dankogai 氏作の Text::Darts をインストール
CPAN 使えばこれも簡単簡単。

% sudo cpan
cpan>  install Text::Darts

ここまでできたら同じく dankogai 氏の
404 Blog Not Found:perl - Text::Darts 0.02 Released!

サンプルスクリプトをコピペして、さっき作ったキーワードリストを読み込ませるようにちょっと変更。

#!/usr/bin/perl

use strict;
use warnings;
use utf8;
use Text::Darts;

my $str = 'うんこれは簡単だ!楽ちんこの上ない。';
my $td = Text::Darts->open("keywords.da");
print my $newstr = $td->gsub($str, sub{
qq(<a href="http://dictionary.com/browse/$_[0]">$_[0])
});

# 出力結果 '<a href="http://dictionary.com/browse/うんこ">うんこ</a>れは簡単だ!楽<a href="http://dictionary.com/browse/ちんこ">ちんこ</a>の上ない。'


できた!
perl 楽しい!
別に perl 書いてないけど!

あわせて読みたい