更新日記
今年もいつものように慌しく過ぎ去り行く。年末ぐらい落ち着いて優雅に過ごしたいものだが(^^;)なかなかそうも行かず、昨日はようやく宮島墓苑に車を走らせ、掃除を済ませた。さて、大晦日、まだ年賀状をインクジェットプリンタが打ち出しているところだが、今年を振り返ってみよう。WTCのテロによる崩壊とそれへの報復のアフガン空爆が最大の事件だったと思うが、悲惨な話で残念としか言いようがない。イスラエル−バレスチナ問題の混迷も含めて世界の平和が早く訪れることを祈るしかないが、実際のところ何かが欠けているように思う。世界市民としてできることは何なんだろう。
翻ってスクリプト言語、テキスト処理の世界を振り返ってみると大きな動きはやはりPerl6の開発スタートかな。Parrotの開発が本格的に進んできている。ParrotはPerlとPythonが統合されるというエイプリルフールに登場した架空の言語だったのだが、Perl6等のインタープリタ言語のバイトコードを効率よく実行するための、本物の仮想マシンとして開発されている。Parrotは鸚鵡であり、言葉を教えれば様様な言葉が喋れる。うまく名付けたものだ。各種言語のパーサーを作れば、Perl6のコードに変換してバイトコードがParrotで実行可能と言われる。そのためにはPerl6の言語的な基盤は各種言語を包括できるぐらい拡張されている必要があるだろう。今後の具体的な展開が楽しみである。
本サイトは更新日記を付け始めたのが大きな変化。人工知能の研究、AWKING Projectの立ち上げ、PS2 Linuxの導入、WinBatchEhやTcl/Tkを使ったLAN経由のWindows-Linux間のコピー・アンド・ペーストの試み、ArrangeNoteとの出会い、ArrangeNote HostでのActiveX Scripting、2ちゃんねるブラウザ on ArrangeNoteのリリースといろいろあった。来年もパーソナル・コンピューティングの楽しみはますます広がりそうだ。
TS Networkの胎動も今年の大きな変化である。インターネット・コミュニティの拡大の影響である。インターネットの進展によって様様な形態のコミュニティが考えられるようになった。ホームページやメーリングリスト、掲示板によるコミュニケーションが基盤となる。それも今や低コストで実現できるので、もうその流れを止めることは難しいように思われる。
Parrotがそろそろ使ってみておもしろいレベルになってきたらしい。インストールして試してみよう。CVSが使えるならAnonymous CVS accessで、
cvs -d :pserver:anonymous@cvs.perl.org:/cvs/public login [press enter at the password prompt] cvs -d :pserver:anonymous@cvs.perl.org:/cvs/public co parrot
これでインストール完了。次はmake。次のような手順で進める。
./Configure.pl make make test
parrotディレクトリのexamplesにmopsというディレクトリがある。ここにはRubyやPythonのスクリプトもあるので比較実行できる。おもしろいことにPerlが一番遅い結果になる。
[root@ps2linux mops]# perl mops.pl Iterations: 100000000 Estimated ops: 200000000 Elapsed time: 1265 M op/s: 0.158102766798419 [root@ps2linux mops]# python mops.py Iterations: 100000000 Estimated ops: 200000000 Elapsed time: 893.08702898 M op/s: 0.223942341015 [root@ps2linux mops]# ruby mops.rb Iterations: 100000000 Estimated ops: 200000000 Elapsed time: 879.599042 M op/s: 0.2273763277
無論これで終わってしまってはなぜParrotかということになる。次にmopsと同じディレクトリにあるassemblyというディレクトリでParrotアセンブラのファイルmops.pasmをPerlバイトコードmops.pbcにアセンブルする。これをParrotで実行すると20倍程度速くなるというわけ。
[root@ps2linux assembly]# perl -I../.. ../../assemble.pl mops.pasm > mops.pbc [root@ps2linux assembly]# ../../test_parrot mops.pbc Iterations: 100000000 Estimated ops: 200000000 Elapsed time: 50.385100 M op/s: 3.969427
最初CygwinでParrotをmakeしようとしたのだが、どうもうまくないので、PS2 Linuxを久しぶりに起動。make testまで完全に成功した。Linux環境があるのは心強い。さて、今年最後の記事をParrotの記事で締めくくり。皆様よいお年をお迎えください。来年もよろしくお願いいたします。
本棚からXMLに関係した本を引っ張り出して中味を点検しながら整理してみた。
| 著者 | 題名 | 出版社 | 発行日・版 | ページ数 | 価格(円) |
|---|---|---|---|---|---|
| 根岸正光・石塚英弘共編 | 統合マルチメディア選書「SGMLの活用」 | オーム社 | 1994年12月20日第1版第1刷 | 168 | 2500 |
| Eric van Herwijnen著、SGML懇談会実用化WG監訳 | 「実践SGML」 | 日本規格協会 | 1992年4月20日第1版第1刷、1996年3月20日第2刷 | 305 | 4900 |
| 富士通XML推進チーム | 「はじめてのXML」例題で学ぶポストHTMLの実力 | 日経BP社 | 1997年11月22日第1版第1刷 | 195 | 2200 |
| Frank Boumphery他著、トップスタジオ訳、北澤誠監修 | Programmer's SELECTION「XMLアプリケーションズ」基礎の徹底解説からADOやASPとの連携、Webサイトの構築まで | 翔泳社 | 2000年2月20日初版第1刷 | 593 | 4800 |
| Benoit Marchal著、石川直太監修、鷺谷好輝訳 | 「実例で学ぶXML」 | インプレス | 2000年7月11日初版 | 480 | 2980 |
| 池田実、小野寺尚希著 | 最新まるごと図解「XMLがわかる」 | 技術評論社 | 2000年8月28日初版第1刷、2000年10月13日初版第3刷 | 269 | 1980 |
| 有限会社マークアップ著 | 「PHP、Perlで使うXML/XSL」Sablotronで実現するWEBサイト管理の効率化 | ディー・アート | 2001年7月1初版 | 255 | 2600 |
| 太田一郎・柴田史久著 | 「XMLツールキット」 | 秀和システム | 2001年7月26日初版第1刷 | 351 | 2800 |
| 田中伸一著、ぐるーぷ・アレフ、ジャストシステム出版部編集 | WebDAV入門 | ジャストシステム | 2001年8月25日初版第1刷 | 239 | 1600 |
一冊だけまず読むなら、技評の「XMLがわかる」だろう。知る必要のあることは網羅されているし、わかりやすい。内容の割に安価なのも良い。しかし、どの本もXMLを使う魅力が十分に伝わらない。それはなぜかというとXMLを使った魅力的なアプリケーションがないからだと思う。それでもベストな1冊を選ぶなら、インプレスの「実例で学ぶXML」を推薦する。XMLの可能性を感じさせる好著ではある。
Yuna Projectからリンクが張られているのを発見(^^)人工知能を作るプロジェクトだ。と簡単に言い切るのは難しい。でも夢があるね。現在作れる人工知能はエキスパートシステムだ。スクリプト言語に関する質問なら大体答えられるようなものを作るのも面白いかもしれない・・・このサイトの次第に増大する情報から学習して知識が自己増殖するようなものを考えられないか・・・インプットが増えないとアウトプットも増えない・・・カテゴライズの自動化の問題に通じるのだが・・・まだ調べきれていない・・・再度挑戦か・・・
データ構造をまたもや変更(^^;)。掲示板グループ(メモグループ)→掲示板(メモグループ)→スレッド(メモ)のようにシンプルな構造になった。以前は掲示板グループ(メモグループ)→掲示板(メモ)→掲示板(次の位置のメモグループ)→スレッド(メモ)のような構造にしていたが、掲示板をメモとして取り扱えるメリットはあるが論理的な構造として不自然だ。最終的には、スレッドもメモグループにして、その中にスレッドの取得データやスレッドに関する書き込み、その他のメモ等を格納するようになるかもしれない。取り合えずブラウジングだけなら現状で問題ないだろう。
明日はクリスマスイブ。今日は天気は良かったので、家の裏手にある竹で編んだ小さな開き戸を直した。大分前から準備していた新しい戸を止める金具をようやく見つけて、それを取り付けるための穴を開ける8mm径のドリルをディックで買ってきた。簡単な仕事だった。適切な部品と道具さえあれば・・・
カセットテープを使うのは次第に流行らなくなって最近はMDが幅を利かせている。ピアノの先生のところではMDを使うというので仕方なく録音再生のできるMDウォークマンを購入した。カセットだってまだ使えるのに・・・最初は使い方がわからなくて苦労した。ホールドという意味がわからなかった。電池を入れる口のそばにスライドスイッチがあるので蓋の開くのを防止するためのものと勘違いしていた。ホールドは携帯用の機器がボタンに触れて誤動作するのを防止するためのスイッチだ。ホールド状態で録音しようとして、録音できず、思うように操作できないのでもう少しで故障だと返しに行くところだった。やれやれ疲れたよ。テープノイズがないので音は確かにクリアだ。
Webスクリプティングの時代に本格的に突入した21世紀、インターネットこそ 世界最大のアプリケーションだ。Webをどう読むか、その選択肢はインターネッ トエクスプローラのようなWebブラウザだけではない。Perl等のスクリプト言語 を使えば、独自のカスタマイズした方法でWebを読むことができる。独自の方法 を編み出すためには結局Webについてよく知ることが必要になる。それが一番難 しいことかもしれない。検索エンジンは様様な切り口でWebを見せてくれるので 最も重要なツールだ。メーリングリストや掲示板で小耳に挟んだ情報も実際には 大変重要になる。雑誌・本・新聞・メールマガジン・テレビ等からの情報も同様。 自分の知っている範囲、世界が如何に狭いものかをいつも思い知らされるのだが、 自分の世界を大きく広げるチャンスが得られる。これはWeb上でのコミュニケー ションやインターネットのお陰だ。 TS Networkも静かに動き始めた。新しい方向性が見えてくるかどうか、これま でにない価値を生み出せるかどうか、じっくりと考えていきたい。 世界は着実にネットワーク化されていく。新年に向けて、新しい世界の見方を 見つけたい。そのための強力なツールがスクリプト言語なのだ。
専用ページ参照。最近、いろいろ動かしているとスレッドを読み込めないケースがある。(1)掲示板のURLの取得のパターンマッチがすべてのケースに対応できていない、(2)掲示板のsubback.htmlの仕様が異なる場合があるのが理由。
INCMのプラグインフォルダを眺めていると、2ch用のRubyスクリプトがある。書き込みはできないみたいだけど、、、、、CGI_Boardのシステム上、INCMからは書き込めないということだが、なぜなんだろう。Perlスクリプトで2chに書き込もうと試みているのだが、「ERROR:Sjisで書いてね。。。」というエラーのファイルが戻ってくる(^^;)SJISで書いているので、正確なフォーム情報を読み込めていないということらしいが・・・
今日のお昼は少し暖かく散歩も快適でした。もう今年も数えるほどしか日にちが残っていません。信じられませんね。21世紀の最初の年も様様な感慨と思い出とともに過ぎ去ります。最近LynxがTS Networkで話題になっていて、DOSでもインターネットにアクセスできるツールとして注目しています。そこで、LynxとPerlで少し遊んでみました。URLを引数として入力するとhtmlファイルを取得して、テキストにフォーマットする。このフォーマットの仕方がおもしろい。単にプレーンテキストに変換するだけではない。本サイトの先頭ページを入力してみました。
J:\Downloads\DIST>perl textinurl.pl http://homepage1.nifty.com/kazuf/index.html
ts_network_zio.png
TS Networkのために- Kazuo Fujioka's Home Pages -
Welcome to Text and Script Network !
since 1998
[[1] 案内 ][[2] 更新日記 ][[3] クイックアクセス ][[4] 講座 ][[5] ニュ
ース ][[6] コラム ][[7] 書籍 ]
[[8] スクリプト言語 ][[9]AWK][[10]Perl][[11]Python][[12]Ruby][[13]
Scheme][[14]Tcl/Tk]
[[15]AWKING][[16]Ruby AWKING for Beginner][[17] Simple Web Programming
]
[[18] コミュニティ ][[19] インターネット会議室 ][[20] TS Networking ]
[[21] コンピューティング ][[22] スクリプト実行環境 ][[23] Cygwin
][[24]PS2 Linux][[25] Web Development ]
[[26] Another TS Network(IE4+ only) ][[27] 異世界へのゲートウェイ ]
_________________________________________________________________
Navigation [28]Top >>
本サイトはテキスト処理とスクリプト言語、あるいは処理の自動化とコン
ピューティングに興味を持つ人々のためのポータルサイト足らんとしてい
るちっぽけなサイトです。よろしく、お付き合いのほどを!
* What's New !
[29]更新日記の窓
IFRAME: [30]renewal.html
[31]更新日記
本サイトのページの更新と日々雑感の記録。本サイトの更新に
ついてはすべてわかるだけでなく、著者がすべてをここに書き
込む傾向があり(^^;)メインコンテンツである。更新状況、雑感
、アイデア、ニュース、コラム、書籍評、ミニ講座、チップス
等すべてを書き込み、まとまった段階で専用ページを書き起こ
す方針。更新日記インデックスを利用すれば、カテゴリー別の
話題へのアクセスも容易である。
o [32]更新日記インデックス
このページはRubyスクリプトで自動更新されている。
[33]Automated Web Knowledge, Information and News Gathering
Project
テキスト処理とWeb Programmingを結合したWeb情報収集自動化
の試み。アイデア募集中!!!各自のホームページで実施して本ホ
ームページにリンクされたし(^^)v連絡も下さいね。専用ページ
を新設しました(^^)
o [34]Ruby AWKING for Beginner
更新日記インデックスを自動更新するスクリプトを作りながら
、AWKINGの基礎を説明する簡単な講座。
o [35]My News
Perlスクリプトで各ニュースサイトから好みのニュースを切り
出して一つのページにまとめている。
[36]2ちゃんねるブラウザ on ArrangeNote
ArrangeNoteのActiveX Scripting Host機能を使った巨大掲示
板2ちゃんねるブラウザ
[37]PS2 Linux
リンク集。
* What's Contents !
[38]Quick Access for Windows Users!!!
スクリプト言語のダウンロードサイトへ直行したいWindowsユー
ザーのための簡易案内
[39]ニュース
私が気が付いたときに書くので、オールドニュースの場合も多
い(^^;)
[40]コラム
ニュースは事実主体だが、コラムは少し調べたりとか多少は内
容が豊富。
[41]講座
主にFGALTSの会議室の話題でまとまった内容のものを著作者の
許可を得て編集転載している。私が新規に書き起こしたものも
追加。
[42]Simple Web Programming
私がテスト的に書いたWebスクリプト。
[43]スクリプト言語
[44]AWK、[45]Perl、[46]Ruby、[47]Python、[48]Tcl/Tk等の各
種スクリプト言語のリンク集や話題。[49]Yet Another Ruby
Linksや[50]海外のRubyもある。
[51]スクリプト実行環境
スクリプト言語組み込み型のアプリケーションの紹介。
[52]Web Development
今のところ、XML関連のリンク集+α。
[53]コンピューティング
スクリプト言語以外のコンピューティングに関するクールな話
題へのリンク。Cygwin、.NET、Database、Programming
Language、OS、Unix、Organizations and Persons、Idea
、Selected forums@nifty、useful等がある。
[54]書籍
私が購入したスクリプト言語やコンピューティングに関連する
書籍についての評や関連リンク、Tips。
[55]TS Network Community
[[56]TS Networking][[57]TS_Network分室(^^) on Tiki
(todo.org)][[58]TSN りえまる分室][[59]相互リンク][[60]関
連掲示板・日記・Wikiサイトへのリンク][[61]Internet会議室
][[62]FGALTS@niftyへのインターウェイ]
[63]TS glossary WEB Edition
1997-1998年版、ねこ丸さんのβ1に基づく用語集。
[64]Another TS Network(IE4+ only)
遊びで試したダイナミックHTMLです。もう随分以前に作ったも
のです(^^;)見掛けを追求しても今のところ仕方ないのですが、
少しずついろいろ試していきたいと思っています。
[65]異世界へのゲートウェイ
特定の範囲に止まる必要はない。新天地を求めて飛び出そ
う(^^)ワクワクする体験ができるだろう。
* [66]TS Networkとこのホームページについて
* 本サイトで使用していたビジュアルな区切り線は[67]yukie.comのJava
Appletで〜す(^^)残念ながら重いので外してしまった。ごめんなさ
い_(__)_
* リンク方針:本サイトへのリンクはあらゆる方法で自由です。本サイトか
らのリンクもリンク方針が記載されていればそれに従い、ない場合は自由
にリンクさせていただいております。問題がある場合はご連絡くださいま
せ。
* [68]MyPage on FreeML
[69]Google _______________________________ Google 検索
_________________________________________________________________
ただいま [counter.cgi?u=JBD01136&p=7&c=7] 人の方が訪れています
。[Version 2 since 5/4/2000]
Today: [dayx.cgi?today] Yesterday: [dayx.cgi?yes] [index.html]
[70]TS Network ☆ミ >>
[71]<kazuf@mars.dti.ne.jp>
References
1. file://localhost/J:/Downloads/DIST/index.html#LABEL1
2. file://localhost/J:/Downloads/DIST/renewal.html
3. file://localhost/J:/Downloads/DIST/quickaccess.html
4. file://localhost/J:/Downloads/DIST/ts_seminar.html
5. file://localhost/J:/Downloads/DIST/ts_news.html
6. file://localhost/J:/Downloads/DIST/ts_column.html
7. file://localhost/J:/Downloads/DIST/ts_books.html
8. file://localhost/J:/Downloads/DIST/ts_scripting.html
9. file://localhost/J:/Downloads/DIST/awk.html
10. file://localhost/J:/Downloads/DIST/perl.html
11. file://localhost/J:/Downloads/DIST/python.html
12. file://localhost/J:/Downloads/DIST/ruby.html
13. file://localhost/J:/Downloads/DIST/scheme.html
14. file://localhost/J:/Downloads/DIST/tcltk.html
15. file://localhost/J:/Downloads/DIST/awking.html
16. file://localhost/J:/Downloads/DIST/ruby_awking.html
17. file://localhost/J:/Downloads/DIST/web_programming.html
18. file://localhost/J:/Downloads/DIST/community.html
19. file://localhost/J:/Downloads/DIST/ts_bbs.html
20. file://localhost/J:/Downloads/DIST/ts_networking.html
21. file://localhost/J:/Downloads/DIST/ts_computing.html
22. file://localhost/J:/Downloads/DIST/ts_scripting_env.html
23. file://localhost/J:/Downloads/DIST/cygwin.html
24. file://localhost/J:/Downloads/DIST/ps2linux.html
25. file://localhost/J:/Downloads/DIST/web_dev.html
26. file://localhost/J:/Downloads/DIST/dhtml.htm
27. file://localhost/J:/Downloads/DIST/otherworld.html
28. file://localhost/J:/Downloads/DIST/index.html#NETWORK
29. file://localhost/J:/Downloads/DIST/renewal.html
30. file://localhost/J:/Downloads/DIST/renewal.html
31. file://localhost/J:/Downloads/DIST/renewal.html
32. file://localhost/J:/Downloads/DIST/renewal_index.html
33. file://localhost/J:/Downloads/DIST/awking.html
34. file://localhost/J:/Downloads/DIST/ruby_awking.html
35. file://localhost/J:/Downloads/DIST/mynews.html
36. file://localhost/J:/Downloads/DIST/2ch.html
37. file://localhost/J:/Downloads/DIST/ps2linux.html
38. file://localhost/J:/Downloads/DIST/quickaccess.html
39. file://localhost/J:/Downloads/DIST/ts_news.html
40. file://localhost/J:/Downloads/DIST/ts_column.html
41. file://localhost/J:/Downloads/DIST/ts_seminar.html
42. file://localhost/J:/Downloads/DIST/web_programming.html
43. file://localhost/J:/Downloads/DIST/ts_scripting.html
44. file://localhost/J:/Downloads/DIST/awk.html
45. file://localhost/J:/Downloads/DIST/perl.html
46. file://localhost/J:/Downloads/DIST/ruby.html
47. file://localhost/J:/Downloads/DIST/python.html
48. file://localhost/J:/Downloads/DIST/tcltk.html
49. file://localhost/J:/Downloads/DIST/rubylinkj.html
50. file://localhost/J:/Downloads/DIST/rubylinke.html
51. file://localhost/J:/Downloads/DIST/ts_scripting_env.html
52. file://localhost/J:/Downloads/DIST/web_dev.html
53. file://localhost/J:/Downloads/DIST/ts_computing.html
54. file://localhost/J:/Downloads/DIST/ts_books.html
55. file://localhost/J:/Downloads/DIST/community.html
56. file://localhost/J:/Downloads/DIST/ts_networking.html
57. http://todo.org/cgi-bin/jp/tiki.cgi?c=v&p=TS_Network
58. http://www1.u-netsurf.ne.jp/~dune/TSN__82_E8_82_A6_82_DC_82_E9_95_AA_8E_BA.html?
59. file://localhost/J:/Downloads/DIST/ts_interlink.html
60. file://localhost/J:/Downloads/DIST/ts_community.html
61. file://localhost/J:/Downloads/DIST/ts_bbs.html
62. https://iw.nifty.com/iw/nifty/fgalts/mes/index.html
63. file://localhost/J:/Downloads/DIST/glossary.htm
64. file://localhost/J:/Downloads/DIST/dhtml.htm
65. file://localhost/J:/Downloads/DIST/otherworld.html
66. file://localhost/J:/Downloads/DIST/manifes2.htm
67. http://yukie.com/
68. http://www.freeml.com/my_page.php
69. http://www.google.com/
70. file://localhost/J:/Downloads/DIST/index.html#NETWORK
71. mailto:kazuf@mars.dti.ne.jp
スクリプトを忘れてた(^^;)
use LWP::Simple; ($filename = $ARGV[0]) =~ s|^.+/([^/]+)$|$1|; $| = 1; open(OUT, ">$filename"); print OUT (get $ARGV[0]); close(OUT); $format_text = `lynx -dump $filename`; print $format_text;
専用ページを作成してみた。多少仕様を変更してある。要望や使用方法についての質問等があれば、掲示板にお願いします。
次は当然スレッド本体を読み込むことになる。スレッド一覧から一つのスレッドのメモを選択して、次のスクリプトを実行するとメモ本体のURLからスレッドのHTMLを読み込み、HTMLのタグを除去してテキストとして取り出し、メモ本体に格納する。あっけなく2chブラウザの完成だ(^^)Perlのモジュールのお陰ではある(^^;)
use LWP::Simple;
use HTML::FormatText;
use HTML::Parse;
$note = $ANScript->GetNote();
$selecteditem = $note->GetSelectedItem( 0 );
$url = $selecteditem->{Body};
$| = 1;
$plain_text = HTML::FormatText->new->format(parse_html((get $url)));
$selecteditem->{Body} = $url."\n".$plain_text;
昨日の続編。掲示板一覧の掲示板のメモを選択した状態で次のスクリプトを実行すると、スレッド一覧を自動的に読み込み、メモの次の位置にスレッドリストのメモグループを作成して、さらにその中にスレッド名をタイトルに持つメモが格納される。メモの本文にはそのURLが書き込まれる。
use LWP::Simple;
$note = $ANScript->GetNote();
$selecteditem = $note->GetSelectedItem( 0 );
$url = $selecteditem->{Body};
$url .= "subback.html";
$mgitem = $selecteditem->NewItem( $note->{MEMOGROUP}, $note->{NEXT} );
$mgitem->{Title} = $selecteditem->{Title}.":Thread List";
$| = 1;
@lines = split(/\n/, (get $url));
$num = 1;
foreach (@lines){
if(/<base +href="([^"]+)"/i){
$basehref = $1;
}elsif(/^<a +href="([^"]+)">([^<]+)<\/a>/i){
$item = $mgitem->NewItem( $note->{MEMO}, $note->{CHILD} );
$item->{Title} = $2;
$item->{Body} = $basehref.$1;
}
}
ActiveX Scripting Host機能を持つArrangeNoteで遊んでみよう。2chのブラウザを作ってみるのもおもしろいかと・・・まずは掲示板一覧を読み込んでみる。階層型テキストを読むよりはるかに簡単だ。掲示板一覧のURLのHTMLファイルを読み込んで、掲示板グループタイトル、掲示板タイトルとそのURLをパターンマッチで切り出す。取りあえず掲示板グループタイトルをメモグループタイトルに、掲示板タイトルをメモタイトルに、掲示板のURLをメモに入れる。掲示板がグループ単位で階層構造で整理されて表示される。Perlスクリプトなら次のとおり。
use LWP::Simple;
$| = 1;
$url = "http://www6.ocn.ne.jp/~mirv/bbstable.html";
@lines = split(/\n/, (get $url));
$note = $ANScript->GetNote();
$layer[0] = $note->GetRootItem();
$num = 1;
foreach (@lines){
if(/^\/?<A +HREF="*([^>]+)"*>([^<]+)<\/A>$/i){
$item = $layer[$num-1]->NewItem( $note->{MEMO}, $note->{CHILD} );
$item->{Title} = $2;
$item->{Body} = $1;
}elsif(/^[^>]+>([^<]+)<[^<]+<A +HREF="*([^>]+)"*>([^<]+)<\/A>$/i){
$num = 1;
$layer[$num] = $layer[$num-1]->NewItem( $note->{MEMOGROUP}, $note->{CHILD} );
$layer[$num]->{Title} = $1;
$layer[$num]->{Open} = true;
$num = 2;
$item = $layer[$num-1]->NewItem( $note->{MEMO}, $note->{CHILD} );
$item->{Title} = $3;
$item->{Body} = $2;
}
}
先月は週一程度の更新日記のペースだった。少し疲れ気味。TS Networkメーリングリストは10/31にスタートして参加者も順調に増えてきた。いろいろ意見が出てきているし、インターネット時代のデジタル・コミュニティのあり方を模索していきたい。私自身の活動のスタイルもこの更新日記によって変化してきている。インターネットに存在する様様なメディア間の相互作用という形で新しいコミュニケーションは展開される。Webの多様性は従来の一律なシステムでは包括しきれない豊穣なコミュニケーションを成立させるだろう。
極悪さんに紹介していただいた、ダミアン・コンウェイ著、株式会社山根ドキュメンテーション訳、「オブジェクト指向Perlマスターコース-オブジェクト指向の概念とPerlによる実装方法-」、ピアソン・エデュケーション、2001年2月10日初版第1刷、648ページ、6,200円。原題は「Object Oriented Perl」と正にオブジェクト指向Perlが主題の本格的な解説書である。著者のDamian ConwayはLarry Wallの黙示録の解説も書いているPerlコミュニティの中核メンバー。「オブジェクト指向入門」、「Perl入門」、「オブジェクト指向Perl入門」の章もあり、Perlの知識を前提としているが初心者にもとっつきやすい構成になっている。無論、オブジェクト指向の要素については、オブジェクトの生成に関する「配列とスカラのbless」と「その他のデータ型のbless」、「継承」、「ポリモーフィズム」、「クラス生成の自動化」、「結合」、「演算子のオーバーロード」、「カプセル化」、「総称」、「多重ディスパッチ」、「永続オブジェクト」と網羅されており、付録はクイックリファレンス、他の言語との比較、参考文献、用語集と充実している。Perlでオブジェクト指向プログラミングを学ぶにも最適の好著である。
リチャード・S・ワーマン著、金井哲夫訳、「それは情報ではない」、エムディエヌコーポレーション、2001年9月21日初版第1刷、409ページ、2,800円。原題は「Information Anxiety 2」。情報は理解できるものにデザインされたデータである。データそのものは情報ではない。それだけではない。情報そのものは完成品ではない。コミュニケーションによって完成する。ここ10年間の実用的な思索の多くの結晶がある。分類はLATCHで行う。Location、Alphabet、Time、Category、Hierarchyの5つだ。なるほど・・・
M・シュピッツァー著、村井俊哉・山岸洋訳、「脳、回路網のなかの精神-ニューラルネットが描く地図」、新曜社、2001年11月8日初版第1刷、364ページ、4,800円。人間の脳の活動、精神状態を説明するためにニューラルネット・モデルが役立つという精神医学者の本だが、脳の情報処理について知れば知るほど、脳とコンピュータの違いが明らかになってくるのだそうだ。