2000年10月の日記

      10月 2000
日 月 火 水 木 金 土 
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

10月1日

オリンピックもそろそろ終りか〜 フェンシングってやってたっけ? やってたなら見たかったな。

のっけから愚痴いろいろ

ゴミのようなものでも、書いてしまえば、意外とすっきりするもんだね。

10月2日

お子ちゃまだね、俺。あんな愚痴書いてる暇があったら勉強しろよ。勉強。

今日は、moaiの家でLAN周りを色々いじくって来た。ドライバのインストールに手間取ったけど、ちゃんとパケットが通るようになったから良しとしよう。それにしても、NT(というかWin98もだけど)は手ごわかった。

URLメモ

10月3日

やはりパケットライトだろう

いまさらだけど、CD-Rをフロッピー代わりに使おうと画策中。

PacketCDを買おうと思ったら、PacketManとかいうソフトにアップデートしたらしい。「OSTA UDF Revision 1.50 採用で、Windows/Macintosh間で相互データ交換が可能」とか書かれてたけど、UNIXの事にも触れて欲しいな〜 で、このPacketManで書いたUDFは、LinuxのUDFドライバで正常に扱えるのかな? 今、linux-2.4.0-test8のソースを見たらiocharsetオプションが無いんだよな…、日本語ファイル名がちゃんと扱えるか不安だ。UNICODEとUTF-8まわりのコードはあるみたいなので、ja_JP.UTF8な人だけが幸せになれるのかも。(ゲロゲロ〜)

LinuxのCDドライバは書き込みをサポートしないことで悪名高かった(本当?)が、どうやら、それももう終るかも知れない。packet-cdというプロジェクトがあるのだ。CD-RWがメインターゲットで、CD-Rはこれからという感じだけど、期待してま〜す。

パケットライトからは話が外れるが、「mkisofs の日本語 (multi-byte NLS) 対応」はすばらしい。

それと、CDを扱っていると、CDfsは欠かせない。メディア上に存在するトラックとセッションとブートイメージのイメージをファイルとして扱うためのファイルシステムで、けっこう便利。以前はaudiofsというオーディオトラック限定のやつもあったんだけど、今探したらダウンロード出来なかった。でも、CDfsはaudiofsの機能を含んでいる(と思う)ので問題ないかな。

こうして色々と有用なファイルシステムを見ていて思うのは、

って事だね。あと、loopbackマウントごときでrootの権限がいちいち必要ってのは、ダメだね。マウント周りのシステムはそろそろ変わる必要があると思う。これについてはそのうち。

10月4日

弟の買って来た「テニスの王子様」の第5巻を読んだ。

CDfs

CDfs上のwavファイルをsoxのplayで再生してみたら、内臓IDEのCD-ROMドライブだと再生は出来るが以下のようなエラーが続出でダメげな感じ。外付のSCSIのCD-Rドライブだと良い感じ。

hdc: packet command error: status=0x51 { DriveReady SeekComplete Error }
hdc: packet command error: error=0x54
ATAPI device hdc:
  Error: Illegal request -- (Sense key=0x05)
  Invalid field in command packet -- (asc=0x24, ascq=0x00)
  The failed "Read CD" packet command was: 
  "be 04 00 00 07 f1 00 00 01 f8 00 00 "
copy_from_cd(2033) ioctl failed: -5

UDF

どうやら、2.3.41でオプションからutf8とiocharsetが外されたようだ。それ以前だと、いちおう入っている。(unusedだけど) 誰か、このあたりの事情を知りませんか?

Wine

wine-20001002を入れた。ChangeLogを見ると、DBCS周りのコードもそれなりに入っているみたい。ところが、「Building font metrics. This may take some time...」の後にxfsが落ちるのだ。色々試していて、/etc/X11/fs/configからDynaLabのTrueTypeフォントのパスのエントリーを外したら動くようになった。そこで、wine-20000716に口西氏の日本語化パッチを当てたやつもためす。これも動いた。わーい。wine-20001002も基本的には日本語を表示できるようになってるけど、メニューやボタンなど表示できない所が結構あった。(フォントの設定の問題?) 安定度はwine-20001002の方が上かな。wine-20000716はどうもスレッド周りが弱いんだよな〜。

