2006年11月アーカイブ

久しぶりにパッチ書いた。



久しぶりに結構でかめのパッチ書いた。少しCatalystとか、NEXTを使うモジュールのディスパッチ機構にもなれてきたぞー。


謎のリファラー



何見ながらこの日記読んでんだYO!



http://image.blog.livedoor.jp/av_act/imgs/5/1/51129490.jpg



こういう事するのって多分IEだと思うんだけど、リンク元以外のURLをリファラーとして送るのなんとかならんかなぁ。




大根おろしで山菜とエリンギを入れたみそ汁を作成。白味噌でちょっと砂糖も入れて甘めに。豚肉は味噌、醤油、酒、ニンニクにしばらくつけておいてから、筍の水煮とネギと一緒にサクサクっと炒める。うまい!温められた大根おろしが体を温めてくれる。甘みもあって、ちょっと関西風味かな。豚肉がまたいいいいいい感じの味付けになった。最近久しぶりに連日自炊するようになってやっと料理の勘を取り戻してきたなぁ。


ちょっと気になる

TT with multiple providers




http://unknownplace.org/memo/2006/11/27#e002



おお、なるほど。社内デプロイの場合はそれでいいなぁ。


大根、筍、豚肉炒め



ブランチ?として大根と筍を細切りにして豚肉と合わせて、ニンニク、味噌、醤油、酒、胡椒で炒めてうまうま。


Catalyst::Controller::REST



久しぶりに人柱となるべく使ってみた。結果から言うと、これはまだまだα段階。導入する段階で相当エラーが出まくった。ただいまパッチを提供すべく、レポジトリがあるかどうか作者に問い合わせ中。




なんか大分良くなってきた!薬は相変わらず飲んでますが。


某ウェブページ



さくっと終えた!10月に溜まりまくってた宿題がほぼイーブンになりつつあるぞー。


neonか



あ~、わかった。neonが入ってなかったからsubversionの挙動が変だったんだ。ということでneonをDL、subversionのディレクトリ以下に展開してconfigure, make, make install


ぽいっ



夕飯はキャベツ、豚肉、トマトのミルフィーユ仕立て。ほとんど水分を入れず、あくまでキャベツから出る水分で煮る感じ。味付けはワイン、ブイヨン、オリーブオイル。隠し味は味噌。味噌がうまい。


8時くらいからまた仕事。ぐるるる。なぜsubversionがコンパイルできるのにcheckoutできないんだ・・・ぐるるるる。


一応それ以外の設定は全部済ましたけど、今日の分としては飽きた。ぽいっ


牛筋カレー



オヤジは形から入る人で、色々と道具を買いまくってるのだが、そのなかの一つが「シャトルシェフ」で、これをまた大きいサイズと小さいサイズ二つも買っていた。今度帰国を期にそのうち一つを俺にくれた。内部の鍋を保温のする外部の入れ物に入れておくと80度の温度を8時間保ってくれるというもの。


で、これを全然使ってなかったのだが、昨日の夜から牛筋を煮て、それでカレーを作ってみた。10分牛筋とセロリを煮て、そのまま保温状態へ。で、朝になっていい感じになってたのでゆで卵を作って、牛筋カレー。うまあああああい。うまいねぇ。


牛筋とかの出汁はうますぎる。


ウォーキング



折角の天気だし、思い立って東京散策に出てみた。


根津から始めて、根津神社、小石川植物園(中には入らず)、護国寺ときて、あとは早稲田方面から最終的に新宿までてくてく。根津神社は結構好きな感じだ。護国寺の門もさすが元禄時代からあるだけあって、質感がグッドです。早稲田の辺りでは全然その気もなかったのに、数年前にあのたりを散策した頃と同じルートを通ってしまっている自分に気づいてちょっと笑った。全部で10kmちょいかなぁ。


そういえば護国寺の本坊もよかったけど、その横にある薬師寺がまたなんともいい味だしてたなぁ。




酒ものめねぇが、一人鍋。豚肉とー、ネギとー、こんぶ。以上!あとは大根おろしたっぷりでばくばく。残った出汁に大根おろしの汁も入れて塩こしょうで味をととのえて、それをご飯にかけて。


