葉山文書
7/26〜8/13の寝言篇
目次へ

KAOL をベクターデザインにアップロードしました(8/30)

って、タイトル通りです。OS/2 には less とか、PM用のページャとかが あるから、そないに需要がないからと思って、今まで放っておいたのですが、 ELL のページャとして使える、標準入力からの入力を表示できるものが less以外、あまり無いというお話を聞いて、開発から一年ほど過ぎた今になって アップロードした次第です。(KAOL というネーミングは、 ちょっと DOS の MIEL を意識してます)

そういえば DOS風のコマンドラインツールが OS/2 には少ないですね。 OS/2はVDMが強力だから不要なのかもしれませんが、 やはり、HPFSのロングネームは使いたいし、この手のツールがもうちょっと必要ですね。 むしろ、この手のツールの方が emx/gccもあることだし、 作りやすいと思うのですが、なんで少ないんでしょうね?!

いつになるかは分かりませんが、個人的にはUNIX風のキーバインドを持った FD 風のツール、 ちょうと FDclone みたいなソフトを作ってみたいですね。 ただ、ネックは時間で...

NYAOSの開発状況の報告はどうしたんだ!(8/30)

ここは本来、NYAOSの開発の進行状況を書くページのはずなんですが、 なにやら、OS/2 の不満・不平をぶつけるページになりつつあります。 チェックしてくださる方々、どうもすみません。

ええとですね、まず 1.24での落ちるバグはとれています。 そして、SOSスクリプトは SCRIPTPATH 上に置いておけば、 拡張子を書く・書かないに関わらず実行可能になりました。 これで、DOS・OS/2共用のスクリプトを書くことができます。 ただ、入力されたファイル名と、それに「.COM」を 末尾に追加した名前、それぞれについて、SCRIPTPATH を走査しているので、 ちょっと効率がよくありません。

これにあと、DOSVPATH を追加して、1.30 として公開しようと思っているのですが、 なかなか時間がとれず、先週くらいから、開発が停止してしまってます。 DOSVPATHについての仕様も固まっていないし、とりあえず、 これは放っておいて、1.25 として公開した方がよいでしょうかねぇ。 1.30 は xterm 対応を目玉にするため、まだおいときましょうか... しかし、未だ XFree86 さえインストールしていないという... ほんとにできんのかなぁ(と手を見る)


開発環境(8/30)

NYAOS は、基本的に emx/gcc だけで作っています。 で、他はな〜んもなし。

PMアプリを作るには、Visual Age C++ とかが必要なんでしょうが、 結構、値がはるし、プロやないんやから、趣味のプログラミングに そこまで金をかけるのもね〜という意識もあって、 ちょっと買うつもりはありません(社会人になると考え変わるかも)。

(補足)
 emx でも PM アプリは作れるそうです。ううむ、思い込みはいかんなぁ...

ですから、NYAOS というプログラムの性能は、基本的に emx/gcc の ライブラリで制限されてしまうわけなんですよね。 ですから、どうしても出来ることと出来ないことがありそうで、ちとくやしい。 その点、PC-UNIX なんかは、開発環境が全てひっついてくるのがうらやましい。 でも、XFree86 for OS/2 なら、emx だけで Xウインドウアプリが作れるかな?

まぁ、それはそうと、OS/2 は フリーソフトが少ないですね。 舶来ものは一見多いように見えて、ほとんどはシェアウェアだったりするし、 コンソール系のやつは、AXの呪いで、罫線が全てカナに化けて、 みっともないのが多いです。一度、AFONT で、カナのところを全て罫線に置きかえた fontxフォントにしたことがありますが、WPS 内で半角カナを使って いるところが思ったより多かったので、結局やめました。

日本のフリーソフトは、多くの作者が「OS/2を広めねば」という 志を持っているのかどうかは知りませんが、シェアウェア率は 低いようです。しかし、絶対数が少ないのが、いかんともしがたい... Pack for Win を読む限りでは、Windows版ならば同じような ツールでも必ず2,3個存在していたりするんですよね。 まぁ、JAVAもいいですけど、OS/2 を普及させたいんだったら、 開発ツールを安くすることが必要ではないでしょうかねぇ。

ところで、emx のバージョンはいつになったら、「0.9」から「1.0」 になるんでしょう?


REXX嫌い(8/30)

OS/2 のセールスポイントとして、みなさん、よく REXX をお勧めになるんですが、 僕は REXX がどうもうまく使えない人間なんです(;_;) 理由として次のような点があります。

