葉山文書
11/15〜12/25 の絶叫篇
目次へ

xterm なんとかしたぞ(12/24)

1.33 を公開しました。で、前々からアナウンスはしていたが、 いつになるか見当もつかなかった xterm クライアントについに対応 できました。
 XFree86 は何とかインストールはできたものの、設定のどっかが悪いのか、 なぜか VGA のまま。それと、一度、Xを起動すると、PM に戻ってこれない。 まぁ、Ctrl+Alt+Delete で正常にシャットダウンだけはできるので、 構わずに NYAOS のデバッグを始めました。
 下で、/dev/tty を開くと書いていましたが、VIO の場合は大丈夫なのですが、 xterm では open せず、既存のファイルハンドル2番を使うのが正解だった ようです。
 それと困ったのが、日本語のファイル名を ls しようとすると、 必ず落ちてしまうことです。これは調べてみると、XFree86 に関係なく、 どうもコードページが 437 の時に日本語ファイル名を見付けると、 DosFindFirst/Next が凍ってしまうようです。 これは、NYAOS に限らず、外部ls でも make でも同様の症状が見られました。 これは DosFindFirst/Next を実行する時だけ、コードページを一時的に 変更することで対応しました。
 意外だったのが、color-ls の色がそのまま使えることでした。 xterm と ANSI.SYS のエスケープシーケンスは大部分共通だったんですね。 違うのは xterm の ESC[2J で、カーソルがホーム位置に移動しないくらいです。
 ひとつ、未解決のトラブルがあります。NYAOS 上で「xterm &」を実行した時に TERMCAP が設定されていない等で、正常に新たな xterm が起動しなかった場合、 NYAOS の入力ルーチンが腐ってしまいます。まぁ、それほど致命的でもないので、 今のところ、放ってあります。

聞くところによると、平松さんの手で、kterm の porting が進んでいるようです。 我ながら、タイムリーだなぁ。kterm でも NYAOS がうまく動けばいいが。

≡★

OS/2 magazine に、付箋紙プログラムの決定版として WarpNote を紹介していた。 「めもめも/2」を差しおいて、決定版はないでしょー。

宇野さんの「独り言」のページより
 ははは。まぁ、僕の事は気にせず、Meeting の話はすすめてください。 当分、東京に行く予定はありませんし…。
 ディレクトリの切り方の話ですが、あてになるのは ~:/usr/local くらいだということでしょうかね。 でも、これは UNIX 系フリーソフトだけのディレクトリにしたいし。 結局、決め打ちはよくないってことになりますか。

ところで「〜:」っていう文法は、NYAOS 1.33 only ですから。 知らない人が見たら分かりませんね(笑)


ferrari6 大復活(12/23)

ついに ferrari6 復活しました。まだ、ちょっと不安要素もありますけど。 いやー長い道のりだった。 というわけで、NYAOS の Web Page は

http://www-mpe.cheme.kyoto-u.ac.jp/hayama/warp/nyaos.html

に戻ります(www-mpe は ferrari6 の別名です)。メイルの方は

kaoru@cheme.kyoto-u.ac.jp

のままでいいです。面倒だから。

≡★

xterm 対応作戦は、ぼちぼち進んでいます。
 とりあえず、/dev/tty を open するやり方で VIO 上では正常に動くように なりました(最初、RAWモードにしなければいけないのが分からなくて、少々、 迷いましたが)。
 このまま公開してもいいんですが、やはり実際に xterm 上で動かさないとと いうわけで現在 XFree86 のインストール作業をしています。前に止まっていた OS/2 のネットワーク機能のインストールはクリアできそうですし、 何とか2,3日中には、NYAOS 1.33 を公開したいもんです。

xterm なんとか、なるかな?(12/20)

Altair★さんがWebページ上で、jless の xterm 対応版を発表されているのを発見。 _read_kbd関数を使わず、UNIXと同じように open で /dev/ttyを開けば、 xterm 上でキーボード入力が凍るのを回避できるようです。 とりあえず、1.33 にそのコードを書いてみて、 VIO でも問題ないようだったら、そのまま公開しようと思いますので、 xterm 上での動作チェックよろしくお願いします > みなさま。 (僕が、XFree86 をさっさとインストールすれば済む話なんですけどね)

あと、ちょっと前から気になっていることがあるんですけど、 98シリーズで NYAOS を使ってられる方はいらっしゃるんでしょうか。 もし、おられたら「動いてるぞー」とか「動かんぞー」とかメイルください。

≡★

やっと、OS/2 magazine を買う。をぉ、ELL に4行、NYAOS に3行、 説明に誌面が費やされている。 「tcsh ライクな完全日本語対応コマンドシェル」と 00_INDEX.TXT にもありますねぇ。 ソースもちゃんと収録してあるとは。 これで、全国からソースのパッチが僕のところへ.... って、C++ なんぞで書いてあるから無理か(笑)

ただ、収録版が 1.31 になってしまったのが残念。 ドキュメントにある、僕へのメイルアドレスや URL が ferrari6 あてになっているのと、例の「cd -p」で落ちるバグが入っているんですよね。 1.32 を公開したのが、締切の後だったんで、まぁ、仕方ないんですが。

≡★

ferrar6 復活作戦は困難をきわめました。 なんせ、tar でファイルを二、三百個展開する度に SCSI が悲鳴を上げるんだもん。 今、使っている外付けハードディスクもかなり怪しいようだ。 もうちょっとしたら、ferrari6 は復活します。 あとは、NFS や NIS まわりをちゃんと設定すればいいだけ(のはず)。

なお、明日、日曜の12/21 8:30-17:00 まで停電ですので、御注意ください(何をだ!)。


OS/2 magazine CD-ROM に NYAOS 収録される(12/18)

ということらしいんですが、まだ OS/2 magazine 買ってません(笑)。 多分、NYAOS 1.31 だと思うんですけど、あれのドキュメントには サポートページもメイルアドレスも ferrari6 って書いてあるけど、大丈夫だろうか。 あ、ちかぢか、ferrari6 復活作戦が始まりますので、御注意ください(何を?)。

タイトル未定(おいおい)(12/15)

宇野さんが復活されたようですね。 ウェブの更新が止っていたので、病気でもされたんじゃないかと 心配しておりましたが、忙しかったとのこと。よかったよかった。 (ちっともよかない?)

/OS2/APPS の件ですが、宇野さんがおっしゃる通りなら、 ちょっと、ユーザーが使うのはひかえた方がよさそうですね。 でも、みなさん、ディレクトリの切り方どうしてらっしゃるんでしょうか。 僕は、UNIX系フリーソフトは /usr/local/bin に実行ファイルを、 それ以外のコマンドライン系フリーソフトは /usr/bin 、 WPSのフリーソフトは /usr の下のディレクトリ掘っています。 でも、usr というディレクトリもありきたりな名前だなぁ...(笑)

宇野さん、Romyさんらが、筑波付近(?!)の OS/2 ユーザーの meeting を企んでいる様子。 おぉぉぉぉ、なんか全然近郊じゃないのに、参加したくなってしまった。 でも、さすがに、関東までは行けんなぁ(;_;) ううむ、修論、がんばるっす。

nyaos.html で 「あてにならない予告」なんて書いてますけど、 あれ、放っとくと本当にあてにならなくなってしまうので、 実現希望のある方はメイルなどで催促してください。 なお、時々現れる「あてになる予告」の方は、 本当にあてになるというか、すでに出来てたりします。 こちらはご安心ください。


~:/OS2/APPS(12/13)

OS2 ディレクトリの下に APPS というディレクトリがありますよね。 その下には DLL ディレクトリがあって、共に空であるにも関わらず、 PATH にも LIBPATH にも登録されてます。

あれって、UNIX で言うところの/usr/localに相当するディレクトリ なんでしょうか。もし、ユーザーが自由に使っていいディレクトリだったら、 インストーラーなどを作る時、決め打ちできていいですよね。 もちろん、OS2ディレクトリ自体のある、ブートドライブを調べればいけませんけど、 それは環境変数を調べるなりすればいいわけで。 (余談ですが、NYAOS 1.33(未公開)は「~:」をブートドライブ名に置換します)

その辺を述べた文献とかありませんかね。以前、Sukisuki-os2 ML で、 言及がありましたけど。

≡★

葉山のもはや実現不能に近い構想をちょっと後悔^H^H公開。
NANOCS(ナノクス)
NYAOS のラインエディターを拡張して作る VIO 用エディタ。 NYAOS を内蔵している為、Vz のような常駐モードもどきを実現、 ESC による起動など軽快な操作が可能。 マクロ言語としては、当初、趣味で Forth を採用しようと 思っていたが、面倒なので REXX で手を打つことにする。 ネーミングは MicroEmacs よりさらに小さいという意味で 「ナノ」をちょっと文字った。別に何かの略称というわけではない。

しかし、OS/2版 Mule と、Mule専用かな漢字変換システム SKK を手に入れた今、NANOCS の実現の可能性は OS/2 の 95 エミュレーション機能よりも低くなってしまった。 (Future Wave Editorも現われたしね)

eff(エフ)
アーカイバービューア ELL を元にしたVIOファイラー。 DOS(VDM)でも、OS/2(VIO)でも動く。アーカイブの中と 一般のディレクトリをシームレスに移動可能。 また、拡張属性の扱いを得意とする。 ELL のソースから起こすか、新規にコードを書くか、 まだ迷っている。

tau(タウ)
ページャー KAOL をDOS(VDM)、OS/2(VIO)共用としたもの。

Nyaos95
Cygnus GNU/Win32 の gcc を使って、NYAOS を Windows95 に 移植する。しかし、OS/2 ユーザー達の報復が恐ろしくて、 とても手をつけられない(笑)。 が、Windows User に「...Os/2 Shell」を使う屈辱を 味わせるのは、それはそれで面白いと思ってくれるかもしれない(笑)
以上は、どれも「名前」しか出来てません。あまり本気にしないように。

ああ、誰か僕にOS/2マシンと開発ツールを与えて、 一年くらい放し飼いにしてくれないかなぁ。 そしたら、本気になって作るのに(笑)

≡★

BSD には Daemon 君、Linux にはペンギン、JEにはタコというマスコット がいますが、OS/2 にはマスコットが見当たりません。Team OS/2 には マスコットか何かいるんでしょうか(もしかして、ホームページのねえちゃん?!)。 個人的には、くらけさんの Peek-a-boo にちなんでモグラ*1というのも いいなぁと思うのですが、モグラは今は亡き月刊Oh!FM*2にも使われた んですよね。
*1
モグラぢゃなくて、あくまで「変なキャラクター」?
*2
廃刊になったんじゃなくて、Oh!FMTownsになったんだという 理屈は却下。

ほんまに近況(12/10)

いやぁ、最近、ここ更新してませんねぇ。jaguar6 になってから、 来る人も少なくなったはずと思ってついさぼってしまっていたんですね。 修論も火の車だし。

ほんとか?

すみません。嘘です。
火の車というほど、修論一生懸命やってません。
先生にはどうか言わないでください。

言わなくても、自明だ。馬鹿もの

ferrari6 ですけど、本当だったら今日明日あたりに復活予定だったん ですけど、ちょいと忙しくなって、延期してしまいました。 研究室内にもアナウンスしていたんですけどねぇ。 自分勝手だなぁ(笑)

=★

Major街道まっしぐら(笑)の NYAOS ですが、僕は NYAOS は まずコマンドラインエディタ部にその存在意義があるなどと 思っていたもので、Mule の中で動かすなんてことは 思いもよりませんでした。しかし、作者の 予想外の使われ方をするようになったということは それだけ普及したということなんでしょうかねぇ?

xterm 対応というのも、だいーぶと前から公約している んですけど、ゆっくり XFree86環境構築の時間がとれなくて、 凍るという現象自体を未だ確認していないという状況です。 すみません。 もともと、そういうことも想定して VIO の直接アクセスを 避けるようにコーディングしているのに、これじゃ 意味がないなぁ。

さて、ちょっと、予告になりますが、今のところ、次のようなことができてます。

もったいぶらずに、さっさと公開した方がいいんでしょうか。 でも、ls の落ちるバグは修正できていないんですよねぇ。

ところで、NYAOS というのは、いわば毎回 cmd /c "コマンド"して いるわけで、これが結局律速になっています。で、最近、それを乗り越えるべく、 CMD.EXE と NYAOS をパイプラインで結ぶという試みをしてみました。 つまり、Mule の Shell モードと同じことをやろうというわけです。 結果、たしかに速い。しかし...そう、標準入力を全て NYAOS が横取り してしまうので、vi とかエディタを立ち上げても、まともにファイルをエディット できないことが判明。まぁ、source とか nyaos.rc の読み込みには使えるかも しれませんね。最終的には、やはり CMD.EXE から独立するしかないのかなぁ。

=★

近況のページが復活しました。だいぶと前に、tar の誤操作で 失ってしまったのですが(またかよ)、友人の仲川君の協力で 修復できました。修復しただけで、何ら新しいネタは ないんですけどね。近況と余談を統合して葉山文書にする つもりだったんですけど、どうも近況の切れたのりを余談の 方にうまく導入できないなぁ(せんでいいて)。

ferrari6 臨終か(11/20)

むむむ。ここを見ている人。どうやって、Web Server が jaguar6 に なったのが分かったんでしょう。そう、ferrari6 死んじゃったんです。 それで急拠、jaguar6 を 仮Mail/WWW Server に仕立てたんですが... どこにも告知してないのに、いったい、何故。 httpd の log を見てみると、ferrari6 の死亡後にもアクセス している人がいるし、宇野さんのウェブページを見ると 「フェラーリからジャガーにのりかえたんですか」って、 もうバレバレやないですかぁー。

実際のところ、ferrari6 のブートパーティションが死んじゃった というのが真相です。先々週にも壊れましたが、あれとは 別のハードディスクです。まぁ、内蔵物で購入時期が同じ なんで不思議じゃないんですけどね。 おかげで「QUANTUM製HDは保証期間が過ぎると自動的に消滅する」伝説が 正しいことを、僕はこれで三度体験しました。 最初の一度は My OS/2 machine 。後の二度は ferrari6 です。

ferrari6 が復活するかといえば、まぁ、現時点では分からないんですね。 というか、やる暇がないという。復活すればよいし、そうでなければ、 jaguar6 を 新ferrari6 に改名するか、それとも、そのまま jaguar6 でゆくか...まだ、それさえ決まっていません。 実は、WS管理してても評価されないので、 サボタージュしてたりして(おいおい)。

NYAOS がメジャーになりそうになった途端に、我が青春の ferrari6 が死亡するとは...幸運と不運は交互にやってきますね。 (OS/2 と同じくらい、UNIX も好きなのです)

★≡

sukisuki-os2 の方々の御意見を拝聴して、NYAOS をちびちび改良しています。 まず、内蔵lsが自分の知らないオプションを見付けたら、外部の ls.exe を呼び出すようにしました。それと、オプション -R -B などをいくらか追加。 GNU ls とバッティングする、-e などを -E に変えたり、まぁ、ls 中心ですね。 あとは、「~」→「%home%」変換をデフォルトにしたくらいでしょうか。 しかし、どこで公開すりゃいいんだ。って、jaguar6 でいいか。 jaguar6 で読めなくなったら、ferrari6 が復活したか、 jaguar6 も死んだということですんで(笑)。 もし、ferrari6 も jaguar6 も駄目でしたら、 volvo6 とかも試してみてください。

ついにメジャーデビューか(11/17)

OS/2 magazine の渋谷 隆さんからメイルをいただきました。 なんと CD-ROM に収録してもよいかとの事。 やったー。当然ながら、即、快諾。 ついに、NYAOS のメジャーデビューか。 ううむ、何か夢見てるようだ。

思えば、忘れもしない去年の秋、あれ、夏だっけか、ううむ、記憶があいまいだ(笑)。 米国製のシェル YAOS の、ファイル選択(コンソール)ウインドウが化け化け なのに不満を持った時から、NYAOS は始まったと思います。 YAOS のソースを見たわけではないのですが、

ということから、なんとなく、こりゃコマンドライン入力文字列を プリプロセス後に system関数に渡しているだけじゃないのかと予想がつきました。

「これだったら、俺にも作れるんじゃないのか?」

当時、すでに ELL で一行入力ルーチンを完成させていた僕は そう思いましたが、より汎用的に使える一行入力(C++)クラスを 完成させたかったので、クラスの仕様を練るのにさらに2,3ヶ月 かかりました。

コーディングを始めると、まぁ、一行入力に関しては、結構早く できたような気がします。当時、結構気を使ったのは、 VDM の動作でした。ELL の時に、後から VDM 動作させようとしても、 どこが悪いのか分からず、結局あきらめたという経験がありました。 今度は、1からのコーディングですので、注意すればそれほど 困難ではないはずです。また、v_***系の VIO 関数も 使わず、エスケープシーケンス一本でいくことにしました。 v_****系関数は、日本語 VDM ではうまく表示できない と思ったのもありますし、一度、ごてごてにハードコーディングしてしまうと とりかえしがつかないということが ELL でよく分かったからです。 ですから、エスケープシーケンスを使うといっても、 実際の出力する部分は仮想関数にして、後から自由に差し換えができるようにしました*0

これで NYAOS の雛型はできたわけですが、これではまだフリーソフトウェア としての魅力は余りありません。人に使ってもらうには、シェルらしい機能を 追加しなくてはいけません。というわけで、1.00 は

でスタートしました。これに nyaos.doc と nyaos.rc を足したものを nyaos100.lzh として、大阪大学の金島先生の ftp サイトに置いていただいたのが NYAOS のデビューです(1996年12月12日)。 その後、set コマンドのリダイレクトができるようにしたり(1.01)、 スクリプト実行支援機能を付けたり(1.10)、 ちびちび機能を拡張してゆきました。 ですが、まだ当初は特に反響もなく、まぁ、機能を足していけば、 そのうち、知られるかなとのんびり構えていました。

その後、一つの転機となったのが、筑波大学の宇野さんとの出会いでした (実際にお目にかかったことはありませんが(笑))。 MLの方で「NYAOS は便利だ」とおっしゃっていただいたのがきっかけで、 いろいろとメイルのやりとりがはじまり、 様々な改良案をいただけました。 また Release する度に バグリポートやアドバイスをいただき、 NYAOS が僕の独りよがりなソフトにならなかったのは(十分なってる?)、 宇野さんのおかげだなぁと思う今日このごろです。

その後、金島先生・宇野さん・西尾さんのウェブページからリンクを張っていただいた おかげか、支援者(?!)の方も増え、 山田 秀雄さん、奥西藤和さん、吉田孝一さんといった方々から、 バグリポートやはげましのメイルをいただけるようになりました。 みなさまには、この場を借りてお礼申しあげたいとおもいます*1

NYAOS は、これからもちびちびですが、改良を続けてゆきたいと思います。 僕は今年度で大学を去ってしまい、サラリーマンになってしまうので*2、 今年のようなバージョンアップのペースは確保できないかもしれませんが (いや、逆に加速したりして)、OS/2 が滅びない限り(おぉ、不吉な)、 Must Have を目指して、「OS/2 に NYAOS 有り」と言われるよう、 がんばってゆきたいと思います*3

≡★

なんか、原稿というか、作文みたくなってしまいましたねぇ。 まぁ、/2 mag.CD 収録の喜びの余り、ゼミまで時間がないのに、つい、書き殴ってしまいました。 わぁ、どないしょー。
*0
でも、結局、日本語入力クラスは他のプログラムに未だ転用してませんし、 VDM 対応に関しても、RSX(DOS Extender)がメインメモリを 200KB も消費してしまい、 意味がないのが分かり、途中で放棄するに至っています。
*1
しかし、CLUB nyaos / Team NYAOS というのは、いくらなんでも...(^_^;)
といいつつ、こんなことがあろうかと、バナーを作ってたりして。
[banner]
*2
東洋情報システムというところに就職します。
*3
実際、Windows95 には、まだフリーで決定版のシェルがないように見うけられますねぇ。 bash や tcsh も、FATのファイルの英字を大文字とみなすので、 補完が今一使いにくいし…。

続・sukisuki-os2(11/14)

1.31 を公開しました。1.30a にするとか、しないとかさんざん騒いだのですが、 結局、バグフィクスだけじゃなく、open 命令を強化したり、ちょっと、機能 改良したりしてしまったので、まぁ +0.01 してもいいんじゃないかと...

そうそう、内蔵 open を open.exe 互換にしました。 それと sukisuki-os2 の方で、いつか 内蔵 ls を ls.exe 互換にすると 約束してしまいました。 そういえば、cd-short も機能を一部実装しているなぁ...。はっ!

やっていることが、ビル=ゲイツと同じではないか!

バグ付きのまま、ソフトをばらまいているところも、そっくりだ。 なんてこったい。ううむ。 ところで、いきなり、話は変わりますが、いつのまに、

Organization: CLUB nyaos :) :)

なんてできたんでしょう(笑) > 奥西さん。
(詳しくは、[OS/2:12892]のヘッダ部分参照のこと)
さらに過去の余談へ