2003-08-09

今後の予定なんて銘打って書くときはたいがい「しばらくマクロ書けません」宣言だったりするわけですが。

更新情報

timestamp 1.07を公開。書式(%yyyyなど)を参照しながら編集できるようにしました。

これで、作り始めた当初「こうなっていたらよいのでは」と思っていたことは一通り実装したことになりますか。

マクロ書き今後の予定

で、strhisttimestampはもうあんまりやることはなくなってきたなあ、と。とりあえず今公開しているなかで改善すべきものとしては……。

cedits
永遠に完成しないような気が(笑)。いちばんほしいのは、IntelliSenseみたいな、変数名やメンバ変数の自動補完なのですが、どうすればいいのか、いいアイデアが出てこない……。辞書を作ってそこから、という方法だと、その場で作った構造体のメンバとかが参照できないし、ソースを逐一走査して調べるのは時間がかかりそうだし、なにより書くのが面倒そう(笑)。というわけで、あんまり計画的な目処がたってません。
cmdlinex
これをまた書き直したくなってるんですよね。公開した当時は、WZ4のマクロがまだ少なく、WZ3のマクロが使えなくなっていたなかで価値を持たせようと(←せこい)、見米さんが書かれたWZ3用のfilter95マクロにわざと似せて作ったのですが、いまの感覚で自分なりに一から作るとしたら、たぶんああいうUIにはならないだろうなあ、ということで。
csvform
じつは自分的にはあんまり必要性を感じていないんですが、ちゃんと作ればどうも需要はあるみたいなので、ちゃんと作り直してみようかなあ、と思ったり思わなかったり。Pocket PCで動いたりすると面白いのかもしれませんが持ってないので。
dtnchot
んー、マクロとしてはとくに予定なし。WZからよりもIEから使いたいケースのほうが多いような気がしてるので。それをやるならWSHとか勉強しなきゃいけなさそうなので後回しになってます。
euroedit
これはWZ5のユニコード実装を見てみるまで保留。
favmacro
これはこのままでいいや。
install
これもWZ5のマクロまわりの実装を見てみるまで保留。
pv
早く動くものにしたくて、焦って作ったような感じがしていて、これもきちっと書き直したいんですよね。いまのままだとのさださんtaboutlineに対応するようなつくりになってませんし。書き直すならどういうアプローチがいいのか思案中。1プロジェクト=1ウィンドウ形式と今みたいな形とどっちがいいですか?
viewmode
これもとくに思うところはなし。というか忘れかけてます。

なんか既存のUI置き換えみたいのばっかりなのが前から気になってるんですよね。WZ5でUIが劇的に改善されたらいらなくなるじゃん、みたいなアイデンティティ・クライシス。個人的にWZマクロの中で僕がいちばん「カッコいい!」と思っているのは、見米さんのorder(連番見出しプラグイン)なのですが、ああいうありがたみのわかりやすい魔法みたいなマクロを書けるようになりたいものです。

ダイアログプロシージャにばかり拘泥するのにも疲れました(笑)。

あとは新しいものも、形にならないなりにいろいろマイマクロフォルダには転がってるんですが、どれも当分公開できそうにありません。XMLのアレとかもアレ以来ほんとに僅かずつは書いてるんですけど、まだまだアレですし。

♪In heaven everything is fine

インターネットラジオを流していると、Modest Mouseというグループの「Workin’ on Leavin’ the Livin’」という曲が。「どこかで聞いたことあるなあ……」と思いながら聞いてたんですが、Pixiesの「In Heaven」という曲と同じ歌詞・メロディーだということに気づく。元ネタを知りたくなって、いろいろ検索してみると、デビッド・リンチ監督の「Eraserhead(イレイザーヘッド)」という映画で使われている曲だとのこと。

……見ました。「イレイザーヘッド」。……やあ、すごい映画だった(笑)。これ以上コメントできんです。