--managedというオプションがあることを今ごろになって知った。WINEがWindowsのメッセージを処理できない時でもウィンドウを動かせるので重宝する。もちろん、Dibasのようなウィンドウを特別な方法で扱ってるソフトとは相性が悪いけど。

gimp-spi

さっそく、gimp-spiをlibwineにリンクしてみた。インストールして、gimpを起動すると…ダメです。勝手にオプションにさわらないで欲しいぞ。> WINE
僕の欲しいのはPECOFF(Windowsで使われている実行ファイルの形式)のロードとDLL内の関数の呼び出し機能、つまりLoadLibraryとGetProcAddressぐらいなんだからさ。うーん、PEACEに期待か?

[susho@localhost ~]% gimp
Unknown option '-gimp'

Usage: /home/susho/.gimp-1.1/plug-ins/spi [options] program_name [arguments]

Options:
   --config name    Specify config file to use
   --debugmsg name  Turn debugging-messages on or off
   --desktop geom   Use a desktop window of the given geometry
   --display name   Use the specified display
   --dll name       Enable or disable built-in DLLs
   --dosver x.xx    DOS version to imitate (e.g. 6.22). Only valid with --winver win31
   --help,-h        Show this help message
   --language xx    Set the language (one of Br,Ca,Cs,Cy,Da,De,En,Eo,Es,Fi,Fr,Ga,Gd,Gv,
                    Hr,Hu,It,Ja,Ko,Kw,Nl,No,Pl,Pt,Sk,Sv,Ru,Wa)
   --managed        Allow the window manager to manage created windows
   --synchronous    Turn on synchronous display mode
   --version,-v     Display the Wine version
   --winver         Version to imitate (one of win31,win95,nt351,nt40)

LibGimp-WARNING **: gimp: wire_read: unexpected EOF

10月5日

弟の買って来た「彼氏彼女の事情」第10巻を読む。

リュウ君に政治学の教科書を見せてもらう。面白そうだ。それと、O俣に久しぶりに会った。そうそう、家は今工事中。瓦をはがして、その下を修理中の模様…

w3m-mee

設定ファイルのパースで落ちてる模様。素のw3mでも落ちたので、w3m-meeのせいじゃないけど。

gdb ./w3m
(gdb) run ~/public_html/index.html
Starting program: /home/susho/rpm/BUILD/w3m-0.1.11-pre/./w3m ~/public_html/index.html

Program received signal SIGSEGV, Segmentation fault.
0x8072af8 in search_param ()
(gdb) bt
#0  0x8072af8 in search_param ()
#1  0x8072dac in set_param ()
#2  0x807310c in interpret_rc ()
#3  0x8073ee2 in init_rc ()
#4  0x804aca9 in real_main ()
#5  0x804fef8 in main ()
#6  0x401f3c5e in __libc_start_main (main=0x804fed4 <main>, argc=2, 
    argv=0xbffff904, init=0x8049ebc <_init>, fini=0x808de34 <_fini>, 
    rtld_fini=0x4000a5e0 <_dl_fini>, stack_end=0xbffff8fc)
    at ../sysdeps/generic/libc-start.c:92

peace

Actually, PEACE is `Win32-compatible package' rather than `emulator' because different from Wine and WABI, PEACE does not have `emulator executable'. EXE files are directly executed from sh or csh.

と書かれていたけど、pe-coffのサポートをカーネルレベルで行ってるって事なんだろうか。Linuxにも、「Kernel support for a.out binaries」とか「Kernel support for ELF binaries」みたいなオプションがあるけど、「Kernel support for PE binaries」なんてのがあれば、それはそれでカッコ良いな。もっとも、Linuxの場合、普通は「Kernel support for MISC binaries」を使って、WINEみたいなエミュレータを意識しないで、直接実行してると思うから、メリットはあまりないと思うけど。

wine

ちなみに、binfmt_miscへは「echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register」みたいな感じで登録する。とはいっても、もちろん実行権限が必要なので、FAT上のWindowsのバイナリを実行したいのなら、FATをマウントする際に実行権限をマスクしない事ですな…。でも、それだと実行ファイル以外にも実行権限が付いてかなりウザイかも。あ、showexecってオプションがあった。やたー

昨日、「--managedオプションで、Windowsのメッセージを処理できない時でもウィンドウを動かせるので重宝する。」と書いた。が、それ以前に、WindowがSticky扱いになってウザイのを救ってくれるという効能があった。

