先日、次のように書いたPerlモジュールCGI::Application::Plugin::Streamについての続報。
ファイルの転送も(CGI::Applicationベースの)スクリプト経由でやろうと思って、以下の環境でCGI::Application::Plugin::Streamをインストールしようとしたのですが、失敗しました。
WindowsでのCGI::Application::Plugin::Streamインストール
Jason Pardy氏からは「Thanks for the comprehensive report. I'll get it added and released shortly.」という返信をもらい、実際に、その日のうちにCGI::Application::Plugin::Stream 2.06版が公開されています。この版は、Windowsでも問題なくCPANインストールができました。
Thanx, Jason!
今月19日にYahoo! 無線LANスポットがサービスを開始しました。
Yahoo! JAPANは、公衆無線LANサービス「Yahoo!無線LANスポット」の提供を12月19日より開始する。
サービス開始当初はYahoo!プレミアム会員のみに提供を行ない、料金は月額210円。なお、2007年5月31日まではサービス開始記念として月額料金を無料とするキャンペーンを実施するため、Yahoo!プレミアム会員の月額料金294円のみで利用できる。また、一般ユーザ向けには2007年6月から月額525円で提供する予定だ。
Yahoo!、月額210円から使える公衆無線LAN「Yahoo!無線LANスポット」
これこれ、ずっと待ってたんですよ。
マクドナルドかルノアール系(ルノアール、Cafe MIYAMA、NewYokers Cafe)を見つければ使えるというのは、全国的に駅前を眺めればほぼ確実に見つかって、安心感とお手軽さが無線LANスポット系のサービスの中ではダントツです。ルノアール系なら長居でき、電源を使わせてくれるのもポイント。だから、このTelecom系のBBサービスはずっと加入したいと思っていました。
ただ、どこかのインターネットプロバイダからしか契約できなくて、マンションの用意したインターネット接続を使用している身では高くつくので加入を見送っていたのでした。ようやく、加入できて、これでどこにいってもちょっと飲み物片手に用を済ませられますね。気軽に出かけられるようになります。
Sleipnirの検索エンジンにも、早速Yahoo! BB公衆無線LANアクセスポイント検索を追加。こんな設定です。
- 名前 : Yahoo! 公衆無線LAN
- アクション名 : YahooWireless
- リクエスト : http://bbmobile.bb.yahoo.co.jp/bin/list?ct=key&p={all}=
- アイコン : Yahoo.ico
- エンコード : EUC
- メソッド : GET
- カテゴリ : その他
- 拡張種別 : なし
さて、じゃあ出かけてきま~す。
「Wiki小話Vol.7『Podcastle Night』を開催します。」のWiki小話Vol.7「Podcastle Night」ですが、講師として音声認識エンジンを担当した緒方さんもおいでくださることになりました。
次のような二部構成になります。
かなり突っ込んだところまで聞けるチャンスになりそうです。音声認識からソーシャルアノテーションまで、利用状況からフィードバック状況まで、Podcastleに興味のある方はぜひご参加ください!
今年2月のWiki小話Vol.6から1年弱、久しぶりにWiki系のイベントを開催します。Wiki小話Vol.7「Podcastle Night」です。
Wikiばなとはまた違った「お仕事帰りに気楽に聞ける」Wiki小話、第七回を開催します。このイベントでは、今、気になるあの人に、1時間ぐらいのトークセッションをお願いします。
第七回は、12月8日にサービスが開始された「Podcastle」について、プロジェクトメンバーである江渡さんにセミナーをお願いします。
最近では、ポッドキャスト(音声ブログ、ボイスログ)も普及傾向にあり、海外ではこれを音声認識によりテキスト化し全文検索できるサービスなども提供されています。Podcastleは、日本語ポッドキャスト対応した初のポッドキャスト全文検索、全文閲覧を可能にしたシステムです。
また、サイト利用者が誤認識を含むテキストを修正でき、それが認識精度向上にフィードバックされる「ソーシャルアノテーション」の仕組みを持つことも特徴で、この修正の仕組みとしてWikiスタイルでの編集方法を取り入れています。開催は、サービス開始後ほぼちょうど1ヶ月の1月9日です。Podcastleの仕組みや、1ヶ月の成果などに興味のある人は、是非ご参加ください。
...というテーマで、1月9日の19時半から。申込みは、Wiki小話Vol.7のページ上で受け付けています。
席がすぐに埋ってしまうようであれば、会場をもう少し広げる手配をするつもりです。ただし、今回は沖電気の持つ会議室をお借りする予定で、しかももうすぐ年末・年始の休暇時期です。休みになると、手配ができなくなりそうなので、できればお早めにお申込みくださいませ!
昔CGI::Liteベースのファイルアップローダのサンプルとして作ったWalRackを、そろそろCGIベースのサンプルに移行しなきゃと思っていたのですが、ついでなのでCGI::Applicationを使って書き直してみようと作業中。ファイルの転送もスクリプト経由でやろうと思って、以下の環境でCGI::Application::Plugin::Streamをインストールしようとしたのですが、失敗しました。
- MODULE : CGI::Application::Plugin::Stream
- VERSION : 2.05
- Perl環境 : ActivePerl v5.8.8 built 817 for MSWin32-x86-multi-thread
エラーは二つあって、どちらも試験用のモジュールTieOutにメソッドが不足しているというもの。
t/basic..............ok 1/15Can't locate object method "FILENO" via package "TieOut" at C:/Perl/lib/CGI.pm line 756.
t/basic..............ok 1/15Can't locate object method "BINMODE" via package "TieOut" at C:/Perl/lib/CGI.pm line 757.
"force install CGI::Application::Plugin::Stream"でインストールしても良いですが、せっかく私の環境で正しく動作するかをチェックしてくれるmake testなので、使わないのももったいない気がします。CPANシェルはそのままで"C:\Perl\cpan\build\CGI-Application-Plugin-Stream-2.05\t\lib\TieOut.pm"(C:\Perlの部分はPerlのインストール先)末尾に以下のように2行追加、その後、CPANシェルに戻って再度"install CGI::Application::Plugin::Stream"とすれば、他のテストはきっちりやって、インストールしてくれました。
sub FILENO { 1; }
sub BINMODE { 1; }
1;
作者のJason Purdy氏にはメールを送ったのですが、例によって意味が伝わるか怪しく、ニュアンスは伝わらないつたない英語。次のリリースがあるとして、そこでエラーなくインストールできるようになることを祈るばかりです。
...ところで、作業状況6割という感じの今頃気づくのもあれなんだけど、ここまでいろいろ使っちゃうと、既にCGIモジュールのサンプルにはならなさげだなぁ。CGI::Application、CGI::Application::Plugin::Session、Path::Class、File::MMagic、HTTP::Date、あとは何を使ってたっけ。
Winny裁判に昨日、判決が出ました。一日遅れでasahi.comの「『ウィニー』裁判、判決要旨」などを読んでいますが、CNETの「Winny裁判、罰金刑は重いか?軽いか?--自己矛盾を抱えた判決」が争点や、そこに下された判断などを分かりやすくまとめていると思います。
同記事から、この裁判のもっとも難しい点の説明を引用します。
金子被告が真面目に著作権システムの今後を考えていたのは間違いなかったように思われる。そしてその将来を実現するためには、ボロボロになっている現行の著作権システムが崩壊しなければならず、そこでWinnyを配布して――と考えたのだった。
そして氷室裁判長はこの金子被告の思考経路に、明らかに一定の理解を示したのである。
論告求刑時の記事に書いたように、金子被告のそうした考え方は、現在の著作権法の理念とは著しくかけ離れている。その考え方がいかに倫理的には正しいものだったとしても、現行の著作権法、現行の著作権保護システムを崩壊させようとするのであれば、その行為は法違反とならざるを得ない。つまりは金子被告は字義通りの確信犯だったわけだ。
続報として金子被告が控訴方針であることが各所で取り上げられていますが、asahi.comによれば京都地検も控訴の可能性があるとのことで、この判決は原告、被告の両者から控訴される見込みということになります。
金子氏の顧問弁護士を務める壇俊光氏も「検察の立証は打ち破ることができたと考えている。ただし,裁判所は『Winnyの技術は有用である』『金子氏は著作権侵害をまん延させることはなかった』と事実認定したにもかかわらず,なぜか有罪になってしまった。普通は無罪だ」と反論。「(略)今回の判決には納得していないので,今日中に控訴する」と意向を示した。
【続報】金子氏サイドがWinny裁判報告会,「判決には納得いかない,今日中に控訴する」:ITpro
一方、京都地検の新倉明・次席検事は「罰金刑は想定外で、非常に軽い。上級庁と控訴を協議する」と話した。
asahi.com: ウィニー開発者が控訴 著作権違反幇助事件 - 関西
前例のない事件で、これが最初の判例として以降の裁判に影響を与えることが、更に輪をかけて判断を難しくしています。市民感覚でいえば、確信「犯」であるからには再犯防止のために刑が軽すぎる、抑止力になる刑を、という法論理的な主張は分かります。技術者感覚でいえば、倫理的に正しくても疑わしきは罰するの態度で開発者を裁かれることは、絶対に受け入れられません。
非常に難しいタイミングで、非常に難しい事件だったのだな、と改めて思います。ITProの記事では、YouTubeやGoogleなどの抱える法律上の懸念も挙げられていますし、最近周辺で事件の増えたmixiも「倫理的にどうあれ」で論じられれば出会い系サイトというカテゴリを含めて微妙な位置になりそうな感もあります。
一応の決着を見て、「妥当だ」「仕方がない」との論調もありながら、しかし原告も被告も含めて多くの人が納得できていない。決着した感と未決着の感がないまぜになって、とても落ち着かない思いです。
「SNSの夕べ」に行ってきました。小田美奈子コーチングカフェ主催、高橋 暁子さんによるセミナー+パーティ形式。会場は縁縁。
高橋さんにお会いするのも初めてで、実は縁縁も初めてで、いろいろ楽しみだったので仕事具合によっては参加も怪しいかなと思いつつ申し込んでしまいました。でも無事に行けましたよ~。
以下、セミナーより。
- イベントの時は、事前にMixiのプロフィールを見て「今日話したい人」を見つけておく。
- 名刺交換しても、全員を覚えることも、全員に覚えてもらうことも難しい。続けて付き合っていきたい人、マイミクにしたい人が4、5人見つかれば良い、ぐらいの気持ちで。
- 告知は1ステップの人が重要。1ステップの人に届く日記などで告知して、その人も良いと思って日記などに書いてくれれば、宣伝から口コミに転換する。
- あちこちのコミュニティなどに投稿するのは対極。これはもうスパム(≒迷惑)になる。
- 10:0の「お願い」はきっと通らない。でも人間関係ができていると、10:0の「お願い」にはならない。(持ちつ持たれつ、になる?)
ためになったとかいう話の他に、ここにはチャンス・プレイス、ビジネス・プレイスとしてみてる人達の世間が普通にあって、だからmixi内というのが多分サービスやツールの提供者の手を離れて「社会として成立・成熟」しているのだな、と実感しました。Webアプリケーション屋の感覚だと、「mixiって私的な交友サイト/ツールだから、私的な交友に使うんだよね」というような感覚があるのですが、それよりも大きな何かになっているんだな、と。
そうそう、初めてといえば、頼人さんともはじめてお会いしました。メッセージのやり取りなどはあったのですが、ようやく。頼人さんと本業が近くて、やはり「放課後」的活動が盛んな知人がいるのですが、雰囲気が似ているのが面白かったです。
そんな感じで、最近はあたりのイベントが多いのですが、SNSの夕べも楽しいイベントでした。そこで教えてもらったイベントが来週月曜日にあったりして、いろいろ楽しいな。
忘年会議2006に行ってきました。うん?検索会議2006?忘年会議2006?
まったく日記が追いついていないのだけど、とりあえず身近なところということで、マイナーランキング2006について。momoseさん、「早起き生活」での2位受賞、おめでとうございました~。
あとは、「主催者2007」で江渡さんのPodCastleが紹介されてました。mixi日記で書いてたということなのだけど、読み逃してた。最近、mixiを怠りがちです。PodCastleは、Wikiで誤認識をフィードバックできて、エンジンに羽委されるというところが2.0的かつ江渡さん的。
ところで、検索会議系のイベントは今回始めて参加したのだけど、会場で知っている人がmomoseさんとたつをさんの二人しかいなくてびっくりしました。これまでのWeb系のイベントって、それでもハック系な知った顔が何人かいたものだけど、これはまた別世界なんですね。
検索会議を終えて、Web 3.0ブックとYahooノベルティのひざ掛けをもらって、忘年会。ここでもいろいろ楽しくお話させていただいて、その後はたつをさんらの飲み後の珈琲に混ぜてもらって帰宅。途中までGlucoseの大向さんとご一緒できて、WalWikiを以前使っていたと言っていただいて、また四方山話ができてしまいました。
道中、Web3.0ブックを読んでいたら「Visionalist」という言葉が出てきたのだけど、そう、ハッカーじゃなくビジョナリスト指向の人が集まる系のイベントなのかな、と思いました。こちらはまったく指向が追いつかないけれど、しかしChaosの潤う楽しくて有意義なイベントでした。
仕事がらみで思いついたアイディアの実証に、あるディレクトリ内のファイルを自動で全部印刷、というプロセスが必要だったので、チャレンジしてみました。考え方としては、次のようなもの。
- 各ファイルについて、コンテキスト(右クリック)メニューの「印刷」を実行すればよい。
- WSHではShellオブジェクトを利用してコンテキストメニューのアイテム取得、実行ができる(参考)。
- 上記を、Win32::OLEを使って行えばよい。
次のようになりました。print_directoryサブルーチンに、印刷対象ファイルをあるディレクトリを引数で渡せば、それぞれ印刷されます。
# 必要なモジュールの組込み
use strict;
use Path::Class;
use Win32::OLE;
# 印刷用サブルーチン
sub print_directory {
my $dir = shift;
die "Directory '$dir' is not exists.\n" unless (-d $dir);
$dir = Path::Class::Dir->new($dir)->absolute;
my $oShell = Win32::OLE->new('Shell.Application') or die "$[at]";
my $oFolder = $oShell->NameSpace("$dir");
my $oFolderItems = $oFolder->Items;
foreach (my $i = 0; $i < $oFolderItems->Count; $i++) {
my $oFolderItem = $oFolderItems->Item($i);
my $name = $oFolderItem->Name;
my $verb = "印刷(&P)";
### properly verb define process, but unstable ###
if (my $oFolderItemVerbs = $oFolderItem->Verbs) {
foreach (my $j = 0; $j < $oFolderItemVerbs->Count; $j++) {
my $oFolderItemVerb = $oFolderItemVerbs->Item($j) || next;
my $oFolderItemVerbName = $oFolderItemVerb->Name || next;
if ($oFolderItemVerbName =~ /\Q(&P)\E/) {
$verb = $oFolderItemVerbName;
last;
}
}
}
print "$name -> print\n";
$oFolderItem->InvokeVerb($verb);
}
}
いくつかイケてないところがあります
- PowerPointを起動しておかないと、PowerPointファイルの印刷が行われいことがあった。
- 環境によっては、「properly verb define process, but unstable」以下のifブロック文ではverbを取得できなかった。
- 日本語のファイル名、ディレクトリ名などは検証してない。
1点目は、よく分からないな。WSHか、それともWindowsについて勉強すれば分かるんでしょうか。
2点目は、具体的には「$oFolderItemVerbs->Item($j)」という行がundefを返します。参考にしたWindows Scripting Host LaboratryのFolderItemオブジェクトの説明には「FolderItemVerbsコレクションやFolderItemVerbオブジェクトは、挙動がおかしいので使用しないでください」と書いてあって、そういうものかなと思って投げ出しています。
ただし、実際にはこれでverbの名称が取れ、しかもInvokeVerbに対してUTF8のワイドキャラクタ(?)らしき文字コードでverbを指定しないと動かない環境もありました。そこで、コードとしては"印刷(&P)"という固定文字列をデフォルトにしつつ、取得できればする、という折衷案を採っています。
もし何か良いアイディアなどあれば、コメントなどをいただけると嬉しいです。
VOXで書くのは初めてなのですが、実は私にはガジェット好きという一面があります。そんなニュースを。
OQO model02が、FCC(アメリカの連邦通信委員会)の審査を通過したことを、Engadget、Gizmode、TG todayなどが伝えています。
- OQO Model 02 passes through FCC - Engadget
- OQO 02 UMPC In the Works, Sez FCC - Gizmodo
- Next-gen OQO ultra-portable computer coming | TG Daily
Engadgetによれば、サイズは3.5 x 5.5インチ、参考として現行版は3.4 x 4.9インチとのこと。少し大きくなるのかな?TG Dailyの予想するところでは、価格は2000$以下。発売時期などは、どこも触れていなそうです。
うーん。これも、ゼロスピンドルのVAIO Type Uも惹かれるのだけど、実際問題としてはType GやType Lに目を向けるなり、液晶モニタなどの購入を考えるなりして、作業効率を上げるほうが先決なのですよね。でも、ガジェットは別腹といいますし。でも、痛むフトコロは別じゃないんだよな。うーん。