tsnetworkc3.png更新日記

更新日記インデックス
12/31/2001

今年もいつものように慌しく過ぎ去り行く。年末ぐらい落ち着いて優雅に過ごしたいものだが(^^;)なかなかそうも行かず、昨日はようやく宮島墓苑に車を走らせ、掃除を済ませた。さて、大晦日、まだ年賀状をインクジェットプリンタが打ち出しているところだが、今年を振り返ってみよう。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の記事で締めくくり。皆様よいお年をお迎えください。来年もよろしくお願いいたします。

12/30/2001

本棚からXMLに関係した本を引っ張り出して中味を点検しながら整理してみた。

XML/SGMLの本
著者題名出版社発行日・版ページ数価格(円)
根岸正光・石塚英弘共編統合マルチメディア選書「SGMLの活用」オーム社1994年12月20日第1版第1刷1682500
Eric van Herwijnen著、SGML懇談会実用化WG監訳「実践SGML」日本規格協会1992年4月20日第1版第1刷、1996年3月20日第2刷3054900
富士通XML推進チーム「はじめてのXML」例題で学ぶポストHTMLの実力日経BP社1997年11月22日第1版第1刷1952200
Frank Boumphery他著、トップスタジオ訳、北澤誠監修Programmer's SELECTION「XMLアプリケーションズ」基礎の徹底解説からADOやASPとの連携、Webサイトの構築まで翔泳社2000年2月20日初版第1刷5934800
Benoit Marchal著、石川直太監修、鷺谷好輝訳「実例で学ぶXML」インプレス2000年7月11日初版4802980
池田実、小野寺尚希著最新まるごと図解「XMLがわかる」技術評論社2000年8月28日初版第1刷、2000年10月13日初版第3刷2691980
有限会社マークアップ著「PHP、Perlで使うXML/XSL」Sablotronで実現するWEBサイト管理の効率化ディー・アート2001年7月1初版2552600
太田一郎・柴田史久著「XMLツールキット」秀和システム2001年7月26日初版第1刷3512800
田中伸一著、ぐるーぷ・アレフ、ジャストシステム出版部編集WebDAV入門ジャストシステム2001年8月25日初版第1刷2391600

一冊だけまず読むなら、技評の「XMLがわかる」だろう。知る必要のあることは網羅されているし、わかりやすい。内容の割に安価なのも良い。しかし、どの本もXMLを使う魅力が十分に伝わらない。それはなぜかというとXMLを使った魅力的なアプリケーションがないからだと思う。それでもベストな1冊を選ぶなら、インプレスの「実例で学ぶXML」を推薦する。XMLの可能性を感じさせる好著ではある。

12/24/2001

Yuna Projectからリンクが張られているのを発見(^^)人工知能を作るプロジェクトだ。と簡単に言い切るのは難しい。でも夢があるね。現在作れる人工知能はエキスパートシステムだ。スクリプト言語に関する質問なら大体答えられるようなものを作るのも面白いかもしれない・・・このサイトの次第に増大する情報から学習して知識が自己増殖するようなものを考えられないか・・・インプットが増えないとアウトプットも増えない・・・カテゴライズの自動化の問題に通じるのだが・・・まだ調べきれていない・・・再度挑戦か・・・

データ構造をまたもや変更(^^;)。掲示板グループ(メモグループ)→掲示板(メモグループ)→スレッド(メモ)のようにシンプルな構造になった。以前は掲示板グループ(メモグループ)→掲示板(メモ)→掲示板(次の位置のメモグループ)→スレッド(メモ)のような構造にしていたが、掲示板をメモとして取り扱えるメリットはあるが論理的な構造として不自然だ。最終的には、スレッドもメモグループにして、その中にスレッドの取得データやスレッドに関する書き込み、その他のメモ等を格納するようになるかもしれない。取り合えずブラウジングだけなら現状で問題ないだろう。

12/23/2001

明日はクリスマスイブ。今日は天気は良かったので、家の裏手にある竹で編んだ小さな開き戸を直した。大分前から準備していた新しい戸を止める金具をようやく見つけて、それを取り付けるための穴を開ける8mm径のドリルをディックで買ってきた。簡単な仕事だった。適切な部品と道具さえあれば・・・