情報源はその名も「Don’t Fear the Formula – In Heaven Everything is Fine」というサイトの2003年7月8日の記述。Pixiesのほうは日本語のサイトでもかなり言及されてたけど、Modest Mouseのほうに触れてたのはここくらいでした(曲が新しいせいかも)。

2003-08-06

ThinkPadのHDD換装でDisk to Diskリカバリ区画(F11で起動させて初期状態に復帰できる機能)も含めて移行するTipsなんて需要あるかしら。

更新情報

タイムスタンプの更新をアンドゥの対象にしないオプションを追加した、timestamp 1.06を公開しました。アンドゥのたびにカーソルがタイムスタンプの場所に飛んでいくのをうっとうしく思っていた人向け。

Xメンにようこそ(←違う)

2003/07/29(The) ThinkPad日記 – 更新履歴 – Final β Laboratory
http://www.finalbeta.jp/update_log/2003_07.html#log20030729

中村さん(Final β Laboratory)がThinkPad X31を買われたので反応、って遅すぎ。いや、きっと買ったときは周囲のThinkPad使い諸氏にいやというほど助言されまくったりしたろうなあ、とか思って……(いいわけ)。

キャップは、標準で付いていたソフト・ドームを使っています。ほかのものを試してみたのはしばらくこれを使い込んだ後の金曜日だったので単なる刷り込みかもしれませんが、これが一番使いやすいです。

僕も最近全種類買って(笑)試したんですが、やはり刷り込みが大きいのか、結局今まで使っていたクラシック・ドームがいちばん楽、という結論になってしまいました。とはいえこいつは硬いので長時間使っていると確実に指が痛くなるんですよね。そういう意味ではソフト・ドームに慣れたほうが幸せなのかもしれません。ソフト・リムは親指で動かすような位置にあるといいかも、とか思いました。なんかゲームみたいにぐりぐり動かすのにはこれが向いてそうです。

キーボードは打ちやすいといえば打ちやすいんですが、右側記号部分のキーピッチが狭くなっているのは「かな入力」人間としては使いにくいという。うーん、マイノリティかぁ。ってオチなし。

「バリアフリーの扉」でおなじみの(なの?)IBMのマシンが、蓋を開けるのに両手同時使用が必要というのはどうなん……と思いかけて、左右のスイッチを同時に押さなくても片方ずつロックをかけて蓋を開けることに気付きました。お見それ致しました。そういや以前PC系のニュースか何かで読んだな……。

そうなんですが、僕のX24は片方ずつ開けられないんですよ。前に使っていたX20は問題なくできてたし、店頭に置いてあるやつでもできるんで、たぶんラッチ部分の個体差ということなんでしょうが、できるはずなのにできないんですよ(泣)。いや、それだけなんですが。ってここもオチなし。

個人的にはiBookバイオノートZみたいなラッチレスになってほしいです。IBMの人もラッチレスにしたいと言っているのをどこかで読んだような気もするし。

電源ボタンがキーボード上(蓋の内側)にあるのはちょっと悲しい。これはさすがに外付けキーボードでは代用できないし。帰宅してウルトラベースX3にセットして、サスペンドから復帰……というところでいちいち蓋を開けなきゃいけないのは優雅じゃないなあ。

ThinkPad ミニ・ドックみたいなポートリプリケータ系のオプションには電源ボタンも付いてるので閉じたままオン・オフできますが……、って理由があってウルトラベースX3なんですよね。これが不満点になるのはちょっと意外でした。閉じた状態で気づかずにかばんの中でオンになってた、ということが起こらないという意味で個人的には好いほうにとらえていたので。

IN-ME6BKはAirH”カードを挿したままでもすっぽり入って、クッション性もよくて安心です。ただ、フラップが長いので、今までのようにインナーバッグは鞄に入れたまま、フラップを開けてノートだけを取り出す、というのがやりにくくなりました。LAOXにはB5用のフラップタイプはこの二つしかなかったので、暇があったら他の店もいろいろ見てみよう。

