[Amazon] ロジスティクス

Amazon.co.jp、関西でも「即日配達」を可能にする体制を構築へ - スラッシュドット・ジャパンネタ。コストアップ要因とならないのか?

最近、お急ぎ便ではないのに、翌日配達となった場合があって驚いたのだが・・・

Amazonは当初はお急ぎ便でなくても、翌日に配達されて素晴らしいものだと感心していたのだが、お急ぎ便だのアマゾン・プレミアムなどの仕組みが出てきて、Amazonを使う理由が希薄になりつつあった。Amazonは配達が早いから使っていたのであって、早くするのに別に費用が掛かるなら、他のサービスを使うことも選択肢に入ってきていたのだ。

[AWK] gawkは速い!

昔々、jperlはjgawkより速かった記憶があったのだが、最近のマルチバイト版gawkは速い。mops.plのAWK版を作って試してみた。

C:\Scripts\PARROT~1.0\examples\mops>jgawk -f mops.awk (2.15.2 + 1.1(SJIS))
Iterations:     10000000
Estimated ops:  20000000
Elapsed time:   57
M op/s:         0.350877
C:\Scripts\parrot-1.0.0\examples\mops>gawk -f mops.awk (3.1.6)
Iterations:     100000000
Estimated ops:  200000000
Elapsed time:   22
M op/s:         9.09091

mops.awkは、systimeとdo~whileループを使う。

#! gawk
BEGIN{
    I2 = 0;                      # set    I2, 0
    I3 = 1;                      # set    I3, 1
#    I4 = 10000000;
    I4 = 100000000;              # set    I4, 100000000
                                 #
    print "Iterations:    ",I4;  # print  "Iterations:    "
                                 # print  I4
                                 # print  "\n"
                                 #
    I1 = 2;                      # set    I1, 2
    I5 = I4 * I1;                # mul    I5, I4, I1
                                 #
    print "Estimated ops: ", I5; # print  "Estimated ops: "
                                 # print  I5
                                 # print  "\n"
                                 #
    N1 = time_hires();           # time N1
                                 #
    do{                          # REDO:
        I4 = I4 - I3;            # sub    I4, I4, I3
    }while(I4)                   # if     I4, REDO
                                 #
                                 # DONE:
    N5 = time_hires();           # time   N5
                                 #
    N2 = N5 - N1;                # sub    N2, N5, N1
                                 #
    print "Elapsed time:  ", N2; # print  "Elapsed time:  "
                                 # print  N2
                                 # print  "\n"
                                 #
    N1 = I5;                     # set    N1, I5
    N1 = N1 / N2;                # div    N1, N1, N2
    N2 = 1000000.0;              # set    N2, 1000000.0
    N1 = N1 / N2;                # div    N1, N1, N2
                                 #
    print "M op/s:        ", N1; # print  "M op/s:        "
                                 # print  N1
                                 # print  "\n"
                                 #
                                 # end
}
function time_hires() { return systime() }

mops.awkだけでベンチマークをするのは乱暴だが^^;)、参考にはなるだろう。

上記AWKスクリプトのコメントにあるのが、対応するPASM(Parrot Assembly Language)によるコードである。

更新: 2009-03-22T11:13:24+09:00

[クラシック] 名曲の楽しみ - ショスタコーヴィチのピアノ曲

昨日、思い出して「名曲の楽しみ」を点けるとショスタコーヴィチのピアノ曲が流れ出した(NHK 番組表: 2009-03-28;名曲のたのしみ -私の試聴室-)。

アルゲリッチの「ピアノ協奏曲第1番」とオリ・ムストネンの「24の前奏曲」。試聴室ということで、いつものプーランクのシリーズとは違って新鮮だった。ショスタコーヴィチのピアノ曲もいいなあという話になって、「24の前奏曲」の楽譜とCDを注文。CDのほうはシチェルバコフというロシアのピアニストの外盤だった。


更新: 2009-03-30T23:00:52+09:00

[デザイン] Bruno Munari

02/28/2009: [千夜千冊] デザイナーの未来派の続き。

../jpg/P3120241s_Bruno_Munari.JPG広島市立図書館から

『モノからモノが生まれる』ブルーノ・ムナーリ 松岡正剛の千夜千冊・遊蕩篇から3冊を選んで借りた。「モノからモノが生まれる」(みすず書房、2007年)、「デザインとヴィジュアル・コミュニケーション」(みすず書房、2006年)、「芸術としてのデザイン」(ダヴィッド社、1997年八版;1977年初版)。


モノからモノが生まれる。言葉から言葉が生まれる。モノから言葉が生まれる。言葉からモノが生まれる。そうして、「言葉と物」が書かれた。

更新: 2009-03-13T08:46:06+09:00

[日記] kumo=雲=cloud

マイクロソフト、新たな検索エンジン「Kumo」をテスト中であることを認める : Microsoftウォッチ - Computerworld.jpネタ。

うーむ、UTF-8の時代なんだから、漢字を使えよなんて・・・^^;)そうすれば日本語が亡びるなんて言わないかも^^;)

[日記] 創造的未来

米国でRuby関連書籍の売り上げが減速か - @IT子どもたちがOSS活動、プログラミング言語「Scratch」が開く未来 - @ITなど。同じコンピュータで動くなら、どの言語を使ったって効率が多少変化するにしても基本的に同じじゃないとか思ったりしているのだが・・・

コンピュータも様々な身体部位を持っている。CPU、メインメモリ、グラフィックスボード、ディスプレイ、プロジェクター、キーボード、プリンタ、マウス、ハードディスク、USBメモリ、ルータ、モデム、LAN/WANなどのネットワーク、スキャナ、デジタルペン、・・・、手、足、センサー、マイク、カメラ、ビデオカメラ、スピーカー、・・・、オーディオ、ビデオ、テレビ、ラジオ、・・・。世界に浸透していく・・・、遍在するコンピュータ。動き出すコンピュータ。感じるコンピュータ。・・・しゃべるコンピュータ。歌うコンピュータ。録音するコンピュータ。・・・

Aliceというプログラミング言語があるというので調べた。最初はこっち、Alice.orgだと思ったのだが、こちらは、Alice (software) - Wikipedia, the free encyclopediaのほうだった。以前はPythonのアプリケーションだったはず{PythonCardとwxPython (2002/05/12)}。

HaskellやF#、Processingなど気になる言語は多いが、今のところわざわざ新しい言語の修得に踏み込む理由は希薄である。何をするんだい・・・未来を創造するための種を宿している言語は・・・新しいハードウェアと結びつく必要がある。何ができるかはそれに依存するのだ。

更新: 2009-03-13T08:24:32+09:00

[日記] 過去から

内田先生のブログにスタジオジブリの月刊誌「熱風」(非売品で、「スタジオジブリの好奇心」のキャッチコピーが表紙にある)のことが書かれていて、へーっそんなものがあるのと思って注文していたのが今日届いた。購読するにはスタジオジブリ出版部に申し込んで、郵便局の払込取扱票を送ってもらい、年間購読料金2000円を振り込む必要がある。3月号には戦争が特集されていて、世界紛争地図を編集部が作り、五編の記事が載っている。連載の一つに広岡達三氏!?といしいひさいち氏の「ヘン」という文と漫画があるのだが、アメリカの作家、J・アップダイクの話が出ている。それを読んで僕は過去に戻っていったのだ。

