優雅な生活の設計と実装

The Design and Implementation of the Gracious Days


LAST MODIFIED: 2002/02/03 07:36:04 UTC

新しい秩序の確立は、他の何にも増して難しく、
成功する可能性が低く、危険な事業である。
改革者は旧秩序から利益を得ている
全ての者を敵にまわし、
新秩序から利益を受けるはずの者からは
及び腰の支持しか集められない。
--- Niccolo Machiavelli, The Prince

この種の「保護」は初心者を保護するかも知れないが、
熟練ユーザを窮地に追い込むことになる。
というのは、何が親切であり、何が適切でないかかという
オペレーティングシステムの考え方の裏をかくことばかりに
かなりの労力を費やさなければならないからである。
--- A.S.Tannenbaum, Modern Operating Systems


不定期更新の日記です。ディスクスペースの関係上、 あまりに古くなったものは順次消していきます。 この日記の更新は、今野さんの *BSD Diary Links から取得することが可能です。

October 1999

Monday, October 25

CVS のお勉強を兼ねて Project localsync(思いつきで命名) 発動中。 動くようになったことはなったけど、 構造が美しくないのでまだまだ改良が必要。 とりあえず cron で 3 時間おきくらいにまわして更新させてみよう。

Tuesday, October 5

FreeBSD/i386 でつくった Berkeley DB ファイルがが IBM-AIX と SunOS5 で読めないなー、 と悩んでいたけど、エンディアンネスのせいじゃないかなということで納得。 PowerPC と Sparc は同じだったかな… DB ファイル自体に互換性がないなんてことはないんだろうけど、調査不足かな。

Monday, October 4

東海村の事故はひどかったけど、これで原発批判が再燃するんだろうね。 でも、動燃の時も単に管理がいい加減、というところが一番ネックなのに、 「だから原子力は危ない」というような論調はどうかなぁ。

September 1999

Wednesday, September 29

システム移行中です。かなり大きく改変したのでまだまだ不安定かも。

Monday, September 27

TINI というワンボードコンピュータを見つけた。 Embedded Java 搭載、Ethernet インターフェイス装備に加えて TCP/IP を喋るという高機能ながら、$50 という値段。 暇ができたら注文してみよう。

Friday, September 24

make をちゃんと覚えようと思って、 このウェブページの生成をプリプロセッサ + Makefile で行なうようにしたのは良いけど、どうも使いづらい。 まあ、慣れていないだけなのかも知れない。

Tuesday, September 21

電気科資料集の操作性を向上させるため、 複数資料の同時取得を可能なシステムに改良。 これは元々、かなり前から計画のうちには入っていたんだけども、 実現の仕方が良く分からなかったので先送りになっていたもの。 pstops でできるかな、と思ったらダメ、 psmearge というのがあるらしい…で調べたらうまく動かない、 psmulti というのもあるらしい…これもダメ。 結局、PostScript ファイルを解析して結合ルーチンを作成することで解決。 ただし、div2ps only。汎用のツールに仕上げるにはページ毎に *完全に* 解釈して、page independent な PostScript にしなければ不可能だと思う。

まず、単純に繋げても前半しかみてくれない。 ページ番号が %%Page で管理されているようなので、 これを変更して連番にしてみると gv で確認した時にページ番号がちゃんと出る。 でも、表示しようとすると正常な表示にならない。

dvi2ps で出力した二つの文書の diff -u をとってみると、 セクション構造のうち、BeginSetup までは全く同一なのが分かる。 多分、ここで何か定義を行なっているのだろう、と推測。 このセクションは各文書に存在するのに対して、 そのまま結合すると f0 とか f1 といった記述が重複してしまうので、 この識別子を変更してやるという方針で考えが決まった。

この定義はどういう風に働いているか分からないけれど、 マクロみたいなものだろう(多分)。 %%Page の後ろにも出てくる。 この定義を f0+(ページ番号) に書き換えて、 後ろもそれに合わせるようにすると、ようやく表示。 めでたい。

今のところ、不具合は出ていないので大丈夫だろうと思う。 PostScript の本って高い…。結局買わなかったけど。

Sunday, September 19

ああ, 後期が始まる…

with *BSD