--managedオプションが指定された場合にタイトルバーの文字列はウィンドウ・マネージャが処理するわけだから、ウィンドウ・マネージャのロカールで使われている文字コードに変換する必要がある…はず。設定ファイルでのTextCPというのが、それなのだが、EUC-JPを指定するにはどうしたら良いのだろう。WINEはEUC-JP ⇔ UNICODEのコード表を持っていないので、それを追加する必要がありそうだ。でも、EUC-JPのコードページなんてあるの?

10月6日

ミカンがすっぱいー 鳥取で大地震があったらしい。ユーゴでは革命だ。

鹿鳴館大学・理学部講座の「ゲーデルの不完全性定理と証明」を読んだ。簡単に説明されててわかりやすかったけど、「ある命題」って普通は特称命題だと思うのだが… 言いたい事はわかるけど、この説明はちょっとな〜 (間違ってたらどうしよう。ひょっとして、自分の無知をひけらかしてる? > オレ)

UCSフォント

UCSフォントなるものが結構出回って来てる。でも、ただのBDFフォントだったりする。ほらほら、あのIntelligent Fontってのはどうなったのよ? 大体、Unicodeはグリフじゃなくて、文字についてのコードでしょ、建前上は。フォントのコードにUnicodeをそのまま使うってのは矛盾じゃないの。それとも、結合文字や合成文字なんて、最初から絵空事だったのかい?

円高とか

円高が良いとか悪いとかを一概に言うことは当然出来ないが、例の過度の円高は日本経済に確実に影響を及ぼしたと言えるだろうね。(ちなみに、長期的な円高傾向は当時の状況を考えるとむしろ自然ではないだろうか) 生産の合理化やリストラが行われて、それでカバーできない部分については、生産拠点の海外移転が随分進んだ。産業の空洞化とかいう現象である。貿易財の購買力平価に基づく理論的為替レートに収斂しただけだという見方もあるようだけど、ちょっとは頭使えよって感じ。

短期的な為替レートの変動に介入してどうこうしようってのは結局大した効果をあげられないわけだし、国益云々を考えるなら、円の国際化の推進ってのは必要だと思うぞ。途上国への援助とかもドルではなくて、円立てですりゃーいーのにね。

「付属会議室」閉鎖

情報交換にはメーリングリストやネットニューズの方が有益だろうし、何らかのジャンルのポータルなわけでもないし、存在異義意義がないな〜と思ったもんで閉鎖します。気が向いたら、また復活させるかも。

URLメモ

10月7日

森政権とか

森政権の話を書くと予告したので、とりあえず何か書いておこう。何か、タイミングを逃し過ぎた気がして投げやりだけど…

朝日新聞にも同じような投書が多くあるのか〜、朝日新聞はたまにしか読んでなかったので知らなかった。で、予算の省庁配分比を問題にしたり、無駄な公共事業を見直したりは僕もそれなりには評価してる。(だって、もっと削れるでしょ) ただ、僕の目から見れば、森首相の失言その他はこれらを帳消しにして、あまりあるという事。あと、内政は置いておいても、外交についてはかなり不安だな。

そういえば、18歳未満(?)に奉仕活動を義務づけるとかいう話があったな。冗談かと思っていたら、結構本気らしい。義務と言うことは、少なくとも、Volunteerではないわけだ。そうそう、奉仕=attendance,service、奉仕者=servantっす。

公共事業の見直しは、公共事業への新たな資金投入が持続的な(あるいは、自立的な)回復をもたらす訳ではない、と一歩踏み込んでくれればなお良かったね。(もちろん、この見直しで言及されている主な公共事業は不況対策ではないのだけれども) 何故、現在の日本で、公共事業が持続的な回復をもたらさないのかは、いまさら説明する必要もないだろう。不況で思い出したが、そういや、クルーグマンの主張しているような調整インフレってのは基本的に正しかったはずなのに、案外取り上げられてなかったね。「流動性の罠」って言葉があちこちで取り上げられていた割にはさ。

公共事情を含む諸々の不況対策のおかげで、デフレスパイラルという最悪の事態を避けることが出来た…という事を良く聞く。でも、本当にあれだけの事をしなかったら、デフレスパイラルってのは起きたの? 後で、センセに訊いてみよ。