../jpg/P3130244s_Neppuu.JPGGHIBLI 熱風 2009 3

僕がル・クレジオやサリンジャーと一緒に好きだった作家がジョン・アップダイクだったからだ。今年の1月に亡くなったんだ。知らなかった。書棚には「走れウサギ」(白水社、8刷1971年;原著: 1960年)、「カップルズI,II」(新潮社、4刷1971年;原著: 1968年)、「帰ってきたウサギI,II」(新潮社、1973年;原著: 1971年)、「ミュージック・スクール」(新潮社、4刷1974年;原著: 1966年)、「ベック氏の奇妙な旅と女性遍歴」(新潮社、1976年;原著: 1970年)、「農場」(河出書房新社、1977年;原著: 1965年)、「結婚しよう」(新潮社、1978年;原著: 1976年)が残っている。リアリティのある現代風俗小説と言えばよいのだろうか。等身大の人間を表現しようとすると、このようなものになるのだろうかと思わせた。アップダイクが「走れウサギ」を書いたのは1960年、28歳の時である。僕は、白水社の北園克衛装幀の瀟洒なフランス装の本を捲りながら、日常生活を背景として人間と人間の相互作用のようなものをここまで描けるのは凄い才能だと感心したものだ。

../jpg/P3140245s_Rabbit_Run.JPG「走れウサギ」とサリンジャーの「ライ麦畑でつかまえて」

白水社の「新しい世界の文学」シリーズは装丁がクールな感じで好きだった。ライ麦畑(14刷1969年)を読んで、このシリーズからアップダイクを見つけた。



「ヘン」の連載第30回は「いかに歳をとるか」。広岡氏!?は歳をとってもまだ若いつもりでいることについて書かれているのだが、70歳になってもまだ頭脳の中は若い時のままなのだと叔母に聞いたことがある。それは誰でも変らぬ傾向なのだろう。人間なんて、一人の生きている期間どころか、今も昔も変らない。ブルーノ・ムナーリの「モノからモノが生まれる」の最初に紀元前4世紀の老子の言葉が置かれている。横書きの漢文に訳も掲載されているのだが、その意味は「(聖人は)物を育てても、それに対する権利を要求せず、何か行動しても、それによりかからないし、仕事をしとげても、そのことについての敬意を受けようとはしない」ということ。歳を取っても多少ましになるどころか、世代を経ても人間が進化するかどうかは疑わしい。しかし、解剖学的な構造が変化しないのだから、人間が変化しないのは構造主義の教えるところであろうが、身体に取り付く情報によって人間は変化しないのであろうか。脳の本質的なネットワーク構造は情報によって変化し得るかもしれないとも思えるのだが・・・

更新: 2009-03-16T19:54:23+09:00

[日記] 攻撃!?

今朝、本ページを見ようとするとFirefoxが暴走する。プロセスを調べるとCPUの50%以上を使っていて、メモリ使用量が徐々に増えていく。

直接の原因は、renewal.htmlのサイズが18MBにも及んでいたこと。そのうち、「Error 416 Request Range Not Satisfiable」のエラーが出てアクセスできなくなった。FTPでrenewal.htmlを調べて、サイズが異常なことにようやく気が付いた。

問題のファイルを正常な状態に作り変えて、置き換えた。Firefoxはキャッシュが効きすぎるので、いつまでもこのエラーが出る。IE8でも同じ状態が続いた。@niftyのカスタマーサービスに電話しようかとメモを作ったところで、Google Chromeに代えて読み込むと正常に表示された。やれやれ一安心。

間接的な原因は、Zedによる標準入出力を使ったスクリプトによる編集機能のテスト。操作するたびにテキスト全体が膨れ上がっていた。編集している部分より上の部分の増大は気が付いて削除していたのだが、後にもどんどん付加されていた。「input=一時ファイル名」というようにした場合にそのようなことが起っていた。深夜、FTPでファイルを送り込むのにずいぶん時間を要したところで気が付くべきだったのだが^^;)

久世さんは既にこの問題を解決されている。懸案のPerl5.8/5.10の標準入出力問題への対処の仕方も見つけていただいた。後者については、5.005_03と5.8/5.10では細部で標準入出力処理が違っていることが原因だったようだ。Perl5.8/5.10のスクリプト側で、$|=1とすることと標準入力のループでEOFを検出して抜けるようなif文を付け加えることが必要。よく解決策を見つけられたと感心する・・・

本ページへのアクセスでご迷惑をお掛けした方もあったかもしれない。ご報告とお詫びまで。

更新: 2009-03-22T11:22:09+09:00

[日記] Webさわり会議 in Hiroshima

昨日夜、第11回のWebさわり会議 in Hiroshimaがあった。前回から参加させてもらっている。ruby-listに昨年末に案内があったのを見て、おもしろそうだなと。前回は「Perl入門」を話させてもらった。内容はPerlの過去・現在・未来の話を前段に、テキスト処理のプラットフォームはコマンドライン、エディタ、CGIの三つあるという話、そしてデザイナー向けにTSNETスクリプト通信第4号にまとめた「ImageMagick & Cooliris入門」の簡略版を付加したようなものだった。

実際にWeb関係で仕事をしている人の話が聞けておもしろい。Flash/AIR、DreamweaverのDeveloper Toolbox、Google Androidについてのプレゼンを聞いた後、夜11時まで近くのカフェで雑談して帰宅。広島でもRubyを使っていこうというのが一つの流れになりつつあるようだ。

まあ、そういうことなので、ruby-1.9.1をチェック。1.8.7と1.9.0と同時測定。速いね。parrotを除けば最速だ。

C:\Scripts\parrot-1.0.0\examples\mops>c:\scripts\ruby\1.8.7\bin\ruby mops.rb
Iterations:    10000000
Estimated ops: 20000000
Elapsed time:  6.859
M op/s:        2.91587694999271
C:\Scripts\parrot-1.0.0\examples\mops>c:\scripts\ruby\1.9.0\bin\ruby mops.rb
Iterations:    10000000
Estimated ops: 20000000
Elapsed time:  1.906
M op/s:        10.4931794333683
C:\Scripts\parrot-1.0.0\examples\mops>ruby mops.rb
Iterations:    10000000
Estimated ops: 20000000
Elapsed time:  1.65625
M op/s:        12.0754716981132

更新: 2009-03-23T20:30:40+09:00

[Google] Google Chromeのパフォーマンスと未来

開発者に聞く、Google Chromeが目指すもの - @ITネタ。

Webブラウザを高速化するために様々な努力がなされていることについて、詳細に述べられており、非常に興味深い記事だ。Perlの5.8.7の特定の正規表現によって処理効率が極端に悪くなる場合があることについても書かれていて驚いた。HTML5やCSS3を推進することによって、プラグインなしで高性能かつリッチな表現を高速でできるようになることを目指している。

Web標準がFlashやPDFなどで実現されたリッチな表現を追いかけるという図式がGoogleによって推進されるということになるのだろう。テキスト処理屋にとっては望むべき方向ではある。テキストがキーワード。それがシンプルさをもたらす。

[Media] Kindle 2

