.XColor 構造体の RGB の各値がそれぞれ uint16 ってことですな 。 .X の貧弱なカラーマネージメントの仕組みだと、Windows の カラーモデルを表現するのは至難の技のような気がするなぁ、なんとなく。 とりあえず TrueColor 決め打ちとかにしちゃうと楽です。 |
.ところで、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 に入りそうな気がするし、 その結果どう影響するか、ちょっと調査が必要だと思う。 |
.ううむ、make release するとそんなところでコケるのか…。 多分 __mb_cur_max を参照しようとして、libc.a の setlocale.o を取り込んじゃってるな、こりゃ。 というわけでパッチを投げてみたが、会社なのでちょっと検証できず。 |
.こないだの拒否権なしメールに返事がないので 、 勝手に sata68@imou.to 作りますけどよろしいですね? [Y/y] |
.昨日の 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 を出した。 |
.というわけで土曜日のこと。 .行く途中。渋谷の旭屋に寄ったら Stevens のアレが出てた。 買おうかどうしようか迷うが、結局買わず。 .行く途中その 2 。新宿 3 丁目方面に歩いていたら虹に遭遇。 イシバシ楽器で Jazz Life を買う。 .会場。思わず 2F へ上がって行って店の人に呼び止められる。 .つーわけで地下。関西席を背中に、 .二次会。「ぼんや(だっけ?)」で日本酒。 去年、(う)さんの酒飲み会(事実誤認)の後にこがさんに連れて来られた店。 なるほろー、イベント主催すると食い放題ですか(謎)。 .三次会。なんとなく電車が怪しそうだったのでカラオケ。 私はカラオケは全く歌わないけど、ただ居るのがすき。 でも寝てたけど。 .カラオケ出口で思いっきりコケる。をを、久々に流血しとる。 みんなには雨の中、南口のコンビニまで付き合ってもらってしまった。 ときんさんには、「しお兄ちゃん、よくこけるねー」とか言われるし。 というわけで、みなさん介抱してくれてありがとうございました。 .駅。血が止まらずもう一度絆創膏をしゅがっぴに張り直してもらって OK. これは「お前は血の気が多いからちょっと血を抜くように」という 神の思し召しとみた(爆)。 takehiro さんと小杉からタクシー、takehiro さんを中原で下ろして帰宅。 もいちど消毒して寝た。 |
.来る途中、コンビニでジャンプを買おうとするも、 いつものように山になっておらず、隅の方にちょっとあっただけ。 手に取ってレジに歩き出したが、表紙に違和感を覚えて中を見ると、 先週号だったり。なるほろ、お盆休みね。戻す。 |
.紙 |
.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() で書き換えた方が良いとは思うなぁ。 .…↑なんかいろいろ書いてあってよくわからんな :-) |
.8255 LAN カードって(最後の方)… 。 いつから LAN はパラレルになったんだ? plip? |
.次のネタを考えるため、FreeType2-beta8 なんぞをコンパイル。 .うーむ、とりあえず、「FreeType で Type1 とか使える必要があるの?」 という疑問は置いておいて、いろいろほじくってみると、 こいつはなかなか好感が持てる。 ライセンス系体にしろ、ビルドプロセスにしろ、 なんとなく組み込みを強く意識してるような気がする。 |
.そうえば 、 土曜日のカラオケでビビったのは、そこに鎮座していた YAMAHA 製の 通信カラオケ用音源がディストーションギターにちゃんと ディストーションかけて鳴らしてたり、クリーンギターも ちゃんとアンプシミュレータを通したような音が出てたところかな。 .実は MU2000 欲しかったりして…。 |
.GrabServer 中に XCreateIC ができないのは 、 暗黙の了解というやつでしょう。 普通の XIM の実装 *1は X プロトコルの上に乗っかる形で実装されていますから、 IM サーバも IM クライアントも X のクライアントとして ぶら下がっているわけで、IM クライアントが ServerGrab してるときに IM サーバと通信しようとしても、IM サーバと X サーバとの間の通信が ブロックされるので、そこで IM クライアントもブロックして、 結果デッドロックしちゃうでしょうね。会社で周囲に聞いても、 「うんうん、きっとそうだ」という返事が戻って来ました :-) |
|
.次の段落とくっつけて 、 「お持ち帰りに社員割引効くのカー」と一瞬誤読。 |
.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 ってえてしてそういうもんだしな(←暴言)。\ |
.無邪気さゆえの過ち 、 というのもあるので、似てるっちゃ似てます(ぉ。 たとえば、何でも興味を持つ歳ごろの兄と、お兄ちゃん子な妹とか(←…)。 それをどうして責められようか(いや責められない)。 .ちなみに、私には 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 のは「法論議」なので、 「みんながなあなあにしてるから良い」といってしまうと、 ちょっと話の筋からずれちゃうんだけどね。 |
|
.ううむ、家の環境、 #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 しても バチはあたらなかったな…。 |
.そうえば 、 一年くらい前に、 FreeBSD で PAK 形式ファイルを fs に見せるコードを書きかけた記憶が :-) いまだにノートの中にコード断片があるけど。 .ところで、今 DNML を採用するのはどうなのかなぁ、という気もしますな。 KDE/Qt って XML の utils 持ってませんでしたっけ? もし持ってるんなら、 XDNML 的な物を作って、それに対するコンバータを作るのが 賢い気もしますです。 そうえば、DNML の XML 化って、結局どうなったん? .なお、私の密かな野望に、 「プレゼンツールとデジタルノベルシステムの統合」があった、 というのは、去年の Free on Free の一回目に行った人なら 知ってると思います :-)。 |
.そのとおりです 。 一つアドバイスするならば、 「契約書なんて、頭だけ読んで判子を押しちゃって構わんよ」 というような趣旨の主張は見なかったことにするのが良いでしょう。 いくらそれが複雑だったとしても、ちゃんと理解する。 責任を背負うということはそういうことなのだと私は思います。 .という建前はともかく、やっぱり最低でも、GPL 付ける前には 引地さんのところの 日本語の文章には目を通した方が良いでしょうね。 ちょっと内容は古くなってしまってますが、Think GNU 本も 原稿が引地さんのところから手に入るので、読むといいでしょう。 .というわけで、私も久々に GNU ダイジェストとか読み直してしまった。 |
.大昔の CQ 出版かなんかの雑誌にあったような 。 かくいう私は、アセンブラでオブジェクト指向をやったことがあるが。 |