GIMPで画像を保存した際に一緒に出来るxvpicディレクトリは何ですか?

画像のサムネイルが保存されています。XVやGuashやGQViewがカタログ表示する際に使います。

CORBA

は「コルバ」と読むらしい。これまで、なんて読むか知らなかった。

買った本

借りた本

10月8日

B.Bの絵を描いてる夢を見た。懐かしい。

VFATでのショートファイルネームの扱い

VFATのショートファイルネームのASCII相当の文字が勝手に小文字になって困る。Linux付属のvfat.txtによれば「Filenames that fit in the 8.3 namespace and are written on Windows NT to be lowercase will show up as uppercase on Windows 95.」だし、Windows95側の問題で、仕方無いのかとも思うけど、Windows95と同じファイル名で扱えないと何かと困るのだ。VFAT-jpパッチみたいに、SFNのアルファベットを大文字として扱うか小文字として扱うかをオプションで指定できるようにしてくれれば良いのに。

そもそも、Linuxで小文字のつもりで作ったファイルがWindows95だと大文字になったり、Windows95で大文字のつもりで作ったファイルが勝手に小文字になっちゃったりするんだよ〜 気持ち悪くないの〜?

WINE

一部の機能が動かないってのは結構あるけど、全く動かないソフトは試した限りほとんど無いね。一年前とは段違いだ。CygwinやMeadowはダメだったけど、DelphiやGIMP for Win32だって起動するもんね。

Guash

Guashでディレクトリを開いたときに、「進度」のウィンドウが何度も開いたり閉じたりして邪魔。WindowMakerなので、WMWindowAttributesに「plug_in_progress.Gimp = {Unfocusable = Yes;};」を追加して、ちょっとだけ改善。

10月12日

特記事項のない日々が続く。今朝も徹夜してしまった。(変な言い方)

.xvpicsのお掃除

find . -type d -name ".xvpics" -exec rm -rf {} \;

10月13日

センタ試験の出願がはじまったらしい。すっかり忘れていた。あれって、どうやって申し込むんだっけ? きっと卒業証明書とかいるんだろうな。面倒だ。

7000hit達成。別にどうでも良いけど。

もらったアーカイブを展開したらSHIFT_JISっぽいファイル名が多量に…、とりあえず適当にEUC-JPに変換しておく。UTF-8の方が良かったかな。む、ファイル名が変わらない場合はmvが文句を言うけど、まあいいや。

for File in *;
do
  mv $File `echo $File | iconv --from-code=SHIFT_JIS --to-code=EUC-JP`
done

10月16日

田中康夫が長野県知事に当選。期待が大きい分だけ、これからが大変だろう。良いブレインがいれば良いんだけど…

アホ

眺めているのが一番。決して、議論に取り込まれたりしてはいけない。

10月17日

バーチャルリアリティは悪である」らしい。おおー。

partedのstrlist.cを文字セットに依存しなくするパッチをbug-parted@gnu.orgに送った。

久しぶりにゆきの唯と遊ぶ。例の「眼鏡っ娘」本を貰って来る。FF VIの楽譜を返してもらう。サガフロンティアの楽譜を借りた。

10月18日

バグ報告する前に、最新版で再現するかどうかぐらい調べて欲しいぞ〜。っていうか、常識じゃないっすか? 気を付けよう。(> 俺も)

湘南工科大へ行って、センタ試験の出願書類をもらって来た。

昨日投げたpartedのパッチへの反応が全く無い。切ない。まあ、いっか。

Cxplore 1.5.0

久しぶりにCxpを触ってみたので、
気づいた事とか戯言とか色々書いてみますね。^^;;

Windowのサイズを設定ファイルに保存していますけど、
X自身のSession Management機能を使った方がスマート。

Cxpmailですが、

実害は無いですけど、
From: 酒井 政裕 <hogehoge@fugafuga.org>
To: SAKAI Masahiro (酒井政裕) <hogehoge@fugafuga.org>
のようなヘッダのメールを出したら、
From: 酒井政裕   <hogehoge@fugafuga.org>
To: SAKAI Masahiro (酒井政裕 ) <hogehoge@fugafuga.org>
のように余計なスペースが入ってしまいました。

前にも書きましたが、「基本設定」は、
アカウント毎にも設定可能な方が良いと思います。

