D-7 <altijd in beweging>

Day to day life of a Perl/Go/C/C++/whatever hacker. May include anything from tech, food, and family.

2009年10月

肉汁やソースにまみれて消えていくバンズッ

圧倒的な肉の質量ッ

・・・Windows7 ワッパーは圧倒的だった・・・。

以前にも巨大なカレーの山などを制覇してきた我々は、まさに1年以上ぶりに、Windows7 ワッパーという怪物と戦うことにしたのであった。はっきり言おう、正直なめていた。たかだか800g弱のビーフパティーにバンズと野菜少々なんてたいしたことない、そんな気さえしていたのだが・・・・

とりあえず、挑戦者は弊社3人。ご相伴の方はワッパーJr。それにWindows7 ワッパーを三つ、俺以外の二人は何を思ったかセットで。俺のおごりなわけだが、全部で5740円もしました。バーガーキングで5000円超えるっておかしくね?

事務所に持って帰り、いざオープン。何この大きさの違い。

091030_1318~01.jpg

で、まぁ食べたさ。食べたんだけど。最初はまぁかぶりつくのに顎が外れそうってこと以外は普通のバーガーキングで、うまいんだよね。だけどどこかで突然肉の味しかしないことに気づいて、しかもその味に飽きるんだな。バンズとかソースとか野菜とか、手助けになりそうなもんだけど、相対的に全然ないも同然だから。ただ単純に間に何もいれずにパティーが7枚あって、それにえんえんとかぶりついていると考えてくれ。

そんなこんなだ食べ始めるときの俺のこの笑顔も、

39440501.jpg

当然こんなになるわけだ。

39439608.jpg

途中、あまりにも味に飽きたのでスタッフを買い物に走らせてマヨネーズとケチャップを買ってきてもらい、なんとか完食。肉だけの味って本当にやばいぜ・・・・。最後の最後でパティーが1枚半分くらい残ってて味もどうしようもなかった時は本当に途方にくれてしまったわ。最終的にはアイテムの力を借りてなんとか800gの肉を完食いたしました。



39440640.jpg
あとうちのエースで4番の33rpmはアイテムの力も借りずにぺろりと食って、平気な顔をしていた。さすがエヴァンゲリオン初号機似。

あれ、キミ痛風だよね?肉食って良いの









最後に言っておくがこれは「ハンバーガー」という食べ物では決してない。「肉の塊」です。

ちなみに強制参加ではありませんので、そこのところよろしくお願いいたします。
    このエントリーをはてなブックマークに追加 mixiチェック

ミニブログサービスで先行するTwitterと差別化を図った上で新たなサービスを出すのは面倒くさいので、id:miyagawa氏のコードを丸々パクった上でTwitter支援ツール、Hamakiを昨日の夜からちょこちょこと開発しました(本当はTwitter以上に色々できるんですが、そのあたりはまださわってない)

もう自分がやりたい事はだいたいできるようになったのでとりあえず公開です。

まず前提としてTwitterを使ってていくつか不満な点があったわけです:

  • Twitterで特定のアプリの発言がちょっぴり気になるので自分のTLに表示したくない
  • かといって上記アプリの発言している人たちの他の発言は読みたいので、それらの人をremoveするのもしたくない。
  • あと、全般的にtwitterをリロードするような事をしていると非常に効率が悪い
  • かといって、今のところアプリを気に入ったアプリも存在しないし、第一おれは色々カスタマイズしたいんじゃ、ゴルァ。
ってことで、Plackベースの非同期エンジンTatsumakiを使用したHamakiです。こんな感じで見れます。

hamaki.png

ほしかった機能としては、まず自動ロード。一回ページを読み込んでしまえば、その後は置いておけばJSが勝手に新規発言をロードしてページをリフレッシュしてくれます。

これはAnyEvent::Twitter::StreamでTwitter Stream APIを使うことによって実現してます。ちょっと仕組み上、普通のTwitter TLとは表示内容が違ってきますが、僕はこっちのほうが好きだったりします。

あと、フィルタリングができます。例えば、発言内容によって更新を無視したりできるわけです。

