2009年2月アーカイブ
勉強会大集合のLTで銅鑼を奏でてくれたmacchaさんが当日の写真をflickrにアップしてくれました。
ということで写真は↓から見れます。
20090221-OSC2009Tokyo/Spring
また、id:i_ogiさんに撮影いただいていた動画もニコニコ動画にアップされました。
macchaさん、i_ogiさん、どうもありがとうございます。
■Thanx!
真夜中の色彩 OSC2009 Tokyo/Springに行ってきたよ
おぎろぐはてな OSC 2009 Tokyo/Springでの「勉強会大集合 -スピーカーへのススメ」のビデオをアップしました
RBCのRuby-processing勉強会でお世話になったid:taigouさんからMLとはてダでOSC2009 Tokyo/Springのコメントをいただいた。
[osc2009TokyoSpring]勉強会ってすばらしーなと思う
九州でもやってほしい、というかGLT@fukuokaやってみたいですね。
おう、やりますよ!
やりましょう!
距離的になかなか難しい面もあるので、まずはustream.tvを使ったPublic Viewingとかできたらいいかなぁと思ってます。
東京都内でGenesis Lightning Talksを開催、AIPカフェとかにみんなで集まって見てもらうとか。天神ならWiFi化計画が動いているはずなので、iPhoneでもUstream見れますね。
逆にRBC勉強会@Fukuokaを東京でPublic Viewingしたい(ってか、個人的にはこっちを先に実現させてもらいたいしたいなぁ。そう簡単に福岡まで飛んで行けないのは結構もどかしいのですよ。。。
と言うわけで、今夜のGenesis Lightning Talksもustream.tvにて中継予定です。
URLはコチラ(予定)
http://www.ustream.tv/channel/genesislightningtalks
(注:「撮影しないで欲しい」という発表者の方もいますので、必ずしもすべてのトークが中継されるわけじゃぁないです。ご了承下さい)
勉強会大集合のセッションの後に行われたLightning Talk大会で、Tech Seminar Timemapについて語って & デモをしてきました。
懇親会であまのりょーさんに「LTは両方ともリハーサルしてたんですか?」と突っ込まれましたが、こっちはぶっつけ本番だったのは内緒ですw
OSCのサイトでスケジュールを確認していた時は「パネルディスカッションと同じ会場」ってことしか確認していなかったので、
・まさか会場までが2コマぶち抜きで
・勉強会大集合の時よりも人数がすごーくすごーく増えてて
・しかも後ろの方とか遠過ぎて良く見えないし
・最後列とか立ち見だし
ってのでスゴく焦りました(w
いやー、こっちを全力でリハーサルしておくべきだった(違)
OSCでは簡単な紹介とデモだけでしたが、2/25(水)に開催するGenesis Lightning Talks Vol.13ではちょっと踏み込んでカレンダーAPIとTimelineの連携など、具体的にどういう実装で動いているかという技術的な話をしようと思ってます。
話す人、聞く人とも人数に余裕がありますので、こちらからwikiページを編集して参加意思を表明いただくかコメント欄やtwitter、skypeなどで僕宛にご連絡下さい〜。
ついさっき帰ってきました。
いやー、いい一日でした。
オープンソースコミュニティはやっぱり熱いなぁ。
でも暑苦しくない。不快指数ゼロ。
それがとてもいい。
ホントにどうもありがとうございました。
続きは明日書きます。おやすみなさい。
去年も豪快に医療費を使ったので、来月16日までに税務署に申告を出さないといけない。
2007年分は紙で提出したんだけど、今年はe-taxとかいうのを使ってみようと思って市役所で住民基本台帳カードってのを発行してもらいました。
カードの発行手数料が500円。
カードのIC部分に組み込まれている電子証明書の発行手数料が500円。
計1,000円の出費。
ちなみに船橋市は市役所1階の「戸籍住民課」ってところで15分くらいで即時発行してくれました。
今週土曜日、2月21日に日本電子専門学校で開催されるオープンソースカンファレンス2009 Tokyo/Springでしゃべります。
JR総武線 大久保駅南口から徒歩2分。アクセスマップはこちら。
東京近郊にお住まいの方で、お時間がある方は是非お越し下さい。
僕が出るセッションは以下の2つです。
・13:00〜 B2階A
【2コマ連続】勉強会大集合 -スピーカーへのススメ-
Genesis Lightning Talksのメンバーとして、パネルディスカッションに参加します
ustream.tvにてネット中継されるそうです
・15:30〜 B2階A
ライトニングトーク&大抽選会&閉会式
ライトニングトークでIT勉強家カレンダー&Tech Seminar Timemapの宣伝をします。
いずれも発表にIdeaPadを使ってやろうかと企んでいますw
ぶっつけ本番で借り物の評価機使っていいのか?という気がしなくもないですが。。w
がんばりますので、生温かい目で見守って下さい。
よろしくお願いいたします。
Windowsに触ること自体がかなーり久しぶりなので、ずいぶん色々と忘れているなぁというのが正直な感想。
えっと、モニター機を返却する前にお借りした時の状態に戻さないといけないので、導入したソフトとか変更した設定をメモしておきました。
そういえば箱の中に「リカバリ用なんたら」が同梱されてたから、それを使えば一発で戻るのかな?
まぁいいや。
インストールしたソフトウェア
(1) e-mobileのドライバ
データ通信カードにWindows用のドライバが入っているので、IdeaPadのスロットに挿して.exeをダブルクリックするだけ
IdeaPadはExpressCardスロットがあるので、D03-HWを挿すだけであっさり接続できました
(2) Firefox
ブラウザの設定で「規定のWEBブラウザに設定」してしまいました。IEは使いたくないので。。
IEで上記リンクを開いて、「ダウンロード」をクリックして後はインストーラの言うがまま
2008年12月に参加させてもらったLenovo ideapad タッチ&トライブロガーイベントで触ったLenovoのIdeaPad
、モニター機が手元に届きました。
手元に到着したのは2/14ですけど、週明けの月曜日からまともに試用し始めました。
レビューの機会をご提供いただいたLenovoさん、アジャイルメディアネットワークスさん、どうもありがとうございます。
new feature ready to launchの続き。
細々とした修正点を加えたものを、Tech Seminar Timemapとしてリリースしました。
・勉強会ページのURLをリンクにしました
そんなの、出来ててアタリマエだろ!!w
・Map Viewを追加
Google Mapsで日本地図から勉強会を検索できます
近隣の勉強会を探すのにご利用下さい
・ジオターゲティング ウィジェットを付けてみた
いちいちGoogle Analyticsで参照元のエリアを確認するの面倒なので
なんか見た目もそこそこcoolだし、タダだったし
・レイアウトとかデザインとか、やっつけ仕事にも程があるだろ
YUI(Yahoo User Interface Library)のCSSライブラリを使ってコードを抜本的に改良しました
これもタダだし
今後も色々と改善していきます
・レスポンス遅いよ
外部API通信の結果をサーバー上に一定期間キャッシュすることで、劇的に高速化しました
その代償として本家IT勉強会カレンダーの更新情報が即座には反映されません
ま、いいよね。別に
・URLなげーよ
http://tinyurl.com/ittimemap でアクセスできるようにしました
これもタダだし
で、さっき http://ittimemap.com ってのも取ってみました。
冗談で「空いてるかな?」って調べたら取れちゃった。えへ。
でも流石にこればかしはタダとはいかなかったっす。。
(NSの反映には時間がかかるでしょう)
以上。
hope you enjoy!
次回のGenesis Lightning Talksの日時・場所が決まりました。
・日時
2/25 (水) 19:30〜
・場所
芝浦港南区民センター
詳細はWikiページを更新しますので、こちらをご確認下さい。
http://wiki.somethingnew2.com/lt/index.php?Events%2F2009%2F02
今回のお題は「春なので愛をこめて〜をつくってきた」です。
なので発表される方はなんでもいいので、何かを創って5分のプレゼンでそれを披露して下さい。もちろん、愛も重要ですw
# うわー、めちゃめちゃハードル高いなぁ。。w
前回のLT Vol.12はあっという間に満席になってしまったので、今回は話す人・聞く人とも2回に分けて行う予定です。
話したい人、聞きたい人とも募集開始は
・第1回の募集は2月14日(土)の13:00-を予定しています
・第2回の募集は2月21日(土)の13:00-を予定しています
となっておりますので、wikiページをチェックしておいて頂ければと思います。
それではみなさま、よろしくお願い致します。
http://garnet.somethingnew2.com/は、Tech Seminar Timemapになります。
localhostでは一応動いている。
外部API叩きまくりでレスポンスがアホみたいに遅いので、
・キャッシュ化
・無駄な処理の最適化
をしてからhttp://garnet.somethingnew2.com/に反映させる予定。
result = Net::HTTP.Proxy(HTTP_PROXY_HOST, HTTP_PROXY_PORT).get('www.google.com', '/calendar/feeds/' + calendar_id + '/public/full/?' + query_parameter) doc = REXML::Document.new(result) doc.elements.each('feed/entry') do |node| titleTag = node.elements['title'].text.scan(/^\[.+\]/)[0] latLngResult = Net::HTTP.Proxy(HTTP_PROXY_HOST, HTTP_PROXY_PORT).get('maps.google.com', '/maps/geo?key=ABQIAAAAoNeNuyCEgoxGqOs0M2LDVRSEjokCM-_tycVHGOP0c6-HsV-cXxSOYcZzGZclhsHo1FzsTnLFVQuCOg&sensor=false&output=csv&q=' + node.elements['gd:where'].attributes['valueString']) logger.debug(node.elements['gd:where'].attributes['valueString'] + "\t" + latLngResult) .... end
結論から言うとgeocoding-apiじゃ無理w
身も蓋もないけど、無理。
何も分かって無いド素人にいきなり
「ねぇねぇ。同じことを繰り返しやるのって、非効率だと思わない?」
と言っても、その非効率性を認識させるのは難しい。特にその相手がバカで知性が低くて記憶力の悪いトサカ頭なくせに体力だけは自信あるからパワーでなんとか無理やり押し通しちゃうような体育会系のヤツだと。
なので、先に
「Do It Yourself!」
と言い放って、1から10まで全部やらせる。
人によって違うと思うけど、できる奴でも最低30回くらい「全部自分でやってみろ」と。
できない奴はそれこそ100回でも200回でも、もう嫌だ、泣きそうですという直前まで「助けてやらん。全部自分でやれよ」。
とにかくドSに徹する。
「やれ」と言ったら最後、全力で放置する。
そろそろいいかなぁ、というころに今までを全否定するかのようにしれーっと
「でね、こうすれば楽できるよ」
と言ってDRYする方法(例えばプログラムで自動化するとか、エクセルならマクロとか)を教えてあげると、どんなにバカで知性が低くてIQが足りない奴でも、次から教えることはある程度DRYを最初から意識してくれる。
count = 100; # depends on target.
count.times{ command("Do It Yourself"); }
command("Do not Repeat-Yourself");
は通る。
がしかし、いきなり
command("Do not Repeat-Yourself");
はやっぱり難しい。
まぁ、もっとも難しいのは相手のcountを見抜く能力なんだろうけど。
・インターネットにさらっと流してみると、ちょっとしたことでも案外簡単に前進する
・あー、これぞまさに五十六メソッド。褒めるのゼロ円。褒められると嬉しいからがんばれる。
みんな、どんどん人を褒めよう。
3人ともお会いした事はないんですけどね。
僕は東京、お三方とも関西なようなので。。
いやー、ネットの力はすごいなぁ。。
ついカッとなって独り焼肉の素晴らしさを熱く語ってしまったけど、独り焼肉は楽しくないよ。
ご飯は大勢で食べた方が楽しいし、美味しいです。
ついでに焼肉以外の外食で「独り」でやることの敷居が高い & ネタ的にどうよ?的なものを列挙して、勝手に格付けしてみました。
ランク、コメントはあくまで独断と偏見。
・独り回転寿司
→ 難易度:★★★☆☆
寂しさ:★★☆☆☆
寿司が回っている様を眺めるだけで案外楽しい。
ただし土日に行くと寂しさ★★★★☆
http://garnet.somethingnew2.com/のタイムラインについて。9 hoursあたりの続き。
データを取ってくる部分ですが、これまたご指摘の通り、遅いです。
一応認識してはいるのでMapsとの連携(geocodingをどうするべ?)の問題と一緒にやっつけることにしました。
開発環境でログを見ると
Processing IndexController#index (for 127.0.0.1 at 2009-02-02 16:43:52) [GET]
Session ID: BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo
SGFzaHsABjoKQHVzZWR7AA==--c5984833427eeb83568c3d4f74de15cd21f92d58
Parameters: {"action"=>"index", "controller"=>"index"}
Rendering index/index
Completed in 0.00758 (131 reqs/sec) | Rendering: 0.00510 (67%) | DB: 0.00000 (0%) | 200 OK [http://localhost/]
Processing IndexController#data (for 127.0.0.1 at 2009-02-02 16:44:04) [GET]
Session ID: BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo
SGFzaHsABjoKQHVzZWR7AA==--c5984833427eeb83568c3d4f74de15cd21f92d58
Parameters: {"action"=>"data", "controller"=>"index"}
www.google.com/calendar/feeds/fvijvohm91uifvd9hratehf65k@group.calendar.google.com/public/full/?max-results=200&futureevents=true&orderby=starttime&singleevents=true&sortorder=ascending&ctz=Asia/Tokyo
Completed in 7.07463 (0 reqs/sec) | Rendering: 0.00028 (0%) | DB: 0.00000 (0%) | 200 OK [http://localhost/index/data]
データを返す方のアクションはHTMLページ表示だけのアクションに比べて1,000倍近くとかの単位で遅いので(w)、方向性としてはrailsのキャッシュ機能を使ってgeocodeingした緯度経度データもろともキャッシュをWEBサーバーに保持させます。
どうせIT勉強会カレンダーの更新頻度はさほど高くないだろうから、TTLを長めに持たせればいいだろう。
JavaScriptでブラウザに表示する時間(ブラウザに「Working...」と表示されている時間)も縮める方法を考えなきゃいけないけど、exhibitの処理に完全に依存しちゃっているのでそっちは後回し。