アカウント名が、サーバに送られるユーザIDになるのは
ちょっと混乱しそう。
(同じユーザIDで複数のサーバを使っていると、
同名のアカウントが複数存在することになる?)

ボックスは入れ子に出来ると便利。
というか、入れ子に出来なくても、ツリー状に表示出来れば十分ですが。

メーリングリストのメールの振り分けには、
To:のアドレスでの振り分けが出来ないと不便。
というよりも、任意のヘッダをユーザが指定可能であるべきだと思います。

ところで、メールボックスは何故独自形式なのでしょう?
多くのソフトが使っているMH形式等でも同等の事が出来るはずですし、
敢えて互換性のない独自形式にする必要は無いと思います。

あと、APOP, SMTP Auth, IMAP4, PGPへの対応、
検索, ソート、スレッドのツリー表示もTODOに欲しいですね。

Cxpappですが、MIME typeでの関連付けが出来るようになると、
将来CxpmailがMIMEをサポートした時に、楽に連係出来そうですね。
# 個人的には、拡張子をMIME typeに対応させて、
# MIME typeにアプリケーションを関連付けるようなアプローチが好きです。

Cxplorer上で、マウント/アンマウント出来ると便利そう。

Cxpbackup自体に「スケジューリング機能」を追加する必要ってありますか?
cronに登録出来れば十分だと思います。

10月19日 はれ

新聞で、「植物状態」と「脳死」を混同した投書があった。これが国民的議論をおざなりにした結果である。そんな状態の人がいる状況で、死生観に関わるような法律を決めたこの国は何なんだろうね。

センタ試験の出願書類を送った。納付書に住所を書き忘れていて、ピンチだった。郵便局から電話がかかって来たし。

parted

partedを文字コード非依存にするパッチに反応があった。嬉しい。でも、mbsrtowc()はメッセージカタログのcharsetを知らないという指摘はどうしよう。もちろん、こういうのはアプリケーションが対処する問題じゃない。将来のgettextは自動的にcharsetの変換を行うだろうし、それまではユーザ(かディストリビュータ)がlocaleのcharsetに変換したメッセージカタログを用意するというのが正しい。さて、どうやって説得しようか。Unicode-HOWTOを持ち出しても良いんだけど、せっかくUnicode非依存にしているのにUnicode-HOWTOを持ち出すのは癪だ。

10月20日 くもり さむーい

parted

libpartedのgtk+ベースのフロントエンドのGtk-Partedというのがある。その作者のDamien Genetさんに、gettext化されていなかった部分をgettext化する簡単なパッチとja.poを送った。

Electric Eyesが壊れた

急に、Electric Eyesが動かなくなって焦る。

[susho@localhost ~]% ee
convert: no delegate for this image format (/usr/share/pixmaps/).
convert: Missing an image file name.
convert: no delegate for this image format (/usr/share/pixmaps/).
convert: Missing an image file name.
gdk_imlib ERROR: Cannot load image: /usr/share/pixmaps/
All fallbacks failed.

Gdk-CRITICAL **: file gdkpixmap.c: line 63 (gdk_pixmap_new): assertion `(width != 0) && (height != 0)' failed.

Gdk-CRITICAL **: file gdkgc.c: line 51 (gdk_gc_new_with_values): assertion `window != NULL' failed.

Gdk-CRITICAL **: file gdkdraw.c: line 379 (gdk_draw_pixmap): assertion `drawable != NULL' failed.

Gdk-CRITICAL **: file gdkgc.c: line 288 (gdk_gc_unref): assertion `gc != NULL' failed.
(以下略)

[susho@localhost ~]% rpm -V ee 
..?.....   /usr/bin/ee

げげげ。おそらく、partedのキャッシュをフラッシュするアレげなコード(_flush_cache)かカーネル(linux-2.4.0-pre9)のバグ。再インストールしたら回復。と、dmesgを見たら、ヤバげなメッセージが・・・

