2002年07月18日(Thu) 今日はちゃんとした雨
● 朝ご飯ご版(バージョン管理されてるご飯?)にパンを食べようとしたらカビててショック…。しかたがないのでオカズ(消しゴムみたいな形をした消しゴムみたいな味の冷凍白身魚を炒めたもの)だけ食べた。雨合羽を着て自転車通勤。
● momongaのCD-ROMはどのファイルシステムを扱えるのか
そうそう書こうと思って忘れてた。 CD-ROMをbootしてcat /proc/filesystemsしてみると…
rootfs bdev proc sockfs tmpfs pipefs ext2 cramfs ramfs iso9660 devpts vfat ext3 reiserfs jfs xfs
カーネルはこれだけのファイルシステムを扱えるようですね。 コマンドの方は、ls /usr/sbin/mk*fs* して
mkdosfs mke2fs mkfs.ext2 mkfs.ext3 mkfs.jfs mkfs.msdos mkfs.vfat mkfs.xfs mkreiserfs
ls /usr/sbin/*fsck* して、
e2fsck fsck fsck.ext2 fsck.ext3 fsck.jfs fsck.xfs reiserfsck
ということです。ちなみに、このCD-ROMで起動すると、 viも使えちゃうんですよ。rescue diskとしてはけっこう便利だと思います。 以前書いたように、eth0を上げることもできるのですが、 ssh系のツールは無いので、ファイルを転送するには、 anonymous ftpかrcpということになるんだろうな。(未確認)
入っていて欲しいのに入ってないのは、shutdownコマンド… と思ったらbashのexitコマンドでリブートされました。
momongaのレポジトリはいつできるのかな〜?
● どーしてrpmがちゃんと動かなかったのか
結果的には、rpm-buildが無かっからでした。 ならgcc.specがみつからないなんてエラー出すなようなーという感じですが、 多分、perrorの引数を間違えてるのでしょう。
straceまでひっぱりだして原因を探した詳細は、 こちら。
● 昼過ぎからいい天気になってきた
春らしくていいな。もう夏のハズだけど。
● 集録書き中
今回は、まず日本語でアウトラインを作って、それを英語にふくらませてみようかと思ったのですが。いや、英語が出てこないのなんのって…。やっぱり最初から英語で考えた方がいいのかなぁ…。先は長いぜ。
● 隣りのグループの友人のお別れパーティー
今度別のポストに移ることになった人のお別れパーティーに行ってきた。面白いことに、こちらでは、出て行く人がパーティーを用意して、残る人を招くのが普通のようです。バイエルン料理(肉とザワークラウト的野菜)とビール、赤白ワイン、ジュース、水(もちろん炭酸入り)、コーヒー、ケーキなどが用意されてワイワイ話をする。で、適当な時間に出て行く人にお別れを言って引き挙げるわけです。
今回アメリカに移ることになったその友人は今日が最後の出勤で、週末はアパートの片づけ、荷物を送り出してから水曜日に飛行機に乗るのだそうだ。それに加えてパーティーの準備と片づけもあるわけで、大変そう。でも、グループの人が主催してるわけじゃないので、僕みたいに別のグループに居ても紛れ込んでお別れを言ってこられるってのがいい点なんだな。
さて。シゴトを再開。今回は自制して飲まなかったぞ。うむ。
● momonga-0.6.0-1m飼育中
そういうわけで、 新バージョンのmomongaを飼育中です。 必要なパッケージのオモコンをしかけて帰るので、 こちらの明朝(日本時間で金曜日の昼ごろ)にISOイメージを作れることでしょう。
問題は、もう手元にCD-Rメディアが無いということ。 勝手ながら手元でのテスト無しに配布しちゃうことになります。
そういうわけで、そのうち、
- ブートフロッピーからブートして、
- ローカルディスクの中のツリーからstage2を取ってくる
ようなFDブートイメージが作りたい今日このごろ。
本当は、bash#が出てからの設定部分やパッケージのインストールをする部分を 作ってかなきゃいけないんだよね。 残念ながら僕にはそこまで手を動かしてる時間はなさそう。 ruby-newt等わかる方どうぞよろしくです。
2003年07月18日(Fri) 昨日よりはいい天気
● 湿度が高いかも。
● [tDiary] お天気プラグインを設定プラグインに対応させてみました
設定画面のサンプル(そのうち消します)。実装はこれでいいのかな?
(追記) 6月中旬以前のadd_conf_procの無いtDiaryではプラグインのエラーが出て動かないかもしれません。お試しになる方は、今まで動いていたweather.rbをどこかにコピーしてからお試しください。もし動いた時はご一報いただけるとうれしいです。
(また追記)さっそく、halchanさんやkosakaさんに使っていただいています。ありがとうございます。OKを押すとInternal Server Errorが出る…以前、IRCでどなたかがxreaでtDiaryを使っていて、Rubyのbegin周辺で、「unknown node type 0」というエラーが出ていたときに、beginの後に空行を加えると直ったとおっしゃってました。もしどこでエラーが出ているかわかれば、そこら辺に空行を加えることで直るかもしれません。
(もっと追記)手元でtDiaryを1.5.4に巻き戻して、weather.rbを入れた状態で、日記の更新と設定ができることを確認しました。少なくとも1.5.4以降をお使いの方は、ブラウザで設定する機能のあるweather.rbを使っていただけます。ブラウザからの設定のためには新しいtDiaryが必要ですが。
● Creative Commons Licenseの賠償責任
バーチャルネット法律娘 真紀奈17歳さんのところから、クリエイティブ・コモンズ・ジャパンに動きがあったという記事。
残念ながら手元ではPDFの日本語が読めないのですが、Lenz教授の「著作権とCreative Commons実施権」によると、Creative Commons Licenseでは、
その著作物が自分のものであり他人の著作物を侵害しているものではないということを表明し、保証する。そして、これに違反して第三者に損害が発生した場合、賠償の責任を負うとされている
とのことです。ホント?
試しにtDiary-users Projectに適用されているライセンスを斜め読みしてみると、
- 5.a.ii: By offering the Work for public release under this License, Licensor represents and warrants that, to the best of Licensor's knowledge after reasonable inquiry: (i項を中略) The Work does not infringe the copyright, trademark, publicity rights, common law rights or any other right of any third party or constitute defamation, invasion of privacy or other tortious injury to any third party.
- 6. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
と書いてありました。(強調は筆者。)
うわー。
Wikiで責任を追うのは誰になるんだろう?どこかの閉鎖してしまったblogみたいな使い方は問題外として、Wikiに書く人は5.a.iiをちゃんと理解して、自分の書き込みによって万が一生まれてしまった6項の損害賠償責任をWiki運営者に代わって持つ覚悟が必要かもしれないですね。
この日誌にもCreative Commons Licenseをつけようかと思ってたのですが、もう少し真剣に考えよう。もちろん、このライセンスが無くたって、著作権の侵害をしていいわけではないのですが。
● [Ruby][tDiary] ruby-1.8.0とruby-1.6.7とではArray.joinの返り値が違う
手元でruby-1.8.0でtDiaryを見ようと思ったら動かんではないかい。 そういうわけで昨日のベンチマークは ぜんぜん正確ではない。キャッシュ消してなかったし。
調べてみると、Array.join()の挙動が変わったことがわかりました。 emptdiary_style.rb内で拡張文字列クラスを定義して、それをjoinして、 返り値に同じ拡張文字列クラスを期待しているのですが、 実際にはStringが返ってくるようです。具体的には以下のような感じ。
この部分の対策をして、emptdiary_style.rbをcommitしました。 ruby-1.8を使おうと思ったけどemptdiaryスタイルじゃ動かんやんけー、 という方はtDiary本体を更新してください。
● [Ruby][tDiary] そういうわけでベンチマークやりなおし
テスト対象はこの日誌の7月14日分とほぼ同じデータです。 ちゃんとキャッシュを消して。
ふむ。userとsystemを合わせて1.6.7に比べて16%の増速でござる。 よかったよかった♪
● [tDiary] disp_referrer2.rbはどれくらい遅いか
上と同じように、プラグインを出し入れして調べてみました。ruby-1.8.0で、今回はキャッシュの消去はしません。
- 00default.rbのみの場合
- 1.14user 0.04system 0:01.20elapsed 97%CPU
- disp_referrer.rbを加えた場合
- 1.21user 0.06system 0:01.27elapsed 99%CPU
- disp_referrer2.rbを加えた場合
- 0.60user 0.03system 0:00.66elapsed 95%CPU
ありー?素のreferer_of_today_longより速いってのはどういうことだろ?
じゃあ、1.6.7で。
- 00default.rbのみの場合
- 1.29user 0.11system 0:01.40elapsed 99%CPU
- 30386 bytes
- disp_referrer.rbを加えた場合
- 1.50user 0.06system 0:01.56elapsed 99%CPU
- 30387 bytes
- disp_referrer2.rbを加えた場合
- 0.80user 0.11system 0:00.91elapsed 99%CPU
- 31249 bytes
おかしいなー。生成する文字数が効いてるのだろうか? 上にwc -cの結果を追加してみよう…文字数はだいたい一緒みたいだ。
とにかく、手元ではdisp_referrer2.rbは 素のreferer_of_today_longよりも激速という結果になっちゃいました…。
…おかしい。
● [tDiary] どうしてdisp_referrer2.rbは速いのか?
-rprofileした結果を整理してみました。1.8.0です。 特長的な部分だけ (プラグインの有無でcall回数が大きく違うように見えるcallだけ) 抜きだしてみます。 メソッド名の横の数字はcall回数です。
name | total ms/call | 00defaultのみ | disp_referrer.rb | disp_refrrer2.rbも |
---|---|---|---|---|
cumlative sec | - | 7.83 | 21.78 | 11.13 |
Array#each | 133.72 | 126 | 126 | 172 |
TDiary::DiaryBase.disp_referer | 78.14 | 100 | 100 | 142 |
Array#sort! | 23.33 | 0 | 0 | 6 |
Array#collect | 18.31 | 11 | 0 | 14 |
TDiary::Config#charset | 13.33 | 0 | 3 | 0 |
String#% | 3.00 | 0 | 0 | 10 |
Class#new | 1.46 | 0 | 20097 | 4804 |
String#scan | 1.25 | 0 | 0 | 24 |
CGI#escapeHTML | 1.07 | 202 | 202 | 244 |
String#gsub! | 0.76 | 0 | 200 | 284 |
CGI#unescape | 0.69 | 102 | 0 | 0 |
String#strip | 0.56 | 0 | 0 | 107 |
Array#unshift | 0.49 | 0 | 61 | 0 |
Regexp#initialize | 0.13 | 0 | 20035 | 4710 |
Regexp#=~ | 0.10 | 0 | 20033 | 4885 |
ふーむん。profileを取った時は、素のtDiaryの方が速かった模様。 disp_referrer.rbと比べると、 Class#new、Array.unshift、Regexp#initialize、また、 Regexp#=~で得をしてるようです。Class#newって何やってるんだろう? 一方、Array#each、sort!、collect、String#gsub!あたりは call当たりの時間がかかるのに、disp_referrer2.rbで多用されている。
そのうちソースを見て改善できるところは改善してみよう。
> halchan's diary [早速使っていますが、今の所は問題なしです。 [TrackBack from http://www.halchan.o..]
2006年07月18日(Tue) オフィス引越し
● 廊下の向いの部屋に引越しました。もう海が見えません。
2009年07月18日(Sat) 障害対応は同僚にまかせてしまった
● ヒヨコが襲撃される
先週我が家にやってきたヒヨコ、少しずつ住環境を整えて、昨日からは洗濯場で巨大なプラスティックケースに暮らしてます。
ところが…。今日は少し天気も良いし、明いところに出してやろうと、ネコ避けにスノコのようなものを載せて駐車場に出してやりました。気持ち良さそうに餌を食べる2羽。一段落ついて人間は家の中に入ってぼーっとしてましたが、ただならぬ雰囲気に外を見やると、激しく鳴くヒヨコと逃げていく一匹の猫。
プラスティックケースに行ってみると、首から出血しているヒヨコが1羽横になたまま鳴いてました。
しきりに「もう1羽はどこ?」と訊くずんか。ごめんね。ほんの1時間ほど外に置いておいただけなのですが、このスノコの端からなら猫は入れるかもなあ、と思っていたことが現実になってしまいました。野生は厳しい。いや、猫もニワトリも在来種ではないのですが。
残った1羽は手で保温しながら水を少しずつ飲ませておいたら、翌日には糞もして、餌も食べるようになってきました。しかし座敷ニワトリにしてしまいそうでこわい。糞から人間に感染する病気もあるそうなので、要注意です。
> UmaShika [えーとですね、fsck.hogeって、使えないんですわ。(除くext2) xfsだとxfs_hogeちゅうのがないと..]
> ずんだあん [ありゃー。そうなのかぁ。xfs_hogeってのは無かったような。今はwinなので確認できないけど。]
> かずひこ [cvs に projects/momonga 作りました。さっそく zunda さんの希望を参考にいじります。]
> ずんだあん [おぉ、ありがとうございます。僕もいぢりたいよぉ〜。]
> ずんだあん [momonga、既にバージョンアップしてるし♪]
> ちびひろ [所変わったお別れパーティーの様子、興味深かったです ところであのシュワシュワという炭酸入り水は好みですか? 私あれが..]
> ずんだあん [ドイツ語では「オーネ コーレンぞいれ」(なぜか最後はひらがな的)と言います。僕は慣れてしまったのでガス入りの方が好き..]