ちなみに今回使った設定はこれですね。ごめんね、radiotube。
で、最後に、元々のパクったソースコードにはなかった機能、Twitterに自分の新発言を送信する部分を追加したので、このUIだけでTwitter的な事はほとんどできてしまうことになります。まぁ、DMとか@自分とかはみれないけど、そんなんたまにしかみないし・・・

設定ファイルを書いたらあとは./script/hamaki.pl --configfile=config.yamlってするだけ!サーバーが立ち上がるのでそこにブラウザで /chat/twitterとかにアクセスすれば上記画面がでて勝手に更新してくれますお。

とまぁ色々書きましたが、実際の構造のほとんどはid:miyagawa氏のものですね。元々Tatsumakiに入っているデモ用のスクリプトdemo.plが素晴らしかったので、僕はこれをががっとファイルごとにわけて整理して、スコープが違ってもデータを共有できるようにして、Twitterにポストする機能と、それを実現化するためのTatsumakiフレームワークの拡張を子クラスで行った程度です。なので、miyagawa++, Tatsumaki++, Plack++ なのでした。
    このエントリーをはてなブックマークに追加 mixiチェック

091021_2035~01.jpg飲んだ。

...

...


...




爆死した。しょうじきキュウリ味よりまずいきがした。ただ、最初の一口は明らかに小豆の味がした。そこはさすがペプシというべきか。
    このエントリーをはてなブックマークに追加 mixiチェック

PSGIだPlackだって某IRCチャンネルでお祭りをやっている最中金策に走っていたので、まださわっていなかったのですが、とりあえず練習でさわってみました。

http://github.com/lestrrat/GitPlack

結論からまず言います:WAFを作りたいんじゃなければとりあえずCatalystとか使っておけ。

私の見解は以下の通り:

PSGI/Plackは統一された、しかも非同期エンジンを念頭に置いて考えられた仕様・実装なのでその点は素晴らしい。だけど、Plackはフレームワークではないし、とりあえずアプリを作る分には我々凡人は普通にフレームワークを使っておけばいい。・・・という感じ。

結果的には2時間くらいでWAFもどきとgitの情報を表示するアプリを作れたし、こういう仕様があるのは素晴らしい事です。

細かいところだけど難点はリスタートサーバーが動かないところくらいかなぁ。でもこれもそのうちなおるんじゃなかろうか。

追記: 10/21の時点でgit レポジトリ版はplackup -r とすることで自動的に再起動がちゃんと動くようになっています
    このエントリーをはてなブックマークに追加 mixiチェック

091017_1948~01.jpg日本在住の外国の方々からおすすめされたMeatGuyからとうとうお取り寄せ。名古屋からはるばる送られてきたよ、肉がっ!

今回は白ソーセージ、コーンビーフ、鶏のハツを頼んだのさ。でも正直鶏のハツは食いきれねぇってことで明日実家にお裾分けしてくるっ!

ちなみに一番でっかい箱がハツだからね!ソーセージは輸入品で3パック。コーンビーフは手作りらしいぞ。これで5000円くらいっす。
    このエントリーをはてなブックマークに追加 mixiチェック

091017_1929~01.jpg
パスタじゃーーーー!

タマネギのみじん切りとニンニクを炒めます。青臭いのが嫌いなので弱火とじくじくと炒めつつ、白ワインもちょっとだけいれたりします。

適当なところでシーフードミックス投入。前回作った時に微妙にシーフードが足りなかったのでスーパーで特売していたホタテを入れます(ホタテのヒモはお昼に醤油バターにして食べてしまいました)。もう少し白ワインを入れたりしつつ、水分が多くなりすぎない程度に注意して炒めます。サイコロ状にしたトマトをいれます。さっぱいしますからね!

トマトを入れてから味付け。基本的に塩、こしょう、ブイヨンだけです。本当に気持ち、濃いめに作りますよ。スープとしておいしいレベルで作っちゃうとパスタを絡めたとき薄いから、すこーしだけ濃いめに作るんですよ!

フライパンに気持ち固めにゆでたパスタを投入して、オリーブオイルをたっぷり入れます。さっと絡めたらできあたり!お皿に盛ったらパセリをかけてね。
    このエントリーをはてなブックマークに追加 mixiチェック