理科大ダイヤルアップ ID 接続の不具合(1999.09.19 現在)をメモ。

どこにどうやって報告すれば回答が得られるのか、未だに良く分からない。

Saturday, September 18

妙に高校生が多いなぁと思っていたら、 今日は理科大でオープンキャンパスをやっていた。

with *BSD

最初は不安があったネットワーク環境も、安定して動作しているので満足。 サーバの連続稼働時間は

 delta.hrs.jp:hrs% uptime
 8:49PM  up 26 days, 12:30, 2 users, load averages: 0.07, 0.05, 0.03

といった感じ。POP3,SMTP,HTTP,NNTP の処理という重労働を課しているけど、 Perl を使うとき以外はほとんどストレスを感じない。

Thursday, September 16

with *BSD

doc-jp の翻訳をちょこちょこと。作業環境が充実すると良いんだけど。

Mule で font-lock の設定をいろいろと調節。 cperl-mode と cc-mode に関連付けるとこまでは OK。 GNUS と Mew は設定方法が良く分からない…。 背景が royalblue なので、tomato とかやられると全然読めなくなっちゃう。 佐藤が色盲だというせいもある。

Tuesday, September 14

日記の生成方法を変えたので、過去のものは消しちゃいました。 情報量ゼロなので特に痛くないかな。

理科大・野田のダイヤルアップ IP 接続について sut.service.dialup にも書いたけど、誰も反応してくれる人はいなさそう。 症状は、野田のルータが MRU 1524 を名乗るくせに 1500 しか通さないこと。 おかげで大きいデータは毎回 IP フラグメント(1460+24)が起こるので、 TCP の性能がフルに出ない。 大抵、相手側が MSS 1460 としてくることが多いので顕在化しにくいとは思うけど…

パス MTU discovery すれば良いって? いや、(PPP の)LCP 交渉で MRU を 1524 なんて提示するのがおかしいんじゃないかと思うところまではいったのだけど、真相は不明のまま。

というわけで回避法。FreeBSD で user-ppp を使っている人は、 /etc/ppp/ppp.conf に

set mtu 1500

と書いておくと幸せになれます。

with *BSD

正式リリースが出たので、Mew と IM のバージョンアップを行ないました。 それぞれ 1.94, 1.30 です。 ports の構成がちょっと変更されていました。

最近買った本

make ってちゃんと勉強したことなかったので勉強中。 依存関係を完全にトレースするのは自分でやらなきゃダメなのかぁ。 html ファイルの生成は自作プリプロセッサを使っているけど、 make を組み合わせて機能を単純化させてみようと思案。

Saturday, September 4

最近買った本

200yen は書き間違いでも何でもなくて、 秋葉原のワゴンセールで『水濡れ品処分』の中に混じっていたもの。 ちょっと表紙あたりがヨレヨレなだけで実用には差し支えない。 おとくな買いものだった。

良く、VB とか Java とか Perl とか、 世情にのっとってポコポコ本を書く人がいるけど、 本当にちゃんとした経験を持って書いているか疑わしいよね。 こんな分野の違う本を一人が書くのは、よほど有能でないと無理だと思うので そういう著者は佐藤的に評価が低い。 ハーバート・シルトも結構すごい数の本を書いてるけど、 全部 C/C++ 関連という点が違う。

with *BSD

Mule のキーバインドを調整。どうも toggle-egg-mode のつもりで C-/ を 押してしまうので、Undo! を無効に。 未だにタッチタイプができないけど、そろそろ本気で覚えようかと考え中。

amd のマップファイル設定のドキュメントってほとんどないみたい。 texinfo ファイルをちょこちょこ翻訳しているけど、需要あるかな? NFS&NIS のやつは古いのであんまり参考にならなかった。 でも、原理や構造は詳しく載っているので一見の価値あり。 こだわりが感じられるのは伝送路の話。電気工の専門分野だけど、 ソフトウェアの本でお目にかかるとは。

前回の hrsCGI.pm はもうガタがきていて使う気になれないので、 新たに CGI プログラム用ライブラリ tinyCGI.pm を進行。 …って、元々 CGI.pm のあまりの遅さに我慢できないのが原因なんだけど。 Perl5 の de-reference で何度かはまる。うーん、難しい。