これまでの:バックナンバー?

● 2002.10.29 

 CalendarMemo の環境設定用引出シートを作成しました。これまでメニューバーの環境設定は選択できないようになっていました。新しいバージョン(未公開精査バージョン)では環境設定用の引出しシートが表示されるようになっています。
 普通のアプリケーションでは環境設定はパネルが表示されます。でも CalendarMemo では環境設定を mc プログラムで行うのでエディタが開くようにしています。まだ環境設定用の関数は少ない(まだ4個だけ!)のですが、順次増やしていく予定です。

 予定ではユーザが改良・改造の要望を私にメールしなくても自分で新しい機能を CalendarMemo に追加できるようにと考えています。これには mc プログラムを使う予定です。まだ先の話なので話半分に読んで下さい。


● 2002.10.28 

 あっという間に一週間経ってしまった。最近時間の進みが異常に速すぎる。もう続かないと思っていた DownloadASCII さんのダウンロードランキング、先週もまたトップになったようです。これで6週連続トップにさせていただきました。

 今日は久々に CalendarMemo の改良をしました。ユーザの方から月間ファイルシートにあるボタン(■▲●,,,,)が使い出があるとのメールを思い出しました。そこで mc の関数でタイトルを変更できるようにしてみました。この関数を使えば任意の検索文字を指定する事ができるようになります。それからメモへの年月日時分秒の挿入で年月日だけという要望もありました。
command+control+shift +D で年月日だけの挿入を追加しています。
 英語バージョンでは [HLP] ボタンが動作していませんでした。これも動作するようにしました。ただしマニュアルはまだ英文にしていません。誰か暇な方、翻訳してくれませんかね〜!

問題が無ければたぶん ver 1.0.1a05 以降で公開します。


● 2002.10.22 

 またバグ発見。今度は全ファイルのファイル名検索で見つかった。ありもしない0月のファイル検索をしているようだ。そのため検索に要する時間が長くなる。0月のフォルダを検索対象から外して改良は終わり。年フォルダに月フォルダ以外のファイル(何故か不可視ファイルが出来ている)があるとこの現象が発生するようです。

 前回のコメントから一週間以上が経ちました。また DownloadASCII さんで先週のダウンロードランキング、またトップになったようです。これで五週連続トップにさせていただきました。でも、もう後は続かないでしょう。


● 2002.10.16 

 ver 1.0.1a01 を公開したと思ったら早くもクラッシュが発生するやばいバグが見つかってしまった。バグフィックスした ver 1.0.1a02 を公開するのでできるだけ早く交換して下さい。

 でもこれまで気づかなかったのですから普通に使っているぶんには問題ないような。でもある操作をすると確実にクラッシュするだけに知ってしまうとクラッシュさせたくなるのが人情です(クラッシュさせても他に影響はないです)。だから早めに以前のバージョンと交換して下さい。

 公開している ver 1.0.1a02 はアプリケーション本体だけです。アプリケーションだけの交換になります。

 あ〜、それから DownloadASCII さんで先週のダウンロードランキング、またトップになったようです。これで連続四週トップにさせていただきました。


● 2002.10.13 

 ver 1.0.1a01 のアップデータを公開します。アプリケーション本体だけなのでアップデータと言えるかどうか? ver 1.0.0 と交換して使ってください。今までの ver 1.0.0 で問題が無ければあえてアップデートする必要がないでしょう。

 それから、原因が判らないのですが 10/11 頃より、また急激なダウンロード数の増加(300件/日)がみられました。前二回のダウンロード数増加の原因は判るのですが、今回の増加はさっぱり???です。誰か知っていたら教えて下さい。

 沢山の使用レポートのメールが届き、楽しく読ませていただいております。時間がなく返信メールが出せないものもあります、この場を借りてお礼申し上げます。機能追加の要望、けっして無視している訳ではありません。次回のバージョンアップではできるだけ反映しようと思っております。ただ「こちらを立てれば、あちらが立たない」で総てを取り込むことができません。そこでユックリ時間をかけ、できるだけ多くの方の要望を取り入れることができる決定打を考えております。まだ構想の段階なので詳しくは言えませんが「新機能追加はユーザに丸投げ」ができるようにと考えています。