(順番が前後しちゃってすみません。)ThinkPad Xシリーズ用のケースとしては、国立商店の「In-Packed」というのがありますよ。黒赤でそれっぽいです。耐衝撃性もそこそこですので候補に加えてみては。

余談ですが、僕はノートPCを運べるよさげなバッグを見つけるとつい買ってしまうという「PCバッグジプシー」だったりします。「デザイン」「機能性」「かばんとしての持ちやすさ」を両立させたものっていうのは、なかなかないんですよね(おすすめのがありましたらみなさんぜひ教えてください)。いっそPCバッグのコーナーでも作ろうか……。

ノートPCしか使わない人の考えるバックアップ

前節の一部だったのですが、ThinkPadばなしというよりは、この機に乗じての一般的なノートパソコン使いこなしメモみたいになってしまったので独立させました。

システムが動いているのと同じディスクにバックアップを作るIBM Rapid Restore PC/Rapid Restore Ultraは、HDDの物理的破損などの事態に対しては何の役にも立たないので、僕も使っていません。Windowsも最近はシステムが不安定で起動しなくなるということは滅多にないので、むしろ本体の破損や盗難、HDDのクラッシュなど(によるデータの損失)のほうが心配になってきました。そうなると自分で作ったデータはどこか物理的に別のディスクに退避させておいたほうがいいだろうと。

今使っている機種(ThinkPad X24)に乗り換えた直後に、それを修理に出さなくてはならなくなって、また以前のマシン(ThinkPad X20)に環境を移行しなおす羽目になったことがありました。データやアプリケーションの数・容量が増えると、バックアップからの復帰や環境の移行にかかる時間も問題になってくるんですよね(というかくたびれます)。

ということで、僕は以前使っていたマシンを家でサーバ的に動かして、そこにデータ(「マイ ドキュメント」や「デスクトップ」上のファイル)を定期的にミラーリングするようにしました。このやり方は、使用しているマシンのシステム状態はバックアップできてないんですが、反面、たとえば出先でノートパソコンが真っ二つになっても(笑)、部屋に戻れば仕事は(ほぼ)即日復帰できます。実際には必要に応じてアプリケーションをインストールしないといけなかったりはしますけども。

ミラーリングには「御鏡」というソフトを使ってます。そういえば、以前某新履歴(2003/01/31(Fri))で公開が中止された「サービスとして動作するフリーのリアルタイムミラーリングツール」なんてのが話題にあがってましたね。(一時サイトがダウンしたことがあるそうなので)最初これかと思いましたが、「御鏡」はシェアウェアなので違いますね。

2003-08-03

プロパティシート上の複数行エディットコントロール(TX-C)

ダイアログでプロパティシートを作成して、そこに複数行表示のエディットコントロールを配置しようとするとうまくいきません。結局VCの掲示板に投げてしまいました。

プロパティシート上の複数行エディットコントロール – 作ろうTX-C
http://www.villagecenter.co.jp/cgi-bin/tx-c.cgi?L=3121&X=1

エディットコントロールにフォーカスがある状態でESCキー押すとプロパティページ全体が真っ白に破棄されるし、そもそもダイアログの初期化じたいもうまくいってないような感じ。以下のようなコードで確認できます。

#include <windows.h>

void main(TX *text)
{
    HDIALOG hdBase = dialog("Test");
    HDIALOG hd = dialog("Page");
    DTRECT r;
    dialogGetPos(hd, &r);
    r.cx = 40 * DTCX;
    r.cy = 8 * DTCY;
    __dialogAddItem(hd, "Edit", "Hello, world.", 100, &r,
        WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP | ES_MULTILINE | ES_AUTOVSCROLL);
    dialogAddPage(hdBase, hd);
    dialogOpen(hdBase);
}
ダイアログ出現時(この時点ですでに変)。
[ダイアログ出現時のスクリーンショット]
ESCキーを押すと真っ白けになる。
[ESCキーを押したときのスクリーンショット]

