いつの間にか、SeesaaブログがAutoPagerizeに対応していて驚きました。各記事のページから、過去の記事へどんどんさかのぼることができます。
10日ほど前にSeesaaにその要望を出したのですが、それで対応してくれたのでしょうか。だとしたら嬉しい。
会社の Windows 2000 で thunderbird を使っているんだけど、
仕事でかなりの数のメールを読み書きするせいもあって、
ショートカットとか使い方とかにかなり馴染んでしまった。
で家で使ってる sylpheed との使い勝手の違いが段々苦痛に
なってきたので、鈴木さんが VineSeed の thunderbird を更新
してくれたのを機にメーラーを乗り換えることにした。
移行するに当たって、アカウント情報は手作業でなんとか
するとして、問題は過去メール。
今回は、
sylpheed: MH 形式
thunderbird: mbox 形式
なので、とうやって移行するか色々試行錯誤した結果、
次の方法で移行できた。
普段、Mac では Xcode をテキストエディタがわりに使っていますが、Xcode のスクリプトメニューについてはよく知りませんでした。しかし、調べてみると、わりと便利そうな機能なんですね。
試しに、次のようなスクリプトを書いてみました。これを、/Developer/Library/Xcode/Scripts/ 以下に置きます(本当はユーザディレクトリに置けそうな気がしますが・・・)。
#! /bin/sh
#
# -- PB User Script Info --
# %%%{PBXName=Open Terminal}%%%
# %%%{PBXInput=None}%%%
# %%%{PBXOutput=SeparateWindow}%%%
# %%%{PBXKeyEquivalent=}%%%
DIRNAME=`dirname "%%%{PBXFilePath}%%%"`
osascript << ENDOFSCRIPT
tell application "Terminal"
activate
do script with command "cd " & quoted form of "${DIRNAME}"
end tell
ENDOFSCRIPT
すると、Xcode のスクリプトメニューから、現在開いているファイルがあるディレクトリでターミナルを開くことができます。
KNotes
KDE をインストールするとデフォルトで含まれている付箋アプリです。
好きな色に変更可能
文字フォントも選べる
書き込んだ情報は、再起動しても残る
アラーム機能がついている
書き込みロック機能
etc...
個人的に気に入っているアプリです。
スキーの後からずっと汚れっぱなしだったのでガソリンスタンドで洗車。足回りの始末が非常にいい加減でドアに泥が残っていたり(!)して腹が立ったが、言っても仕方ないのでそのまま引き上げた。安くてよかったのだが、もうあそこには行きたくない。どっかほかにいいとこないかなあ。自分で洗うかなあ。めんどくさいなあ。
家に戻ってから、春一番の季節に砂埃まみれになってしまった車内も拭き掃除。だいぶきれいになったと思う。
読みかけだったが、洗車待ちの間に残り半分くらいを一気に読了。
響子の耳が聞こえないという設定にあまり必然性が感じられない。電話できない、わけあり、くらいか。話の落としかたについては「誰も本当に他の誰かを理解することはできない」ということで、まあ確かにそのとおりで非常にうなずけるのだけど、これもやっぱり耳が聞こえないこととはあまり関係ないよなあと思った。
いや、耳が聞こえないことで何か衝撃的なオチがあるのかと期待していたワタシが悪かった。すんません。
もう随分前の話になるが、Leopard発売に合わせてAppelな弁当箱を購入。
で、以前のPPCの方はリビングに移動。スリープ連動のFireWire HDDとKeyspan RF Remote For Front Rowを追加し、TVとミニコンポにつないでホームシアターのようなものになっている。コンポジット、S端子、D1端子しかない上に4:3な旧式25インチトリニトロンTVなので大層なものではないが。
モタることもなくLeoprd & Front Rowが動作し、なかなか快適。もしかすると以前より活用されているような気がする。新弁当箱でiTunesを起動し忘れていると音楽の再生ができなかったりするのはご愛嬌。
VineSeedのperlのバージョンが上がったため、MT、amavisd-new、SpamAssassin、munin、awstatsが軒並み動かなくなった。というわけで依存しているCPANモジュールを怒濤の勢いでrebuild&upload。
自分専用パッケージも含め、uploadした数の倍のパッケージをrebuildしたら、さすがに疲れた。
今度はファイルの一覧から指定してファイルを削除する方法。
ListView から特定のアイテムを削除するには、lvwMain.Remove(KEY)
で指定したキーを持つアイテムが削除される。
ListView から特定のアイテムを削除するには、lvwMain.Remove(KEY)
で指定したキーを持つアイテムが削除される。
で、削除ボタンが押された時にこれを働くようにしたいので、
GUI エディタを使ってフォームにボタンを追加したら、ボタン上
で右クリックして、イベント → Click を選ぶ。
そうするとコードエディタが開くので、そこにこんな風に記述する。
IF ListView1.Current <> NULL THEN ListView1.Remove(ListView1.Current.Key) ENDIF
こうすればボタンを押すした時に選択されたアイテムを消せる。
ただし ListView のプロパティで mode に multiple を指定してると、
話はもうちょっと面倒に。
複数選択を可能にした状態では上と同じやり方だと1行しか削除
できないので、こんな感じでループして、選択行を一旦配列に
放り込んでから削除処理する必要がある。
PUBLIC SUB btnRemove_Click()
DIM aList AS NEW String[]
DIM i AS Integer
' check selected line and store key to string array
WITH lvwMain
IF .Count > 0 THEN
.MoveFirst
FOR i = 1 TO .Count
IF .Item.Selected = TRUE THEN aList.Add(.Item.Key)
.MoveNext
NEXT
ENDIF
' then remove selected line
IF aList.Count > 0 THEN
FOR i = 0 TO aList.Count - 1
.Remove(aList[i])
NEXT
ENDIF
END WITH
END
ListView には内部的な(表には見えない)カーソルがあるので、
これを使って複数あるアイテムの状態を確認している。
(内部的なカーソルなのでユーザが選択した行には変化なし)
ちなみにいきなり選んだ行を削除しちゃうと、内部的なカーソルの
位置が消えちゃうらしくエラーになるので、1回目のループで選択
された行のキーを配列に格納して、2回目のループでこれを削除
している。
# multiple selection の処理はちょっとだけ面倒だけと、
# 使い勝手は良くなるので、大事かなと。
久しぶりに池袋のリブロに立ち寄ったら、コンピュータ関連の書籍フロアが1階から4階に移動していた。
ちょっと暇をつぶしたいがジュンク堂のエスカレータを上がるのが面倒くさい、というときに重宝していたのだが、必要なポテンシャルが同じくらいになってしまった。品揃えではジュンク堂のほうが圧倒的に上なので、もう使わないだろう。
ちなみに1階は語学と資格のフロアになっていた。確かに売れ線だろうけど、ワタシは興味ない。
語学にしろ資格にしろコンピュータ関連にしろ、本って基本的に単価が高い。書店を利用するのは、ある程度内容を吟味して、似たような複数の書籍を比較検討して選びたいという顧客ではないだろうか。
つまり、フロア面積でジュンク堂に劣るリブロは、非常に厳しい戦いを強いられているのだと思う。というかもう明らかに負けてるよねこれ。
昨日からずっと Build してました。 Xine パッケージの問題もあるのですが、取り敢えず rpm を作成してみました。
今のところ、最新版です。よろしければテストしてみてください。
http://linuxlog.sakura.ne.jp/rpm/amaroK/
amarok-1.4.9.1-1vl4.i386.rpm
amarok-visualisation-1.4.9.1-1vl4.i386.rpm
amarok-xine-engine-1.4.9.1-1vl4.i386.rpm
xine エンジンに含まれている ファイルが、本体のファイルにも含まれている事を発見し、再 Build しました。
ファイルリストも書き換えました。 あと、後々のメンテを考えて、分け易いようにファイルリストを並べました。
依存関係も少し付け加えました。 libvisual , libvisual-plugins パッケージは、まだ作成していないので KDE on Vine Linux さんのところから Download してください。 ソース rpm も置いたので、気がついた点等があれば御指摘くださるとありがたいです。
VLGothic を少しだけ修正。前のエントリのコメントにあった修正と、M+部の更新です。
ワタシの地元では粗大ゴミの回収は有料だが、ゴミ処理場へ自分で持ち込めば無料で引き取ってくれる。つまり有料分はまるまる回収手数料なので、何かのついでに車に積んで自分で持っていけば安く上がる。
今日は子供が成長したため使わなくなったチャイルドシートといい加減汚れてぼろくなったラグマットを持って行った。
どちらも「とても汚い」という点にだけ目をつぶればまだまだ使えるのだが、きれいに生活することが信条みたいになってしまっているので捨てる。そのことの是非はここでは割愛。
ゴミ処理場に粗大ゴミを積んだ車を乗り入れたら、いつもは職員さんが受付の中にいるはずなのに今回は外で待っていた。しかも2人。しかも男女。なにやら楽しそうに会話している。
いや別に会話することがいけないわけじゃない。たまーにやってくる一般車両をぼーっと待っているよりは二人楽しく会話しているほうがなんぼか楽しいだろう。それは全く問題ない。
どうやら女性のほうが経験が浅いらしく、男性が面白おかしくという感じで施設のことを何やら説明している。笑い声が時折混じる。
ワタシがしばらくもたついてからドアを開けると、男性が「ここに住所と氏名と電話番号を記入してください」と所定の用紙を差し出してくれる。もちろんバインダと鉛筆も付けて。大変書きやすい。
ワタシが書き始めるとまた会話が再開される。楽しそうに談笑している。いい感じ。
ワタシが書き終わってバインダと鉛筆を返すと男性が「今日は何を持ち込まれるんですか?」と訊いてくる。チャイルドシートとラグマットです。男性は「ふーん…」と言う。なんだその微妙な返事は。そして男性はさっき返した用紙の下半分のチェック欄に書き込みを始める。女性が近づいてきて受付済み証と書かれた紙を手渡し、「白い線に沿って右に曲がって奥へ進んで、係員の指示に従ってください」と案内してくれる。何度も繰り返された説明なのでこちらもハイハイと素直に従って車を進め、奥のほうで黙々と粗大ゴミや不燃ゴミ(地元では「燃やさないゴミ」と呼ばれる)や可燃ゴミを仕分けている係員にゴミを引き渡して帰る。おしまい。
さてこのサービスにあなたは満足できますか。ワタシは微妙に不満だ。なにが不満なのか、うまく指摘できないけど。
ウチでは用がないからその辺りの設定は全くしていないのだが、"MX850 linux"というキーワードでぐぐって来た人がいるのでちょいと調べてみた。
新しすぎるせいか、ドライバがない。ソースを見てみたら機種固有情報みたいなものを見てるっぽい上に、バイナリのみのライブラリとリンクしてるからquick hackとはいかない模様。
ドライバが出るのをおとなしく待つか、どうしてもすぐ使いたいのであれば、SMB + RedMon + gsで、Windowsを経由して出力するのが無難かと。
大型連休中に引越を行う関係で、4/30 〜 5/2 頃に本サイトの閲覧ができなくなります。御了承下さい。 I will be moving to another apartment in early May, and this website will be unreachable from 30th of April through 2nd of May. Sorry for the inconvenience....
とある事情により、kmutoさん&トップスタジオさんから
Ruby Way第二版(cbook24)の献本をいただいた。事情…… 率直に言うと、出版されているのを知ったときにはびっくりした。まあ、イロイロあるんだなって。
でも、それはそれ、これはこれ。以下、本の内容について。
最初の印象としては読者象を想像し難しいかなというところ。目次を見てピンとくる人はもちろん手にとってみても良いと思う。あとはいろいろなRuby表現を解説付きで学びたいといった要求にも応えられるのかな。そういってみると、入門書を終えた人や実用を始めたばかりの人なんかにおすすめできるのかもしれない。ちなみに本書の目次はSEshop.comでは見られないようなのだが、cbook24の商品ページで参照できる。
ちょっと気になるのは監訳注のバラつき。たとえば:
もちろん理解を助けてくれる監訳注もあるので、もう少しだけ全体的なバランスがとれているとより読み易くなったのではないかなと思う。
ついでにいうと、このタイミングで1.9系の情報に手を出すのは難しいのではなかったか、とも思う。構成上、どうしても断片的になってしまって網羅性とれないので、それはRuby 1.9 Wayになのかというと、ちょっと違うのではないかな、と。この本の主旨はそういうところに置かれているわけなので、1.9.0-0と1.9.0-1と、さらにその後でけっこうな変化がある状況の中、あえて入れないことを選んでも良かったのではないかしら。
(ふとRuby Way 1の監訳注を読み返してみたりして。視点の違いがちょっと面白い。)
今日は今のCチーム編成で初めての練習試合。初めての試合でいい緊張を保つことができずに後半ずるずると失点。まあそこは経験の差ということで。それを差し引いて考えれば非常にいいゲームだったしいい経験だったんじゃないかと思う。みんな頑張ったよ。
以前はCPANモジュールのRPM化に、RPM::Specfileに入っているcpanflute2を使っていた。RPM::Specfile自体はRPM化せずに入れていたのだが、今回はRPM化を試みた。これまた依存物件の多さに心が折れた。
cpan2rpmに逃げた。で、なぜか
$ cpan2rpm RPM::Specfile
とか実行してたり。もういらんてば。
SVN::Webを入れてみようと思った。
amavisd-newもMuninも依存しているCPANモジュールをゴリゴリとパッケージして入れたのだが、コレはさすがに依存物件の多さに心が折れた。
去年に引き続いて参加。代々木公園。電車に乗ろうといって連れてこられた下の息子は、原宿駅周辺のただならぬ気配を感じたのか、強烈にひいていた。
まあただならぬ気配というか実際ただならないわけだがw
しかしその後、お菓子をもらった上に新入社員の女の子に気に入られて遊んでもらい、デレデレして楽しそうだったのでよかった。
みんながあのころの自分と今の自分のギャップを田村に背負わせて、交通事故からの回復にカタルシス。という話?
なんでみんなそこまで田村に思い入れるのかがよく分からなかった。
音楽を文章で語るには、村上龍くらいの筆力がないと無理。ということがよく分かる。
演奏シーンにちっとも引き込まれない。ライブのシーンなのに完全に読者だけ蚊帳の外。なんとかしてくれ。
いつの間にか、Gmail の自分のアカウントが Gmail2 に変わっていました。少し軽くなったような気がします。
普段は Thunderbird で IMAP アクセスしているので、さほど関係ないですが・・・。
mrtgの設定にウンザリしたので、Muninを入れてみた。依存するものが山盛りでインストール自体に苦労する罠がついてきたが、設定はヒジョーに楽だった。
が、測定値が-1~1の間(±0.xxx.....)になるといきなり値が10億(1G)倍になってグラフが描画される。なんだろう?
『Linux LOG: 壁紙を作成してみました。』に触発されて、shadeの修行がてら1枚描いて(描かせて)みた。
5.0のコードネームはLafiteらしいので、Ch. Lafite Rothschildのラベルにインスパイヤ(古)されてみた。おフランスのシャトーに対抗して日本の城郭である。
self-build 用のスクリプトのテスト中に、
# rm -rf usr/
とすべき所を
# rm -rf /usr/
としてしまった。
エンターキーを押した直後、普通ならシェルのプロンプトが
すぐにもどってくるのに、なぜかすぐにもどってこないことに
本能的にヤバさを感じて、2秒後(体感)には Control + C を
押して中断したんだけど、時すでに遅し
すぐさま良く使うコマンド (ls とか rpm とか apt-get とか) が使
えるかどうか確認して、一通りちゃんと動いたことから、そんな
に傷は深くないこどが分かり、とりあえず一安心。
さて、こいつをどうやって復旧するかなぁと色々考えた結果、
今回は以下の手順で対処した。
まず、
# rpm -Va > verify.log
として、rpm が管理しているパッケージ情報と照合する。
こうすると無くなってるファイルがあると missing と出てくるので、
これから次のコマンドを実行して再インストールが必要なパッケージ
を特定する。
# grep ^missing verify.log | cut -c13- | xargs rpm -qf | sort | uniq > reinstall.list
あとは reinstall.list を開いてパッケージ名の後ろのバージョン
番号とリリース番号を消したら、
# apt-get install --reinstall `cat reinstall.list`
で消えたファイルを再インストールで復元して復旧完了。
今回は消えたファイルは -devel パッケージがほとんどだった
ので比較的楽に復旧できたけど、これがコアなパッケージだっ
たらと思うとゾッとした。
# 再インストールから環境再構築もちょっと魅力的だけど、
# 今は辛いなぁ。
あと少しというところであまりにもあっけない幕切れ。内憂を抱えながら、支配者への配慮なのか放置して見事に裏切られてしまう。斬る機械は何度でもあったのに。
改革を断行するなら徹底的にやれ、ということか。
GIMP を使って個人的には初めてとなる壁紙作成をしてみました。
デザインセンスの欠片も見当たらないくらい下手なのですが、折角作ったので公開してみます。
この葡萄の実の光り具合が超難しくて、大変でした。。
もっと紫の色を濃くした方が良かったかもですが、暗い色よりも、明るい色の方がライトな感じでいいかなと思ったりしてます。
# FluxBox のあのハイセンスな壁紙には到底及びませんが、、
久しぶり(1回アナウンスをわすれています)ですが、VLゴシックをすこしだけ更新しました。変更点は
[aiueo]macronはdebianからの要望の対応です。 久しぶりにいじると結構メンテナンスが必要なところもありそうな感じです。
そういえばFedoraも9からVLGothicがデフォルトの日本語フォントになるようですね。
Mac + Firefox + GoogleGears の環境で Remember The Milk のサイトにアクセスしたら、デスクトップに "Remember The Milk.app" が作成されて驚いた。
中身を見てみると、Firefox で https://www.rememberthemilk.com/offline にアクセスするという単純なものだ。単純だけど、気がきいていていいかも。
とりあえず外付ハードウェアの類はDom0で制御することにして逃げたわけだが、どうにも気分がよろしくなく、あれやこれや悩んでいるうちに何かがキレた。これまでは
であったのだが、これらを
このように編成替え。プリンタは両機ともにネットワーク接続にし、単品スキャナとモデムは廃止。複合機にしたらずいぶんモノが減った気がする。UPSの制御だけが残ってしまったが、これはもう仕方ないと割り切ってDom0とDomUの両方にapcupsdを入れ、DomU側をスレーブにして監視はそちらでやることに。
この作業をしていたら間違えてLP-2400をUPSにつないでしまい、即オーバロードでUPSが落ちたのはナイショである。
先日のエントリでハードウェア制御3点と書いたが、よく考えてみると
の豪華5本立てだった。まあ、I/Fは3種類ということでひとつ。
Passenger 1.0.1の動作はなんとなく分かった気分になってきているのだけど、実際のところコードのほうはひいきめに見ても半分くらいしか見ていないかな。もう少しきちんと読んでおきたいところだが。
ローカルに持っている各種ドキュメントをどこかサーバにまとめて置きたい、と最近思っていましたが、結局 Gspace を使うことにしました。
ドキュメント保存のためだけにわざわざ Firefox のアドオンを入れるのは大袈裟だと思っていましたが、他に適当な方法もないし、まあいいか。
複数のアプリケーションを動かしていて、これから実行しなければならないアプリケーションのためのインスタンス(Railsアプリケーションの実行プロセス)がプールになく、かつプールに空きがない場合、mod_passengerは動作していない他のインスタンスの一つを退場させた上で必要となるインスタンスを確保するようだ。インスタンスが見つかった場合には、それらで実行中のリクエスト処理が終わるのを待った上で処理を行う。
自作のRailsプログラム(のプロトタイプ)を引っさげて同じ小学校の図書ボランティアのお姉さま方にデモ。Excelとか使いこなせなくて困っている、という人たちが目を輝かせながら使ってくれて、こうじゃなくてこうしてほしい、こういう機能も欲しい、こういうリストを印刷したい、こういう機能があればこんな使い方もできるよね、とダメだしや要望や将来の夢を熱く語ってくれた。
これがアジャイル開発の威力なのかッ…!
次回デモは2週間後。やることたくさんできて大変だが、まあ今の方向性で大丈夫だということは確認できたし。できる範囲で頑張ろう。
最近、職場における自分の役割というか立ち位置みたいなことをぼんやりと考えていたのだが、この3日間の研修でますますその思いは強くなって、今日は出張だったのだが同行した後輩相手に語りモードに入ってしまったりした。いやあな先輩だなオイ。
もう15年くらい働いてきて、自分が若い人たちの将来像というか目指すべきマイルストーンというかロールモデルみたいなものになってきているのかな、と。
ワタシが新入社員だったことは会社も景気よかったこともあって、ちょうど今のワタシくらいの大先輩たちはバリバリ働いてキラキラ輝いていて、俺もああいう風になりたいなあとか思いながら頑張って働いていたような気がする。
自分がそのころの先輩たちの年齢になって、さて今、果たして新人や若い人たちにとって「ああいう風になりたいなあ」と思える目標になれているかどうか?
というようなことを考えると、やはりもっとバリバリ頑張ってキラキラ輝いていないとダメだなあと思う。自分のことだけ考えてやっていればそれで評価された時期は、もう終わりなのだなあ。
ローカルで持っているマインドマップのデータ(FreeMind形式)をオンラインサービスに移行したいと思って探したら、ぴったりのサービスがあった。
Online Mind Mapping - MindMeister
FreeMind形式のファイルをインポートできる。どうやらエクスポートもできるようだ。
OpenIDに対応しているので、新たなアカウントを作らなくてすむのも嬉しい。
ただ、有償なのが悩みのタネ。・・・と思ったら機能制限つきで無償なのか。
VineSeed/x86_64なDomUを作るわけだが、ザッと調べた限りでは
というわけでkernelはスッパリ諦めて、とりあえずはCentOSのkernelをそのまま使ってuserlandのみVineSeedにする。想定外の使い方なのでvirt-installで簡単インストールとはいかなかったが、それほど難しくもなかった。
新サーバは以下のようなパーティション構成にする予定だった。
| 128MB | RAID1 | CentOS用/boot |
| 128MB | RAID1 | VineSeed用/boot |
| 残り | RAID10 | LVMでその他諸々 |
が、RAID10、xfsでCentOSをインストールしようとしたら、どちらもインストーラでサポートされていなかった。そこで先人の知恵を求めてぐぐりまくると、出てきた出てきた。
いつだったかbogofilterが動かなくなってしまい、SpamAssassin内蔵のベイジアンフィルタも精度がかなりイマイチだったので、1ヶ月ほど前からbsfilterを使い始めた。SAの前段で動かし、内蔵ベイジアンフィルタと同名のルール(BAYES_xx)で評価するようにSAを設定。以前は
cat - | bsfilter ... | spamc | sendmail ...
というスクリプトを書いて呼び出していたのだが、シェルスクリプトでDSPAMのフリをするラッパを書いて、SAともどもamavisd-newから呼び出すようにしたらずいぶん処理が速くなった。
DBを鍛えるために一時RBLの類を全無効化したらとんでもない量のspamが来た。問題はnon-spamのサンプル数が少ないことである(とほほ)。
少しだけど実際に動してみることでもう少し分かったので、先の記事を少しだけど書き換えておいた。
他に気付いた点として、passenger-spawn-serverにはSIGHUPでリロードがかかるような感じのコードがあるのだけど、シグナルハンドラを設定する親クラスのコードではSIGHUPを常に無視するようになっていて、結局のところSIGHUPには無反応になっているようだというのがある。もうちょっと確認したほうが良さそうだけど、その通りだとすればどっちが位図した挙動なのか気になる。SIGHUPでリロードしてくれたほうがうれしいように思う。
あと、spawn server系を外部から、つまりkillコマンドとかで終了させると、しばらくはエラー表示が出るようになる。しばらくというのはアイドル時間をすぎるあたりまでということだと思うが、詳しくは見ていない。関連して、運用時にはエラー出力用のテンプレートを調整しておいたほうが良さそうだ。そのままバとバックトレースとか出ちゃう。
運用に際してといえば、たとえば高負荷時の挙動だとか、前述のプロセスが予期せず死んだときの挙動だとか、そういった部分での検証は必要ではあるものの、単に動かすという意味ではインストールさえできればわりとすんなりと動いてくれる。Apache HTTPサーバ2.xでなければならず、今のところprefork MPMにしか対応していない(と書いてある)点が少々ひっかかるが、それがすごく問題ということもないだろう。Mongrelなんかよりも手間はまずまず少なくてすむように思える。
もうちょっと調べてみてはいるので、いずれ期会があればまとめてみる気になるかもしれない。が、そんな機会はないかもしれない。メモだけなら簡単なんだけどねえ ;-)
2005 年くらいに k3b の rpm パッケージをあげて以来、Vine の k3b は、ライティング機能のみな感じの印象でした。self-build もあることですし、そろそろ今までライセンス絡みで作れなかったパッケージも作っていきたいなぁ。と思っていたり思わなかったり。。
k3b にリッピング機能もあるので、以下のファイルをインストールすれば、オーディオ CD, ビデオ CD, DVD ビデオ のリッピングや、動画のエンコードや、デコード、自動再生が出来るメディアの作成が出来るようになります。
ただ、self-build パッケージになるであろう品が何品かあります。
あと依存関係で、dvdauthor も作成しないといけないとか、限られた時間の中での作業は結構一人では大変です。
大勢でパーっと共同で作れたら、きっと一瞬でおわるのになぁ、、、
Transcode http://www.transcoding.org/cgi-bin/transcode
VCDimager ftp://ftp.gnu.org/pub/gnu/vcdimager
MAD http://www.underbit.com/products/mad/
eMovix http://movix.sourceforge.net/
Musepack http://www.musepack.net/
Ogg Vorbis(apt にあり)
Libsndfile(apt にあり)
FLAC(apt にあり)
TagLib(apt にあり)
FFmpeg(apt にあり)
LAME(apt にあり)
SoX (apt にあり)
MusicBrainz(apt にあり)
libdvdread (apt にあり)
ざっとドキュメントを読んでみたところでは、アプローチとしてはFastCGIと似ているみたい。つまり、Railsアプリケーションのために起動されるプロセスを永続化させることで速度を得る。
ただ、FastCGIと違う点が(もちろん)あって、その一つはフレームワークのコードと、フレームワークのコード-アプリケーションの組み合わせに応じてコードをキャッシュする(プロセスを確保しておく)ということのようだ。フレームワークのコードというのは、アプリケシーションが利用しているRailsのことで、コードの所在やgemのバージョンなどに応じてプロセス(framework spawn server)が作られる。その先にアプリケーションのコードまでを読み込んだプロセス(application spawn server)が作られ、そこから具体的なアプリケーション実行プロセス(インスタンス)が生成される。
これらキャッシュまわりのプロセスのツリーの構築はpassenger-spawn-server(spawn server)が行うのだが、その他の制御はmod_passengerが行う。つまり、しかるべきプロセスに対してアプリケーションを動作させるためのプロセスを生成させ、それをコントロールするのはmod_passengerの仕事となる。ただ、実際には、framework spawn serverとapplication spawn serverについてのタイムアウト処理については、それぞれspawn serverとframework spawn serverが行っているようだ(個々のインスタンスのタイムアウトはmod_passengerが処理する)。
他にはconfig/environment.rbのオーナーの権限でアプリケーションを動させること(ただし特権では動作せず、RailsDefaultUserの権限になる)や、リクエストURIとRailsアプリケーションのマッピングの簡略化なども特徴といえるようだ。
Mongrelなどに対しては、ヒマしてるプロセスを長居させなくてすむといった利点が挙げられている。また、「Ruby Enterprise Edition」を使うことでcopy-on-write的な点でメモリ効率も上げられるよーというようなことが書いてある気がするが、肝心のRuby Enterprise Editionが何ものなのかはまだ資料が出来ていないようでよく分からない。
複数のアプリケーションを同居させるときのマッピングの指定方法やmod_aliasとの相性問題(?)など、ドキュメントをながめただけでは詳細が分からない点もあるが、前述のことも含め、実際に動かしてみてみよう。
追記1: ソースを読んだりしてもう少し様子が分かった。RailsBaseURIというのはLocation+SetHandlerみたいなものなのね。
追記2(2007-04-16): mod_aliasとの相性というか、要するにDocumentRoot以下の構造とリクエストURIのパス部分の構造が一致しているのを想定しているということのようだ。なので、Passengerが動作するバーチャルホストでmod_aliasを使うとすぐにアウトということでもない。もう少しがんばれそうだが、今後どうにかしていくのかな?
今日から3日間カンヅメで研修。普段やり慣れないことで初日からぐったり。
夜TVを点けたら、たまたま「カンブリア宮殿」でアルプス技研の新入社員研修の話をしていた。実際の研修にカメラが潜入していてなかなかすごかった。力の限りの大声で声だし。一日中誰とも口をきかずに内観。大声で社訓を暗唱。
まあこれに比べればワタシの研修なんか楽なほうだなあ、と、ビールで濁った頭で思った。
今度は引数で渡されたファイルを一覧で表示して、そこに
追加や削除できるようにする必要がある。
gambas2 でリスト形式で表示できるウィジェットには、
ListBox、ListView、ColumnView、GridViewなんかがある。
一番シンプルなのは ListBox なんだけど、テキストだけだと
ちょっと味気ないので今回はアイコンも表示できる ListView
を使ってみることにした。
まず GUI のエディタを使ってフォーム上に ListView オブジェクト
を作る。(名前は lvwMain)
次にリストの中身を追加していく。
リストには、lvwMain.Add(KEY, TEXT, PICTURE) で追加する。
引数の KEY が ListView 内部で使われるユニークなキーで、
TEXTが画面に表示されるテキスト、PICTURE はアイコンに
使う画像を指定する。
実際に引数で指定されたファイル名を ListView に追加する
処理はこんな感じになる。
PUBLIC SUB Form_Open()
DIM i AS Integer
IF Application.Args.Count > 1 THEN
FOR i = 1 TO Application.Args.Count - 1
lvwMain.Add(File.Name(Application.Args[i]), Application.Args[i], Picture.Load("rpm.png"))
NEXT
ENDIF
END
これで実行するとこんな感じの表示になる。
ちなみにアイコンに指定する画像はプロジェクトのフォルダ
内に置いておく必要がある。
とりあえずインストールだけ。fastthreadがいるらしい。
/usr/lib/apache2/modulesに書き込めることをチェックするわりに、インストールスクリプトを実行しただけではその場所にインストールしてくれないようだ。rake apache2:installで/usr/lib/apache2/modulesにコピーされる。gemでの運用を前提にしてるのかな?
さて、実際どんなことをやってくれるかは…… そのうち見ておこう。
新しいノートパソコンが我が家にやってきた。Dell Inspiron 1520。TVチューナーとかWebカメラとかそういうアホなものは付けない方向で。でもBluetoothは付けた。とりあえずワイヤレスマウス買おうかな。
ちなみにOSはXP Professional Edition。Vistaなんか使わん!
さて、これにRails環境を整えないといかんのだが、来週は3日間研修で次の日出張…間に合うのか。間に合わせないといけないのだけど。焦る。明日は下の息子のお守りだし…。
稲垣さんが頑張ってくれたお陰で、 VineSeed に gnome-2.22
一式が投入された。
と言うことで早速 TestPkg から一揃いをインストールして
使ってみた感想。
まずとても安定していて、固まったり落ちたりというのは
全然無し
体感スピードも気持ち軽くなった気がするので、preload と
併用すると nautilus が一瞬で開いたりして、かなり快適に
使えそう。
あと個人的に嬉しかったのは2つ。
1つは nautilas の左ペインの"場所"がシングル・クリックで
選べるようになったこと。
個人的に常用してて以前から「なぜダブルクリック??」と思って
いたので地味に嬉しかった。
もう1つはボリュームのプロパティに、ディスクの使用量が表示
されるようになったこと。
df の出力よりも直感的で分かりやすいし、windows 慣れした
身にとっては正直楽だと思う。
# ちょっとだけ文字化けしてたけど、そろそろ UTF-8 に移行
# しようかな。