Skip to main content

ログ取得ツール

うーむ

NewsClipでページからタイトルが取れない(他に取るものがなくてTITLEタグを取ってしまう)のが続く。Yahoo!はだけで攻めてくるからマッチさせにくいんだよなぁ。 あとで直そう。もっと高級なのにしようかなと、少し思った。ここ(ibm.com)までいく必要はないけど。

来週の新製品情報

Rio KarmaのクレイドルがEthernet対応だというのはご存知の通りだが、これって何にでも応用できるから、みんなやってほしいなぁと思った。携帯電話の充電機みたいなクレイドルや、デジカメ、CLIE、その他クレイドルってたくさんあるけど、全部ネットワークにつながって、ブラウザやネットワーク上のアプリから設定したり、Power over Ethernet対応で電源コンセントいらずとか、いろいろ応用がきくんじゃないかと思う。無線LANもいいけど。 そういう世の中になって欲しいものだ。 ちなみにRio Karmaはクレイドルではなくて本体がEthernet対応で、クレイドルはコネクタをつけるためのもののようだ。本体にMACアドレスがついているから、たぶんそう。本体にEthernetコネクタをつけてそこで全部やるっていうのもありだったのかな、とも思う。

来週からついにJリーグがはじまります。

J1では「例の」浦和と去年の完全覇者横浜M、あとは言わずと知れた磐田と鹿島、それとFC東京、監督が残留した市原、あとはJリーグ史上最大のサポーター勢がいるらしい新加入の新潟が軸になりそうだ。しかし軸が7チームは多すぎ(笑)。 予想としては、優勝は横浜M、2位が磐田、3位が浦和ってとこかな。どうしても浦和>磐田とは思えないので、仮に浦和が上位に来るとすると必然的にこういう予想になってしまう。 J2では何度も3位を経験した我らが川崎、それに仙台と京都、あとは甲府あたりが昇格争いの中心になるはず。今年は3位でも入替戦になる。しかも今年の川崎はかなり突出して強いっぽい。親会社の業績不振が唯一の心配だ。シーズン中に潰れなきゃいいけど。 なんにしても、川崎がJ2で1位になって、横浜MがJ1で1位になって、このへんのチームがJリーグを制覇するはずだ。あー川崎市に住んでよかった。

意外と近い

うち、実は地図で見ると会社まで3kmちょいだな。歩いても40分ってとこか。いま徒歩+電車で約20分だから、あと20分早く家を出れば、歩きでも大丈夫なんだなー。 マラソンのラップだと5kmが15〜16分だから、おまえが真のランナーなら、9分で着くだろう…ってことか。

regparm

gccにregparmというのがあるらしい。普通にやるとIA32での関数呼び出しは全部の引数がスタック渡しになる。その昔x86アセンブラでプログラムを書いた人なら、AXとかDXに引数を置いて戻り値をAXにして…なんてことをやっていたことを思い出すだろうが、それをgccがやってくれるのだ。オプション-mregparm=nで、nがレジスタ渡しをする引数の数ということになる。 無論、*.o毎に-mregparm=nの指定が異なる場合は引数が正しく渡ることはない。 まあでも小さな関数を呼び出すだけの場合は-mregparm=nなんていう、ある種の危険なことをしなくても、単にinline指定するか、そうでなくても-O9などをつけておけば勝手にインライン展開されてスタックどころかcallすら呼ばなかったりする。あと、Alphaとか、レジスタの本数が多いアーキテクチャの場合は最初からレジスタ渡しになってたはずだ(よく覚えていないけどそうに違いない)。 Linux Kernel 2.6.4-rc2-bk1をコンパイルしようとして、オプションにあったので気づいた。もしかしたら、ポピュラーになるのかもしれない。ヘッダのプロトタイプ宣言でregparmの指定を書ければ、ライブラリで使っても互換性をとれるよなぁ。

URLとローカルに持ってきたファイルからページのタイトルを得るモジュール

タイトル通りのものをGetTitle.pyとして公開してみます。このサイトで使っているままのもので、NewsClipではこのファイルそのものをimportしてタイトル文字列を割り出しています。まだ不完全であることは間違いなく、恐らくメンテナンスされてゆくことでしょう。 引数がファイルオブジェクトではなくてファイル名というところあたりはちょっと良くないよなーなどとは思っております。 あと、毎日新聞を完璧にサポートすることがかなり難しい。元データはNewsMLだと思うんだけど、HTMLにするときのXSLT(なの?)がいろいろあるらしくて、HTMLから記事のタイトルを引っ張ってくるパターンがうまく作れない。悩ましい。

裏技

米マクドナルド、「スーパーサイズ」メニューを廃止へ(cnn.co.jp)。

ファストフード最大手の米マクドナルドは2日、フライドポテトとドリンク類のメニューから、最も量の多い「スーパーサイズ」のサービスを2004年中に廃止する、と発表した。

メニューを簡素化し、消費者の健康志向を踏まえ、より栄養バランスの取れた商品を提供するため、マクドナルドは従業員に対し、「スーパーサイズにしますか?」と客に尋ねることを禁止し、「2つにしますか? それとも3つにしますか?」と尋ねるように通達を出した…らしいよ。 あーマクドナルド久しく行ってねえなあ。

importの副作用?

Pythonでカレントディレクトリにある*.pyをimportすると、いつの間にかコンパイルされた*.pycが出現していたことに気付いて驚愕。 Pythonよ、それを勝手にやっちゃうのか…これはよくできていると言うべきか、やりすぎと言うべきか。しかも元の*.pyよりもかなりデカくなるねえ。 これはたぶんタイムスタンプかなんかを見て*.pyを使って*.pycを作るか*.pycを使うかを自動的に判断するのだろう。しかしタイムスタンプがアテにならない環境を使っている場合はどうしろと言うのか(そんな環境で作業する奴が悪い!)。

今さら気づいたがio_request_lockなくなったんだ

カーネル比較: 2.4と2.6でのWeb処理(ibm.com)。

2.6カーネルのブロックI/Oレイヤーは書き直され、カーネルのスケーラビリティーとパフォーマンスが改善されています。2.4のグローバルI/Oリクエスト・ロックは無くなりました。2.6カーネルのブロックI/Oバッファー(kiobuf)ではPAGE_SIZEよりも大きなI/Oリクエストができます。よく見られる問題の大部分はバッファー・ヘッドとkiobufを使用することで起きていますが、この問題は新しいレイヤーで対応されています。I/Oスケジューラーは完全に書き換えられました。SCSIのサポートに関しても重要な改善がなされています。

そうかio_request_lockなくなったんだ。ソースを見るとやはりなくなっている。今気づいたというのが恥ずかしいところ。アナウンスくらい読めよと。