« September 2005 | Main | November 2005 »

October 27, 2005

D200リーク情報?

前から「ニコン D200」での検索が多いなぁと思っていたら、Googleで大分上位に来るようになっていたらしい。それをさしおいても、やはりD200への関心は皆さん高いようである。

そんな中、「11月1日発表説が濃厚」との情報を友人が教えてくれたので掲載しておこう。今回はリーク写真つきのかなり確度の高い情報だ。D200と、「AF-S DX VR Zoom Nikkor ED 18-200mm F3.5-5.6G」 、それと小型ストロボの写真が掲載されている。今回はNikon UKからのリークのようだ。いつもヨーロッパからリークしてないか?

写真の鮮明さと、いつものニコンの製品紹介写真のアングルと同じなこと等からこれが偽物である可能性は低いと思われる。スペックについては未だ不明だが、D200ボディを見る限り操作系はD100/D70よりはD2系に近いものとなっており、当然それに見合ったスペックになるものと期待される。

新しい18-200mmは、以前から「DX VR18-90mmあたり出るんじゃないの?」と予想されていたもので、「DXかつVRつきのズームがセットで出る」という予想は当たった。しかし10倍越えズームの18-200で来るとは正直びっくり。そんな高倍率にして画質が大丈夫か気がかりだが、ものすごく便利なレンズであることは間違いなく、画質が多少劣ろうとも実際の撮影ではこれ一本で済ませてしまいそうだ。

目下一番の問題は、D200がなかなか発表されない間に以前のカメラ熱が冷め気味になってしまったことだったりして……。

追記:
当然unofficialながらスペックを見つけた。12.4Mpixel CMOSで3fps・10連写@NEFらしい。D2Xかよ!D2Xのようにクロップモードが多分あって、その場合は6.8Mpixel・5fps・18連写@NEFとのこと。AFセンサは合計11点のうち9点クロス。D2系と共通?「D200はD2Xの下克上」とのゼネラル後藤の発言はこれのことか。

しかしながら正直な話、12Mpixelもいらないんだけどなぁ……ディスクとメモリが辛い。それよりは8Mpixelで5fpsのEOS 20Dの方が手頃なバランスだと思うのだが。まあ出す時期も時期だし、D70・D50とのラインナップ上の差異を明確にするためにもインパクトが必要なのだろう。

| | Comments (0) | TrackBack (3)

SIGSTOPのトラップ?

あれこれ実装すると楽しい気分になれるが、ふと気づくと結局自分のやっていることは既存コードのコピペとちょっとした改変でしかない気がしてきて鬱になる。まあ、どこに何をコピペすればよいか知っている、ということも重要なことではあるのだけれど(コンピュータジョーク - 「エンジニアを理解しよう -- その4」を参照)。

ところで最近取り組んでいるのはシグナル。SIGSTOPについて調べていたら、

SIGTSTP, SIGTTIN, SIGTTOU, SIGSTOPに対応するシグナルハンドラ 登録があれば、そのハンドラの起動を行う
書いてあったので、マジかと思ってあれこれ調べてしまった。多分SIGSTOPは誤りで、SIGSTOPに対しては(SIGKILLも)ブロックもハンドラの設定もできない、というのが正しいと思う(manpage of sigaction(2)にもそうある)。
SIGSTOP は、それを受けるプロセスはトラップできないし、無視することもできない。(SIGSTOP問題)
SIGCONTにはハンドラを設定できるので、SIGCONTで端末の設定を戻したりすることはできるらしい。この辺の処理は、kernel 2.6.13だとlinux/kernel/signal.cのget_signal_to_deliver()あたり。

| | Comments (2) | TrackBack (0)

ロッテ優勝

千葉ロッテマリーンズが31年ぶりの日本一に輝いた。千葉県民だし、他に好きなチームも特にないしということで隠れロッテファンということにしていたが、まさか日本一になる日が来ようとは……。普段野球など見ないのに、プレイオフから日本シリーズまでそれなりに見てしまった。

いろいろ書くとボロが出るので、とりあえず一言。ロッテ優勝おめでとう!

| | Comments (0) | TrackBack (0)

October 21, 2005

悪魔本

悪魔本の翻訳が出たという話をhirosumiより聞いたので、早速買ってきた。

BSDカーネルの設計と実装―FreeBSD詳解