[2010/10/21 追記] Makefileいじらないでもいいようなモジュールが出てますのでこちらの新しい記事もどうぞ



Test::mysqldを使うとクールにMySQLを起動させられるので、それを使おうとしたんだ。でもおいらのローカルにあるmysqlをMacPortsのmysqlで、ファイルレイアウトがメタメタなんだ。だからまずこんな感じで、Test::mysqldを継承するMyApp::Test::mysqldを書いたわけさ!

必要とあればMacPortsとかの環境じゃなくてもMYSQL_INSTALL_DBとMYSQLDを設定すればテスト時にTest::mysqldが見るバイナリを変更できるのがミソだね!

さて、これを使っても、何個もテストスクリプトがある時に一回一回mysqlを立ち上げ直してちゃ意味がない。遅いし、毎回DBの設定をしなくちゃいけないじゃないか!

だもんで、まずmake testが走るときに前もってTest::mysqldを起動させ、make test 終了とともにDBが停止するような仕組みをMakefile.PLに書いてみたわけさ!


Oh, how very unpleasantly hack-ish!

汚いけど、これでMakefileをいじっちゃうわけだね!ちなみにModule::Installも同じような力業でMakefileを編集してるよ!

ともあれこれでmake testとした時に自動的にMyApp::Test::mysqldが立ち上がるってわけさ。$SIG{INT} = \&exitってしておくのは、ユーザーがCtrl-Cした時にTest::mysqld::DESTROY()が走るようにするためのおまじないだよ!

mysqldが立ち上がったら、そこへの接続情報を$ENV{TEST_DSN}につっこんでおくわけさ。これでテスト側からこの値を参照するだけでDBに接続できるわけだね。

ここまで来たらもう一歩!

  • DBIx::Classを使ってるんだから、DBスキーマも自動的にdeployしたいじゃない!
  • それぞれのテストでTEST_DSN呼んだりするの面倒くさいよね!
  • 単体のファイルを実行した時は、mysqld起動+deployを各ファイルでやってほしいけど、make testの場合は1回だけ実行したい!

こんなワガママなキミはそれ用のラッパーを作ると便利かもね!そこでこんなMyApp::Testを書いたわけさ(3回目)!

ここでは僕の自家製DIコンテナOrochiってのを使ってるのでわからないことだらけかもしれないけど、重要なのは以下のことさ!

  • MyApp::Schemaは$self->assembler->get('schema/master')とすることにより、すでに生成されているならその値を、そうでなければあらたに生成した値を得ることができる。
  • MyApp::Schemaの生成には 'schema/master/connect_info'というデータが必要
  • connect_infoのDSN部分は、$ENV{TEST_DSN}が設定されているなら、それを利用する(mysqldはMakefileによって起動している)が、そうでないなら、自分でmysqldを立ち上げる。
  • その際、空のデータベースを立ち上げただけでは意味がないので、deployフラグもつけておく
  • deployフラグがたっている場合は、DIコンテナからschemaを取り出す際にdeployもしてしまう
こんなことをしておけば、make test時に一回一番最初だけに実行されるt/000_setup.tみたいなファイルを用意してMyApp::Test->new()->deploy()すればmake test中には一回しか起動+deployはされないし、各テスト実行時にもMyApp::Test->new()しておけばMyApp::Schemaを使用する時に自動的に同じ事が起こるわけさ!

じゃあもう眠いから、アディオス!

    このエントリーをはてなブックマークに追加 mixiチェック

家に帰ったらあったので早速読んだ。作者の「中央アジア文化が好き!」という情熱が見える良い作品。書き込みの量も半端じゃねぇ。

難を言うとしたら、これはあれだ、その1年に一回刊行されて、しかもその1冊1冊の中ではなかなかなんの事件も起こらない感じがするので、気長〜〜〜〜〜にストーリーが進むのを待つしかない、ということですな。うちみたいに単行本オンリーの場合はちと辛い。

しかし森さんは絵がうまいなぁ。
    このエントリーをはてなブックマークに追加 mixiチェック

