葉山文書
1/15〜l2/9の破局篇
目次へ

修論要旨提出寸前なのらー(2/9)

ふっふっふ。修論提出が遅いのは化学工学教室だけなんです >Romy さん。 他の専攻は、もうちょっと早いみたいで、 電気系の友人なぞ、メイルしても、もう返事くれません (T_T)。 ですから、研究がはかどること、はかどること(嘘つけ)。

すみません。よく、わかりません > 宇野さん。 下宿にTV持ってないんですよぉぉぉ (T_T)。 ディスプレイはあるんですけどね。

現在、修論発表の要旨(レジュメ)を作成中です。 まだまだ、正念場のちょっと手前っす。 全く、いつ、正念場なんでしょうね(本当、いつ修論書いてんだ?俺)。

≡★

ELL について、いろいろ助言をくださっている岡林先生が、 ELL用のツールを作ってくださいました。うれしー ( http://www.sci.shizuoka.ac.jp/~chem/pc/okabaya/UNOFF/INDEX.HTM :もう公開してもいいんですよね?)。 他に FILESTAR 用のカスタマイズツールとかも作られてます。

OS/2 Prompt は emx/gcc のおかげで UNIX系Toolの移植は充実してますが (平松さん他作者の皆様に深く感謝)、DOSっぽいツールは今一ですね。 FD や LHMTN みたいなツールも、emx/gcc には コンソール(VIO)関数が 充実してるので、かなり簡単に作れるはずなんですけどね。 ファイラーが2,3種類だけあるだけで、 アーカイブビューアーが ELL だけっつーのも、ちょっと悲しいです。 VDM が強力すぎるせいかしら。でも、VDM ぢゃ、HPFS 使えんし、 拡張属性読めないし...やっぱ、Native 欲しいっすよ。

関係ないけど、僕は未だ、PM のプログラム作ったことないんです。 Win3.1用なら、昔、友人が作った3DRPG(ウインザードリーなんていいます)用の マップエディターを Visual Basic で作ったことがあるんですけどね。 いつか、Dr.DialogでELLのPM化もいずれしたいなー。いつになることやら。 (おお、よく考えると、ALL REXX になってしまう。速度落ちるだろうなぁー)

≡★

最近、文句だけが多いなぁー俺。困ったもんです。

プログラミング言語(2/8)

筑波大学の方は、もう修士論文提出が終ったようですね。 うち(京大化学工学教室)は、いよいよこれからが正念場です。 がんばらねば。

逆クォートの実現に際しては、今までと違い、予想もしない 量/種類の文字がコマンドラインに並ぶ可能性がありますから、一応、用心してます。 量に対してはポインタもスマートポインタといって、Java風の配列の上限を 絶対に越えないポインタ型をC++のクラスで作りました。 こうすると効率は落ちるけど、ポインタを進める度に必要な上限チェック のif文を省略できて、楽だし、ソースが見やすくなるんですよね。 一方、質に対する備えは、まだですねぇ。わすれてました。

そういえば g++(GNU C++)って try〜throw〜catchの例外処理を 2.7.2 でも tiny で導入しているって FAQ に書いてあったけど、 早く本格的に使えるようにならないかなぁ。 それに Java/perl風の break 文、なぜ、C++ に導入されないんでしょ。 いい加減、ダブルループを脱出するのに goto 使うの、みっともないんですよね。

なんか、C++の仕様ってどんどん悪い方向へ行ってるような気がするんですよね。 C言語のライブラリを #include するのも、以前だったら「#include <stdio.h>」 でよかったのが「#include <cstdio>」になったりしてるし。 何考えてるんでしょ。 それに仮想関数についての仕様も、現在の C++ の仕様では Window プログラミング ではうまく利用できないんですよ。だから、Borland C++ では独自の拡張してたし、 MS C++ でも静的メンバとかを使ったマクロでごまかしてたし...ブーブー。 (Visual C++ と言わず、MSC++と言っているところが、My知識の古さよ...)

C++ の欠点は難しいだとか何とかよく言われますけど、逆に言えば、 アセンブリ言語プログラミングの経験があって、 オブジェクト指向の概念が分かっていれば、 これほど、便利で使い易い言語も無いんですけどね。ううむ。

そういえば(その弐)、シミュレーション用言語っつーのも、いいのがありませんね。 C言語は万能言語だけど、計算機に詳しくない人間には難しすぎます。 一方、Fortran は出来ないことが多く、自由度に欠けるんですよね。 コマンドラインの引数の取得さえ、うまくできないし。 Java は少なくとも現段階では、計算時間がシビアに評価される(!?) シミュレーションには使えんでしょう。仕様的にはいいと思うんですけどね。

REXX にも実は不満がありまして、あのステムっていう奴。 連想配列としては、全ての要素を走査できないし、 構造体としては、メンバ名が置換されないか気をつけないといけないし。 どうも中途半端でいかん。配列としては文句ないけど、IBM よ、なんとかしてくれい。 OREXX については使ったことないけど、チルダをメンバ参照演算子にするのは ちょっと嫌。だって、日本語フォントではチルダがオーバーラインになるんすよ。

(ええい、しかし、我ながら、文句の多いやつだなぁ。修論早く書けよ)

P.S.
例のクラッキングは phf を用いたものです。 ちなみに httpd の導入は僕がやったんじゃありません(責任回避モード)。


日々、これ勉強の毎日(2/5)

NYAOS が単位 or 修論になったら、どんなに平和なことでしょう(T_T)

ELL 1.05(1/30)

ELL 1.05 を公開しました。 簡易ファイラーモードの強化が中心です。

00_index.txt表示モードとディレクトリ表示モードのワンキー切り換えについ ては、かなり前に提案をいただいていたんですが、REXXスクリプト と ELL.EXE が 再帰的に互いに呼び出すという現在の構造では無理だと思って、 その時は「いつか作るであろう、一枚板ファイラー eff をお待ちください」 などと答えていました。

が、今回は、それをプログラムのリターンコード、 すなわち、DOSで言うところの errorlevel で指令を与えて、ELL.EXE が 自分を呼び出したREXXスクリプトに自分を呼び直しさせるという、極悪非道な 方式で実現してしまいました。同じ方法で今までは出来なかった、ELL 起動 時より上位のディレクトリへの移動(^H)もできるようになりました。

また、今回より、ファイラーモード ELL の起動スクリプト elf.cmd を用意し ました。引数を与えずとも、カレントディレクトリに 00_index.txt に類するファイルがあるかど うかを自動チェックしてくれます。

しかし、この調子では、やがて、eff を作る前に ELL が普通のファイラーに なってしまうなぁ...まぁ、いいか。


かんな(1/28)

公約の一つ「かんな」ですが、かんなの API のドキュメントは、 どこにあるんかいなぁーと、さがしまくっていたら、 ferrari6 の man ディレクトリにありました(笑)。 どうも、必要な関数は一つ二つのようで「ほんまに いけんかいな」という気もしますが。 まぁ、REXX の時もそうでしたけど、 APIが極めて簡単なものほど、優秀なのかもしれませんね。 REXX も 2,3のAPI関数を呼び出すだけで、 .nyaos が REXX で記述可能になりましたから。

逆クォートは、やり方はまぁ分かりますから、懸念は多分 nothing です。 ただ、逆クォートをサポートする為に、パス数が現行の3から 4になるのは確実です。一応、option命令で、 逆クォートの使用を選択できるようにしたいと思いますが。

で、NYAOS 自身には、まだ全然手を付けていなくて、 手元の NYAOS も配付版と全く同じです。 いつもなら、どこか手をつけていて、 いつでも公開できるようにバージョンナンバを すでに 0.01 足していたりするんですけどね。

なかなか本業で忙しくて、困ったもんです(ナニカチガウ...)。 どっちにしても、1.35 から、またバグが増えそうですから、 1.34 は残しておいてくださいませ。


クラッカー(1/26)

実は、先週の金曜あたりから、httpd を止めていたんですよ > Romyさん。 つーのも、実はCGI のセキュリティーホールを、 どうもクラッカーに狙われた形跡があったためなんです。 まぁ、対策よく分からんから、とりあえず、とめとこかなぁと。

幸い、シャドウパスワードのおかげで、パスワードは盗まれなかったようなんですけど、 化学工学教室公式 Web Server(chemeg)などは、まんまと侵入されて、 他へのクラッキングの足場にされていたようです。

で、いろいろ検討の末、現在利用されている CGI プログラム以外は、みんな 使えんようにしておいて、httpd を再開させました。 いやー、しかし、まさか我が身にこんな事が起こるとは思いもしませんでしたわ。 こわいですねぇ。


RMCLONE(1/21)

昨日の文書は、さすがにちょっとはずかしいので、削除しました。

RMCLONE.CMD なる REXX スクリプトを作りました。 ハードディスク上で重複しているファイルを削除するツールです。単純に

    [C:\] rmclone ↓
と入力すると、C:ドライブルートディレクトリ以下で、 同じ名前・サイズを持つファイルを検出し、削除することができます。 また、comp.exe を使って厳密に同一かを調べることもできます。 複数のドライブを対象とする場合は
    [C:\] rmclone C:\ D:\
とすればOKです。 なぜ、こんなものを作ったかって、それは NetNews から落してきた画像 ファイルでダブっているものが...あわわ。
# 今日の文書の方がよっぽど恥ずかしいやんけ。

アーカイブの中まで覗けたら、たいしたもんなんですけどね。 今回はそこまでやってません。 それにしても、REXX のステムって、 もうちょっと、使い勝手よくなんないかなぁ。 連想配列として使おうっていう方が間違っている?


1.34 かな。タイトルは(おいおい)(1/19)

最近、筑波方面からよくツッコミが入る気がするんですが、気のせいでしょうか(笑) ビデオデッキも借りたウテナのテープも、大阪の実家にあるので、続きは未だ見(ら?)れず。 しかし、ハマる要素がかなりあるのは確か。ヤバイなぁ。

NYAOS 1.34 を公開しました。まぁ、あんま、たいしたことしてません。 半分はバグフィクスだし。

マイクロソフトの新型の3ボタンマウスの OS/2 用ドライバーが 公開されたのこと。買おうと思うけど、対応ソフトあるのかなぁ。 95 でもオフィスしか対応していないという話が...

(補足 at 1/23)
これ、ちょっと違うようです。 MS InteliMouse っぽい機能を実現するプログラムであって、 MS InteliMouse のドライバではないようです。

PM Mule の ls(1/16)

PM Mule の Shell モードで ls を実行すると落ちるという件ですが、 赤木有一さんより、かなりくわしいリポートをいただきました(ありがとうご ざいます)。 それによりますと、_scrsize関数が不適切な値を返している ようで、そのために0除算をしてしまっているみたいなのです。

自分のところで再現しないもんだから、つい怠慢になってしまいましたが、 これで夢の全ての OS/2 プラットフォーム征覇(VIO,telnet,xterm,Mule) が達成できそうです。ばんざい。えっ、VDM も必要ですか?


&;や open(1/15)

いきなり、NYAOS の事ですが、 今まで、option amp_start していた場合、逐次実行ができなかったのですが 「(空白);」「&;」でできるようになりました。 そいで、open , pwd , pushd とかで表示されるパス名も大文字・小文字 の正確なものになりました。

ぼちぼち、公開時でしょうかねぇ。 「かんな」と「逆クォート」は、もうちょっと (正確には 1.35 まで)待ってください。 多分、バグの嵐になるでしょうから(笑)
# でも、本当はSKKの方をサポートしたかったりして。


さらに過去の余談へ