● 2002.10.09 

 バグフィックス版を公開する予定です。今度の日曜頃を予定しています。新しい機能の追加はないので現時点で問題ない方はバージョンアップの必要はないと思います。


● 2002.10.07 

 バグがみつかりました(つまらないバグ!)。ファインダーからの drag & drop でシンボリックリンクを作る機能なんですが、余り使わないもので気がつきませんでした。
 それから前々からへんだな〜と思っていたのですが、先月のカレンダーに戻る [<] ボタンをクリックすると日付が強制的に一日になっていました。バグフィックスついでに先月のカレンダーに戻る時には先月の最終日になるよう変更しています。これを書いていて思い出したのですが、先月に戻る時、一日になる理由があったんです。それは一日の一番最初に、その月の重要な出来事をメモしておけば一ヶ月分のサマリーになるかな?と思って一日になるようにしたのでした。自分でも忘れている位ですから、あまり使わない機能でしょう。ということで先月のカレンダーに戻る時には最終日に戻るよう ver 1.0.1 では変更しています(誰も使っていないよね?)。

 それから DownloadASCII さんの先週のダウンロードランキングでもトップをとらせていただきました。この場を借りてお礼申し上げます。三週連続というのも嬉しいものです。累積ダウンロード数のグラフを描いてみたら、飽和してきたようなのでそろそろ通常のダウンロード数(5〜6件/日程度)に戻るようです。たぶん四週連続トップにはならないでしょう。


横軸:9月1日からの日付。縦軸:累積ダウンロード数。
そろそろ飽和してきたような感じです。
CalendarMemo から実行できる mc (matrix calculator) では
こんなグラフも数行のプログラムで簡単に描けます。試してみては?


● 2002.10.06 

 松本って意外に暖かい所なんですね。もっと寒いと思っていました。それより変だったのは金曜日に松本で震度3の地震があったらしいのですが会場の文化会館にいた私は何も感じませんでした。どうなっているんでしょうね。
 そういえば、前に8月の震源のデータを分析した時に松本の上を通っている糸魚川静岡構造線に沿って地震が少ない、そんな解析結果だったんですが活動が再開したんでしょうか?

 そうそう CalendarMemo のダウンロード数が1800件を越えたようです。累積ダウンロード数もようやく緩やかになりそろそろ終わりのようです。学会も終わったので、思いついたアイデアを CalendarMemo の新しい機能として追加しようかと思っています。


● 2002.10.02 明日から学会(松本)

 明日から学会で不在になります。この間、またルータが暴走すると当サイトへの接続ができなくなります。でも最近は大丈夫、何故だ〜 台風による電線被害で瞬停があると暴走するのかと思っていても何もありませんでした。本当にルータが壊れているのだろうか?

 台風は思ったより影響が無かったみたいです(私の家だけですが!)。台風は秋田より東を通った事、移動速度が速かった事で近付く時はそんなに風は強くなかったのでしょう。でも通り過ぎた後の夜中の3時すぎから4時すぎまでちょっと風が強かったのです。後は散発的。暇なのでナントカ艦長タイラーってアニメを観ていたが、これ面白い漫画ですね。久々に楽しめた!
 その後、何にもないので4時すぎに寝てしまった(これは雑文に入るか?)。


● 2002.09.30 二週連続ダウンロードランキングがトップ 感謝です!

 DownloadASCII さんのダウンロードランキングで CalendarMemo が二週連続トップにさせていただきました、感謝しております。これでバージョンアップにも力が入りそうな気が!
 でも Window$ のトップは 17152 件で CalendarMemo の 35 倍というのは唖然! 改めて Window$ ユーザの多さを感じます。これじゃソフトハウスが Macintosh 用のアプリケーションを開発してもお金にならないでしょう、理解できます。やはり Macintosh はフリーウェアが頑張らないと!


● 2002.09.29 CalendarMemo ダウンロード件数 1000件突破

 朝起きてCalendarMemo ダウンロード件数を見たら 1000 件を突破していました。前バージョンの倍の早さで越えたみたいです(驚いた!)。


