Sign of Eff (7/26)

実は先週から NYAOS の一行入力ルーチン(本当はクラスだがルーチンの方が言い易いのでルーチンと呼ぶ)の一般ライブラリ化をやっとりました。 元々、そういう風に作ろうとしていたものなんですが、最初の設計が悪くて、結局転用不能に終ったものを、スクラッチから作り直しているわけです。 今度の奴は簡単に
	CannaInput input;
	char *line=input.getline();
と書けば line に入力した一行が入ります。ヒストリについても、 オブジェクト(CannaInput型変数)ごとに記憶されています。 Vz/bash互換ヒストリ、ファイル名補完などはまだ出来てませんが、 tcsh型ヒストリ、かんなは対応済みです。 将来的には、REXX から使えるようにしたいですね。 完成したら公開しますので、おたのしみに。

さて、これは何の為にやっているかというと、eff の為つーたら嘘くさいかな? その eff ですけど、ようやく重い腰を上げて作り始めました。 現在のところ、ただの

カレントディレクトリビューア

みたいなものしか出来とりません。画面イメージは ell より、むしろ emacs に近くなるでしょう。基本的に全画面占有型で、1ファイルを1行で扱います。 ell みたいに画面を必要最小限だけ使うというのは結構手間がかかるので止めました。 その代わり、画面を縦にn分割して、 n個のディレクトリを同時に画面に表示できるようにするつもりです。

しかし、まだ出来ていないものを、こんな風に発表するなんで、

まるでマイワ口ンフトみたいだ。
( 一応伏せ字にしました;-) )

そういうわけで、Wind○ws95/98 のごとく、発表から発売公開まで、 かなり期間が空くと覚悟しておいた方がよいでしょう。 そいで、ベータ版やサービスパックをどんどこ公開してしまうという…

やぁ、これは邪悪だ

塩沢兼人さんの声で、お願いします。

≡★

ベルセルクの単行本 10,12,13,15巻がどこにも置いてないよ〜ん。 深夜の放送が終わって以来、急にどこの本屋からも姿を消してやがんの。 何とか見付けたところでも、3,11,14と中途半端な巻しか置いていない。 いい加減、注文した方が早いかなぁ…

≡★

先週の「あの DOS へ向って撃て」ですけど、 対象として当然ながら WIN-OS/2 も含んでいます。 まぁ、Windows 3.1 は基本的に DOS Extender なんで、 DOS といえば含まれるもんだと思っていたもんで… それと、あといくつか補足すべきことがあったような気がするんですが、

鳥頭なもんで、忘れてしまった…

いや、ほんとマジで。どうも、若いうちからプログラムを組んでいると、

一度に念頭に置かねばならない事が少なくて済むように
コーディングした方がよい

本質的なことさえ覚えればよいのだ!

本質的な事以外を覚えようという努力をしなくなる

本質的な事以外覚えられなくなる

本質的な事さえ覚えられなくなる(笑)

さらに何をやっても印象に残らなくなる(やばい)

あれ? 今、何を考えていたんだっけ…(末期症状)

こうして痴呆青年が生まれたのであった。困ったもんですねぇ。

≡★

尋ね人:最寄り(多分大阪市内)のナショナル=パナソニックのお店に、「山地 治」という名前の見習従業員を見付けた方は、その場所を御一報ください (本人が必死になって秘密にすることって、暴きたくなるもんですよね:-)。

あのDOSへ向って撃て!(7/18)

いやぁ、今週は結構メイルいただきました。以前は週に一通いただいたら、 大喜びだったのが、今週は 5,6通はいただいたでしょうか。う〜れしぃなぁ〜。 ページにカウンタ付けてないから分からないんですけど、結構、 宇野さんのページのツッコミから、こちらへ来る人が多いのかな? 山下さんにもリンクを張っていただいたし。

みなさん、キーボードには僕と同様のこだわりをお持ちのようで、 結構、御自分のキーボードについての意見を添えられていました。 Ctrl キーは Shift キーの下に欲しいと述べた事については、 MyKBD を使ってはどうかという意見もいただきましたし、 やはり自分は「A」の左の方がいいなとおっしゃる方もいました。 こういう話って燃えますねぇ。

≡★