安藤日記: Kindle 2ネタ。02/14/2009: [Media] Amazon Kindleの続きでもある。

うむ。アマゾン、iPhone向け電子書籍リーダーアプリを発表--「Kindle」とも連動:アップルセンター - CNET Japanのようなことになっているのだが、電子書籍へアクセスできるAPIを公開して欲しいものだ。特定のハードウェアやソフトウェアでしかアクセスできないのでは電子書籍の購入意欲は減退してしまう^^;)

文庫本を買って、栞やメモを挟めば済むことのような気もする。もっともたくさんの本を持ち歩くことは不可能だ。もっとも一度にたくさんの本を読むことはできない。

更新: 2009-03-13T08:21:20+09:00

[Media] ネットメディアの混沌と未来 - エージェント・ソフトは現われるのか

今週の月曜日、昼飯に近くのお好み焼屋で、餅そば肉玉入りを食べた後、コンビニで朝日新聞を買った。GLOBEを読むためだ。そのなかにあったニューヨークタイムズのジョン・マルコフの記事ネタ。

「断片化する情報群」という節があって、マスメディアという同じ経験を共有する代わりに、サイバー空間の何百万もの個人的な書き込みという無秩序に向き合っていて、その結果、私たちは共通体験をほとんど失い、社会的な結びつきが弱まってしまったと述べている。RSSリーダーを起動するたびに現われる1,000以上の新しい記事のような情報の洪水に対処するために、SNSや集合知的なツールなどに頼ることになる。しかし、それらがもたらす新しいアイデアや新たに読むべきリンクの提案もとめどない。

エージェントソフトは新聞は救えないかもしれないが、ジャーナリズムをインターネットの大波から救うのに役立つかもしれないと結んでいる。

../jpg/John_Markoff_NYT_GLOBE_P3200255s.JPG朝日新聞 GLOBE Media Watch 2009-03-16(No.12)

僕が思うに、エージェントソフトや人工知能にジャーナリズムを救えるとは思えない。結局、自分で情報は処理すべきなのである。実際、必要な情報に絞り込めるのはその情報を必要としている人間だけである。100万件の中から実際的な時間の中で消化できる数件に絞り込むのは容易くはないかもしれないが、人間の経験と直感がそれを助ける。人間がチェック可能な数百件から千件レベルに絞り込むまでの処理にコンピュータを使えばよい。今のGoogleや専門的なデータベースだって十分に役立つ。いずれにせよ、すべては読めないのだ。

記者は、単に情報洪水を嘆いて見せているに過ぎないように思う。確かに情報は多い。しかし、次第に取材源は絞られてくる。どこを見ればよいかの知識は次第に蓄積されていく。それが証拠にインターネットの大波をサーフィンしながら、マルコフ氏も記事を書き続けているじゃない^^)v

そして、まだマスメディアが消滅していない今、(マスメディアを通じた)情報の共有が失われたとは、現時点では考えられない。インターネットが人々の社会的な結びつきを弱めている原因ではないだろう。問題は地域のコミュニティーの崩壊にある。むしろ、その原因は都市化、核家族化、そしてマスメディアにあったと考えられる。なぜなら、情報がマスメディアを通じて得られるために、地域のコミュニケーションによる情報の共有が失われたのでは・・・インターネットはグローバル化とともに地域のコミュニティの再生をもたらすかもしれない。単にローカルなコミュニティではなくて、ちょっとハイブリッドな感じのものになるかもしれないが・・・


更新: 2009-03-24T21:01:03+09:00

[Media] ラジオのデジタル化 II

Webさわり会議に行く前に、ヤマダ電機で使うほどに楽しくなる、ゼロ・ボタンのiPod--アップル「iPod shuffle」を購入していこうと思ったのだが、一台もない。入荷はしたがすぐに売り切れたのだそうだ。iPodは売り場を見てもサードパーティの周辺機器を含めて人気商品としての展示スペースが与えられている。しかたがないので、もうひとつ予定していたSUNTACのUSB AM/FMラジオだけを購入した。

価格的には6,980円と安価だし、おもちゃのようなものだが、ラジオをPCで録音するというツールとしては役立つだろうと思った。オーディオをPCにつなぐという構想もあったのだが、手軽ではない。オーディオはオーディオで楽しめばよいのだ。それほどPCにつなぐ必然性はない。

../jpg/SUNTAC_RD-PC-101_P3220260s.JPGSUNTAC RD-PC-101 USB AM/FM RADIO

こういうUSB接続の外付けツールの問題はコードだらけになることだ。USBコード、FMアンテナ、AMノイズ対策用のアースの三本。いずれも設置の自由度を高めるために長いものが用意されている。


FMの音質はそれほど悪くないが、AMはUSBケーブルからアースを取ってもRCCが電波が弱いせいか少し低く唸るようなノイズがある。NHKは問題ない。ノイズ対策のために設置場所を工夫する必要があるだろう。

しかし、こういうメディア記録ツールについて考える時いつも思う。一生は短い、そして一日も短い。何をして、何をせずにすませるのか。録音を溜めても聴く時間はないかもしれないのだ。リソースは十二分にある。それはともかく、エアチェックをPCでできる環境が整ったことは喜ばしい。昔だって、エアチェックしたものを聞くことはまれだったのである。

NHK-FMの番組を録音して、iTunesで試聴してみた。PCで聞くのにはまったく問題なし。Explorerで録音したmp3ファイルのプロパティ→概要→詳細→タイトルに番組名などを入れておくとiTunesでも表示される。Explorerの詳細表示の設定でタイトルをチェックすれば、Explorerからもタイトルを確認できる。FM録音したmp3ファイルは、140MB/Hr程度のファイルサイズとなる。

../jpg/aircheck_file_title.jpgExplorerでエアチェックファイルのタイトルを表示する

更新: 2009-03-24T22:55:38+09:00

[村上春樹] パン屋再襲撃

最近、内田先生の評価の高い村上春樹をなんとか読もうとしている。我日記も内田先生ネタだらけの観がないわけではないが、人の言うことは素直に聞けというわけだ。先に「神の子どもたちはみな踊る」(新潮文庫、2002年)を読んで、脳髄の日記: 地震のあとでを書いた。これなら読めるなと思った。短編から入るのがよさそうという感触があったので、以前購入していた「パン屋再襲撃」(文春文庫、1刷1989年)を読んだ。悪くない。昨日、「TVピープル」(文春文庫、1993年)、「レキシントンの幽霊」(文春文庫、1999年)も調達してきた。

しかし、文学から長く離れていたので、文庫本の書棚の著者のほとんどはいつのまにか馴染みのない名前ばかりになった。「朝日新聞グローブ (GLOBE)|Best seller ロンドンの書店から[第5回]事実と小説のミステリー? 園部哲」にジョン・ラスキンという人がいった「この本を読めばあの本は読めない」が近所の本屋のカバーに印刷してあった話が出ている。何を読めばよいのか。それは読んでみなければわからないのだ。

日本文学は夏目漱石から一通りは読んでいるが、ぼくが昔よく読んだ小説家といえるのは三島由紀夫と安部公房ぐらいかな。キーン先生がこの二人の現代作家を取り上げているのを最近知ってまんざらでもない気がした。そして、大江健三郎。他に一時好きで読んでいたのは丸山健二。村上春樹は僕が小説から離れようとしている時期に登場した作家だった。知ってはいたけど読む機会がなかった。