いやぁ、うまいうまい。


小康状態



爺様は小康状態になって、うちの親のほうがついているのでとりあえずすぐにどうこうってのはなさそうだ。旅行中に怪我したので遠方の病院のほうに入院している上に面会時間一日5分とかだから見舞いにもいけないし、もう普通に過ごして待つしかないなぁ。




とりあえず胃の状態は落ち着いてきたけど、これからしばらく薬を飲みつつ、控えめにやっていくしかないなぁ、と。


小康



じいさまは小康状態を保っているようだ。脳挫傷と脳血腫らしいが、今はもう待つしかない。


life



両親はもう付き添っているとの報告があるので、もういまさら俺がじたばたしてもしょうがない。伊豆のほうの病院にいるみたいだかひょこっと顔を出せるわけでもないし。しょうがないので普通に過ごす。


病院は行ってきた。なにも診察せずにただ薬だけ渡された。もしも俺が胃がんで死んだらちゃんとこの日記を思い出してくれよ。なんにも診察されませんでした!一時間待って、薬を出されただけです!。というところでとりあえずしばらくは薬を飲んで我慢するだけらしい。


とりあえず



小康状態らしいので通常業務。


脅迫



ちょっと保険証が切れてるのだが、この間からの胃痛があってから相棒ちゃんに「病院いかないと一日いかないごとに給料の桁を1桁減らす!」と脅迫されているので、明日保険証もらいに行きます。多分。


連絡



祖父が危ない状態らしいので、しばらく連絡が取れなくなるかもしれません。


大分情報が錯綜してるので「何事もなかった、あはは」で終わる事を祈る・・・


辛い



ビールを飲みたい時に飲めないなんて!


21くらいの時、当時つきあってた彼女もご多分にもれず結構酒飲みなおねーさんだったのだが、つきあい初めて数ヶ月で俺はなんだかしらんけど結核だかなんだかの病原菌持ちと言われて半年間薬を飲み続ける事になったのだが、その代償が「薬を飲んでる期間は酒ものんではいけない」だった事を思い出した。目の前で彼女がうまそうにビールを飲む間俺はダイエットコーク。辛かったなぁ・・・


DBIx::Class vs mysql vs UTF-8




http://5net.com/blog/2006/08/dbic_mysql_utf8.html



はまっておりました。助かった!



sub connection {
my $class = shift;
my $schema = $class->SUPER::connection(@_);
$schema->storage->dbh->do("SET name utf8");
$schema->storage->on_connect_do("SET name utf8");

...
}

としてみたですよ。


胃潰瘍か?



ちょっと真面目に胃潰瘍なのではないかと心配中。まだあまり調査してないのだが、恒常的に痛みがあるわけではなく、なにかの表紙に激痛が胃に走る。昨日は油断して芋焼酎をおちょこ一杯程度やってみたら死ぬかと思った。というわけで、これからしばらくは油っこいものとかをなるたけ避けて食べて行こうと思うのだが、あとは具体的に何をすればいいのだ。禁酒は無しな。量は減らすけど。


DVDに焼く



これだけコンピューターに触れていながらマルチメディア系の事ってようわからん。Macで保存してあるmpgを普通のDVDプレイヤーで再生できるように焼くためには何を使えばいいんでしょうか・・・。なんかぐぐってもよう分からん単語が飛んでおる。


「皇国の守護者」がおもしろい



歴史物、戦記物ファンとして、この作品は楽しい。一気に漫画4冊を読み終えてしまった。これはたまらんと思って原作を探してみたら、まだ未完なのね・・・。この後どうするのだろう・・・。amazonを見る限り、最初の一冊が1998年、9冊目が2005年2月に出ているのだが、その後何もなし。うーーーむ。銀英伝のようにすぱっとおいしいところで完結してくれると嬉しいのだがなぁ。


ちなみに、伊藤悠氏の漫画を読んだ後で原作の表紙を見ると、ちょっといただけない。


Ludiaを試してみた



とあるプロジェクトで全文検索できるようにLudiaを入れてみた。インストールは普通に:



tar -xvzf ludia-0.8.0.tar.gz
cd ludia-0.8.0
./configure \
--with-senna-cfg=/usr/local/bin/senna-cfg
--with-pg-config=/usr/local/pgsql/bin/pg_config
make
sudo make install
/usr/local/pgsql/bin/psql -U postgres mydb -f pgsenna2.sql

なんでかしらんけどinstall-shに実行ビットが立ってなくてmake installの前にchmod u+x install-shする必要があった。あとはインデックスを作るだけ。



CREATE INDEX table_field1_senna_idx ON table USING fulltextb (field1);
CREATE INDEX table_field2_senna_idx ON table USING fulltextb (field2);
...

マルチカラムインデックスを使えないのが痛いのだが、とりあえずDBIx::Classで吸収する。



my $query = "hoge";
my @where;
foreach my $field qw(field1 field2 field3 field4) {
push @where, { $field => { '@@' => $query } };
}
my $rs = $schema->resultset('Hoge')->search(\@where, \%attrs);

これでとりあえず全文検索できる感じ。


親子丼を作った



結構丁寧にタマネギを煮て、その出汁を軽く煮た鶏肉と合わせて、卵をぼーん。いやぁ、うまい。鶏肉の切り方を少し研究したほうがいいな。


スパムを炒めた。



予定がキャンセルになったので残ってたスパムで炒め物。キャベツを炒めたのでちょっとだけ味噌を入れてみた。うまい。キャベツばりばり。そういえば昨日腹の調子が悪かったんだ。おいしくご飯食べれるって幸せだなぁ。


わーかった



この腹の痛みは酒を飲むな、ということらしい。いてぇぇ


差し込むような腹痛



なんかしらんけど昨日一年ぶりにマック食ってから腹の調子が悪い。今日スタッフと飯食っててなかなか箸が進まないくらい


でもとりあえずおさまったのでバー。駄目人間まっしぐら


今日の発見:ラムカウはシナモンリキュールを足すとうまい


昨日のShiftJIS問題



id:miyagawaさんと弾さんからツッコミが入ってしまったw。ひょっとしたら間違えてたかもしれない。ごめんなさい、10月中は朦朧としてました。cp932も試してみたはずなんだけどなぁ。


ってことで以下スクリプトでテスト



use strict;
use Encode;

binmode(STDOUT, 'utf8');
foreach my $low (map { sprintf('%2x', $_) } 64..156) {
my $sjis = eval "qq|\\x87\\x$low|";
print "\\x87\\x$low -> ", decode('cp932', $sjis), "\n";
}

おお、動くじゃねぇか。どこの何が問題だったんだろう。Perlは5.8.8、Encodeは2.18っす。ってことで、ShiftJIS::CP932::MapUTFはそれでも駄目な状況の時に


作業報告書



8月から10月までの作業報告書を作成しているのだが、10月の分がもうまるでパズルだ。頭が朦朧としていた上、たよりにしているsubversionのコミットログが諸事情でマトモにsubversionにコミットできてなかったので時間がわかりにくいったらありゃしない。日記もなんとか役に立ってるが、2日続けて徹夜した日は1日しか日記つけてなかったりするし・・・難しい。


SVK ログからCSVファイル



SVKのログから作業ログ作らなくちゃいけないので、とりあえず初期状態をCSVダンプできるツール書いた。使い方はこんな感じ:



svk log | perl svk_to_csv.pl

#!/usr/local/bin/perl
use strict;
use Text::CSV_XS;
use IO::Handle;

my $csv = Text::CSV_XS->new({binary => 1});
my $io = \*STDOUT;
while (<>) {
if (/^r(\d+)\s+\([^\)]+\):\s+(\w+)\s+\|\s+(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \+\d{4})/) {
my ($revision, $author, $date) = ($1, $2, $3);
# empty line follows
<>;
# read lines until we match a bunch of "-"
my $message = '';
while (<>) {
last if /^-+$/;
$message .= $_;
}
$message =~ s/^\s+//;
$message =~ s/\s+$//;
$csv->print($io, [$revision, $author, $date, $message]);
$io->print("\n");
}
}

「邪魅の雫」読了




邪魅の雫

邪魅の雫