いろいろけなしましたが、REXX というのは、良きにつけ、悪しにつけ、 BASICみたいな言語だと思います。
 あと、文法にも不可解な点が多いんですよ。 多重分岐というのは、C言語のswitch〜caseのように 式の値に対して、該当する値を持った case ラベルに分岐するように 作るものですが、REXXのそれ(select〜whenだっけ?)は、 条件を数並べたもので、単にIF文にELSE IF をたくさん並べたものと変わりません。 DO〜END も中括弧に対応させているのだと思いますが、これも IF文で使うとき、 ちょっと見苦しく感じます。まだ、Fortran の方がましって感じです。
 僕の感覚っておかしいでしょうか?
(補足)
 書き殴ってから、その後、ちょっと反省しました。 まぁ、僕は Perl とか C言語に毒されすぎなんでしょうね。 上で書いたことは、かなり偏見入ってると思います(笑)。
 いや、使いこなせれば、ものすげー便利な言語に違いないと思うんです。 その言語一つで、ノーマルなREXX以外にも、Dr.Dialog とかも使えるように なるでしょうし、PC-DOS 7 でも利用できますし。 しかし、使い易い(安い!?)リファレンスマニュアルが無いもんで、 つい、いらついて投げ出してしまうんです。(;_;)
 やはり、言語一つをマスターするならば、 ちゃんとしたマニュアルを買わねばいけないかなぁ... それなりにお金をかければ、元を取り返さねばと一生懸命になるんですけどね。

XFree86(8/28)

XFree86 の xterm 上で、NYAOS が動かないようです。

まぁ、普通、OS/2 ネイティブのソフトが、そのまま xterm で動く なんていうことは無いだろうから、あたりまえと思うのですが、 NYAOS では極力移植性を考えて、 v_****系のVIO関数の使用を控え、できるだけ printf と BACKSPACE などに押さえていただけに、「あとちょっと、何かが 足りない、惜しい」という心境です。