なぜ、村上春樹は世界中?で読まれているのか・・・「パン屋再襲撃」に関わらず短編は、もっとも長編は「ねじまき鳥クロニクル」三部作の最初で持て余しているので長編の特徴は知らないのだが、スペキュレーション・ファンタジーに分類されるなと思った。なぜなら現実空間では起りえないような話ばかりだからだ。

文春文庫のカバー表紙には街中の路上に潜水服を装着した人が立っている佐々木マキ氏の装画がある。これは「パン屋再襲撃」のイメージをよく表している。現実空間から別の空間、例えば洋上のボートから海底火山を覗き見たりすることができる。それは特殊な飢餓感を映像として提示することができると最初には断り書きがあり、合理性の一応の確保はなされるているのだが、繰り返されると特殊な効果を醸し出す。そして、それは次第に現実と渾然一体となっていく。一つ一つの短編を要約するのも時間が掛かるので別の機会に譲るが、原因不明の空腹感など、一種の不条理という言葉に集約されるような状況設定がなされ、物理的に有り得ないような現象が生ずるというパターンを持っている。シュールレアリスムやダダイスムのような異質なものを並べる手法やカフカやカミュの不条理の概念があるからこそ生まれえたような現代の物語である。そこに乾いた微かなユーモアが混ぜ合わされ、不思議な夢と現実が紡ぎだされる。

../jpg/P3150253s_mhr_reattacking_to_bakery.JPG「パン屋再襲撃」と「TVピープル」

装画はいずれも佐々木マキ氏。




更新: 2009-03-15T10:45:50+09:00

[村上春樹] デタッチメントとコミットメント

壁と卵 (内田樹の研究室)壁と卵(つづき) (内田樹の研究室)などネタ。メモとして残しておこう。

メモを書いておこうと思ったのは、文藝春秋2009年4月号に村上春樹氏の「独占インタビュー&受賞スピーチ 僕はなぜエルサレムに行ったのか」が掲載され、スピーチを再読することになったからだ。それと、前の記事、パン屋再襲撃で、村上春樹 - Wikipediaの「デタッチメント」から「コミットメント」へを読んだからだ。

システムが壁であり、卵は人間である。システムとしての壁は弱き人間が生み出したものというのは逆説的な話であるが、米国の経済崩壊の過程で、音楽が鳴り続けるうちは踊り続けないといけないのさと自虐的に話していた経営者の話がどこかに出ていたように、個人という卵は音楽にあわせて踊るしかないのであろう。パレスチナあるいは中東問題が単なるシステムの問題なのかというと異論のある可能性はある。システム=原理主義のような図式で置き換えればそうかもしれないが。

オバマ大統領はイランとの対話路線を昨日表明した。極東の地からイスラエルと中東諸国の融和を念じても、現実は厳しく、解決しそうもない。「朝日新聞グローブ」第12号の特集『中東クライシス 紛争の60年の歴史と「いま」を川上泰徳が歩く』がガザ地区の深刻な状況を報告している。

../jpg/ASAHI_Globe_2009-03-16_No_12_G-2_Middle_East_Crisis_P3220256s.JPGMiddle East Crisis: ASAHI Globe 2009-03-16 No.12 G-2

村上春樹氏のエルサレム賞の受賞講演とそれを受け入れる見識のあったイスラエルに期待するしかないと思った。受賞講演ではシモン・ペレス大統領の顔が途中からこわばっていったそうだから、そう簡単なことではないだろうが、お互いに譲り合わねば平和は来ないだろう。それは当たり前のことだが、お互いが信頼できるかどうかに掛かっているように思う。それは譲ることによって生み出されるだろう。

コミットメントという言葉からサルトルのアンガージュマンを連想した。村上春樹氏の今後の活躍と中東和平を祈ろう。

更新: 2009-03-24T20:59:42+09:00

[新聞] 未来を作り出す!?

新聞が生き残るための新技術:NYタイムズ研究所の構想 | WIRED VISIONネタ。

結局、記事の取材・編集・表示の対価をどう求めるかという話なのだが、一つは広告モデルにあり、もう一つは課金モデルにある。既に技術がそれほど大きな問題ではなくなっている。記事を表現する方法は表示用デバイスなどの必要に応じていかようにでも考えることができるようになりつつあるからだ。もちろん、この記事もその一つのケースなのだろう。

新聞を紙に大量に印刷して大量に配送し、個別に配布する仕組みは、電子新聞をインターネット配信する仕組みに置き換わるかもしれない。コスト的には圧倒的に安くできるだろう。電子新聞であれば、記事の構成、編集をカスタマイズして、ユーザー単位の配信も容易に行えるだろう。取材能力さえあれば(もちろん、ここが大変重要なわけだが)、もはや個人が新聞社を運営することも可能な時代なのである。

紙が嫌いというのはちょっとおかしいと思うが、PCが常時使える環境を持っているとそのような考えになっていくのはわからぬわけではない。新聞記事などの問題は再利用が難しい事にある。著作権の問題があるからだ。著作権を侵害しない範囲で記事の電子データを使いまわす手段をユーザーに与えることが必要だと思う。情報は活用できなければ、あるいはしなければ無駄なものに過ぎない。そして活用できるほどのことが生ずるのは非常に確率が低い出来事なのである。記事を使いにくい状態においておけば、死蔵することになるのは間違いない。活用できるようにしておいても使われることは稀なのである。

さて、カスタマイズされた電子新聞を印刷して持ち運ぶことが有り得るだろうか。いつどこで印刷するのだろうか。朝起きて自宅で印刷する暇があるだろうか。その場合はプリンタが自宅に必要だ。印刷コストはどうだろうか。印刷ステーションを最寄の駅やコンビ二において、オンデマンドで夜間に印刷出力しておくことはできるだろう。出勤前に立ち寄って受け取るとか、配達してもらうとか、いろいろと考えられる。が、ペイするモデルを作れるだろうか。

やはり、これからはケータイやPCに配信してもらって読むというのが有り得る解だろう。それから必要な記事をユーザーが印刷して読むことは十分有り得ることだ。現在では、新聞社がタイトルと要約だけを配信して、ユーザーを自社サイトに導くというのがビジネスモデルとなっている。広告モデルである。後は見せ方の最適化やデータベース化などユーザーの利便性をさらに高めるという開発が残っているだけとも言える。

情報の流れ方、伝わり方は新聞という紙メディアを通らずに済ませる方向に向かうのだろうか。

更新: 2009-03-15T19:46:41+09:00

[中沢新一] 野生の書

Cahier Sauvage、カイエ・ソバージュはフィールドノート的な意味も意識しているのかなと思うのだが、中沢新一氏の講義録だ。教場というフィールドから生み出される書。無論、レヴィ=ストロースの「野生の思考」と引っ掛けてあるのだが。


中沢新一著「カイエ・ソバージュ I 人類最古の哲学」(講談社選書メチエ、2002年)をつい買ってしまった。「はじめに」にある第二次形而上学革命という言葉が気になったということもあるが、いずれ読むべきだろうと思っていたからだ。

