某日記

(中期)

平成12年8月11日(金曜日)

いろ

XColor 構造体の RGB の各値がそれぞれ uint16 ってことですな

X の貧弱なカラーマネージメントの仕組みだと、Windows の カラーモデルを表現するのは至難の技のような気がするなぁ、なんとなく。 とりあえず TrueColor 決め打ちとかにしちゃうと楽です。

MB_LEN_MAX

ところで、Jaromir から 「MB_LEN_MAX って MI だから machine/limits.h じゃなくて stdlib.h に 移すべきじゃない?」というメールが届いたのだけども。 うーん、言われてみれば。 私がこいつの存在を知った時には既に machine/limits.h にいたので、 いままで少しも疑問に思わなかったよ(ぉ。 なお、ISO C 的には stdlib.h ではなくて limits.h で定義しなきゃいけない。 移動させても多分問題ないけど、移動させなくても致命的な問題はないし、 逆に言うと単に移動させるだけならいつでもできるから、 1.5 ではこのままでいいんじゃないのかなぁ。

移動させてちょっと懸念があるとすれば、gcc の glimits.h の 取り込み順序の問題なんだよね。そう、Linux で問題になったまさにアレ。 標準で NetBSD に付いてくる egcs では、そもそもこいつを使ってないから 問題ないんだけど、自分で gcc をインストールしてたりしてると こいつが prefix/lib/xxx-xxx-netbsd/include に入りそうな気がするし、 その結果どう影響するか、ちょっと調査が必要だと思う。

__mb_cur_max

ううむ、make release するとそんなところでコケるのか…。 多分 __mb_cur_max を参照しようとして、libc.a の setlocale.o を取り込んじゃってるな、こりゃ。 というわけでパッチを投げてみたが、会社なのでちょっと検証できず。

ううむ

左足が痛いので歩きにくい…。

mozilla

Mozilla M17 for win を試す。うむ、だんだん良くなってるなぁ。

でも、やっぱまだ IE の方がいいな、うん(爆)。

私信

今、鞄の中には「お時間」の 6 時間目が常駐してます>GORRY さん。 というわけで、憶えてたら明日どうぞ。

世間

そうか、世間は夏祭まっただなかか。今日なんか暑そうだよなー。

いもうと

こないだの拒否権なしメールに返事がないので 、 勝手に sata68@imou.to 作りますけどよろしいですね? [Y/y]

平成12年8月12日(土曜日)

眠い

昨日の embug を修正するべく make build と格闘するも、なかなか成功せず。

まず -current 。結局 make build は成功。でも、make release の 初期にこける。まあ、libc.a は更新されたので、そのまま問題の箇所で make してみて、再現したので、パッチを作ってもう一度コンパイルしたら 通ったので commit 。間違えて自分のマシンのミラーリポジトリに commit してしまったり(汗)。

というわけで、次は 1.5 を build 中。bug-fix だからまだ引っ張れる。

… build する必要はないな、ということで snapshot を持って来て destdir に展開。…どうやって make release したんだろ、これ :-) うむ、既に int __mb_cur_max が commit された奴ね。 libc もそのままでとりあえず OK 。そのままテスト。 うむ、OK 。pull up request を出した。

いちおし

今のイチ押しは明日美ちゃんかな(謎)。 どうもプロ試験には女流枠というものがあるらしく、 越智は誰かに一敗して大崩れ(院生先生のあの一言が伏線)して、 伊角、和谷、ヒカル、そして女流枠で明日美ちゃんが通るような気がするぞ、 というのが大方の予想であるもよう。

寝る

pull up 完了。寝る。

平成12年8月14日(月曜日)

NEWS-5

というわけで土曜日のこと。

行く途中。渋谷の旭屋に寄ったら Stevens のアレが出てた。 買おうかどうしようか迷うが、結局買わず。

行く途中その 2 。新宿 3 丁目方面に歩いていたら虹に遭遇。 イシバシ楽器で Jazz Life を買う。

会場。思わず 2F へ上がって行って店の人に呼び止められる。

つーわけで地下。関西席を背中に、 浴衣美女 げんじさんと nark さんに挟まれる。 あまり内容は憶えていないが、nark さんと争うようにひたすら食ってたことと、 「最近日記を書き始めたところなので、勝手がよくわかりません」 とかそういうことを言ったのは憶えてる。 妹?危ないから連れて来れないよ(苦笑)。 ああ、そうえば、今年も酒井さんはずるかった :-)