普段使ってるのもいじってるのもLinux 2.6なのに、なぜかBSD。Linuxの方はカーネル2.6対応のUnderstanding the Linux Kernel 3rd Ed.が11月に出るので、それを買う予定。

book_stack.push(b);

10/25追記:
第5章くらいまで来た。まるでLinuxの本を読んでいるかのようだ。まあ基本概念や目指す動作がほぼ一緒なのだから当然だろう。1つ大きな違いはスレッドかな?FreeBSDはLinuxと違って、「プロセス」と「スレッド」の違いがはっきりしているようだ。Linuxが特殊ともいえるが。

ついでに訳者さんのblogを発見したのでリンクしておく。

| | Comments (0) | TrackBack (0)

October 16, 2005

激速Firefox 1.5

Firefox 1.5 Beta2がリリースされたというので入れてみた。

Firefox 1.5で採用されるGeckoの新バージョンはかなり変更が加えられて、特に速度向上が著しいという話は前々から耳にしていた。Deer Parkにも興味がないことはなかったが、これまで億劫で使わずじまいであったのだが、Beta2まで来たことだしということで試しに入れてみたのである。

xhl氏も大騒ぎしている通り、その速度は文章で言い表すことはとてもできない。もしこれを読んでいるあなたがFirefox 1.0.xを使っているなら、今すぐダウンロードして試してみて欲しい。それはまさに「爆速」である。

Continue reading "激速Firefox 1.5"

| | Comments (1) | TrackBack (1)

October 14, 2005

list_headの謎

通常のアプリケーションのプログラミングでは、OSや言語のライブラリの多大なサポートを受けながらコードを書いていく。それに対してOSカーネルのプログラミングでは頼れるのはハードウェアのサポートと、自分自身のコードのみである。というわけで、Linux kernelにはよく使う関数やデータ構造が用意されている。その1つにstruct list_head(include/linux/list.h)がある。

名前を見るだけでリンクリストとわかる。実際汎用リンクリストのためのデータ構造で、操作のための関数群とともに定義されている。ところでこのlist_headという構造体、メンバがstruct list_head *prev, *nextの2つだけなのだ。格納すべきデータはどこに入っているのだろう?

例えばC++なら、list_head<task_struct>のようにtemplate引数として型を指定して特殊化するだろう。しかしLinuxはCで書かれている。で、最近まで俺はstruct hoge_list_head { list_head *prev, *next; hoge_t hoge; }のような型を別に作って、それを無理矢理キャストしてごにょごにょするのかな、と考えていた。つまりC++の継承を手動で記述するようなものである。ところがlist_headの使用例をいくつか検索してみてもそんな感じには見えない。一体どういうことだ?