第一次の「形而上学革命」である一神教の成立がもたらした宗教は新石器革命的な文明の大規模な否定や抑圧の上に成立している。その抑圧された「野生の思考」と呼ばれる思考の能力が、第二次の「形而上学革命」を通して、装いも根拠も新たに「科学」として復活をとげたのである。現代生活は、三万数千年前ヨーロッパの北方に広がる巨大な氷河群を前にして、サバイバルのために脳内ニューロンの接合様式を変化させることに成功した人類の獲得した潜在能力を、全面的に展開することとして出来上がってきたが、その革命の成果がほぼ出尽くしてしまうのではないか、という予感の広がりはじめているのが、今なのである。

(2-3ページ)

この書き出しを読んで、なるほどと付いていける人がどれくらいいるのかは定かでない。もう少し前提がどのように導き出されているのか知りたくなる。だから読もうとしているわけだが・・・

レヴィ=ストロースについては構造主義の出発点としてもう少し新しい理解に到達したいと考えている。構造主義の解説書でなるほどと思うような本に未だに出会わないからだ。解説書を眺めても構造主義には実体がないのではと思わせるばかりである。


なんだか、支離滅裂のような検索結果だが、もっと掻き回して、なにか意味のあるものを抽出しよう。

更新: 2009-03-15T11:38:32+09:00

[Parrot] 春、立つ - Parrot 1.0.0 リリース

今日は、帰宅時の外気温は21℃。しばらく走ると18℃まで下がったが、広島市内に入ると19℃を示した。今朝は、福岡の方で桜が開花した話をしていた。Allison Randalからparrot-devのメーリングリストにRelease 1.0.0 Startingのメッセージが流れ、日本時間の昨晩からParrot 1.0.0のリリースが開始された。日本時間の今朝、Parrot 1.0.0 "Haru Tatsu" Released!のメッセージが出た。今日はさすがにparrot.orgに接続できない。

Windows上でパフォーマンスを試そうとしたのだが、昨晩落としておいたparrot-1.0.0.tar.gzのWindows上のコンパイルは敬遠して、0.9.1のparrotバイナリの性能をexamples/benchmarksのmops.pasmを使って試すと滅茶苦茶に遅い、Perl対比100倍ぐらい遅い。おかしい。Linux上で試そう。PS3 LinuxにUSBメモリ経由でコピーしてコンパイルを試みる。perl Configure.pl、gmake、gmake test、rootになって、gmake install。問題なくインストールできた。まだ、unicodeは実装されていない。やはり、100倍遅い。もっとも他のexampleでそれほどの差が出るわけではないが、遅いのは間違いない。

リリースの目的は、「a stable API for language developers」ということ。まだ、完成品ができたというわけではない。最適化はこれからということか!?

Parrot VM、ついに1.0.0リリース - スラッシュドット・ジャパンも参照。Rakudoの状況がわかる。Parrotのコンパイル状況を見ているとスキップしているものもかなり多い。なるほど、戦いはこれから始まるらしい・・・

ちなみにPS3は爆熱P4(2GB)マシン対比3倍遅い^^;)しかし、test_parrotを動かしたのがPS2 Linuxで、Parrot 1.0.0を動かしたのがPS3 Linuxとはね・・・

速い、遅いと一喜一憂していても仕方がないが、Perl5.8はjperlより少し速かったと思っていたのだが、ftpだけはjperlが5倍速い。Perl5.8の動きが鈍いと感じていたスクリプトはいずれもftpでファイルを送り出すスクリプトだ。warningをコメントして、mops.plで試すと2割程度Perl5.8のほうが速い。それはともかく、Parrotの船出にまずは祝福あれ。まだ、実践応用を焦ることはなさそうだ^^;)ゆっくり行こう・・・

本記事は、「春、立つ II - Parrot 1.0.0 やったね!!!」とセットで読むこと。
更新: 2009-03-20T08:18:50+09:00

[Parrot] 春、立つ II - Parrot 1.0.0 やったね!!!

François Perradのparrot-devのアナウンスで、SourceForge.net: parrotwin32 - homeから、setup-parrot-1.0.0.exeとsetup-parrot-1.0.0-rakudo-20090318.exeをダウンロードして再確認。「春、立つ」にふさわしい結果が得られた。

C:\Scripts\parrot-1.0.0\examples\mops>jperl mops.pl (5.005_03)
Iterations:    100000000
Estimated ops: 200000000
Elapsed time:  52
M op/s:        3.84615384615385
C:\Scripts\parrot-1.0.0\examples\mops>perl mops.pl (5.8.9)
Iterations:    100000000
Estimated ops: 200000000
Elapsed time:  33
M op/s:        6.06060606060606
C:\Scripts\parrot-1.0.0\examples\mops>C:\perl5.10\bin\perl mops.pl (5.10.0)
Iterations:    100000000
Estimated ops: 200000000
Elapsed time:  36
M op/s:        5.55555555555556
C:\Scripts\parrot-1.0.0\examples\mops>python mops.py (2.5.1)
Iterations:    10000000
Estimated ops: 20000000
Elapsed time:  3.49499988556
M op/s:        5.72246084546
C:\Scripts\parrot-1.0.0\examples\mops>c:\python30\python mops3.py (3.0)
Iterations:    10000000
Estimated ops: 20000000
Elapsed time:  3.3599998951
M op/s:        5.95238113822
C:\Scripts\parrot-1.0.0\examples\mops>ruby mops.rb (1.8.7)
Iterations:    10000000
Estimated ops: 20000000
Elapsed time:  6.844
M op/s:        2.92226767971946
C:\Scripts\parrot-1.0.0\examples\mops>c:\scripts\ruby\1.9.0\bin\ruby mops.rb (1.9.0)
Iterations:    10000000
Estimated ops: 20000000
Elapsed time:  1.922
M op/s:        10.4058272632674
C:\Scripts\parrot-1.0.0\examples\benchmarks>parrot mops.pbc (1.0.0)
Iterations:    10000000
Estimated ops: 20000000
done
Elapsed time:  1.026000
M op/s:        19.493177

スクリプト言語のいろいろなバージョンでmops.*を動作させて見た結果を追加。jperlはuse strictをコメント。Python 3.0はprint関数の引数を()で括っただけ。

現行Perl5.8の3倍以上の速さだ。もっともこれはpasmからpbcにコンパイルして実行した速さだ。Rakudoで動かしたわけではない。perl6はエラーになる。今日あたり、Parrot 1.0.0に対応したものが出るはずだが・・・rubyの1.9.0も速いね。1.9.1を試さないと・・・

C:\Scripts\parrot-1.0.0\examples\mops>perl6 mops.p6
"load_bytecode" couldn't find file 'PCT.pbc'
current instr.: '' pc 743 (src\classes\Object.pir:20)
called from Sub 'parrot;Perl6;Compiler;main' pc -1 ((unknown file):-1)
Parrot-1.0.0-Rakudo-15が出た。perl6.exeがライブラリを探せ出せないことが問題で、Rakudo/ParrotのインストールデイレクトリをデフォルトのC:\parrot-1.0.0にしておけば正常に動作することが判明。(2009-03-20)

