PEARライブラリServices_Amazonの0.7.1版がリリースされ、#12677でリクエストしたHTTPプロキシ対応パッチも取り込んでもらえたようです。早速、パッチ送付時に作成したテストコードを用意。
<?php
require_once 'Services/Amazon.php';
$amazon = new Services_Amazon('YOURACCESSID', 'YOURASSOCIATEID', 'us', 'http://xml.amazon.co.jp/onca/xml2');
$amazon->setProxy('127.0.0.1',8080);
$products = $amazon->searchIsbn('0596005423');
print_r($products);?>
そして実行。
C:\>php test.php
PHP Fatal error: Call to undefined method Services_Amazon::setProxy() in C:\test.php on line 5
うは!Services/AmazonECS4.phpに取り込まれてるけど、Services/Amazon.phpには取り込まれてない!
OpenPNEのレビュー関連では、Services/Amazon.phpが使われていて、プロキシ対応に関連して、これのプロキシ対応を期待していたのですが...。というか、こちらが更新されることを前提にOpenPNEの方も修正をかけてました。
もしかして、Services/Amazon.phpはobsoleteでServices/AmazonECS4.phpを使えとか、なんかそういうのがあるんでしょうか。OpenPNEも、こちらベースで修正パッチを作って送った方が良いのかな。
----
ご本人のブログにそうコメントしたら、検討してもらえるとのこと。pear.php.netでたどたどしい私の英語でやっているより、日本人同士、日本語でやり取りした方がはかがいった。
ありがとうございます。
GoogleのOpenSocialについて、一昨日、会社でもサロン風に議論しました。そこでもかなり様々な意見や議論が出たのですが、先ほど、3日のOpenSocial説明会関連の記事を通読して、一点、言及しておくべき点に気づきました。
同氏(Google社デベロッパーアドボゲートのChris Schalk氏)はまた、「Open Socialのキーエリアはインフラ的な部分。バリアを取り除くだけ」と語る。つまり、インフラ部分のAPI共通化することで、各SNSは独自色のあるサービス開発に注力できるというわけだ。
Open SocialはSNSに何をもたらすのか--グーグルがその可能性を語る:ニュース - CNET Japan
「バリアを取り除く」という言葉の真意は何でしょう?
現在のところ、SNSは既得ユーザー数が非常に大きな競争力の源泉でした。招待制が一般的なSNSで、成長機会はユーザー数に応じて幾何級数的に伸びます。ユーザーにとっての利便性は、機能以上にどれだけの友達がそのSNS内にいるかが左右します。これは囲い込み戦略が非常にうまく働く世界です。
Googleが取り除くバリアとは、この「囲い込み」という言葉の「囲い」です。ソーシャルグラフの世界において、ユーザー数が生んだ競争力をいちど無にしてしまおうよ、という提案をしているわけです。
誤解を恐れず言い切れば、OpenSocialの本質は「ソーシャルグラフが次のプラットフォームになる」ということである。もちろん、その手前でのオープン論やAttention論も無意味ではないのだが。
そこではプレイヤーとしてのGoogleの存在感はあくまで提唱者としての位置だし、TCP/IPの開発者V・サーフ氏がGoogleに在籍しています、という事実なんかとおよそ等価なものくらいでしかない。
Googleのソーシャルグラフ戦略 | 近江商人JINBLOG
OpenSocialの本質について、この記事を読んでなるほどと頷きました。そしてGoogle自身にとっての提案の価値も、実のところ会社でのディスカッションで「Facebookへの対抗として、OpenSocial陣営を作ろうとしている」という意見に「そうかもしれない、でも効果は疑わしいな」と、同様に考えていました。しかし今、プレイヤーとしてのGoogleにとって、OpenSocialの提案がもたらすものは、私はもっと別な意味を持つ、大きなものではないかと思います。
OpenSocialという提案は、ソーシャルグラフの世界でもっとも大きい競争力の源泉であった「ユーザー数」を、それほど重要ではないものにしてしまい兼ねません。独自性を、ユーザー数より圧倒的に重要な競争力にしてしまい兼ねません。短期的には、これはソーシャルグラフの世界での競争のルールを変えるのです。そしてルールが変わった時に、既存の勢力図は白紙に戻りすらするのです。
それが、Googleの競争力だけを目的としたものだとは断じません。むしろ勢力図が出来上がって身動きの取れない現状と、オープンなソーシャルグラフという理想像の断絶を感じて、“破壊者”として大鉈を振るおうとしているのだという方がGoogle的かもしれません。
もちろん、「競争ルールを変える」という想像からして、うがち過ぎや邪推かも知れません。しかし、もしこの想像が正しかった場合、この分野にいる人はすごく面白いタイミングを迎えようとしているのだと思います。例えば国内トップであるmixiは、現在の競技場での勝ち組でありながら、それを白紙に戻してしまう新しい競技場に歩を進めると決めたことになります。これはどれほど大変な決意だったでしょう。
今、私には分からないことが多すぎて、この話をまとめることができません。しかしこれまで単なるAPIの提案だと思っていたOpenSocialの可能性に、今ようやく、わくわくし始めています。本当に何が起こるのか、すごく、わくわくし始めています。
ActivePerl 822の上書きインストール後に、次のようなエラーが発生。
C:\temp> h2xs -X -A MyModule
C:\temp> cd MyModule
C:\temp\MyModule> perl Makefile.pl
C:\temp\MyModule> nmakeMicrosoft (R) Program Maintenance Utility Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.Can't use string ("pmfiles.dat") as a HASH ref while "strict refs" in use at C:/Perl/site/lib/ExtUtils/Install.pm line 990.
NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0xff'
Stop.
いろいろと試してみたのですが、どうやらMakefile.plができるところまでは問題がなくて、「perl Makefile.pl」で作られるMakefileに謎の「<< pmfiles.dat」なる文字列が残っているのが問題。
更に言うと、Makefile.plから呼び出されているExtUtils::MakeMakerが悪くて、実は旧ActivePerl時代にC:\Perl\site\lib\に更新インストールされたMakeMakerが、ActivePerl 822に同梱されている新しいものより優先して使用されているのがいけないようです。
それならば、C:\Perl\site\lib\からExtUtils::MakeMakerは要らないはずだからアンインストール、と思ってトライ。
C:\temp\MyModule> ppm remove --area site ExtUtils::MakeMaker
C:\temp\MyModule> perl Makefile.pl
Can't locate ExtUtils/MM_Win32.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at (eval 4) line 3.
Compilation failed in require at C:/Perl/lib/ExtUtils/MakeMaker.pm line 43.
Compilation failed in require at Makefile.pl line 3.
BEGIN failed--compilation aborted at Makefile.pl line 3.
なぜかC:\perl\libからもExtUtils::MakeMakerが消えてるようです。
PPMで起動するGUIの一覧に、MakeMakerが見当たらないので、ここからZipファイルを取得。でてきたPPDファイルを指定してインストール。
C:\temp\MyModule> ppm install CPAN-MakeMaker.ppd
C:\temp\MyModule> perl Makefile.pl
Can't locate ExtUtils/MM_Win32.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at (eval 4) line 3.
ExtUtils::MakeMakerは入ったのだけど、ExtUtils/MM_Win32.pmは相変わらずないまま。他のMM_*.pmファイルはインストールされてるんだけど。
ということで、ActivePerlのzipファイルを取得して、この中のExtUtils/MM_Win32.pmをC:\perl\libにコピーして解決。
皆様には、こんな試行錯誤をするよりは、一度ActivePerlを削除して、きれいな環境に新しいのを入れることをお奨めします。PPMなりcpanなりで追加インストールしたライブラリ群を再インストールするのが嫌だけど、安全確実な方法ではあるんじゃないかと思います。
そういえば、ActivePerl Beta DownloadにActivePerl 5.10.0 Build 1000 Betaが出てきてますね。うーん、まだ5.6と5.8と5.8のヘッドの間でどたばたしてるのに、もう5.10系が来ちゃってるのか...。
また、以下にInstalling the SDKの和訳がありました。見たところ、現時点でのドキュメントを訳したもののようです。
【手順】
-
要件に従って、JDKをインストールする。
-
要件に従って、Eclipseをインストールする。
-
手順に従って、ADT Plugin for Eclipseをインストールする。
※はまりどころ1:プロキシの設定が必要
※はまりどころ2:プラグインのRemote SiteのURL変更が必要かも
※はまりどころ(番外):Eclipse(Europe)を用意する -
手順に従って、SDKをインストールする。
-
手順に従って、プロジェクトを作成する。
-
手順に従って、起動設定を行い、起動する。
ここまですると、Androidエミュレータが起動し、テストプロジェクト(スケルトンとしてHello, World!が作られている)が実行されます。
【はまりどころ1:プロキシの設定】
プラグインインストールで、以下のエラーメッセージが出るときは、ネットワーク状況に問題があります。
Network connection problems encountered during search.
ありそうな(私の場合の)問題として、プロキシを未設定であれば、以下の手順でプロキシを設定します。
-
メニューの[Windows]-[Preference]を開く。
-
[General]-[Network Connections]を開く。
-
"Manual proxy configuration"を選び、HTTP proxyを設定
-
"Use this proxy server for SSL"にチェック
※認証が必要なプロキシを使っていても、Proxy authenticationは設定しなくてよさそう。実行時にプロキシ認証用のダイアログが表示される。 -
"Apply"後に"OK"で終了。
【はまりどころ2:Android PluginのURL変更】
プラグインインストールで、エラーのdetailで以下のメッセージが出るときは、アクセス先を変えることで解決する場合があります。
Unable to access "https://dl-ssl.google.com/android/eclipse/".
Error parsing site stream. [Premature end of file.]
Premature end of file.
Error parsing site stream. [Premature end of file.]
Premature end of file.
実際に手順に示されたURLにブラウザアクセスすると、404エラーが発生しました。こちらを参考に、以下を指定したところ、ブラウザではXMLデータが取得できました。
また、私の会社の環境では上記を指定しても、Eclipseでのプラグインインストールではエラーになりました(プロキシサーバでのウィルスチェック処理などとぶつかっていそうな気がしました)。この環境では、httpsではなくhttpプロトコルにして、以下のURLを指定するとインストールができました。
【はまりどころ3:プラグインの設定が必要】
プロジェクト作成時または起動時に、以下の内容のエラーが出ました。(英語の正確なメッセージを忘れました。誰かメモしていたら教えてください。)
SDKが指定されたディレクトリに見つかりません。Androidプラグインのpreferenceを見直してください。
エラーメッセージ通り、以下を行います。
-
メニューの[Windows]-[Preference]を開く。
-
[Andoroid]を開く。
-
"SDK Location"にAndroid SDKのトップディレクトリを指定する。
(ZIPを展開してでてきた"android_sdk_windows_m3-rc22a"ディレクトリのフルパス) -
"Apply"後に"OK"で終了。
【はまりどころ(番外):Eclipse(Europe)を用意する】
Eclipse 3.2 日本語化環境でインストールしていた同僚が、Eclipseプラグインのインストール時にEclipse Modeling Frameworkがない旨のエラーが出るとのことでした。
原因追求していませんが、要件には「Eclipse 3.2, 3.3 (Europa)」とあるので、3.2であることより、「Europe」なのがポイントなのかもしれません。Eclipseはパスを通さず複数あっても問題がなさそうだったので、Eclipse 3.3 (Europe)も入れてそちらでプラグインインストールをしたところ、OKでした。
●
これで実行できると思うのですが、どうでしょうか?
WYSIWYGなWin32::GUI用GUI作成ツール“The GUI Loft”のサイトが移動していました。
Win32::GUIと合わせて再インストールしようと思ったのだけど、各所でリンクされている旧URLではアクセスできなくて、一慌て。他サイトでもやっぱり「The GUI Loftはどこにいった?」という声を見かけたので、メモしておきます。しかし、readmeにも旧URLが記されているんだけど、もしかして勝手ミラーサイトだったりするんだろうか?
●
メモついでに、インストール方法もメモ。
- 上記サイトから“Loft_binary.zip”を取得。
- “Loft_binary.zip”を展開。“TheGUILoft”というディレクトリができます。
- “TheGUILoft/PPM/AdHoc”ディレクトリで“install.bat”を実行。
- “TheGUILoft/PPM/Loft”ディレクトリで“install.bat”を実行。
- “TheGUILoft”ディレクトリは、“C:\Program Files\”などに移動し、残しておきます。
“TheGUILoft/Demo”以下の*.plファイルを実行できれば、インストールは成功です。
“TheGUILoft/tgl.exe”を実行すると、WYSIWYGなGUIデザイナが起動します。
●
インストールついでに、インストール時に出たエラーもメモ。インストールに失敗する時は、以下のようなメッセージが出ていないかチェック。
ppm install failed: No file at C:\PROGRAM FILES\TheGUILoft\gz
TheGUILoftディレクトリを、パスに空白を含む場所に展開した時に、上記のようなメッセージでinstall.batが失敗しました。Cドライブ直下など、空白を含まないパスに展開しなおしてやり直すと出なくなりました。
ppm install failed: File conflict for 'C:/Perl/html/site/lib/Win32/GUI/BitmapInline.html'.
The package Win32-GUI has already installed a file that package Win32-GUI-AdHoc
wants to install. Uninstall Win32-GUI, or use --force to allow files
to be overwritten.
“AdHoc”ディレクトリで“install.bat”実行時、Win32::GUIが既にインストールされていると、このエラーになるようです。ここではエラーメッセージで言われているように、
C:\TheGUILoft\PPM\AdHoc>ppm install --force Win32-GUI-AdHoc.ppd
として--forceオプション付きでインストールしました。
ppm install failed: File conflict for 'C:/Perl/site/lib/Win32/GUI/build_ppm.pl'.
The package Win32-GUI-AdHoc has already installed a file that package Win32-GUI-Loft
wants to install. Uninstall Win32-GUI-AdHoc, or use --force to allow files
to be overwritten.
“Loft”ディレクトリで“install.bat”実行時、このエラーになりました。Win32::GUI::AdHocは未インストールだとWin32::GUI::Loftをインストールできないので、やはり--forceオプション付きでインストールしました。
C:\TheGUILoft\PPM\Loft>ppm install -force Win32-GUI-Loft.ppd
これで完了。
9月29日(土)はWiki小話Vol.8を開催しました。その席で、結城さんから提案のあった参加者に聞くイントラWikiの規模やその他を実施、etoさんが記録をメーリングリストに投稿してくださっています。
Wikiばなは、参加者の傾向としてかなり「Wiki側」な人が多く、Wikiアプリケーション製作者や古くからのWikiユーザなども入ります。そのためか、他のアンケートなどと比べて、かなり特徴的な結果になっているように思います。
いくつか回答数とグラフ(HeartRais Graphを使用して作成しました)で紹介します。いずれも複数回答式で聞いています。
- 会社などでwikiを使っている? … 使ってる:27人、使ってない:3人
- 利用者は何人規模? … 10人以下:10人、20人以下:5人、30人以下:2人、それ以上:7人
(「それ以上」の内訳 … 50人×4、60人×1、100人×1、数千人×1) - アクティブに編集するのは? … ~1割:4人、~3割:4人、~5割:2人、5割以上:6人
- 社内Wikiは複数ある?一つ? … 複数:14人、一つのwiki:3人
- その統合方法は? … WikiFarmを使用:2人、勝手wikiが散在:7人
- Wiki設置は公認? … 公認:10人、非公認(勝手Wiki):7人
また、利用しているWikiアプリケーションは、次のようになりました。
- Confluence:1人
- DokuWiki:2人
- FreeStyleWiki:4人
- Hiki:4人
- LinearNote:1人
- MediaWiki:3人
- PukiWiki:12人
- qwikWeb:2人
- RedMineのWiki:1人
- SharePointのWiki:1人
- Source Forge Enterprise EditionのWiki:1人
- TracのWiki:7人
- WalWiki:2人
- YukiWiki:1人
- はてなグループ:1人(有料,非公開で使っている)
- 自作:1人
PukiWikiが多いのはここでもですが、「会社などでWikiを使っている:27人」の半数には至っていませんし、述べ回答数44件と比べればOne of Themで、PukiWikiで決まりともいえない数字です。他にもさまざまなWikiアプリケーションが使われており、新しいWikiアプリケーションの名前も目立ちますし、SharePointやConfluenceといった商用製品も登場しています。
私見で言えば、Wiki概念の多様性(2006 江渡浩一郎, 塚本牧生, 島田慶樹)の「Wikiの多様化」の図で示したように、海外では2000年まで、国内では2003年までに登場したYukiWiki、PukiWiki、WalWiki、Hiki、VikiWikiなどの第一世代のWikiアプリケーションが一般的な要求に応えるスタンダードなものでした。これに対して、それ以降にはさまざまな目的に応じた新しい世代と呼べるWikiアプリケーションが作られてきました。
第一世代のWikiアプリケーションもまだ更新が続けられていて健在で、そこからのチョイスでは「とりあえずPukiWiki」の感がありますが、新世代を含めて、例えば「イントラWikiとして何をチョイスするか」という話では、まだこれがスタンダードというものはないように思います。概念(やバズワード)としてのWikiではなく、選定や設置、カスタマイズや自作など泥臭い実体としてのWikiに取り組んできた方々と話してみて、いっそうそう思いました。
OpenPNEサイトの運営者交流会「PNEパートナーズ交流会」の9月度が今晩あります。
■ タイトル: 9月度PNEパートナーズ交流会 - OpenPNEで社内SNS
■ 開催日時: 9月25日(火) 20:00~22:00
■ 場所: 「クワトロエス・プラス」
■ 内容: ネットワーキング、Open PNEの動向、SNS導入事例、PRタイム
このSNS導入事例で、OKI社内SNSの状況やカスタマイズ内容などをご紹介することになりました。15分ほどでさっくりとなので、簡単にユーザ数などの統計値と、こんなカスタマイズをしましたという概要レベル。
会社からは「社内SNSやってるとかプレスリリースみたいな感じでは未公表だけど、まあここだけの話的にやっておいで」と許可が出たので、ここだけの話的にこっそり話してきます。参加申込み状況は知らないのですが、まだ参加申込みを受け付けているみたいなので、ご関心のある方はこちらからどうぞ。
# こういうイベントで、事前に話者に申込み状況を教えてくれたりって、不思議に経験ないな。
# 人数とか参加者のプロフィールとか、開催者より話者が必要な情報だと思うんだけど。
しばらく開催されていなかったWiki小話ですが、今週末にWiki小話Vol.8「イントラWikiを語る」を開催したいと思います。
Wiki小話Vol.8「イントラWikiを語る。」 日時:9月29日(土)14:00~16:00 場所:ルノアール新宿区役所横店会議室 費用:飲み物代(ワンドリンク注文してください)
場所決め等で手間取っている間に席が埋まりつつありますが、もう少しだけ余裕が。
申込み等は、案内ページの方で、よろしくお願いします。
実践!SixDegree [ITmedia オルタナティブ・ブログ]で「エンジニア24人に聞きました(Wiki活用アンケート)」が公開されています。ちょっとこれのうち、Wiki記法について関連する話題を。
「Enterprise 2.0 : 社内Wikiの目的」に関連して、社内SNSでのWiki関連トピックでこんな話がありました。
A : 「Wiki記法はWYSIWYGの編集より効率的」という愛用者も多い」とのことですが僕もその1人です。慣れるのも簡単で結構使いやすいですよね。
私 : ここも重要...なのですが、Wiki嫌いの人からすると、ここが一番の攻撃どころで、なかなか推しにくいんですよね。
今回はそんな訳でさらりと流しましたが「Wiki記法は『文字修飾』ではなく『文章構造の明示』であって、だからWiki記法では文章が書きやすい」云々という議論を、以前にずいぶんやっていました。
A : 「Wiki記法は『文字修飾』ではなく『文章構造の明示』であって、だからWiki記法では文章が書きやすい」の件、同感です。
こっちの人は結構まとめるセンスがなかったりするのですが(ソフトウェア仕様書やシーケンスの書き方もセンスがあるとは言えない・・・)、Wikiくらい簡単に『文章構造を明示』できると、まとめ方のセンスもあまり関係なくなったりします。
まとめ方の悪さを直すにしても、簡単です。
私もこの「7.利用者のうち、Wiki記法を理解して使いこなしている人は?」という設問には「半数」に投票したのですが、一方で多用で複雑なWiki記法がある中で、ちゃんと使ってほしいものって多くはないな、と思います。せいぜいWikiCreole(速見表を見ると良いかも)に含まれている種類のものぐらい。
この選択基準は「文章構造をあらわすもの」ということになります。このレベルまでは使ってページを作ってもらえると、上でA氏が指摘しているように、ある程度まとまるところはまとまり、見通しの良いページになっていきます。
多分、個人作業でも「Wikiが書きやすい」と言う人は、多かれ少なかれ「文章構造を表す簡便なマークアップ」というWiki記法の特徴とメリットを感じている人ではないかと思います。同時に、他の人にもWiki記法で書いてもらうと、文章に構造が生まれ、他の人が役立て易いことを感じている人も多いでしょう。
逆に使えなくても良いと思うのは色指定とか文字サイズ、プラグインといったもの。例えば文字色を赤字にすると、底が何か特別だという認識は共有できるのだけど、そこを重視しろということ(よくある)なのか、それともここは直せということ(これもよくある)なのか、意味はコンテキストに依存してしまいます。
この文章構造をあらわすレベル、具体的には見出しやリスト、強調や斜体までのレベルでは、私の周辺はきっとみんな使いこなせているのではないかとも思います。そういう意味では、どこかで質問を変えたアンケートをやってみたいところ。月末に久しぶりのWiki小話を企画中なのだけど、そこでやれるといいな。
ある種のスパムかも、と物議をかもしているQuechup.comの招待状が来ました。
米国ラスベガスに本社を置くiDataのSNS「Quechup.com」に困惑の声が広がっている。ユーザー登録をすると、ユーザーが気づかないうちにアドレス帳を参照し、SNSへの招待メールを送信してしまうのがその理由だ。招待メールを受信したユーザーがQuechup.comに登録してしまい、また別のユーザーに招待メールを送ってしまうなど国内でも被害は拡大している。
スパムSNS? 「Quechup.com」の危険度 - @IT
この「困惑の声」については「H-Yamaguchi.net: Quechupがなんだかすごい勢いで嫌われてる件」がよく拾って紹介してくれていますので、参照してください。とりあえず、以下の二点だけは意識しておいてもらうのが良いと思います。
- Invitation from DARE SORE(dare@sore.example.com)という表題のメールが来たら、リンク先に行くのは少し待ちましょう。
- 名前、メールアドレスにウソはないようです。まず招待主に、本当に招待したか問い合わせましょう。
さて、せっかくなので、実際に何が起こるのかを簡単にまとめておこうと思います。
実際の招待状は「Invitation from DARE SORE(dare@sore.example.com)」のようなタイトルのメールで送られてきて、DARE SOREさんやそのメールアドレスには見覚えがあったりします。そこでメール中の「Click here to accept DARE SORE」をクリックすると、3ステップあるという登録ウィザード開始。2ステップ目が以下のような画面です。
ここで利用しているWebメールサービスの選択と、パスワードの入力を求められており、パスワードを入力せずには「CONTINUE」できないようになっています。@ITの記事によれば、ここでパスワードなどを入力してしまうと、そこのアドレス帳にあるメールアドレスに勝手に招待状を送りつける、とのこと。記事では指摘していないけれど、この知り合いチェックを行わないという選択肢がないというのもおかしな点です。
本当にあなたが誰かから招待されていて、Quechupにユーザ登録するのだとしても、Webメールサービスのパスワードを預けてしまうのは自衛の意味でよくないことでしょう(ましてスパム疑惑があるならなおさらでしょう)。先に進みたいときには、ダミーの(Webメールサービスへのログインに失敗する)パスワードを入れるのが良いと思います。次のような画面に進みます。
この画面でCONTINUEとすれば先へ進め、ユーザ登録を完了できます。なお、使い始めてからも、「Friends & Favorites」というメニュー内に「Check My Address Book」という項目があり、これを選んでしまうと同じようなWebサービス選択とID、パスワード入力の画面が出てきます。操作には注意してください。
なんにしても、どうにも好ましくないし、勧められない、というより招待状を無視してしまうことを強く勧めたいところです。招待状の差出人(From)や返信先(Reply-to)は上述の通り、旧知の誰かさんでくるのですが、送信者(Sender)は次のようになっていました。
Sender: "Quechup" mail@quechup.com
この招待メールに煩わされたくない、という人は、あらかじめ上記ヘッダでメールフィルタを設定しておくと良いかもしれません。