二次会。「ぼんや(だっけ?)」で日本酒。 去年、(う)さんの酒飲み会(事実誤認)の後にこがさんに連れて来られた店。 なるほろー、イベント主催すると食い放題ですか(謎)。

三次会。なんとなく電車が怪しそうだったのでカラオケ。 私はカラオケは全く歌わないけど、ただ居るのがすき。 でも寝てたけど。

カラオケ出口で思いっきりコケる。をを、久々に流血しとる。 みんなには雨の中、南口のコンビニまで付き合ってもらってしまった。 ときんさんには、「しお兄ちゃん、よくこけるねー」とか言われるし。 というわけで、みなさん介抱してくれてありがとうございました。

駅。血が止まらずもう一度絆創膏をしゅがっぴに張り直してもらって OK. これは「お前は血の気が多いからちょっと血を抜くように」という 神の思し召しとみた(爆)。 takehiro さんと小杉からタクシー、takehiro さんを中原で下ろして帰宅。 もいちど消毒して寝た。

昨日

夕方まで寝てた。地上波がないことを確認。ステーキをうまうまと食す。 また惰眠をむさぼる。

思いっきり 7 時なんぞに起きてしまった。おかげで眠いぞ(爆)。 ふと思い立って unproven-pthread をインストールしてみたり。

来る途中、コンビニでジャンプを買おうとするも、 いつものように山になっておらず、隅の方にちょっとあっただけ。 手に取ってレジに歩き出したが、表紙に違和感を覚えて中を見ると、 先週号だったり。なるほろ、お盆休みね。戻す。

をを

 エポキシ 基板だ :-) 。IC 逆さにして空中配線、とか良くやったなぁ。

肉体会

のお達しが esu さんより来る。 私も出そうかと思ってたところなので好都合である。ACK.

最近はうちの妹にちょっかいを出すのは諦めたようである。よしよし。

電話帳

後学のために、例の電話帳の 1〜3 章を印刷してみる。

平成12年8月15日(火曜日)

オマエモナー

そうそう、忘れておったが NEWS-5 の最大のネタはこれだっ:
オマエモナー

ちなみに、一番手前がまろでおじゃる(←何故おじゃる…)。 うーん、タイムリー(笑)。

電車

そうえば、ついでにもひとつ忘れておったが、 昨日南北線待っていたら、 緑の 東急 3000 系が走っておった。うむ。

SDL×unproven-pthread

SDL を最初 unproven-pthread を使うようにコンパイルしてみたが、 どうも何も考えずにリンクしただだけじゃ Xlib がまともに動かん模様。 なんとなく socket まわりの wrapper の名前解決が 変なだけのような気がしないでもないから、 X ごと unproven-pthread 使ってコンパイルすれば いいんじゃないかという気もするけど確証がないからやらない。 LD_PRELOAD で libpthread.so 読んでおいて 適当な X のアプリを上げようとしても同じエラー (「XIO: fatal IO error 0 (Undefined error: 0)」)でこけるから、 単に上位バイナリ互換ないんかな。

つーわけで、--disable-pthreads でコンパイル。うむ、いくつか変更したけど ほとんど OpenBSD の設定をパクれば OK <あたりまえ。

ところで、LD_PRELOAD= xterm ってやったときの 挙動がすごく嫌なんですけど。 なんとなく即時終了してるのは何故? xterm は setuid なプログラムだから、 単に LD_PRELOAD を無視してくれないと困るのだが。 まあ、単に終了してるだけならまだいいんだけど、 でも、LD_PRELOAD=/usr/lib/libc.so xterm だと上がるぞ(ぉぃ。 これ、うちの環境が変なだけかなぁ…。 軽く ld.so のソース読んだだけだと何で終了してるんだかさっぱりわからんぞ。 そうえば、_rtld_trust 変数も issetugid() で書き換えた方が良いとは思うなぁ。

…↑なんかいろいろ書いてあってよくわからんな :-)

Stevens のあれ

を会社の領収書で査収。

かいしゃ

オレマシンの /usr が溢れててガビーン。