11/14のFukuoka Perl Workshopにおじゃまする予定です。

登録等はこちらから:http://atnd.org/events/1834

東京以外のPerlの利用状況とか、使用者の声を聞きに行くのと、なんか一席お話をさせていただきます。話す内容が決まらないのでリクエストとかあったら是非お願いします!

相方からは明太子を買ってこいとの厳命を受けております。
    このエントリーをはてなブックマークに追加 mixiチェック

東急エコウォーク(どこらへんがエコだか全然わからんかったが)江田駅からいわゆる港北ニュータウンを通ってたまプラーザまで歩く道。

距離は11kmくらいでちょろいちょろいと思っていたんだが、思っていたより上り下りが多い・・・気がついたら結構疲れてた。っていうか、たまプラーザ駅に向かう最後の500mくらいがずっとゆるめの上り坂なんだけど、最後の最後でこれかい><

ともあれ、途中の公園とか、歩道のあたりはとてもよかった。また機会があったら歩きに行きたい。
    このエントリーをはてなブックマークに追加 mixiチェック

前の日記にも書いたけど、祖父が亡くなった。もう何年か前に父方の祖母が亡くなった時の話を書いた記憶がある。そのときと同じ感情で、正直一緒にほとんど時間を過ごしていない人はたとえそれが血を分けた祖父・祖母とは言えど衝撃はあまりなかった。失って悲しい気持ちというよりは単純に、ああ、そのときが来てしまったんだなという認識だった。

ただ、今回の祖父の件が以前の祖母の件と違うのは、自分が日本にいたこと。祖母の場合、確か自分はすでにアメリカにいたかなにかでそもそも葬儀の一連の儀式に参加していなかった。

今回は実は人生始めての葬儀。前述のようにそういう事があっても日本にいなかったりしてまったくこの手の冠婚葬祭に参加していないのだ。ともあれ、今回葬儀って面倒だけど重要だなぁ、という他色々思うところがあったので自身の記録のためにも書いておく。

9月28日に危篤の報を受けたものの、とりあえず当日は色々とあったため、次の日に病院に行くことに。次の日行ったら鎮静剤だかなんだかが効いているのか、ぐっすりと寝ていてなんか大丈夫そうな雰囲気が出てたのでとりあえず東京に戻り、アポ2件をこなした。

夜中に携帯の電池が切れたまま寝てたのだが、どうやらその間に容態が急変したらしい。9/30の朝方に祖父は亡くなってしまった。その日のうちに近親が集まり、葬儀屋も来てその後の予定がばんばんと組み上げられる。会社のスタッフに香典を用意してもらう手はずや、花をあげる用意を親経由でお願いしたり。

葬儀屋という人たちは淡々とこういう手はずを整えていってしまい、しかも商売にしてしまうのが端から見るとちょっといやな感じがするかもしれないけれど、死というのはいつも突然来る物であろうことから親族にはどうせその時点では判断能力がないわけで、そういう意味ではレールに乗っかっていれば数日内にそれなりの葬儀ができてしまうというのは良いことなんだろうな。

お通夜を10/2に行った。家から斎場に連れて行くために納棺をしなくてはいけないわけだが、ここでも葬儀屋というか、葬儀という儀式にちょっと感心してしまった。死出の旅のための服装を整えるという名目で手足と頭にいくつかの旅装をつける儀式があった。それまで自分は祖父の体には(怖くて)さわらなかったのだけれども、二人一組で足や手を持ち上げながら一結びずつ紐を結わえて行かないといけないこの儀式では必ず遺体に手を触れないとこなせない。この段階でドライアイスで冷え切った体からはとっくに生気がない現実に直面させられる。

祖父の体は冷たくて硬かった。

服装が整えられた後、シーツで祖父の体をくるむようにして、男連中と葬儀屋の人で棺の中に入れる。重い・・・が、同時に軽い。こんなに軽かったのか、とここでもまた死を認識させられる。

お通夜は至極普通に。坊さんが来て、読経をしながら後ろでお香をあげていく。その後来ていた遠い親戚の人たちも合わせて夕食。30年ぶりに会う人とか。さすがに酒はまずいだろうと思ってジュースを飲んでいたが、酒を飲んでいる人もちらほら。まぁにぎやかなほうがいいよね、とは正直思う。出された寿司が普通にうまかった。

