ぼうメモ帳

2004-07-15 今夜も徹夜でつ

wema

| wema - ぼうメモ帳 を含むブックマーク

http://www.mikihoshi.com/wema/

つい先日、インストールしてみました。最初、どうやっても動かなかったんだけど、wema.tmpl*1を弄って何とか動かすことに成功しました。正直、疲れた。

で、使い始めて数日間の、ちょっとした戯言です。

まず、JavaScriptだけでここまでできるのかという感動と*2、自分が使いやすいように改造したいという欲望がふつふつと沸き起こってきました。プログラミングを10年近く行ってますけど、こんな感覚は久しぶりです。昔、この手のインターフェイスのプログラムを自分で作ったことがあるので*3、実はインターフェイスに微妙に不満があるというのも改造したいという欲望に結びついていたりします。

さて使用目的ですが、私は個人的なメモ帳として使用しています。気になったWEBへのリンクを保存しておいたり、研究論文のアイディアを散りばめておいたり、TODOリストを置いておいたり、本当に自分だけのホワイトボードとして使っています*4。どうしてもその時々によって使用するPCが異なり、しかも不精な私にとって、どこからでもアクセス・変更できるというのは、すごいメリットです*5。あと、ブラウザベースアプリケーションには独特の使い心地というのがあって、その使い心地が好きなのも使っている理由の一つです。

で、はっきり言って、私の使用目的では普通のwikiよりも使いやすいです。その理由は、「Wikiでは情報の配置が一次元なのに対し、wemaでは二次元なので、情報がコンパクトにまとめられる」の一言にまとめられます。すなわち、wikiは「リンクによる情報の構造化」という特徴があり*6、「2次元視覚化による情報の構造化」という特徴が追加されているということ。

さて、もし改造するとすればのアイディアです。wemaが付箋を基本オブジェクトとしたとき、各ページは付箋の集合になったと思います。このとき、付箋の集合は、ただの集合でしかないので、1つの付箋が複数の集合に所属できないだろうかと考えています*7。すなわち、ページは付箋の分類と、視覚化の場所でしかないということです。この機能を追加すると、wemaが本来持っている機能である「2次元視覚化による情報の構造化」と、「リンクによる情報の構造化」に加え、「分類(クラス)による情報の構造化」という機能が追加され、さらに情報の価値が上がるのではないでしょうか。さらに突き詰めると、「付箋を基本オブジェクトとしたとき、分類もまた付箋で表現された基本オブジェクトの一種である」というようなセマンティクスを与えると、CSを専攻している身としてはかなり楽しい世界が展開するなぁ、と考えています。

てか、そんなマニアックな注文があるんなら自分で作ればって感じなので、時間の都合がつけば土日を使って改造したいと思います。さて、眠いけど明日に向けて研究がんばるぞ!!

*1:だっけ?HTMLのテンプレが収まってるやつ

*2:いままでJavaScriptの解釈系(インタプリタとかコンパイラ)にしか興味がなかったので

*3マックを愛用してたころにHyperCardで作った・ソース紛失を理由に非公開

*4:この日記メモ帳としての役割を果たしてないし。名前を変えないとなあ

*5:本当にプライベートでばれちゃいけないもの以外は、実はWebブラウザ経由で誰でもどこからでもアクセスできるような、だめだめな情報管理をしていたりする

*6WWW一般に言えることだが、wikiはその特徴を凝縮していると思う

*7:これは、他の一般のソフトウェアに対して共通に持っている不満でもあります

2004-04-01 ネタはない

マルチスレッドプログラミングにおける単体テスト

| マルチスレッドプログラミングにおける単体テスト - ぼうメモ帳 を含むブックマーク

研究用に開発しているグラフシミュレータは、各ノードがマルチスレッドで動作します(だから、機能シミュレーションしかできず、時間を正確に扱う必要があるシミュレーションはできない。サイクルアキュレートモデルみたいなもの)。で、現在マルチスレッドにおいて、どうすれば容易にテスト(主に単体テスト)が行えるか考えています。

以下、URLメモです。

  • Multithreaded Tests with JUnit

http://today.java.net/pub/a/today/2003/08/06/multithreadedTests.html

  • Thread Debugger

http://www.borland.co.jp/optimizeit/opt4.2/thread_debug.html

  • GrobUtils

http://groboutils.sourceforge.net/codecoverage/index.html

  • Jlint

http://artho.com/jlint/download.shtml

http://www.willowriver.net/products/download_jlint.php

私が行いたいテストは、二つのスレッドが1つのリソースアクセスするとき、スレッドがいかなる動きをしても、リソースはある定められた状態にあるというものです。二つのスレッドで安全性を証明できれば、あとは数学帰納法を用いて、複数のスレッドでも安全であると証明できると考えています。ですから、時相論理を用いた形式的検証を行うことができれば一番いいのですのが、そこまで手の込んだことはしたくないんですよね。

2004-03-30 第3回アレ終了

関数の変形@Effective JavaScript

| 関数の変形@Effective JavaScript - ぼうメモ帳 を含むブックマーク

http://www.interq.or.jp/student/exeal/dss/ejs/1/4.html

この一つ前のセクションまでは、濃い内容だとは思っていたけど、lisp/schemeを勉強している身としてはまだ想像の範疇でした。しかし、今回の関数の変形はマジでやばいです。まさかJavascriptでここまでやるとは思いませんでした。

あとでもう一度読むためにメモ

268187