2003年2月6日(木) 今日も四輪ドリフトでぶいぶいだぜい
● 家から職場までクロスカントリースキーができそうなくらい積もっている。他の自動車がドリフトをしながら道を曲がってくるのを見ながら運転した朝。帰りは駐車場から無事出られるかな?
● SDFは順調に稼働中だ♪
リンク元を見ると日本にはDNS情報が届いてるみたい。職場のDNSはまだ古い方を向いてるみたいで名前を引くことはできないんだけどしばらく待てばいいだろう。多謝。
● 散財自慢をドイツ語ユーロ対応にしようと思ったけど
Rubyって標準では通貨のフォーマットって対応してないみたい*1。ドイツ語では、小数点はカンマ「,」で3桁ごとの区切りがピリオド「.」、ユーロなので小数点以下2桁も表示しなくちゃいけないという特殊なフォーマットなので、手でごりごり書くのはなぁと思ったのでした。そういうわけで散財自慢は延期〜。
*1 Cだとstrfmon (3)?
● というわけでstrfmon (3)で遊んでみた
エラーチェックもなんにも無しで…
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
#include <monetary.h>
int
main (int argc, char *argv[])
{
char output[80];
char *format;
double value;
format = argv[1];
value = atof(argv[2]);
setlocale (LC_ALL, "");
strfmon(output, sizeof(output), format, value);
fputs (output, stdout);
fputs ("\n", stdout);
return 0;
}
というソースを./strfmonとしてコンパイルしました。
$ LC_ALL=ja_JP ./strfmon %n 1234.567 ¥1,235 $ LC_ALL=de_DE ./strfmon %n 1234.567 1.234,57 DM $ LC_ALL=de_DE@euro ./strfmon %n 1234.567 1.234,57 ** $ LC_ALL=en_US ./strfmon %n 1234.567 $1,234.57
楽しいなあ。
上記、**のところは手元の端末では見られない記号がある。
きっとユーロ記号(€)なんだろ。
あとLC_ALL=en_GBにすると一桁目が化けるのはポンド記号と重なってるんだね。
本職せーへんかい。
● おおっ!rd_style.rbだ!
しかし、このホストにはRDtoolが入ってないし$HOMEに入れるスペースもないというオチ…。
● 浮き沈みするtodoリスト
todo リストなんてすぐあふれる
件数ふえる → 「重要」しか見ない → ちょっとしたのも「重要」で登録 → インフレ → 破綻
- 「重要度」は廃止
- かわりに「浮沈方式」で表示順を工夫
- 覚書: 徐々に沈む (どうせ全部はできません :p)
- todo: 徐々に浮かぶ
- 〆切: 指定日が近づくと浮かぶ
な る ほ ど 〜。うにっき経由でhowm: 一人お手軽 Wiki もどき (書きなおし版)より。
● DNSも来ました
昼過ぎに手元でhost zunda.freeshell.orgにも成功♪うっひっひ。
2005年2月6日(日) 久しぶりにいい天気
● ずんことガレージセールへ。
● [tDiary] リンク元強化プラグインを高速化したい
途中経過。
やっとこさ、キャッシュのしかたで速度がどう変わるか調べてみました。 使ったのは、この日誌でリンク元の多い日のうち、 検索エンジンから以外のリンクも少し含まれている2002年7月31日のものです。 リンク元のURLは770種類でした。
環境は、
tDiary version 2.1.0.20050127、
disp_referrer.rb,v 1.45
(テストによっては検索エンジンをキャッシュするように改造)、
ja/disp_referrer.rb,v 1.20を、
ruby 1.8.2 (2004-07-29) [i586-linux]を
ruby-1.8.2-0.2.3mというパケージから利用し、
ruby-uconv-0.4.12-2mと
ruby-nora-0.0-0.20040310.3mも有効にしました。
ベンチマークは、bashのtimeコマンドから実行しました。 index.rbの入力には環境変数REQUEST_METHODとQUERY_STRINGを設定し、 出力はファイルにリダイレクトしてあります。 まったく同じ条件で5回連続的に実行し、 2-5回目の平均と母集団の標準偏差を求めました。
下記で、B以下はすべてリンク元強化プラグインを有効にしてあります。 Bはキャッシュを使わない場合、 C以下はキャッシュを使う場合です。 CとDは元々キャッシュがない状態でアクセスを受け、 キャッシュをつくりながら表示しています。 EとFは当日分のみがキャッシュされています。 GとHは昨日の日誌の分まで、この日誌の全日分のリンク元がキャッシュされています。 この時のキャッシュの大きさは、検索エンジンを除いて171KB、含めて4.1MBでした。 C、E、GではCVS版の動作で、 検索エンジンのURLの変換結果はキャッシュされていません。 D、F、Hでは検索エンジンのURLの変換結果もキャッシュするようにしました。
| 条件 | real(sec) | user(sec) | system(sec) |
|---|---|---|---|
| A 素のtDiary | 5.417±0.204 | 4.787±0.015 | 0.155±0.010 |
| B キャッシュなし | 9.283±0.034 | 8.363±0.009 | 0.230±0.014 |
| C キャッシュを作りながら | 5.767±0.029 | 5.132±0.071 | 0.192±0.028 |
| D 検索エンジンあり | 5.412±0.131 | 4.717±0.018 | 0.226±0.020 |
| E 当日分のみキャッシュあり | 5.277±0.036 | 4.716±0.025 | 0.155±0.018 |
| F 検索エンジンあり | 2.120±0.033 | 1.721±0.031 | 0.145±0.021 |
| G 日記全部のキャッシュあり | 5.165±0.405 | 4.085±0.032 | 0.249±0.030 |
| H 検索エンジンあり | 6.511±0.049 | 5.271±0.013 | 0.741±0.009 |
ここからわかる改良項目は下記のようなものでしょうか?
- 1. キャッシュしない時の動作を改善する
- キャッシュのないリンク元強化プラグインは素のリンク元表示より遅い (AとBの比較)
- キャッシュを作るとキャッシュを作らないより速い(BとCD)
- 2. 検索エンジンをキャッシュするようにする
- 検索エンジンをキャッシュしておくと速い(CとD、EとF)
- 3. 月別のキャッシュを使うようにする
- キャッシュが大きくなると速度が遅くなる(EFGとH)
- 4. キャッシュの合計を制限できるようにする
4.は、このホストのようにquotaのある環境ではぜひ必要です。 最終アクセス時刻の古いキャッシュファイルから消していくようにしようと思って ますがどうでしょうか? 1.についてはプロファイルを取ってみないといけないですね。 ダミーのPStoreかな?とも思うのだけどどうだろう? 速いマシンが欲しいなぁ…。2. の改良は簡単なのですが、3.と4.については 新しいクラスを作る必要があるようにも思えます。
さて、残りの作業は次の機会を待たなくちゃいけないような気もします。 すまーん。 もっとこうした方がいいんじゃない?とかツッコミよろしくです。
2006年2月6日(月) ラジコンを作って持病が出る
● 何年かぶりに喘息になりました
ラジコンを作ってずんこの風邪は治ったようなのですが。わはは。ラジコンを作ったから治ったわけじゃないか。今朝はかなり機嫌がよくなってきていたのでもう大丈夫な様子。無理はさせないようにしますが。
んで、私、結婚前から何年かのあいだナリをひそめていた喘息がかるーく出てきました。妻には根をつめすぎだと言われちゃったよ。なさけな。スプレー塗料を使いまくっていたのも悪かったかな。まあ、こちらも朝仕事に出る時にはほぼ完治していたので良しとします。
● シゴトをしながらふと「はやぶさ元気になったかなあ」などと思う。
● ビルドマシンをCD-ROMドライブから起動する
DVD-ROMドライブやCD-Rドライブから起動できずに困っていた。ふと思いたって、BIOSの設定画面でIDEドライブの検出の前に3秒のwaitを入れてみたらDVD-ROMから起動できるようになった。そのうちCD-Rに換装しても試してみたいが、まずは時間をつくってビルド環境を再構築しよう。
● UTF-8で漢字は3バイトってほんと?
UTF-8で漢字を書くと3バイト使うと思いこんでいたけれど本当かどうか確かめてみた。
$ echo あいうえお | nkf -e | wc -c 11 $ echo あいうえお | nkf -s | wc -c 11 $ echo あいうえお | nkf -w | wc -c 16 $ echo あいうえお | nkf -j | wc -c 17
EUC-JPとShift JISでは一文字が2バイトで改行文字(LF)があって2×5+1=11バイト、UTF-8では一文字が3バイトで3×5+1=16、JISではKanji IN/OUTそれぞれ3バイトと一文字2バイトで3×2+2×5+1=17バイト。本当みたい。
あ、いや、「あいうえお」は漢字じゃない、というツッコミは無しの方向で。
● 太陽同期軌道に衛星を上げるには朝か夕方にロケットを打上げないといけない
太陽同期軌道というのはいつも地球と太陽の見掛けの角度が90度になる場所を飛ぶ軌道。衛星の真下は日の出か日没ということになるので、言われてみればもっともな話だよね。
せんだい宇宙館の報道陣に公開された赤外線天文衛星「ASTRO−F」の記者会見の模様。歌うように応える中川さんの声が想像できて楽しい。「お星様」とか:) おわりの方で、赤外線天文学の意義もとてもわかりやすく説明されていると思います。
うまくいきますように。
…この記事も英訳した方がいいのかな。
2007年2月6日(火) まだまだVogが続く
● [DocoMomo] docomomo-0.7.2 splash imageをつけました
DocoMomoは、大きめのメモリ (512MB程度以上)のあるix86マシンで大きめ(512MB程度以上)の USBメモリからLinuxを起動できるようにするツールです。DocoMomoの作成環境から引き継いだLinuxディストリビューションと設定で、使い慣れた環境をUSBメモリ上に構築できます。
すみません。splash imageを付けちゃいました。ゆーなさんのデザインしたMomonga、かわいいので。
興味のある方は、tar ball置き場からお試しください。
● [Momonga] 今日のへたれオモコン
npapi.hをみつけてくれないのでgccができない。
# cd /usr/include/ # ln -s firefox-2.0.0.1/npapi.h .
さーどーだ。
(追記)
/usr/include/npapi.h:51:21: error: prtypes.h: No such file or directory
がっかり。nspr-develかな。
● Thoughts on Music (Apple)
Steve Jobs による、Digital Restrictions Management のジジョーの説明が掲載されている。iTunes Music Storeから売られたDRM付きの音楽はiPod(最近のものは1000曲程度入るのだそうだ)ひとつあたり22曲。音楽業界でも結局CD売ってんだからDRMをかけても無駄じゃんか、とのこと。わはは。
いや、まあ、どうなるにしろ僕は計算機が壊れただけで聴けなくなるような音楽は買いたくない。
2008年2月6日(水) 今日はまだ雨降ってないよ
● 豪雨でできた道の穴、埋めてくれたものとそうでないものがある。ありがたいのだけれど、覚えた穴の場所がまたわからなくなっちゃった。んで、はまる。ぼこっ。
● [Ruby][Momonga] invalid mbstring sequence (ArgumentError)
ruby-1.9で動くOmoiKondaraが、
/home/momonga/trunk/tools/v2/config.rb:24:in `strip!': invalid mbstring sequence (ArgumentError)
と。
$ nkf -g .OmoiKondara EUC-JP (LF)
なのを、
$ nkf -g .OmoiKondara UTF-8 (LF)
に直したら進んだ。うーん、ちょっと面倒かもしれない。
けど文字列を正しく扱うためにはしかたないんだよね。 ビルド環境もUTF-8に移行しなくちゃ。
脳味噌から汁が出るくらい考える。こともある。
最近のツッコまれどころ