カセットテープを使うのは次第に流行らなくなって最近はMDが幅を利かせている。ピアノの先生のところではMDを使うというので仕方なく録音再生のできるMDウォークマンを購入した。カセットだってまだ使えるのに・・・最初は使い方がわからなくて苦労した。ホールドという意味がわからなかった。電池を入れる口のそばにスライドスイッチがあるので蓋の開くのを防止するためのものと勘違いしていた。ホールドは携帯用の機器がボタンに触れて誤動作するのを防止するためのスイッチだ。ホールド状態で録音しようとして、録音できず、思うように操作できないのでもう少しで故障だと返しに行くところだった。やれやれ疲れたよ。テープノイズがないので音は確かにクリアだ。

  Webスクリプティングの時代に本格的に突入した21世紀、インターネットこそ
世界最大のアプリケーションだ。Webをどう読むか、その選択肢はインターネッ
トエクスプローラのようなWebブラウザだけではない。Perl等のスクリプト言語
を使えば、独自のカスタマイズした方法でWebを読むことができる。独自の方法
を編み出すためには結局Webについてよく知ることが必要になる。それが一番難
しいことかもしれない。検索エンジンは様様な切り口でWebを見せてくれるので
最も重要なツールだ。メーリングリストや掲示板で小耳に挟んだ情報も実際には
大変重要になる。雑誌・本・新聞・メールマガジン・テレビ等からの情報も同様。
自分の知っている範囲、世界が如何に狭いものかをいつも思い知らされるのだが、
自分の世界を大きく広げるチャンスが得られる。これはWeb上でのコミュニケー
ションやインターネットのお陰だ。
  TS Networkも静かに動き始めた。新しい方向性が見えてくるかどうか、これま
でにない価値を生み出せるかどうか、じっくりと考えていきたい。
  世界は着実にネットワーク化されていく。新年に向けて、新しい世界の見方を
見つけたい。そのための強力なツールがスクリプト言語なのだ。
12/22/2001

専用ページ参照。最近、いろいろ動かしているとスレッドを読み込めないケースがある。(1)掲示板のURLの取得のパターンマッチがすべてのケースに対応できていない、(2)掲示板のsubback.htmlの仕様が異なる場合があるのが理由。

INCMのプラグインフォルダを眺めていると、2ch用のRubyスクリプトがある。書き込みはできないみたいだけど、、、、、CGI_Boardのシステム上、INCMからは書き込めないということだが、なぜなんだろう。Perlスクリプトで2chに書き込もうと試みているのだが、「ERROR:Sjisで書いてね。。。」というエラーのファイルが戻ってくる(^^;)SJISで書いているので、正確なフォーム情報を読み込めていないということらしいが・・・

12/20/2001

12/18/2001

今日のお昼は少し暖かく散歩も快適でした。もう今年も数えるほどしか日にちが残っていません。信じられませんね。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;
12/15/2001

専用ページを作成してみた。多少仕様を変更してある。要望や使用方法についての質問等があれば、掲示板にお願いします。

12/10/2001

次は当然スレッド本体を読み込むことになる。スレッド一覧から一つのスレッドのメモを選択して、次のスクリプトを実行するとメモ本体の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;
12/09/2001

昨日の続編。掲示板一覧の掲示板のメモを選択した状態で次のスクリプトを実行すると、スレッド一覧を自動的に読み込み、メモの次の位置にスレッドリストのメモグループを作成して、さらにその中にスレッド名をタイトルに持つメモが格納される。メモの本文にはその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;
    }
}
12/08/2001

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;
    }
}
12/01/2001

先月は週一程度の更新日記のペースだった。少し疲れ気味。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円。人間の脳の活動、精神状態を説明するためにニューラルネット・モデルが役立つという精神医学者の本だが、脳の情報処理について知れば知るほど、脳とコンピュータの違いが明らかになってくるのだそうだ。

2001年11月分
2001年10月分
2001年9月分
2001年8月分
2001年7月分
2001年6月分
2001年5月分
2001年4月分
2001年3月分

(c)jscripter
TS Network ☆ミ >>