しばらく調べていくうちに、container_ofというマクロ(linux/include/linux/kernel.h)を発見した。これは怪しい。そしてこのマクロを追っていくうちに、ついに気づいた。「我々はとんでもない勘違いをしていたんだ!」list_headはリストとして繋ぎたい要素を「含む」のではない。リストとして繋ぎたい要素に「埋め込む」のである。「な、なんd(ry」

つまり、struct hogeのリストを作りたければ、struct hogeにlist_head型のメンバを入れておく。そんなことしてどうするの、と言いたくなるのだが、ここで先ほどのcontainer_ofを使う。container_ofはlist_headへのポインタと、list_headを含む構造体の型名と、その中で当該list_headに与えられているメンバ名を渡すと、そのlist_headを含む構造体変数へのポインタを返してくれるというとんでもないマクロである。どうやら、offsetofという、あるメンバが構造体の先頭から何バイト目にあるかを返してくれるマクロを使って実装されている。offsetofってコンパイラの特殊機能かと思ったのだが、普通に書けるのか?と思ったら、Linux kernelでも同じ手を使っていた(linux/include/linux/stddef.h)。コンパイラの機能があるならそれを使い、ないならnull pointerから無理矢理計算するようだ。

例のWikiでの解説が、図も用いて説明されていてわかりやすい。

この方法は、container_ofの実装は非常に汚い(露骨)であるものの、container_ofさえマクロや関数で覆ってしまえば、リストを実際に使用する部分のコードは非常に美しく書けるという利点がある。これまでlinked listといえばlist構造体に対象データを格納するというものばかり書いたり読んだりしていたのでその逆をやるという発想が全くなかった。目から鱗である。C++ではtemplateが使えるからなおさらこういうごりごりなコードは書く必要がないという事情もあるが、Cでは割と普通に使われるテクニックなのだろうか。

| | Comments (4) | TrackBack (1)

October 12, 2005

関空線乗っとくか

asahi.comの記事「スカイマークが3路線を廃止、北海道に就航」によると、

西日本を中心に国内航空路線を運航するスカイマークエアラインズは12日、羽田と関西、徳島、鹿児島を結ぶ3路線(各1日4往復)から来年春に撤退すると発表した。乗客数が少なくて採算が合わないためという。代わりに来年春から羽田―新千歳に就航し、現在1日9往復の羽田―福岡を10~11往復に増便するほか、来年夏からは羽田―那覇に深夜定期便を就航させる予定だ。...
徳島線[*1]なくなるのか。春に乗ったのでなんとも言えない感じである。確かに春乗ったときも空いてた。

それ以上に気になるのが関空線の廃止。前から関空には行ってみたいと思いつつ、関東に住んでいる者にとっては普通に利用する機会はないので使う機会がなかったが、廃止になる前に羽田-関西往復で乗ってみようか。とここまで書いて、実は羽田-関空なんていうデムパな路線はスカイマークくらいしか運航してないと信じ込んでいたのだが、調べてみたらANAもJALも普通に運航しているぢゃないか(JALは一部スカイマークとのコードシェアリング)。うーんどうしたものか。


[*1]「とくしません」を変換したら最初「得しません」と出た。そりゃ赤字路線だわ。

| | Comments (2) | TrackBack (0)

October 08, 2005

すごいサイト

いい加減実装を進めないとということで、設計方針の検討、必要そうな関数や構造体の調査などをしているのだが、その過程で偶然発見。

読学のススメ

要するに、Linux 2.6の多くの関数について詳細なメモが記されているWikiである。Linuxのコードは基本的には読みやすいと思うが、コメントが全く書いてなかったりして関数の使い方や意図が見えにくいコードもときたまあるので、このWikiも併用しつつ読んでいくと効率が上がりそうだ。それにしてもこの人の努力には頭が下がる。

| | Comments (0) | TrackBack (0)

October 06, 2005

初64ビット

研究室で使うマシンがないなぁという話をしていたら、先輩が「買って後悔した」[*1]AMD Turion64マシンを譲ってくれることになった。初の64bitマシンである。研究室的に「Windows買ってくれ」とか言ったら追放されそうな気がするので、黙ってLinuxを入れることにした。まあ正直Linuxだけでも全く困らない。Fedra Core 3/Fedora Core 4/Redhat Enterprise Linux 4(通称MTB Linux)のどれにするか迷ったあげく、Fedora Core4 x86_64という人柱コースに突撃。せっかくの64bitマシンだしね。

インストール自体は何の問題もなく終了。その後の怒濤のアップデートも終了。Fedoraは研究室内に丸ごとミラーされていて、ネットワークブートもできるしアップデートもGbit Etherで取ってくるので超高速。

とりあえず作業用のマシンを作った後は、実験用のマシンへのネットワーク敷設。昨日サーバールームの模様替えがあって、スイッチの設定やケーブル接続からやり直さないといけない。VLANと、スイッチの設定について教わる。サーバーやネットワークの設定をささっとやってしまう先輩方を見てると、voluntaryやっときゃよかったなーと思ったり。自分のマシンの設定や家庭内LANの管理くらいなら苦労せずにできるけど、それ以上になると未知の領域だしなぁ。ちなみにうちの研究室ではネットワークケーブルの自作が必須スキルのようなので、それも教わる。

そんなこんなで、今日はほとんど環境構築で終了。さっさと実装進めないとなぁ。ちらっと考えてみたところ、結構まだまだ複雑な変更を加えないといけない気がしてきたし、このままだらだらやってるとやばい。


[*1]その人の研究目的に合致しないというだけであってマシンとしては実によいマシン。

| | Comments (0) | TrackBack (0)

October 05, 2005

研究室飲み会

研究室の歓迎会ということで飲み会。どうもありがとうございました>研究室の皆様

このところ年上の人と飲むということが少なかった気がするのでなかなか楽しかった。そして見た目普通の人でもかなり濃ゆいということがわかったのは収穫。この先も研究室生活で退屈することだけはなさそうだ。これからどうぞよろしくお願いします。

| | Comments (0) | TrackBack (0)

October 03, 2005

勝訴

離散数学控訴審の結果が出た。今年は無事勝訴。これで卒業への必要条件を1つクリア。

| | Comments (0) | TrackBack (0)

October 02, 2005

クレジットカード入手

これまでクレジットカードは持ってしまうと一気にカード破産の罠に陥りそうであえて持たないと決めていたのだが、やはりないといろいろ困る場面が出てきたので作ることにした。とりあえずネットでの買い物が激しく楽になりそうだ(それがまさに罠)。

2年生の頃などは特に物欲がひどくて常に預金は底をついている状態だったが、このところは物欲も落ち着いてそこそこの金額は維持できるようになってきたので、なんとかなるだろうか。

ちなみに銀行届け印がどれだったかよくわからなかったので適当に押して出したのだが当たっていたようだ。最近はセキュリティのため通帳に届け印をつけないのがデフォルトになっており、それはまあしょうがないと思うが、何かの引き落としを新規に契約するときに激しく困るのである。以前PHSを契約したときは「印鑑違い」で何度か行ったり来たりした覚えが…。

| | Comments (2) | TrackBack (0)

October 01, 2005

粛正プログラムその後

先日紹介した粛正プログラムであるが、なんと早速xhl氏が自分の実装と組み合わせたシステムを作ってしまった

これはLazy Snappingを利用してマスク作成を補助し、そうして作成したマスクを用いて俺の粛正プログラムでもって粛正する、というものである。

これがオープンソースの威力、ってやつですかね。超適当なコードで申し訳ない。それにしても思い立ったものをぱっぱと実装してしまえるxhl氏の能力にはいつもながら感激を覚える。

| | Comments (0) | TrackBack (0)

内定者発表

もう10月。9月は結局、課題→離散数学試験→レポートということで気づいたら終わった。「ISに休みはない」はやはり恒真な命題か。

さて、2年生は進振りを終えて進学先が内定する時期だ。去年底割れした反動で、かなり多く採ったらしいとか。そういう年の院試はどうなるんだろうとかちょっとびくびく。

今年はなんと高校時代同じクラスだった奴が来るらしい。まあ人生いろいろあるものだ。前飲み会で会ったときに「去年の点数を見て適当に出した」とのたまっていたので、「CとJavaは人間が生まれながらにして読み書きできるという前提で進むから夏休み中にやっといた方がいいよ」と脅しておいたので、心の準備くらいはできてるだろうか。

一般には必要な前提知識はCのみということになっているが、「Java推奨」(というかJavaで本試的でない箇所について大部分のコードが与えられたりするので多言語だとめんどくさすぎる)という課題もちらほら出るので、やはりJavaも必須ではないだろうか。C++は個人の趣味なので別に知らなくてもやっていける。

| | Comments (0) | TrackBack (0)

一太郎勝訴

一太郎の特許侵害問題に関する控訴審の判決がもう出たようだ。かねてから予想されていた(?)通り、今度はジャストシステム側の勝訴。

産経の記事に詳しいが、

判決理由で篠原裁判長は「一太郎は、松下の特許を一部侵害している」と指摘したが「特許は、出願前に外国で頒布された刊行物などから容易に発明することができ、進歩性がなく無効」などと述べた。
ということで、(仮に松下の特許が有効なら)特許侵害にあたるが、松下の特許は出願時点で「周知の技術」であり、特許そのものが成立しないので、侵害にもなり得ない、ということだろうか。

ちなみにもう判決全文がオンラインで参照できる。お役所や政府公共機関はそれだけで愚鈍なイメージがあるが、なかなか迅速な業務をしてるんじゃないだろうか。

松下がさらに上告しないとも限らないので何とも言えないが、

ジャスト社側が控訴審で新たに提出した英語の刊行物により、松下の特許出願前から機能説明表示のアイコンは周知の技術だったと認定。特許には進歩性がなく、特許無効審判で無効とされるべきもので、松下は特許権を行使できないと結論づけた。(同じく産経の記事より引用)
ということだからこれ以上戦うのは難しいか?

それにしてもジャストシステム、その「新証拠」は敗訴後に見つけてきたのだろうか。もともと持っていたら一審で出しているか。控訴にあたってのコメントでも、

本件は特許侵害に当たらないと考えております。
と言っていて、「松下の特許は無効」と言っていたわけではないし。特許侵害にあたるかという点については、あたる、という判断が今回も出たので、松下の言い分が通ったことになる。

| | Comments (0) | TrackBack (0)

« September 2005 | Main | November 2005 »