Walrus,Visit. | 一覧 | 検索 | 更新履歴(RSS) | 新規作成
はてなブックマークに追加 はてなブックマークを表示 編集 | 編集(管理者用) | 差分

2004年5月

編集

WalWiki月。 アイディアだけはたまっているのですけど、あまり進んでませんね。

2004/05/31(月)

はてなブックマークを表示 はてなブックマークに追加 リンク 編集

 6月には一気に怪しい人にランクインです。

 早くWinny事件の白黒をつけて欲しいな...。

ハッキングLinuxザウルス−Linuxザウルスの外典。

 しばらく新刊のないLinuxザウルス本ですが、ハッキングLinuxザウルスという本が6月20日に発売決定になりました。以下が表紙とその部分拡大で、私も共著者に入っていたりします。

 これまでのLinuxザウルス本(Amazonリストマニアリスト参照)の中で私が勝手に「Linuxザウルスのバイブル(聖典)」と見なしているのが「Linux Zaurus Super Guide」ですが、これに対して「ハッキングLinuxザウルス」はアポクリファ(外典)。PDAとしてのLinuxザウルスにはほとんど目もくれず、帯にあるようにシェルの基本から始めてサーバーを構築する、開発環境を構築するといった方向に突き進みます。

 電子手帳として使うのではもったいなく、コンテンツ表示やゲームといった誰かが用意してくれたお楽しみでは物足りなく、自分だけができる楽しみ方をと思い始めた道具好きにこそ読んでもらいたい一冊。...になってると良いのですけど。


 Amazonアソシエイトな方は、ISBN:4797326530になる予定だそうです。リンクURLは下のような感じ。ご利用ください。

http://www.amazon.co.jp/exec/obidos/ASIN/4797326530/(あなたのアソシエイトID)

 bk1ブリーダーな方の場合どうなるんだろ?

2004/05/30(日)

 コンピューターのない生活「ノーコンライフ」になってしまうはずだった今週末、急遽環境が必要になって調達してしまいました。うーん、あまりよくない...。

