I know I believe in nothing but it is my sweet nothing.:2008年02月分

2008/02/01(Fri)

[FreeBSD] _FileRuneLocale

FreeBSDのsrc/lib/libc/locale以下久しぶりに眺めてたら、いつの間にやらCitrusと同じように

に分割してたのね。
まあこれやらんとFreeBSDは/usr/share以下にLC_CTYPEファイルを置いてるにも関わらず
sizeof(long)やendianの異なるarch間でNFSなどで共有できないとゆー大問題があったのだけども。
このへんの議論参照ね。

ググってみたら 6.0-RELEASEで対応したのね。
s/long int/int32_t/g及びbyteorder(3)でfile formatが変わってしまうので
/usr/share/locale/*/LC_CTYPEの後方互換性が失われてしまう件については無視かYO!と思ったら
ports/misc/compat5xに含まれるlibcで変更後のformatを読めるように対応して回避してる模様。
まあlibcをstatic linkしたbinaryのバヤイはこれでも葉亜駄目大(by 花輪和一)なんだがね。
FreeBSDはもういっそ/usr/libdataにするしかないだろJKと思ってたんだけどモナ。

我が身振り返るとlocale databaseやiconv databaseをMIとして/usr/shareに置いてる
NetBSDも他人事じゃないのよな、例えば以前から放置状態のTODO

あたりを真面目にやろうとした場合、iconv databaseのformat変更が必須になりそうなのよね。
format変更が必要になるのが新しく追加するCES(*.esdb)/CCS(*.mps)だけならまだしも
(実際問題、GB18030の4byte領域のサポートの時は 変更したしね)
既存のCES/CCSが使えなくなるのは青汁のようにとっても不味い。

最近はpkgsrc/emulators/compat40とかのパケージが整備されてるので
libc static linked binaryの事を忘れてしまえばFreeBSDと同じ逃げ方もできるのだけども。
実際libpthreadがらみでもうNetBSDはfull dynamicaly rootなのだから
今更statically linked binaryなんか使う奴わチネと公言する人もいるわけだし。

まあ現実問題Citrusはdlfcn(3)に依存してるのでstatic linked binaryのこたスッパリ忘れておkなのだが
DragonFlyBSDなんかはjoerg氏が独自にstatic linked binaryサポート入れてたりする事も考えると悩むな。

というわけで動いてるものは触らずに放置なわけです、はい。

linux emulationみたいに/usr/pkg/emul/netbsdにchrootするか(笑)

PHP(以下略

エミネムの8 mileとか見たほうがいいよ
ヒプホプのdis合戦のやり口を分かりやすく説明しているから

とゆーしょーもないネタしか思いつきません。
今ならオマケで2PAC、金利手数料は(ry じゃーぱねっと。

ソフトウェア開発とは関係ないけども、内輪受け+悪乗り文化圏では
空気嫁ることと自重できることはじゅーよーな資質ではあると思う。

2008/02/05(Tue)

昨日

いつのまにかpkgsrc/www/tracの依存するsqliteのバージョンが2 -> 3に変わってて 500 Internal Server Error。
MESSAGESにあるtrac-adminを使った更新方法とはまた別に
2のdbをdumpして3でresoreし直しておかないと動かなくなるとゆーことやね。

$ cd /somewhere-trac-data/db
$ /usr/pkg/bin/sqlite .dump trac.db >trac.dump
$ mv trac.db trac.db.old
$ /usr/pkg/bin/sqlite3 trac.db < trac.dump

SONY α-200だけでなく300/350を投入、しかも年内に900(仮)とな、確変キタ。
ウエストレベル的に使えるQuickLiveViewは子供や動物の撮影にいいね、デジ興味ない俺もグラグラ。
ただしLV時は細部の拡大ができんようなので、マクロ撮影時のピント確認には使えねーと叩かれそうで心配ですな。
まあそんなんデジなんだし試写した結果を拡大してチェックすればいい話なんだけどもね。
三脚使わずに手持ちでマクロ撮影したいという特殊条件(無茶しやがってAA略)もあるけど、んなケースだと

ピントの確認に細部を拡大した絵を表示 + 構図の確認用に全体の絵をオーバーレイした小窓で表示

を同時にできんとあんま意味ないし、それって可能な機種って存在しなくなくなくなくなくない?
(他社製品はあんま弄ったことないし、っつーかそもそもデジイチ持ってないのでよう知らんけど)
ならば今回はわりきってしまって光学ファインダー並みの速度を追求で正解だと思われ。

しかしNikon Fみたいな900(仮)のコーンヘッドは807siのデコパチ並に不評な悪寒。
ハンス・ムート(SUZUKI KATANAで有名なデザイナー、 α-8700iAPEX105を手がけた)カムバーック。

Minolta Hi-Matic、3台入手したうちのハーフミラー腐食のない個体をとりあえず動くようにした。
会社に向かう道すがら雪融け風景をバシバシ(レンズシャッターなのでそんな音しません)試写。

が確認ポイント、いずれも問題なさげでんな。
それにしてもTessarのシャープな絵とRokkorのこってりした色いいねえ。
逆光だとボディ内反射でゴースト出まくりだけど、まあこの時代のカメラじゃしょうがない。
オプションにD42KAという遮光フードがあったみたいなのでオクでぼちぼち探すべ。

ハーフミラーも代替品用意したので他の2台も暇のあるときに修理していく予定。
1台はスプリングの腐食が進行、レンズ傷多カビだらけコート剥げまくりで状態悪いんだけど
(なので解体の練習台に使った)まあ時間をかければ直せないこともなさそう。

Hi-Matic7とか9も欲しくなってきた俺自重。

2008/02/11(Mon)

連休

Walk out to winter~する気にもならんぐらい寒いっすね。

なもんでMinolta Hi-Maticの修理の続きなぞ。
腐った配線を張り替えようと露出計をバラすも、順序間違えてヒゲぜんまいを切ってしまう、ショーック。
100円ショップでバッテリーチェッカーを買い、そいつのメーター部から移植。
細かいはんだ付け作業でグッタリ。

ついでにオクでMinolta Hi-Matic7と同 Uniomatなぞポチってしまう俺本気で自重。

ポラロイド終了のお知らせ。
デジカメがまだ珍しかった20世紀、合コンにポラロイド持ってくと何かと重宝(以下略。
今ならケータイカメラで撮ってその場でメールで交換なんだろうな。
こういう話も書けなくなるなぁ

FUJIはまだチェキ頑張ってるけども、互換性ないんだよな。
最近のトイカメブームで SX-70とか買ったほっこりさんカワイソス。

[pcc] pcc-0.9.9

でてたらしい、去年の年末以降サボりまくってる_Bool対応patchを
いまのCVS HEADに追従して残りの問題を退治しないとね。

2008/02/12(Tue)

[NetBSD] VMware

でNetBSDを動かす時、host <-> guest間の時間合わせには
vmware-nisetoolをありがたく使わせて頂いてるのだけども
同梱のvmware-xsupportの方は、host <-> guest間のコピペを
CutBuffer APIで実装してるので日本語が通らないのよね。
なもんでSelection API使ったりして、てきとーに 作ってみた。

VMwareのクリップボードはUTF-8なのでついうっかりXutf8*を使ってしまった。
今は反省している。
ここはCSI派としてiconv(3)とXmb*で書き直さねばなるまい(棒読み)。

いろいろサボってるので本家に比べて足りないオプションあるけど
自分で使う分にはこんなもんで十分なのでまたそのうちね。

こういうのは本来vmmouseドライバの方で対応すべきなんだろう。
Cygwinも大分昔にxwinclip.exe相当の処理をX Server側で実装してるし。
ドライバで対応すれば多分Xnestにもコピペできるようになると思われ。

2008/02/13(Wed)

昨日

Minolta Uniomat届いた。
外装の状態がとても悪い、まあジャンク100円なのでしょうがないけども。
何度も落としたみたいでそこらじゅうにアタリがあるし
軍艦部の隠しネジも、オリジナルでないプラスネジが刺さってる。
それと前の所有者はどうやらCRE 5-56'erだったようでそこらじゅうが黄色い油でベトベト。

ばっちいので解体して中性洗剤で洗浄、グリス塗り直して組み直す。
絞りリングはヘリコイドでなくレールなのでグリス塗ってもあんまスムーズに動かない。
ピントリングは前玉が回る方式なので無限遠にあわせての調整は楽かも。

セレン光電池の配線が切れてたので再配線、幅5mmほどセレン蒸発させてもうた。
メーターの反応は問題なさげだけど、まあAUTOで実写してみないとな。

この機種は後玉が白濁してしまう個体が多いみたいけどこいつもそうだった。
自動車用のガラス研磨剤を買ってきて磨くorzしかなさげ。

接着剤を剥離するのに今回はオレンジソルを使ってみたのだけど
そのあまりに強力な効果に、深夜の海外通販番組のような驚きの声を上げる俺。

映画監督の市川崑さん死去
犬神家の一族、佐清のマスクに「肉」と書かれたコラで盛大に噴いたばかりなのだが。
フロイド博士の中の人ロイ・シャイダーも2010を待たずに 死去とな。

[NetBSD] 続VMware

昨日の xvmwareだけどもかなりかっこわるいミスがあったので直しといた。

2008/02/14(Thu)

[NetBSD] pkgsrc/editors/nvi-m17n

xvmware、euc-jp-*なnvi-m17nにコピペすると半角カナが通らんのだよな。
emacsだと昨日のキャプチャ画像のとおり問題ないのでnvi-m17nのコードを見てみたんだが
common/multibyte.cみるとeuc-jp-*の場合initg2にCS_JISX0201_RIGHTが指定されてるし
shifttype = S_EUC(= S_SS2R|S_SS3R)なので通りそうなもんだけどもな。

TODO:
common/multi_iso2022.cのiso2022_keyinput()を時間のある時に調べること。

昨日

Minolta Hi-Matic7も届いた、前の所有者は現役バリバリで使ってたようで
MR-9の代替電池(VARTA P625U)が入っててそのまま使える良クオリティ。
これでも800円だからジャンクカメラ沼にみんなハマってしまうんだろう。

ファインダーは空けて掃除をするか迷う程度のヨゴレあり。
レンズは点カビ1ヵ所を無理に擦って僅かにコート剥がしてしまった個所がある。
まあ写りにはそう影響ないっしょ、Rokkor 45mm/F1.8の描写は楽しみ。

初代Hi-Maticと比べ物にならんくらいしっかりした作り、とても 1963年製のカメラとは思えん。
ケネディ暗殺の翌月発売、ってもうすぐ半世紀ですよ?

SRT101も欲しくなってきた俺自重。
W. Eugene Smithが水俣で使ったカメラとして有名ですな。
岩波から出てた 写真集は絶版で定価の3倍か。

2008/02/15(Fri)

[NetBSD] pkgsrc/editors/nvi-m17n その2

ざっとコード読み直してみた。

--- common/multi_iso2022.c.orig      2008-02-15 20:46:33.000000000 +0900
+++ common/multi_iso2022.c   2008-02-15 20:47:03.000000000 +0900
@@ -1545,7 +1545,7 @@
                        consumed++;
                        continue;
                }
-               if ((kbuf[i] == 0x8e && (shifttype & S_SS3R))
+               if ((kbuf[i] == 0x8e && (shifttype & S_SS2R))
                 || (kbuf[i] == 0x8f && (shifttype & S_SS3R))) {
                        cs = isostate.charsets[kbuf[i] - 0x8e + 2];
                        switch (cs->type) {

まあtypoですな、それと

1568                         singlegl = singlegr = kbuf[i] - 0x8e + 2;
1569                         i++;
1570                         consumed++;
1571                         /* fall through */
1572                 }
(中略)
1586                 if (kbuf[i] & 0x80) {
1587                         /*
1588                          * character range check.
1589                          */
1590                         switch (GRcharset->type) {

1569行目でiをインクリメントした後 FALLTHROUGHして、1586行目でkbuf[i]の評価をしてるけど
i == kbuflenだった場合にはiso2022_keyinput()をrestartする必要があるんだよな。
そのチェックが不十分なので、kbufをindex out of boundsしてしまい
後の処理が想定外になってるのが原因っぽいやね。

それとrestart可能ということはiso2022_keyinput()って基本的に
mbrtowc(3)とよく似た動作を求められるってこととイコールなのだけど
両者を比較してみると、NetBSDのsrc/lib/libc/citrus/modules/citrus_iso2022.cでは

 94 typedef struct {
 95 	_ISO2022Charset g[4];
 96 	/* need 3 bits to hold -1, 0, ..., 3 */
 97 	int     gl:3,
 98 	        gr:3,
 99 	        singlegl:3,
100 	        singlegr:3;
101 	char ch[7];	/* longest escape sequence (ESC & V ESC $ ( F) */
102 	int chlen;
103 	int flags;
104 #define _ISO2022STATE_FLAG_INITIALIZED	1
105 } _ISO2022State;

と、_ISO2022State(=mbstate_t)は99~100行目のとおりシングルシフトの
状態を保持するのだが、nvi-m17nのcommon/multi_iso2022.cだと

113 struct _iso2022state {
114 	CHARSET const *charsets[4];
115 	int     gl;
116 	int     gr;
117 };
118 typedef struct _iso2022state ISO2022STATE;

の通り、ISO2022STATEはシングルシフトを保持しないのよな。

そのうち続く。

今日

この専門家トースターの危険性も警鐘すべきだろ。

何度でも蘇(以下略

Pale Fountains再結成! 、もしかしてネオアコって今リバイバル中?
大昔 ...from across the kitchen table の 3. Jean's not happening を演ったことがあるわ、懐かしい。

2008/02/17(Sun)

最近買ったもの

2008/02/18(Mon)

[VMware] xvmware

isakiさんとこより。

hostとguestのシームレスな移動を有効にする場合(デフォルト)には
window managerのvirtual desktopで画面の境界にcursorがきた場合
virtual desktop間を移動するような設定になってると
xvmwareはふしぎなおどりをおど(以下略)のような気がします。

これどうやって対応しようかな、境界にcursorがきた時
guestからhostに移動するのに閾値をもうけるとかかな。
vmware-guestdはどうやって対処してるんだろう(そもそもしてるのか?)。

うーん、本当は open-vm-toolsをNetBSDでも動く作業 *1したほうが有益なんだろうけども。

追記、いまのとこxvmwareは

 MS932(Windows) -> UTF-8(VMware) -> eucJP(kterm)

のような場合、いわゆるFULLWIDTH TILDE/WAVE DASH問題が発生します。
libc/Xlibのロケールでja_JP.eucJP-MSを実装するのもアレなので我慢してちょ。

*1:とりあえずNetBSDでcompile通るとこまで軽く イジってみた
vmware-userを起動するとエラーが出るもののcursorのシームレス移動は可能。
やっぱりこっちもvirtual descktopだと同じ問題でるな。

[NetBSD] pkgsrc/sysutils/open-vm-tools

ちょwwwwwwwwpkgsrcにあったwwwwww

2008/02/19(Tue)

[NetBSD] pkgsrc/sysutils/open-vm-tools その2

むーbuildにpkgsrc/x11/gtk2要求するのに、vmware-userとかvmware-toolboxは
インスコされず、vmware-guestdだけなのねん。

vmware-guestdは/proc/cpuinfoなどを参照するので

# /sbin/mount -t procfs -o linux /proc /proc

しておく必要があるけどprocfs前提ってあんま好きじゃないのだよな。
sysctl(3)使うように直した方がいい鴨。

インスコはされないけどvmware-userはビルドできてるので起動してみる。
うーん、うちのpatchと同じで動くには動くけど警告でまくりんぐ。
どうにかしないとな、GTK Programingよーわからんけども。

動作確認用にSuSE Linuxと製品添付のvmware-tools入れてみたのだが
cut & pasteが有効になってる気配が無い、何か設定必要?
open-vm-toolsのソースちら見した限りではcopyPaste.cとかdnd.cとかあるんだけど。

[文字コード] 2byteの壁

kbkさんとこより。

25歳。
去年までUTF-8でメモリ無し君だったけど、UTFCP2で 
一文字で1byte貯めた。一度やってみなよ。
JIS第一水準のみだけど、ひらがなカタカナだけでなく漢字も2byte領域がもらえる。
もらうだけもらってJIS第一水準以外はGB2312を使うこともできるし、フォントは日本語か簡体中国語に
思い切って賭けてしまえば50パーセントでグリフは正しく表示される。
表示されなきゃUnicodeのCJK漢字統合を批判すればいいだけ。暇つぶしになる。 
他にもSCSU/BOCU圧縮とかいっそGB18030とか色々あるのでマジでお勧め。
http://ton.2ch.net/gline/kako/1040/10409/1040976982.html

ですか?わかりません><

まあ海の向こうじゃリアルで

RFC2279。
去年までUCS-4で1文字4byte君だったけど、UTF-8で
一文字で3byte貯め(以下略

なわけでして *1、あんまりこの手の主張を無下に否定できない俺ガイル。

*1:UTF-8の目的はそこじゃないけどね。

2008/02/20(Wed)

今日

bin/38047前もマニュアルが間違っててその時チェックしたつもりだったのだが。
好きじゃないけどjavadocとかdoxygen的なものが必要かもね。

寒さも和らいできたので今週末は久々にride the magic bus、準備などを。
EPNで撮る梅なんてのも今年で最後ですな…

AIR-EDGE

WillcomのAIR-EDGEのx8使ってる。
イーモバやauと比べればそりゃちょっとは違うかもしれないけど
個人的には800kbpsでも十分に速い。
嘘かと思われるかも知れないけど東北新幹線車中で275キロ位でマジで34GTRを抜いた。
それだけでも個人的には大満足です。

新つなぎ放題だと。
今現在

で契約中なのだけども、 この記事だとこの新プランに変更するにゃ

とあるのだけど、端末代金の精算って一括?

よく規約を読むと

なので、プラン変更にともなう端末残金は「一括で払え」ではなくて
「そのまま支払い続けてもらいますよ」の意味でOK?
時間のある時にサポートに電話して確認してみよっと。

2008/02/21(Thu)

今日

やっと仕事が一段落、正月からこっち疲れたわ。

ragge氏がc99 + i386 etc対応する以前のオリジナルのpccを動かしたいんだけど
pkgsrc/emulators/simhにUNIX version 7入れりゃいいのかな。

pccの_Bool対応、後々めんどくさくならないように前回までのpatchを trunkに追従しておく。

2008/02/24(Sun)

週末

桧原村でバーベキュー。
日中最高気温14度との予報だったので軽めの服装で行ったら
山肌の残雪に冷やされた強風が容赦無く吹きつけ後悔しまくりんぐ。
野外で飲むアツアツ曳きたてコーヒーうまうま。

数馬の湯。
ちょうど露天が薬湯になる日で冷えた体にグー。

吉祥寺でラーメン食べて、その後大学時代の先輩の新居へ。
StuffのLive DVD見ながらGordon EdwardsとSteve Gaddが
アッー!なカップルだったという真偽不明netatalk。
どんな夜のルーディメンツプレイが展開されんだよwwwwwww
若き日のEdwardsは 例のポスターに出てきそうではある。

帰り道に別の友人宅でお茶、 Nixon/ Lambchop が気に入った。

2008/02/27(Wed)

ThinkPad s30

今度は液晶インバータ<->フレキ間のコネクタがはんだ剥離。
RoHS対応無鉛ハンダの影響かね、いやよう知らんけど。
多分さっきThinkPad X61の見積りをしてたから拗ねたな。
安心してくれそんな金はにゃい。

細かすぎてハンダ付けてこずったけど何とか復活した風味。

2008/02/28(Thu)

[NetBSD] tech-userlevel

Who's in charge of Localization (L10N) in NetBSD?

「NetBSDのリチウムイオンバッテリ(LION)を誰が充電しますか」と誤読してますた(ぉ
管理っつーか下働きでございますが、そーです私 が変なおじさんです。

って悪魔はバスク語を話せないって西洋人ジョークじゃないよな?

こういう翻訳はひとりじゃ無理な仕事なのでとてもありがたいのだけども
LC_CTYPE以外の実装がまだなのでFreeBSDに誘導せざるを得ず悲しい色やね *1
localedef(1)どうにかしないとな、つか最近手が動いてなくてスマソ。

前書いた localeのサポート状況だけども、NetBSDはLC_CTYPEだけでも○なので
ちょっとズルい罠、せいぜい△だよな。

いちお

のみsrc/share/locale/ctypeにつっこむよう じじゅう自重してる
(なのでhi_IN.ISCII-DEVとかFreeBSDにあれどもNetBSDでは未だサポートしてない)
ので、libc側さえ実装さえしちまえばすぐに△→○にはなるのだけどもね。

*1:ぼちぼちいこかが紙ジャケ化されてやがるwwwww入手せねば。
つかこのアルバムも長いこと廃盤だったのね…名盤なのに。

昨日

金無いといいながらThinkPad X61ポチってしまい、しばらく極貧決定です。
ああ、これでしばらく何も買えねぇ。

さすがに240とs30じゃぁ非力過ぎーと最近痛感してたので
X31あたりの中古を探そうとオモタのだが、程度のいいものは高いのよな。
レノボ直販のX61が1000台限定で12万弱だし新品買った方がマシだよな。
X300?なにそれ?

Windows Vista Home Basicという動作確認用OSがついてるようだけど
消しちまうのでどうでもよろし。

[NetBSD] 続 tech-userlevel

案の定tls氏からヤブヘビ飛んできたwwwwwwwww
塩崎さんがLC_COLLATEの為にlibcにTrieをと書かれてるけど
これってiconvのM:N変換でも同じもんが必要になるんだよな。
うーどうすんべ。

2008/02/29(Fri)

[NetBSD] localedef(1)

ginsbach氏も作業してるけど時間ないらしいとのことで。
ISO/IEC 2022の扱いが興味あるのでtech-userlevelに
これはひどい英誤ですねな長文でネタ振っといた。
しかし前に自分が書いた実装はまだ晒すのも恥ずかしい段階なのでちょっと赤面。

つかさくっとISO-2022なlocaleは削除しちまえという結論になる奇ガス。
だ が 断 る。

なんかgmail調子が悪くて2重送信しちまったのでゴメン。
しかもなんかSubject変えたらIn-Reply-Toつかなくなるのかな、これ。

bin/38047もcommitしておいた。

[NetBSD] tech-userlevel

ユーロ記号ネタ、他のOSのように

de_DE -> de_DE.ISO8859-1
de_DE\@euro -> de_DE.ISO8859-15

のようにしといた方がいいのかね?

しかしuxterm + luitのsetuid root問題も随分長いこと放置プレーの様子。
自分はbuild.sh install=/した直後にopeni18n.orgのCSI xterm patchをあてた
X11R6.6のxtermで上書きしちまってるのだけども。