Planet Yendot

March 10, 2010

mrmt

The Best of Naked Eyes / Naked Eyes


Naked Eyes は、80年代に活躍していたエレポップのデュオです。 Culture ClubとかDuran Duranあたりと同年代ですね。
(There's) Always Something There to Remind Me がヒットしたので、 これを聴けば「ああ、これか」と思われるかたも多いでしょう。 この曲、邦題が「僕はこんなに」です。なんだかよくわかりません。

YouTube - Naked Eyes - Always Something There To Remind Me

当時はこの曲、覚えやすいし、ポップで、バブルガムで、なんて良い曲なんだろうと思っていましたが、 Burt Bacharach と Hal David の黄金コンビが Dionne Warwick のために作曲作詞した曲がオリジナルだと後年知りました。 そりゃ良いに決まってます。なんだよちくしょう。
下はSandie Shawが歌ってるものです。僕も生まれる前。

さて、Naked Eyesに話を戻すと、ほかの曲は正直僕にはそんなにぱっとしません。Blancmange程度かな。みんなごめんなさい。
でも、エレポップの歴史的には、試験に必ず出るもいいところなので、押さえておいたほうがいいと思います。なんか今年ニューアルバム録音してるみたいだし。

The Best of Naked Eyes Naked Eyes - The Best Of Naked Eyes

ただ、もしバート・バカラックを知らないなら、科目選択とか以前に、人として押さえておきましょう。
Burt Bacharach presents Sweet Melodies / V.A.

March 10, 2010 01:05 AM

March 09, 2010

tnh

レンジローバの自動車保険を申込んだ

一番安かったSBI損保にて。

あとはBMWの自動車保険と、学資保険の検討かな。

March 09, 2010 09:37 PM

Ar-

[misc] 大橋JCTウォーク

妻といっしょに歩いてきた.なかなかおもしろかった.

いろいろ写真もとりまくった.

March 09, 2010 05:39 PM

[大学][train] わかしお

大学関係で勝浦へ.人生発わかしお.

特急が連結のため10分もとまるようだ.いったんドアしめるのでタバコに外いったひとはあせらないように,というアナウンスがある.

なんという丁寧さ..さすがといえよう.

March 09, 2010 05:35 PM

[大学] 研究費に関する4分間プレゼン

大学関係の用事で,勝浦へ.そこでブレスト&プレゼンということにあいなった. とりあえず晒しておくのであった.

.prezi-player { width: 550px; } .prezi-player-links { text-align: center; }

March 09, 2010 05:30 PM

nakanot

メール整理

3 月アタマからの分に順次返信。ごめんなさい、ううう。

March 09, 2010 04:30 PM

期末伝票整理

昨日の領収書で 3 つ予算を〆。あとは奨学寄付金と校費。

March 09, 2010 03:26 PM

server reboot

カーネルの update がいくつか出ていたので、人が少ないうちに mserv, surf, babaserv, migrate と更新して再起動。

March 09, 2010 03:26 PM

第 1 回実行委

13:00-17:00 新日鉱ビル 2F 会議室にて。開催方針、プレセッションなどについて。宿題は議事録、ドメイン取り、ML 作り、advisory への連絡依頼。

March 09, 2010 03:26 PM

秋葉原でお買い物

期末の打ち切り領収書作り。メモリ、HDD ほか。このへんの店って平日は 11:00 からしか開いてないのね。早めの昼御飯を食べて移動。

March 09, 2010 03:26 PM

引越し後始末

前の家に車で移動して簡単に掃除、10:00 から退去確認、敷金の戻り額が決定した。そのまま車で新居へ戻り。午後から耐震固定、ベランダの物干し設置、自分の部屋の本棚移動、...

March 09, 2010 03:26 PM

60 周年記念会

13:00 からのゲームは 10 分だけ出場。懇親会 18:00〜20:00 で帰宅。十二さん、小笠原さんほか、久々の人が多かったのだが、現場では写真撮っていたし、あまりゆっくり話せなくて残念。...

March 09, 2010 03:26 PM

引越し後始末

大量のゴミ出し、段ボールの一部片付け、部屋照明の移動。

March 09, 2010 03:26 PM

March 08, 2010

Ar-

[food] ミートレア@南大沢

友人I&Tが国立のケータイ屋に用事があるということで,合流することに.機種変4台に2時間以上かかった.

そしてその後にTの希望で南大沢のミートレアににいくことに

写真7まいほど

  • 国立からだと30分ちょい.
  • nv時代のなつかしい記憶がよみがえる..
  • 駅前の様子がかわりすぎでびびる.
  • ミートレアは,このスペアリブの店以外はなんかそのへんにありそう感.あとは,にくまきおにぎりか.
  • パンx2とライスx1であとは写真の通り.
  • 3人で7,8千円くらい.
  • バックリブは満足感あり.塩コショウにしておいて正解.
  • BBQソースのスペアリブはかなりくどいかんじ.

いい気分転換になりました.ありがとう! -> T&I

March 08, 2010 12:29 AM

[大学] 研究室追い出し会でやったネタプレゼン

いつのまにか研究室を追いだされる年月が経過してしまった. 本日は追い出し会ということで,5分プレゼンをする機会が与えられたので,そのスライドを晒しておく.

みんな5分どころじゃなく超過しまくってんじゃん..私はどうだったのかは知らん..

March 08, 2010 12:07 AM

[misc] emobileは今月一杯はフルでつかうことにした

どうするか悩んでいたのだが,今日やっとEMチャージのカードが届いた.とどくのおせーよ..

ただ,すでにちょっとばかりemobileを今月使ってしまっていたので,今月下旬まではすくなくとも今のプランで行くことにした.

そのほか.

  • EMチャージのはクロネコで届いた.
  • 朝はCATV業者のチェックを待つ
  • 税務署にいって確定申告.
  • 昼から大学へ.
  • すぐさま麹町でネタしいれ.
  • 麹町のマクドはせまかった.コーヒー100円クーポン使用.ひとりだったのですわれた.電源はない.

March 08, 2010 12:04 AM

March 07, 2010

Ar-

[tech] 明日のプレゼンの準備のためpreziを試す.

明日のプレゼンは,普段のものとちがって,使い回しなど一切かんがえなくていい 研究室むけのネタプレゼン.こうなったらtoolもおもしろいのをつかってみないと,,ということで一度もつかったことのないtoolを試すことにした. さいきんはやりの,うねうねするプレゼンツール prezi. すごいのだが,自分の環境では日本語が入力できないので,使うのをあきらめた.まあ,結局keynoteを使ってみた. まあそれなりにおもしろいのかな..というかんじ.QuickTimeへのエクスポートはイマイチかなあ. ただ,MS office for macのパワポみたいにやたら重いかんじがないのはいいかな.

.prezi-player { width: 550px; } .prezi-player-links { text-align: center; }

March 07, 2010 11:55 PM

[大学] 竹内先生最終講義

おもしろくない最終講義なんてまあ,ないのだが,実におもしろい最終講義だった.

tweetしまくったのであった.

結論のスライドが全てだった.

  • やっぱりS式.
  • 真のクリエータは目的を持たない.しかしまさにそのことによりすべての目的を見事に果たす

森川先生も,竹内先生もそうだけど,えらい先生ってせいぜい10年くらいで次々とテーマを移っている気がするなあ,とあらためて思った.

そのあとで四谷にいって,先週のデモのおつかれさま会.

March 07, 2010 11:48 PM

[misc] last.fm初体験

りばにしさんから聞いてlast.fmを試してみた.

  1. Namco Sound Team (3,337 再生)
  2. Fence of Defense (1,482 再生)
  3. 川井憲次 (896 再生)
  4. TMN (757 再生)

というすごい結果.5位はV.A.で6位は初音ミクでした..

ホワイト学割の福井市ポスターの女の子はどちらもかわいい 学生が笑ってる国だといいよな

March 07, 2010 11:42 PM

[book] フリー~〈無料〉からお金を生みだす新戦略

ついに3月がやってきた.学生でいられるのもあと一月.

最近読んだ本フリー~〈無料〉からお金を生みだす新戦略なのだが,知っている話ばかり..まあ当然なのだが,逆に俺ってそれを生かせてないよなあを逆に感じる本であった.

March 07, 2010 11:37 PM

HANZUBON

HANZUBON.jp 停止予告

HANZUBON.JP 今晩(2010/03/07)or明日の夜あたりに止めます。 復旧にはちょっと時間がかかる見込み。 [2010/03/08 追記] とりあえず終了。

March 07, 2010 11:38 AM

tnh

Software Design 総集編 【2000~2009】(DVD付) (大型本)

Software Design2000年1月号~2009年12月号までの10年分の特集、一般記事、連載をデジタル化し、一挙収録しています。総ページ数にして、約2万4,000ページのバックナンバーPDFになります。

これは面白げ。

というか全部 Evernote に突っ込んどくと便利かもしれん。

Software Design 総集編 【2000~2009】(DVD付)

Software Design 総集編 【2000~2009】(DVD付)

March 07, 2010 11:23 AM

mrmt

Mixed Tape 31


おなじみMercedez-Benz提供の無料mp3コンピレアルバムMixed Tape の31が出てました。
http://www.mercedes-benz.tv/mixedtape

今回は割とほんのりしっとり軽快なポップが並んでいて、このところ曇や雨つづきの毎日にちょっと突破口を開けるのにいいかもです。

この Vol 31 には Green Album というサブタイトルがついていて、クルマの写真とかがありません。クルマメーカーのPR企画なのにね。 まったくどいつもこいつもエコだのグリーンだの、うんざりです。 そこを考えたら、個人的には僕の突破口は、閉じてしまいました。

Mixed Tape 31

March 07, 2010 10:19 AM

tnh

自動車保険

一括見積もりしてみた

SBI損害保険 < エース << アクサダイレクト << ソニー損保 < アメリカンホーム << 損保ジャパン

って感じ。

March 07, 2010 12:40 AM

March 06, 2010

March 05, 2010

HANZUBON

PubSubHubbub対応

こんな話が出てたので、PubSubHubbubに対応するためにプラグインつっこんでみた。 動いてるかどうか未確認(わら

March 05, 2010 10:23 PM

nakanot

諸連絡

溜まったメールの返信処理。もう義理を欠きまくっていて駄目すぎ。

March 05, 2010 06:53 PM

uhvsp

復帰時にバラトロンのケーブルコネクタが断線したとのことではんだ付け修理。

March 05, 2010 06:53 PM

進捗報告

新井くんから実験の状況を聞く。データの再現性が整ってきたので、おそらく議論できる状況になってきたかと。引き続き、もうちょいデータ補完をお願い。

March 05, 2010 06:53 PM

引越し作業

靴を出したのち、自治会の事務所へ行って自転車・バイクの置き場所の確認。表札と集合ポストに入れる名札を PC で刷って入れ、近所の DIY 屋に出かけて風呂の蓋、ゴミ箱、キッチンシートなどを購入、...

March 05, 2010 03:23 PM

uhvsp

ベーキング。終了操作を日留川くんにお任せして (すみません) 帰宅。

March 05, 2010 03:23 PM

March 04, 2010

\ay

先々……週の読書(2010/02/08〜)

2010年2月8日 - 2010年2月28日の読書メーター
読んだ本の数:2冊
読んだページ数:576ページ

藍坂素敵な症候群 (電撃文庫)藍坂素敵な症候群 (電撃文庫)[rakuten]
どこかでみたような? と思うところがちょこちょこあったり、予想していなかった残酷描写があっておどろいたり。ある意味それとは対照的にかたいストーリー運びでもあったが、コントラストがきいていて引っぱっていかれるように感じた。ラストはきれいにまとまっていて、さあ次を、と期待したくなった。アポカリプスの著者だったんだ、と後で知ってなるほどなと。
読了日:02月13日 著者:水瀬 葉月
http://book.akahoshitakuya.com/cmt/4939323

キケンキケン[rakuten]
読了日:02月26日 著者:有川 浩
http://book.akahoshitakuya.com/b/4103018720

▼読書メーター
http://book.akahoshitakuya.com/

忙しくてホントに本を読めなかった。どちらの本もいったい何日かかるんだかっていうくらいかけて読んだ。

それはさておき、キケンは放課後もので(多分ちょっと違う)、放課後ものというとあ〜る因子がやはり。比較するというわけではないのだけどちらちらとはしてしまう。そうなるとなかなか難しいのだけど、これは理系というか工学系で、表現だけだけどもつっこんでいるところがあって、でもって楽しそうでなかなかよかった。きれいにまとめすぎていないかなとちょっとひっかかりはしたけども、まあ、それはね。

March 04, 2010 09:26 PM

nakanot

学内情報機器利用ユーザ id/パスワード

いろいろ駄目だったのだが、なんとか復旧。パスワードも変更できた。秘密日記へ。

March 04, 2010 06:41 PM

情報基礎担当者打合せ

授業は Vista/Office2007 ベースでやる必要があるようだ。うーむそういうパソコンを 1 台手元に用意しないと駄目かなあ。

March 04, 2010 06:41 PM

引越し

した。6:00 起床、最後の梱包作業。8:30 から旧居で搬出作業開始、10:00 終了。車で移動して 11:00 から新居への搬入作業開始、13:00 頃業者さんの書類に署名。そして大量の食材とともに帰宅。...

March 04, 2010 06:41 PM

講演会実行委員会打合せ

15:30〜18:00。結果的に走り回ることに。はあはあ。

March 04, 2010 06:41 PM

March 03, 2010

\ay

明日はじめるCapistrano

Railsのdeployに使われることで知られるようになったCapistrano。でもその実態はRailsにとらわれているわけではありません。Capistranoは何かというと、こう言えます。SSHを使って多数のホストに同時並列に接続して、実行させたいコマンドを一斉に送信、実行結果を受け取って問題なければ次のコマンドを、というのを行うためのフレームワークです。

Capistranoを使い始めるのは簡単です。受け側に必要なものがあまりなく、一般的なUNIX系環境であればすでに準備が整っている状態です。Capistranoを実行するホストにはRuby環境が必要ですが、それ以上のものは基本的には必要ありません。コンパイラも不要ですし、ちょっと試してみるだけならインストールしてなくても大丈夫。

環境作り

とはいえ、何もないところでCapistranoを試せるわけではありませんから、実行環境を作っておかねばなりません。いくつかのやり方があります。

  • OS環境で用意されたCapistranoを使う
  • RubyGemsでインストールする
  • RubyGemsは避けたいので自力でインストールする
  • ちょっと試したいだけなので一時的に使えるようにする

一つめはややバージョンが古くなりがちではありますが、動きを知る、動作を試す、あまり深入りしない範囲で使い始めるといったところであればそれほど問題なかろうと思います。どういったOS環境でCapistranoが用意されているのかというと、知っているなかでは以下の通りです。おそらく他にもあるでしょう。

  • Debian GNU/Linux - capistranoパッケージがあります。ただし少し古めのバージョン2.5.5。
  • Mac OS X Lepard - 最初から使えます。ただしも少し古めの2.5.2。

二つめ。RubyGems(Ruby系ソフトウェアのための簡易パッケージシステム)でインストールするのはごく一般的なやり方です。Capistrano自身と、Capistranoが使っているライブラリ類はすべてRubyだけで書かれていますからコンパイラなどのいわゆる開発環境は必要ありません。すでにRubyGemsが使える状態なら特別な準備は必要ないでしょう。(細いことを言えば、CapistranoのバージョンやRubyのバージョンによって多少異なることもあります。)

gem install capistrano

三つめは、こういったことに慣れていないと手間がかかります。必要なソフトウェアのインストールはどれも難しいわけではありませんが、少々数が多いのです。以下に必要なソフトウェアをあげておきます。インストール方法は各ドキュメントにあたってください。

最後の方法ですが、これは必ずしもおすすめるわけではありませんので後で述べることにします。

初めて書くレシピ

Capistranoは他の多数のホストに対して一括してコマンド実行をしかけます。したがって、どのホストを対象とするのかをあらかじめ示しておかねばなりません。そのためにはロールというものを定義します。

ロールはホスト名のリストのようなものです。ロールというくらいなので、ホストの用途に応じて複数のロールを定義できます。たとえばHTTPサーバを動作させているホスト群、RDBMS用のホスト群、などのように。具体的な定義方法は以下の通りです。

role :http_server, "www01", "www02", "www03"
role :db_server, "db1", "db2"

「http_server」「db_server」という二つのロールを定義しています。それぞれにホストwww01〜03とdb01〜02が所属します。定義の上で、ロール名の前に「:」がついているのがちょっとしたポイントです。これはRubyに由来する記法ですが、ここではそんなものだと考えおくくらいで構いません。

これでロール定義は完了です。Capistranoは特に指定しなければ定義されているロールに所属している全ホストを対象にしますので、ロール定義=対象ホスト指定を終えたことにもなります。

次に、Capistranoを通じて行いたいコマンド実行の内容を決めます。具体的なコマンド実行の内容を考えます。ここでは…… Passengerがインストールされているかどうかを確認してみましょう。手作業で実行するならこんなところでしょう。

gem list passenger -i

gemでインストールしていることを前提としています。バージョンを指定してもよいでしょう。

gem list passenger -i -v 2.2.5

これをCapistranoが理解できる書式に書き換えると次のようになります。

task :check_passenger_gem do
  run "gem list passenger -i"
end

いかがでしょうか。ちょっとばかり呪文が入ってきましたが、コマンド実行の記述そのものに変わりないことを見てとれます。

Capistranoではコマンド実行の指示をタスクという単位で扱っています。タスクの定義には「task〜do〜end」という記法を使います。「task」の直後にタスクの名前を書きますが、ここでも「:」を付けるのがポイントです。「do」と「end」の間には、そのタスクの内容を記述します。

「do〜end」の中で頻繁に使うことになるのがコマンド実行させるための「run」命令です。

「run」に続くのが具体的なコマンド実行内容で、手作業で実行するときとおおむね同じ要領で記述できます。ワイルドカードやパイプ、リダイレクトも利用できます。もっといえばシェルスクリプトと呼ばれるようになる実行制御のための記述も可能ですから、この部分にはシェルスクリプトを記述すると言ってもよいでしょう。

レシピを実行する

決めたCapistranoへの指示内容はレシピとしてまとめます。まとめるといっても単にファイルに記述するだけのことです。Capistranoは「Capfile」という名前のファイルを自身への指示書として扱いますので、Capfileというファイルを作成します。makeコマンドに対するMakefileの関係と同じです。今のところ簡単な内容ですが全体を見ておきましょう。

role :http_server, "www01", "www02", "www03"
role :db_server, "db1"
task :check_passenger_gem do
  run "gem list passenger -i"
end

これでレシピの完成です。いよいよCapistranoの実行です。

Capistranoでレシピを実行するためにはcapというコマンドを使います。Capfileを置いたディレクトリで「cap check_passenger_gem」のようにタスク名を指定して実行します。ここで指定するタスク名には「:」がないことに注意してください。実際にやってみましょう。

$ cap check_passenger_gem
  * executing `check_passenger_gem'
  * executing "gem list passenger -i"
servers: ["www01", "www02", "www03", "db1"]
[www01] executing command
[www02] executing command
 ** [out :: www01] false
   [db1] executing command
 ** [out :: db1] false
(略)
command finished
failed: "sh -c 'gem list passenger -i'" on www01,db1

やあ、実行できました。「servers:」に続く部分がコマンド実行対象となったホストのリストで、これらに一斉にコマンド送信しています。ですがよく見るといくつかのホストについて「failed」と表示されています。

「[out :: ○○]」という部分は、コマンド実行をした各ホストからの出力を表しています。ここでfalseという出力があったことがわかります。これは指定したgemがインストールされていないときの表示です。gemが見付からなかったことでgemコマンドが正常終了せず、それを検知したCapistranoが「failed」と通知してきていたのです。

つまりCapistrano自体の動作に問題があったわけではなく、Capistranoを通じたコマンド実行結果に問題があったということです。

ところで、これらの失敗ホストのうちのいくつかではgemのインストール先を個別に指定して運用しています。そのため実行するコマンドラインを少し変えて、次のようにしてみました。

task :check_passenger_gem do
  run "GEM_HOME=/var/www/apps/GEM gem list passenger -i"
end

これを実行すると次のように結果が変わりました。

$ cap check_passenger_gem
  * executing `check_passenger_gem'
  * executing "GEM_HOME=/var/www/apps/GEM gem list passenger -i"
servers: ["www01", "db1"]
[www01] executing command
[db1] executing command
 ** [out :: www01] true
 ** [out :: db1] false
(略)
command finished
failed: "sh -c 'GEM_HOME=/var/www/apps/GEM gem list passenger -i'" on db1

ホストのうちの一つでは依然としてgemを発見できていませんが、それは少なくとも想定している場所にはインストールされていないためです。実際、RDBMS用として運用しているdb1にはPassengerをインストールしていないのです。

ロールでわける

このように、一括してコマンド実行するときには、ホストの用途に応じて実行内容が変わるのが普通です。Capistranoはロールすべてにコマンド実行しようとしますが、タスク定義のやり方を少し変えることで、特定のロールにだけ適用されるタスクを作れます。

たとえば先のPassengerの例はHTTPサーバ用のホストでだけ実行できればよいわけですから、ロールwww_serverを対象としたタスク定義を行います。

task :check_passenger_gem, :roles => [:www_server] do
  run "GEM_HOME=/var/www/apps/GEM gem list passenger -i"
end

こんなふうに「:roles => [〜]」というタスク定義に記述を加えます。「[〜]」の部分では複数のロールを指定でき、その場合にはカンマで区切ります。ここでの記述には「:」が必要です。

定義を書き換えても実行方法はこれまでと変わりません。

$ cap check_passenger_gem
  * executing `check_passenger_gem'
  * executing "GEM_HOME=/var/www/apps/GEM gem list passenger -i"
servers: ["www01", "www02", "www03"]
[www01] executing command
(略)
 ** [out :: www01] true
command finished

結果が変わりました。「servers:」の部分が変わっていますし、ここでは省略していますが「out :: ○○」の数も変わっているのを確認できるはずです。

複数のコマンドを実行する

さて、実際の場面について考えると、ここでの例のようなgemがインストールされているかどうかの確認だけして終わりということはなく、そこからさらにプロセスが動作しているかとか、設定が正しいかといった作業が続きます。このように一連のコマンド実行がセットにしたのが現実世界のタスクですが、Capistranoのタスクでも複数のコマンド実行を記述することが可能です。それには単純に必要なだけのrunを書き連ねればよいのです。

では次の例としてApache HTTPサーバの設定を確認し、問題なければリスタートするというのを考えてみます。手作業で行うと次のようになるでしょうか(Debian GNU/Linuxの場合)。

apache2ctl configtest
sudo apche2ctl graceful

これをタスクに書き起こすとこうなります。

task check_and_restart_apache do
  run "apache2ctl configtest"
  sudo "apache2ctl graceful", :pty => true
end

レシピの側でも「sudo」が出てきました。Capistranoでは特定の権限でのコマンド実行のためにはsudoコマンドを使用していて、sudoコマンドを利用したコマンド実行には「run」の代わりに「sudo」を使います。もちろん、これを行うためには、コマンド実行の対象となる各ホスト側でsudoコマンドが利用可能でなければなりません。(コマンドライのおしりに「:pty => true」という新たな呪文が付きましたが、これもここでは「そういうものだ」と考えておいてください。)

Capistranoを通じたsudoコマンドの利用では認証のためのパスワード入力の省略が可能です。たくさんのホストへ相手にしなければならないとき、ホストごとにパスワードを入力するのは一苦労です。そのため、Capistranoでは、全ホストのパスワードが同一であることを前提に、一度入力されたパスワードを内部で保持しておいて、必要に応じて代理でパスワード入力を行っています。

ですから、上のタスクの実行に際して、ロール定義されたホストが10個あっても20個あってもパスワード入力を求められるのは一度だけです。

さて、このタスクを実行する前に気になってくるのは、configtestに失敗したらgracefulを実行したくないということです。configtestに失敗するようならその時点で実行を中止してほしいのですが…… 実際のところ、特に気にかける必要はありません。Capistranoは、ちょうとmakeコマンドがそうするように、一連のコマンド実行の途中で失敗するようなことがあればその時点で全体の実行を中止します。

ですから、この例のように特に何の記述もないようであっても、目的はかなえられているのです。少し注意が必要なのは、対象ホストのうちのどれか一つででも引っかかることがあれば、全ホストでその実行を中止するという点です。この例なら、どれか一つのホストで設定が間違っていれば、すべてのホストでgracefulは実行されません。(ただし、これには回避方法も用意されています。)

これにて終了、の前に

これでひとまずの説明は終わりです。ですがその前に。

環境作りの中であげた四つの方法の最後に、インストールせずに試すというのを入れていました。この方法は、結局のところ各種のソフトウェアが必要になるのは変わりありません。ただ、これらはインストールするまでもなく利用できますので、たとえばこんなふうにすると試せるようになります。

$ mkdir tmp
$ cat <<E | while read url; do wget -qO- $url | tar zx -C tmp; done
http://github.com/capistrano/capistrano/tarball/76488f18268bfb34a54d7bb82ee8286d65ac4e00
http://github.com/net-ssh/net-ssh/tarball/v2.0.19
http://github.com/net-ssh/net-sftp/tarball/v2.0.4
http://github.com/net-ssh/net-scp/tarball/v1.0.2
http://rubyforge.org/frs/download.php/51134/net-ssh-gateway-1.0.1.tar.gz
http://rubyforge.org/frs/download.php/68882/highline-1.5.2.tgz
E
$ cp -a tmp/*/{bin,lib} .
$ rm -rf tmp
$ RUBYLIB=$(pwd)/lib bin/cap invoke HOSTS=db1 COMMAND='echo Hello, World!'
  * executing `invoke'
  * executing "echo Hello, World!"
servers: ["db1"]
[db1] executing command
 ** [out :: db1] Hello, World!
command finished

実行のテストを行っているところではまた新たな呪文が増えていますが、ここでは実行できているということだけ確認できれば十分です。もし続きを書くことがあれば、またそのときに説明できるかもしれません。

なお、このようなやり方は、Capistranoや各ライブラリのバージョン変わってもいつでも使える方法というわけではありません。あくまでお試し、限定的なものと考えてください。

では今日これまで。明日がんばりましょう。

March 03, 2010 07:13 PM

nakanot

uhvsp

新井くんが処理してくれていた基板を入れて。今日は 65W で presp 10min、depo 20min の予定。1 枚やったとこでホルダが戻らず、開けてついでに測って閉めた。しかしちゃんとした場所に収まっていたという。なぞ。...

March 03, 2010 01:53 PM

引越し関連作業

エアコンと食洗機の取り外しが午前になったという連絡があったので、自室の PC 回りのケーブルを外して梱包、セラーの中身も梱包。カーテンを取り外し。そして取り外しに対応。業者さんの退去後、水道から滴が垂れる状況が発覚、...

March 03, 2010 01:53 PM

引越し関連作業

昨日持っていったブックオフの査定を聞きにいく。4000 円弱。あとは雑貨類の片付け。

March 03, 2010 01:53 PM

mrmt

Sister Marie Says / Orchestral Manoeuvres in the Dark


おいみんな大変だ、一時は解散してたぐらいのOrchestral Manoeuvres in the Dark (OMD) の新曲です!

http://www.omd.uk.com/ にいくと、いかにもOMDくさいデザインの公式サイトがあるので、そこからダウンロードとかしてください。アカウント作れとか言われるので2秒で作ってください。

曲はもう、なんというか、OMD以上でもOMD以下でもない、OMDとしか表現しようがないOMD極まりなきOMDというべきもので、要はOMDです。
(Call My Name + Enola Gay) ÷ 2 といえば、この記事を読むようなひとにはわかってもらえることでしょう。わかってくださいよ。2つで充分ですよ。

OMDももう結成30年超えてるんですね。おれは聴きはじめてせいぜい25年ぐらいしか経ってませんが。

そんなわけで、なんか深夜に気分が高揚して、ウォッカ呑みながら The New Stone Age, Radio Prague, She's Leaving, Messages, Genetic Engineering, 2nd Thought, ABC Auto Industry, Sealand, Souvenir, Telegraph, Joan of Arc, This is Helena, International, Architecture and Morality, Georgia, Talking Loud and Clear, Of All The Things We've Madeとかひとりで過去の名曲を聴いてます。

Electricityでイーー、てなもんですよ。
Time Zonesで、ただいまから十一時十六分ちょうどをお知らせしますというものです。
A B C A B C 1 2 3..
このまま朝まで吞んでいたいなぁ。

March 03, 2010 02:33 AM

Sister Marie Says / Orchestral Manoeuvres in the Dark

おいみんな大変だ、一時は解散してたぐらいのOrchestral Manoeuvres in the Dark (OMD) の新曲です!

http://www.omd.uk.com/ にいくと、いかにもOMDくさいデザインの公式サイトがあるので、そこからダウンロードとかしてください。アカウント作れとか言われるので2秒で作ってください。

曲はもう、なんというか、OMD以上でもOMD以下でもない、OMDとしか表現しようがないOMD極まりなきOMDというべきもので、要はOMDです。
(Call My Name + Enola Gay) ÷ 2 といえば、この記事を読むようなひとにはわかってもらえることでしょう。わかってくださいよ。2つで充分ですよ。

OMDももう結成30年超えてるんですね。おれは聴きはじめてせいぜい25年ぐらいしか経ってませんが。

そんなわけで、なんか深夜に気分が高揚して、ウォッカ呑みながら The New Stone Age, Radio Prague, She's Leaving, Messages, Genetic Engineering, 2nd Thought, ABC Auto Industry, Sealand, Souvenir, Telegraph, Joan of Arc, This is Helena, International, Architecture and Morality, Georgia, Talking Loud and Clear, Of All The Things We've Madeとかひとりで過去の名曲を聴いてます。

Electricityでイーー、てなもんですよ。
Time Zonesで、ただいまから十一時十六分ちょうどをお知らせしますというものです。
A B C A B C 1 2 3..
このまま朝まで吞んでいたいなぁ。

March 03, 2010 02:33 AM

March 02, 2010

kmuto

『プログラミングClojure』

プログラミングClojure プログラミングClojure
川合史朗
オーム社 / ¥ 3,570

オーム社様から献本いただきました。ありがとうございます。

関数型言語の第一人者の川合史朗さんによる翻訳ということで、楽しみにしていた。

Clojureは、Java VM上で動作する関数型言語だ。JavaをαとかHotJavaとかの時代に遊んでいた頃からすると、昨今のJVMの新たな展開には驚くべきものがある。

Lisp系関数型言語の一派だけあり、Clojureでもやはりカッコは多いものの、それでも少なくするような書式にはなっているらしい。標準で用意されている関数名/マクロ名は英語文法的といえばそうなのかもしれないが、覚えにくかったり用途を想像しづらい名前が多いように感じる。to-array、into-array、interpose、some、macroexpand-1、trampoline、……。

Javaと密接にかかわっているだけに、ClojureからJavaオブジェクトのメンバフィールド/メソッドを見たり、リフレクションを使ったり、Javaオブジェクトを作ってメソッドを呼び出したりといったことがごく簡単にできる。関数型言語でJavaを包んだという雰囲気だろうか。JVM上でならどこでも動くわけで、組み込みなどの用途も(関数型言語が好きなら)あり得るというわけか。

紙面はシンプルなレイアウト——というと聞こえはいいが、コード系に全部同じ等幅書体を使っているため、関数名なのか、任意値なのか、単なる文字列なのかが区別が付けずらい(前述のようにClojureの関数名はどうも覚えにくいため、余計にそう感じる)。 日本語本として読むからには頭のコンテキストスイッチの切り替えをそれほどしなくて済むよう、任意値のところは日本語になっていてほしい、せめてイタリックなどを使ったほうがよかったのではないかと思う。文章自体はこなれていて読みやすいだけに残念なところだ。

全体を読み通した感想としては、「Clojureってなんか不気味……」という形容しがたいもの。でも、柔軟性の高い言語な上に、必要に応じてライブラリの揃っているJavaコードを呼べるのは便利そうではある。何とも言えぬ不気味な感じは拭い切れないものの、『情熱プログラマー』にもあるように別世界の知識を得るために飛び込んで使ってみることも必要かと思う今日この頃(Do it now!)。

March 02, 2010 11:30 PM

tnh

夢屋書店

久しぶりというか、5年ぶりぐらい夢屋書店に行ったけど、やはり素晴らしい。

限り有る店頭という制限の中で、どの本をセレクトしてどの様に陳列するのかが、よく考えられているように思う。

こういうのを見ると Amazon もまだまだというか、リアル書店は永久に不滅ですって感じ。

もっとも、店頭の品揃えを真剣に考えている書店も少ないのだが。

逆にネット書店でリアル書店の気持ちよさを実装できれば、今からでも Amazon を抜けるのかもね。

March 02, 2010 11:13 PM

kmuto

あじの塩焼き、厚揚げとネギの味噌汁、ターサイのニンニク炒め、きゅうりのぬか漬け

鰯がすっかり高級魚になってしまった今、季節変動にあまり影響しなくて大衆魚の価格帯を保っているのは鯵ではなかろうか。というわけで、この時期にお頭付きの焼き魚ということで鯵を買ってきた。塩焼きなら、ゼイゴ取ってエラ取って内臓取って、だけなのでさばくのは簡単。ただ、家のマルチグリルでは串を打とうとするとぶつかって使えないので、形良く焼けないのが難点。ふっくらして美味。味噌汁や野菜もおいしい。

March 02, 2010 10:35 PM

ベーコンごぼう巻き、ほうれん草のオムレツ、かぼちゃの煮物

2月28日の補完。新ごぼうが出ていた。牛肉薄切りで手頃なものがなかったので、ベーコンで代用。ベーコンでもなかなかおいしい。オムレツには少しニョクマムをかけてみた。なじみやすい。

March 02, 2010 10:28 PM

アスパラとパンチェッタのパスタ、ポテトサラダ

2月27日の補完。旬のアスパラと、自家製のパンチェッタを使ってオイルベースのパスタに。パンチェッタの塩気が強いので、ポテトサラダはやや薄味にした。

March 02, 2010 10:25 PM

まぐろの刺身、なめこと豆腐の味噌汁、かぼちゃの煮物、きゅうりのぬか漬け

2月26日の補完。大きなまぐろの塊が安く売っていたので購入。刺身用に買うことの多いびんちょう系とは違って、お寿司用のまぐろみたいなこってりした味。

March 02, 2010 10:24 PM

nakanot

買い物

郵便局に小包を出しにいく用事があったので、ついでに予算〆の打ち切り領収書を作ろうとヨドバシに行った。しかし目当てのメモリ (P1-P3 用、DDR667) が悉く高かったのでやめ、...

March 02, 2010 05:16 PM

引越し関連

学園の人事・管財にそれぞれ報告書類・申込書類を提出。

March 02, 2010 05:16 PM

uhvsp

今日は presp 10 min, depo 60 min の予定。その後開けて測ってベーキング。 蒸発量の計算松野さんのスライドによると、DC 50W のときの基板での Ti フラックスは 3.3E14 atoms/cm^2s。ということで...

March 02, 2010 11:17 AM

March 01, 2010

nakanot

uhvsp

試料 2 枚をふっ酸処理、1 枚 depo してもう 1 枚仕込んで帰宅の予定。今日は presp 10min、depo 30min の都合 40min。T-S 40mm (=メモリは73mm)。

March 01, 2010 06:16 PM

引越し関連作業

新居に行って近隣に挨拶、部屋チェック、床・畳を水拭き、幸区役所に行って転居届、某申請、原付のプレートの住所変更、幸警察署に行って免許の住所書き替え、保全協会に行って駐車場の契約とエアコン申請の提出、...

March 01, 2010 06:16 PM

Ar-

[misc] 大門 虎ノ門 神田

今日は人とあいまくる日.

まず大門へ.大門のマンガ喫茶にいってみたら,場所柄か,禁煙席があいてる.オフィスじゃ吸えないから,ここぞとばかりに吸いたい人は席ですいたいからだろうか.

大門から虎ノ門まで歩く.30分はかからない.電車でいっても15分程度はかかる.

虎ノ門から六本木は,バスが楽だった.

神田のナムコ系漫画喫茶も禁煙席がばっちりであった.

神田では数年ぶりの友人に会う.人のこといえないけど,ふたりともでかくなってる(w

March 01, 2010 04:42 PM

[food] にわとりの日

ケンチキでにわとりパックなるものがやっているという情報.前から知っているのだが,いつも過ぎてから思いだすので,一度も買ったことがなかった.

というわけで買ってみた.たまにはクリスピーチキンもいいものだな.

March 01, 2010 04:41 PM

[大学] ひとをまきこむてすと

友人と一緒に研究できる機会を探す.というわけで研究室に見物にきてもらう.

March 01, 2010 04:41 PM

[misc] ひきこもり

今日は完全ひきこもり.家でいろいろやっていた.主に原稿対応.

March 01, 2010 04:36 PM

[misc] ドッグフード

転職先のひとつに考えている会社のサービスをつかったことがなかったので使ってみた.

March 01, 2010 04:29 PM