Qtopiaの次の戦場はスマートフォン。

 Linuxザウルスで採用されているGUI環境がQtopiaですが、これのスマートフォン版をリリースするとのプレスリリースがTrolltechから出ました。Qtopia関連のページも、これに合わせてQtopia PDA Edition Overviewと[[Qtopia: Phone Edition http://www.trolltech.com/products/qtopia/phone.html]]という2ページに分けられています。

 また、Qtopia SCREENSHOTSの方にもPhoneエディションのスクリーンショットが追加されており、その雰囲気をつかむことができます。まずベーシックなテーマ/コマーシャルを意識したテーマを採用した2画面と発信画面、ランチャー。ランチャーを見ると見覚えのあるアイコンなどもあり、いかにも「Qtopia」という感じです。

 次にタスクリスト、メッセージクライアント(メーラ)、時計、世界時計といったPIM系。このあたりは、QtopiaのPDA版と同じベースを持たせつつ、画面構成を小さな電話に合わせて作り直している感じがうかがえます。時計があるのは良いとして、世界時計なんてものがあるのは普通の電話向けではないな、というところ。

 最後にソリティアと、音楽/動画再生中のメディアプレイヤー。

 Qtopia: Requirementsによれば、通常構成がFlash ROMが16MB+RAMが16MB(最小構成だとFlash ROMは8MB)、最低限16階調グレイスケールの176×208以上の画面サイズで動作し、最大でVGA(640×480)までサポートとのこと。しかし、このRequirementsページで最も気になる点は、これがPDA版と共通になっていることです。例えば画面サイズがスケーラブルで、ディレクトリ構成などに依存しないアプリケーションであれば、Linuxザウルスなどで動作するアプリケーションはこのPhone版でも動作してしまうのでしょうか?だとしたら、ものすごく魅力的。

 電話の不自由さというのは、自分で機能を足しこめないところにあると思っています。そして、最近発売されたAirH" PHONE AH-K3001V周りの動きを見ていると、JavaScript?やCookieなどが活用できるOperaブラウザをベースに、RSchedulepocket peintureなどのアプリケーションが公開されてきているなど、実は同様の歯がゆさを感じていた人は少なくないんじゃないかな、と。ということで、FOMAユーザーが使えるQtopia Phone Edition採用のGSM端末(であってますっけ)が出ないかな、と。

 ...ご存知の通り最後は、Perlが使える携帯電話がないかな、となっちゃうんですけどね。

2004/05/29(土)

 旧友と会って、別れ際の5分でその人がハイテク犯罪課などというところに勤務していることが判明。時間が許せば、もうちょっと話を聞きたかったです...。

TVキャプチャーカードREX-CB90TVのメモ。

 以前にコメント欄で、PCカードタイプでテレビチューナーとMPEG2ハードウェアエンコーダー内蔵、というREX-CB90TVに色気があるそぶりを見せましたが、かなり役に立ってないです。理由は一つで、ビデオ入力の予約録画ができないから。チューナーでは電波があまり入らず、セットトップボックスにテレビが直結している状態だと同じビデオ信号を受け取るしかないのですが、こちらについてはチャンネル選択どころか録画開始・終了時間の設定すらできないのです。

 そんな理由でずぅっと放置していたREX-CB90TVですが、このまま使えないで終わるのでは不憫。主に高いお金を出した私が不憫。

 そこで、せめて録画開始と終了だけでも、UWSCを使って予約できるようにしてみました。まず予約開始用のスクリプト。

リモコンタイトル = "Ulead Video@Home (コントロールパネル)"
リモコンウィンドウ = GETID(リモコンタイトル)
CTRLWIN(リモコンウィンドウ, ACTIVATE)
SCKEY(リモコンウィンドウ, VK_CTRL, R)

 それから予約終了用。

リモコンタイトル = "Ulead Video@Home (コントロールパネル)"
リモコンウィンドウ = GETID(リモコンタイトル)
CTRLWIN(リモコンウィンドウ, ACTIVATE)
SCKEY(リモコンウィンドウ, VK_ESCAPE)

 最初はもっと大変な、例えばスケジュールファイルを読み込んで時間になったらVideo@Homeの操作をして、といったものを作らなければいけないかと思ったのですが、UWSCではスケジュール登録してスクリプト起動をできます。だから上のような簡単なスクリプトを作れば、後は次のようにスケジュールを登録するだけ。

 実際には、Video@Homeを起動しっぱなしにするとノートPCがどんどん熱くなっていくので、Video@Homeの起動/停止スクリプトも作成して、これもスケジュールに組み込むようにしました。

 これでサンプル代わりに使える動画が手に入るから、ようやくLinuxザウルスでビデオに挑戦できるかな。

2004/05/27(木)

 昨日、一昨日はめずらしく22時前に甲府着。まだ食事ができるお店が開いているのが嬉しくて、思わず夕食にお金をかけてしまいました。

WalWikiの別名リンク(リンクのキャプション)仕様

 まだYukiWiki2.1への13番目の改変中。前回も非常に苦労した別名リンクですが、今回は「プラグイン」という新しい要素が入ってきたので、ますます苦労しています。思考整理のためのメモとして、ひとまず考えていることを。  13番目の改変で悪戦苦闘しているリンクのキャプション(「別名リンク」ではなく、こう呼ぶことにしました)についてです。

■ リンクのキャプションとlinkプラグイン

 linkプラグインが使用できるので、一度は廃止しようと思った、旧「別名リンク」です。ちなみに、リンクをキャンセルする6連シングルクォートはverbプラグインがあるので廃止決定です。で、別名プラグインは次のような理由で、残留決定しました。

  • リンク(WikiName?ではなく)は?はという認識は自然。だから別名リンクも特別なプラグインを使うのではなく、この書式で書きたい。
  • プラグインは入れ子にできない。でも、キャプションに(「別名」ではなく、こう呼ぶことにしました)プラグインの出力結果(例えば赤字のキャプションとか)を使いたくなるかもしれない。
  • きっとなくしたら今のWalWikiユーザーに怒られる。
    • キャプション?&link(キャプション,URL)に変更してください」とか。
    • 「URLの代わりにInterWikiネームを使うことはできません」とか。
    • 「キャプションに画像を使うことはできません」とか言わなきゃいけないかと思うと。(^_^;

 その他細かい理由はいくつか思いつくのですが、とりあえずこの3点で良いでしょう。

■ リンクのキャプションの記法

 リンクにキャプションをつける方法は、YukiWiki2.0ベースのWalWiki2.0.xシリーズと同じで、キャプション?です。で、今頭を悩ませているキャプションやリンク先と、InterWiki?ネームやプラグインについては、次のようにしようと考えています。

  • 書き方はキャプション?

■ キャプションの仕様整理

 キャプションについて。

  • キャプションにはプラグインを使用可能。キャプション文字列中の一部がプラグイン、というのも可。
  • キャプションにはInterWiki?ネームを使用可能。
  • キャプションには画像を使用可。
    • キャプションがhttp://またはhttps://で始まり、拡張子がbmp、jpg、jpeg、png、gifのいずれかであれば画像を表示(imgタグに変換)する。
    • プラグインやInterWiki?の処理後、キャプションが画像へのURLであれば、それも画像として扱われる。
    • キャプションの一部が画像へのURL、という時は無視される。
      • 画像にしたほうが良いのかな?ご意見募集。

■ リンク先の仕様整理

リンク先について。

  • リンク先にはプラグインを使用可能。リンク文字列中の一部がプラグイン、というのは不可。
  • リンク先にはInterWiki?ネームを使用可能。リンク文字列中の一部がInterWiki?ネーム、というのは不可。
  • リンク先はURL、またはページ名として扱われる。

■ make_linkの処理手順

 現在はこれらを有効にするマッチングまでは済んでいて、変換処理のmake_linkサブルーチンに取り組んでいます。仕様を明確にできたので、ようやく処理手順が整理できそうです。

  • ブラケットをとる前に処理する必要がある$embedded_nameを処理する。
    • 処理後、結果をreturn。
  • キャプションとリンクに分解する。
  • キャプション中のプラグインを処理する。
  • キャプション、リンク中のInterWikiネームを処理する。
  • リンクがURLであればそのままリンクを生成する。
    • 処理後、結果をreturn。
  • ページ名として、ページへのリンクとして生成する。
    • 処理後、結果をreturn。

 別名リンクが出来上がると、かなりWalWikiらしくなりますね。

WalWikiのプラグイン仕様

 まだYukiWiki2.1への13番目の改変中。前回も非常に苦労した別名リンクですが、今回は「プラグイン」という新しい要素が入ってきたので、ますます苦労しています。思考整理のためのメモとして、ひとまず考えていることを。

 最初は8番目の改変で行なったプラグインについてです。YukiWiki2.1では、プラグインのマッチングに使う正規表現は以下のように定義されています。

'\&(\w+)\((([^()]*(\([^()]*\))?)*)\)';

 つまり、以下の条件になります。

  • &func(引数)のような書式でプラグイン名を記述。プラグイン名はアルファベット、数字、アンダーラインからなる。
  • 引数は括弧を含まない文字(〜)を使用可。括弧は入れ子にできない。
  • 引数はカンマ区切りが基本。プラグイン側は、引数をsplit関数で分解する。

 これだと、例えば「...((((ノ^^)ノ」のような、片括弧は入れることができません(※)。また、リンクに使うキャプションに「Walrus, Visit.」のようなカンマを含む文字列を指定しようとすると、これが分解されてしまいます。

 そこで、WalWikiでは引数はCSVデータとして扱うことにします。次のような仕様になります。

  • 引数は括弧を含まない文字"〜"を使用可。
    • "〜"中にダブルクォーテーションを入れる場合は「"AirH"" PHONE"」のようにダブルクォーテーションを二つ続ける。
    • 改行は使用できない。
  • プラグインは引数の分解で、splitの代わりに&main::parse_argument(引数文字列);を使うと、ダブルクォーテーションなどを考慮した分解結果を受け取れる。

 ちなみに、正規表現はこんな感じ。上のYukiWiki2.1の正規表現に、結城さんの「Sorry for wierd regex.」というコメントが付けられているのに、その斜め上辺りをかっとんでいく読みにくさです。本当に、申し訳ありません...。

\&(\w+)\(((:?\"(:?\"\"|.*?)*\"|\([^\(\)]*\)|[^\(\)]*)*)\)

※ このとき、もうちょっと別の例は考えられなかったのかな。「1)プラグイン仕様についてのような片括弧」とか。

2004/05/25(火)

 29日に椅子&スタイラス&下北沢を、と密かに考えていたのですが、その日は同窓会があることが判明。家の方に届いた郵便物がまるで確認できてないです...。

Linuxザウルスでsudo。

 sudoのバイナリを配布されていたいまいさんの「いまいの隠れ家」が見つからなくなってしまったので、sudoをセルフコンパイル。

 ソース等はSudo Main Pageから1.6.7p5版のtar+gzファイルを取得。同梱のREADMEINSTALLファイルを見ると、特に何も指定しなければPAM等の使用はなし、shadowパスワードは有効など、ちょうど良い設定になりそうです。そこで、そのまま

$ ./configure
$ make

 ところがmakeを実行するとすぐにconfig.hでエラーが発生。

In file included from check.c:39:
config.h:554: error: parse error before "user"
In file included from check.c:39:
config.h:554:8: missing terminating ' character
config.h:554:8: warning: character constant too long for its type
config.h:554: confused by earlier errors, bailing out
make: *** [check.o] Error 1

 意味が分からないなりに見てみると、config.hの554行目にエラーがあるといっているようですが、このファイルはぎりぎり553行しかありませんでした。もうちょっと読み進むと、どうやらシングルクォートが閉じられていない、といっているよう様子。ところが、grepでシングルクォートを探してみると、コメント行にしか使われていないようです。まさかとは思うものの、試しにコメント行を全て削除して、再度make。なぜかうまくいってしまいました。

 ということで、最新版(といってもリリースは1年も前ですが)のバイナリをipkgファイルにしました。Linuxザウルス/ダウンロードコマンドラインツールからどうぞ。

2004/05/23(日)

 29日に椅子&スタイラス&下北沢を、と密かに考えていたのですが、その日は同窓会があることが判明。家の方に届いた郵便物がまるで確認できてないです...。

WalWikiの動作プロファイル

 ようやくWalWikiをいじり始めてます。現在YukiWiki2.1への13番目の改変中。といっても、最初の方の改変履歴を見るとこんな風に書かれていたりして、一度の改変で行う機能追加がほんのちょっとなので、先は長いですけど。

* WalWiki210-dev3
- [init by directory] ディレクトリごとの設定ファイルに対応
* WalWiki210-dev2
- [debug info] デバッグ情報出力への対応
-- デバック情報の追加は &debug_info(デバッグ情報)
* WalWiki210-dev1
- [WalWiki directory tree] WalWikiライクなディレクトリ構成に変更

 ところで、新版を触り始めるとまた気になり始めるのが、memn0ckさんの取られているWalWikiのプロファイル。私のところでローカルでDProfを使ってみると、次のようになりました。

Total Elapsed Time = -0.01917 Seconds
  User+System Time = 0.531672 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c  Name
 30.0   0.160  0.168    284   0.0006 0.0006  Yuki::YukiWikiDB::FETCH
 18.8   0.100  0.189     13   0.0077 0.0145  WalWiki::BEGIN
 9.40   0.050  0.256    320   0.0002 0.0008  WalWiki::inline
 3.76   0.020  0.020      2   0.0100 0.0100  CGI::_compile
 3.76   0.020  0.019    427   0.0000 0.0000  WalWiki::encode
 3.76   0.020  0.058     82   0.0002 0.0007  WalWiki::get_subjectline
 3.76   0.020  0.020      6   0.0033 0.0033  Walrus::Antenna::BEGIN
 3.76   0.020  0.020      5   0.0040 0.0040  HTTP::Lite::BEGIN
 1.88   0.010  0.009    284   0.0000 0.0000  Yuki::YukiWikiDB::make_filename
 1.88   0.010  0.010      3   0.0033 0.0033  Exporter::export
 1.88   0.010  0.009    291   0.0000 0.0000  WalWiki::back_push
 1.88   0.010  0.008   1247   0.0000 0.0000  WalWiki::escape
 1.88   0.010  0.010      1   0.0100 0.0100  WalWiki::init_InterWikiName
 1.88   0.010  0.010     66   0.0002 0.0001  Jcode::getcode
 1.88   0.010  0.009      1   0.0100 0.0094  CGI::import

 取り立ててどれが遅いというわけでもないですが、実行期間中に3ページ表示しただけで、Yuki::YukiWikiDB::FETCHが300回弱というのは多いですね。2点修正を加えると、ちょっと改善されます。

  • スクリプト先頭近くで指定されている「my $use_exists = 0;」を「my $use_exists = 1;」に変更
  • ページの有無を確認するために「$database{ページ名}」のようにしているところ(make_linkサブルーチンなどにあります)を「&is_page_exist(ページ名)」に変更。

 修正後は以下の様になりました。(1)トータルで修正前が533ms、修正後が500ms、(2)Yuki::YukiWikiDB::FETCHの処理時間が修正前160ms、修正後120ms、(3)一回あたりの処理時間がYuki::YukiWikiDB::FETCHは0.6ms、Yuki::YukiWikiDB::EXISTSは0.3msだから、多少の効果はありそう。

Total Elapsed Time = -0.01474 Seconds
  User+System Time = 0.560515 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c  Name
 21.4   0.120  0.119    203   0.0006 0.0006  Yuki::YukiWikiDB::FETCH
 16.0   0.090  0.199     13   0.0069 0.0153  WalWiki::BEGIN
 8.92   0.050  0.269    320   0.0002 0.0008  WalWiki::inline
 5.35   0.030  0.050     95   0.0003 0.0005  Yuki::YukiWikiDB::EXISTS
 3.57   0.020  0.020      2   0.0100 0.0100  CGI::_compile
 3.57   0.020  0.018   1247   0.0000 0.0000  WalWiki::escape
 3.57   0.020  0.020    298   0.0001 0.0001  Yuki::YukiWikiDB::make_filename
 3.57   0.020  0.030     26   0.0008 0.0012  Exporter::import
 3.57   0.020  0.019    427   0.0000 0.0000  WalWiki::encode
 3.57   0.020  0.211    217   0.0001 0.0010  WalWiki::make_link
 1.78   0.010  0.010     58   0.0002 0.0002  Jcode::sjis_euc
 1.78   0.010  0.010      3   0.0033 0.0033  Exporter::export
 1.78   0.010  0.010      1   0.0100 0.0100  Config::BEGIN
 1.78   0.010  0.019     66   0.0002 0.0003  WalWiki::code_convert
 1.78   0.010  0.010     84   0.0001 0.0001  WalWiki::is_editable

2004/05/20(木)

 長いこと放置されていたWWW::MechanizeなどのPerl関連文書を「駱駝文書.net」でも作ろうかと思って、bunsho.netを取得したのですが、WWW::Mechanize-1.02の訳後にすぐにperldoc.jpに登録してもらえました。そんなわけで、bunsho.netが浮いてしまったのですが、何か良い使い道はないでしょうか?

 ...Wiki文書.netとか?

2004/05/16(日)

 PDAユーザーサイトを見ていると、あの人もこの人も京セラ製AirH" PHONEのAH-K3001Vをレポート中。AirH"の電波が入らないところで仕事をしている私は、リスクが大きすぎて乗り換えられないのです。

 ...と、くどくど書くのはやっぱり羨ましいからです。

バッド・ノウハウ・カンファレンス 2004(2)

 バッドノウハウカンファレンス 2004 発表資料とレポートのリンク集が公開されるまでの暫定メモ。

 shibuya.pmのリファラを回って、後は心当たりをちょろちょろ。Google検索結果もちょろちょろ。ところで、リファラめぐりする時は「shibuya.pmを表示→JavaScript?をオフ→新しいウィンドウを開く」の手順をお勧めします。アダルト系が入っていて、凄いことになりました。

 ...「○○系を見るときはJavaScript?をオフ」とか「添付ファイルは開かない」って、本来的には便利に使えるはずの機能をあえて殺すわけで「本来そういうものじゃないだろ?」と思いつつせざるをえない。これもバッドノウハウですね。Webにもバッドノウハウは満ちています。っていうか、ネットワークはバッドノウハウでつながっています。

2004/05/14(金)

 三カ所巡礼。

バッド・ノウハウ・カンファレンス 2004

 バッドノウハウの大家、高林氏の基調講演で始まったBKCON2004、基調講演によれば「春のグッドラッパー祭り」ですら3,000hitだったにもかかわらず、100名超の参加がある盛会でした。「間違っても役に立つテーマではないのに」と断られていますが、それだけにあっけらかんと楽しめました。小山さんといい、楽しませる話法を持っている人というのは羨ましいです。

■ バッドノウハウ講座(高林氏)

 バッドノウハウ界の狭さから話は始まり、バッドノウハウの定義、バッドノウハウの精神(じゃないのかな?)、バッドノウハウへのスタンスと対処法へと話は展開。結論としては計算機械学、精神病理学、法学、社会学、教育学などにまたがる学際領域分野であり、産官学連携の研究が急務だとのこと。

 講義中、再三出てきた話ですが、バッドノウハウがこれほど愛されるのは、バッドノウハウ自身の魅力であり、愚痴が尽きないのと同じようにバッドノウハウも尽きないでしょう、とのこと。そう、一度触れてしまえば、バッドノウハウは楽しいですね。Perlの正規表現などもう極め付けに楽しいです。

■ バッドノウハウパターン(宮川氏)

 フルタイトルは「ソフトウェア開発における再利用のためのバッドノウハウパターン」。「バッドノウハウの数が技術者の価値」と表現された、その意味についての説明がありました。この表現を聞いた時にはちょっと抵抗感があったのですが、聞けば、納得。

 ところで、バッドノウハウの再利用の一つは「コミュニケーション(愚痴)」に役立てることだとか。うーん、第二部の「実践バッドノウハウパターン」は職場で使っているソフトウェアに当てはまりすぎていて、「バッドノウハウ」のバの字も知らない職場の人にもこの資料は笑ってもらえそうな感じです。愚痴大会に役立ちそう。

 ...ところで、「バッドノウハウをパターン化できる」とか「バッドノウハウを再利用する」って、それ自体バッドノウハウじゃないですか?

■ オッパイ星人とバッドノウハウ(平林氏)

 招待講演「オッパイ星人とバッドノウハウ」。依頼メールによれば「ムダ知識」の大家として、テーマは「オッパイ星人論」などということで、そもそも自分がバッドノウハウと関係があるのだろうかと思いながらの出席だとか。うむ、関係がなさそうな気はするのですが、オッパイ星人の科学はとにかく面白かったです。

 講演は2部構成で、第2部はバッドノウハウの塊であるExcelの追放。こちらはGnuPlot?やImageMagick?、そしてPerlワンライナーなどのグッドラッパーとしてATOKを使用する話でした。でありながらこれによるビジネスプロセスはバッドノウハウの塊のニオイが、ということでした。あるある、なんだけど、AmetPerl?(綴りがあってたかな?あってる模様→参照)自体はWeb上で読んだ時よりずっと興味を持ちました。

 で、「バッドノウハウ」と「オッパイ星人の科学」の共通点は、過程を重要視、というか貴重視する事なのだということ。ということは、「オッパイ星人の科学」を追求するのは「奥が深い症候群」な訳で...楽しく、はまる訳です。

■ ライトニングトーク

 1人5分のライトニングトーク。これはリアルタイム更新できません...。

◇ 失われたバッドノウハウ(山下氏)

 Google検索結果にAmazonアソシエイトIDを出す、今ではGoogleに無効化されてしまったというノウハウ。バッドノウハウは消え去るのだよ、という話ですが、「このサイトに興味がある人はこの本にも興味を持っています」はグッドノウハウですね。作ろうかな。

◇ 日本Unix昔話(野首氏)

 Unixでかつて通用したノウハウがいつの間にか、という、失われたノウハウ話。Perlでも結構ありそう。そろそろ富豪プログラミングにスタイルを切り替えないとと思いました。

◇ マクロの決死圏(森本氏)

 Doc-CDを作ろうとしたら、バッドノウハウの塊になってしまったという...。BKCON-CDなら読み物として楽しそう。

◇ ユニックス・イズ・ザ・バッドノウハウ(江渡氏)

 Unix Haters HANDBOOKからはじまるバッドノウハウ論。しかし、バッドノウハウである(?)Unix主義と袂を分かったGNU主義というけど、故にGNU HURDが完成しないというのはバッドノウハウ臭ですね。

◇ TeX and only TeX(新部氏)

 TeXに対する愛の本流。バッドノウハウに共通点を探すと独自のソフトウェア環境がある、プログラミングで解ける道を残す、C*ANがあることだそうです。Perlじゃないですか、それ...。

◇ 「奥が深い症候群」の傾向と対策(鈴木氏)

 ソフトウェアが愛されるための出会いのデザインをしましょう、という話。そのためには「最初からいいやつを気取るか、悪いやつだと思ってたら実はいいやつを印象付けるか」だとか。あ、後者が奥が深い症候群?

◇ Perlでどうよ?(伊藤氏)

 Java好き、XML好き、Eclipse萌えの偉い人にPerlを認めさせるには...ウンチクは届かない、3秒で納得させるモノを用意しよう、という話。ううっ、この資料は公開されなそう。

◇ filter_callback()の話〜Apacheの秘め事

 Apache1.3系のソースに秘められたフィルタ機能、filter_callback()で遊ぶ話。使用例が楽しく、かつこんな使い方したらバッドノウハウな感じ。ソース、やっぱりドキュメント化をせずに済ませちゃう機能って残っちゃいますね。

◇ Inno Setup STAND ALONE COMPLEX(竹迫氏)

 Inno Setupの紹介。オープンソース、無償、国際化対応しているとのこと。で、さらにニュースグループもあってオールドタイプも安心!...それ、バッドノウハウ幇助じゃないですか。

◇ 5分で分かるPerlパワフルテクニック(早川氏)

 意味がないです。バッドだけどノウハウじゃないです。いやあ、大笑い!

Do VAIO World 2004。

 Do VAIO World 2004にも行きました。

 もちろん、お目当てはVAIO Type-U。これが展示されているコーナーはご覧の通りの人だかりでした。「Do VAIO : OUTDOOR」と書かれた黒いプレートの前は小さなステージになっていてちょうどそこでデモが行われているところ。プレート下部には操作説明用の巨大なVAIO Type-Uの模型が設置されていました。

 VAIO Type-Uですが、やはりSL-C860とサイズを比較すると、厚さは倍、縦横は二回りは大きく感じます。一緒に持ち歩くことになりそうな折りたたみ式キーボードは、畳んだ状態では縦横は本体と同じくらい、厚さは半分(ということはSL-C860程度)という感じです。

 私が想定しているVAIO Type-Uの使い方は

  • 職場や学校では別売りケースで立ててキーボードと外部ディスプレイを接続、本格デスクトップ風に。
  • 自宅ではクレードルに挿してキーボードを接続、簡易デスクトップ風に。
  • デスク/テーブルのある外出先では別売りケースで立ててキーボードを接続、ノートPC風に。
  • デスクがないところでは縦向きに片手でホールドしてスタイラス入力、PDA風に。

というところです。このサイズとなると最後のPDA風に使うという際に「縦向きに片手でホールドができるか」が気になりますが、できました。1枚目の写真がは説明に来てくれたお姉さんに持ってもらったところ。持ちながら嬉々として話してくれたのが「縦もちであれば女性の自分の手でも片手でホールドできますよ」ということ。自分で持ってみたのが2枚目で、親指の下にはポインティングデバイスがあり、ポインタの移動と押し込みでの左クリックができました。

 ところで、「PDA風に使う」というときになるのがスタイラスとこれを使った入力。スタイラスは既報の通りストラップのトップについているフィンスタイラスですが、写真で見ても分からず実物を見て気が付いたことが2点。まず形状ですが、水滴型で両面が盛り上がっているものと思っていたのですが、1枚目の写真の通り実際には皿型というか木の葉型。上面は谷折れになっていて、その部分がちょうど親指の腹にフィットします。中央部はアルミっぽい感触、周辺部はプラスチックかな?もう一つがサイズですが、VAIO Type-U、SL-C860との比較で分かるとおり、意外に大きいです。

 入力パネルは手書き認識、ソフトウェアキーボード、それから携帯電話式のソフトウェアキーボードが使用できました。このスタイラスでの入力はPDAの短く細いスタイラスと比較すると、動きが重要な手書き認識ではより使いやすく、正確なタップ位置が重要なソフトウェアキーボードでは使いにくいという感じ。フィンスタイラスは当然、文字入力以外に通常の操作などにも使用するもので十分便利なのですが、こと入力に関しては普通のペンサイズのスタイラスを別に用意したほうが良さそうです。

 もう一つ気になるのが、スタンバイや音楽再生時などの画面オフといった、省電力モードへの移行方法。この点は非常に良く作りこんであって、本体上部にはスタンバイボタン、本体左部にはホールドボタンがあり、それぞれ一操作でスタンバイ状態、画面オフで画面やキー入力無効状態に移行できるようになっています。実際にスタンバイとサスペンドを試してもらったところ、スタンバイへの移行と復帰は各3秒、サスペンドへの移行と復帰は各10秒程でした。PDAのようにすぐに電源オフ、オンというわけには行きませんが、まずまずの早さですし、操作はPDAと同レベルの簡単さです。

 VAIO Type-Uは類似機種が今のところまだないこともあって、自分なりに使い方を考えている人には、実物を見ると気が付くところが多そうです。この他、VAIO Type-XやPocket VAIOなども展示されているDo VAIO World 2004は26日(日)まで。完動品がType-Uだけで5台も置かれているので待ち時間などもそれほどなく、1時間もあれば十分に見て触ったこられるでしょう。台場方面に行かれる方はついでに立ち寄ってみると良いのではないかと思います。

ビジネスショウ Tokyo 2004。

 ビジネスショウ TOKYO 2004で見たもの。

 まずはお約束のNTTドコモpreminiです。

 LinuxザウルスSL-C860と並べて撮影しましたが、SL-C860の短辺と長さが同じくらいです。厚みはアーム状の分だけ厚く感じますが、手にとると問題なし。

 実際に動作するのでメニューを見てみたり、メールを作成してみたりと触ってみたのですが、例えばアプリケーションメニューはスケジュール、メモ、アラーム、計算機、文字入力ツールの5つだけなど、確かに初期の携帯電話に戻ったような簡潔さ。ただし操作性などはブラッシュアップされた今時のもので、使いやすかったです。

 次に併催のIPA X 2004 Springに出展されていたウエアラブル・ネットワークTextileNetです。

 正しく理解できている自信がないのですが概略を記しておくと、まず通電性を得るために、金属(銀だという話だったと思います)でコーティングしたナイロン布を作成。この「通電布」の間に絶縁の布を挟んで一枚の布にしてしまうと、裏と表を電極として使うことができます。これを使うと通電性のある衣服を作ることができ、服のあちこちに付けられたデバイス同士で通信、給電ができるとのことです。

 その場でも展示されている方と少しお話してきたのだけど、現時点ではモバイルバック素材にどうでしょうね。カバンの中に入れると、パソコンと電話、PDAが布を介して自動で同期。専用ポケットのバッテリーからこれらに自動充電。コストについても「ここだけの話」ということで聞いたのですが、少し高めの専用バッグとしてなら実現できなくもなさそうな値段でした。

 ということでひとまずファースト・インプレッション。チャンスがあればこの項、後で改稿します。

2004/05/13(木)

 本日中に都内に戻り、明日は3箇所周遊の予定。まるっきり遊びというわけでもなし、実態は周遊というほど優雅なもんじゃないですが。

 バッドノウハウカンファレンスの時間から逆算すると、台場駅を17時に出て新橋、神田、新宿、参宮橋で18時。ビジネスショウは時間を取られるだろうから、やっぱり朝からめいいっぱい動かないと、かなぁ。

2004/05/12(水)

 3件のモジュールドキュメントのperldoc.jpへの登録は、白井さんがしてくださいました。ありがとうございました。実際のところ、使い方の分からない&忘れたモジュールがあるとまずperldoc.jpに和訳されたドキュメントがないか探しに行くのがそろそろ習性になっているので、自分のところにだけあるよりずっと便利になるのです。

 で、残るPhalanx100モジュールを眺めてみると、未訳のものではArchive-TarClass-DateHTML-Tagsetなどがファイルが少なく、かつ結構重要そうな狙い目モジュールですかね。これからperldoc.jpに参加という方がおいででしたら、お土産がわりにどうでしょう。

Phalanxプロジェクトの100モジュール

 Perl Quality Assurance Projects(Perl品質保証プロジェクト)で、The Phalanx Projectというサブプロジェクト(?)が立ち上がっています。同ページの「About Phalanx」によれば、次のようなものだそうです。


 Phalanxプロジェクトには三つのゴールがある:

  • CPANのテスト、カバー率、ドキュメントの強化
  • Perlのテスト、カバー率の強化
  • Perl開発プロセスへの参加者の増加

 Ponieが2003年7月に発表された時、私たちはそれが必要とする復帰試験は、Perlがかつて以前に経験したよりも大きなものになるだろうことを知った。幸運にも、我々はCPANによって非常に大きな選択の余地を得ていた。80/20の規則がCPAN使用法にも適用できるという仮定に基づき、私たちはそれを98/2の法則に移行した。きわめて荒い使用方法の統計に基づいて、我々が選択した100のディストリビューションが、Perlコミュニティの使用するCPANのより巨大な部分をカバーしていることを期待している。

 PhalanxプロジェクトがPerlそれ自体に行われているものと同様によいテストとして機能し続けていけば、我々はPerlとともに配布されるモジュールにも目を向けるだろう。今のところ、我々はPhalanx100モジュールに注力している。


 つまり、水も漏らさぬ密集方位陣形を組んで、PerlというPerlを試験し尽くし、ドキュメント等を整備し尽くし、クオリティを高め尽くすためのプロジェクトで、まず広く使われている100モジュールを対象に活動を始めたということ。このプロジェクトについては最初にblog.bulknews.netで読みましたが、その後Perlドキュメント日本語訳MLに「そこでここに上げられているもののうち、まだ翻訳がおこなわれていないものを重点的に調べていったほうがよいのかなぁと思っているのですがいかがでしょう」というメッセージポストされています。

 ということで、前置きが長くなりましたが本題。WWW::Mechanizeに続き、以下の2モジュールを訳しました。

 CVSが分からないのでperldoc.jpに登録していないところがミソ、というか本当にオミソですけど。Perlドキュメント日本語訳プロジェクトでは、同サイトに登録されているもの以外に、www.cpan.jpの日本語ドキュメント検索ページからリンクされている各サイトに日本語化されたドキュメントがあると認識している(のだと思う)のですが、もしこれ以外のサイトにもあるようだったら是非ポストしてみてください。もちろん、日本語訳への参加者も歓迎されます。

 ...個人的には、CVSへの登録をやってくれる人が入ってくれないかな、とか思ったり。それぐらい覚えろよ、といわれそうですけど。

2004/05/10(月)

 以前一度だけ座った「非常に快適な椅子」、アーロンチェアだとばっかり思っていたのですが、よくよくWeb上で見てみるとイプシロンチェアだったようです。こうなると実物が見たくなってきます。

 実物を置いているお店が原宿にある様子。原宿といえばちょっと便利な&洒落たモバイラグッズなども置いているAssist Onなどもありますし、「GEDGETerのための良品、イプシロン・チェアとロットリング・マルチスタイラスオフ」などやりたくなってきてしまいました。どちらも原宿なので、ちょっと一人で行ってくればよいだけなんですけど...。

 む、そこから夕方の下北沢ハコウリツアーにつなげるのが吉かな?

WWW::Mechanizeドキュメント和訳。

 ずっと気になってたWWW::Mechanizeモジュールの1.02版のドキュメントを和訳しました。前回和訳時が0.70版。0.76版の次が1.00版だったので、それほど版数を重ねているわけではないのですが、やはり1.00版になったといわれると、更新しなきゃという気がします。

 ドキュメントは前回と同様、Digit.の方で公開しています。perldoc-jpへの登録は、結局CVSでの作業などが理解できなかったので割愛。ちょっとよろしくないとは思うのですけど。

 和訳作成中に気が付いたのですが、pod2htmlでのHTMLファイル作成時、インデックスと各ヘッダ部分に埋め込まれるURLは凄いことになります。時には、ダブルクォートが閉じられないようなものも出てきます。

 ということで、たった2行ですけど、以下のような秀丸マクロを作成しました。アルファベットと数字、アンダーライン以外の文字が含まれているページ内リンクとnameは、タイトル文字列で置き換えます。

replaceallfast "<a href=\"#\\f[^\">]*[^0-9a-zA-Z_\"][^\">]*\"?>\\f[^<]+\\f</a>", "\\0\\2\">\\2\\3", regular;
replaceallfast "<a name=\"\\f[^\">]*[^0-9a-zA-Z_\"][^\">]*\"?>\\f[^<]+\\f</a>", "\\0\\2\">\\2\\3", regular;

 とりあえずこれでも大体問題がないのですが、もっとうまい方法があれば教えてください...。

Vaio Type-U発表!

 何かとOQOやFlipStartの話で引き合いに出していたVaioですが、Type-Uという新製品が発表されました。一足先にミニPCですね!

 タブレットスタイルでサイズはFlipStartより長辺が少し長いだけの16.7×10.8×2.6cm。クレードルと折畳式キーボードが付属し、外ではタブレット、デスクではクレードルにつないでミニデスクトップという使い方のようです。

 何度も使っている比較表ですが、Vaioの項をType-Uに差し替えて再度掲載。サイズは上の図の3枚目、サイズの比較図もあわせてご覧下さい。

機種OQOFlipStartバイオ type U(VGN-U70P)
サイズ(cm)12.7×8.8×2.3cm14.8×10.1×2.6cm16.7×10.8×2.6cm
重量(g)400g450g550g
スタイルスライド式キーボード内蔵クラムシェルタブレット
CPUCrusoe TM5800 1GHzCrusoe TM5800 1GHzPentium M 1GHz
メモリ256MB256MB512MB
HDD20GB30GB20GB
解像度800×4801024×600800×600
USB端子USB1.1×1USB2.0×1USB2.0×1
LAN802.11b802.11b/g802.11g
内蔵I/FBluetooth、IEEE13941.3MPカメラメモリスロット、CF TypeII
その他クレードルありクレードル/ポートリプリケータありポートリプリケータ、折りたたみキーボードあり

 比較すると明らかに一回り大きいのですが、最初から日本語化済み、タブレットスタイルでは日本語の手書き文字入力やソフトウェアキーボード入力などにも対応していて、キーボード等も同梱という至れり尽くせりな構成なのは非常に魅力的。発売が5月29日ともう目前なのも怖いところです。