attempt to access beyond end of device
08:03: rw=0, want=134742024, limit=2096128
attempt to access beyond end of device
08:03: rw=0, want=1887007861, limit=2096128
attempt to access beyond end of device
08:03: rw=0, want=1752397172, limit=2096128
attempt to access beyond end of device
08:03: rw=0, want=808333371, limit=2096128
attempt to access beyond end of device
08:03: rw=0, want=134742024, limit=2096128
attempt to access beyond end of device
08:03: rw=0, want=1887007861, limit=2096128
attempt to access beyond end of device
08:03: rw=0, want=134742024, limit=2096128
attempt to access beyond end of device
08:03: rw=0, want=1887007861, limit=2096128
EXT2-fs error (device sd(8,3)): ext2_free_blocks: Freeing blocks not in datazone - block = 134742023, count = 1
EXT2-fs error (device sd(8,3)): ext2_free_blocks: Freeing blocks not in datazone - block = 1887007860, count = 1
EXT2-fs error (device sd(8,3)): ext2_free_blocks: Freeing blocks in system zones - Block = 49, count = 1
EXT2-fs error (device sd(8,3)): ext2_free_blocks: bit already cleared for block 12656
EXT2-fs error (device sd(8,3)): ext2_free_blocks: Freeing blocks not in datazone - block = 1752397171, count = 1
EXT2-fs error (device sd(8,3)): ext2_free_blocks: Freeing blocks in system zones - Block = 111, count = 1
EXT2-fs error (device sd(8,3)): ext2_free_blocks: Freeing blocks not in datazone - block = 808333370, count = 1

fsckしたら多量のFixが必要でした、はい。壊れたファイルがカーネルだったと思うと、ぞっとするよ。

10月21日 はれー あつーい 後に曇

parted

partedを文字コード非依存にする例のパッチが1.4.0-pre3に取り込まれた。わーい。Gtk-Partedのパッチとja.poも、取り込むという返事をDamien Genetさんから貰えた。

真の国際化のためにはstr_list_print_wrap()もwcswidth()を使うように書き換えなくちゃ。でも、str_list_print_wrap()を見ていると頭がこんがらがって来るよ〜。(泣)

ところで、誰か、*BSD対応にしませんかね? Linux依存部分って何箇所かあるけど、BSDを使っている人なら簡単に移植出来そうな気がするんだけどね〜 Linux依存のコードは、具体的には以下の通り。

借りた本

10月22日 曇

午前中に英検準一級の試験を受けて来た。最後の長文の「Reenacting: Northern Blue vs. Southern Gray」が難しかった。リスニングは前よりは出来たはず。っていうか前がひどすぎた。それと、並びかえの問題を何問か落としたのは痛いな。結局、前回と大差無いんじゃないかと思う。

弟と親父は映画の「X-MEN」を見て来た。俺も見に行けば良かったかな。

『NHK スペシャル「世紀をこえて -インターネット 公開技術の衝撃-」』というのをテレビでやってた。あまり気持ちの良い内容ではなかった。

Cxplorer 1.5.0 のレポート第2段。^^;

> Windowのサイズを設定ファイルに保存していますけど、
> X自身のSession Management機能を使った方がスマート。

これはあまり関係ありませんでした。
すいません。_o_

> Cxpmailですが、
(snip)
> あと、APOP, SMTP Auth, IMAP4, PGPへの対応、
> 検索, ソート、スレッドのツリー表示もTODOに欲しいですね。

さらに言えば、SSHへの対応も欲しい鴨。
ところで、gtk+ベースのメーラとしてはSylpheedが良くできているので
結構参考になるんじゃないかとと思います。

Cxplorerのファイル情報のダイアログに
「ファイルを作成した日」というのがありますが、
stat.st_ctimeはファイル作成時刻ではなく、attributeを最後に変更した時刻です。
「アクセス権情報」の部分はSUID, SGID, Stickyも編集出来た方が良いですね。

それと、2.0ではRCSやCVSの操作をCxplorerに統合しませんか?
シームレスにこれらを操作出来たら最高にCoolですよ。

ところで、一時ファイルの作成はもっと気を付けて作らないと
セキュリティホールになります。(symlink攻撃)

10月23日 雨

喉が痛い。弟に風邪を移されたかも。

Cxplorer 1.5.2

あ、また、セキュリティホール(?)見付けました。$(HOME)/.cxp/net.cfgのパーミッションが-rw-r--r--になってました。パスワードが含まれているファイルのパーミッションは明示的に設定しないとまずいです。(umaskの設定に依存しちゃまずい)
# そういえば、シーザー暗号って子供のころを思い出します。^^;;

parted

str_list_print_wrap()の文字落ちを直すパッチを送った。このパッチは、例の文字セット非依存化パッチの残りの部分。