昨日の結果は何だったのだろう。PS3で試したのが、テスト用のtarball(http://www.lohutok.net/parrot/parrot-1.0.0.tar.gz)だったからだろうか^^;)...いや、parrot.orgの正式版でも再現したね。PS3の環境の問題?

Windows上で試したのは、0.9.1だったし。負の再確認。

C:\parrot-0.9.1\bin>parrot mops.pbc
Iterations:    10000000
Estimated ops: 20000000
done
Elapsed time:  270.25
M op/s:        0.0740055504162812
更新: 2009-03-21T12:54:09+09:00

[Parrot] Parrot-1.0.0 Ubuntu パッケージ

昨日の朝は3℃と特に寒かった。しかし、今日は広島の花見をラジオやテレビが報じている。朝夕は冷えるが日中は気温が上昇する。夕方、風が強くて寒く薄暗い中をイオンにCD-Rを調達に出掛けた。県立大学からイオン、競輪場まで立派なタイル舗装の幅広い歩道が完成している。さっさとMAXELLのスピンドルケース25枚入りの700MBのCD-R、780円也を購入。中指にポリ袋を引っ掛けてぶらぶらと帰ってきた。よく考えるとISOイメージを焼くのはDVD-Rでもよかったのかな!? いや、YDLのときはDVDのイメージだったか・・・

../images/2009/03/road_univ2aeon_2009-03-27_SA360011s.JPGイオンにCD-Rを買出しに

../images/2009/03/road_univ2aeon_2009-03-27_SA360012s.JPGイオンにCD-Rを買出しの帰りに

Home | Ubuntu Japanese Teamから日本語Remix CD イメージをダウンロードした。DebianをインストールしてあるDimension 2400Cを起動し、CD/DVDドライブを開いて、ISOイメージを焼いたCD-Rを入れる。ログイン画面で再起動する。Ubuntuのインストーラが起動する。が、しばらくして画面が消えてうんともすんとも言わず止まってしまう!?

強制的にスイッチで何度か再起動する。インストーラの画面にインストールするかどうかの選択画面が出てくる。なんとかいきそう。また止まる。再度強制起動。ようやくインストーラが前に進みだした。動き出せば後は待つだけみたいなものだ。グールドのバッハを聴きながら、ホールドマンの「ヘミングウェイごっこ」を読む。最後にアップデートが386個あるという。これはDebianで千数百個のアップデートを経験済み。Ubuntuの8.10もDebian GNU/Linux 4なのだ。

結局、インストールが完了したのは、午後10時。それから、当初の目的のParrot-1.0.0のUbuntu用パッケージをインストールする。いくつかのパッケージはインストールする順序に依存する。PPA for parrot-devには五つのパッケージがある。Parrot本体とライブラリのインストールのほうを先にすると、開発(-dev)関係のインストールも問題なく進んだ。午後11時前、今日はインストールだけにしておこう。

更新: 2009-03-28T10:54:46+09:00

[Parrot] mopsの呪い

さて、UbuntuにインストールしたParrot-1.0.0を試してみた。examplesはUbuntuの配布パッケージにはないので、一緒に置いてあるオリジナルのtarballをダウンロードして解凍。

結果は、PS3でコンパイルして試した時(春、立つ - Parrot 1.0.0 リリース)と同じ。よくわからんね^^;)

../images/2009/03/my1stubuntu_2009-03-28s.jpg最初のUbuntu

過去に一時的にはインストールしたことはあったが・・・壁紙が本当の壁のイメージというのがおもしろい。



../images/2009/03/test-parrot-1.0.0-examples-mops_2009-03-28m.pngParrot-1.0.0 on Ubuntu

更新: 2009-03-28T21:44:42+09:00

[Perl] 日曜ソフトウェア工作キット構想とRakudo Perl 6/Parrot

なんてことを考え始めた。日曜プログラマの考えそうなことかもしれないネタ。

今日、ほったらかしにしていたwemo配布キットを更新した。wemoの最初のバージョンを結構ダウンロードしていただいているのに気が付いたからだ。Wemo - TSNETWiki on TextWorldのページからダウンロードいただきたい。

最近、Zed上でいろいろなスクリプトを動かしていて気が付いたのだが、Perl5.8/5.10はjperl(5.005_03)対比、実行速度がかなり遅い。jperlで2秒程度で実行できるスクリプトが10秒程度を要する。デスクトップCGIでもPerl5.8の動きが鈍いと感じていたのが、実証された感じなのだ。wemoの開発もRakudo Perl 6/Parrot上で進めたほうがよさそうだ。

そんな感じで、明日、Parrot 1.0がリリースされるがどの程度パフォーマンスが向上するのかが気掛かりだ。Parrot 0.9.1についてくるperl6.exeをインタープリタ的に使うのでは、感触としてPerl5.8/5.10と変らない感じがする。そろそろ真剣に触ってみないと・・・結局、jperlとあまり変らないのではと心配になってきた。えーっと、バイトコード化って・・・どうするんだっけ^^;)

Parrotを最初に使ったときの記事、Parrot's now officially functional posted by ziggy on 2001.12.28 17:00(use Perl;)を確認しよう。その頃は、PS2 Linuxで動かしているね。もう7年以上前のことになる。

更新: 2009-03-17T23:05:49+09:00

[PlayStation] GPUメモリへアクセスできるって!!!

PS3用Linuxで動くエミュレータやゲームが続々登場 - スラッシュドット・ジャパンネタ。

GPUそのものが使えるわけじゃないみたい。SPEをGPUとして使う!?

PS3 Linuxの最新の状況は、Yellow Dog Linux for PS3 - PS3 Linux Information Site / Cell/B.E.のパワーを体験しように詳しい。

更新: 2009-03-13T09:02:52+09:00

[PlayStation] 遅れてきたPS3 Linux

2年以上前にPS3 LinuxのためにPS3を購入したのだが、結局、システムをアップグレードするだけで、ちょっと大袈裟だがここまで来た(08/10/2008: [PlayStation] PS3はおひま)。今更、PS3 Linuxでもないとは思う。しかし、GPUメモリへアクセスできるって!!!ネタに合わせて、インストールしてみましたネタ。

次のフィックスターズのページを参考にしたというか、そのまま。

使いはじめでもないなら、まず、USBハードディスクをPS3に接続して、バックアップユーティリティーでバックアップしておこう。僕の場合、14GBの容量だった。次にフォーマットユーティリティーでPS3とLinux用の双方の領域を確保する。PS3に10GB、他のシステムのために残りを選択する。Linux用に10GBではほとんど空きがなくなる。いずれにしてもこれは問題なんだが・・・選択の余地はない。

僕のPS3は、初期の60GB版なので、yellowdog-6.1-ppc-DVD_20081119.isoをダウンロードしてDVDに焼いた。この中にブートローダーも入っているので、インストール媒体として必要なものはこれだけだ。もちろん、USBマウスとUSBキーボードは接続しておく。

../jpg/P3140253s_YDL2PS3.JPGYDL6.1のインストール

操作は簡単だが、上記のページは印刷して手元に置いておくと間違いがない。インストール時には、kboot:からディスプレイ解像度設定のスクリプトを走らせることになるので、解像度を確認しておくこと。僕の場合は、install_ps3_720pを走らせた。

../jpg/P3140255s_YDL_on_PS3.JPGYDL6.1 on PS3