横軸に9月の日付、縦軸に累積ダウンロード数のグラフ
二回の急激なダウンロード数の増加が見られる。

 上記は累積ダウンロード数の推移を示したグラフです(この作図も CalendarMemo の mc を使っています)。グラフを見ると二回の急激なダウンロード数の増加がありました。19日は ver 1.0.0 の公開日で「新しもの好きのダウンロード」さんと「林檎の水溜」さんで紹介していただいております。26日の増加は「アップル-MacOSX-ダウンロード」の HotPicks に取り上げられた為ではないかと思います。 Web サイトで紹介されるって数字で表れるだけに凄いですね、この場を借りてお礼申し上げます。

 最近、 CalendarMemo の改良は一時停止中(毎年、秋は忙しいんです)。仕事中にも色々とアイデアは途切れず思いついているので来月後半位から改良を再開しようかと思っている次第です。メジャーなアップデートは DownloadASCII さんで行いますが、細かな改良は当サイトで公開しようと思っています。

 カレントディレクトリ設定関連を強化した ver 1.0.1 はほぼ試験を終わっているので出張が終わったら公開しようかと思っていますが。でもこの改良は mc (matrix calculator) の方なので日記メモだけを使っている方はダウンロードの必要はありません( ver 1.0.0 と同じ!)。


● 2002.09.28 金魚の様子がおかしい!

 これは雑文に書くべきことかもしれない。今日になって金魚の様子がいつもと違う。うちの金魚、飼い主に似て節操がないというか人の姿を見ると何時でも餌を貰えると思ってザワザワ元気に騒ぐんです。でも今日に限って朝から静か。夜中と同じように皆が寄り添って不安そうにしているんです。私が近づいてもそのまま、ご主人様が餌をやろうとしているんだぞ〜〜少しは喜べ!!!!

 餌をやると、ようやくいつものように騒ぐのですが、食べ終わるとまた皆で寄り添っている。今日はいつもと違うぞ〜風邪でもひいたのか?

 何か不安にさせる遺伝子に組み込まれた記憶にスイッチが入ったような、どうしたんだろう。

また地震?、最近、秋田、静かだからな〜〜〜〜〜


● 2002.09.25

 MacOS X 10.1.5 と 10.2.1 の違いがありました。それはクリップボードにある画像の対して演算を行う場合です。