その日は実家に泊まり。さすがにここでは帰り際にビールを買い、かっくらってから就寝。

翌日は昼過ぎから告別式。告別式自体も特にどうこうということはなく。全日と同じく坊さんが読経するなか、お香をあげる。今時はやはり葬儀の直後すぎて人が集まりづらいのか、初七日の読経も告別式中に済ませてしまうらしい。その後棺にふたをする前に献花を短く切ったものを棺に入れていく。最後のお別れというものか。

本来なら釘でふたを固定するべきなんだろうが、多分火葬場の施設の問題だろう。釘等は特に使わず(棺に金属製の物を入れるのも控えるように言われたので、多分金属がいけないのかと思われる)、みんなで手をふたにかけ、釘打ちに代える。男衆はその後霊柩車に棺を納め、火葬場に。

火葬場では(多分ここで人間の姿をしているのが最後だし、家によっては一悶着ありそうな感じもあるからだと思うが)もう有無を言わせず、棺を焼き場の炉の中に入れる。今回の一連の葬儀の中ではここが一番嫌だった。病院の匂いというか、老人ホームの匂いというか、あの妙に薬品で清潔にしたような匂いがする場所だった。

その後1時間ちょい、別室で待機。ここで親戚の住職さんから勧められビールを少々。本当は1時間弱くらいで終わるという事だったけど、祖父は大分時間がかかったらしい。また焼き場のほうに通されると祖父はすでに焼けてスカスカの骨だけになっていた。

祖父は体を患っていた最後の時まで入れ歯などは必要とせず、全て自前の歯だったので本当に調子を崩す時までガツガツ肉を食べてた人だった。歯もしっかり残ってて、ああ、あれはやっぱりじいちゃんだったんだな、とふと思った。

そうしているうちに我々がお骨を拾う番。妹と一緒に足の骨を骨壺に納める。以上で火葬場は終了。

骨壺2個に収まった祖父を伴って駅に近い割烹へ。精進落としの料理を食べて、一般の方は解散。我々近親だけは祖父母の家に一度もどり、最後の処理をすませて祭壇をかざり、お線香をあげた。

その後、今度は自分の家族とともに実家に。供物で出てた果物をとりわけ、俺はやたらとリンゴをもらった。家に帰ってからコンビニに行き、またビールを2本買って、かっくらって寝た。




次の日、大量のリンゴの皮をむき、砂糖、白ワイン、レモン汁と煮込み、コンポートとジャムの中間のようなものを鍋一杯分作った。

メールを見て、日にちがものすごいたっていて愕然とする。そうか、危篤の報をもらったのが一週間前だったのか、などと思いつつ、以上を書いた。ながかった。

残った祖母や、母親には元気でいてもらうためになにかしないとなぁ、とは思いつつ、今のところ何も思いつかないでいる。
    このエントリーをはてなブックマークに追加 mixiチェック

なんだか大分ブログ書いてない。

本来もう少しYAPCについて書くところなんだけど、YAPC前後にすげぇ調子を崩して正直YAPCの期間中の事はよく覚えてないのと、まだJPAのYAPC反省会を開催できてないないのでまだ控えている感じ。

自分の体力気力ともゼロだったので、体調復帰直後から肉を大量に摂取して(焼き肉やらしゃぶしゃぶやらジンギスカンやら)、シルバーウィーク中は突然思い立って宇都宮に餃子を食いに行ったり。

そしてそろそろエンジンかけるかぁ、というタイミングで祖父がなくなった。春頃にぎっくり腰から寝たきりになってしまって、いくらここ数年体調を崩していたとは言え、殺しても死にそうにない祖父の容態がその後まるで坂を転げ落ちるように悪化して、連絡を受けた時にはもう「危篤」という言葉が飛び交っていた。そして結局その後あっというまに亡くなってしまった。

昨日お通夜があって、本日告別式。
    このエントリーをはてなブックマークに追加 mixiチェック

このページのトップヘ