hagino3000's blog

平成アーカイブス (更新停止)

Bloggerにブログを引越し

bloggerにブログの引越し準備しています。試しにいくつか記事の投稿をしてみました。 hagino3000's blog http://hagino3000.blogspot.jp/ それはそうと、年初めの運試し node -e "console.log(['大吉','中吉','小吉','吉','大凶'][Math.floor(Math.random()*…

映像情報メディア学会誌に寄稿しました

2012年10月号に「Kinectの仕組みとナチュラルユーザインタフェース」という記事を書きました。連載「拡張現実感技術の最前線」の一記事です。連載の他の担当は東大の暦本先生だったり凄い面々で、そこに自分が入ってるのは謎なんですが、よろしくおねがいま…

JavaScriptテクニックバイブルのレビューを手伝いました。

校正段階でレビューだけ手伝いました。若手IT勉強会の皆様による執筆。対象読者はJS中級者、2~3年目のエンジニアとの事です。JavaScriptテクニックバイブル ~効率的な開発に役立つ150の技JSサポーターズ技術評論社売り上げランキング : 1582Amazonで詳しく見…

横浜市税の使われ方を可視化するサービスをリリースしました

The Daily Bread - 税金はどこへ行った?http://spending.jp/ 先日のGLOCOMオープンデータ活用ハッカソンの成果です.私はアイデアソンの時に税金の使われ方を可視化するチームに参加しました.このチーム,やけに行動力のあるプロフェッショナルなメンバー…

脳波ヘッドセットでハンズフリーウェブブラウジングシステムを作る

両手が塞がる食事中でも快適にインターネットができる仕組みが求められている.そこで手元にあったEmotiv EPOC HeadsetとEmotiv SDK付属ツールを使って実験した. Emotiv | EEG System | Electroencephalographyhttp://emotiv.com/ やり方 今回はEclipseを起…

新たなKineticデバイス「LEAP」の注文をするなど

NUI

彗星の如く登場して各界を賑わせているLEAPについて. Leap Motionhttps://live.leapmotion.com/index.html 公式サイトから読み取れる事 マウスの代りになるデバイスである iPodサイズでUSBでコンピューターに接続して使う 小売価格は69.99USドル 既存の3Dセ…

Struct.js ver. 0.3をリリースしました

欲しかった機能が実装できたのでタグを切りました。 hagino3000/Struct.jshttps://github.com/hagino3000/Struct.js 主な機能追加 ネストした構造のサポート nullableオプションの追加 カスタムバリデーション関数のサポート 設定で全チェックを無効化する機…

JavaScriptでRubyのmethod_missingを実装する

追記: Firefoxの実装で既に有る__noSuchMethod__に名前は合せた方が良い、というコメントを頂いたので名前を変えました。何の役に立つか不明だけど書いてみた*1。Proxyでプロパティアクセスをフックして、存在しない場合は用意しておいた関数プロキシを返す…

ChromeでECMAScript 6のProxyを有効にする

ECMAScript 6(候補)のProxyはChromeのデフォルト状態では使えない、前の記事で紹介したStruct.jsはProxyを使っているため、Chromeでチェック機構を有効にするには設定をいじる必要があります。 手順 アドレスバーからchrome://flagsを開く JavaScript の試験…

JavaScriptで厳格な型チェックを行なうライブラリを書いた

(追記) Version 0.3をリリースしました。先日のjava-ja温泉で「JavaScriptは独りでヒャッハーするのには良いけど、複数人で開発しだすと途端にカオスになって苦労する」という話になった。それに対する解の一つはClosure Compilerが採用したアノテーションに…

Node.jsのモジュールをC++で書く (ObjectとArrayを受け取るメソッド)

プリミティブな値を引数で受けとる場合よりもやや面倒。JavaScriptの仕様上どんな値や型でも受けとってしまうので、C++側のチェックコードがどんどん増えていく。動作確認用のコードがこうだとする var Test1 = require('./build/Release/Test1'); Test1.giv…

CocoaでJSON-RPC

iOS

使った物 SBJson http://stig.github.com/json-framework/ ASIHTTPRequest http://allseeing-i.com/ASIHTTPRequest/ どちらもsocket.io-objcが依存しているため既に使っていた。ここでやりたいのは、リクエストボディはJSON文字列のみでPOST、レスポンスもJS…

Node.jsのモジュールをC++で書く (引数と戻り値)

引き続きv8.hを読みながらNodeモジュールを書く練習をする。モジュールのメソッド定義ですが、名前の通りv8::Argumentsが引数の表現で、[]オペレータでアクセスするとv8::Value型のそれぞれの引数が得られる。型チェックはIsNumberやらIsStringといったメソ…

Node.jsのモジュールをC++で書く (Hello World編)

C++弱者ながらC++でNodeモジュールを作る事にしたのでいろいろと。まずは公式サイトの解説を参考にしてみる。 Addons Node.js v0.6.12 Manual & Documentationl http://nodejs.org/docs/latest/api/addons.html Hello World 最初にHello Worldのコードが載っ…

エンジニアサポート新年会 CROSS 2012でEmotivについてLTをしました

日本ではあまり使っている人を見ない筋電/脳波ヘッドセットのEmotiv EPOC neuroheadsetを使ってみた。デモはNodejsでデータ飛ばしてCanvasに描画した。視線の位置のxyが取れるのでそれを使った方が面白かったかなぁ。 ノンタッチUI時代とフロントエンドエン…