GC したところ、2GByte ほど空いた(ぉ

ほう

今度のベンダストリングは(謎)なのね。

あかんがな

…ss さん?

8255

8255 LAN カードって(最後の方)… 。 いつから LAN はパラレルになったんだ? plip?

FreeType

次のネタを考えるため、FreeType2-beta8 なんぞをコンパイル。

うーむ、とりあえず、「FreeType で Type1 とか使える必要があるの?」 という疑問は置いておいて、いろいろほじくってみると、 こいつはなかなか好感が持てる。 ライセンス系体にしろ、ビルドプロセスにしろ、 なんとなく組み込みを強く意識してるような気がする。

カラオケ

そうえば 、 土曜日のカラオケでビビったのは、そこに鎮座していた YAMAHA 製の 通信カラオケ用音源がディストーションギターにちゃんと ディストーションかけて鳴らしてたり、クリーンギターも ちゃんとアンプシミュレータを通したような音が出てたところかな。

実は MU2000 欲しかったりして…。

GrabServer

GrabServer 中に XCreateIC ができないのは 、 暗黙の了解というやつでしょう。 普通の XIM の実装 *1は X プロトコルの上に乗っかる形で実装されていますから、 IM サーバも IM クライアントも X のクライアントとして ぶら下がっているわけで、IM クライアントが ServerGrab してるときに IM サーバと通信しようとしても、IM サーバと X サーバとの間の通信が ブロックされるので、そこで IM クライアントもブロックして、 結果デッドロックしちゃうでしょうね。会社で周囲に聞いても、 「うんうん、きっとそうだ」という返事が戻って来ました :-)

*1
普通じゃないのもあって、それは直接 TCP/IP で通信する。IRIX がそう。

XPG4DL