実際のところ、タイトルの表示に ESC[2J ESC[1H などを実は使っていました。 この他、color-ls や prompt の $I でもエスケープシーケンスを使っていますが、

      alias ls="ls -o"
      option -vio
などで、抑制できるはずです。しかし、画面表示が原因ではなさそうな雰囲気。

僕自身は、まだ XFree86 をインストールしていないので、 何とも言えないのですが、あるXに詳しい方によると(筑波の宇野さんです(^_^;)、 どうもキーボード関係で凍っているのではないかとのこと。 単純に read_kbd 関数を使っているのですが、これがどうもまずい模様。

しかし、何はともあれ、XFree86 の xterm 上で動かすと公言した以上、 XFree86 をまずはインストールしなければ。 だ、だが、時間が....。今、秋季大会の用意で、 三日ほど、大学に泊り続けているのですよ。誰か助けてくれぇ... (今日、帰りますけどね^^;


ELL の思わぬ問題、これはうかつだった!(8/24)

ELL というプログラムは、書庫の内部になる、書庫を参照することができます。これは書庫を解凍してから、再帰的に自分を呼び出しているからなんですが、どうも、環境変数PATH に ELL のあるディレクトリがないと、起動に失敗するようです。

おそらく、ソースでsystem("ELL ...")って感じで、自分自身を呼び出していたと思うのですが、絶対パスで起動すると機能が利用できないというのもおかしいし、これではバッチファイルから使用することもできないので、ちゃんと自分自身の絶対パス名を取得して、それを使って起動するようにしたいと思います。

あと、ELL の tips になりますが、標準入力に対応していないページャーは、ell.prm の最後に「!*;エディタ名」という行を追加すれば、(たぶん)利用可能となります。ただし、[RETURN]キーで起動する場合で、「v」では駄目です。


また、致命的バグ、すみません(8/21)

とほほ。また、致命的バグを出してしまいました。

展開順序を入れかえた時に、書き込むバッファを入れかえるのを忘れるという... だから、スクリプトを実行したり、「&」を末尾に書いたり、 「&&」などを使うと、NYAOS が落ちてしまいます。

また、機能を追加して、うかれてしまって、十分なチェックを怠ってしまいました。 とほほ。いつまでたっても安定版にならないなぁ...

ちなみに、今、手元のバージョンでは、1.24のデバグは済んでいるのですが、 思いきった機能拡張に踏み切ってしまって、公開するにできない状況になってしまいました。 人の迷惑省みずですね。まぁ、その前の 1.23 も 公開したのが 10日くらい前なので、 まぁ、当分 1.23 で我慢していただくということで、お許しくださいませ。

(一応、一ヶ月に一回をバージョンアップのペースにしているつもりですが、 化学工学会秋季大会の準備や、後期試験(^^;)で忙しくなるので、 次の 1.25(もしかしたら、1.30)は、だいぶと後になりそうです)


TVFS導入(8/19)

OS/2 mag.の特集で取り上げられていた、TVFS を導入しました。

この TVFS、以前にも使ったことがあったのですが、その時は ファイルのシンボリックリンクが主に欲しかったので、 リンクの数に上限のある(といっても100以上はあると思うが)TVFSは ちょっとなーと、その時は敬遠しました(使い方も悪かったし、勘違いしていました)。

最近になって、HDを増設したのはいいんですが、PureDOS と OS/2 で ドライブ文字が違って混乱するような状況になりまして、 ディレクトリのリンクを自由に張れるという点で TVFS が必要になりました。

久しぶりにインストールしてみると、どうも TVSAVE がハングしたりするんで、 一度、使用をあきらめていました。 そこへ OS/2 mag. が特集をしてくれて、設定すべき、オプションが分かりました。

    tvctl -Dw
しかし、推奨の設定は普通、オプション無しのデフォルトにするよなぁ。

TVFS.INF をよく読まなかった言い訳になりますが、 VIEW.EXE って使いづらいんですよね。 画面いっぱいにウインドウを開いてしまって、 マニュアルを見ながら作業するっていうのが非常にしにくい。 いったい、IBMは何を考えているんだか。 しかも、強調も(ハイパー)リンクも同じように青い文字を使うし。 はっきり言って、INF形式なんぞ廃止してしまって、ヘルプも何も 全て html で供給して、ブラウザで見るようにした方が、よっぽどいいと思う。

結局、e:\startup.cmd に次のように設定しました。

    tctrl -Dw
    tvmount z:
    tvlink -rw z:\usr e:\usr
    tvlink -rw z:\pool i:\pool
    tvlink -r  z:\bin e:\usr\bin
できれば、フロッピー(a:)や、CD-ROM(j:) とか ZipDrive(k:) とかも
    tvlink -n -d -rw z:\floppy a:\
    tvlink -n -d -r  z:\cdrom  j:\
    tvlink -n -d -rw z:\zip    k:\
とリンクできたらいいんですけどね。 それぞれ、メディアを入れている時でないと、リンク張れないみたいです。 volcheck.cmd とか eject.cmd とかを用意するという方法もありますが...ね。

コメントとロングネーム(しつこい)(8/16)

カレントディレクトリ以外のディレクトリに対する eadir で コメントやロングネーム (WPS上での名前)が全く表示されないバグがあったので、修正しました。

ついでに、今までコメントやロングネームが低輝度の白(灰)で表示されていて、 あるのか、ないのか分からないので、この際、コメントは青地に白、ロングネームは 赤字に白という目立つ色で表示されるようにしました。まぁ、これは趣味も あると思うので、 LS_COLORS に新たに「cm」と「ln」という項を追加して、カスタム可能にしました。
(なるべく早く公開します)

こうやって、eadir を改良すると、いつも、ついやってしまいたくなるのが、ディレ クトリやアーカイブにメモをつけまくることですが、内蔵コマンドの comment とか eadir とかは、ちょっと打ちにくい。そこで、

    alias ll="eadir %*"
    alias memo="comment %*"
という2行を自分の ~/.nyaos に追加しました。

しかし、せっかくコメントとかを簡単に書き込めても、テキストファイルの拡張属性 は簡単にエディターに消されてしまうのが、悲しすぎるますな(我ながら、しつこい)。

唯一、拡張属性を維持してくれる 奥村版 jstevie は、 初期設定ファイルとしてカレントディレクトリの./stevie.rcしか読んでくれない ようで、失望(これは stevie 自身の特徴かもしれないが...)。 ~/stevie.rc や%EXINIT%も読んでほしかった。

やはり、UNIX から移植されたプログラムは拡張属性に冷たいなぁ。


タイトルをGIFにしました

こんなことしている暇ないんだけどなー(笑)。 タイトルをGIF画像にしました。基本的に
]]  ]] ]]  ]]  ]]]]   ]]]]   ]]]]]  
]]] ]] ]]  ]] ]]  ]] ]]  ]] ]]    ] 
]]]]]]  ]]]]  ]]]]]] ]]  ]]   ]]]   
]] ]]]   ]]   ]]  ]] ]]  ]] ]    ]] 
]]  ]]   ]]   ]]  ]]  ]]]]   ]]]]]
というタイトルロゴの非空白部分を単に単一の赤い丸のGIF画像に置きかえただけです。
  1. JavaScript
  2. Perl で、鬼のような<td><img src="dot_red.gif"></td>の山を吐き出させる。
  3. 一枚板 gif ファイル
と考えて結局、単純な一枚板 GIF にしてしまいました。あと、履歴を別のファイルにして、最新バージョンの特徴だけをホームページの頭に移動しました。
(2000/4/29)注
現在、本ページより GIF 画像を一掃したため、現在、表示させているのはPNG画像です。

さらに過去の余談へ