現在、OS/2 ユーザは DOS を必要としているんでしょうか? かつて、DOSユーザに NativeDOS より優れた DOS として受け入れられた VDM。 しかし、VDM の最大の欠点は longname が見れないということなんですよね。 それゆえ、最近は emx系UNIXソフトに頼って、OS/2 ネイティブの世界へ みなさん移行してきてられます。

しかし、なんとか DOS で longname さえ見れたら、DOS の資産も活きてくる というものです。実は今週、松村 興さんとそれに関してメイルでおしゃべりしました(おしゃべりっていうわけでもないか...)。 松村さんの許可をいただけたので、ちょっと引用し…、あ、 メイルのコピーが入ったフロッピー壊れとるやんけ。

ということで、簡単に要約すると、最初は VDM にファイルアクセスを供給する VFAT.SYS (FAT.SYSのVDM版ですよ、注意)を解析、改造すれば、 VDM から長いファイル名を読めるではないかという話だったんです。 でも、これは日本のOS/2人口では難しい(ハッカー率は人口に比例!?)。 VFAT.IFS(95のVFAT用IFSですよ、ややこし)を作ったり、 ハッキーなことをするのはみんな米国人だし、 これでは DBCS対応はあてにならない。

それより、95フリーウェアのVFATアダプタみたいに、 DOS側にopen/findfirst システムコールを横取りさせる デバイスドライバ(常駐プログラム!?)を作り、 OS/2側のプロセスと通信させて、Longname⇔Shortname変換させた方が いいのではないかという感じで話は進みました。

まぁ、だから俺がやるなどとは申しませんが、せっかくのアイデアを 埋もれさせるのはもったいないし、ということで、どなたかやりませんか? やるまでとはいかないでも、何か意見がありましたら、お待ちしております (何を!?)

≡★

この文書にも時折登場する松下さんちの山地(やまじ)君ですが、 最近、この文書を引用して僕をイヂめます (飲みに行ってそんなに悪いかぁー)。 だからイヂめ返してあげます(100倍返し!?)。

まぁ、冗談はともかく、この人、 whypic なる画期的な画像圧縮ソフトの開発者です。 この whypic。その特徴は、圧縮率が PI形式をも上回り、 可逆圧縮としては世界一なのです(多分)。 そして、もう一つの特徴。それはモノスゴクオソイこと。 普通のソフトは、その速度はビット数に比例しますけど、whypic は色数に 比例するそうです。つまり、16色はまぁ耐えられる。256色…お、おそい。 65535色…人類が滅ぶ速度だそうです(誰もそんなことは言っていない)。 彼はこのフォーマットへのコンバーターと、Susie へのプラグインだけを作り、 ベクターに投稿したそうなんですが…

(ハンカチの端をくわえながら)
きぃぃぃぃぃぃ、くやしぃ

NYAOSよりダウンロード数多いやんけ!

これだから Windows は...(彼は本当は FreeBSD user なんですけどね)。 くやしいので、マルチメディア機能を使って、OS/2 へ移植してやろうと 企んでいるのですが、陰謀にも時間が必要。 やりたいことはいっぱいあるのに、ゆっくりと時間がとれない。トホホ。

≡★

さて、近況。実は前まで仕事でデータベース関係をやることになっていたのですが、 発注が延期になり、仕事が無くなってしまったので、忙しい部署へ出稼ぎ お手伝いに行かされてしまいました(行くっていっても隣だけど)。 そちらの方が扱っていることは、JavaIDL/CORBA などの 分散オブジェクト環境!? 難しくてついていけないよぉぉぉぉ。 ホント、胃が痛くなった一週間でした。僕は今まで 「難しいことを聞くと頭が痛くなる」というのは、 単なるものの例えだと思っていました。が、

本当に痛くなるもんなんですねぇ

まぁ、半分はカフェインのとりすぎとプレッシャーによるもんなんでしょうが…。 そういうわけで、この連休は勉強です。トホホ。

キーボートを語る!?(7/12)

今週もまた体調よろしく無い一週間でした。 しかし、凝りずに木曜日には人事部の人と江坂で、 金曜日はまたも京都に大学の友達と飲みに行ってしまいました。 だからと言って

別に職場でトラブルを起こした訳ではない

ので誤解せぬように。ただ、単に

誘われると、断ることが不可能

なだけです、はい。でも、だからといって

E-Mail で酒に誘わないように
(よく考えたら、両方とも E-Mailだなぁ)

