地震被災情報リンク 石巻を中心に
リンク
「Google Person Finder (消息情報): 2011 日本地震」 http://japan.person-finder.appspot.com/
「http://www.kraftwerk.jp/news/2011/03/12/262/」 http://www.kraftwerk.jp/news/2011/03/12/262/
「paper:plustic: 石巻とその周辺被災地 現地から発せられていると思われる情報まとめ」 http://paperplustic.blogspot.com/2011/03/blog-post.html
「みんなで仲良く石巻を語ろう53回」 http://tohoku.machi.to/bbs/read.cgi/touhoku/1298901197/l50 (3/13 06:19 追加)
「【石巻の皆がんばれ!】石巻の地震・津波災害情報、避難状況のまとめ」 http://blog.nexyzbb.ne.jp/rciel/ (3/13 6:57追加)
「東北地方太平洋沖地震 | Hang in there TOHOKU」 http://www.geocities.jp/saveeq311/ (3/14 17:28追加)
「Picasa ウェブ アルバム - Google Japan」(避難者リスト) http://picasaweb.google.com/tohoku.anpi (3/15 2:29追加)
現地のアカウント
(殺到すると良くないので彼らに直接質問したりするのはなるべくやめてください。)
宮城県石巻市
@NakanoDCI 石巻出身の在京の方(3/13 06:19 追加)
@chariiin (3/15 2:08追加)
@navitec (3/15 2:08追加)
@hoya_expo (3/15 2:08追加)
@Micchy0517 (3/15 2:08追加)
@monopoly_dog (3/15 2:08追加)
@tkd1986 (3/15 2:08追加)
@hiyopi (3/15 2:08追加)
@kenmoto0716 (3/15 2:08追加)
@k_u_ko12041 (3/13 06:19 追加)不明?繋がらない
@GTT214 (3/16 0:20追加)
石巻?
@bumatel 佐々木輝さん (3/13 6:57追加)
宮城県石巻市蛇田
@hebita164 石森洋史さん? (3/13 06:19 追加)
@nickcool (3/13 06:19 追加)
宮城県石巻市千石町
@coupieyukki (3/13 06:19 追加)
宮城県東松島
@yougonnamakeme (3/13 06:19 追加)
宮城県大崎市
@m41tenrou (3/13 06:19 追加)
宮城県仙台青葉区
@kawamuraTomomi (3/13 06:19 追加)
@tomoleoht (3/13 06:19 追加)
仙台
@fu_122 (3/13 6:57追加)
@baumkuchentrio 東北放送ラジオのひろぽんさん(3/13 7:04追加)
@warunoriTAKU (3/15 2:08追加)
場所不明
@yuiabe (3/13 7:16追加)
放射線モニタ結果
高エネルギー加速器研究機構(KEK)の一宮さんが立ち上げられた、放射線モニターデータのまとめページ(情報を俯瞰できる)
「radmonitor311」 https://sites.google.com/site/radmonitor311/home
経済産業省のモニタ結果
「報道発表(METI/経済産業省)」 http://www.meti.go.jp/press/
関東のモニタ結果
「文部科学省ホームページ」 http://www.mext.go.jp/
単純ファイル集計の各言語ベンチマーク
いろんな言語でファイルを単純に集計するという処理のベンチマークをとってみました。
処理はタブ区切りのkey-valueの羅列のファイルからkeyごとにvalueを合計するというモノ。
但し家で環境もないのでだいたいcygwinの結果です。
Javaだけ素で動くからちょっと有利な結果になってるのかも。
Language | Version | Src[Byte] | Src[line] | 100000行[s] | 1000000行[s] | 10000000行[s] |
---|---|---|---|---|---|---|
gawk | 3.1.6(cygwin) | 108 | 9 | 0.229 | 1.634 | 15.552 |
Python | 2.5.2(cygwin) | 277 | 12 | 0.634 | 4.644 | 47.492 |
Java | 1.6.0_22-b04 | 1046 | 24 | 0.83 | 7.027 | 46.492 |
Perl | v5.10.0(cygwin) | 141 | 8 | 1.395 | 12.755 | 129.764 |
Ruby | 1.8.7(cygwin) | 243 | 14 | 1.928 | 19.656 | 192.643 |
<グラフとか追加したい>
単純処理はgawkが速いようです。(一般的にはあまり言語と思われてないのかな?)
件数がもうちょっと行くと、おそらくJavaがPythonに勝ちそうです。
※だいぶUpdateしてないのでバージョン古めかもしれません。ck使えなくなると嫌なので
ソースの量も比較したかったので、けっこう詰めて端折って書いています。## マネしないでね
以下、ソース。
#!/usr/bin/awk -f { total[$1]+=$2 } END{ for(key in total){ print key"\t"total[key] } }
#!/usr/bin/perl while(<>){ @rec = split(); $table{$rec[0]} += $rec[1]; } for $key(keys(%table)){ print "$key\t$table{$key}\n"; }
#!/usr/bin/env python import sys total={} for line in open(sys.argv[1], 'r'): items=line[:-1].split('\t') if items[0] in total: total[items[0]]+=int(items[1]) else: total[items[0]]=int(items[1]) for key in total: print key+"\t"+str(total[key])
Ruby1.8
#!/usr/bin/ruby total={} while a=gets a.chomp! b=a.split("\t") if total[b[0]]==nil total[b[0]]=b[1].to_i else total[b[0]]+=b[1].to_i end end for key in total.keys print key+"\t"+total[key].to_s+"\n" end
package sample; import java.io.BufferedReader; import java.io.File; import java.util.HashMap; public class SimpleSum { public static void main(String[] args) { try { BufferedReader reader = new BufferedReader(new java.io.FileReader(new File(args[0]))); java.util.Map<String, Integer> map = new HashMap<String, Integer>(); String line; while ((line = reader.readLine()) != null) { String[] record = line.split("\t"); int val = Integer.parseInt(record[1]); map.put(record[0], map.containsKey(record[0])?map.get(record[0])+val:val); } for (String key : map.keySet()) { System.out.print(key + "\t" + map.get(key) + "\n"); } } catch (Exception e) { e.printStackTrace(); } } }
# 今見ると直せるところいっぱいあるな。。今度直して計りなおしたい。正規表現系とかも。
タイトル・URLコピー系ブックマークレット
「タイトル」 URL(短縮しない)表示ブックマークレット
- 「タイトル」 URL(短縮しない) をpromptで表示します。
javascript:var x=prompt('Copy this!','「' document.title '」 ' location.href);
「タイトル」 URL(bit.ly短縮)表示ブックマークレット
直接webのtwitterに投稿するブックマークレット。これがないとたぶんできなかった。
2010-03-07 - notes plastiques
僕は直接投稿じゃなくてコピーしたいのでちょっと改変してみました。
利用にはbitlyアカウントが必要ですので「http://bit.ly」でアカウントを作成してください。当然ながらtwitterアカウントも必要です。
そしたら
でbitlyのAPIkeyを取得してくだしあ。
注意!このブックマークレットの"http://bit.ly/javascript-api.js?version=latest&login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07"のlogin=〜とapiKey=〜の部分は先程取得しましたbitlyのapikeyに書き換えてください!
javascript:var%20JSLoader=function(options){var%20options=options||{};this.pointer=0;this.finish=options.finish||function(){};this.append=options.append||null;this.queue={length:0,list:[],push:function(arg){this.list.push(arg);this.length++;}};return%20this;};JSLoader.prototype={next:function(){var%20self=this;var%20loader=new%20JSLoader({append:self.append,finish:function(){self._next();}});var%20args=[];for(var%20i=0,l=arguments.length;i<l;i++){loader.assign(arguments[i]);}self.assign(function(){loader.run();});return%20this;},_next:function(){var%20func=this.queue.list[this.pointer++];if(func){func();}},assign:function(arg){var%20self=this;switch(typeof%20arg){case'string':this.queue.push(function(){self.load(arg,{append:self.append,onload:function(){self.report();}});});break;case'function':this.queue.push(function(){arg();self.report();});break;}},report:function(){this.queue.length--;if(this.queue.length==0){this.finish();}},start:function(){this._next();},run:function(){for(var%20i=0,l=this.queue.length;i<l;i++){this.queue.list[i]();}},load:function(src,options){var%20options=options||{};var%20element=options.append||document.body||document.documentElement;var%20script=document.createElement('script');script.src=src;script.type=options.type||'text/javascript';script.onload=options.onload||function(){};if(options.charset)script.charset=options.charset;if(document.all){script.onreadystatechange=function(){switch(script.readyState){case'complete':case'loaded':script.onload();break;}};}element.appendChild(script);}};function%20responder(data){var%20s='';var%20first_result;for(var%20r%20in%20data.results){first_result=data.results[r];break;}var%20x=prompt('Copy%20this!','%E3%80%8C'+document.title+'%E3%80%8D%20'+first_result["shortUrl"].toString());}new%20JSLoader().next('http://bit.ly/javascript-api.js?version=latest&login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07').next(function(){BitlyClient.shorten(location.href,"responder");}).start();
第7回 データマイニング+WEB 勉強会@東京 資料まとめ
第7回 データマイニング+WEB 勉強会@東京 (Tokyo.Webmining #7) −機械学習・解析・セマンティックウェブ祭り− http://atnd.org/events/8164
ハッシュタグ: #TokyoWebmining http://search.twitter.com/search?q=%23TokyoWebmining
togetter: 第7回データマイニング+WEB 勉強会@東京 ( #TokyoWebmining #7 ) -機械学習・解析・セマンティックウェブ祭り- - Togetterまとめ
かなり面白かった。
部外者ですが資料まとめてみました。
↓正式なまとめはコチラ
第7回 データマイニング+WEB 勉強会@東京 ( #TokyoWebmining #7) −機械学習・解析・セマンティックウェブ祭り−を開催しました - hamadakoichi blog
O1.“Openinig Talk” (10分)
O2.“参加者全員自己紹介” (30分)
- 「はじめてでもわかる Random Forest −集団学習による分類・予測 −」(発表20分 + 議論20分)
- 講師 : @hamadakoichi
- 資料 : http://slidesha.re/bemrnS
- 「バスケット分析入門 −技術編」(発表15分 + 議論15分)
- 講師 : @karubi
- 資料 : http://slidesha.re/c44b3Z
- 「ニューラルネットで画像分類」(発表10分 + 議論 10分)
- 「GAを用いた最適化の応用例:シミュレータ上のロボットの運動学習と体構造の進化」 (発表10分 + 議論10分)
- 講師 : @nakamuu_m
- 資料 : http://slidesha.re/9hJ4aN
- 「はじめてでもわかるベイズ分類器 −基礎からMahout実装まで−」 (発表 10分 + 議論 10分)
- 講師 : @yanaoki
- 資料 : http://slidesha.re/cF1sgR
- 「自炊漫画の濃度」(発表10分 + 議論10分)
- 講師 : @ajiyoshi
- 資料 : http://slidesha.re/bGwSxV
- 「初めてでも分かるヘッジファンド入門」(発表 20分 + 議論 20分)
- 講師 : @yokkuns
- 資料 : http://slidesha.re/9a8duE
- 「ソーシャルアプリでの Amazon Elastic MapReduce 活用事例」(発表15分+議論15分)
- 講師: @buhii
- 資料 : http://slidesha.re/dBfEw2
- @doryokujin: ソーシャルアプリのAmazonS2、S3での運用については、CAの名村さんの資料が参考になるのでは。 http://bit.ly/boVl4A (expand) #TokyoWebmining
- 「明日から始めるログ解析 – Hadoop とMongoDBを活用したソーシャルアプリ解析-」(発表20分 + 議論20分)
- 講師: @doryokujin
- 資料 : http://slidesha.re/9oj0cT
twitterアプリを開発中
とりあえずJavaで。twitter4Jを使ってみてる。
Twitter4J - A Java library for the Twitter API
まず、コード例がほとんどベーシック認証くさいのでOAuthから攻める。
OAuthがかなりめんどくさいが、とりあえず投稿できるようになった。
だいたいここ(Twitter4J - コード例)のOAuthの例にある通りだが、
・最初はまずアプリをtwitterに登録して、
・consumerKey, consumerSecretが貰えるので、
・そいつをexampleにあるOAuthUpdate.javaに渡して実行して、
・出てくるURLにアクセスすると
・PINコードが出てくるので、
・そいつを打ち込むとOK
PINコードを使いまわすときはこんな感じでやるのが乙らしい(ヘルプ通りだとdeprecated になっちゃってるので)。
Twitter twitter = new TwitterFactory().getOAuthAuthorizedInstance(consumerKey, consumerSecret, new AccessToken(token, tokenSecret)); Status status = twitter.updateStatus("JavaからのOAuthテスト[thanx @tocci3]"); System.out.println("Successfully updated the status to [" + status.getText() + "].");
token, tokenSecretはOAuthUpdate.javaを実行すればだいたいわかるはず。
ここが参考になったけどAccessTokenHelperはよくわからず。
http://groups.google.com/group/twitter4j/browse_thread/thread/8128cc95d6861aa9
あとはこいつを使いまわすのみ。
■
[python][ad-es]ad-esにpython入れてみました
倒産しても好きなものは好きだっ
ということでad-esにpython入れてみました。
Python Windows CE port download | SourceForge.net
Pythonのページからたどり着けました。
わかりにくいですが Download Now! ではなく View all files から PythonCE-25-20061219.PPC2003_ARM.CAB ちゅうので入りました。
(ad-es operaだと白くなったりするのでリロードしたりして。)
ad-esでかりかりコードが書けたらいいなあ。
あとwilcomさん、僕が望んでるのはWS011SHのようなキーを押すタイプの機種です。
このまま変な機種出さずにそのままワンセグつけたりバージョンアップしてくれてたらもっと売れたと思いますよ。
つかシャープの問題なのかな。
あと画面はもうちと広い方がいいかな。
そういうの、他の会社でもいいから出してほしいw
goでぐるぐるまわしてみた
forで10億回まわすだけみたいのをC言語と比較してみた。
実行は5回。(Ubuntu Linux 9.04 2.6.28-16-generic i686)
なんと平均でgoの方が2.6倍くらい速かった。
平均 | min | max | ||
---|---|---|---|---|
go | real | 1.711 | 1.097 | 2.228 |
user | 1.312 | 1.084 | 1.524 | |
sys | 0.002 | 0.000 | 0.012 | |
C | real | 4.442 | 3.776 | 4.703 |
user | 2.828 | 2.612 | 3.120 | |
sys | 0.001 | 0.000 | 0.004 |
(単位:秒)
まあ、C(gcc)は最適化したら一瞬で終わったのであれだが、
とりあえずgoはかなり速いらしい。
コンパイルは8g,8lで行った。
あとgoは実行ファイルがかなり大きめになった。
$ ls -l c/for3c gotest/for1go -rwxr-xr-x 1 **** **** 9112 Nov 18 00:52 c/for3c -rwxr-xr-x 1 **** **** 68432 Nov 18 00:44 gotest/for1go
でfileしてみたが既にstripされてるらしい。
$ file gotest/for1go gotest/for1go: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped