| 月 | 火 | 水 | 木 | 金 | 土 | 日 |
|---|---|---|---|---|---|---|
| 28 | 29 | 30 | 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | 1 |
先日、MacFeelingさんのページを見にいったら、SpiralSeeQを開発中というのを紹介して下さっていました。実は名前負けしたヘッポコソフトなので申し訳ありません(^^; せめてもの償い(?)にと、日記を書きはじめました。まだ公開できるほどの内容になっていない(ソフト自体、完成していません)のでしばらくは謎の状態が続くと思いますが、期待せずにお待ちください。また、そのなかで用いたクラスなども、別個に公開していくかもしれません。
先日、NUGのリストのほうで、アプリケーションに割り当てられたメモリの空きを調べる方法がREALbasic にあったらなあ、という話題がありました(元は、大きなファイルを開こうとするとメモリの割り当てが不十分だとフリーズしてしまう、ということだったと思います)。で、その最後にChristian BRUNELさんがFreeMemというプラグインを発表してくれました。ちょっと試してみたところ、問題なく使えました。
SchaftEditでは、AppleEvent を使って割り当てられたメモリの量と、使用しているメモリの量を求めて引き算をするという方法を使っていました。先日SchaftEdit自身を指定する方法の改善で、ファイルを開く時(ファイルを開く前に、自分自身に割り当てられたメモリが十分かをチェックする必要があるので)の所要時間を軽減することが出来るようになったのですが、このプラグインを使わせてもらえば(ありがたいことにフリーウェアです(^^))、AppleEvent を使った方法よりもずっと速くファイルを開けるようになります。
使い方はいたって簡単です。プラグインファイルを適切な場所に置いてからREALbasic を起動したら、FreeMem()で自分自身に割り当てられたメモリのうち、空いている分をバイト単位のintegerで素早く返してきてくれます。
このところ他のことや他のプロジェクトで忙しく、SchaftEditの改良は滞っているのですが、それが一通りすんだら、これを使ってSchaftEditをより快適に使える道具にしていこうと思います(^^)
MozUrle(もじゅーる(笑))を公開しました。ソースつきですのでご自由にいじって下さい(^^)
MozUrleは、そのネーミングのいい加減さからも分かるように(?)、自分で使うことを考えて作ったものです。でも案外使えるかもしれないので公開することにしました。そもそもは自分で作っているリンク集のHTMLの管理がだんだん嫌になってきたのが作成の理由です。URLはコピーできても、タイトルがコピーできない場面が多いのですよね。さらに、もじらでリンクのある文字列をコピーしようとすると、うまく範囲を選択するのに苦労することが多いのですね。そうこうするうちにmenuがpopupしてきてくれたりして(^^;
でまあ、ドラッグしたものの中にTEXT以外にURLDなどのデータがあって、それがURLとタイトルをあわせたものだと分かったのでこういうものを作りました。本当はSchaftEditに直接ドラッグアンドドロップできるといいのだけれども、dragitemがTEXTリソースも持ち合わせているので、EditFieldが勝手にそれを受け取ってしまい、結果うまくいかないのです(^^; 。将来はMozUrleにドロップするとSchaftEditに自動的に文字がタイプされるようにしたら面白いかも、とか考えています。現段階ではかなり適当なものなので(Quit以外にメニューもないし(笑))、プロジェクトも公開してあります。
久々にSchaftEditをアップデートしました。1.2.0b2です。まだ下記のFreeMemを使った版ではないので速度に不満があるかもしれませんが、いくつかの改善と修正をしました。
本当は9日に日付が変わったらすぐにputする予定だったのですが、上のMozUrleの書類を色々書いていたら時間がなくなってしまいました(^^; 。
SpiralSeeQはDNA Striderのファイルを読み込む機能を実装したら依頼者が満足してしまい、とりあえず完成(?)です。ただ、一般公開するにはあまりにも不完全なのでまだ公開できません。日記の方は書いてはみたものの、分かりにくいのでいつ公開するか(orしないかも)分かりません(_ _)。
Christian BRUNELさんのプラグイン、FreeMemはちょっと使ってみただけですが、中々Goodです(^^)。次回SchaftEditにはぜひ使わせていただこうと思っています。
今日は点検のためとかいって停電になるのでサーバも寝てしまい、外につながりません。いずれつながるのでしょうがいい天気だし、どこかにいこうかなどと考えています(笑)。そういえばメールサーバも寝てしまっているので外につながらないだけでなくメールのチェックも出来ません。今、朝の9時半です。停電は8時半からあったのですが、昼にももう一度停電があります。だからサーバ管理者も午後にならないとサーバを再起動しないのではないかと思います。
SchaftEditは1.2.0と1.3.0を同時進行で開発していく予定でしたが、1.2.0で機能改善をすると1.3.0にそれを反映させるのが面倒なことに気がつきました(^^; 。そのため、まだ1.3.0でまともに開発もしていないこともあるので、同時進行させるのはやめることにしました。1.2.0はもうしばらくβとしておいておき、バグが見つからなければもう少し多くの人にいじってもらえたら、と思います。
1.3.0ではおおよそ次のようなことを考えています。(a)FreeMemを使って高速化 (b)AppleEventで文字列入力に対応(あまり複雑なことはしない(^^; ) (c)(b)に対応した、ドロップ系アプリケーションの作成(昨日公開したMozUrleは、その原形となるでしょう)、もしくは直接ドロップの実現。 (d)ドラッグアンドドロップによる操作のundoの実装
(a)はとても簡単、かつ効果が高いものです(^^)。(b)は簡単なものであればすぐ出来そうですが、以前試した時はなぜか異常なまでに時間がかかり、実用的ではありませんでした。ただ、その後AppleEvent のサンプルをいじったら、以前のときのような異常な遅さはなかったので、何かのはずみ(^^; かもしれません。もう一度試してみて、うまくいけばいいな、と思っています(^^)。(c)の直接ドロップが実現するといいのですが(全くテキストデータを含まないDragItemであれば可能です)、MozUrleで扱っているもじらの栞のように、テキストデータ「も」含んでいる場合、そちらがEditFieldに勝手に優先されてしまい、残りのデータは無視されてしまいます。(d)はぜひともやるべき仕事ではあるのですが、中々面倒そうで、あまりやる気がしません(^^; 。一番の問題は、今のところスマートカットアンドペースト (intelligent cut&paste) が勝手に効いていて、これを解除しないと面倒だからです。これがプロパティとして独立し、解除できるようになったら実装したいと思っています。
REALbasicers' LinksをREALers' Linksとしました。
SethさんのAppleEvents in REALbasicがリンク集から抜けていましたので追加しておきました。REALersのリンク集にいくつか追加しました。
ちょっと、以前パーツ単位で開発していたサブルーチンを探していたら、SchaftEditの日記が滞ってからのメモが見つかりました。探していたルーチンを収納したプロジェクトファイルも無事見つかりました。こういう時、REALbasic では単一のプロジェクトしか開けないので(1.0では)ちょっと不便です(^^; 。今後のことも考え、かなり短いパーツは単体毎にNewNOTEPAD II に保存しておくようにすることにしました。もちろん特定の変数が必要であるとか、色々面倒であることに変わりはないのですが。一つ、大きなモジュールを作り、それを取り込むという方法も考えたのですが、削除していく過程でミスで無駄な関数を抱え込んだプロジェクトが出来てしまう可能性もあるので、ちょっとしたものはテキストとして保存しておくほうがよいと判断しました。
さてそれはそうと、index ページのカウンタが何と1700を越えていました(^^)。皆さんありがとう(^^)。
SchaftEditの最新版、1.2.1b3をリリースしました。FreeMem利用によるファイルオープン所要時間の短縮、1.2.0b2まであった無駄なコードの削除、アバウトダイアログの簡略化、ヘルプメニューに隠蔽(?)していた機能をRunとしてFileメニューに移動、それに伴うショートカットの変更、を行いました(長いぞ)。1.2.xは今後、バグフィックスおよび機能改善に徹します。10月いっぱい様子をみてバグなどの問題報告がなければ、正式版としてのリリースになります。機能追加は1.3.xで引き続き行います。
それにしてもFreeMem,いいですねえ(^^)あ、ドキュメントのThanksに入れ忘れてしまいました(^^; 。次のバージョンからはきちんと入れます。ゴメンナサイ>Christian BRUNELさん。
ListBotでメールリストを作ってみました。まだ非公開ですが、今のところメールリストそのものとしての機能は十分にあるような感じです。ただ、Web 上でもアーカイブがみられる機能があるのですが、そこでは日本語は文字化けしてしまい、Web からの閲覧は事実上できません。このメールリストの目的は同じく非公開のBBSの補完です。
それはそうと、WebJumpというサービスを見つけました。25MBまでのフリーページがもてます。さらにドメイン取得、もしくはバーチャルドメインをもらうことも出来るそうです(前者は畏れ多いし時間もかかるそうで私はやめておきました)。まだ出来たてのようで、軽快です。この手の最大の問題は、成り立つためにはアクセスが多い(広告効果が高い)方がよく、しかしそうなると混雑して重くなってしまう、という矛盾にあると思います。そのために加入者の数を制限したり、質の高いものでないと認めないというところもあるようですね。
FortuneCityに比べても、容量が5MB多いし、FTPにすぐつながったし、広告なしにする方法がない訳ではないし(苦笑)、なによりURLが味気ない数字などではないのがいいですね(^^)。
こういった無料でかなり容量の大きなスペースを貸してくれる場所が増えてきているのは、ソフトを置く場所に困るようになりがちなものにとってはとてもうれしいことです。CGIとかSSIに凝るような場合には不十分かもしれませんが、容量が最優先という場合には十分です。私の場合CGIを作るのが面倒なので出来合いがあるほうがうれしかったりして(^^; どうせ大したことしないし。CGIなどを作る暇があったらソフトを作るほうに時間を使うほうがいいですし(笑)。あ、あくまで私の場合です。
一昨日リリースしたSchaftEditで、メニューの移動の際にヘルプメニューを削除し忘れていたため、ヘルプメニューの最後にセパレータラインが残るという間抜けなバグが発覚しました(^^; 。この修正patch を公開しました。30kbにも満たないサイズです。メニューが気になるという方のみどうぞ。
あ、まずい、FreeMemを使わせていただいているのに、Read Me にはそのことを書いていません。近いうちにバージョンアップしますので、その時のRead Me には明記するようにします。怒らないでね>作者さん(って、日本語読めない、いやそれ以前にこんなところ来ない(笑))
近所の電器屋が閉店するというので行ってみました。MOドライブなどが安かったようですがあいにく手持ちがありませんでした(^^; 。マウスなどの小物やソフトなどは以前の値段のままでした。他にも店舗をもっているので、そちらに移動するだけなのであまり安くして全てを売り払う必要もないのでしょう。
台風のせいで、かなり強い風と雨です(午前3時現在)。どういう訳か、メールが全く届きません。自分がmac-proに出したメールすら届かないので、当方のメールサーバ当たりで何か不具合があるのかもしれません。さらには、今日の午後から月曜の朝にかけて、サーバがストップします。万一、私に何か連絡をしたが反応がない、というのでしたらごめんなさい。しかし今のところ、REALbasic-NUGもRbJMLも一切届かないという状況です。
追記。mac-proに出したメールは、差出人のメールアドレスが登録したものではなかったため、mac-proには流れませんでした(苦笑)。以前同じようなミスをNUGに出したときにしたことがあります。このときは逆で、登録したアドレスが違っていたと思って、わざわざ変えてから出したら拒絶されました(更に苦笑)
いつの間にか、index のカウンタが1800を突破しました。わお(^^)。MacFeelingのワタヤさんがSchaftEditのことなど色々宣伝して下さっているからのようです。ありがとうございます〜(^^)。きて下さった皆さんもありがとうございますぅ〜(^^)。
モジュールことMozUrleにおいて、いくつかの実験をしています。あまりにも荒削りなため、より便利にしてみようかというところです。SchaftEditではこまめに日記を書きましたが、MozUrleでは書くつもりがないので、ここで調べたことを断片的に書いておきます。
AppleScript で「activate me」と書いたものをREALbasic にいれると、それだけで自分自身(REALbasic で作ったソフト)を手前にもってくることが出来るのですが、AppleEvent だとこれはどうなるのでしょう。例によってCaptureAEでキャプチャして、その通りにやってみてもうまくいかないようです。その通りにやっていないのかもしれませんが(^^;
別の方法として、AppleScript では次のようにすることが出来ます。
tell application "Finder" if process "MozUrle" exists then set frontmost of process "MozUrle" to true end if end tell
この中央の部分をキャプチャしてみると、次のような感じです。
Process("Finder").SendAE "
core,
setd,
'----':
obj {
form:prop,
want:type(prop),
seld:type(pisf),
from:obj {
form:name,
want:type(prcs),
seld:"MozUrle",
from:'null'()
}
},
data:'true'()"
process を得る箇所が名前から取得するようになっていますが、これをクリエータから取得する様にしたほうがいいですね。さもないと自分自身の名前を取得する必要まで生じてしまいます(苦笑)。で、次のようなルーチンを作りました。
Function aeActivate(creatorType As String) As Boolean
//もし存在するクリエータコードであれば
//そのアプリを手前にもってくる
Dim ae As AppleEvent
Dim objA, objB As AppleEventObjectSpecifier
objA = GetStringComparisonObjectDescriptor("= ","prop","fcrt",creatorType)
objB = GetTestObjectDescriptor("prcs",nil,objA)
ae = NewAppleEvent("core","setd","MACS")
ae.ObjectSpecifierParam("----") = GetPropertyObjectDescriptor(objB,"pisf")
ae.BooleanParam("data") = True
Return ae.send
End Function
これで、任意のアプリケーション(自分自身も含め)を手前にもってくることが出来ます。実は、最後のほうのBooleanParamで渡す文字列にしばし悩んで、結局以前の自分のSchaftEditの日記を参照して解決しました(^^; ラベルを設定する箇所と同じやり方なのです。それから、最初のほうの、クリエータコードからprocess を特定する部分は、以前RbJMLで話題になった、割り当てメモリなどを求めたりするところからの拝借です。
当然のことながら弱点としてはFinder が死んでいる状態では動作しない、などが考えられます。まああまりないことだろうということで、よしとします(笑)
で、今までのウィンドウをグローバルフローティングウィンドウにして、モジラが手前にあるときだけ表示してドロップできるようにして…、と思っていたのですが、実際にやってみると、グローバルフローティングウィンドウにドロップできません(^^; 。結局従来のウィンドウタイプに戻さざるを得ないことが判明しました(^^;
その後はちょっとアバウト画面を色々いじって遊んでいました(^^; 今度公開するときにもソースを公開する予定です。それを見れば何をどう遊んでいたか分かるでしょう(^^; 。
それから、気紛れでもりもり機能を追加したりウィンドウを追加したりしていたらだいぶ違うものになってきました(^^; 最終的にはSchaftEditの片棒をかつぐ様になる予定です。今のところ、設定で特定のアプリをコピー後に自動的にアクティブにするようにしてみました。SchaftEditを指定してみていじってますが、コピーして直後にすぐペーストできるので、個人的には便利です(笑)。まだファイルI/O関係のエラーチェックなどがいい加減な箇所もありますが、とりあえずきりのいいところでリリースすることにしました。
Activate などでクリエータが必要なので、1.0.0の`????'から`MzUl'に変更しました。幸いまだ未使用のクリエータで、この調子だとそのままSchaftEditの部品となりそうなので、クリエータを申請、取得しました(^^)
本当は20日にリリースの予定だったのですが、Read Me などのチェックやHTML下記などで1時間弱ほど遅れてしまいました。
MozUrleの1.1.0d6をリリースしました。個人的に気になっていた、既に開いているファイルを開こうとしたときにはそのウィンドウが手前に来るべきなのに来ない、というバグを直しました。一般的に使用している分にはあまり重要なバグではないので、ソースの方だけのリリースです。というか、もっと直すべきところが色々とある(いつでも「保存しますか」、と聞いてくるとか)のですが、そちらに手をつける余裕が今のところないので。そちらにも十分力を注げるようになって、それなりに違いのあるものになったらアプリケーション版のほうもリリースしたいと思います。
ソースをリリースすることで、SchaftEditの日記にあったような説明のもどかしさがいらなくなったような気がします。まあ、もともとMozUrleはそう複雑なことをしている訳でもないのでアプリケーションとしてリリースするつもりすらなかったのですが(^^; 。今後複雑さを増すとすれば、各バージョンをプロジェクトファイルの形式で公開しておくのも面白いかと思っています。
カウンタのほうですが、1900を突破しました(^^) もうじき2000の大台ですね〜(^^)
今日は学祭で外がうるさくてかなわないです。飲んで騒ぐのはあまり好きじゃなくって(飲むとへらへら笑ってそのうちすーすー寝てしまう幸せな人です)。よく釣りに行っていた友人3人で釣りにいってタイを釣って自宅で飲んだとき、3人とも同様のタイプで、飲んで幸せになっておしまいでした(笑)。
そんな訳で外がうるさいので今日はあまり集中できませんでした(^^; 。
REALbasic JAPAN WebRingに参加させていただきました。お誘いはもう少し前に頂いていたのですが、散髪→釣り→うたた寝→風邪、で寝込んでいました(爆) まだ本調子ではないのですがどうにか動けるようになりました。今後、このWebRingが成長して、リンク集のメンテナンスがいらなくなるといいな、と思っています(笑)。もちろん、使う側にとっても便利になるでしょう(^^) 特にリンク集というのは、大概重複するもので、しかも各自が作る必要があるものですから、WebRingというのはいいアイディアです。このメンテナンスに要していた時間を、本来のページの作成や、REALbasic でのソフト制作に割り当てられることになりますし。
それはそうと、久々のメールチェックで300通のメールを処理しました。サブジェクトは全て目を通し、ある割合でそのまま捨て、一部は開いてからざっと見て捨て、残りはじっくり読み、重要なものだけ保存して残りは捨てました。なにやらNUGのほうではREALbasic の悪口を書いた人について色々やっていました。アナウンスの類は一応全て残すのですが、読んでみるとアナウンスのアナウンスみたいな予告だったりして、結局捨てるものもあったりします。
そういえばDR(現在はDR2)のメールリストを分割して、それがうまく動かないぞというメール、およびこっちもダメだ、というメールが大量にありました。私はやめようかと思っていた(NUGの購読を)ので、分割は助かります。あまりデータベースなどには興味がないので、当面DRのリストには参加しない方針です。これでNUGのメールの数がもう少し減ると助かります。中には今でも目から鱗な内容のものもあるので欠かせません。最近少し答えられるものにリプライしましたが、ちゃんとthank youメールを個別に送ってきました。RbJの方ではこういうことはまれですね。どうもgive/takeが片寄っている人が見受けられます。メールの向こうに人間が見えないのかな。質問したきりで解決したのかどうかのフィードバックもない人がいますが、QAにまとめるとか、せめて解決しなかったらしなかったとか、レスポンスが欲しいものです。でないと同じ質問があったときに答えていいのか分からなくなります。あ、どうもぐちになっちゃいました。最近のRbJを見ていてふとそんなことを思いました。一番理想的なのは、質問があって、答えが返ってきて、QAにまとめられて、全体の質が上がるという感じでしょうか。要は真にやり取りがあるという状態なのですが。
その意味ではNUGはにぎやかでいいですね。曜日によって数が極端に減ったりしますが(笑) にぎやか過ぎるきらいはありますが、興味のあるメールはすぐ読めてしまうのが不思議です。あ、先ほどダイジェストが1000になってついでにHappy Halloweenだそうで(^^)。そういえばハロウィンでしたねぇ。
REALbasic の悪口?の話の元になったのを読んでみました。前半のWYSIWYGなHTMLエディタがタコだし、HTMLの理解にならないというのはまあそうなんですが、後半はちょっと違うかな、という気がしますねえ。まあ確かにボタンを配置してActionにコードを書いてそれで動くでは本当にはコンピュータの中で何をしているか理解していないのかもしれないんですが、何か違いますね。
前半の話にしても、確かにHTMLエディタがタコで、吐き出すHTMLもタコなのはよーく分かりますが(^^; 、だからといってテキストエディタで書いたから偉いって訳でもないでしょう。HTMLのことを何も知らないより知っているほうがいいのは事実ですし、正しいHTMLを記述したほうがいいのも事実ですが、知らなくても内容のある文章を書ける人のページのほうを私は見たいです。
思うに、WYSIWYGなHTMLエディタ→初心者が使う、WYSIWYGなHTMLエディタ→タコなHTMLを吐く、初心者の作るページ→内容がない(とは限らないけど確かに家族やペットの写真なんぞは見たくもないのも事実)、といった連想からきているんじゃないかなーと。
HTMLエディタと称されるものはどう考えたってコード丸出しにするかWYISWYGにするかしかなくて、後者はタコな訳だけど(そもそも無理がある)、それでWYSIWYG自体を否定するのはとんちんかんもいいところです。大体、HTMLエディタでいうWYSIWYGは本当/本来のWYSIWYGじゃないです。その辺ですり替えというか取り違えというか、訳の分からん連想でREALbasic やSuperCardを持ち込んでもつながらないんですね。
で、思うにこんなものは無視しておけばいいです。あ、そうこうするうちに[ENOUGH]なんてタイトルのメールが届きました(笑) でも、このJamesさんはコメントしていなかったかな。あのあと「オレはこういうメールを送った」とかいう内容のものが増えてきて嫌になったのかな。この人はC++もできる人で、どちらのよさも分かっているようですね。
ちょっと自分なりにまとめてみると、まず第一に、手段のコアの部分を知っていることと目的としての内容は別であるということ。確かにプロフェッショナルは手段のコアの知識もあるべき or あったほうがいいし、そういうことが多いけれども。第二に、WYSIWYGのすり違え(すり替え+取り違え(笑))。
前者に関しては何もHTMLに限りませんね。Macintosh を使って絵を書いている人がMacintosh の構造そのものに詳しいとは限らないし、仮にそうだとしてもそれと作品の出来に相関があるとは限らない。エディタというのがどう動いているか、そのソースコードを熟知していなくたって文章は書ける。キーボードのキーをたたいてから画面に文字が表示されるまでのプロセスを把握していなくたって。
ちょっと心配なのは、REALbasic が宗教的Macintosh(?)のようになっている人、盲目的な人がヘイトメールを出していやしないかということです。思い込みというのは怖いものです。
かつては、BinHexの添付されたメールをエディタで開いて、該当箇所をコピーしてデコード、という作業を自分でやっていましたが、その頃はそれが当然で、バイナリが送れるなんて便利だなぁ、と思っていました。今はメールソフトが自動でやって、ダブルクリックでファイルを開くのが当然で、手動でやるなんて面倒ですが。盲目的で無知であることはある意味幸せですが、傍から見れば滑稽で哀れでもあります。そうならないよう気をつけたいものです。そういう意味では手段についてもより知っているほうがいいのは事実。この人の間違いは、やはりそれと目的を無理やり繋いでしまったことではないでしょうか。
デコードで思い出しましたが、先日ナイスなものを見つけました。MooMooEncodeといいます。コレいいです。サイズがとてもでっかくなります(笑) もちろんデコードもできます。バルーンヘルプが過剰に充実しています。こういうの大好き(^^) 理研のftp searchなどで探してみてください(^^)
現在、MozUrleの次のバージョンをいじっています。僕自身の中では今のMozUrleでとりあえず十分なので、機能追加ではなく改善が中心です。その中で、設定ファイルにファイルのパスを保存するのではなく、フォルダをつくってそこにエイリアスを作成する様にしようと考えています。
それで先日、AppleEvent を使ってエイリアスを作るFunctionを作りました。この手のは散逸しがちなので、まとめて一つにしたのが、昨日putしたTip-3です。それについての詳細はまたいずれ書くときがあれば。今後チェックしなければいけないのは、エイリアスファイルの削除、あるいは既に同じ名称のモノがあるときにどんな動作をするのか、などです。
この伝でいくと、起動時に起動するアプリ、といった機能も比較的お気軽にできそうです。エイリアスをリソースとして初期設定ファイルに保存するのではなく、エイリアスファイルそのもの、というところがちょっといやーんですが本質的には変わりありませんし、ユーザも設定のし直しに直接エイリアスを入れ替えるという方法も取れますし。