インストールできたら、コンソールを起動して、vramをswap領域として使えるように設定しておこう。いろいろアプリを起動してswap領域の利用状況を調べてみるとvramが確かに使われていることがわかる。

PS2 LinuxではWebブラウザがまともに動かせなかったが、PS3 Linuxではまったく問題ない。Firefox 3.0.2がスムースに動いている。PS2 Linuxはメインメモリが32MBしかなかったから仕方がなかったのだが。Perlは5.8.8がインストールされていた。

更新: 2009-03-14T23:58:43+09:00

[ラジオ] ラジオのデジタル化

サン電子、PCからMP3形式で録音できるAM/FMラジオを発売:ニュース - CNET Japanネタ。

あるべき姿が具現化されつつあるが、オーディオ的にどのように最適化されていくのかが興味のあるところだ。

[ラジオ] ラジオサーバー

オリンパス、「ラジオサーバー VJ-10-JA」を発売--NHKのラジオ英会話を収録済みネタ。これも一つのあるべき姿かもしれない。

03/09/2009: [ラジオ] ラジオのデジタル化で取り上げたラジオはコンピュータと一体となって動作するものである。ラジオ自体にユーザーインターフェースを持たせ、独立して動かした方が便利な場合もあるだろう。特にタイマー録音するためだけにPCを起動しておく必要があるのも無駄である。ただ、値段が高い。仕方がないかな^^;)

更新: 2009-03-15T23:15:46+09:00

[Ruby] Ruby 1.9.1 の歩き方

Rubyist Magazine - Ruby 1.9.1 の歩き方ネタ。Rubyist Magazineは0025号(2009-02)だが、この記事の更新日時は「2009/03/21 16:12:28」となっていた。

まずはスクレーピングネタからかなとscrubytをWindowsにgemインストールしてみたけど、gemは起動するたびに二つのエラーが出る。それでもインストールは進むみたいだ。hpricotとmechanizeを一緒にインストールした。

エラーの状況を示すために、nokogiriをインストールした時の状況を再現しよう。

1. C:\ruby\bin>gem install nokogiri
2. Successfully installed nokogiri-1.2.3-x86-mswin32-60
3. 1 gem installed
4. Installing ri documentation for nokogiri-1.2.3-x86-mswin32-60...
5. Updating class cache with 1450 classes...
6. Installing RDoc documentation for nokogiri-1.2.3-x86-mswin32-60...
7. 
8. C:\ruby\bin>

1行目でgemを起動した直後に、一つ目のエラーが出る。二つ目は4行目のところで出る。エラーメッセージにOKを出すと次に進んでインストールは完了する!?

../images/2009/03/ruby_error_2009-03-28.jpg一つ目のエラー

../images/2009/03/ruby_error_2009-03-28_2s.jpg二つ目のエラー

SSLEAY32.DLLやreadline.dllはWindowsのSYSTEM32などには存在していない。Google Desktopで調べるといろいろなアプリケーションが持っているようだが、パスが通っているわけではない。

このインストール状態で、scrubytのサンプルを動かしてみる(scrubber's scrubyt_examples at master - GitHub)。

C:\ruby\bin>ruby google_analytics.rb
C:/ruby/lib/ruby/1.9.1/openssl.rb:17:in `require': 182: このオペレーティング シ
ステムでは %1 は実行されません。   - C:/ruby/lib/ruby/1.9.1/i386-mswin32/openssl
.so (LoadError)
        from C:/ruby/lib/ruby/1.9.1/openssl.rb:17:in `<top (required)>'
        from C:/ruby/lib/ruby/1.9.1/net/https.rb:102:in `require'
        from C:/ruby/lib/ruby/1.9.1/net/https.rb:102:in `<top (required)>'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.2/lib/www/mechanize.
rb:2:in `require'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.2/lib/www/mechanize.
rb:2:in `<top (required)>'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.2/lib/mechanize.rb:7
:in `require'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.2/lib/mechanize.rb:7
:in `<top (required)>'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/scrubyt-0.4.06/lib/scrubyt.rb:11:i
n `require'
        from C:/ruby/lib/ruby/gems/1.9.1/gems/scrubyt-0.4.06/lib/scrubyt.rb:11:i
n `<top (required)>'
        from google_analytics.rb:8:in `require'
        from google_analytics.rb:8:in `<main>'

Rubyは、ruby-1.9.1-p0-i386-mswin32.zipを解凍し、インストールフォルダをC:\rubyにして使っている。C:/ruby/lib/ruby/1.9.1/i386-mswin32/openssl.soは存在しているのだが・・・

TSNETで、Bruce.さんからActiveScriptRuby and Other packagesを教えてもらった(見たことはあったかもしれないが忘れていた)ので、ActiveScriptRubyを試す。ssleay32.dll、readline.dllは一緒に配布されているので、Ruby-mswin32版でgemを動かしたような上記のエラーメッセージは出なくなる。再度、機械的にgemを使って、hpricot、mechanize(nokogiri)、scrubytをインストールしていくと、openssl.soのLoadErrorは出なくなるが、scrubytが$KCODE、jcodeを使っているところでエラーになる。コメントしてしまうと、次には、msvcrt-ruby18.dllが見つからない(これはnokogiriのnative.soの問題らしい)という。結局、scrubyt関連のモジュールはまだ1.8用だということ。まあそうだろうなあとわかってやっているんだが・・・

Rubyist Magazine - Ruby 1.9 で Web アプリを想定したベンチマークをとってみたを読んだり、もっとベンチマークのデータが必要だったら、The Computer Language Benchmarks Gameも参考になるはずだが、当面、Parrot-1.0.0やRuby-1.9.1のことは忘れてしまおうかと思ったりもする。時間が掛かるということである。それはともかく、ユーザーは待つだけだが、開発している人は大変だね^^;)

パフォーマンスの比較については、作りたいアプリケーションをそれぞれ書いてみるしか正確な答えは出ないということ。カーニハンとパイクの書いた「プログラミング作法」(アスキー、2000年)では、C、Java、C++/STL、Perl、Awkで2語プレフィクス用のマルコフ連鎖アルゴリズムのプログラムでパフォーマンスの比較をしているのだが、C、Perl、Awkの順に速くて、C++やJavaは遅いという結果が出ている(118ページ)。もっともC++はSTLライブラリをちょっと変更するとPerl並に速くなるのだが、Javaの結果は遅すぎる感じがする。前述のBenchmarksの結果を見ても最近のJava 6は速い。これらの結果はスクリプト言語においては10行から20行程度、他の言語では100行前後のプログラムについてのものである。Javaの欠点は、欠点といえるほどのものかは知らないけど、startupが遅いことだ。短く単純なプログラムほどstartupの遅さが目立ってしまう。仮想マシン系は総じてstartupが遅い感じ。コマンドラインで起動した時の体感速度で計る話なので、実用的にはほとんど意味はないが、jperlはそれが速い。しかし、それもベンチマークのトータルでは多くの要素のうちの一つでしかない。

当然のことながら、コンピューティングにおいてパフォーマンスは常に問題だ。自分で作っているデスクトップCGIやエディタ上で動作させるスクリプトのパフォーマンスと毎日向き合うだけでなく、Windows環境のトータルのパフォーマンスにイライラすることは多い。無理していろいろ動かすなということもあるんだけどね。より早くというユーザーの欲望には限はない^^;)もっともPCの性能を上げるという方法もあるわけだけど^^;)