というわけで、2日連続でかなり飲んだため、 土曜日も今一体調がよくないっす。 NYAOS も下手に触るとバグを増すだけなんで、 とりあえず、前からやってる、かんなのドライブ対策と、 ドキュメントのHTML化しかやっとりません。

≡★

窓キーって邪魔ですねぇ。 ALTキーやCTRLキーが押しにくくて仕方が無い。 会社では Windows95 しか使っていないんですけど、 キーボードが 109キー という奴なんですよ。

最初、窓キーを見た時、

おお、Microsoft もメタキー/コマンドキーを新たに用意するとは
なかなかやるな

そうショートカットキーを増せるし、逆にこれで Ctrl キーを 他の用途に解放できるじゃないかと思ったんです。あさはかでしたね。

単にStartボタンを押すだけのキーとは…
俺が悪かった

まぁ、窓キーは誰でも思うところなんでしょうけども、他にも結構、 キーボードにはこだわりがあったりしてまして、 長い間次を見たしたキーボードを探してます。
・CtrlキーはShiftキーの、キーボードの最も左下に欲しい。
これは意外かもしれませんが、僕は Ctrl キーを小指の根本のところでタイプするんです。これだと手首を少し左へ傾けるだけで打てるので、小指に対する負担が少なくて済み、長時間のタイプにも耐えらます。また Ctrl-A の時でも「A」自身を小指で打てます。 でも、やっぱり、僕は少数派なんでしょうねぇ。
・テンキー、カーソルキーの無くて、サイズが小さい
やっぱ、でっかいキーボードは邪魔です。
・変換キーは要らない。
かんな、SKKを使っている分には全く要りません。
・記号配列は JIS配列でよい。
これは純粋に慣れのせいもありますけど、よそへ行った時は、 ほとんど 106 or 109 なんで、なるべく同じ配列の方が助かります。
まぁ、一番最後の JIS配列はどうでもいいんですけど、 テンキー無しで、Ctrlキーが最も左下にあるキーボードは未だ見付かりません。 Happy Hacking Keyboard で、Ctrl は Shift の上下にあったら最高なんですけどね。 というわけで、僕は5年前から使っている、 テンキー、すなわちデカサ以外は全て満たしているキーボードを未だ手放せません。 あ〜あ。

≡★

最近、僕は OS/2 に関してやや悲観的な見方しかしていなかったのですけど、 ここんとこ、思ったよりもポコポコ、フリーソフトが出ていますね。 ありがたいこってす。 これで OS/2 本体が安かったら...3万円代では、ちょっと普通の人は ためらうでしょう。昔、Win3.1 のころの DOS からの upgrade で 1万円代で買えたことを思うと...本当に Freeにならないかな OS/2。 「FreeOS2」なんてね。

VZFなる ファイラーが現れたとの報を受け(って、宇野さんのページ拝見しただけだけど)、 さっそく試してみました。ふむ、これは確かに Vz ライクだ。なかなかよろし。 ただ、やっぱりCtrl+? でカーソルが移動できない。これはPMプログラムだったら 仕方ないのかしら。FWE とかは、もしかして、かなりアクロバットなことしてるんでしょうかねぇ。NyaosPMへの道は遠し!?。

宇野さん、応援ありがとうございます。しかし、どうも、ここんところ、 うちに帰るのが遅くて、なかなか OS/2 と戯れることができません。 この休みも先程書いたようにアルコールの後遺症で×だし (しかし Web はしっかり書いている)。 ちょっと、ファイラー作るとか、エディター作るとか、一行NYAOS作るとか、 大言壮語しすぎちゃったかなぁ。ああ、一ヶ月ほど、休みが欲しいわ。 連休よ、早く来てくれぇー!


ウインドウのタイトル(7/5)

どうも、先週は InterQ さんが悪いのか、手元の Warp が悪いのか、 このページの upload がうまくできませんでした。 なぜか「...bytes 転送しました」の後に凍るんです。 で、http://hp.vector.co.jp/authors/VA009797/ 以下も モジラでうまく見れなかったし、 てっきり、先週は更新できなかったんだなぁと思ってたら....
....ちゃんと、HTMLファイル転送できていたみたいですねぇ。 まぁ、いいか。1.41 も公開できてなかったと思っていたんですけどねぇ。 段取り狂っちゃった。

≡★