「ES_MULTILINE」と適当なキーワードを混ぜてググってみたところ、唯一関係あるとおぼしきことを書いてるのがCodeGuruというサイトでのリストビュー(笑)の使い方の解説記事。

ListView Control – Table of Contents
http://www.codeguru.com/listview/multiline_edit_subitems.shtml

(記事のタイトル付けが変なような気もしますがそれはおいとくとして、)掲載されているサンプルコードに “Strange but true:” という前振りで “If the edit control has ES_MULTILINE and ESC is pressed the parent is destroyed if the message is dispatched.” などというコメントが書かれています。もっともこれはリストビューのアイテムの編集についてのVC++によるコーディングを説明している記事なので、あんまり関係ないような気もしますが、ほかに近いことを言っているページが見つからなかったのでいちおうメモ。

さて、TX-CにはdialogEditWzというAPIがあるのになんでエディットコントロールなのかと訝しむ人もいるかもしれませんが、じつは(ES_READONLYと併用して)内容をコピーできる読み取り専用のテキストを付けようとしていたのでした。だめならあきらめてStaticコントロールにすると。

しかし、なんかこのままわかんないのも癪だなあ。

2003-08-01

日記っぽくなってくるというのはこういう感じなのですね。

更新情報

ftpsite 1.01を公開。一度転送に失敗したファイルが次回以降転送対象にならなかったのを修正しました。これらのファイルが再び転送されるようにするにはftpsite-timestamp.txtの該当箇所を手動で削除する必要があります。

WZ5β版延期

Re: WZ EDITOR 5.0の予定 – #2388@βテスト会議室
http://www.villagecenter.co.jp/cgi-bin/wzdev.cgi?L=2388&X=1
昨日の公開を目指していたβ版ですが、ユーザインターフェースの改良をより
深くすすめたい意向により、β版の公開を8/18頃まで延期させていただきたい
と思います。

このまま発売まで寄り切られることも危惧していただけに、まずはいいニュースといえるのではないかと。

歯医者の置き土産

数年前に通っていた歯医者が、どうも歯の中に治療道具の針の先端部だかなんだかを置き土産として残していってくれたらしいです(針もろとも詰め物で埋めた)。いま通っている歯医者さんがレントゲンを見せながら説明してくれました。

冗談じゃないと思いました。文章をマークアップで強調しておもしろおかしくする気にもなれません。

2003-07-29

C413Sのバッテリーがくたびれてきた。うぅ、ソニエリさん、早くして……(何が)。

京セラさんでもいいですよ(だから何が)。

ハッシュテーブルが欲しい(TX-C)

前々からなんとなく必要性は感じてたんですが、文字列をキーに任意の値を高速に取り出せるようなオブジェクトが使いたいんですよね。ハッシュテーブルというのか、マップというのか、一般的になんと呼ぶのかよくわかりませんが。

文字列ブロックを使ってそれっぽいインターフェースを持ったのを作るのは簡単なんですが、たぶんそれはめちゃくちゃ効率悪いんでしょうね。ここは気合い入れて書くしかないだろうか……。

「〜でよろしかったですか」

いまさらながら、ファミレスなどで急増中の「〜でよろしかったですか」は本当にやめてほしい。あんなすわりの悪い文句をよく平気で使えるものです。もう気持ち悪くて気持ち悪くて。

「〜ですか」でもなく「〜でよろしいですか」でもなく「〜でしたか」でもなく「〜でよろしかったでしょうか」でもなく「〜でよろしかったですか」。どういう言語感覚をしているのやら。ウェイターという職種からすると、発端はアルバイトの留学生の言葉だったりするのかも。だいたい使うシチュエーションもなんか変だし。

えと、やめてほしいっていうのはもう言ったですか?