changeCopyBitsMode(1);
a# = getClipPict(0);
changePictSize(a#,1/2)+0;

 クリップボードに画像を置いて、上記プログラムを実行するとクリップボードの画像が 1/2 の大きさになります。 10.2.1 では問題なく実行できますが前の 10.1.5 では真っ白な画像になってしまいます。画像を srcCopy で CopyBits すると問題があるようです。

 そんな時は changeCopyBitsMode(0); でお使い下さい。画像は白を透過にした画像になりますが大きな影響はないと思います。


● 2002.09.24

 今日は嬉しい事と、困った事、の2つの報告があります。まずは困った事、当方のサイトはダイナミック DNS を使っているので稀に IP が変更されるのです。この1〜2ヶ月は変更なしに大丈夫だったのですが。先程、突然にリセットされました。で、 IP が変更されたため DNS テーブルが更新されるまで当サイトにはアクセスできません。というかこれを読んでいるということは DNS が更新されたので大丈夫でしょう。

 嬉しい事、それは DownloadASCII のダウンロードランキングで週一位になった事。でも自由参加のホノルルマラソンで最初だけ全力疾走、後はバテてリタイヤみたいな感じ。


● 2002.09.20

 今日は大変だった。朝、家で階段を踏み外し負傷、昼まで寝ていた。午後、足の痛みは無くなったが擦過傷の痛みは依然として残っている。こんなケガ久しぶりだ。何もすることがないので CalendarMemo のダウンロード数をみてこんなプログラムを書いてみた。

追加:プログラムに使っている swapTextString 関数、マニュアルに書いていなかった(よくある話です。まだ沢山あると思う!)。でも使えるので安心して下さい。次回のバージョンアップでマニュアルに追加しておきます。


● 2002.09.19

 CalendarMemo ver 1.0.0 を公開しました。本体のダウンロードは DownloadASCII から行います。 ver 1.0.0 は圧縮した状態でも約 11MB 以上あります。確認のためダウンロードを試みたところ約2分程度で終了しました。やはりサーバが違うと速いですね。内容も問題ないようです。


● 2002.09.18

 すごいポカをやってしまった。 Download ASCII さんに登録お願いしたのに肝心のファイルが無い(実際に無かったので焦った!)。アップロードしていたはずなのに、何故か消えていたんです。

 でも原因が判りました。 Web ページの更新はローカルディスクを使っているんですが、ページ編集後にデータを転送する時、 SilverKeeper 使っているんです。前の時は ver 1.0.0 を直接アップロードしていたんですね。そのため Web の更新をしたとき消えてしまったんです。

 先程、ファイルが消えた原因がバックアップのせいなのか試してみました。その結果、綺麗に消えていました。バックアップって設定が大事なんですね(お〜怖!)。

 という訳で Download ASCII さんにはご迷惑おかけしました。 Web ログを見ていたら正常にダウンロードしてくれたみたいです。よってもうすぐ ver 1.0.0 の公開ができると思います。


● 2002.09.16

 Web ログをみていても Download ASCII さんはまだ CalendarMemo のダウンロードはしていないようである。やはり Ver 1.0.0 の公開は連休明けになりそう。

 暇なので CalendarMemo で Web ログを解析するプログラムを書いてみた。本当は Perl を使った方が綺麗で高速だとは思うが、この正規表現というのが苦手で。


● 2002.09.14

 正式版の Ver 1.0.0 のアナウンスを Download ASCII に送った。今後ダウンロードは Download ASCII さん一本にしようかと考えている。よって Ver 1.0.0 の公開は Download ASCII の登録後になる予定。たぶん連休明けになるのでは。

 それから、バグレポートを追加しました。見つかったバグをのレポートを書いていこうと思っています(努力するつもりですが)

(^_^;;


● 2002.09.13

 久しぶりに FTP クライアント機能を使ったらリストがずれ使えなかった。この問題を解決した。原因は聞かないで下さい、ちょっとした手抜きが・・・・

 さて、マニュアルも大体完成し読み直して問題が無ければ CalendarMemo ver 1.0.0 として公開しようと思っています。http://mcalc.zapto.org は最近調子が悪いので DownloadASCII さんにお願いしようかと思っています。


● 2002.09.10

 bosai.go.jp からユーザ登録のメールが届いた。早速、震源データをダウンロードし CalendarMemo で地震頻度の鳥瞰図を描いてみた。その結果が下図である。


2002/08/01~31 までの 10390 件の震源データ

 震源だけで日本列島が浮かび上がってくるというのも面白い。また Rotater で三次元散布図を描き回転させると震源の散布からマントルが日本列島の下に潜り込んでいるのが判る。処理プログラムがあるので試してみて下さい。

 一回に七日間のデータしかダウンロードできないのには不満がある。せめて一年分は一度にダウンロードできないものだろうか。

  CalendarMemo だったら2〜3年分(多分30〜40万件)は軽く処理できる。そうなったらもっと綺麗な画像になるだろう。


● 2002.09.08

 mc マニュアル部をアップデート。詳しくは[mcについて]をどうぞ。マニュアル表示シート内で編集できるようにしたが、これ思ったより便利。マニュアルの編集がはかどる。これで誤字・脱字・駄文が無くなると嬉しいのだが。

 そうそう、http://www.takuhito.com/ トップページの FavoriteLink に CalendarMemo が載っていた。嬉しいが、他と比べるとアイコンがダサすぎる。もっと綺麗なアイコンにしなくては! ということで下記画像に換えてみた。オオムガイの作図プログラムClassic 版 mc のアイコンを重ねたもの。

a# = loadPicture("icon.pict");
b# = loadPicture("mcIcon.jpg");
b# = changePictSize(b#,1/2);
m = getPictSize(b#); m = m[#,2];
d#= drawPictureInCanvas(a#,b#,|0,128-m|);
d#;				

 二枚の画像を重ねるには drawPictureInCanvas 関数を使った簡単なもの(少し暗いので修正が必要!)。絵心があれば自分で描くのだが、それは無理な話なので。


● 2002.09.07

 Craig Kloeden 氏が開発している Rotater の MacOS X 版が公開されていた。さっそく rotater 関数を追加。 rotater 関数を使うとこんな3D画像が表示できます。

 と言っても、まだ Ver 1.0.0 を公開していないのでできないよね!今マニュアルを書いているので試用版公開は来週、たぶん15日もしくは16日にする予定。正式版は本業が忙しくなるので来月10月の第2週以降(脳外学会総会が終わってから)に公開しようと考えています。


● 2002.09.06

 マニュアルを表示するシートをマニュアル・ブラウザって勝手に決めた。なかなか軽快にマニュアルを表示してくれる。考えてみたら作者の自分でも CalendarMemo や mc (matrix calculator) の使い方を全部を覚えている訳ではない。これは便利だ。

 と、マニュアルを読んでいたら誤字脱字/変な表現。こりゃ読まされる方が大変。ちょっと罪悪感を感じたのでマニュアル・ブラウザで編集ができるように改良。それに同じマニュアルを別のところで使い回しをしているので全文検索の機能も追加。このまま改良し続けたら日記メモと同じになってしまうので、ここいらへんで止めておこうと思う。

 でもマニュアルって便利ですね。出来上がったマニュアル・ブラウザを紹介しましょう。


マニュアルを開いたときの様子

 上記画像はマニュアルを開き「mc 応用編」から「オオムガイのような図形」を開いている様子。このサンプルプログラムを左のエディタ部に copy & paste すると実行できます。

 こんな文章(?)を書いていると思ってしまうのだが。本のようにペラペラ捲れるエディタあっても良さそうな。でも大きなモニター画面を使わないと〜読めないかな。今年の冬は CalendarMemo ブックバージョンかな?


● 2002.09.05

 引出シート(?)にマニュアルを表示するようにしました。これで CalendarMemo もようやく ver 1.0.0 として公開できるめどがたったところです。これからしばらくはマニュアル書きに没頭です。今月中に ver 1.0.0 が公開できるかもしれません。


● 2002.09.03

 mc 部分の動作試験をしています。単に試験だけをするのもつまらないので色々な応用例(サンプル)を書いていこうかと思っています。今日は簡単に平面画像の輝度を高さで表現する鳥瞰図を紹介します。鳥瞰図自体には意味が無いかもしれませんが何かに使えるのでは。


● 2002.09.02

 どうやったら計算ができるの?という問い合わせが多いので計算方法説明のページを作りました。Web ページに載っているサンプルプログラムを試す方法も併せて紹介しています。
 Classic 版 mc ではマニュアルを簡単に呼び出せたのですが CalendarMemo でも同様のマニュアル閲覧機能が必要ですね。


● 2002.09.01

 MacOS X 版 mc が機能する新しい CalendarMemo ver 0.9.9a05 を公開します。まだボリュームレンダリングや QuickTime 関連の処理が完成していません。マニュアルも完成していないので秋田県立脳血管研究センターのページを参考にして下さい。


● 2002.08.26

 もうすぐ mc (matrix calculator) が実行できる CalendarMemo を公開する予定です。たぶん週末にかけてと思います。 macOS X 版の mc は Classic 版とほとんど同じ機能を持っていますが一部(まだ相当量)に異なる部分があります。そこで新しくマニュアルを作り直そうと思っています。詳しくは [mc について] を参考にして下さい。


● 2002.08.20

 仕事に使い始めたらどんどんバグが見つかる。まだモジュールを何処に保存するか決めていないので影響ないかもしれないが、モジュールを使うとモジュールから戻った後にモジュールで使った同じ名前の変数が削除されるという重大なバグが見つかった。これは変数検索で実行レベルのチェックをコメントアウトしたためであった(これはコメントアウトを外してOK!)。もう一つは改行を含む文字列の代入文。これが可能にしたはずだが、実行するとエラー。これも \n の処理をしていなかった(忘れていた!)。更に、UTF8 って全部3バイトかと思っていたら可変長だったんですね(恥ずかしい!)。とう訳で公開バージョンではχのような文字を使うとエラーになります。次回のバージョンでは 0xC0 - 0xDF は2バイトとして取り扱うようにしました。しかし、こんなんでは次回もまた試用版で公開かな?(後、バグは無かったかな〜)

 後、バグではないが文字列の置換を行う swapTextString 関数が処理に無茶苦茶時間がかかることが判明。現在の公開バージョンでは使わないほうが、というより使わないか!。ループ内で strlen, strcat 関数を使うのが原因でした(これも CW6 ではそんな事はなかった)。結局は strlen や strcat を使わずポインターを使って解決(簡単に済ませようとしたツケが!!!)。900KB の文字列を置換するのに1秒程度(2桁以上の高速化:でもあまり使わないだろう!)。オプティマイズで何とかしてくれるのではと思った私が馬鹿だった!

 それから、面白い事が判明。知らなかったのは私だけなのかもしれないがテキストファイル (.txt) は暗黙の了解なのか漢字コードは ShiftJIS だったんですね、知らなかった。それにクリップボードに保存したテキストも何故か漢字コードは ShiftJIS 。 CalendarMemo のドキュメントをコピーし mc の getClipText 関数でテキストを得ると内容は ShiftJIS でした(Cocoa では気がつかなかった!)。 mc では文字列を UTF8 で使っているので save 関数で保存したファイルを TextEdit で開くと文字化けしています。でも保存ファイル名は UTF8 のままで良いのですね(これが不思議:漢字のファイル名で保存できる:まあ使わないが!)。 mc ではそのまま読むので UTF8 のままなら、問題なく読めます。 mc もテキストの保存時には ShiftJIS を使った方が良いのでしょうか。今のところ必要なら cjkvconv.pl で UTF8 を ShiftJIS に変換できるので問題ないと思います。

system("perl cjkvconv.pl -u8 -ij < old.txt > new.txt");

 でも何でできないんだ!って文句を言う人も居るだろうな〜 テキスト保存時は ShiftJIS って決められているのだろうか?


● 2002.08.19

 今、mc 部でのディレクトリ管理をどうするか悩んでいます。パネルから作業場所のディレクトリを指定する gnuplot のようなカレントディレクトリの設定方法も面白そうなので試しています。設定はできるのですがパネルからの設定って面倒ですね。やはり drag & drop で済ませた方が便利ではないかと思っています。

 それからファイルの大きさを調べる fileLength 関数にバグがありました。fgetpos 関数はCW6でコンパイルすると正常にファイルの大きさを取得できるのですが ProjectBuilder の方でコンパイルするとできないバグです。これはキャストの指定がまずかったようです。でもCW6では上手く行ったのが不思議!  このバグは Ver 0.9.9a03 で解消されています。

 現在公開している CalendarMemo Ver 0.9.9a02 は単に計算部分に mc コアを載せただけなので試用版という事です。マニュアルができしだい正式版(フリーのまま)として公開する予定。


● 2002.08.18

 ようやく CalendarMemo から mc (matrix calculator) が実行できるようになりました。詳しくは「 CalendarMemo で mc 」を御覧下さい。また最新版の CalendarMemo もダウンロードできます。

 夏季休暇のほとんどを使ってもまだ完成していません。今回の ver 0.9.9a02 は試用版ということでお願いいたします。


● 2002.08.12

 作図関数を考えているのだが、どうしても標準Cだけの mc では難しい。Cocoa で作った CalendarMemo から標準Cだけで作った mc を起動し、更に mc から作図部分を Cocoa で作ったアプリケーションを起動する。この連携を上手く行う方法が判らない( open コマンド(プログラム)で Cocoa アプリケーションを起動できるのだが引数が使えない)。 mc をサーバにしなくてはならないのだろうか? でもその方法が判らない???

 mc を CalendarMemo から独立したプログラムとして利用するという当初の目標が揺らいできている。もう一日考え、私には無理であるとなったら mc を CalendarMemo の中に入れてしまおうと思っている。mc はできるだけ Macintosh の影響を受けないように開発しようと思っていたが簡単にはできないようだ。実現するには時間がかかりそう。


● 2002.08.09

 最近は CalendarMemo より、それにのせる mc (matrix calculator) の作業ばかりになっている。昨日、ようやくモジュール(関数とかサブルーチンと呼ばれるもの)の登録ができるようになった。前の mc では一回に一つのモジュールしか登録できなかったが、モジュールの構文を新しくし複数のモジュールを一度に登録できるようにした。10年前の懸案がようやく実現。というか10年もそのままにしてきた事が恐ろしい!

 どんなかと言えば、下記の様な感じで青文字列のプログラムを選択し実行すると赤文字列の結果が得られる。

module abc(a$,b$)
{
	  c$ = a$+b$;
	  return(c$);
}

module	cba(a$,b$)
{
	  c$ = a$+"----------"+b$;
	  return(c$);
}

abc("aaaaa","bbbbb");
cba("aaaaa","bbbbb");

aaaaabbbbb
aaaaa----------bbbbb
.OK.

 と、こんな感じ。たいした事が無いように思えるかもしれないが、プログラムからみるとモジュールの登録とプログラムの実行が同じという点で便利(一般のプログラミング言語では一般的なことなのでたいした事がない)。

 確かはるか昔、 PC9801 の時代に RUN/C というインタープリタのCがあった。これを思い出してしまった。新しい mc のコアは RUN/C に似ているのかもしれない。インターネットで調べてみたら Windows 用として Study C という RUN/C に似ているものがあった。教育用には便利かも!

 これとは関係ないが、RUN/C と同じ時代にコンカー98(スペルを忘れた)という PC9801 でマルチタスクを実現するソフトがあった。確かバックスという会社ではなかったかと思うが。640KB のメモリでよくもまあマルチタスクを実現したものだ。 MacOS X を使うようになり思い出してしまった。パソコンは20年前と比べても大きな進歩をしていないのではないだろうか。


● 2002.08.07

 mc のバグ。行列の要素同士の乗算を行う演算子 ・ が使えない。何か基本的な間違いがあるのではと調べたが判らない。で、考えてみたら MacOS X の漢字は UTF8 だった。前と同じように ShiftJIS で作っていた私の大きな間違いでした。知らなかった UTF8 って3バイトだったんですね(^^;)。

 漢字を追加し UTF8 にすることで行列の要素同士の乗算を行う演算子 ・ が使えるようにした。関連し、思わぬ副作用というか日本語変数名が使えるようになってしまった。

林檎 = 125;
個数 = 15;
合計金額 = 林檎*個数;
合計金額;
1875.0000
.OK.

 こんな感じです。小中学生のプログラミングの勉強に使えるのではと思っているのですが。mc のプログラミングを知らなくても上の式を見たら何を計算しているのか判りますからね(どんなもんでしょう?)。

 そうそう計算の実行に esc , enter キーを使っていたのですが、仮名漢字変換で全て取り消しに esc キーを使う方が多いようです。私自身、仮名漢字変換の全取り消しに esc キーを使った事がないもので....。そこで esc キーを止めてみました。その結果、どうも enter キーは場所的に離れているので使いにくいです。小指で押せる esc キーの方が便利。

 ということで CalendarMemo で計算やプログラムの実行はこれまでの通り esc キーを使う事にします。仕様ということで我慢して下さい。


● 2002.08.06

 mc (matrix calculator) で Macintosh に依存しない、標準Cで実行できる部分(だいぶはしょっているが)が完成した。ターミナルで実行するものである。このままだとバグ取り作業が面倒なので基本的な部分の改修が終了するまで CalendarMemo に組み込む事にした。

 という訳で CalendarMemo から mc のコア部分が実行できるようになった。嬉しい〜〜〜〜。まだ mc 単独で利用できる状態に無いので ver 1.0.0 ではなく、その一つ前の ver 0.9.9 とした。Classic の mc と同じになったら ver 1.0.0 にしようと思っている。

 しかし、ここまで漕ぎ着けるまで7〜8ヶ月は時間のかかりすぎ。最近、開発のペースが落ちできている。最初は歳のせいと思っていたがどうも違うようだ。どうもプログラミングの考え方自体に違和感を強く感じる。なんだろう?


● 2002.08.05

 今日は関数A〜Rまで、残りはS〜Z+α。関数の多くは問題ないのだがマニュアルを書いていない関数もあり、何をしているか調べるのに時間がかかる(連立方程式を解くルーチンが3種類にFFTが二種類、スプラインも二種類あった。悩んでいたんだな〜)。あと手抜きも結構あり、できるだけ直そうと思っている。でも面倒な時にはペンディング。

 mc の内部関数は基本的部分だけにしできるだけ外部関数(ユーザが開発)を増やそうと思っている。新しい関数を加えるたびに mc 自体をコンパイルするのは面倒。これに関連しモジュールをどうするかまだ決めていない。


● 2002.08.02

 ようやく構文解析の結果(逆ポーランド表記)を実行する部分までできあがった。ちなみに計算はこんな感じ。

mc >2.5+3.6*(5-2.1)/(3+2);
    4.5880
mc >|1,2,3,4,5|/1.5;
    0.6667     1.3333     2.0000     2.6667     3.3333
mc >

 何となく雰囲気がでてきた。前の mc には画像の四則演算もあるのだが、画像は機種に強く依存するのでとりあえずペンディングにしている。残り関数部分が実現すると CalendarMemo に組み込める。まだバグがありそうなので色々と試してみなくては。昔の Mac の改行は \r だったが UNIX になって \n になった。最初に見つかったバグは改行であった。デバッガの I/O では改行するのだがターミナルでは改行しない。調べたら \r, \n の取り違えであった。

 今回の mc は機種依存を考え標準Cだけで作っている。 CalendarMemo から便利に使うには GUI を組み込まなくてはならないだろう。MacOS X に依存する部分を如何に標準Cに組み込むか、悩んでしまう。


● 2002.08.01

 構文解析のプログラミングは思ったより順調。入力した式を逆ポーランド表記まで変換することができた(モジュールの登録が残っている)。逆ポーランド表記になったということは、70%は完成ということか。残りは頭を使わない力仕事だけ。

 思うに、プログラミング言語の開発って普通のアプリケーション開発より簡単と思う。 CalendarMemo の開発には半年も費やしているが言語は週単位でできてしまう。これを LEX とか YACC を使ったら大学の実習でできるというのが理解できる。要は何がしたいのかだろう。

 盆休みが取れたので集中してできそう! でも力仕事の部分って時間がかかるんだよね〜


● 2002.07.31

 今日から mc の移植を開始した。昨日、手直しだけで移植が可能なのか調べてみたのだが、Classic のソースには MacOS に依存する部分が大量にあることが判った。だいぶ Mac に甘えすぎていたようだ。簡単な手直しで移植が可能と思ったのは大きな間違い。タイムスタンプをみると 1992 年(10年も昔のソースコード)。

 私の悪い癖でソースにはまったくコメントが書いていない。でもソースは10年経っても読めるもんだと感心している。私のプログラミングは10年経っても進歩していないということかもしれない。

 mc は手直しでなく完全に新しく作った方が早そうに思う。ということで UNIX (MacOS X)版は新しく開発することにした。とりあえず今日の作業は命令文字列を形態素に分離と構文解析の途中まで(文・式まではできたのだが因子でちょっとつまずき)。構文解析以降は mc 固有の機能に入るのでそうとう時間がかかるだろう。構文解析が完成するまで一週間かかるのでは。そうなると CalendarMemo から実際の行列計算ができるのは盆明けになるだろう。

 処理結果の作図が今のところ全くの未定。GNU Plot が使えるか試すためダウンロードしてみたが個性が強すぎる(ユーザは我慢して使っているんだろうか?)。ということで作図関連はとりあえず Cocoa で作り、余裕がでてきたら OpenGL にと想像している。


● 2002.07.22

 雑文に HDD から磁石を取りだす方法を書いた。俺って暇なのかしら!


● 2002.07.21

 メインページをリニューアルしました。ページを Adobe GoLive で作るつもりだったのですが、何故か画像を張り付けるとクラッシュ。そこで今回も昔使っていた PageMill 3.0J を使うことにしました。でも GoLive とPage Mill は微妙に違うのです。困ったもんだ。


2002/07/21 Nishimura Hiromi