デスマ突入前に買ったのだけれども、足掛け1ヶ月半くらいでようやく読了。陰摩羅鬼の瑕よりよかったが、京極堂と榎木津がでてこないとなかなかなぁ。


牡蠣の炒め物。



牡蠣がうまそうだったので購入。本当は黒酢炒めを作りたかったのだが、黒酢は生憎ないのでお酢、酒、醤油、砂糖でそれらしき味に整えて、ネギ、人参、エリンギで炒めてみた。ご飯も炊いてうまうま。


新規にサーバーをセットアップするために



Module::Installベースで書いてみたぜ。


#!perl
# $Id$
#
# Copyright (c) 2006 Daisuke Maki <daisuke@endeworks.jp>
# All rights reserved.

use strict;
use inc::Module::Install;

name("EWBaseSystem");
all_from("lib/EWBaseSystem.pm");

requires("ExtUtils::CBuilder");

# Check for a compiler
my $have_compiler = 0;
{
require ExtUtils::CBuilder;
my $cb = ExtUtils::CBuilder->new(quiet => 1);
$have_compiler = $cb->have_compiler;
}

requires("perl", 5.008);

requires("DateTime");
requires("PerlIO::eol");

if ($have_compiler) {
recommends("YAML::Syck");
} else {
recommends("YAML");
}

features(
'DBIx::Class Support' => [
-default => 0,
recommends("DBIx::Class"),
recommends("DBIx::Class::Schema"),
recommends("DBIx::Class::Schema::Loader"),
recommends("DBIx::Class::UTF8Columns")
],
'Catalyst' => [
-default => 0,
recommends("Catalyst::Runtime"),
recommends("Catalyst::Devel"),
recommends("Catalyst::View::TT"),
recommends("Data::FormValidator"),
recommends("Catalyst::Plugin::FillInForm"),
],
'Catalyst Session Support' => [
-default => 0,
recommends("Catalyst::Plugin::Session"),
recommends("Catalyst::Plugin::Session::Store::FastMmap"),
recommends("Catalyst::Plugin::Session::State::Cookie"),
],
'Postgres Support' => [
-default => 0,
recommends("DBD::Pg"),
recommends("DateTime::Format::Pg"),
],
'ShiftJIS Support' => [
-default => 0,
recommends("ShiftJIS::CP932::MapUTF"),
],
'XML Support' => [
-default => 0,
recommends("XML::LibXML"),
]
);

auto_include;
auto_install;

WriteAll;

メモ




http://steve.yegge.googlepages.com/singleton-considered-stupid



日本ではGang Of Fourの本は有名でないかもしれんけど、このジレンマはアメリカの大学でコンピューターを学んで、実際の業務でぶつかる問題そのままだね。


Perl vs Windows改行コード



これも同じく今回の一連の仕事で手に入れた知識。どっかのクソソフトは吐き出すファイルの改行コードが全部"\r"だったりするので、これをどーにか扱えんのかと思って探すと、きたよ、Audreyたん。



use strict;

open(FILE, $ARGV[0]);
binmode(FILE, ":raw:eol(LF)");
while (<FILE>) {
print;
}

これいいね。ファイルの改行コードがCR、LF、CRLFのどれでもeol(X)で指定したXの値に統一してくれる。


機種依存文字入りのShiftJISを扱う。



さて、今回の一連の仕事で手に入れた知識:ShiftJISのファイルを読み込んでUnicodeにdecodeする時にEncodeを使ってはいけない。だが、Encodeが悪い訳ではない。悪いのは機種依存文字である。もうとにかくバケバケになるのである。



#!/usr/local/bin/perl
use strict;
use Encode;

while (<>) {
print decode('sjis', $_); # バケラッタ
}

最初はこれが機種依存文字だと気づかずにこんな感じで色々やってみてたのだが



#!/usr/local/bin/perl
use strict;

binmode(STDIN, ':encoding(sjis)');
while (<>) {
print; # バケラッタ
}

ほとほと困り果てて、ようやく行き着いたのがShiftJIS::CP932::MapUTF。



#!/usr/local/bin/perl
use strict;
use ShiftJIS::CP932::MapUTF;

while (<>) {
print cp932_to_unicode($_);
}

