トップ 最新 追記
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|10|12|
2009|02|03|06|07|10|11|12|
2010|01|02|03|04|07|09|10|11|12|
2011|01|03|04|05|06|07|08|10|
2012|01|06|08|09|10|12|
2013|01|02|03|04|07|09|11|12|
2014|01|03|04|05|06|09|
2015|04|
2016|01|08|
ここは旧えびめもです。えびめも2に移行します(2016/12/1)

2003年09月04日 晴れ

Linuxカーネル八苦

先月のARCNETのRFC1051問題に引き続き、またdeepなbugを発見した。 この案件はかなりbug出しに貢献しているとおもうぞ。

BUGの状況は、sh/linux-2.4.21, samba 2.2.3a-12 を利用して、WindowsXP機の共有フォルダを smbmount すると、日付が全て 1970/1/1 になってしまう問題が出た。ちなみに、同じバージョンのi386機で検証するとbugが出ない。やっかいだ。簡単に直るとは思わない。経験的に、こういうときに考えられる原因としては、

1.エンディアン(バイトオーダ)の違い
2.intサイズの違い
今回はどちらも 32bit little endianだ。
3.バイトアライメント制限の違い。
ネットワークプロトコルのヘッダーを、構造体のポインタ変数でキャストして読むと構造体のpackの隙間の違いで、メンバーがずれる問題が発生することがある。普通はそういうことがおきないようにプロトコルヘッダーを組むんだけど。。。

まずはSMBのプロトコル仕様書を探さないとなぁ。。なんてかなり基礎からの洗い直しを覚悟した。ところが、日付のうち、時刻はどうなっているか ls の --full-time オプションで調べたところ、

# ls /mnt/ -l --full-time
合計 115
drwxrwxr-x    1 root     ebihara      4096 木  1月 01 09:05:09 1970 10.開発資料
drwxrwxr-x    1 root     ebihara      4096 木  1月 01 09:05:37 1970 20.客先別書類
drwxrwxr-x    1 root     ebihara      4096 木  1月 01 09:00:40 1970 30.総務経理受発注関連
といった具合に、時刻は 数分〜数秒 の範囲でバラけていた(時間が9時間プラスされているのはtimezoneだろう)。ここから想像するに、タイムスタンプの割り算の余りが分秒になっていて、商が0000になっている(=UNIX時間で1970/1/1) と想像が付いた。

調べを進めるとNTのタイムスタンプは、UTCベースを 1601/1/1 からの経過0.1マイクロ秒時間とした64bit値であることがわかった。一方UNIX時間は知ってのとおり1970/1/1からの経過秒数(32bit値)だ。ここまでわかればもうちょいだ。SH3CPUでの64bit演算が怪しい。で、linuxカーネルの fs/smbfs/proc.c の

#define NTFS_TIME_OFFSET ((u64)(369*365 + 89) * 24 * 3600 * 10000000)
smb_ntutc2unixutc(u64 ntutc)
{
        /* FIXME: what about the timezone difference? */
        /* Subtract the NTFS time offset, then convert to 1s intervals. */
        u64 t = ntutc - NTFS_TIME_OFFSET;
        do_div(t, 10000000);
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ここが怪しいというところまで踏み込めたので、あとはlinuxカーネルソースの include/asm-sh/div64.h に対する以下のパッチをあてたところ、案の定正常動作になった。
--- include/asm-sh/div64.h-orig Fri Sep  5 01:48:09 2003
+++ include/asm-sh/div64.h      Fri Sep  5 01:31:54 2003
@@ -3,8 +3,8 @@
 
 #define do_div(n,base) ({ \
 int __res; \
-__res = ((unsigned long) n) % (unsigned) base; \
-n = ((unsigned long) n) / (unsigned) base; \
+__res = ((unsigned long long ) n) % (unsigned) base; \
+n = ((unsigned long long ) n) / (unsigned) base; \
 __res; })
 
 #endif /* __ASM_SH_DIV64 */
u64型割り算演算が libgcc の __udivdi3 を利用するのでmoduleにexportするなら(smbfs.oをモジュールにするなら)arch/sh/kernel/sh_ksyms.c にシンボルを追加する必要がある。
 /* These symbols are generated by the compiler itself */
 DECLARE_EXPORT(__udivsi3);
 DECLARE_EXPORT(__sdivsi3);
 DECLARE_EXPORT(__ashrdi3);
 DECLARE_EXPORT(__ashldi3);
 DECLARE_EXPORT(__lshrdi3);
+DECLARE_EXPORT(__udivdi3);
答えだけ書くと簡単な話だけども、発見するのに2日仕事時間とられてしまった。(>_<)