partedをjaなlocaleで使おうとすると以下のような非常に情けない表示になります。(手元にあるupdate中のstrlist.cとja.poを使っているので、微妙に違うけど気にしないでね。) とりあえず、これについて解説しておきます。結論から言うと、「文字数 = カラム数」という仮定をしているのが原因です。(parted/strlist.c参照) そのせいで改行位置が誤った位置になってしまいます。解決するにはwcswidth()を使って文字列の幅の計算を国際化すればOK。ただし、glibc-2.1.xのwcswidth()が壊れている(日本語の文字が含まれていると常に-1を返す)ので、現状だと下手にwcswidth()を使う方が危険だったりします。どうしましょ?

[root@localhost susho]# /sbin/parted /dev/hda
GNU Parted 1.4.0-pre3
UNSTABLE DEVELOPMENT VERSION
RECOMMENDED FOR EXPERIMENTAL AND DEVELOPMENT USE ONLY!!!

Copyright (C) 1999-2000 Andrew Clausen, Lennert Buytenhek, 酒井 政裕
and Red Hat Inc.
Translations are Copyright (C) 1999-2000 Free Software Foundation, Inc
このプログラムはGPLに基づいたフリーソフトウェアです。

本プログラムは有用とは思いますが、頒布にあたっては、市場性及び特定目的適合性に
ついての暗黙の保証を含めて、いかなる保証も行いません。詳細についてはGNU 一般公
有使用許諾書をお読みください。

GNU Partedの開発はConectiva(www.conectiva.com)によって援助されています

/dev/hda を使用
警告: OSは/dev/hdaのgeometryを62147/8/17だと思っています。したがって、1024シリ
ンダは68Mで終ります。このプログラムを使う前に
BIOSのgeometryと一致するか、確めてください。
(parted) help set 
  set MINOR FLAG STATE          MINORのフラグを変更します

        マイナー番号はLinuxカーネルによってパーティション番号として使われます。
基本パーティション番号は1から4までで、論理パーティションは5以降で
        す。
        FS-TYPE は次のうちのどれかです: boot, root, swap, hidden, raid, lvm, lba
        STATE は次のうちのどれかです: on, off

あ、英語のやつも載せないと比較できないですね。^^;;

[root@localhost susho]# LANG=POSIX /sbin/parted /dev/hda
GNU Parted 1.4.0-pre3
UNSTABLE DEVELOPMENT VERSION
RECOMMENDED FOR EXPERIMENTAL AND DEVELOPMENT USE ONLY!!!

Copyright (C) 1999-2000 Andrew Clausen, Lennert Buytenhek, Masahiro Sakai
and Red Hat Inc.
This program is free software, covered by the GNU General Public License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU General Public License for more details.

GNU Parted's development is supported by Conectiva, www.conectiva.com

Using /dev/hda
Warning: The operating system thinks the geometry on /dev/hda is 62147/8/17.
Therefore, cylinder 1024 ends at 67.999M.  You should check that this matches
the BIOS geometry before using this program.
(parted) help set
  set MINOR FLAG STATE          change a flag on partition MINOR

        MINOR is the partition number used by Linux.  The primary partitions
        number from 1-4, and logical partitions are 5 onwards.
        FLAG is one of: boot, root, swap, hidden, raid, lvm, lba
        STATE is one of: on, off

10月24日 火曜 晴れ

KDE2.0が遂にリリースされたらしい。Citrusで色々進展しているみたい。

parted

やっぱり、{行頭|行末}禁則文字の文字クラスは欲しいな〜 (> glibc) 名前は"bol_prohibited"とか"eol_prohibited"みたいな感じですかね。直接、iswctype() および wctype() が使えると便利だもんね。たしか、HP-UXには似たような文字クラスがあると聞いた事がある。

BSD disklabelのサポートの話が盛り上がっている。1.4に入るかどうかは微妙だな。disk labelをネスト可能にする汎用的な仕組みをいれるのが理想。だけど、MS-DOSディスクラベルの拡張パーティション上にはBSD disk labelを作っちゃいけない、といった制約もあるので、そのあたりをどうやって扱うかが問題。一番簡単なのは、ユーザにhda1みたいなデバイスを指定させること、Yuckyだけどね。