貞廣さんありがとうっっっ!これにいきつかなかったらもう後は自分でマッピング作って変換するか、ってところでしたよ。


後で見る。



結局グーグルでは欲しい情報が見つからなかったので電話かけまくる予感。


・・・と、思ったらあった。おっけ。・・・と思ったら電話番号とかなかった。くっ。電話番号どうやって調べようかなぁ。


なんだこの写真




http://www.asahi.com/culture/update/1113/020.html



犯罪者じゃないんだから、この写真はひどいんじゃ(笑)


DBIx::Classのページング



DBIx::Classの腐ったページングを直してみた。ただ、subversion上でまだテストが落ちている。これがページングのせいかどうかまだ未検証なのでちょっとまだ要注意。試してみる気があったらどんぞー


daisuke@beefcake dbix-class$ svn diff
Index: t/67pager.t
===================================================================
--- t/67pager.t (revision 2877)
+++ t/67pager.t (working copy)
@@ -7,7 +7,7 @@
 
 my $schema = DBICTest->init_schema();
 
-plan tests => 12;
+plan tests => 15;
 
 # first page
 my $it = $schema->resultset("CD")->search(
@@ -68,3 +68,15 @@
 
 is( $it->next->title, "Generic Manufactured Singles", "software iterator->next ok" );
 
+
+$it = $schema->resultset("CD")->search(
+  { year => { '<', 2000 } },
+  { rows => 1, page => 2, order_by => 'title' },
+);
+is($it->count, 1, "standard resultset paged rs count ok");
+$it = $it->search(
+  { artist => 1 }
+);
+
+is($it->pager->current_page, 2, "standard resultset page ok");
+is($it->next->title, "Spoonful of bees", "software iterator->next ok");
Index: lib/DBIx/Class/Storage/DBI.pm
===================================================================
--- lib/DBIx/Class/Storage/DBI.pm       (revision 2877)
+++ lib/DBIx/Class/Storage/DBI.pm       (working copy)
@@ -823,7 +823,10 @@
   } else {
     $self->throw_exception("rows attribute must be positive if present")
       if (defined($attrs->{rows}) && !($attrs->{rows} > 0));
-    push @args, $attrs->{rows}, $attrs->{offset};
+    push @args, $attrs->{rows}, 
+        $attrs->{page} ?
+            ($attrs->{rows} * ($attrs->{page} - 1)) :
+        $attrs->{offset} 
   }
   return $self->_execute(@args);
 }