今の NetBSD-current/1.5-alpha に追従。

  • limits.h をツリーから追い出した
  • ついでに CPU 以外の sys/arch/*/include をツリーから追い出した
  • __setlocale_mb_len_max_32 に対応
  • __fl_singlebyte の代わりに __mb_len_max_runtime を導入

平成12年8月16日(水曜日)

お仕事

突然今週末にいろんな limit が発生して、にわかに忙しくなる。 もっとも、今日明日で充分処理可能だが。

CVSup

をコンパイル。最初 package を入れたのだが、static link されてるので runsocks が使えん。

にせ

つーわけでニセニセ。うーむ、 何か失敗するたびにチェックアウトし直してるから、思いの他時間がかかる。 main branch は小さいのに、元のソース(笑)がデカいので、そのせいもある。 やっぱりまるごと放り込むのやめようよぅ…。 まあ、オレマシンはそれなりに速いから、 フルビルドしても 15 分もあれば終るのが救いだ。

… PackageForTheWeb コロス。つーか、何で最近の ishield は 全部 GUI でしかできないツールになり下がってるんだ? おかげでバスに間に合わんぞ、こりゃ…。

帰宅

「うえーん、さっきまで評価期限 9/15 って表示されてたのに、 いつのまにか 9/16 にカウントアップしたよー」 とか言いつつ *1、 戸締りして帰る。

*1
ごめん、今度の(謎)体験版は、インストールしてから 1 ヵ月しか使えない迷惑な機能(苦笑)が追加されたのだ。

平成12年8月17日(木曜日)

激ニセ

うーん、昨日の 1 ヵ月しばりは不便なので外されました。

ついでに改良。普段ならうだうだ 1 日かけてやりそうなことを 1 時間で終らせる。まあ、実際その程度の改良だったが。

take out

次の段落とくっつけて 、 「お持ち帰りに社員割引効くのカー」と一瞬誤読。

平成12年8月18日(金曜日)

No,

it's not Linux . It's quite UnixWare. "Linux" is kernel, not userland. The userland should be called "GNU Operating Environment", not "Linux".

カーネルとしての Linux の利点って何かって言ったら、 やっぱり 3rd party のドライバが多いことなので、 それを UnixWare にしちゃったらなぁ、という気もする。 もっとも、**商用の** PC-UNIX の中では、 UnixWare は実は一番ドライバが入手しやすい PC-UNIX なんだけど。

そういうわけで、NetBSD あたりに Linux device driver sim が 欲しいと思うのは確かなのだが、いかんせん Linux は デバドラインターフェースが定まってない。 だってさぁ、2.2 のカーネルモジュールが 2.3 で動かないんだもん(爆笑)。

GTK+ もそうだけど、どうもそういう互換性を軽視してる オープンソースの一派が厳然として存在するんですな。 (L)GPL やオープンソースであることを免罪符にして互換性の確保という 責任を放棄してるというか。 仕事で使ってたりすると、そういう非互換性によって、 まったくもって馬鹿げた作業が発生するんだけど、 その作業で対価をもらって、 コバンザメのように寄生して生きてる人間が思いのほか多いんじゃないか、 という気がする。

↑というのが会社で話題になった。

まあ、SI ってえてしてそういうもんだしな(←暴言)。\

Isn't it their shape of innocence?

無邪気さゆえの過ち 、 というのもあるので、似てるっちゃ似てます(ぉ。 たとえば、何でも興味を持つ歳ごろの兄と、お兄ちゃん子な妹とか(←…)。 それをどうして責められようか(いや責められない)。

ちなみに、私には incest 願望というのはありませんので念のため ;-)

ライセンス

そこまで考えているのはえらいです。 それに引き替えあのアホは…。 とりあえず、GPL は一度読んでおけば、 自動的にいろんなソフトに適用可能になるので、 がんばって辞書ひきひきして読むのがいいかと。 あるいは、 引地さんとこの日本語訳 を参考にするのもよいでしょうな。原文と若干違う所があるけど。

以下、直接は関係ないけど、ちょっと雑談。

ちょうど私も、fj.os.* あたりでこの辺の話をしてた。 私の意見は、 / / 感じ。

このスレッドから抜粋するに、私のライセンス感というのは、

ライセンスってのは基本的に、誰かの権利を守るために必要な義務を利用者に
押しつけるものですが、そういう権利には必ずそれと引き替えに
「負うべき道義的責任」が発生するもんだと私は思ってるのですけど、
に尽きてるし、
# 今は、なんでもかんでも流行り物みたいに GNU GPL 付けちゃう人が
# 多いんですけど、私は個人的には、そういうような責任に対する認識が
# ない人間は GNU GPL を軽々しく使うべきではない、という考えを
# 持っています。
# 私はそういう責任を負う気が起こらないので、自分の作ったものには
# 無責任に BSD ライセンスみたいなやつを付けて逃げる :-)
なのですな。この文章の「流行り物みたいに GNU GPL 付けちゃう人」の 典型が(以下略)。

GNU GPL ってのは、利用者にいろんな意味で負荷をかけるのよ。 GNU GPL ってのは、FSF の一種過激な思想表現であるわけなので、 それをソフトに付けるってことは、そういう過激な思想を利用者に強いる。 生はんかに仕入れて来た GPL の知識だけで、その趣旨や利用者に対する 負荷に関して深く理解や考慮をせずに、 趣旨に賛同したように見せかけ*1、 軽々しく流行り物のように自分の作った物に GPL を付けることは、 本来するべきでないことだと思います。

GNU GPL の目指している物は、「普遍的な自由」ではなくて、 あくまでも「みんながソースを見る自由」なのですわ。 従って、自動的に「ソースを見せない自由」を利用者から奪う というのは憶えておくべきでしょう。私は、そんなのは実は 自由でもなんでもないと思ってるし、その点では BSD ライセンスの方が 俺の理想(=俺の作ったもんは好きに使ってくれ。後は知らん*2)に近い。 その方が、いろんな用途で使ってもらえてうれしいし、 逆に GPL みたいな制約を他人に押しつけるのは嫌なのよ。

もちろん、そういうのは私の好みなので、 考えた上で GPL を付けるのは良いと思う。 いずれにしろ、「ライセンスについてちゃんと熟慮して、 それからライセンスを付ける」のが理想ですな。 ただ、それはあくまでも理想なので、私は上のスレッドで、こうも書きました:

「軽々しくライセンスを付けるべきでない」という理想論を啓蒙するという方法が
ある一方で、「軽々しく付けても自分しか困らん BSD 風ライセンスが好ましい」
という現実論を啓蒙する方法もあるでしょう。
あるいは、(う)さんこんなことを言ってます
この、「周知させること」は、私は GPL を付ける側の果たすべき責任の一つと 言っても良いと思うんだな、やっぱり *3。 GPL がどういうものかを「なんとなく分かってる人」は多いけど、 GPL を実際にちゃんと理解してる人って少ないんじゃないか、って気がする。 

まあただ、そういう建前はともかく、ホントに GPL 使う場合に そこまでストイックにならなきゃいけないか、というと、 必ずしもそうとはいえない。このスレッドたどるとわかるのだけど、 「厳密に GPL 解釈すると Linux ではやっぱりバイナリのみの配付は無理だ」 という私の(あくまでも)正論に対して、誰も有効な反論を与えられなかったけど 世の中それがなあなあで許されてたりするので、まあ要は程度の問題だし、 元の物を作った人の意向に著しく反しなければ良いとは思うんだけども *4。 そこは、「大人の判断」というやつで。fj のは「法論議」なので、 「みんながなあなあにしてるから良い」といってしまうと、 ちょっと話の筋からずれちゃうんだけどね。

*1
だって理解してなきゃ賛同は無理だ
*2
いや、もちろん私は自分の作った物に対して最低限の責任を 果たそうとはするんだけどね。
*3
こういうこと書くと、 「いや、俺のソフトに GPL 付けて配ることによって、 その『周知』に貢献してるんだ」 なんて詭弁を言う手あいが居たりして困るんだけど。
*4
ここなんかもそうなんだけど、 私はやっぱり、Linux の腐ってる部分ってのは、だいたい Linus の いいかげんさから始まってる、とか思うんだけどね。もっとも、 Linux の良い点もそのいい加減さから発生した物だと思うので、 そういうところは構造的に表裏一体で不可分だから、 それをむげに否定することはできないんだけども。

平成12年8月19日(土曜日)

CVS

commit してしまうミスを防ぐため、CVS リポジトリ import 用のユーザを 一人作る。

wchar

ううむ、家の環境、

#define XawI18nDefines  -DHAS_WCTYPE_H -DHAS_WCHAR_H -DNO_WIDEC_H -DHAS_ISW_FUNCS
などという「正しい」config で X 環境を構築しないで、
#define XawI18nDefines          -DUSE_XWCHAR_STRING
でお茶を濁しておくべきであった。今の私の家の X 環境は、1.5 では使えない。

というか、isw* の stub と wcs* くらいは import しても バチはあたらなかったな…。

tonic が変らしい。to ドメイン配下の CNAME が全部 available.tonic.to に 振られてるわ。A は平気みたいなので、CNAME を一時的に A にしてみる。

うちからだと www.dive-in.to が変なのは確認したんだけど、 imou.to が変なのは確認できず。でも、DNS の refresh のタイミングによっては どうやら imou.to も変なところがあるらしい。 din の nameserver からだと平気なんだけど。

問題はメールだよなぁ…。だいじょうぶなんだろか…

ねる

参加表明したし 、寝るか。

…渋谷方面の某ツアーはいつにしようかな…。 あまり高い酒を飲むと、妹がうるさい。

平成12年8月20日(日曜日)

lvnsfs

そうえば 、 一年くらい前に、 FreeBSD で PAK 形式ファイルを fs に見せるコードを書きかけた記憶が :-) いまだにノートの中にコード断片があるけど。

ところで、今 DNML を採用するのはどうなのかなぁ、という気もしますな。 KDE/Qt って XML の utils 持ってませんでしたっけ? もし持ってるんなら、 XDNML 的な物を作って、それに対するコンバータを作るのが 賢い気もしますです。 そうえば、DNML の XML 化って、結局どうなったん?

なお、私の密かな野望に、 「プレゼンツールとデジタルノベルシステムの統合」があった、 というのは、去年の Free on Free の一回目に行った人なら 知ってると思います :-)。

貢献

そのとおりです 。 一つアドバイスするならば、 「契約書なんて、頭だけ読んで判子を押しちゃって構わんよ」 というような趣旨の主張は見なかったことにするのが良いでしょう。 いくらそれが複雑だったとしても、ちゃんと理解する。 責任を背負うということはそういうことなのだと私は思います。

という建前はともかく、やっぱり最低でも、GPL 付ける前には 引地さんのところの 日本語の文章には目を通した方が良いでしょうね。 ちょっと内容は古くなってしまってますが、Think GNU 本も 原稿が引地さんのところから手に入るので、読むといいでしょう。

というわけで、私も久々に GNU ダイジェストとか読み直してしまった。

まさにそのとおり 。 どうも、そこを理解できない人が多すぎる。

構造化アセンブラ

大昔の CQ 出版かなんかの雑誌にあったような 。 かくいう私は、アセンブラでオブジェクト指向をやったことがあるが。