某U氏より(ばればれ?)、WinSetTitle という隠しAPIの存在を教えて いただきました。これを使えば、以前よりの課題であった 「CMD.EXE みたいに、ウインドウのタイトルに現在実行しているプログラムの 名前を設定する」を実現できるのでは?というわけです。

いろいろと苦労しつつも、何とかインポートライブラリを作って呼び出すことに成功 しました。しかし、「start nyaos.exe」と実行した時しか、ウインドウタイトルが 変わりません。どうやら『タイトル文字列が未設定で代わりに「NYAOS.EXE」という タイトルが表示されるような場合』に限って、 タイトルを変更できるというもののようです。う〜む、残念。 でも、CMD.EXE だって、プログラムオブジェクトで実行ファイル名を「*」で はなく「CMD.EXE」にすると同様の挙動になるんだし、 それに、16bit API のemxからの呼び方が分かったからよしとしよう。 というわけで、せっかくだから、

        APIRET16 APIENTRY16 WinSetTitle ( PSZ szTitle ) ;
のemx よりの呼び出し方を以下に示します。 詳しくは emx のマニュアル見てください(日本語版もあったはず)。
呼び出しルーチン:
	extern "C" { /* extern は C++ の為、C なら次の行だけでよい */
	  void _THUNK_C_FUNCTION (WinSetTitle) (PSZ szTITLE);
	}
	void set_win_title( const char *title )
	{
	  _THUNK_C_PROLOG ( 4 );	 /* 全引数のバイト数 */
	  _THUNK_C_FLAT ( title );	 /* 32bitポインタの第一引数 */
	  _THUNK_C_CALL ( WinSetTitle ); /* さぁて、コール */
	}
Makefile:
	wstitle93.a : wstitle.imp
		emximp -o wstitle93.a wstitle.imp
wstitle.imp:
	_WinSetTitle pmshapi 93 F
さて、他のバグとしては、かんなのインストールされているドライブ以外から NYAOSを起動すると、/usr/local/canna/lib/default.canna が認識されない というのがあります。一つの対策として、コンパイルオプションに -Zmtd を加えるというのがあります。これ、マルチスレッド化するオプションなん ですけど、そもそも、なぜ、そんなことをして直るのかが謎っす。 とりあえず、今、初期化の際に/usr/local/canna/lib がありそうなドライブに 一時的に移動するという方向で fix しています。 この修正版は多分来週くらいに公開します。(週刊NYAOS敗れたり?)

≡★

某所より

PM版一行 NYAOS 作っとくれー

という要請が届いています。とりあえず、今、Charles Petzold著「プログラミング OS/2PM」を買って読んでいます。でも、もし、どうしてもできそうも なかったら、PM部分だけ、人に頼もうかと思ってます。さて、誰に頼むか...

それは貴方かもしれない...(不動 明調で)

まぁ、今は現在のテキストベースNYAOSのメンテ他の課題が山積みになってますから、 当分後になることでしょうが、油断しないように(何を)

≡★

この週末は結構ハードスケジュールでした。 金曜16:00ごろ、大学の友達よりメイル。「今晩、18:00 より、プロセス設計 (化学工学教室内の発表)の打ち上げがあるけど、来れへんよね」

当然、いきます

というわけで、大阪江坂から 17:30 定時に会社を脱出。そのまま、京都まで 急行してしまいました。ははは。しかし、卒業して3ヶ月くらいなのに、 すでに研究室の飲み会には2回も参加している。

もう、窓際になったのかと心配されてしまった。

で、翌日の土曜は、吹田の体育館で、会社の友達とバトミントンを楽しみました。

前の晩、あれだけ飲めば、普通、二日酔いで動けないはずなのだが…

今、筋肉痛で死んでます。

≡★

では、魂の叫びを連発します(ゴッドハンド現れるかな)。
wget
うーむ、--time-stamp オプションを入れてあるから、前回、download した ファイルは無視するはずなのにぃ...なんか、更新されていないページまで 再download されてそう。何がいけないんだろう。 ドラえもーん、たすけてぇー。
ベルセルク
単行本。どこにも無いよぉーん。TVも今週はシティーハンターになって しまってるし。うーむ、あの続きが気になって仕方ないっす。
某R氏
会社で Warp が触れるって? なんて、うらやましいんだぁぁぁ。 転職しようか(おいおい)。
山地氏(なぜ、匿名でないんでしょうね)
毎週、更新しているからって、暇ぢゃないぞ!

さらに過去の葉山文書へ 目次へ