2009年7月29日水曜日

Processの問題

どうもJavaでProcessを使って別プロセス処理をする場合,InputStreamとErrorStreamをうまく処理してあげないとデッドロックになるらしい.

process = rt.exec(command);
exitValue = process.waitFor();

このとき,commandから大量の出力が出るとデッドロック状態になる.
InputStreamとErrorStreamはStreamなのである程度以上の文字列を確保出来ないためらしい.
そのため,

private void exec(String command, StringBuffer stdOutput){
process = rt.exec(command);
readOutput(stdOutput, process.getInputStream());
exitValue = process.waitFor();
}

private void readOutput(final StringBuffer buf, final InputStream is) {
Runnable runner = new Runnable(){
@Override
public void run() {
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
try{
while((line = br.readLine()) != null){
buf.append(line);
buf.append("\n");
System.out.println(">"+line);
}
}catch(IOException e){

}
}
};

Thread th = new Thread(runner);
th.start();
}

とやると比較的うまくいく.

2009年7月22日水曜日

主成分分析とクラスタ分析

SNSの分析で,いくつかのパラメータを直接クラスタ分析行なっていたけど,
ちゃんと主成分分析してからクラスタリングした方が良さそうだ.
とりあえず,直近の課題としよう.

2009年7月21日火曜日

残念なお知らせ

外部資金不採録通知ゲット・・・
ああ,いいことないかなあ・・・
お金になる研究しないとなあ・・・

2009年7月17日金曜日

Buisiness Blog & SNS World二日目その2

Timelog


・MadeInJapan
・AllInOne
・CrossMedia

・リアルタイムマーケティング
・フローコンテンツ
 流れる情報
・ストックコンテンツ
 たまる情報
これらの情報をメディアとして受信,共有が出来れば.
APIを公開しているので,XMLで取得可能.

・リアルタイムを生かすビジネスモデル
・写真との連携がポイント?
・WEB以外とのオンラインイベントとの連携

・購買行動を次につなげる⇒リアルタイムのよさ
・月間ユニークユーザ数:8万50000人,3万5000人
・miniブログは一般人には敷居が高い.

Buisiness Blog & SNS 二日目

本当に社内SNSに効果があるのか?


SKIP

社内向けSNS.
友人機能無し.
友達機能はコミュニケーションを阻害する?⇒本当か?かなり疑問.

インテリジェンス

書き込みの障壁が高く盛り上がらない.

他己紹介を活用.
自分の知り合い全員に紹介文を.

東京三菱インフォメーションテクノロジ

強制的に書かせても使わなくなる
仕事上の情報をSKIPへ
ロボットが自動的に障害速報を.
3月に増加⇒4月に激減.ノルマ達成のために3月に書き込んでいた.
業務に役立つTIPSを書いてほしい⇒一部の人に本当に有効なものを書いてもらった.
ロボットがBlogを書く⇒エラー情報


永和システムマネジメント

東京と福井に事業所.異なる文化を持つ拠点間で盛り上がるのか?

小集団活動とのリンク(部活とかサークルとか)
実際にあって活動.

東京では,もともとTwitterなどでつながりはある.
福井ではリアルな活動が中心

福井からSKIPの利用を推進.

トップダウンかボトムアップか


アカウントを全員に配る⇒トップダウン
ボトムアップが面白いと思って使うことが重要⇒ボトムアップ
リアルとSNSの連携

SNSとはなにか

・社員同士のコミュニケーション
・会社を浴していく
・社員同士のコミュニケーションのベース

2009年7月16日木曜日

Buisiness Blog & SNS World 2009

企業内SNS導入効果,背景と運用ノウハウ


OKI電気

導入効果

・通常の業務システム:
業務効率化・コスト削減・・・
・企業内SNS:
失われたものを保管
必然的になんにでも使えるようなもの
分かりやすいものから手をつけて残ったもの

導入効果:
社内コミュニケーションの活性化.
・目的は?フォーマルorインフォーマル
社内情報共有
・形式知or暗黙知
ナレッジマネジメント
・知識創造・創発.コラボレーション
・知識共有,Q&A
・Know-Who
企業風土の改革
・組織間の壁
企業DNAの伝承
・求心力

商品・設備など目に見えるものは,業務システムが.
人や企業風土など目に見えないものを,社内SNSが担当.

導入・運用ノウハウ

・小さくはじめる
 ・段階的に
 ・ファーマルな用途にも向く
・大きくはじめる
 ・事前の問題分析などを会社をあげて行う

コッターの企業変革ステップ
1,危機意識を高める
2,変革推進チームを作る
3,適切なビジョンを作る
4,変革のビジョンを周知徹底する
5,従業員の自発的行動を促す
6,短期適正化を有無
7,さらに変革を進める
8,変革を根づかせる
SNSはもともとボトムアップだが,ミドルアップダウンという考え方が重要

TuckmanModel
形成⇒混乱⇒統一⇒機能

・SNSはただの箱
・目的に沿ったものを添った形で
・運営は現場の人を巻き込む
・トップマネジメントを確保
・混乱期を恐れない


導入効果が出る理由

大量生産消費社会⇒焦慮歌品質社会

大競争時代へ
生存を賭けて変化への対応力とスピードが求められている

階層型組織からネットワーク型組織へ
SNSが良くマッチする

SNSの投稿数は多い=コミュニケーション増大

情報・知識共有基盤crossba

・OpenPNEベース
・会社に必要なものを付け加えている

地域SNS最前線~国内外の事例から~



地域SNSって実際どうなのか?
・盛り上がっていない
・ビジネスモデルがしっかりしていない
・地域に可能性はある

下ぶろ
・300人くらい
・平均フレンド3.19人

みかん
・和歌山県田辺市
・2273人
・コミュニティ303
・平均フレンド5.11
・SNSのDBを利用して外部サイトを作成
・田舎のGoogle

あみっぴぃ
・平均フレンド9人強

2009年7月14日火曜日

JavaScriptでGoogleCalendar修正版

修正版を作成してみた.

<html>
<head>
<img style="position:absolute; top: -1000px;" src="./dummy.gif">
<script type="text/javascript" src="http://www.google.com/jsapi?key=<i>YOURKEY</i>"></script>
<script type="text/javascript" src="./js/jquery"></script>
<script type="text/javascript">
<!--
google.load("gdata", "1");


function PRINT(src){
$("#message").html($("#message").html()+"<br>"+src);
}


function logMeIn() {
scope = "http://www.google.com/calendar/feeds/";
var chk = google.accounts.user.checkLogin(scope);
start();
}


function setupService(){
calendarService = new google.gdata.calendar.CalendarService('<i>APPLICATION-NAME</i>');
}

var calendarService;

function start(){
/*
* Retrieve all calendars
*/
setupService();
var feedUrl = 'http://www.google.com/calendar/feeds/default/allcalendars/full';

var handleError = function(error) {
PRINT(error);
}

calendarService.getAllCalendarsFeed(feedUrl, callback, handleError);
}


// The callback method that will be called when getAllCalendarsFeed() returns feed data
function callback(result) {
var entries = result.feed.entry;

for (var i = 0; i < entries.length; i++) {
var calendarEntry = entries[i];
var calendarTitle = calendarEntry.getTitle().getText();
PRINT('Calendar title = ' + calendarTitle);
}
}


//-->
</script>
</head>
<body>
<div id="message">
</div>
</body>

<input type="submit" value="login" onclick="logMeIn()">
</html>

Loginボタンを押すと,Loginしてカレンダーをすべて取得してくれます.