たつをの ChangeLog : 2008-04-22

大橋悦夫 / LIVE HACKS! [ライブハックス!]


シゴタノ!の大橋さんによる新刊です。
先日のAMN飲み会のときに頂きました。
ありがとうございます!

時間という貴重な資源を
何になぞらえるか、ということで、
「お金」になぞらえる話は多々ありますが、
この本では畑、「時間畑」です。
「収穫」を上げるための「耕作」「種」「土」「肥料」「技術」
などの要素が、時間術的な話とマッチします。
あと、お金だと無制限に増えるけど、畑だと上限があるってのが
現実的で、やはり「畑」は良いアナロジーかなと思います。

タイトルは「時間畑!」でいいんじゃないかと思う本なのですが、
まあ、いろいろな要素により「HACKS」シリーズ的に
出すのがベストという結論になったのでしょう。

ということで、
根本的な内容は本書を読んで頂くとして、
いつものように私が個人的に気になった瑣末な部分を
メモしておきます(主に自分用):

イギリスの生物学者トマス・ヘンリー・ハクスリーの言葉:
あらゆる教育のなかでもっとも大切な成果は、好むと好まざるとにかかわらず、
やるべきときに、やらなければならないことをする能力を身につけることだろう。
(p.73)

例えば、僕自身は人との待ち合わせに際しては、
常に約束の15分前に到着するようにしています。(p.94)
私は昔ボーイスカウトをやっていたので5分前集合が身に染みていたのですが、
ケータイ時代になってからそこが非常にルーズになってしまっています。
ちょっとなんとかしよう。


追記: 別記事で、もうちょっと書きました。
- [を] 遠くをはかる者は富み[2008-05-06-3]

北海道お土産に頂いた「花畑牧場の生キャラメル」。
ありがとうございます!


なんというか、すごくやわらかいのです。
口に入れるとすぐにすすっととけていきます。
この感触、クセになります。
味はハチミツやバニラっぽさが出てて、もう止まりません。
おいしすぎです。
機会があればぜひどうぞ。


大人気みたいで、通販だと品切れなところが多いみたいです。
でもときどき「緊急入荷」とかあったりします。


Perl のモジュール Algorithm::Diff[2004-12-12-2]を使って、線形時間で類似文字列検索するサンプルプログラム。
まあ、 agrep があればそれでいいんですけどね。

サンプルコード(ads.pl):
#!/usr/bin/perl
use strict;
use warnings;
use Algorithm::Diff;
use utf8;
use Encode;
use open ':utf8';
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";

my $key = shift;
my @seq1 = split(//, decode('utf-8', $key));
while (<>) {
    chomp;
    my @seq2 = split(//, $_);
    my @lcs = Algorithm::Diff::LCS(\@seq1, \@seq2);
    my $score = @lcs * 2 / (@seq1 + @seq2);
    print "$score [@seq1] vs [@seq2]\n";
}
第一引数が検索キー、第二引数が辞書ファイルです。

辞書ファイル(a.dic):
aab
karb
ab
abbbaab
qwerty

実行例:
% ./ads.pl aab a.dic
1 [a a b] vs [a a b]
0.571428571428571 [a a b] vs [k a r b]
0.8 [a a b] vs [a b]
0.6 [a a b] vs [a b b b a a b]
0 [a a b] vs [q w e r t y]

もうちょっと実践的なものとして、
検索キーと1文字違いまで許容するプログラム(ads2.pl):
#!/usr/bin/perl
use strict;
use warnings;
use Algorithm::Diff;
use Encode;
use utf8;
use open ':utf8';
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";

my $key = shift;
my @seq1 = split(//, decode('utf-8', $key));
while (<>) {
    chomp;
    my @seq2 = split(//, $_);
    my @lcs = Algorithm::Diff::LCS(\@seq1, \@seq2);
    next if @lcs < ((@seq1 > @seq2) ? @seq1 : @seq2) - 1;
    print "$_\n";
}

辞書ファイル(a2.dic):
六本木
六本木心中
五本木
本木
本

実行例:
% ./ads2.pl 六本木 a2.dic
六本木
五本木
本木
なお、文字コードはすべて UTF-8 です。

会社の新人歓迎飲み会でした。
ベルギービールなお店です。
樽生ベルギービール飲み放題プラン(3種類だけですが飲み放題)で、しこたま飲みました。
飲み過ぎで、帰宅後は着の身着のまま寝ちゃったほど。



ベル・オーブ
http://www.belgaube.jp/page/roppongi
樽生情報 【ベル・オーブ】
http://www.belgaube.jp/page/roppongitap
場所:東京都港区六本木 7-9-2 岡野ビル 1F

名前は忘れちゃったんだけど、グレープフルーツっぽい苦みのあるさわやかなやつが一番おいしかった!
途中で樽が変更になっちゃったので(空になったので)、それは一杯しか飲めなかったので非常に残念。
しかし、こんだけたくさんベルギービールを飲めたので痛快!
コースだったんだけど、ビールに合うものばかりで良かったですー。



たつをの ChangeLog
Powered by chalow