そうそう、BSDディスクラベルは、MS-DOSディスクラベル上だけじゃなくて、PC-98やMACのディスクラベル上にも作れるんだと言うことを説明しないとなぁ〜

Gtk-Partedを見ていたら、僕もフロントエンドを書いてみたくなってきた。例えば、cursesやslangベースの画面指向のコンソールアプリケーションとか…

10月25日 水曜 曇のち雨

む。また寝坊した。昨日に続いて起床は12時。X-MENを見に行こうかと思ったが、雨が降ってて面倒臭いので止めた。

iconv

「EUC-KR → ISO-2022-JP-2」みたいな変換をするときに、UCS4経由で変換するのは、やっぱり気持悪い。この辺を考慮したiconvライブラリがLinuxにもあると嬉しいな〜 と思った。

parted

wcwidth()/wcswidth()を使うようにする似而非パッチを用意。ただし、glibc-2.1.3じゃ、日本語の扱いは全然改善しないけど。ふっ。

10月26日 木曜 晴れのち曇

Ruby/Gtkのサンプルプログラムを眺めている。Rubyってこういう書き方が出来るのか〜と感心。signal_connectがブロックで書けるだけでも惚れてしまいそうだ。

"Linux-Kernel Archive: FAT filesystem" の 1996/10/03 #0129」を読んで、Windowsが自動的にscandiskを実行できるわけを知った。

10月27日

parted

アップデート中のja.poと98bs組み込み版を公開。ja.poのアップデートはja@li.orgの翻訳チームと連絡を取るべきなのかな〜

10月29日 日曜 雨

Kちゃんの結婚式のビデオを見た。TVでやってたSPIDERS(?)ってのが恐かった。夢に見そうだ。

parted

FreePascal

h2pasは列挙型の扱いが弱いな。例えば、以下のコードはparted-1.4.0-pre4のinclude/parted/exception.hのコードだけど、こういうのをh2pasはうまく処理できない。Pascalだと列挙型同士の加算みたいな概念が存在しない。Cだと(少なくとも構文上は)違うもんな。Pascalなら、こういう目的には普通は集合型を使う。

enum _PedExceptionOption {
        PED_EXCEPTION_UNHANDLED=0,
        PED_EXCEPTION_FIX=1,
        PED_EXCEPTION_YES=2,
        PED_EXCEPTION_NO=4,
        PED_EXCEPTION_OK=8,
        PED_EXCEPTION_RETRY=16,
        PED_EXCEPTION_IGNORE=32,
        PED_EXCEPTION_CANCEL=64,
};
typedef enum _PedExceptionOption PedExceptionOption;
#define PED_EXCEPTION_OK_CANCEL     (PED_EXCEPTION_OK + PED_EXCEPTION_CANCEL)
#define PED_EXCEPTION_YES_NO        (PED_EXCEPTION_YES + PED_EXCEPTION_NO)
#define PED_EXCEPTION_YES_NO_CANCEL (PED_EXCEPTION_YES_NO \
                                                + PED_EXCEPTION_CANCEL)
#define PED_EXCEPTION_IGNORE_CANCEL (PED_EXCEPTION_IGNORE               \
                                     + PED_EXCEPTION_CANCEL)
#define PED_EXCEPTION_RETRY_CANCEL  (PED_EXCEPTION_RETRY + PED_EXCEPTION_CANCEL)
#define PED_EXCEPTION_RETRY_IGNORE_CANCEL (PED_EXCEPTION_RETRY          \
                                           + PED_EXCEPTION_IGNORE_CANCEL)

10月30日 月曜

partedのcopyrightをFSFへ移す事への同意書(?)をAIR MAILで送った。

10月31日 火曜

parted

parted-1.2.12-pre3とparted-1.4.0-pre5が出てる。1.4.0-pre5には「merged in changes to 1.2.12-pre3」と書いてあったのに、str_list_print_wrap()の文字落ちを直すパッチが入ってないぞ。アレレ。

あ。あと、Gtk-Partedの新しいスナップショット(20001030a)が出てます。僕が送った、若干のgettextizeとja.poが取り込まれています。fr.poも新しく追加されてます。ped_device_probe_all()が僕の環境(Linux 2.4.0-pre9-pc98)のバグを直撃して悲惨な事態を招くので、テストはできてません。

Ruby

今日で2日目。多少は慣れて来たので拡張モジュールでも書くかな。