moved my blog

I moved my blog to blog.mazgi.net from self hosted WordPress site.
WordPress is good product, but I was tired of updating wordpress and plugins.

ブログ移行しました。
WordPressの運用に疲れたので。

旧サイトからは↓みたいにリダイレクトしておいた。

location = / {
  rewrite ^(.*)$ http://blog.mazgi.net$1 permanent;
}
location ~* ^/\d+/\d+/.*/$ {
  rewrite ^/(\d+)/(\d+)/(.*)/$ http://blog.mazgi.net/entry/$3 permanent;
  rewrite_log on;
}

submitted #Keymotion App as a control Keynote by #LeapMotion to #Airspace

Previously, I were introduced to the program that can be control Keynote by LeapMotion(blog in Japanese), but was submitted to the Airspace in the App!

What's App?

By the swipe on the LeapMotion, you can control the Keynote.

#LeapMotion Keynote slideshow using Leap Motion from Hidenori MATSUKI on Vimeo.

Story

Last year, I received a Leap Motion Controller that was pre-order! I had made the program for oneself, but I decided to publish because there was a demand on Twitter.

@vassko Thank you very much for giving me this opportunity!

Usage & System Requirements

System Requirements

It has been confirmed in the following two environments: It doesn't correspond to the PowerPoint and Windows.

  • MacOSX 10.9+Keynote 6.2
  • MacOSX 10.8+Keynote 5.3

Usage

Start & Stop

Please make sure "Allow Background Apps" is On in your "Leap Motion Control Panel".

f:id:mazgi:20141210072955p:plain

Item called "KM" in the menu bar will appear when you start the app.

f:id:mazgi:20141210073018p:plain

f:id:mazgi:20141210073041p:plain

Click the "Quit Keymotion" in the "KM" when you end.

f:id:mazgi:20141210073050p:plain

Control slideshow

You can control the Keynote slideshow.

First, Open a single Keynote slideshow. Next, Operations are as follows:

Swipe Up
Start slideshow
Swipe to the Right
Show next slide
Swipe to the Left
Show previous slide
Swipe Down
Stop slideshow

I want to be able to customise the combination of the operation and thresholds of gesture in the future.

As long as us to cooperate in the beta test, please contact the blog comment or Twitter.

#さくらの夕べ とマサカリと #Gentoo LXCと #Fluentd

昨日2/19に新宿で行われた第14回さくらの夕べに参加させていただきました。 LTをさせていただいたので資料を置いておきます。

「さすがは"さくらの夕べ"参加者の方々!」という感じなんですが、さくらインターネット様のサービスと組み合わせてFluentdを実運用されている方も多く、懇親会ではビール片手に色々とお話を聴かせていただいてとても参考になりました。 そんな懇親の場で話題にのぼることが多かったFluetndプラグインですが、取り急ぎ今回使用させていただいたものを羅列しておきます。時間に余裕があれば具体的な手順とか設定例とか盛り込みたかったです。

Fluentd plugins

そしてとても参考になるFluentdの公式ガイドはこちらです: "Splunkのフリーな代替としてFluentdを使う" いやー、偶然たまたまLT直前に日本語版がアップされてよかったですっ

なお、あわせて読みたいさくらのナレッジはこちらです: "柔軟なログ収集を可能にする「fluentd」入門"

あ、ちなみにGentoo Linuxのホストはkernel 3.10.25-aufs + LXCで構成してます!(これはあまり…ほとんど聞かれませんでしたけどっ)

メインセッション

メインセッションではさくらインターネットでネットワークをご担当されてる方がDoSアタック対応のお話をしてくださいました。 レイヤー的にあまり知らない部分の話ですごく興味深かったです。単語をググりながら正座して聴いてました! sFlowとかNetFlowとか普段触る機会がないのでちょっと触ってみたいですね。 セッションではなんと今まさに開発中だというWebコンソールを使ったデモまで見せていただきました。さくらの夕べin石狩のときにも何やら開発中のものをみせていただいた記憶がありますが、本当にオープンでありがたいです! 結構裏話的なトークもあり、テーマからは意外なほど笑いが起こるセッションでした。 えっと、「さくらインターネットのサービスはDoS耐性相当高いですよ」というお話でした!

なお、あわせて読みたいさくらのナレッジはこちらです: "ふたひねりきかせたOpenFlowの利用事例" OpenFlowってもっと違うイメージを持っていました。