火星

8/28に地球に大接近だった。残念ながら8/28は雲っていて火星を見ることは出来なかったが8月に入ってから毎日のように明るく輝いていた。昨日も薄雲を通り越して火星が光っていたのには驚いた。雲越しに見える天体なんて月くらいのものだろうに。極大を超えてから、火星は急速に西に移動しているようだ。仕事が終わって会社を出て空を見上げると、だいたい毎日同じ時間だが、どんどん西に逃げているように思う(調べてないけど)。さようなら火星。思い出をありがとう。あっという間に過ぎ去った、短かった2003年の8月の夜は、君の思い出でいっぱいだ。

こおろぎ

り〜ん、り〜ん、り〜ん、と室内からコオロギの声が聞こえた。驚いた。もう秋なのか。

室内で鳴いているようだけど、探そうにも近づくと黙ってしまう。皆で静かにしていたら、植木鉢の下から出てきた。外に逃がした。外は意外と涼しい。


2003年09月05日 曇り

プログラミング

connect(2)が非ブロックで実行できることを知った。man connect より
名前
  connect - ソケットの接続を行なう
 
書式
  int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen);
 
返り値
EINPROGRESS
  ソ ケッ トが非停止(non-blocking)に設定されていて、接続がすぐに
  完了しない。ソケットへの書き込みを待つことにより、接続の完了に
  select(2) や poll(2) を使用することができる。select で書き込み
  可能になった後に getsockopt(2) でSOL_SOCKET レベルで SO_ERROR
  オプションを読み出すことにより、 connect に成功し た (SO_ERROR
  がゼロ)か、失敗した (SO_ERROR がここでのエラーコードのどれかで
  失敗の原因を示す) かを決定できる。
へぇ知らなかった。これは便利だ。

仕事

あっという間に金曜日になるなぁ。月〜木はどこへ行ってしまったんだろう。もう週末だよ、平日が短すぎる、と感じるときは仕事が好調な証だろうか? いや、仕事がたまって焦っているのだろう。

決算書類を整理した。XILINXのCoolRunner XPLA3 のデータシートとにらめっこした。午後9時から来客&仕事の打ち合わせをしたら0時を回った。(汗)

打ち合わせが入ったので今日もイーオン行けなかった。金曜エルココも行けない。ジムにもいけてない。悔しいので腕立てをする。

あぁもうビール飲みたい。

台北

今年は秋(9/22〜26)にCOMPUTEX台北が開催される。台湾は面白いのだが今年は行けなさそうだ。


2003年09月06日 晴れ

サルサ

最近のエルココに、しばらく顔が見えなかった人たちが戻ってきた。同窓会のようだった。


2003年09月07日 晴れ

サルサ

しばらーくぶりに la habana のドミンゴサルサボールへ行った。半年振りくらいかなー。しかしそれよりも昼間、炎天下の中、草むしりをしていて、そっちがキツかった。キク科の雑草はあっという間に背丈が自分より高くなるのですごく厄介だ。ところで、俺はいままで、あのすぐに背が高くなってしまう雑草の名前を「アレノノギク」だと思い込んでいた。しかし検索したところアレノノギク(荒野野菊)とはこんなかわいい花で、しかも絶滅危惧植物になっているらしい。すごい勘違いをしていた。あの雑草はアレチノギクというらしい。1文字違いじゃん。紛らわしい。

というところまで調べて、さらにgoogle調査を継続したところ、ヤツの名前はアレチノギクではなく、オオアレチノギクだと判明した。そうそう、コイツなんだよー。うっとおしい雑草。ほっておくと花から綿のような繊維を出すのだ。くしゃみが出る。

雑草ついでに、秋口になると服や布団に種がくっついてなかなか取れないあの厄介な雑草も調べた。そんじょそこらのマジックテープなんて比じゃない位にくっついてしまって1粒1粒とるしかないヤツだ。これまで正式名称を知る機会も無くすごしてきた。インターネットは便利なもので、それでも「種が取れなくなる」とか、そんな言葉で検索したら正体がわかった。アレチヌスビトハギというらしい。そうそう、この写真のような種がくっつくんだよね。秋になると茶色になりますね。布団にくっつくと大変なんだよね。やっかいだ。しかも根が深くて引っ張ってもなかなか抜けないのだ。格闘している間に服が種だらけになって、引っかかって痛い。