Index: lib/DBIx/Class/Storage/DBI/Cursor.pm
===================================================================
--- lib/DBIx/Class/Storage/DBI/Cursor.pm        (revision 2877)
+++ lib/DBIx/Class/Storage/DBI/Cursor.pm        (working copy)
@@ -78,7 +78,7 @@
   unless ($self->{sth}) {
     $self->{sth} = ($self->{storage}->_select(@{$self->{args}}))[1];
     if ($self->{attrs}{software_limit}) {
-      if (my $offset = $self->{attrs}{offset}) {
+      if (my $offset = $self->{attrs}{page} ?  ($self->{attrs}{rows} * ($self->{attrs}{page} - 1)) : $self->{attrs}{offset}) {
         $self->{sth}->fetch for 1 .. $offset;
       }
     }
Index: lib/DBIx/Class/ResultSet.pm
===================================================================
--- lib/DBIx/Class/ResultSet.pm (revision 2877)
+++ lib/DBIx/Class/ResultSet.pm (working copy)
@@ -80,6 +80,19 @@
 
 =cut
 
+sub offset
+{
+    my $self = shift;
+
+    return
+        defined $self->{attrs}{offset} ?
+            $self->{attrs}{offset} :
+        defined $self->{attrs}{page} ?
+            ($self->{attrs}{rows} * ($self->{attrs}{page} - 1)) :
+        0
+    ;
+}
+
 sub new {
   my $class = shift;
   return $class->new_result(@_) if ref $class;
@@ -89,8 +102,6 @@
 
   if ($attrs->{page}) {
     $attrs->{rows} ||= 10;
-    $attrs->{offset} ||= 0;
-    $attrs->{offset} += ($attrs->{rows} * ($attrs->{page} - 1));
   }
 
   $attrs->{alias} ||= 'me';
@@ -678,8 +689,10 @@
 sub slice {
   my ($self, $min, $max) = @_;
   my $attrs = {}; # = { %{ $self->{attrs} || {} } };
-  $attrs->{offset} = $self->{attrs}{offset} || 0;
-  $attrs->{offset} += $min;
+  if (! defined $self->{attrs}{page}) {
+    $attrs->{offset} = $self->{attrs}{offset};
+    $attrs->{offset} += $min;
+  }
   $attrs->{rows} = ($max ? ($max - $min + 1) : 1);
   return $self->search(undef(), $attrs);
   #my $slice = (ref $self)->new($self->result_source, $attrs);
@@ -881,7 +894,7 @@
   my $count = $self->_count;
   return 0 unless $count;
 
-  $count -= $self->{attrs}{offset} if $self->{attrs}{offset};
+  $count -= $self->offset();
   $count = $self->{attrs}{rows} if
     $self->{attrs}{rows} and $self->{attrs}{rows} < $count;
   return $count;

Plagnetでmixiしてたんだが



やられたような気がする。Plagger -> Plagger::Plugin::CustomFeed::Mixi -> WWW::Mixi経由で更新内容を取得しているのだが、HTMLが変わったんだか、なんらかの制限をかけられているのだか、マイミク日記の最初の一行目しか取得できない。うーん、User-Agentか?


13回忌



父方の祖母の13回忌に行ってきた。実はこういうのは初めてですよ。念仏唱えて、お焼香して、お説教を聞いて。その後もう何年ぶりだ?という従姉妹とかと会って、皆でお昼。解散。色々買い物して、家族で飯食って、帰宅。


酒飲みの席ってのはしょうもない席です



この間とある小さなバーのカウンター6席に5人、年の頃同じくらいの20代後半から30代前半の男女が座っていて、なんか時間が遅いという事もあって知らない人同士なのに和気あいあいと飲んでたのである。俺も含めて。なぜか話が「その場にいた一人の女性のくしゃみがおかしい」という話になり、その女性は猛反発。絶対おかしくない、と。


普通の状態だったら話はそこで終わりそうな物だが、そこはヨッパライ同士。皆で猛烈な勢いでこよりを作り始めて、めいめい鼻の穴に差し込み始める。あちこちからくしゃみの音がしだすわけだが、俺ともう一人がどうしてもくしゃみがでないのでバーテンさんが特製胡椒入りこよりを作り、俺もめでたくハックション。


そして一番最後に件の女性がトライ。皆固唾を飲んで見守る中、「はっ・・・くしゅんっ・・・あはん(はぁと」なるほど、これか。これでご飯3杯行けます。


ちなみにその後、胡椒で本当にくしゃみがでるのか、と実験するために、ティッシュの上に粗挽き胡椒をふりまいておいたら隣のお兄さんが(しつこいが、粗挽き)胡椒をコカインを吸うように鼻から吸ってしまい、しばらく悶絶してました。胡椒は直接吸引してはいけないようです。


なんか今日はいい日だったなあ。



面接終了、仕事も結構進んだ。今日はいい日だった。


ポータビリティな俺



携帯を変えた!ポータビリティを活用して、電話番号は変わらなかったけど、メアドのドメインだけdocomoがezwebになったです。後でお知らせメールを出すけど、とりあえず宣言しておきます。


ちなみに、もし聞かれたら全力でいらない!と言おうと思っていたのに勝手に袋に入れられていたもこみちストラップ→


欲しい人にあげます(笑)


ガンダムたまらん



寝る時に「アメトーーク」を見てたら、ガンダム芸人やってたのでついつい見入ってしまう。俺もララァ・スンに「ノーマルスーツ着てくださいね」って言われたい・・・。


今日も



寝過ぎ。寝過ぎだ。またシャツにこぼしたので一旦戻って着替え。


こういう運用はアリなのだろうか - Postgres



2週間に一回データ内容が書き変わるテーブルがあるので、これを世代別にどんどん交代させていきたいのだが、その際古いデータは取っておきたい。本当はhoge_20061101とかいう実体に対してVIEWを作るのが一番手軽なような気がするのだが、DBIx::Classから使えないと困るのでVIEWはちょっとパス。


とすると、本物のテーブルを作ってそこにデータを入れ、2週間に一回中身を世代別テーブルに入れる。新しいデータが入る時にTRUNCATEしてから挿入かな、と思うのだが。これはアリなのかなぁ。


Chained Action - Catalyst



やっと使う機会があった。RESTチックなインターフェースにいいね。ひとつだけ気をつけなくてはいけないというか、なんかなぁと思う部分が、チェーンの途中と最後を明示的に切り分けなくてはいけなくて、



http://hoge.com/hoge/123
http://hoge.com/hoge/123/edit

みたいな感じに、最初のケースならただ表示、次のケースなら編集、みたいな事をしたい場合に二つのChained Actionを書かないといけないこと。これ、/editがなくても動く可能性があるってことをマークアップできるといいのに。


あともう一つ嫌なのが、Chained ActionのPathPartがグローバルな事。俺は基本的にモジュール単位でnamespaceを分けたいので、あまりPathPartにルートからのパスを指定したくないんだよねぇ。まぁとりあえずいいけど。


寝過ぎ。



ここのところ寝れてなかった反動か、ここ数日それほどハードじゃない日はもう寝倒してた。今日も、昨日は夜中零時頃にはベッドで本を片手にうとうとしてたのに、起きてみたら10時・・・。なんだ、この寝かた。5時間睡眠でずっと普通にやってきたはずなのに、やっぱり体が疲れてるのかねぇ。


favicon.ico



よく考えると初めて自分(会社のだけど)のfavicon.icoを置いた気がする。


電話の鳴らない日



事務所に顔出し、っていうか、ずっと事務所。ひと月ぶり。全員面子が揃って会議、ひと月ぶり。電話が鳴らない日、priceless・・・じゃなくて、ひと月ぶり。逆にこの静寂が怖いね。電話が鳴らないのをいい事に溜まっていた仕事を片付ける。がががのが、と。


Perl系のMLの読んでないログが溜まり過ぎ。1000件単位でメールボックスに残ってる。


まだ仕事してるよ



「しばわんこの和のこころ」を見ながら仕事。和む。


うさうさ【右脳左脳占い】




http://www.nimaigai.com/howto.html



ってことで相棒ちゃんのところから



【性格】「ドライで柔軟なあやつり師」


インプットを左脳、アウトプットを右脳で行う「さう」は、状況を客観的かつ正確に把握して結論を出した上で、相手の感情に響くやり方で訴えかけます。ものごとを裏の裏の意味まで探って分析し、相手の状況を見切った上で言葉巧みに誘導するコミュニケーション能力の高い策士です。


冷静にバランスよく納得しやすい解決を導き出すことで、人に意見を求められることが多く、一目置かれる存在です。人当りはソフトですが、つねに適度な距離を見定めた大人のつきあいをします。その距離感をドライで冷たいと感じる人もいるでしょう。人間関係に角を立てることが嫌いで、イザコザが起こったりすると両方の顔をうまく立てて丸くことをおさめるのが上手。ある意味小心者でもあります。自分の趣味や目的の達成のためには努力を惜しまず研究熱心なので、物知りで頭がいい印象を与えます。オタクの素質も備えています。ムダな努力もしない効率主義者なので、無理と感じたらあきらめも早く、無難な線で決着をつけようとします。それを物足りないと感じる相手もいるでしょう。



うーーむ。丸く納めるのは俺のもっとも不得手とするところですが。


Author

Daisuke Maki (a.k.a lestrrat): Perl hacker, Director of Japan Perl Association, YAPC::Asia Tokyo Organizer (2009-2012), Fluent in Japanese, English. Ex-Brazilian (sorta)

#perl #c #ruby #java #mysql #english #japanese #opensource #stf #cooking #scotch #cigar


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

翔泳社よりモダンPerl入門(2010)を出版させていただいております。できれば内容をアップデートしたいので是非皆様・・・現在の在庫処理にお力をお貸しください!><

月別アーカイブ