キネクハトッカーズマニュアルのサポートページを更新しました。

サポートページ作成時点からかなり状況が変ったので、いろいろと修正しました。OpenNIの進化や、WebSocketでバイナリが使える様になった事など。半年も経てば随分と変る物ですね。 「キネクトハッカーズマニュアル」補足資料 ― Kinect Book Support v1.0 doc…

OpenNIをopenFrameworksから使う Advanced編

OpenNI Advent Calendarの20日目の記事です。24日目の記事でもopenFrameworksについて書かれているので、内容がかぶらない様にしています。 OpenNIをOpenframeworksで使うhttp://blog.hi-farm.net/2011/12/24/openni%E3%82%92openframeworks%E3%81%A7%E4%BD%…

OpenNI/NITEのボーントラッキングが劇的に進化していた件

第3回Kinectハッカソン無事に開催できました。レポートっぽい物はShibuya.NIのサイトにアップするとして、OpenNI + Xtion Pro liveで今日試した事など。 ポーズ不要 NITEを1.5.0 unstableにするとユーザー検出からポーズ検出をすっ飛ばしてボーントラッキン…

Kinectプログラミングをより楽しむための、新分野入門の勧め

この記事はOpenNI Advent Calendarの15日目の記事です。さて、この記事をチェックされる様な方であれば、ある程度はKinectセンサーとそのドライバについて知識はあると思います。さらに、それらを使って何かを作りたいと考えている人も多いでしょう。Kinect…

舞台演出にOpenNIとXtion Proを利用した「増殖島のスキャンダル」

映像演出担当の奥村周也氏に招待していただき、拝観してきました。 舞台芸術集団 地下空港 公式ウェブラウンジhttp://www.uga-web.com/sb/log/eid194.html 私は開演前から中空に浮かぶXtion Proに目が釘付けでしたね。今回は実験公演との事で、いろいろと新…

第3回Kinect(など)ハッカソンやります

ブログに書くの忘れてました。来週の日曜日です。渋谷でいつものハッカソンをやります。 私はKinectというかXtion Pro live + OpenNI + OpenCV + 機械学習であれこれする予定です。 Kinect(など)ハッカソン Vol.3 - [PARTAKE]http://partake.in/events/8b80d…

WebSocketでバイナリデータを送受信してみる

この記事はHTML5 Advent Calendarの8日目です。いつの間にか手元の環境(Chrome17 dev + Node 0.6.3)においてWebSocketでバイナリデータが扱える様になっていたので何か作ってみようかと。まず、NodeでWebSocketを使おうとしたらそれ用のライブラリを使う事に…

Sencha Touchのファイルサイズを150KByte小さくする方法

この記事はJavaScript advent calender 2011 Frameworkコースの4日目です。世間ではjQuery Mobileが流行っていますね、それとは関係なくここではSencha Touchのネタを書きます。対象読者は既にSencha Touchを使っている人です。*1さて、Sencha Touchはモバイ…

Xtion Pro LiveがAmazon.co.jpで買える様になっていた。

知る人ぞ知るOpenNI公式デバイスのXtion Pro Liveの国内販売が開始したのにあわせてAmazon.co.jpでも買える様になっていた。価格はまちまちで、19,000円台から26,000円台のショップまである。SDK(OpenNIのこと)の対応OSはWindowsとUbuntuのみ、と書いてある…

PhoneGAPを使ったアプリケーションのコードをオンラインパッチで修正する

仕事でPhoneGAP使い始めて1ヶ月ぐらい経った。PhoneGAPを使ったiOSアプリケーションをリリース後にちょっと直したい時、AppStoreに再申請するのは面倒くさい。なので、なんらかの方法でパッチを当ててクライアントの動作を変更するのがセオリーだと思ってい…

来年のはHuman-Computer InteractionとGame Theoryのクラスが気になる

スタンフォード大学のオンラインクラス2012年スタートの奴、もうサイトできてますね。気になっているのはHuman-Computer InteractionとGame Theoryのクラス。 Human-Computer Interactionhttp://www.hci-class.org/ Game Theoryhttp://www.game-theory-class…

Xtion Pro live用にOpenNI開発環境をセットアップする

追記:unstableブランチへの切り替えが抜けていたので追記しました。OpenNI本来の使い方をすべくXtion Pro liveを輸入してMacに接続した。送料と関税込みで25000JPY也。早く日本国内で買える様になって欲しい所。大きさはKinectの半分くらい、すごく軽い。 Ma…

Jasmineで非同期処理のテスト

Jasmineの使い方を覚えるために複数のWebSocketコネクションが協調して動作する、というよくありがちなシナリオのテストケースを書いてみた。非同期テストの書き方のページを読んでもよくわからなったので、最初わりと苦戦した。 メモ waitsForは、渡した関…

Windows Phoneアプリ開発のはじめ方

wp7

Kinect SDK動作確認専用マシンにしていたThinkpadにWP開発環境を整えて勉強中。忘れがちなのでセットアップ手順をまとめた。実機と仮想環境の両方でやってみたけどどちらも問題無く開発はできる。 APP HUBに開発者登録をする 年間サブスクリプション 9,800 …

Windows Phoneハッカソンを開催しました

wp7

auのWindows Phone端末IS12Tを発売直後に購入したものの、アプリ開発に着手できていなかったのでハッカソンをやる事にしました。WP7のPush通知の仕組み 主催者の私が端末のアンロックはおろかC#を一行も書いた事がないという状態でしたが、既にバリバリにWP…