本棚.orgと同じ要領で。だいたい、WWW::Mechanize::Shellを使ってWWW::Mechanizeなスクリプトを作り、scraperを使ってWeb::Scraperなスクリプトを作り、つなげれば終わりなのです。といってここではWeb::Scraper使ってないのだけど。
ということで、メディアメーカー。
#!perl -w
use strict;my $uname = 'tsukamoto';
my $pass = 'mypassword';use utf8;
use Encode;
use Encode::Guess qw/euc-jp shiftjis 7bit-jis/;
binmode STDOUT, ":encoding(sjis)";use WWW::Mechanize;
use URI::URL;use Text::CSV;
use YAML;my $agent = WWW::Mechanize->new( autocheck => 1 );
$agent->env_proxy();$agent->get('http://mediamarker.net/login');
$agent->form_name('login');
$agent->current_form->value('uname', $uname);
$agent->current_form->value('pass', $pass);
$agent->submit();
$agent->get(URI->new_abs('config?op=export', $agent->base));
$agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
$agent->current_form->value('ex_code', 'utf-8');
$agent->current_form->value('exterm', 'all');
$agent->submit();
my $content = decode('Guess', $agent->content);my @lines = split(/\n/, $content);
my $csv = new Text::CSV({
binary => 1,
allow_loose_escapes => 1,
allow_loose_quotes => 1,
escape_char => undef,
});my @fields;
while(@lines){
next unless $csv->parse(shift(@lines) . "\n");
@fields = $csv->fields;
last;
}my $result = [];
while(@lines){
next unless $csv->parse(shift(@lines) . "\n");
my @values = $csv->fields;
my $row = { map { $fields[$_] => $values[$_] } (0 .. $#fields) };
push(@$result, $row);
}
print YAML::Dump($result);
メディアメーカーの場合はCSVエキスポートになるので、Text::CSVで解析。Text::CSVってもっとスマートに使えなかったっけな。なんだかひどく下手な書き方感があるのだけど。
さて、他に僕の読書情報が入っているのは各所OpenPNEなんだけど、それ以外にアカウント作ってデータ入れてまでこれをやるべき本棚サービスってあるかな。
あっちこっちの本棚の情報を同期するのがめんどくさいな、と思ってまずデータを抜き出すことを考えてみる。そういうのもどこかにありそうで、探せば良さそうなものだけど、そこは「手を動かすなんてめんどくさい」じゃなくて「手を動かしたほうが楽しい」になるから不思議。
まず本棚.org。
#!perl -w
use strict;my $url = 'http://www.hondana.org/walrus/datalist';
use utf8;
use Encode;
use Encode::Guess qw/euc-jp shiftjis 7bit-jis/;
binmode STDOUT,':encoding(shiftjis)';use Web::Scraper;
use WWW::Mechanize;
use URI::URL;use JSON;
use YAML;my $agent = WWW::Mechanize->new( autocheck => 1 );
$agent->env_proxy();
$agent->get($url);
my $content = $agent->content;
$content = decode('Guess', $content) unless (Encode::is_utf8($content));my $scraper = scraper { process "#shelf pre", "json" => "text"; };
my $json = $scraper->scrape($content)->{'json'};
my $result = from_json($json);
print YAML::Dump($result);
本棚.orgはログインが要らなかったりデータがJSONだったりするのでかなり簡単。$resultはハッシュリファレンスの配列リファレンスになってます。
昨日、今日はビジネスBlog&SNS World。Crossba開発チームを外れてしまったので、こういった場に平日昼間に足を運びにくいのですが、それぞれちょっとずつスポットで聞きに行きました。今日のTISによるセッション「本当に社内SNSは効果があるの?」のノートを、特に整理しないままですが、貼り付けておきます。
■ インテリジェンス:高柳久美子
倉貫「派遣社員の満足度向上への情熱を語ってほしい」
・「ちえぼ」前身は掲示板「チエホタル」
・ユーザー数:1500名
・導入後の効果:開始1ヶ月でのログイン率は50%
・「知っている人が社内にいる」の感覚が出てきた。
■ 三菱UFJインフォメーションテクノロジー(MUIT):千貫素成
・形式地の共有は既存
・個人の感情、暗黙地の共有が不足:足りなかったのは「個人のページ」
・「マイページ」←性格をはっきり現した命名でイイ!
■ 永和システムマネジメント:岡島幸男
・金融、医療、オープン系の3分野のソフトウェア
・社員数約220名
・東京、福井の事業所をどうつなぐか
・東京は「Ruby」「アジャイル」の先進文化、福井は「金融SI文化」
・新社長の取り組み:小集団活動
・SaaS形式で利用
■ 課題、取り組みについて
◇インテリジェンス
[課題/苦労] 書き込みの障壁が高く、盛り上がらないのでは?
[施策/工夫] 他己紹介を活用。インタビューなど実際に会って
過去の掲示板では発表の障壁が高かった。場合によっては上司承認を経て、など。それでもすぐにはかけないと思ったので、紹介文を。
メンバーで多くの人の紹介文を書き、始めてログインしたときにすでに紹介文がある状態にした。
マイミク見たいな機能がほしいと思っていたが、それを入れるとリアルコネクションと同じ範囲でしかつながらないと考えた。
(友達リストの代わりに「この人が紹介している人」リストがあればいいかも。あるんだっけ?と思った。OpenPNEにはないな。)
◇MUIT
[課題/苦労] 強制的に欠かせてもすぐに使ってくれなくなる
[施策/工夫] 仕事上の情報をSKIPに。障害速報をロボットが自動投稿。
一人一投稿のキャンペーンを実施。しかし現場は「全機能を使うノルマ」を設けてクリアしただけだった。
→4月になると誰も書き込まなくなった。
TIPSを書いてもらいたい。TIPSを持っている人は忙しいので、ロボットを検討してる。
・ログの収集、インテリジェンスを入れて「これは大丈夫だから1時間ぐらい待てば」などエントリを書く。
・投稿先は関連グループ、投稿時に「重要」タグなども必要に応じてつける。
→サーバ管理者が「リブート中」などコメントも。
・可能性としては勤怠連携「この人残業しすぎだから」と上司へ、
◇永和システム
[課題/苦労] 異なる文化を持つ拠点間で盛り上がるかどうかが不安
[施策/工夫] 小集団活動とのリンク
社長には「会社を立ち上げた頃はもっと会社がイキイキしていた」との思い。
小集団活動はQCサークルなどのような活動も含めたもの。実際に会ってテニスをする、などクラブ活動のようなものも含む。(※クラブ、ワーキンググループ等を包括するものと理解した。)
小集団は会社から補助あり、成立の条件あり。条件はSKIPの申請フォームに投稿。
→他の社員に見せられないような小集団は作れない。
→さらにもう一段階の申請をして通ると予算がつく
小集団はSKIP上にも場があるのが前提なので、SKIPも盛り上がる。
東京メンバはもともと個人ブログ、mixi、etc.でネットにすでに満足していた。福井はリアル側、小集団が中心だった。
→小集団とSKIPを連携させることで両者を融合した。
[倉貫] 社長が「はじめよう」といったのにボトムアップ?
[岡島] なんというか、「イキイキさせたい」が思いで、後はイイ感じで丸投げしてくれたのがよかった。
[倉貫] インテリジェンスは?
[高
柳]
全員にアカウントを配っているので、ある意味ではトップダウン。ただ両方の施策を混ぜている。ちなみにトップの記事の閲覧率は圧倒的に高い。みんなの
「知ってる人」の生地だからだと思う。知らない人の書いてるものはなかなか見ないし、またそこに書き込まない。またなるべくがんばってる社員にスポットラ
イトを当てるような記事を入れていく。
[倉貫] MUITでは?社長が交代したばかりだが?
[千貫] よいチャンスだと思って、社長にも売り込んだ。喜んで書いてくれてるし、それが牽引力になってもいる。
■まとめ
社内SNSは手段。
だから車に(レジャー向け、シティー向け、などなど)いろいろあるように、SNSにもいろいろなSNSがある。社内SNSには友達昨日は要らない、全員知り合い、などのデザインも必要。
◇各社、各氏にとってSKIPとは?
[高柳] 最終目標はナレッジマネジメント。さいしょは社員同士が楽しくコミュニケーションする基盤。
[千貫] 会社を良くし続けていくための装置。
[岡島] 社員同士のコミュニケーションの基地。いつでもそこにあるホーム。
よ
く社内SNS導入では「社内活性化代行」のようなはなしがあるが、私(倉貫)はそれは無理だと考えている。それは、やはり中の人の情熱が必要。SKIPで
はコンサルティングといいながら、社内活性化を代行したりはしない。情熱ある人を助ける、コーチングのアプローチをとる。
SKIPは情熱共有基盤だと考えている。
VMware HAは設定が簡単なのだが、その簡単な設定をした時にエラーが起きると、何を調べるべきかが難しい。VMware社のKBに「Diagnosing a VMware High Availability cluster configuration failure」という記事があったので、対処ステップ部分を簡単に訳しておく。
- 構築しようとしているVMware HAのライセンスが足りていることを確認する。詳細はKB 1003692参照。
- ESXサーバ上で名前解決が正しく設定されていることを確認する。詳細はKB 1003735参照。
- VMware VirtualCenterサーバ上で名前解決が正しく設定されていることを確認する。詳細はKB 1003713参照。
- VirtualCenterサーバからESXサーバへのネットワーク接続が存在することを確認する。詳細はKB 1003486参照。
- ESXサーバから離れたレスポンスアドレスへのネットワーク接続が存在することを確認する。詳細は同じくKB 1003486参照。
- 必要なネットワークポートが開いていることを確認する。詳細はKB 1003487参照。
- dateコマンドによるESXサーバの時間が正しいことを確認する。詳細はKB 1339を参照。
- インストールされているVirtualCenterエージェントのバージョンが正しいことを確認する。詳細はKB 1003714を参照。
- VirtualCenterサーバサービスが再起動されていることを確認する。VirtualCenterサーバサービスの再起動についてはKB 1003895を参照。
- VMware HAの構成を試みているサービスコンソールが一つだけであることを確認する。詳細はKB 1003789を参照。
- VMware HAクラスタが衝突していないことを確認する。これを行うためには、テストとして別のクラスタを作成する必要がある。詳細はKB 1003715を参照。
もしこれでもだめな時は、まずVMware Support Script Data(診断データ)を収集する。詳細はKB 1003689を参照。そしてこれとこのKBの文書ID(1003692)を問題の記述に沿え、サポートリクエストを作成する。詳細はHow to Submit a Support Requestを参照。
2月ごろにデスクトップ仮想化の性能比較について、ひと騒ぎあったらしい。virtualization.infoより。
ベンチマーク:ESX対XenServer対Hyper-VのTerminal ServicesとVDIワークロード対決(2009.02.02)
Project Virtual Reality CheckがVMware、Xen、Hyper-VなどのベンチマークをWhite Papersとして発表。VMwareについてメモリのオーバコミットメントがあるのは明白なアドバンテージ、またXenDesktopについてターミナルサーバとXenAppに対しての最適化が明らか、と述べている。
VMware社がVirtual Reality Checkベンチマークに反応(2009.02.03)
VMwareがブログエントリ「VMware: VROOM!: Virtualizing XenApp on XenServer 5.0 and ESX 3.5」を公開。XenApp使用時について、同じユーザー数での待ち時間(latency)、CPU使用率ともVMware ESX 3.5の方がXen Server 5より低く、最大ユーザ数はVMware ESX 3.5の方が高かったとのグラフを提示。
ベンチマーク:Citrix XenDesktop 2.1 Scalability Analysis(2009.02.09)
上の論争に関連して、Citrixが1月に公開していたXenDesktop 2.1 Scalability Analysisを紹介。XenDesktopがだいたい25仮想マシン/サーバぐらいでリニアにスケールアップすることを示している。ちなみに公開は1月12日だが、2月27日まで行進が行われている様子。
ベンチマーク:Citrix XenDesktop 2.1対VMware View 3.0(2009.02.17)
Tollyが単独(ただしVMware協賛)でVMware View 3 PremierとCitrix XenDesktop Enterprise 2.1のユーザビリティ(?)テストのレポートを公開(参考:VMware社ブログエントリ)。Citrixは「VMware releases a new report that's already outdated」VMwareが賞味期限切れのレポートを発行、と反論した。
メモリのオーバコミットメントの効果については、VMware社のパートナーアップデートセミナー2008秋の資料「実践デスクトップソリューションVMware Virtual Desktop Infrastructure」に実験結果がある。メモリ8GBのマシン上で、仮想メモリ1GBの仮想マシンが何台起動できるかを比較するというもので、たしかに起動できる台数は違うみたい。これはそういう仕組みがあるかないかという問題なので、信じてもよさそう。
他のパフォーマンスの優劣については、こうなるとどうとでも取れるという程度のような気がしてくる。