craigslist.org海外在留届を3ヶ月以上前に提出した人は、総領事館に行ってパスポートと一緒に在外選挙人名簿登録申請書に必要事項を記入し提出するだけ。申請書は総領事館に置いてあります。(詳細は各総領事館のページでご確認ください。在サンフランシスコ総領事館の場合は以下に記載があります。 http://www.sf.us.emb-japan.go.jp/jp/m04_01.htm

はっきりとは覚えてないけど、3ヶ月くらいで在外選挙人証が郵送されてきたはず。


craigslist.org個人売買サイト Craigslist で古い Mac Mini を売ってみました。物々交換を試みる人や、最初の一言が値切りだったりと興味深い体験でした。

2009年3月にでた新しい Mac Mini 120GB HDD のモデル MB463LL/A を $594 買って、メモリは別途 2GB x 2を $57 購入した。出費の総額は大体 $650 でした。

古い方の Mac Mini は 2007年に購入。購入履歴を確認すると、当時の上位モデル MB139LL/A は $789 とけっこうな値段で買っていました。残念なのは Leopard プリインストールになるまで待たなかったこと。

先日の WWDC 2009 で次の Mac OS となる Snow Leopard のアップグレード価格が $29 と発表されニヤついたときに、ふと思ったのです。「古い Mac Mini 早く売ってしまわないと」と。プリインストールのOSが二世代前になると買い手がつかなくなるなと。

市場調査

Craigslist で個人広告を出す前にやったのは、価格調査。

OS が Tiger であることと Apple Remote 無しということを考慮すると、強気でいっても $450 だなと決定。自分が買い手の立場で考えると値段が高すぎるとは思いつつ、最初の一週間はこれでいってみようと。

そこで、 Craigslist で個人公告を出してみました。魚拓を取っておいたのでどうぞ。

Mac Mini: 2GHz Intel Core2Duo, 2GB RAM, 120GB HDD - $450

Craigslist では、直接の取引前には個人情報は漏れないように売り手に一時的なメールアドレスを発行してくれます。(例 sale-hk8kp-1217542690@craigslist.org)そして、広告は無料で出せます。(求人広告のみ有料のはず)

検索に引っかかるようにスペックを書き、詐欺だと思われないように写真を貼り付けて終了。とても簡単にできてしまいます。Craigslist のサーバのレスポンスも快適です。そうそう、新しい Mac Mini のモデル名も検索に引っかかるように、それとなく入れておきました。

木曜日の夜10時に広告を出して、土曜日の朝までに来た購入希望メールは11件。時系列で追うと、それぞれの人物像が見えてきて面白いです。

#1 最初の方、いきなり物々交換希望とのこと

その日の11時に来たのはコレ。

would you accept trades for this item? or would any of these lower the price?
I have: dell 24" WFP2407,and herman miller aeron chair

なるほど、業者さんですね。無視しつつ、慌てて「現金のみ、発送はしません」と広告に追記。

#2 次に現れるのは、値切りたい人。

いつ会えますか?と聞いていて、返事をすると「今日、取りにいくから$300でどう?」とか。How about 350 for the mac mini とだけ書いたメールをくれる人。あと、なぜか値引き交渉のついでに "PS: is this Skip? (I'm a friend of a friend...)." と書いてくる人がいたり。

Craigslist のヘビーユーザがこのタイミングで現れる、ということですね。

#3 最終的に本当に欲しい人が現れます。

朝7時にメールをくれた人をほっておいたら、12時にまたメールをくれたのでメールにて返事。概ね合意し、電話で待ち合わせ場所を確認した直前に $400 でどうだと言ってきたけど、「他にも買いたい人からからメール来てる」と言って断り、先ほど会って提示価格の $450 で売ってきました。

$650 で新しい Mac mini を買って、$450 で古い方を売ったことになりました。古い Mac Mini を使いつづけて、別途 Leopard を $129 で買うよりはよかった。(はず。だと思いたい)。

初めての Craigslist だったので、基本的にメールが来る度に以下の作業を繰り返しました。

  • メールアドレスで Web検索
  • 送信元IPアドレスがメールヘッダにあれば whois情報をしらべる
  • 電話番号があればそれで検索

やりすぎたかな、とは思います。正直、最初なのでビビってました。

ある人が、@hotmail.com のアカウントでメールくれたんですが、そのアドレスで検索するとロシアの中古車情報サイトがひっかかったので返事をしませんでした。とはいえ、思ったほど詐欺っぽいメールは来ませんでした。

まとめ

無料で個人広告を出せる craigslist は大変便利。値切ってくる人が多い。直前の値引きに応じるつもりで、ちょっとだけ高めの値段にしてもいいかもしれません。本当に買いたい人は、電話番号を購入希望メールに書いていたり、独自ドメインのメールを使ったりするのでそこで判断するのがいいでしょう。最初の何通かのメールは業者だったり、ヘビーユーザーだったりするので返事しないで放っておく、そのうち本当に欲しい人が現れるはず。

一番の収穫は、売る人の心理を体験したことですね。次回、 Craigslist で何かを買うときには何かの役には立つかなと思います。

Update(May 23, 2009):

私は HD-H320U2 を使っていて、Buffalo に 10.5.7 で認識しない件について問い合わせたのですが、保障期間が切れている場合でも、無償(送るときの送料のみ負担)で基盤の交換を行うという返答がありました。基盤交換の対象となる機種のリストなどは Buffalo から発表がないですが、下記サポートセンターにて、手元のUSB外付けハードディスク対象となるのか確認すると良いようです。

Buffalo サポートセンター
http://buffalo.jp/toiawase/info.html

ちょっと気を許してしまった。前回 10.5.6 では Perl のライブラリで失敗していたから、10.5.7 では気を引きしめて取り組んだんだろうという読みで、アップデートしてしまったが、どうやらハズレを引いたようです。

我が家のメディアサーバ Mac mini の外付けディスクとして使っていた Buffalo の USB 接続の外付けディスク HD-HU2 が認識しない。iTunes のライブラリをそこに置いてあるので、音楽を聞くには手元の iPhone に頼るしかない状況。

どうもクセのあるチップをつかっているのか、Tiger 時代にも 10.4.10 にアップデートすると認識しない問題があった。一応、バッファローのサポートにも問い合わせたけど、ファームウェアのアップデートは期待できなさそう。できても、郵送でUSB-IDEな部分を全部取り替えだろうね。

これはもうエンクロージャを買って、入れ替えるべきなのかなぁ。IDE(PATA) な 320GB なので IDE-USB なエンクロージャってのも、SATA 全盛期なこのご時世どうなのかと、考えてしまいますが。

やっぱり、ここは 1T とか買って、そっちに移行かな。そうすると、一時的に使う USB-IDE/SATA 変換アダプタがあると便利だな。とか、余計なことを考えては、「いかん、いかん」と我に返るというのを10回くらい繰り替えした。

グリーンハウス SATA/IDE-USB2.0変換アダプタ 2.5インチHD対応 GH-USHD-IDESA
グリーンハウス (2007-05-28)
売り上げランキング: 226
おすすめ度の平均: 4.0
3 とりあえず使える
5 簡単に使えました。
3 性能面は満足
5 r良好です
4 あれば便利ですよ!

便利そう。いや、2.5 IDE を USB 変換するケースは手元にあるので、2.5 から 3.5 に変換部分のパーツだけあればいいだけどさ、なんか「将来 SATA なディスクをバルクで買ったときにとか」。これも10回くらい繰り返したな。

ま、結論としましては、Buffalo のUSB接続な外付けハードディスクを使っている人は 10.5.7 にアップグレードする前に、自分の持っている奴が対応しているか Buffalo に問い合わせたほうがいいですよという話。あとは、個人的な物欲の話。

[重要] セキュリティアップデート Movable Type 4.24 の提供を開始

Movable Type ユーザーの皆様

Community.pack を含む Movable Type において確認されたセキュリティ問題を解決した、バージョン Movable Type 4.24 の提供を開始いたします。

svn を使ってアップグレードした。

$ cd ~/mt
$ svn switch http://code.sixapart.com/svn/movabletype/tags/mt4.24/
$ env BUILD_LANGUAGE=en_US make code

git svn と git rebase

| コメント(0)

git svn を使って手元に git レポジトリを作っておきつつ、git svn dcommit -e でリモートの svn に反映させるという状況で git rebase を使ってみた時のメモ。

まず、どこかに trunk があって、branches/release-11 というブランチで次回のリリースにむけた最終調整をしているとします。次に、ちょっとわけがあって機能を追加するために branches/release-11 から feature ブランチを作ったとします。(ま、trunkから作るべきなんだけどさ。今回はそういう状況に遭遇した)


$ svn cp http://www.example.com/svn/myproj/branches/release-11 \
              http://www.example.com/svn/myproj/branches/feature-A
Commited revision 181

この状況で、release-11 では続々とバグ修正が放り込まれるのですが、ふと、feature-A で作業中の場合にもそのバグ修正が必要になりました。

まぁ、svn だけでやるなら svn log -v $REPOS/branches/release-11 --stop-on-copy して、feature-A を作った後のコミットをsvn merge で吸い上げることになるかとおもいます。

$ svn info | grep ^URL
URL: http://www.example.com/svn/myproj/branches/feature-A
$ svn merge -r182:257 $REPOS/branches/release-11
$ svn commit

さて、git-svn な環境だとどうやるのだろうかと実験してみた次第です。手元には git svn init 等でローカルの git リポジトリが作成され、かつ、 svn での変更はすべて fetch 済みとします。前述のように、feature-A は B の時点で fork したけど、release-11 では E--F の修正が行われ、feature-A でもそれらの修正が必要になったとします。


           C---D---G (remotes/feature-A)
          /
  ---A---B---E---F (remotes/release-11)

git svn fetch で svn 側の修正を再確認し、ローカルのブランチをそれぞれ featA と rel11 として作成します。

 $ git svn fetch
 $ git checkout -b featA remotes/feature-A 
 Switched to a new branch "featA"
 $ git checkout -b rel1 remotes/release-11 
 Switched to a new branch "rel11"

この時点で GitXgitk で確認すると以下の様になっているはずです。(B の位置で feature-A は作られたとします。)

           C---D---G [featA](remotes/feature-A)
          /
  ---A---B---E---F [rel11](remotes/release-11)

rebase のために、今の branch を取り込みたい修正を含む側である rel11 にしておきます。

 $ git checkout rel11
 $ git branch
   featA
   master
 * rel11

では rebase で rel11 側の修正を featA に取り込みます。--interactive (-i) は対話的モードで rebase を行うためのオプションです。

 $ git rebase -i featA rel11

再度、GitX か gitk で確認してみるとこんな感じに。しかし、C---D---G---E'---F' の枝には [rel11] とあり、しかもリモート側が設定されていないように見え、不安になります。[freatA](remotes/feature-A)は依然として G の位置にあります。

           C---D---G---E'---F'[rel11]
          /        [featA](remotes/feature-A)
  ---A---B---E---F (remotes/release-11)

なんでかなと思いつつ git svn dcommit -e で変更をリモート側の svn にも反映させます。

 $ git svn dcommit -e

さて、再度 GitX か gitk で確認してみると。。。あら不思議。remotes/feature-A がきちんと rel11 の位置にありますね。

           C---D---G---E'---F'[rel11] (remotes/feature-A)
          /        [featA]
  ---A---B---E---F (remotes/release-11)

rebase っていうんだから、git-rebase のマニュアルにあるように、枝の生えた位置が移動するような様子を GitX や gitk で確認できると思ったのですがちょっと違うんですね。例えば上記の例でも [rel11] というローカルブランチは当初 A--B--E--F だったのが rebase 後には A--B--C--D--G--E'--F' になっていて、これはマニュアルにあるイメージ(下図)と同じ結果なんですが、期待したビジュアルが得られないという。リモートの svn の変更点だけをみると rebase という言葉の響きとは違って、欲しかったコミット(E, F) を merge up しただけということなんですね。ううむ。まだまだ修行が足りないようです。

          A---B---C topic
         /
    D---E---F---G master

After "git rebase master topic", it would be:

                  A'--B'--C' topic
                 /
    D---E---F---G master

gistを埋め込んでみるテスト
悪くないねぇ。。
普段はWordPressのiG:Syntax Hiliterプラグインなんだけど、ずっとイマイチ感を感じていたのです。
でも文章とコードを交互に差し込んでいくスタイルの場合は今まで通りがいいのかな。

gist.github.comの埋め込みテスト - func09

Gist の embed は見た目きれいなんですが、RSS リーダーとかでは表示されないんですよね。文章とコードを交互に差し込むと、RSS リーダーで読むと「交互に差し込まれている」ことすら気づかないという。まぁ、document.write してるからしょうがないんですけどね。

Gist のページ自体は検索に引っかかるんだけど、それを embed したページは全く検索対象にならないという、なんとも歯がゆい状況に。

使う側としては Gist を使いつつ <noscript><pre> を使ってコードを書いておくのがいいのかな。まぁ、それはそれで Update したときにコードを更新しなくてはいけないか。ううむ。それは面倒だ。悩ましい。

UPDATE あ、CGDisplayRelease しないと画面が止まってしまうという致命的なバグがw。治しました。けど、command+tab でアプリケーションのメニューに表示されてしまうになってしまったな。しかも、クライアント側のスクリーンから離れると iTunes とかのフルスクリーンが解除されてしまう。

patch を使わずに、Cursorcerer を使う方がいいかもしれません。

前回は(といっても5ヶ月前ですが)fakeMouseMove(0, 0)として画面中央に君臨するカーソルを左上に移動させていたのですが、以下のパッチ(synergy-1.3.1用)でカーソルがクライアントから離れた時(とsynergycがサーバに繋いだとき)にカーソルを消すことができましたよという話。

もともと CGDisplayHideCursorCGDisplayShowCursor を呼ぶ部分は synergy には入っているんですよね。コメントアウトされてるのは、該当部分のコメントアウトを外してもカーソルが隠れることはないから。そこで Apple のドキュメントや google codesearch を使って調べてみたところキャプチャしてからじゃないと CGDisplayHideCursor は効かないようなので、kCGCaptureNoFill オプション付きで CGDisplayCaptureWithOptions を呼んでから CGDisplayHideCursor を呼んでみたら動きましたよと。

まぁ、Flash, DVD Player, QuickTime Player とかでは Full Screen にしてしまえばカーソルは消えるので、困っていたのは LocationFree のプレーヤーだけだったんですけどね。しかし、Apple の ドキュメントは素晴らしいですな。 http://developer.apple.com/documentation/

I've added my comment with the Gist url to SourceFourge synergy tracker: Mouse cursor doesn't hide on OS X - ID: 1516490. I'm not sure who is gonna find out this patch though :(

Now I got the idea how "SourceFourge Tracker:Patches" works so that the patch has been put into it. Fix to hide cursor on Mac OS X - ID: 2626889

--- lib/platform/COSXScreen.cpp.orig	2006-03-21 21:40:27.000000000 -0800
+++ lib/platform/COSXScreen.cpp	2009-02-22 16:52:45.000000000 -0800
@@ -560,7 +560,9 @@
 
 		// hide cursor
 		if (!m_cursorHidden) {
-//			CGDisplayHideCursor(m_displayID);
+			CGDisplayCaptureWithOptions(m_displayID, kCGCaptureNoFill);
+			CGDisplayHideCursor(m_displayID);
+			CGDisplayRelease(m_displayID);
 			m_cursorHidden = true;
 		}
 
@@ -580,7 +582,7 @@
 	else {
 		// show cursor
 		if (m_cursorHidden) {
-//			CGDisplayShowCursor(m_displayID);
+			CGDisplayShowCursor(m_displayID);
 			m_cursorHidden = false;
 		}
 
@@ -619,7 +621,7 @@
 	else {
 		// show cursor
 		if (m_cursorHidden) {
-//			CGDisplayShowCursor(m_displayID);
+			CGDisplayShowCursor(m_displayID);
 			m_cursorHidden = false;
 		}
 
@@ -669,7 +671,9 @@
 	else {
 		// hide cursor
 		if (!m_cursorHidden) {
-//			CGDisplayHideCursor(m_displayID);
+			CGDisplayCaptureWithOptions(m_displayID, kCGCaptureNoFill);
+			CGDisplayHideCursor(m_displayID);
+			CGDisplayRelease(m_displayID);
 			m_cursorHidden = true;
 		}
 

Gist にも置いておいたです。 http://gist.github.com/68351

ブルーレイディスクの私的録音録画補償金課金に関連して、「権利者」側が「やってあたりまえ、むしろこれだけ時間がかかったのは異常」的な会見を行ったというニュースを受けて、「また、ヒゲが何か言ってる」と思ったので、2年以上CDを買わず、ダウンロードのみによる購入を続けてきた人が現時点での思いをつらつらと書いてみる。

そもそも、補償金制度っていつから?と思って調べると 私的録音補償金管理協会なるサイトを発見。

平成5年6月1日から、私的録音に関する補償金制度が実施されています。

これって、レンタルレコード/CD屋のせいで食いっパクれるから始まったんだろうか。というか、いまだにレンタル屋を使っている人っているの?無いと死んじゃうの?(神保町ジャニスは古物商なんだっけか)

著作権の制限のひとつに私的複製がありますが、近年の録音機器の開発・普及に伴って、音楽などを録音して楽しむ方法が広範に定着し、著作物の有力な利用形態となり、本来著作権者等の受けるべき利益を害しているのではないか、との指摘がされるようになりました。これが私的録音問題です。特に、デジタル機器については、高品質の録音が可能であることから、権利者の利益に及ぼす影響が懸念されました。

ま、確かに、「CD買うはずだった人」の大多数がレンタルしたら「権利者の利益」に影響あるのは理解できる。だから、媒体/録音機器に課金して小賢しいことをしてる人から徴収ってのは、しかたないかなとは思うんだ。

けどさ、最初の時点でまともにCDを買うなどして対価を払った人への配慮が足りないんじゃね。

いやね、CDなんて2年以上買ってないからさ。mp3のファイルを買った時点でハードディスクにコピーになるわな。そんでさ、バックアップとって、iPod と iPhone に転送して、Lala.com にアップロードしたりしてると、少なくとも4回くらいはコピーしてるんだわ。その度に「権利者の利益」が損なわれてますね、そうですね、補償金払わなきゃなって、思わないでしょ。たとえ、どんだけ金余ってジャブジャブしててもさ。

レンタル屋はプレイヤーも一緒に配って DRM 付きのCDとかレンタルするか、補償金をレンタル料で徴収すればいいじゃね。

なんか、ダビング10とかで色々大人の取引が裏側であるんだけど思うけどさ、ニコニコのアンケートで「補償金に理解がある」とまとめられてる人たちも、払わなきゃいけない人と払わなくてもいい人の違いが必要と思った上での話なんじゃないかなとは思うんだけど、どうなんだろね。青臭い妄想にすぎないのかね。

「ブルーレイ課金は当然、早期実施を」権利者団体が意見表明
http://internet.watch.impress.co.jp/cda/news/2009/02/05/22346.html

私的録音録画補償金についての「権利者」側の会見
http://d.hatena.ne.jp/copyright/20090206/p1

JASRACなど7団体、ニコ動で私的録音録画に関するアンケートを実施
http://internet.watch.impress.co.jp/cda/news/2008/12/22/21949.html

20XX年モデルには乗らない、パソコンにも補償金を
http://pc.nikkeibp.co.jp/article/news/20090205/1011988/?P=1

「BD課金の遅れは異常」――権利者団体、早期の開始求める - ITmedia News
http://www.itmedia.co.jp/news/articles/0902/05/news120.html

いまだに同じ主張の繰り返し・・・もはや補償金に賛成する理由はない
http://blog.goo.ne.jp/krmmk3/e/0f9895669ba9d2a081b4cadd29e1a97a

この不況下でも NetflixTSUTAYA DISCUS と同じレンタルDVD宅配サービス) の業績が好調のようです。

でも、定説通り絶好調なのがNetflix。業績も上方修正。DVDをオンライン+郵送でレンタル、最近はインターネットでオンデマンドストリーミングもやっているシリコンバレーの会社。定額料金でレンタルし放題なのが時流にぴったりなわけです。

2008 年10-12月期は、売上は前年同期の19%増で$360 million(約330億円)、 利益は45%増で$22.7 million、会員も718,000人増えてトータル940万人になった。2008年通年だと、売上げ$1.36 billion(約1200億円)、利益 $83 millionなり。

On Off and Beyond: 不景気を追い風に絶好調なNetflix


周りで使っている人がここ最近増えているという実感はありませんが、前から使っているという同僚は多いです。私の郵便受けに Netflix の広告が送られてくる度に気にはなっていたんですが、なんとなく使わないうちここまで来てしまいました。

それでも結構映画は見ているんです。なぜかと言うと、サンフランシスコ市の図書館で無料で借りているからです。http://www.sfpl.org/ でログインすればオンラインで予約も出きるし、最寄りの図書館で ready to pick up な状態になればメールで知らせてくれる。確かに、DVDを図書館まで取りにいかなきゃいけないのは面倒ですね。私の場合は運良く自転車通勤の通勤経路に図書館があるのでそうでもないですが、Netflix の便利さを経験していないから我慢できるのかもしれません。

最近は新しい映画も劇場公開後すぐにDVD販売となるためか、図書館にもぞくぞくと新作が入ってきます。いかんせん、現在の私の英語力ではストーリーを見失うことも多いと思うので、あらすじを 映画生活Wikipedia 確認してから見たり、見た後にそれらのサイトで確認してます。

あまり面白いものをレンタルできなかった時は Amazon.com の Video On Demand を使います。新作なら一本 $3.99 とちょっと高いかもしれないけど、「見たいときにすぐ見れる」というところにそれぐらい出してもいいかなとは思っています。まぁ、2回しか使っていないですけどね。ちなみに、iTunes のレンタルも1回だけ使いました。ちょっとの間とはいえ、大体同じ値段でダウンロードを待たなきゃいけないなら Amazon でいいのではと思います。どうせ HD な映画を観るわけじゃないので。

これらの「充実した」映画生活の結果として、映画館に足を運ぶ機会が以前より増えました。「おでかけ」という要素もありますけど、大人 $8 〜 $9 と気軽に見に行ける値段なのも理由の一つです。

あと、IMAX で Dark Night を観たときの感動は忘れられない。次に IMAX な映画が公開されたらまた見に行くつもりです。海外ドラマ LOST のプロデューサー J.J. Abrams が作っている Star Trek (5月公開予定?) が IMAX 何じゃないかという話があるので楽しみにしているところです。宇宙戦争モノで IMAX というのはピッタリだと思いますしね。

年末年始といえば、里帰り。里帰りと言えば、実家のマシンいじりですよね。過去には、無線LANの導入(主に自分が帰ってきたときに使うんだけど)、Skypeのインストールと使い方の伝授、親の使っている dynabook のメモリを増設といろいろとやってきました。今回はハードディスクの交換です。2003年に買って以来(主にウィルススキャンに)奮闘し古くなったハードディスクがカリカリカリカリとうるさく、何をするにも遅くなっていました。Acronis True Image を使って簡単に内臓ディスクをクローンするとサクサクに戻りましたよという話です。

田舎なのでビックカメラとかヨドバシカメラといった量販店が無いが、ケーズデンキに電話すると在庫が一個だけあったので買ってきた。

BUFFALO HD-NH160/M 2.5インチUltraATA内蔵HDD5400rpm
バッファロー (2006-06-30)
売り上げランキング: 17523
おすすめ度の平均: 5.0
5 外付けHDD持っていたら交換おすすめ

こいつをUSBでつなげるためのHDDケースにいれて、内蔵HDDを完全コピーする。ケースはUSBポートを二つ使う事で電源アダプタ不要のこれを使った。

玄人志向 2.5型HDDケース(クロムシルバー) GW2.5AI-U2
玄人志向
売り上げランキング: 876
おすすめ度の平均: 3.5
4 安いが工夫もいる
5 安い!!
5 苦労 と 試行 でなく認識しました
3 やすい
2 掛け値無し?

バッファローのディスクにはいろいろなソフトウェアが付いていています。Acronis True Image LE でバックアップとリストアをすれば引っ越しできそうですが、取り替えるハードディスク以外にもう一個ハードディスクが無いと不便。いろいろと調べると、Acronis True Image 11 Home という製品版を使うと出来るらしいということが判明。

Acronis True Image 11 Home
Acronis True Image 11 Home
posted with amazlet at 09.01.17
ラネクシー (2008-01-25)
売り上げランキング: 265
おすすめ度の平均: 2.0
1 使い物にならない
3 確かにシグナルバーはいらない
1 DVDにバックアップをして
1 返品したいのだができるでしょうか
4 定番なだけあるソフト

田舎のケーズデンキにはそんなものは店頭で売っていない。そんなときの楽天ダウンロード。 【MVP大賞】Acronis True Image 11 Home ダウンロード ここから買ってひとまずインストール。

Acronis True Image 11 Home は基本的に外付けハードディスクやDVDにバックアップを作成するためのツールのようで、英語のマニュアルを読んでもCDROMブートからの作業をあまり進めていないようです。しかし、手元に外付けのハードディスクは余分になかったのでブータブルなCDROMで作業しました。

まず、ブータブル CDROM を作成します。そこからブートして、「クローニング」事で内蔵の Cドライブ を USB で繋げた外部ドライブに「クローン」できる。あとは入れ替えるだけ。

クローンする前にやっておく事。出来るだけ、ディスクをきれいにしておきます。まずはディスクのエラーチェック。そしてデフラグ。

では作成したブータブルディスクをCDドライブに入れ、USB で新しいディスクを繋いで再起動しますBIOSで CD/DVD ドライブからのブートを有効にしておきます)。しばらくすると Acronis True Image が立ち上がるので、「クローンディスクの作成」を選び、CドライブをUSBドライブにクローンする作業を開始。

実はその後に寝てしまったので何時間かかったのか分かりませんが、朝にはクローニングが終わっていたので、ハードディスクを入れ替えて再起動。当たり前のように起動する。すばらしい。MBRの設定もすべてこのソフトウェアが面倒を見てくれたようです。最初の起動時に USB のドライバを再インストール(再認識?)したようですが、それ以外はとくに変わった様子も無くサクサクと動いています。これで古いディスクとはお別れです。

まとめ IDE 2.5 HDD を簡単に入れ替えるには Acronis True Image 11 Home と HDDケースでの作業がおすすめです。「そんなの PE つかってアレすれば無料で出来るじゃん」とかあるかもしれませんが、たまに帰ってきた実家でそんなハッスルはしたくないのでした。

Acronis True Image Personal 2 (説明扉付スリムパッケージ版)
ソースネクスト (2006-12-22)
売り上げランキング: 42
おすすめ度の平均: 4.0
4 HDDリカバリーパソコンでもインストール可能
3 価格を思えば妥当な簡易機能
3 リカバリCDは作れないようです
5 便利!簡単!安い!
5 お奨めです

いつも、svn_client_log のエラーメッセージに悩まされるので書いておく。

gist は http://gist.github.com/46209

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

use SVN::Client;                                                                                                       
use Data::Dumper;                                                                                                      
                                                                                                                       
my $repo = shift || 'http://svn.coderepos.org/share';                                                                  
                                                                                                                       
my $ctx = SVN::Client->new;                                                                                            
                                                                                                                       
my $last_revnum;                                                                                                       
$ctx->info( $repo, undef, 'HEAD', sub { $last_revnum = $_[1]->rev }, 0 );                                              
                                                                                                                       
my $start                  = $last_revnum;                                                                             
my $end                    = $last_revnum - 10;                                                                        
my $discover_changed_paths = 1;                                                                                        
my $strict_node_history    = 1;                                                                                        
                                                                                                                       
$ctx->log( $repo, $start, $end, $discover_changed_paths, $strict_node_history,                                         
    \&log_receiver );                                                                                                  
                                                                                                                       
sub log_receiver {                                                                                                     
    my ( $changed_paths, $revision, $author, $date, $message, $pool ) = @_;                                            
    print Dumper {                                                                                                     
        revision => $revision,                                                                                         
        author   => $author,                                                                                           
        date     => $date,                                                                                             
        message  => $message                                                                                           
    };                                                                                                                 
}   

前回の帰省は11月で、東京で1週間すごして北海道に移動して1週間という感じだったのですが、今回は年末に北海道に2週間という旅程にしました。前回は築地に行ったりと、帰国の際の「外国人観光客ごっこ」が楽しかったので、今回の北海道滞在中にオーストラリア人だらけと噂のスキーリゾート地、ニセコへ2泊3日のバス旅行へ出かけてきました。

ニセコで働いている人は、円高の影響でかなりオーストラリア人は減っていると行っていましたが、日本人の観光客は本当に少ない。スキー場、ホテル、レストランなどを歩いた(滑った)感覚としては、オーストラリア人が6割、香港人と台湾人(言葉が聞き分けられない)合わせて3割、韓国人が1割くらいでしょうか。

Ace Pair Lift #4 traverse to Ann'nupuri
(photo by ahkkus)

宿泊先はひらふ亭。客室露天風呂は「ベランダに風呂つけてみた」的ではありましたが、やはり部屋で服を脱いですぐに露天風呂というのは久しぶりの運動で体中が筋肉痛だったのでとてもありがたかったです。インターネットが使えるのがフロント横の2台の Windows 98 と寂しい状況。無線LANも一応使えるようですが、iPhone では DHCP でIPが割当たれるけど Gateway と DNS の IP アドレスが通知されない。結局使えませんでした。

はじめてスノーボードに乗る相方と15年ぶりの私だったので、初日はスクールで教えてもらうことに。マザーグーススノーボードスクールのインストラクターに2時間みっちり教えてもらい、相方はなんとか左右にターンできるようになりました。

旭川ラーメン登山軒はおいしかったです。スープが麺に上手にからんでいます。夜は 阿武茶 という居酒屋で北海道料理。石狩鍋、じゃがバター。なぜか梅酒の種類が豊富。スタッフが元気で気持ちがいいです。

次の日には、ポポロというWelcome Center より山側の温泉へ。朝11時だったためか、ほぼ貸切で広い露天風呂。駐車場のすぐ上なので、話し声や除雪の車の音がまるまる聞こえちゃうので、「情緒」を味わう感じの場所ではないですね。そういった用途には何年か前に行った「甘露の森」がひらふからは少し離れますがおすすめです。

地元の友人には「年末のスキー場は雪が少なくて」と言われていて出発前は何度も積雪を確認して心配していましたが、結局は暴風雪(ちなみに、千歳空港を半日封鎖したそうです)のおかげで北海道の雪と寒さを満喫する大満足の旅となりました。

perl-users.jp では JPerl Advent Calendar 2008 というバトン形式で Perl に関する記事を投稿する企画をやっています。バトンが回ってきたので書いてみました。

perl の map と grep を使う

tips というよりは教科書的な内容になってしまったけど、 Perl の組み込み関数のなかで一番好きなのは map なので良しとしてみました。
ThinkPad X40 で CF-IDE アダプタを使って SSD な環境にしてみました。Ubuntu をインストールして快適に使えております。ディスクの read/write が速くなったのはもちろんですが、何といってもディスクアクセスのあの「カリカリカリッ」が無くなってとっても静かです。素敵です。

買った CF-IDE アダプタは AddonicsAD44MIDE2CF という CF カードが2枚差せるやつ。Amazon で $27 くらいしたけど、まぁ「2枚差せる」という将来性をかって購入。CF-IDEアダプタは基板がシンプルなので安いのを買えばいいと思います。$3 とかで売っているところもあるはず。CF-IDE(44pin)で検索すればワンサカ出てくるはず(玄人指向とかも出してるはず)お金はむしろ CF カードにかけた方がいいですね。
 
Dual CF-IDE HDD Adapter

CFカードは間違って買うと HDD より遅くなるとかいう話を目にしたので、念入りに google した結果 Transcend 300倍速コンパクトフラッシュカード 8GB TS8GCF300 にした。SLC チップで UMDA に対応というのが重要らしい。ちなみに、両方とも Amazon.com で購入、2日後に届いた。

CF-IDE Adapter + Transcend 8GB 300X SLC

最初はコイツをハードディスクを入れ替える要領でハードディスクのカバーだけ外してつけようとしたけど、そもそもハードディスクとは形状が違うので無理無理無理。結局 Hardware Maintenance Manual をダウンロードして見ながらキーボード外して、ベゼル外して真っ裸にした上で挿入。ドキドキしますね!(ThinkPad の素晴らしさはこの Hardware Maintenance Manual にあると思う。サスティナブルですね。)

AD44MIDE2CF installation

まさかの事態にそなえて、この真っ裸の状態でキーボードをつなげて ubuntu をインストール。万事快調に終了したのでベゼルを取り付け、キーボードを取り付ける。

ThinkPad X40 は軽量化を目指した結構挑戦的なモデルだったと思うけど、付属の 1.8inch HDD が遅すぎ。HDD は消耗品なので使っていると遅くなるのは当たり前。とはいえ、買い換える HDD が簡単に買えない。そんな今となってはこの CF-IDE で簡易SSDな解決方法はある意味正解だと思う。hdparm -T の結果はこんな感じ。

sekimura@liz:~$ sudo hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads: 130 MB in 3.06 seconds = 42.45 MB/sec

今使っている HDD は 15 MB/sec くらいだったと思うので3倍弱高速化してますね。まぁ、高速化もうそうですが、冒頭に書いたように HDD へのアクセスする「カリカリ」が無くなっただけでとっても満足です。

Transcend 300倍速コンパクトフラッシュカード 8GB TS8GCF300
トランセンド・ジャパン (2008-05-12)
売り上げランキング: 2155
おすすめ度の平均: 5.0
5 問題なく使えています。
5 HDDの代替として使っています
5 価格性能の良いCFカードです

Transcend 300倍速コンパクトフラッシュカード 16GB TS16GCF300
トランセンド・ジャパン (2008-05-12)
売り上げランキング: 5492
おすすめ度の平均: 4.5
4 まぁSLCらしくはあるけど期待は禁物
5 高速な書き込み速度

TypePad Connect

| コメント(0)
といったわけで、私の プロフィールページは http://profile.typepad.com/sekimura です。新規にブログを始めるときには TypePad Connect でコメント管理すると楽しいかと思われます。個人的なおすすめポイントは、

コメント通知メールにそのままメール返信するとブログのコメントとして反映される

ところでしょうか。

JavaScript でコメントフォームの表示、Ajaxy なコメント投稿処理を行い TypePad のサーバ側でコメントの処理します。MovableType なブログを使っている人で、コメントスパムでWebサーバ負荷が高くなるから、コメントを使えなくしたんだよね、なんて人には特におすすめです。ちなみに、コメント自体は TypePad Anti Spam を経由するのでそれなりにフィルターされますよと。

実際にどうやって使えるようにするかは TypePad Connect にブログを登録(コネクト)する にありますが、TypePad Connect 側で提供されるテンプレートをコピー&ペーストするだけで設定できます。コメント数を反映させるために、あちこちのアーカイブテンプレートも変更しなきゃいけないのがちょっとアレですが、賢い人は別のフッターモジュールテンプレートをつくってゴニョゴニョするといいのではないでしょうか。いや、ゴニョゴニョじゃなくて「コネクトする」と言うべきか。まぁ、いいや。


以下は movabletype.jp の記事 TypePad Connect Beta を開始 より。

TypePad Connect とは、無料で使える、コメントサービスです。購読しているブログに投稿したコメントや、管理している複数のブログのコメントなどを、TypePad Connect でまとめて管理できます。

自分のブログやウェブサイトに、TypePad Connect のコメントシステムを導入するのはとても簡単です。TypePad Connect にブログやウェブサイトを登録 (コネクト) し、専用のテンプレートを取得します。テンプレートを自分のブログやウェブサイトに貼付けると、TypePad Connect 用のコメント投稿欄が表示されます。そのコメントフォームを通じて投稿されたコメントは、TypePad Connect の管理画面に表示され、複数ブログのコメントの確認・公開・返信を、まとめて管理できます。また、新着コメントのメール通知や、コメントフィードなどの便利な機能も使えます。

また、ブログ単位でコメントに関する設定も行え、投稿されたコメントの表示方法の変更や、通知に関する設定も簡単に行えます。

TypePad Connect では、自分のプロフィールページを公開できます。プロフィールページでは、自分のつけた新着コメントや、Twitter などの外部のサービスで更新したメッセージを表示することができます。また、TypePad Connect は OpenID にも対応しているので、他のブログサービスにログインしてコメントしたり、OpenID アカウントからのコメントを受付けることもできます

Nintendo DSi には「かがみカメラ」というのが付いていて すてきな画像 が作れるそうです。Nintendo DSi は持っていないので Perl で画像を扱うモジュール Imager を使って同じような画像を生成するスクリプトを作ってみました。twitter のプロフィールで使っている画像を使ってみた結果がこれ:

kagami-camera.jpgFlickr の kaleido tag に他の写真もあります。

45°の三角形だとあんまりきれいにいかないな。正三角形でくり抜いてやるともっと万華鏡感がでるんじゃないでしょうか。あと、スクリプトでやるよりは iPhone App や Flash でインタラクティブに生成される画像が見れる方がいいですね、とか作ってから思いました。

スクリプトは coderepos に置いてありますので、興味のある人はドゾ。Imager::Filter::Kaleidoscope とか作れますね。

http://coderepos.org/share/browser/lang/perl/misc/kaleid.pl

ニンテンドーDSi ホワイト
任天堂 (2008-11-01)
売り上げランキング: 38
おすすめ度の平均: 3.0
3 電池持ちは確かに悪い
1 今時驚きの初期不良
5 DS iについて
1 困る
2 そもそも...

Dell Mini 9 欲しい

| コメント(0)
laptop-inspiron-9.jpg帰国した際にどうやってネットに繋ぐかを考えてる。ま、無理して繋がなくてもいいんだけど、つなげるようになっておいた方が安心とか、その程度の話なんだけど。

前回の帰国の際には ThinkPad X40 を持ち歩いていてやりすごしたのだけど、X40 が壊れた結果、手元にあるのは わずか 2kg の MacBook。スーツケースとかと一緒に持ち歩きたくない重さ。

そこで、話題の netbook ですよ。$300〜$500 で買えますよ。奥さん、聞いてますか? Dell Mini 9 が安く見えない感じが良さげですね。Mac OS X をインストールしたり、GPS 追加したりと hack も盛んなようです。

「おいおい、iPhone どうしたよ」とか言わないように。あれはあれ、これはこれ。International Data Roaming 高いし、たまにはキーボードといちゃいちゃしたいんだよ。

DELL Inspiron Mini 9 ベーシックパッケージ 8.9インチ/Ubuntu 8.04/512MB/4GB
Dell Computers
売り上げランキング: 28946
おすすめ度の平均: 5.0
5 linuxは、完全に何の知識もなく

Redmine (trac clone)

| コメント(0)
 lighttpd のプロジェクト管理が trac から Redmine なる Ruby on Rails でつくられたプロジェクト管理ツールに移行したそうだ。スパムがひどかったらしい。

http://blog.lighttpd.net/articles/2008/10/08/going-to-mine

As you may have noticed, our trac was painfully slow most of the time and we missed some features that we would like to have. So we looked for alternatives and found Redmine

複数プロジェクトを標準でサポートしているのは、個人のペットプロジェクトをだらだらと管理するのにはいいかも。  日本語での情報は http://redmine.jp/ あたりが充実してるようです。
先日、在外選挙人登録というのを行うために在サンフランシスコ領事館へいってきて手続きをしてきたのですが、「本籍が変わっていますねっ!」とかめんどくさいことを言われたので書いておく。

事実、婚姻届を出した際に「除籍」し新本籍地を設定したのだが、パスポートの変更届を出すことをすっかり忘れていたのは私が悪い。まぁ、どの程度悪いのかは、分からないけですけど。そんなに問題なら市町村の戸籍係に「婚姻届の際にはパスポートの変更も必要であることを届出人に通達する」とか言っておけばいいのに。

200px-Japanese_Passport_Information_page.jpg結果として、パスポートには 本籍/Registered Domicile: HOKKAIDO となったままだ。おかげで「変更届だしていませんねっ!」みたいなことを、ここサンフランシスコで言われる。丁寧にこちらから戸籍謄本を市役所から取り寄せる方法を教えていただいたけれども、そんな言われ方をされる筋合いはそもそも無いのだよ。ビザ申請の際にはアメリカ合衆国は気にしなかったぞ。名前が変わった訳でもないから ID としての機能は世界的に果たしているのだ。できない子供を叱るような言い方をされてはなぁ。

つまりだ、世界的に意味の無い「本籍」なんてものをパスポートに書くのはやめたらいい。

それができなくて、そんなに本籍本籍言いたいなら、領事館で戸籍謄本の申請できるようにしてよ。こっちはどこに本籍があろうとかまわないんだ。欲しいのはあなたたちでしょうに。既に住民でもないのに、市役所に頼まなきゃいけないってのは極めて不便。

戸籍制度。デメリットを感じたことは多々あるけど、メリットって一度も感じたこと無いな。ほんと、なくなって欲しい。

追記: ja.wikipedia.org のパスポートのページより画像を転載。ここで言っている「本籍」記載のはなしは、最後のページの所持人記入欄(これはただのメモ書きのはず)ではなくて、写真のような最初のページの「本籍」です。

Mac OS X 10.5 Leopard

| コメント(2)
ThinkPad X40 のバックライト(というかインバーターが)お亡くなりになったので、「3年も使ってるし、新しいのください。できれば MacBook 希望」と IT の人にお願いしたら一週間で 白い MacBook がやってきました。2.1 GHz Intel Core 2 Duo, 4GB RAM, 120GB HDD と、一番安いやつにメモリ満タン構成のようです。ThinkPad X40 に比べると 2kg はずっしりと重いでが、Mac OS X 10.5 Leopard (ちなむと発音はレパード、レオパードでは通じなかった)にはいまのところ満足してます。

ブラウザ: Safari + Stand + GreaseKit (たまに Minefield
メール: Mail.app
ターミナル: Terminal.app
IRCクライアント: LimeChat
IMクライアント: Audium
その他: QuickSilver Fluid

ターミナルの話

Windows で Putty を使って複数のホストにつないでいたときは、それぞれにつないでいる putty のアイコンが Alt + Tab で切り替えていたときに見えていたんだけど、Command + Tab で切り替えられるのはアプリケーション単位なんで Terminal としか見えないんですね。Terminal.app に切り替えてから Command + ] や Command + ` とかでウィンドウを切り替えるのはちょっと面倒で、なんとかならないかとは思ってます。Expose とか手がずれた時点で負けな気が。QuickSilver で terminal hostname とかで切り替えられると嬉しいかも。

最初はタブを使っていたんですけどね。GNU screen と組み合わせると迷子になるので、あまり使いません。GNU screen の中での tty 切り替えと、タブの切り替えが頭の中でゴチャゴチャになってイライラして、あげくの果てに指がつりそうになった。

ブラウザの話

Stand 無しで Safari を使うなんて考えられない。Stand の Quick Search には trac とか fb とかを追加して登録したので trac 89128 とアドレスバーに入力すると、trac の changeset のページに、fb 78273 と入力すると FogBugz のチケットに飛ぶようにしてある。まぁ、Firefox にはデフォルトでついてくるキーワードと一緒だけど。というか、すぐに Stand を導入したので Safari 自体の使いにくさはよくわかってない。画像の URL とかクリップボードにコピーできないの?

Safari を使っていると Firefox 3 の AwesomeBar は便利だったのを再確認。Firefox 3 なんてついこないだ出たばっかりなのに、いかに依存していたかということか。QuickSilver のプラグインで過去に閲覧したベージのタイトルやURLから全文検索するといいとかいう話を聞いたけどどうなんだろうか、後で調べる。

ちなみに Twitter は Hahlo + Fluid + Greasemonkey で Growl してる(これだけで何のことを書いているか分かる人いたらすごい)。ま、screencast があるのでドゾ Howto screencast: Hahlo MenuExtra SSB 。mootoh さんの QuickSilver twitter plugin は一度試して QuickSilver 自体が固まってしまった。新しいのではなおってるのかな。あとでもう一度試す。 QSTwitter 1.5b2 では快適でした。

Fluid は Gmail でもつかってるんだけど、Minefield で gmail や gdoc しちゃうことも多い。Minefield の JavaScript 速いしね。でも、まぁ。正直な話 Google Chrome が恋しい。恋しいねぇ。

ま、そんな感じ。家の Mac mini にも Leopard を入れたくなってしまったのは、まんまと術中にはまったということでいいんだね?

awk とか sed とか

| コメント(0)
最近、なんだかログをパースしてデータ抜き出して、他のプログラムに渡してとかそんなことが続いたので書いてみる。

スペースやタブで区切られたデータから必要な部分を抜き出すときは awk が早くてかつ手軽です。

$ cat hogehoge.txt
dakara 102912 ok 102 at line 1929
$ awk '{print $2}' hogehoge.txt
102912
$ awk '{print $4}' hogehoge.txt
102
perl の配列のインデックスとちがって $1 が最初のカラムの値、なのでログを見ながら「いち、に、さん、し」と数えてから指定してる。声を出しながら数えるとなお良い。

-F オプションでスペースじゃない区切り文字を指定して使ったりすることも多い。

$ cat foobarbaz.txt
id:29129 has been stored successfully Qootas:Model:File:194832:OK
$ awk -F: '{print $5}' foobarbaz.txt
19432
grep みたいにパターンマッチした行だけ表示とか( awk '{$2 ~ /index.html/ {print $11}' access_log )あるけど、ここでは省略。

もうちょっと、複雑というか決まった文字列のあとの数字とかを取りたいときは、sed と組み合わせて、いったん削ってから awk とか。

$ cat e2008.txt
giving [kudos] to al::gore::hack::the::debate[19284482] at current.com
$ sed -e 's/.*::debate\[//' e2008.txt
19284482] at current.com
$ sed -e 's/.*::debate\[//' e2008.txt | awk -F\] '{print $1}'
19284482

あとは、その切り出したデータから、次に起動するプログラムを作っておいて、オプションとかが間違いないのを確認しつつ、最後に | sh - とかで「流し込む」感じがこれまたたまらないのですな。この流し込むタイミングでよく「ドーン」とか言う。

$ sed -e 's/.*;:debate\[//' e2008.txt | awk -F\] '{print $1}'
19284482
$ sed -e 's/.*;:debate\[//' e2008.txt | awk -F\] '{print "/opt/vinfo "$1}'
/opt/vinfo 19284482
$ sed -e 's/.*;:debate\[//' e2008.txt | awk -F\] '{print "/opt/vinfo "$1}' | sh -
URL: http://current.com/items/89363730_al_gore_speaks_at_hack_the_debate_2008
vimeo_id: 1865919
time: 19 hours ago
その都度、まじめにパースするための script とかを作ってもいいんだろうね。けど、一回しか使わないものとかいらないしな。なんといっても、このパイプでどんどん切り刻んでいく感じが「気持ちいい」のだ。ま、それだけの話。おじさん臭いのはかんべん。

sed&awkプログラミング
sed&awkプログラミング
posted with amazlet at 09.01.19
デール ドゥラティ アーノルド ロビンス
オライリー・ジャパン
売り上げランキング: 134103
おすすめ度の平均: 4.5
5 0から書いたことがありません。
5 正規表現をマスターしましょう
4 Sed&awkプログラミング

LocationFree でテレビを見るときに、tv.yahoo.co.jp の番組表を利用してます。けど、違うタイムゾーン(当方、サンフランシスコ在住)の人なので「 夜7時か。-16 時間だから、えーっと。。土曜日、朝の 3時?」とかの計算しなきゃいけなくてが面倒。いままで、そのままにしてたんだけど、W杯予選とか Euro 2008 とかで日本のテレビを見る機会が増えて、ムキーッっとなったので Greasemonkey した。

tz tweak for tv.yahoo.co.jp

はい。やべっちFC は、朝 7:30 からです :-)

script は http://userscripts.org/scripts/show/28493 に置いておきました。神奈川にロケフリを置いている人も使えるかと思われます。

getTimezoneOffset を使っています。便利!。現在時を元にタイムゾーンからの差分を計算するので、DST の境目をまたいで未来の番組表を見る場合はずれるかもしれないが、まぁよしとする。あと、JavaScript で padding を自分でしなきゃいけないのは面倒ですな。 getHours('hh') とか sprintf('%2d', getHours()) とかほしくなります。

なんだか寝れずに朝3時に起きてしまったので、書いてみる。

Perl で L10N といえば、Locale::Maketext::Lexicon ですが、間違った *.po ファイルを Gettext で指定すると、これでもかってくらいに探しまくるんですよね。例えば、実際に使いたい strings.po は /doko/soko/strings.poなのに、間違って /soko/strings.poを指定したとします。こんな感じ

    package Hello::I18N::de;
    use base 'Hello::I18N';
    use Locale::Maketext::Lexicon (Gettext => '/soko/strings.po');
    1;

すると、Gettext が SCALAR なので、Locale::Maketext::Lexicon::lexicon_get_() が呼び出されるんですが、ここでのファイルが見つからなかったときの探し方が。。

    my @path = split( '::', $caller );
    push @path, $lang if length $lang;

    $src = (
        grep { -e } map {
            my @subpath = @path[ 0 .. $_ ];
            map { File::Spec->catfile( $_, @subpath, $src ) } @INC;
          } -1 .. $#path
      )[-1]
      unless -e $src;

@INC で map して grep して -e って。$caler は scalar caller で定義されて Locale::Maketext::Lexicon が入ってるんだけど、結局のところ、たとえば手元の環境だと

/usr/lib/perl5/5.8.8/i686-linux/Locale/soko/strings.po
/usr/lib/perl5/5.8.8/Locale/soko/strings.po
/usr/lib/perl5/site_perl/5.8.8/i686-linux/Locale/soko/strings.po
/usr/lib/perl5/site_perl/5.8.8/Locale/soko/strings.po
/usr/lib/perl5/site_perl/5.8.5/Locale/soko/strings.po
/usr/lib/perl5/site_perl/5.8.4/Locale/soko/strings.po
/usr/lib/perl5/site_perl/5.8.3/Locale/soko/strings.po
/usr/lib/perl5/site_perl/5.8.2/Locale/soko/strings.po
/usr/lib/perl5/site_perl/5.8.1/Locale/soko/strings.po
/usr/lib/perl5/site_perl/5.8.0/Locale/soko/strings.po
/usr/lib/perl5/site_perl/Locale/soko/strings.po
/usr/lib/perl5/5.8.8/i686-linux/Locale/Maketext/soko/strings.po
/usr/lib/perl5/5.8.8/Locale/Maketext/soko/strings.po
/usr/lib/perl5/site_perl/5.8.8/i686-linux/Locale/Maketext/soko/strings.po
/usr/lib/perl5/site_perl/5.8.8/Locale/Maketext/soko/strings.po
/usr/lib/perl5/site_perl/5.8.5/Locale/Maketext/soko/strings.po
/usr/lib/perl5/site_perl/5.8.4/Locale/Maketext/soko/strings.po
/usr/lib/perl5/site_perl/5.8.3/Locale/Maketext/soko/strings.po
/usr/lib/perl5/site_perl/5.8.2/Locale/Maketext/soko/strings.po
/usr/lib/perl5/site_perl/5.8.1/Locale/Maketext/soko/strings.po
/usr/lib/perl5/site_perl/5.8.0/Locale/Maketext/soko/strings.po
/usr/lib/perl5/site_perl/Locale/Maketext/soko/strings.po
/usr/lib/perl5/5.8.8/i686-linux/Locale/Maketext/Lexicon/soko/strings.po
/usr/lib/perl5/5.8.8/Locale/Maketext/Lexicon/soko/strings.po
/usr/lib/perl5/site_perl/5.8.8/i686-linux/Locale/Maketext/Lexicon/soko/strings.po
/usr/lib/perl5/site_perl/5.8.8/Locale/Maketext/Lexicon/soko/strings.po
/usr/lib/perl5/site_perl/5.8.5/Locale/Maketext/Lexicon/soko/strings.po
/usr/lib/perl5/site_perl/5.8.4/Locale/Maketext/Lexicon/soko/strings.po
/usr/lib/perl5/site_perl/5.8.3/Locale/Maketext/Lexicon/soko/strings.po
/usr/lib/perl5/site_perl/5.8.2/Locale/Maketext/Lexicon/soko/strings.po
/usr/lib/perl5/site_perl/5.8.1/Locale/Maketext/Lexicon/soko/strings.po
/usr/lib/perl5/site_perl/5.8.0/Locale/Maketext/Lexicon/soko/strings.po
/usr/lib/perl5/site_perl/Locale/Maketext/Lexicon/soko/strings.po

これ全部 stat(2) して、「ぜぇぜぇ、がむばって探したけど無かったよ。じゃ、死にます」みたいな。いやぁ、そこまでがんばらなくていんだけどなぁ。そもそも scalar caller で $caller 定義しているのは本当にやりたいことなんだろうかとか思ったら 「scalar caller(1) でしょ?」ってのが RT に2年前に登録されてるな。まぁ、先にファイルが存在するのをチェックしないお前が悪いってことか。

まとめ: Locale-Maketext-Lexicon で Gettext でファイルを指定するまえに -e なりでそのファイルの存在を確かめましょう。DProfもいいけど strace を使うことで簡単に見つかるパフォーマンス改善ポイントもありますよという話でした。

最強タッグ、もたいまさこ & 小林聡美 による 2クール がスタートしていることにいまさら気づきました。「やっぱり猫が好き」で好きな回は「空飛ぶエビフライ」。せきむらです。

2cool.PNG

しかも、第二日テレで全編オンデマンドで再生できるという話を聞いて見てみようとするが「ssl.dai2ntv.jp 本サイトは日本国内からのみご利用いただけます。」とつれない Windows Media DRM の表示。さくらのサーバを借りているので、そこから見ればいんだろっ、ということで、SOCKS でごにょとして見ることにした。

putty_socks.PNGトンネル掘削: Putty で SSH Dynamic Port Forwarding するにはこんな感じ。設定画面で接続->SSH->トンネル を選択して表示されたメニューで、源ポート(ここでは8999)を指定、そしてダイナミックのラジオボタンをチェックして「追加(D)」をクリックすると「フォワードするポート一覧:」に D8999 と表示されるはず。この設定で ssh でさくらのサーバへログインすればOK。

proxy_conf.PNGSOCKSプロキシの設定: インターネットオプションで接続タブを開き、「ローカルエリアネットワーク(LAN)の設定」で表示される「プロキシの設定」をクリック。表示された Socks の欄に 127.0.0.1 を入力し、ポートは先ほどputtyで設定した「源ポート」を指定(ここでは8999)すればOK。

10am at AT&T park

| コメント(0)

在アメ自慢話に「4Mbps な Comcast に $60/month も払っている」というのを付け加えるのを忘れていました。「ビロード離婚?ブロードバンド?」。せきむらです。

今朝、家でぼけっとしていたら10時近くになってしまったのであわててオフィスへ自転車で向かったのですが、AT&T Park で大量の中国国旗が振られているのに気づきました。そうです、トーチリレーのスタート地点はSF Giants のホームスタジアム AT&T Park です。チャーターのバスも何台かありました。近隣からトーチリレーを見るツアーか何かがあったのでしょう。1000人ちかくの在サンフランシスコの中国人が集まり、中国の国旗を振っています。子供たちが踊りで歓迎するなど、Chinese New Year Parade と似た雰囲気。少し離れた場所でチベットの旗を振っている団体を見かけたけど、こっちは20人程度。あとは人権保護の団体が Stop Tibet Genocide とか書いた旗を持っていたけど、これも10人程度。その騒動をすり抜けるように白人カップルがiPodで音楽を聴きながらジョギングして駆け抜けていく。なにか起こらないかなぁと待ち構えているメディア。

トーチリレーは 12:30 スタート。デモのリーダーはまだ現地に到着していないからかもしれませんが、淡々と準備されている印象。在サンフランシスコの中国人は本当に楽しみにしているみたいです。反面、ほとんどのアメリカ人は関心を持っていないし、「また、人権保護団体が騒いでいるな」くらいの感覚なのではないでしょうか。「何か事件が起こってほしいのはメディアだけ」な印象です。

at&t park.PNG

在アメ自慢話に「平日夜中の11時に花火があがる」というのを付け加え