で、じつはメインセッションでは弊社からも事業やAnsibleによるサーバー構築の話をさせていただきました! 私自身がそうだったのですが、やはりアドテクは通常目に見えない部分が多く、イメージを浮かべづらい部分があるかもしれません。 今回のような機会に興味を持っていただけましたら幸いです。ミドルウェアやアプリ層の紹介もさせていただきたいですね!

なお、アドテクのRTB(Real-Time Bidding)といわれるシステムでは、DSP(Demand-Side Platform)は100msという短い時間の中で、リクエストを受け・諸々の判定や処理を完了し・レスポンスを返さなければならないのですが、そのような事業とシステムがなぜさくらインターネットさまのサービス上で動くことになったのか、素晴らしく分かりやすくまとまっている記事がありまして、

そんなわけで・・・ あわせて読みたいさくらのナレッジは(ry: "純国産の最先端アドテクが要求する「100ミリ秒」の性能要件とはなにか" いや、ほんと、素晴らしい記事を書いていただいたのでご一読いただけましたら!ぜひ!

あと、Togetterもまとめてます!

記念にTシャツいただきました!ありがとうございます!

f:id:mazgi:20140219213947j:plain

最後に、企画・運営してくださったさくらインターネットの皆さま、登壇者の皆さま、参加者の皆さま、本当にありがとうございました!

rbenvがすばらしすぎるので #Scala, #sbt, #PlayFramework 版をつくってみた。

最近Scala+sbt+Play Frameworkという環境で仕事をしているのですが、社内外の各種プロジェクトによってScalaもsbtもPlay Frameworkも必要なバージョンが違っていて、Ruby on RailsでもPlayでもその辺は変わらないんだなーと生暖かい気持ちになったりします。 Rubyにはrbenvがあって本当に素晴らしいですね! 「ないなら作ればいいじゃない!」ということでrbenvを写経しながらScalasbtPlay Frameworkのバージョンを切り替えるツールを作ってみました。

各ツールへのリンク

scalaenv
Scalaの各種バージョンを切り替えます。
sbtenv
sbtの各種バージョンを切り替え(ry
playenv
Play Frameworkの(ry
Read more

「第2回さくら #石狩DC 見学ツアー~さくらの夕べin石狩~」に参加してきた(1日目)

さくらインターネット様主催はてな様協力による「第2回さくら石狩DC見学ツアー~さくらの夕べin石狩~」にありがたくも当選したので、一昨日〜昨日(11/23〜11/24)にかけて行ってきました! ちなみに私は第2回の募集を@tagomorisさんのこのツイートで知りました。

うわさによると前回の150名を大きく超える応募があったようですし募集開始日に気づけたことはとても幸運でした。ありがとうございます。

iPhoneで撮った写真をflickrにCC BY-NCであげています。枚数が少ないのですが、blogや石狩DCの紹介に使っていただけたらうれしいです。

Togetterに1日目2日目のツイートをまとめてみました。DC内見学中はほとんどの方が紙とペンでメモを取っておられたのでツイートが減っていますが、当日の雰囲気が感じられるのではないかと思います。

では早速、拙いながらも石狩データセンターのすばらしさを書かせていただきたいと思います。

まずは石狩DC丼からご覧ください。

f:id:mazgi:20131123133828j:plain

石狩DCの会議室に案内していただくと、まずこの丼が迎えてくれました。 イクラも蟹もホタテも雲丹もすべてが美味しくて…!それから付け合せの山わさびが日本酒にとても良く合う味でした。 お昼でしたが「熱燗飲みたいですね」と隣の方に話しかけてしまったほどです。 ただ、最初山わさびをそれと知らず多量に口に入れてしまいとても危険な状態となりました。 データセンターではたとえ些細なことに思えても入念に確認する必要があるという示唆なのだと思います。

ちなみに新千歳空港ではなんとさくらインターネット社長の田中さんが旗を振って迎えてくださいました!

f:id:mazgi:20131123111842j:plain

美味しい石狩DC丼をいただいたあとは、データセンターの見学が始まるまでの短い休憩時間に#gentooinstallbattleを進めます。

f:id:mazgi:20131123140453j:plain

今回の#gentooinstallbattleさくらのクラウドで行います。 ゾーンはもちろん石狩です。

f:id:mazgi:20141210071146p:plain

サーバーインスタンスはデータセンターまでバスで移動する最中に作ったのですが、iPhoneからも操作できるさくらのクラウドはやはり素晴らしいですね!

起動用のISOイメージもバスの中でさくらのVPS東京リージョンに置いているGentoo Linux上からさくらのクラウドに転送しました。

f:id:mazgi:20131123125634j:plain

私が飛行機とバスを乗り継いで来た経路を、ISOイメージがパケットに分割され光ファイバーに乗って今まさに移動し、あっという間にバスを抜き去って、(この時点では)まだ見ぬ石狩DC内のサーバーに記録される様子を想像するとなんともアツいものがあります。 そう、まさに「最新鋭データセンターに萌える」という今回の主旨通りの展開です!

石狩DC見学(1回目)

バス内で#gentooinstallbattleをしたり順番に自己紹介をしている間に石狩データセンターに到着しました。

まずデータセンターの外観ですが、すでに知られているとおり特徴的な屋根の大きな建物です。 今回、データセンター内は会議室以外の部分が撮影禁止でしたので、代わりにスタッフの方が描かれたと思われるイラストを掲載します。

f:id:mazgi:20131124113213j:plain

すごくお上手ですね! なお、同ツアー参加者の@bash0C7さんによる石狩DC画像はこちらです。

1日目は主に開所時に建設された2棟のうち1棟内の各施設を見学させていただきました。 案内してくださったのはなんと田中さんご本人! どんな質問にも回答してくださり「本当に現場をよくご存知なんだな」と感じました。 私も「この機会に!」と技術的なことから運用や組織に関することまで色々と質問させていただきました!

施設内は電源周りや空調周りの設備など、規模がとても大きくて迫力がありました!広大な土地が確保できる"北海道ならでは"という設計になっているようです。

冷却のための外気を取り込む際の工夫や徹底した冗長化, 災害を検知する仕組みやミスを防ぐ仕組み等品質に関する取り組みが素晴らしく、「え、そんなことまで…?」と驚くことも多かったです。 かなりの頻度で改善されているように感じたのですが、田中さんが「社員に評判わるいから」という改善理由を何度か挙げておられたことが印象に残っています。数値だけを見て改善されてるわけじゃないんですね!

ノートに書きつけた石狩DCの素晴らしさを余すところなく記載したいのはやまやまなのですが、どこまでが公開可能な情報か判断がつかないため、代わりに石狩DCの素晴らしく多重化された施設とシステムを想像する助けになりそうな、@ysakakiさんによる2枚重ねのパンケーキ画像をご紹介します。

オペレーションルームでは、PUEや各種サーバー関連のデータがとてもグラフィカルに表示されていて、一言でいうととても厨2心をくすぐられました。 モニターをもうちょっとアレしたらデータセンターのオペレーションルームというより宇宙戦艦のソレになりますね、きっと。あとは照明とか壁の色とか。 FacebookのデータセンターのPUEが1.08くらい、2010年09月に経済産業省が25箇所のデータセンターで測定した際のPUE平均値が1.9(PDF)だそうですが、見学中にかなり良い数値が表示され、見学者から歓声が湧く場面もありました。

さくらの夕べ in 石狩

データセンター見学のあとは会議室に戻って「さくらの夕べ in 石狩」が開催されました。

石狩DCに常駐しておられる社員の方がプレゼンをしてくださったのですが、結構裏話的な内容が多くデータセンターカステラは手詰めされたことが発覚したりしました。

カステラ以上に心に残っているのはリブートの実演です。 サーバーの再起動をお願いした場合、かなり入念なチェック体制で作業を実施してくださるということが実演を通してとてもよく伝わりました。 感謝するとともにイレギュラーなリブートの必要が無いシステム構築をより一層心がけたいと思います。

@yojiroさんがツイートされているように、まさに"真心こもった作業"だと感じました。 なお、通常はIPMIを使用して再起動できるため、手動リブートを行うケースは少ないとのことです。

プレゼンの内容はもっと盛りだくさんだったのですが、すべてを書き記すことはできないため、代わりにこちらも盛りだくさんな@muranetさんの刺身十点盛りツイートをご紹介します。

懇親会・2次会・3次会・4次会

データセンターを満喫したあとはバスで札幌市内のホテルに移動し懇親会となりました。

上記がチャペルのような空間に90%以上男性で構成された集団が収容されている様子です。ファイブ・ナインにならなくてよかったと思います。 なお、懇親会はポラリスの間で行われました。

f:id:mazgi:20131123180228j:plain

その後ホテルにチェックインし、ススキノの街へと繰り出しました。2次会のためです。 なお、こちらがススキノで撮影された衝撃的な画像です。

2次会のあとは3次会に行ったはずです。 3次会のあとには4次会が開催されたと聞いています。 HAND PUMPのビールというものを教えていただき初めて飲みましたが、弱い炭酸が柔らかくて美味しかったです。美味しかった記憶があります。 都内で飲めるお店を探そうと思いました。

2次会以降については記憶に頼るよりも画像で確認したほうが正確であると考えられるため、当日のタイムラインから参考になりそうなツイートを紹介させていただきます。

田中さんさくらインターネット広報の方、さくらインターネットの皆さま、はてなの皆さま、JTBの方、ありがとうございました! カニごちそうさまでした。

Went to Git Internals: Graphs, Hashed, and Compression at Yahoo! JAPAN #githubjp

I went to "Git Internals: Graphs, Hashed, and Compression" at Yahoo! JAPAN in Tokyo Midtown(Google Maps) on Friday, November 15, 2013. Thank you very much to @matthewmccull and @johndbritton for a meaningful and fun presentation!

昨日東京ミッドタウンのYahoo! JAPANさんで行われた「GitHub トレーニングチームから学ぶ Git の内部構造」に行ってきました! ※@matthewmccullさんと@johndbrittonさんに少しでも感謝の気持ちが伝わればいいな!という思いからところどころ英(単)語を交えつつ書いてみます。

会場は横に広くてscreenが3枚もあって、さらに全参加者分の机と電源を用意してくださっててWi-Fiも電波ゆんゆんでとても快適でした♪

内容はタイトル通り、GitHubというよりはGit自体の構造や考え方の紹介がほとんどで、「も、もっと宣伝とかしたほうが…!」と余計なお世話ながら心配してしまったほどです。 GitHub, Inc.のGit trainerである@matthewmccullさんがdemonstrationを交えつつのpresentationを行ってくださいました。 資料もdemoもとても楽しく、さらにsection毎に質問を受け付け、実際にterminalを操作しながら答えてくださるというなんとも手厚いsessionでした!

Impressions

主旨は「Gitは多くのbranchを作るためのツールなので、brachがどのようにfile systemにstoreされているか, どうやってbrachが作成されるのかを知ることで、小さなbranchをたくさん作り、短い間隔でdeployすることがどうして良いことなのかを理解しましょう」とのことだったと思います。ちょっと自信ないですけど。

GitHubが1日に何回もdeployを行っているのは有名な話ですが、数回どころではなく数百回行っておられるそうで、よく考えてみるとこれはとんでもないことですね!

そして「"programming"は(一部の)IT ManagerやCIOが勘違いしているように、ただ単にkeyboardをたたくことではなく、とても技術的なことなんだよ」との話とともにこのgif animationがscreenに映し出され、会場内の笑いを誘います。

f:id:mazgi:20141203073509g:plain

GitHubの方ってやっぱり実務家が多いんでしょうか、このSlideを思い出しました。

GitのHashについて「Centralized Revision Control System (Subversion, etc.)はsequentialなrevision number使うけど、GitはSHA-1 Hash使うよ」という説明のあと、"Gitのcommandsを使わずにcommit"するdemoがありました。 私も含めてほとんどの方が手元で試していたようで、demoというよりhands-onですね! そういえば今月まで同僚な@sue445が以前、社内勉強会で似たようなことしてたなーと思い出しつつ、screenを見ながら必死でterminalに向かっていました。 個人的に@sue445勉強会資料が分かりやすいので、あとで振り返りの参考にさせてもらおうと思っています。

そして手動commitのあとは「Gitは差分管理ではなくDirected Acyclic Graph採用してるんだよー」という説明に移ります。 commit, tree, blobの解説は実用Gitで読んだ記憶があるのですが、実際に説明を交えてdemoをしていただけると感覚として分かりやすいですね♪ https://twitter.com/yugui/status/244241024577327106 hashtagに乗って流れてきたこちらのtweetを読んで「なるほど」と思いました。脳内でオブジェクト操作に事前コンパイル…これからはやってみます!

git reflogの正体なんかも教えていただけて、Gitのsimpleさに改めて驚きました。 これは(最近翻訳をさぼっている)Fluentd Docsのworking copyですが、なるほど .git/logs/HEAD の内容から git reflog commandの出力結果を作れそうな気がしてきます。

[mazgi@Ardbeg] $ git reflog | head
7e65877 HEAD@{0}: merge eden/master: Fast-forward
d420bd4 HEAD@{1}: checkout: moving from spike/translate/ja/high-availability to master
84e9870 HEAD@{2}: checkout: moving from master to spike/translate/ja/high-availability
d420bd4 HEAD@{3}: merge eden/master: Fast-forward
814b275 HEAD@{4}: checkout: moving from feature/improve_outdated_task_for_i18n to master
f986707 HEAD@{5}: rebase -i (finish): returning to refs/heads/feature/improve_outdated_task_for_i18n
f986707 HEAD@{6}: rebase -i (squash): Improve outdated task to detect missing documents.
ee47b98 HEAD@{7}: checkout: moving from feature/improve_outdated_task_for_i18n to ee47b98
2971481 HEAD@{8}: rebase -i (finish): returning to refs/heads/feature/improve_outdated_task_for_i18n
2971481 HEAD@{9}: checkout: moving from feature/improve_outdated_task_for_i18n to 2971481ff43e593fb3f8cb71670a9f47974951e8
[mazgi@Ardbeg] $ tail -r -10 .git/logs/HEAD
d420bd4a90630e1e21bf54814778e56236092373 7e6587747c2541b7d97befcca9f30d4c22ff7616 MATSUKI.Hidenori <MATSUKI.Hidenori@gmail.com> 1384551369 +0900  merge eden/master: Fast-forward
84e98708d823b85bd0504d0afc37ae355b721257 d420bd4a90630e1e21bf54814778e56236092373 MATSUKI.Hidenori <MATSUKI.Hidenori@gmail.com> 1384551344 +0900  checkout: moving from spike/translate/ja/high-availability to master
d420bd4a90630e1e21bf54814778e56236092373 84e98708d823b85bd0504d0afc37ae355b721257 MATSUKI.Hidenori <MATSUKI.Hidenori@gmail.com> 1383166595 +0900  checkout: moving from master to spike/translate/ja/high-availability
814b27515376379d92325f461b4ab6555e7021b8 d420bd4a90630e1e21bf54814778e56236092373 MATSUKI.Hidenori <MATSUKI.Hidenori@gmail.com> 1383166526 +0900  merge eden/master: Fast-forward
f986707d4eb175bbd2e7043a17dc32b19f2f954a 814b27515376379d92325f461b4ab6555e7021b8 MATSUKI.Hidenori <MATSUKI.Hidenori@gmail.com> 1383166519 +0900  checkout: moving from feature/improve_outdated_task_for_i18n to master
f986707d4eb175bbd2e7043a17dc32b19f2f954a f986707d4eb175bbd2e7043a17dc32b19f2f954a MATSUKI.Hidenori <MATSUKI.Hidenori@gmail.com> 1381941389 +0900  rebase -i (finish): returning to refs/heads/feature/improve_outdated_task_for_i18n
ee47b9878d7e8619a22d70d3dc9cd7b293e0e0cd f986707d4eb175bbd2e7043a17dc32b19f2f954a MATSUKI.Hidenori <MATSUKI.Hidenori@gmail.com> 1381941373 +0900  rebase -i (squash): Improve outdated task to detect missing documents.
2971481ff43e593fb3f8cb71670a9f47974951e8 ee47b9878d7e8619a22d70d3dc9cd7b293e0e0cd MATSUKI.Hidenori <MATSUKI.Hidenori@gmail.com> 1381941373 +0900  checkout: moving from feature/improve_outdated_task_for_i18n to ee47b98
2971481ff43e593fb3f8cb71670a9f47974951e8 2971481ff43e593fb3f8cb71670a9f47974951e8 MATSUKI.Hidenori <MATSUKI.Hidenori@gmail.com> 1381941363 +0900  rebase -i (finish): returning to refs/heads/feature/improve_outdated_task_for_i18n
2971481ff43e593fb3f8cb71670a9f47974951e8 2971481ff43e593fb3f8cb71670a9f47974951e8 MATSUKI.Hidenori <MATSUKI.Hidenori@gmail.com> 1381941362 +0900  checkout: moving from feature/improve_outdated_task_for_i18n to 2971481ff43e593fb3f8cb71670a9f47974951e8

その他git fsckを初めてたたいたり、mergeのparentは理論上いくらでも(?)持てる話なんかを聞いて「へー」ボタンがあれば連打したかったです。 そして「GitHubでSHA-1 hashが衝突したことはないの?」という質問に@matthewmccullさんが、力強く「Yes!(衝突は1件も無い)」と即答されたときの「SHA1すげー!」という会場の雰囲気が心に残りました。 GitHubくらい多種多様なgit repositoryを大量に扱うと楽しそうですね♪

全体を通しての感想として、Gitを使う上での不安が薄れて安心感が増したというのがとても大きいです。

これまで社内frameworkのrelease managementをしていたので、releaseやbackportでヒヤヒヤしたり、version control上の問題を解消するために他のmemberにお願いしてベタで手間のかかる方法を取ったりしたこともあったのですが、これからはもっとaggressiveに効率が良くてみんなで幸せになれる方法を求めていけそうです♪

Q&A

私は2つ質問させていただきました。

Q:Gitは「記憶容量を犠牲にしても、分かりやすさ、速度を重視する」方針ということだけど、ストレージ容量は問題にならなくても書き込み速度やネットワークの帯域は問題になるのでは?それはトレードオフということなの?
A:
たしかにトレードオフはあるけど、統計を取るとほとんどの場合プラスに働いているよ!一番遅延がおこるところはnetworkだけど、相手側にないobjectを転送するときは圧縮するのでかなり効率が良いよ!
確かに圧縮されてますね。
[mazgi@Ardbeg] $ time git clone git@github.com:fluent/fluentd-docs.git
Cloning into 'fluentd-docs'...
remote: Counting objects: 2658, done.
remote: Compressing objects: 100% (1084/1084), done.
remote: Total 2658 (delta 1525), reused 2600 (delta 1472)
Receiving objects: 100% (2658/2658), 3.11 MiB | 746.00 KiB/s, done.
Resolving deltas: 100% (1525/1525), done.
Checking connectivity... done
git clone git@github.com:fluent/fluentd-docs.git  0.22s user 0.12s system 4% cpu 7.673 total
Q:hard-linkを使えないシステムでもgitは使えるの?
A:
hashを使ったGit独自のhard-linkのようなものを実装しているの使えるよ!Windows向けのgitではデフォルトでhard-linkを使わないようになってるよ!

Reports by attendees and Tweets

@orga_chemさんのblogが大変詳しくまとめてくださっていて分かりやすいです。 当日のtimelineをTogetterにまとめてみました。なぜかLinus氏の良い話で盛り上がっている雰囲気など伝わる…かもしれません。

お土産でGitHub StickersとGit cheat sheetをいただきました♪ 右側のドクロみたいなOctocatは質問するともらえる限定版(?)です。

最後に改めて@matthewmccullさんと@johndbrittonさん、素敵でとても分かりやすいpresentationと質問への丁寧な回答、本当にありがとうございました。 快適な会場と高速なWi-Fiと電源まで用意してくださったYahoo! JAPAN様、運営と通訳をしてくださった皆様、本当にありがとうございました。

#LeapMotion でKeynoteスライドショーしてみましたよ

話題のLeapMotionが届いたのでさっそくKeynoteのスライドショーを制御してみました!

会社のカフェを借りて動画を撮ったので、まずはそちらを見ていただくと何ができるかすぐ分かっていただけると思います!


#LeapMotion Keynote slideshow using Leap Motion ...

とりあえず今回はKeynoteスライドショーの制御なんですが、調理や作業で手が汚れているときにページをめくったりと色々実用的な使い方もできそうです。 あ、スライドは以前勉強会で使ったやつなんですが、手元にあるなかで一番問題なさそうだっただけでとくに意味ないです。

LeapMotionってなに?

という方もおられると思うので簡単に説明を。

一言でいうと「空中の手と指を検出するデバイス」でしょうか。 FRISKサイズのコントローラをPCにUSBでつないで上の"空間"で手を動かすと検出してくれます。

f:id:mazgi:20130728221431j:plain

例えば右手ならこんな感じです。

f:id:mazgi:20141203073834p:plain

対応OSは、Mac OS X 10.6以上、Windows 7以上、"alpha-quality"ながらLinuxにも対応するようです。 開発者登録するとダウンロードできるSDKを使って↓の各種言語でアプリを実装できます。

  • C++
  • Objective-C
  • C#(Unity含)
  • Java
  • Python
  • JavaScript

Twitterみてると続々とLeapMotionユーザーの方増えてるようですし、ハッカソンやってみたいですねq^