マトリックスは刺激的な映画だったが、同じくプロデューサーのジョエル・シルバーが作った映画がSWORDFISH。マトリックス同様、マルチスクリーンのコンピュータが出てくるところがおもしろい。お勧め。ジョエル・シルバーのプロデュースのリストにダイハードが含まれているのを見て納得。B級映画のおもしろさ、満載。テンポの早さ、展開の意外さ、ショッキングな映像表現、エンディングがハッピーエンドなのもグッドだ。とにかくおもしろかった。こういう映画なら集中して見れるね。一泊二日だ。返さなくっちゃ・・・
日記間相互作用、、、、、〈青天都〉オンライン。の小宮日記からのリンクの話に応答があった。珍しいケースなので、もう少し続けよう。AWKING Projectにあるget_mynews.plの使い方はわからない方が多いようで、FAQ(Frequently Asked Questions)にも簡単に書いておいたのだが、もう少し説明しておこう。このスクリプトはユーザーのデスクトップでインターネットに接続できる状態にして実行するもので、インターネットから望みのHTMLファイルを複数読み込み、適当に必要事項を加工してまとめたHTMLファイルを生成する。さらには生成したファイルをユーザーのWebサイトにFTPで送り込むことができる。サーバーを立てる必要はないが、自分のWebサイトは必須である。無論、Perlがないと動かない。当然のことながらCGIとして動くように書くことも可能である。デスクトップローカルで動かしているhttpサーバーで使用するのも良い方法なので、cgiバージョンも載せておこう。要はHTMLをファイルではなく標準出力に出すようにするだけだ。FTPで送り出す部分も不要になるので、もっと簡単なスクリプトになる。
use LWP::Simple; use Net::FTP; require 'jcode.pl'; $| = 1; while(<DATA>){ chomp; ($site,$target)=split(/\t+/,$_); if($site =~ /Linux Report/){ @lines = split(/\n/, (get $target)); foreach $line (@lines){ if($line =~ s|^<!-- ep-LIN-LINK\d+ -->(<A HREF=")\.\.(.+)$|<BR><FONT COLOR="#EBAB02">■$1http://www.idg.co.jp/report/linux$2|){ $link = $line; }elsif($line =~ s|^<!-- ep-LIN-TITLE\d+ -->(.+)$|</FONT><FONT COLOR="#1D20AF">$1</FONT></A> |){ $title = $line; }elsif($line =~ s/^<!-- ep-LIN-DATE\d+ -->(.+)$/$1<BR>/){ $date = $line; }elsif($line =~ s/^<!-- ep-LIN-GAIYOU\d+ -->(.+)$/$1<BR><BR>/){ $sitedata{"$site\t$target"} .= join("\n", $link, $title, $date, $line); } } }elsif($site =~ /ZDNN:AnchorDesk/){ $body = (get $target); if($body =~ m|(\d{2})(\d{2})年(\d{1,2})月(\d{1,2})日(.+)更新|s){ $newspattern = "/news/$2"; $month = (length($3) == 2) ? "$3/" : "0$3/"; $day = (length($4) == 2) ? "$4/\\w+\.html" : "0$4/\\w+\.html"; $newspattern .= $month . $day; $sitedata{"$site\t$target"} = "<P>更新時刻: $1$2/$3/$4 $5</P>\n"; } if(@newslist = ($body =~ m|<p>\s*.?\s*<a href="$newspattern">[^\n]+.?[^\n]+<br clear="left"></p>|gis)){ foreach $news (@newslist){ $news =~ s|($newspattern)|http://www.zdnet.co.jp$1|gis; $sitedata{"$site\t$target"} .= $news . "\n"; } } }elsif($site =~ /CNET/){ @lines = split(/\n/, (get $target)); $sitedata{"$site\t$target"} = "<ul>\n"; foreach $line (@lines){ if($line =~ /\d{4}年\s+\d{1,2}月\s+\d{1,2}日\s+.+曜日/){ $count++; if($count == 2){ $sitedata{"$site\t$target"} .= "</ul>\n"; last; } } if($count == 1){ $line =~ s|(<a href=")(/[^>]+>)|$1http://japan.cnet.com$2|i; $sitedata{"$site\t$target"} .= "$line\n"; } } }elsif($site =~ /BizTech/){ $sitedata{"$site\t$target"} = "<BR>\n"; @lines = split(/\n/, (get $target)); foreach $line (@lines){ jcode::convert(\$line, 'sjis'); if($line =~ m|<!-- ▼▼▼▼▼NEWS\(\w+\)挿入▼▼▼▼▼ -->|){ $line =~ s|(<a href=")(/[^>]+>)|$1http://biztech.nikkeibp.co.jp$2|i; $sitedata{"$site\t$target"} .= "$line\n"; }elsif($line =~ m|<!-- ▼▼▼▼▼最終更新日時挿入▼▼▼▼▼ -->|){ $sitedata{"$site\t$target"} .= "$line<BR>\n"; } } } undef @lines; } print <<EOB; Content-type: text/html <HTML> <HEAD> <TITLE>My News</TITLE> <META HTTP-EQUIV="Content-Type" content="text/html; charset="Shift_JIS"> <style type="text/css"> <!-- BODY{background:#FFFFF0} .title{font-size:16pt;color:#336666;font-weight:bold} .item{font-size:14pt;color:#FFFFFF;font-weight:bold;background:#FF9900;text-indent:15px} .content{font-size:12pt;color:#336666;font-weight:bold} .header{font-size:12pt;color:#CC0000;font-weight:bold;text-indent:5px} .footer{font-size:10pt;color:#336666;font-weight:bold} //--> </style> </HEAD> <BODY> <div class="title">My News</div> EOB ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $thisday = (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[$wday]; $thismonth = (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)[$mon]; print "<div class=\"header\">Last updated : $hour:$min:$sec $thismonth $mday ($thisday) ", $year+1900,"\n</div>\n"; foreach $key (keys %sitedata){ ($site, $target) = split('\t', $key); print "<P><div class=\"item\">Source:$site <A HREF=\"$target\">$target</A></div>\n$sitedata{$key}\n"; } print <<"EOE"; <HR> <div class=\"footer\"> This page is generated by $0<BR> <I><A HREF=\"http://homepage1.nifty.com/kazuf/index.html\">TS Network</A></I> \ <FONT COLOR=\"ORANGERED\">\>\></FONT> </div> </BODY> </HTML> EOE __END__ Linux Report New Topics http://www.idg.co.jp/report/linux/top/index.html?navi ZDNN:AnchorDesk http://www.zdnet.co.jp/news/anchordesk/index.html CNET Japan Tech News: US CNET発 http://japan.cnet.com/News/us.html BizTech ニュース Top News http://biztech.nikkeibp.co.jp/biztech/topics.shtml
サーバーをローカルで立てるなら、AN HTTPサーバーが簡単でお勧めだ。Apacheも良いが多少苦労するかもしれない。その他、取得したニュースをデータベースに蓄積して必要なときに検索して取り出せるようにしたりすることはそれほど難しいことではないだろう。そこまでやればAirWeb対抗のプロジェクトになるだろうけど(^^;)次のステップでそのような話題も取り上げてみよう。
今日は5月連休初日だが、会議があるので出勤。会議が終わると早めに帰ってきた。最近はビデオ3巻/週のペースで借りているが、集中して見ることは稀だ。ながら族で音声を英語のままで見ているとまったく頭に入らない(^^;)途中で日本語に切り替えて見る。英語の勉強にはならないなあと思いながら・・・
「エレガントな宇宙」を読了。ネタばらしは止めよう。人間の直感ではもうわからない数学の世界なのかもしれない。しかし突然ひも理論は現れたわけではないし、歴史的にも古く相対性理論や量子力学と密接に結びついていることがよくわかる。この本はニュートン力学から超ひも理論への発展を物理学の全体像として歴史の流れの中で捉えることができる類い稀な著作である。欧米では長くベストセラーの位置を占めたそうだが日本においてもそうならんことを。
〈青天都〉オンライン。というサイトを発見。そこにある小宮日記にここがリンクされていたからだ。いわゆる人工無脳的なものを作ろうという気持ちは誰もが一度は抱く感情だ。特にプログラミングを知ったからには・・・私は今でも無意識にいつの日か人工知能を書くための準備をしている自分に気付く・・・形態素分析とか、モンターギュ意味論とか、、、坂井秀寿著「日本語の文法と論理」も買ってしまった。実用的には上田太一郎編著「データマイニングの極意」なんて本も最近買ってきた。ExcelとS-PLUSで回帰分析やクラスター分析、ニューラルネットをやろうというわけだ。何にどう使うかが問題なんだけど・・・データ入力→解析→アクションのサイクルができれば、まあ人工知能みたいなもの・・・以前、カテゴライゼーションを調べたままほったらかしだが、これもデータマイニングの技術を応用する必要があるのだろう。
TS Networkの新しいWebサイトをどのように構築すべきかと数多くの選択肢を前に思い悩んでいたが、結局、Apacheを入れた後、Zopeもインストールした。コラボレーションをするためにはZopeのような仕組みは必要だろうと思われるからだ。ZopeのようなWebアプリケーションのミドルウェア的な仕組みはいろいろと出てきている。PerlならBricolageかな。新しい物好きの私がZopeを選択したのは日本語の情報が多いのと、PyJUGの構築の応援をしそびれた一つの原因はZopeの勉強不足もあったので、まずは老舗のZopeを勉強して損はないという気持ちがあったからだ。SlashdotのようなサイトもクローンのSquishdotを入れているので、簡単に(^^;)できるはず・・・なんだが・・・
一応できた(^^)まだZopeやSquishdotのシステムのことがよくわからないので、今一な感じだがようやく動かせた。Squishdotで生成したフォルダをZopeのルートに動かすことがポイント。そうしないと長ったらしいURLでアクセスする必要が出てくる。Python-2.1.3+Zope-2.5.0+Squishdot-JP-0.1.1+TinyTablePlusJP+jMailHost-0.1.3をインストールした。
うーん。なぜか落ちている(^^;)puttyで入って再起動。とにかくDTMLを勉強しないと・・・
最近は日記ではなくて週刊誌になった(^^;)習性を見抜かれて日曜日にはアクセスが50を越える・・・
集中力を欠く日が続くので、思い切って気分転換と女房と懸案の権現山登山に望んだ。午前11時出発が午後1時半までずれ込んだが、権現山の中腹の毘沙門天よりやや低い我が家から山の東側にある車も通れる舗装された山林道路へ入った。最初の電波中継所のある市内への眺望が素晴らしい場所から毘沙門天の東回り遊歩道に入ると、頂上まで550mだ。ここまでで既に十分な運動量だったので、運動不足の身にとって久しぶりの山道は苦しかった。ようやく頂上に着くとしばらくは苦しい息を整えた。鶯が上り始めた場所から山頂まで時折鳴き続けた。毘沙門天の多宝塔よりもだいぶ高いので東に流れる太田川の川面も良く見える。遠くリーガロイヤルホテルの小さな黒い影の向こうに瀬戸内海が霞んでいる。女房は西回りの遊歩道から上がったことがあるらしいが急な山道で大変らしい。もっとも楽なのは最後まで舗装された山林道路を使うことだ。適度なハイキングコースになるだろう。帰りは山頂の北側から山林道路を下りた。帰り道、道端で見つけたすみれの花をデジタルカメラに収めた。帰り着くと3時半。往復2時間の少し疲れる散歩だったが、頭のチャネルを切り替えるには最適な運動だったかな・・・
何か落ち着かなくて、読書もWebサイトの構築も進まない。トム・クランシーの「大戦勃発」も今日4分冊の残りの2冊を買ってきたが、まだ一冊目の150ページあたりをうろうろしてる。ブライアン・グリーンの「エレガントな宇宙」はまだ80ページを越えたあたりで、特殊相対性理論の詳しい解説を読み終えたところ、途中の感想だが、この本はやはりお勧めだ。光速に近い速度で進むと時間の経過が遅くなるという例の話だが、この本のようになるほどと思わせる描像を与えてくれる本には初めて出会った。3次元の空間に時間を加えた4次元の世界を考えると、通常我々はそのような世界に住んでいる?のだが、3次元空間で静止していると時間のなかを光速で進むことになるというのが特殊相対性理論というわけだ。時空の4次元ベクトルで考えるとすべてのものは光速で進んでいる。極端な例は光速で進む光子だ。ビッグバンで放たれた光子は3次元空間を光速で進んでいるので時間は経過していない。原初の光のままなのだ。逆に我々はほとんど光速で時間の中を過去から未来へ走っていることになる。年を取るのだ。この描像はショッキングだった。えっ、そうだったのって(^^;)思った。でもなるほどとも思った・・・超ひも理論は11次元の話なので、おそらくもっとおもしろくなるに違いない(^^)
昨日、NHKの未来への教室という番組に、アラン・ケイが出ていた。子供たちがSqueakを使って様々なプログラムを作って発表するのだが、なかなか楽しそうだ。後でSMLのメーリングリストを読んでいるとアナウンスが出ていた。それに触発されて、WindowsXPマシンにもSqueakをインストールしてみた。なかなかおもしろそうな環境だ。これこそが子供たちの創造性を伸ばすのだろうか。知性や感性を増幅する環境。テレビなどがメディアだとすればコンピュータはメタメディアだという。アラン・ケイは現在のアプリケーション・ベースのコンピュータ環境は創造性を損なうと考えているようだ。確かに単にデスクトップのメタファーだけでは創造性があるとは言えないだろう。最後に子供たちの感想を聞いたあと、アラン・ケイはこんな風なことを言った。「君たちは現在のコンピュータやSqueakを忘れて、もっと新しいものを作り出すことができる。」試してみたいと思った方、最新の多国語化Squeakはhttp://squeak.hoops.ne.jp/にある。
今年のエイプリルフールはさっぱりだった(^^;)現実のほうがおもしろい。昨年のエイプリルフール騒動の張本人、Simon Cozensの最近の記事「A Perl Hacker's Foray into .NET」はTSperlの部屋でも紹介したが、ここにもリンクを置いておこう。Perl6のインタプリタはMS-ILの出力に対応するようになる可能性もある。すなわち.NET Frameworkに対応するようになるわけだ。Perlの活躍できる領域を拡大するためには自然な流れだろう。
次第にパーソナルユーザーにとっても.NET関連のプロジェクトが現実的なものとして見えてきた。Mono、Rotor、Perl6/Parrotと.NET関連の主要なプロジェクトに注目していきたい。
コンピューティングの領域ではおもしろい話がいろいろある。そのうちの一つはクラスター・コンピューティングだ。これは高速のネットワークと複数台のPCでスーパーコンピュータを作ろうというような話。それと似ている部分もあるのだが、分散コンピューティングとか、インターネット・スケールOSというようなソフトウェア的な話がある。それからP2Pのようなネットワークの形態の観点からみたものがある。
インターネット・スケールの分散コンピューティングで有名なものにはSETI@homeのプロジェクトがある。そのディレクタのDAVID P. ANDERSONらが提案しているのが、ISOS(Internet-scale OS)である。これもP2Pシステムの一種らしい。表題の記事には同様な努力への多くのリンクが含まれている。