それはともかく、ActiveScriptRuby 1.9.1をインストールして、忘れていたrevactorモジュールのインストールを試してみた。XSを含んでいるので無理なのだが・・・もう一度記憶を呼び覚ますために。そのために"C:\Program Files\Ruby-1.9.1"からアンインストールしてドライブの直下にインストールしなおした。空白のあるディレクトリ名ではextconf.rbが動かないからだ。

C:\Ruby-1.9.1\bin>gem install revactor
Building native extensions.  This could take a while...
ERROR:  Error installing revactor:
        ERROR: Failed to build gem native extension.
C:/Ruby-1.9.1/bin/ruby.exe extconf.rb install revactor
checking for main() in c.lib... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.
Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/Ruby-1.9.1/bin/ruby
        --with-http11_client-dir
        --without-http11_client-dir
        --with-http11_client-include
        --without-http11_client-include=${http11_client-dir}/include
        --with-http11_client-lib
        --without-http11_client-lib=${http11_client-dir}/lib
        --with-clib
        --without-clib
C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:362:in `try_do': The complier failed to gen
erate an executable file. (RuntimeError)
You have to install development tools first.
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:415:in `try_link0'
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:419:in `try_link'
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:527:in `try_func'
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:723:in `block in have_library'
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:668:in `block in checking_for'
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:274:in `block (2 levels) in po
stpone'
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:248:in `open'
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:274:in `block in postpone'
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:248:in `open'
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:270:in `postpone'
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:667:in `checking_for'
        from C:/Ruby-1.9.1/lib/ruby/1.9.1/mkmf.rb:718:in `have_library'
        from extconf.rb:4:in `<main>'
Gem files will remain installed in C:/Ruby-1.9.1/lib/ruby/gems/1.9.1/gems/rev-0.
2.4 for inspection.
Results logged to C:/Ruby-1.9.1/lib/ruby/gems/1.9.1/gems/rev-0.2.4/ext/http11_cl
ient/gem_make.out
Updating class cache with 1261 classes...
C:\Ruby-1.9.1\bin>

strawberry rubyみたいなのが出てくるとうれしいが。Ubuntuで試そうか。

更新: 2009-03-29T17:29:18+09:00

[Ruby] Ruby 1.8 の歩き方^^;)

結局、当面、scrubytは1.9.1では動かないという結論になったので、1.8.7環境も持つべきと、ActiveScriptRubyを追加してインストール。

YARL(Yet Another Ruby Links)にあるCOM Meets Rubyへのリンクは更新されていない。1.8.7を使うためには次のサイトを参照するとよい。

1.8.7環境にscrubyt関連モジュールをインストールしたが、google_analytics.rbを実行しようとすると、やはりエラーになる。hoeが必要らしい。インストールする。それでもエラーになる。firewatirというのが必要らしい。インストールする。一緒に多数のモジュールがインストールされる。それでもエラーになる。firewatirに含まれるfirefox.rbがエラーを出す。今度はモジュールが足りないわけではない。ちょっと複雑すぎる感じ。エラーの原因は日本語関係かな。サンプルが英語前提。

ということで、1.8でも歩くのはやさしいわけではない^^;)まあ、スクレーピング程度だと目的に応じて自分で最初から考えて書いたほうが早いという話に次第になってくる。前提を確かめるためにモジュールの中味を調べる必要があるのではどうしようもない感じ。言語自体の開発も大変だが、言語ユーザーも大変なのだ^^;)

それはそうと、Rubyのモジュールのドキュメントはどうやって読むのが便利なのだろう。そういった基本的なところが今一わからない。僕の持っているRubyの知識はちょっと古めだから、少し調べよう。モジュールのインストール時に出てくるriとRDocがキーワードなんだろうけど。


更新: 2009-03-29T14:48:58+09:00

[TS Network] TSNETスクリプト通信第4号刊行 II - 改訂版刊行

昨晩、TShackでいただいたコメントに従って修正して改訂版刊行。

STATUS.awkはjgawkでは動かないね。原因がよく見えない。最近awkに触るのは、Yささんのスクリプトを動かす時ぐらいだもの・・・マルチバイト版gawkでは正常に動作しているように見える。機械さんの記事は誤植が数箇所あったのを修正している。その他、体裁や文章で気になったところをいくつか修正して完了。

[TS Network] ムムリクさんが!!!

つらつらぐさ: TSNETスクリプト通信第4号でましたネタ。

ムムリクさんがTSNETに参加されたとのこと。うれしい。つらつらぐさの読者の方にもTSNETスクリプト通信に興味を持っていただいたようだ。少しずつ認知が拡がっていけばと思う。まだ見ていない方は、TSNETスクリプト通信第4号をどうぞ。

セミコロンとコロンの違いを指摘いただいたが・・・

AWKユーザーのためのハブサイトができたのか。AWKは根強い人気があるよね。


更新: 2009-03-17T22:34:11+09:00

[TV] テレビの行方 - チャネルと番組表

久夛良木健氏と麻倉怜士氏が描く、テレビの未来とは:ニュース - CNET Japanネタ。ラジオの話題が最近続いたが、ラジオという古いメディアもコンピュータと結びついて新しい装いを獲得しつつあるかもしれない。

テレビが今後どうなるか。テレビがインターネット経由で配信されるようになったとして、チャネル、番組表という概念がなくなるかどうか。テレビとネットの基本的な違いは、リアルタイム性であり、それは報道番組とライブ放送に特徴付けられる。定期的なシリーズ番組の放送も生活のリズムを生み出すことに貢献している。人間はものぐさであり、ナマケモノである。受動的にテレビ番組を視聴することに慣れている。テレビ番組がネットのどこかに格納されていて、視聴者が自分で見たい番組を取り出そうとするかどうかは疑わしい。そんな面倒な作業が必要になれば、視聴者は他のことをするようになるかもしれない。視聴者がすることはスイッチを入れて、番組をリモコンで切り替えるだけである。おそらく配信の仕方は変ってもインターフェースは変らないのではと思われる。

そのような結果、一日の番組を選んで番組表をカスタマイズするサービスが流行るかもしれない。深夜など空き時間に番組をダウンロードして、再生するということになるかもしれない。広告主にとっては残念ながら、視聴者は番組がおもしろくないとスキップして見ないかもしれない。やはり今のように時間の流れとともに番組がはかなく消えていくのが、しあわせな視聴なのかもしれない^^;)

更新: 2009-03-20T21:38:36+09:00

[天候] 春の雪

今朝はボタン雪の中を出勤。昼からは雨に変ったが、周囲の山には積雪の跡。帰宅時の気温は4℃。東京も雪だ。

冬には僅かに雪が舞うのを二度見ただけ。春の雪のほうが冬らしい。

[WWW] World Wide Web@20

World Wide Web 20周年 - スラッシュドット・ジャパン経由、 World Wide Web@20 ネタ。

1989-1990年にWebがCERNで発明された。実際にインターネット上にサーバーが置かれたのは1991年のはずだが・・・

更新: 2009-03-13T08:32:08+09:00