って、サルサの話じゃなくなった。ドミサルはホントしばらくぶりだ。エルココのマスターがDJに来ているなんて知らなかったし。ダンス的にはキューバンの人もLosの人も半々くらいだった。今回は人が少なめだったけど、踊れる人が多くて面白かった。tさんにダブルリード(っていうのかな?女性を二人リードするやつ)を少し教わった。ライトターンとクロスボディーだけど。難しいけど面白かった〜、というか、王様気分を味あわせていただきました。m(_ _)m リードの柔軟性と右目と左目を同時に使う器用さが必要ですね。まだ僕には難しすぎます(A^-^;;


2003年09月08日 曇り

仕事

打ち合わせ。上出来。

環水平アーク?

2003/8/7の日記で虹を見たと書いたけど、調べていくうちにこれは虹ではないということが判った。俺はいままで空に見える7色のものを全て虹と思っていたけど、太陽の反対に見える、普通の虹のことを主虹というらしい。で、8/7は太陽の方角(太陽の下)に見えたのでフシギに思って、今日までちょびっとひっかかってた。こちらの天空博物館というサイトには空で発生する気象光学現象を科学的に詳しく解説されていてとても勉強になった。不勉強ながら8/7に俺が見た現象は「環水平アーク」だったんだと思う。ケータイカメラで撮ったので写真ではよくわからないが、実際には色が強烈に分離して帯状に見えた(だからあわててケータイ写真を撮った)。写真をじーっとみるとうっすらと色が見えると思う。状況はこんなん↓だった。

時刻は2時くらいで太陽はかなりの高度があったはずだ。7色に見えたのは西方向の雲の上部で、太陽のよりはかなり下の方だった。

2003年09月09日

大接近

月と火星が大接近だって。

月齢13のほぼ満月。月の模様までくっきりはっきりきれいだった。火星がまるで月のオマケのように見えた。
【撮影:デジカメ(Canon IXY DIGITAL 400)】

2003年09月12日 晴れ

ネタが無い

あまり日記ネタが無い。しいて言えば、さっき全社員が現実逃避行動を起こした(笑)。近所の郊外型シネコンのレイトショーに休憩しにでかけた。ほどよくクーラーの効いた座り心地の良いシートで2時間ほど現実逃避。映画館は週末のレジャーから平日夜に仕事の休憩場所に姿を変えつつある。ちなみにレイトショーだと\1200だ。せっぱつまったときなど、少々休憩することで頭の切り替えになって良いと思う。ちなみにもう公開が終わりそうなT3を見た。感想は控える。

今日もイーオンもサルサも行けなかった。もう夜0時だけど皆まだ働らく気らしい。働き者だ。俺ももう少し仕事せねば。CPLD CoolRunner XPLA3 のJTAG書き込みチェックだけ済ませたい。3.3VでISPするときに、書き込み機側に3.3Vの電源供給で動くのか確かめたい。

昔作ったCPLD検証ボード

ロゴ

「SiliconLinuxのロゴを考えて〜」と、うちの紅一点のK画伯に頼んだらペンギンらしき生物を描いた。これはいったいどんな生物なのだ?本人にはヒミツにupしてやる〜 \(゜ロ\)。

CoolRunner XPLA3

今回から、回路図CADに D2CADを使ってみた。PDFで60ページにもわたる判りやすいマニュアルがあったので、10分で使い方が判った。部品番号の自動割当や、パーツリストやネットリストも出せるし。CADを使い始めて最初にしなければならないのは、最低限の自作部品ライブラリの整備だとおもうが、これもすぐにできた。このCADソフト最高ですね。2000円のシェアウェアですがすぐに送金しますよ〜(^-^/。世間様ではD2CADのデータを引き受けてP板を作ってくれる会社もあるようで、今度試してみようと思う。

左基板はebihara作のXILINX用書き込み器。黄色原色がとてもステキなケーブルはDSUB25pinストレートシリアルケーブルとしてJunk \500で売っていたものだ(25pinストレートシリアルなんて今どきねーよ)。こいつをパラレルケーブルとして使っている。右基板はiww君に半田付けしてもらった今回のCPLD(PLCC)基板。デバイスドライバ先行開発用の試作基板だ(ハードの勉強をしたいと本人が言っていたので、『ハードの勉強は半田付けから』と だまし 教えて半田作業をしてもらった)

電源とJTAGを配線したらiMPACTでWrite&Verifyはあっさりと動いてしまった。正直iww君の結線には若干心配があったけれど腕をあげたな。やはりハードに慣れるには実体験が一番だ。「空きピングランドに落として」「割り込み入力10Kで吊って」「104挟んで」くらいのコトバが通ればハード設計の助手くらいにはなれるね。実際、そういう若い子が育ってくれるといいな。
で、主役のCoolRunner(XCR3064XL-10PC44C)だけど、名前のとおりまったく発熱しない!!データシートによるとF=10MHzでTyp.2.1mAだって。すばらしい。まだ5個もあるけど、本番基板はPLCCではなくQFPを使うことになるだろう。

2003年09月13日 晴れ

仕事

世間は3連休スタートの土曜日である。が、俺は1日休めればいいほうかなーとか思う。昼からJR名古屋駅(名古屋人は名駅(めーえき)と呼ぶ)タワーズでコーヒー飲みながら打ち合わせ有り。その後、大須の第2アメ横で試作機用の端子台の仕入れ。

サルサ

土曜日の夜はELCOCOへ。土曜日の夜なので仕事オフさせてくださいm(_ _)m。パーティー開始前の6:45からのレッスンから参加して踊りまくってたので夜11時くらいにエラクなってきた。おっさんやね。ELCOCO 入り口のベンチのところで、なじみの顔と2時間以上談義。某嬢様が、俺は20代後半か30歳くらいだろーと思ってた嬢が42歳だと聞いて唖然とした。俺も年齢不詳とよく言われるけど、女はわからーん!!。

それから、なんでそういう話になったか忘れたが、ベンチで談義していたときに、エルココ常連の嬢(元嬢も含む)5人くらい全員が「生まれ変わっても女がいい」と言っていた。エルココに来る女性はだいたい自律的というか、しっかりしている人が多いからだとおもうけど、女性陣全員が女で良かったと口を揃えたのが少し驚きだった。まぁ俺も男が良いと思っているので、驚く事ないかもしれないけど。皆不満が無いというだけか。

帰り際にフロアに顔だしてみたら、ラティーノ達に囲まれて楽しそうなsolさんを見かけた。強引に連れ出して踊ってもらった(^-^。ダンスきもちよかったっす。(^^ solさんのページ Babaila Latino 勝手にリンク


2003年09月14日 晴れ

高いところ

特に日記ネタがないので。。。 なんとかと煙は高いところが好き、というが、高くて見晴らしが良いところが嫌いな人なんているのかな?この地方でお勧めな展望箇所を載せとく。

池田山(夕暮れ前)写真に写っているのは俺じゃないです

池田山(夕暮れ)

名駅セントラルタワーズから金山方面を望む
左上の赤いのは室内のランプの反射。

お酒

あまり飲めるほうじゃないんですがお酒は大好きです。ビール大好き。焼酎も好きです。カクテルは詳しくありませんがそれでもマティーニくらいは知っています。オリーブは嫌いなのでオリーブ抜きで。

マティーニだけで200種以上のレシピがあるというほど奥が深いんだそうで、マティーニでネットサーフィンしてたら面白いページを見つけた。linkフリーだというのでlinkさせてもらいます。さらにエキストラドライマティーニの先が面白い。

で!!俺は酒を調べようとgoogle検索してて、こちらのサイトみつけたんだけど、なななななななんとこのページの作者さん実際に会ったことある人でした!今から3年前に静岡の某グランシップで開かれた2泊3日の某合宿ワークショップでご一緒しました(当時LinuxJapan編集長だったK穴さんとか、日本のGNUの神様gNさんとかが一緒に参加したソフトウェアプロセスの合宿)。覚えてくれてるかなー。当時、彼はxhanabiというX-Window上で動く花火環境ソフトを作っていて、発表直後にxfirewoks と改名した頃だった。linux-users:71094 ちょうどその頃に合宿があって、ソフトウェア談義をしたもんだ。

まさか酒で検索して出会うとは思わなかった。internetも意外と狭いですね。


2003年09月17日 晴れ

仕事

税理士、司法書士と打ち合わせ。CAT709関連の打ち合わせ。

サーバ

バックアップサーバが死亡。HDDトレイ用のファンがプラスチックの変形で??トレイに接触し、ファンが死亡→HDD死亡らしい。はやく某RAID NASが欲しいなー(A^o^;;

HDD死亡気味のバックアップサーバ。バックアップが先に故障してどうするんだ!また時間とられてしまうよ。とほほ。

CPLD

動いた。CoolRunner良いな〜。全然熱くならない。


2003年09月20日

サルサ

男女とも思い当たるふしがあると思う。とても気持ちのいいダンスを踊った。フロアに誘い、ホールドを組んだときからふっと惹かれるような。ベーシックで一歩踏み出したときから魔法にかかったような。気持ちのいいダンスを踊ったときがある。その時、その場所、その相手、その曲、季節、感情、周りの人、気持ち、フロアの躍動、肉体の疲れ? すべてのパラメータが異なってひとつのダンスが生まれ、また次の機会に同じ場所、同じ人、同じ曲で踊っても、同じダンスは二度と現れることはない。あんなに気持ちいいダンスは二度と踊れないのではないか。いつもそう思う。

デジャブもある。あれ?この曲で君と、このステップを踏んだっけ?いや、いちいちそんなこと覚えてるはずも無いよ。

いつ現れるかも分からない。まるで予測不可能。だからダンスは面白い。


2003年09月21日

一日中どんよりとした雨だったのだが、夕方になり地平線に非常に美しい夕焼けが見えた。ロードの先に現れた夕焼けは、地平線に沿って横一直線に黄金の輝きを見せ、はるか国道の行きつく先には息吹山が漆喰の射影を落としていた。

それにしてもきれいな夕焼けだ。あそこらへんは晴れてるのだろうか?ふと疑問に思ったら、はたしてどこらへんなのか気になってきた。養老のあたりか?それとも大阪か、九州か、果ては中国大陸なのか?見当がつかない。気になる。

理科年表によると地球の半径は6370kmだそうだ。googleで調べたら雨雲の底辺の高さは地表から800-1000mくらいだそうなので、直角三角形の定理により
(r+1)^2 = 距離x^2 + r^2
となるので
距離x = sqrt(6371^2 - 6370^2)
x = 112.876km
ほんとか? 安直に考えすぎなので間違ってたら教えてください。
名古屋から西に直線112キロというと、だいたい京都を越えたあたりだろうか。あのへんは京都の空だったのか。40へ〜。

2003年09月23日 晴れ

秋だね〜

空気が乾燥し、さわやかな風が吹く今日この頃。最近のお気に入りは、春日井西武モールのドトールコーヒーの外のテラスでコーヒーを頂くこと。コーヒーが冷めてしまう前のわずか10分か15分の休息が、実に贅沢な時間に感じられる。こんな季節も、意外と早く過ぎ去ってしまう。

サルサ

伏見にあるクラブjMAXでSALSA PALLADIUMがあった。今日はおとなしく家で仕様書でも書いていようかなと、行くつもりは無かったけど、悪魔の誘いメールが来てしまったので夜から出かけた。今日は祝日なので普段より30分早く19:30スタートだそうで、しかもMiho先生とOkuda先生のコラボイベントがあるそうだ。楽しみ。1時間の無料レッスンと1drink付。partyは 20:30〜24:00で\2,000(メンバーは500円引き。俺はメンバーではない)。良心価格だ。

jMAXって、いわゆるクラブだから、el cocoと違って皆結構服装を気にしてくる。俺はelcocoのなんでもアリなラテンの雰囲気が大好きだけど、たまにはきらびやかなのもいいかも。むかしむかし、俺をsalsaに引っ張り込んだお師匠様(おばちゃん)が「LAクラブスタイルでは女性に汗ばんだ腕を触らせてはマナーが悪いので長袖を着ろ」なんて事をいっていた。ま、長袖は踊りにくいので襟付きの半袖シャツで勘弁してもらう。

というわけで伏見に行く前に大須のメンズショップで赤色のシャツ(こーゆーときは普段着れないような目立つシャツに果敢に挑戦するのがgood)と、ついでにPCショップでノートPC用の2.5" 60G-HDD(IBM製4200rpm流体軸受け16Mcacheで\17,500。意外と安かった)を購入した。明日ノートPCの再インストールをしよう。と言う感じでjMAXへ。

jMAXは半年振りくらいだ。半年前、ちょっと自分には合わないかなと感じて足が遠ざかっていたが、そんなこともなかった。普段エルココばかりで顔見知りになった感があるけど、たまに違う場所に来るといろいろと新鮮だ。初めて会う人ばかりだっけど気持ちよく踊ってくれる女性が多かった。見知らぬヤツがいるといった感じか、意外なほど積極的にお誘いを受けることが多くて嬉しかった。ASKAさんとも踊ってもらえたし(^-^


2003年09月26日 曇り

休憩

休憩タイム

※注意。半田作業中に飲食すると鉛を吸い込む可能性があり、あなたの健康を損なう恐れがあります。

2003年09月29日 晴れ

仕事

東京出張。セミナー講師の仕事

サルサ

caribe で Miuさんに挨拶する。ベーシックのホールド感の指導をしていただいた。『昔、写真撮った人ですね』って覚えていてくれた。


2003年09月30日

仕事

東京出張2日目。引き続きセミナー講師の仕事

サルサ

sudadaでレッスンを見学しながら夕メシ。「SUDADA風チキン」のソースが旨かった。 & caribe へはしご。on2の人が半分くらいいたので見学する。基本的には1拍置いて裏で踏めばいい、、のだけど。。。。時間があればやってみたいなぁ。