2012-04-05
Movement tracker + WebRTC
WebRTCを使うとブラウザからJavaScriptを使って、ビデオやマイクのストリーミングデータを取得することができます。
他にもP2P接続ができるようですが、まだまだ仕様が決まっていないらしく、まだ実用段階ではないようです。
現状では、ChromeのDevチャンネル版で使用できるので、それをインストールしてWebカメラを自分のコンピュータにぶっさして、これを見て欲しい。
動かすには、ビデオのアクセスを許可して、画面の左下にあるgoボタンを押してね。
ブラウザだけで、ビデオのモーションキャプチャができます。深度データは取れないので、kinectとまではいかないけれど、ちょっと近い感じにはなっているかも。
このソフトの元ネタは、
Movement trackerというMozilla社が作成したHTML5によるビデオのモーションキャプチャをぱくってみました。
Movement trackerは、JavaScript1.8を使って実装されているため、Chromeでは動かない。
そのため、letをvarに変える等の不毛な作業をして、Chromeで動くように微調整した。
その上でwebkitGetUserMediaを使って、Webカメラにアクセスして、モーションキャプチャするようにしてみた。
ソースは、githubに置いています。
※ChromeのDevチャンネル版のインストールは、ここが詳しい。
2012-04-02
Hadoop on LXC
「カーネル/VM勉強会@関西 其の参」に行ってきました。知らないことだらけで、大変面白かったです。
初参加のくせに、無謀にもLTをやろうかと直前になって思い、付け焼刃でLXC上にHadoopを入れてみた。
結局、時間の都合でLTはできなかったのですが、他の発表者とレベルが違いすぎて、恥さらしにならずによかった。。
資料はSlideShareに上げたので、貼っておきます。
2012-03-31

そういえば、明日は、Anonymousがネットワークをダウンさせるのだろうか。。
そんなことを思いながら、この小説を読んだ。
- 作者: 川端裕人
- 出版社/メーカー: 角川書店
- 発売日: 2004/05
- メディア: 文庫
- 購入: 7人 クリック: 120回
- この商品を含むブログ (41件) を見る
この小説にもインターネットをダウンさせる話がでてくる。
MMO、ネットワーク・セキュリティ、AIを題材とした小説である。
何度読んでも面白い。
2012-03-06
貧乏人のための仮想環境
貧乏性の私は、どうもVMWare等の完全仮想化のソフトウェアはリソースがもったいなくて、積極的には使う気になれない。あくまでテスト環境として使う程度だ。100ノードぐらいのhadoopクラスタをKVM上に構築したいという野望もあるけれど、100ノードも立ち上げるだけのハードウェアがない。そういう時の、Amazon EC2かも知れないが。。
時間単位でちまちま金を払うのは、貧乏臭くていやだ!
「金がないなら知恵を出せ。知恵がないなら汗をかけ。」
ということで、冷汗をかきながら、LXCを使って、コンテナ型の仮想環境を構築したいと思う。コンテナ型の仮想環境の説明は、ここが詳しい。
いきなり実環境で、LXCを試すのは、怖かったので、Ubuntu 11.04上のVirtualBoxにUbuntu Server 11.04 を構築して、その上で試してみた。しばらく使ってみて、慣れてきたら、ホストOS上で直接、LXCのコンテナを10ぐらい立ち上げてHadoopやCloudFoundryの環境を構築したいと思う。
以下、LXCの構築手順の備忘録。
基本的には、ここの手順を参考にした。
LXCのインストール
・面倒なので、まずrootになってしまう
$ sudo -i
・インストール
# apt-get update && apt-get install lxc debootstrap bridge-utils dnsmasq
・cgroupの作成
# mkdir /cgroup # mount -t cgroup none /cgroup # echo "none /cgroup cgroup defaults 0 0" >> /etc/fstab
・ネットワーク設定
# vi /etc/network/interfaces
auto br0
iface br0 inet static
address 192.168.5.1
netmask 255.255.255.0
network 192.168.5.255
post-up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
post-up sysctl -w net.ipv4.ip_forward=1
pre-down iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
pre-down sysctl -w net.ipv4.ip_forward=0
bridge_ports none
bridge_stp off
参考にしたページでは、192.168.3.*のネットワークを使っていたが、たまたま、192.168.3.*のネットワークは使っていたので、192.168.5.*を使うことにした。
また、再起動しても設定が消えないようにした。
・コンテナが使うDHCPとDNSの設定
# vi /etc/dnsmasq.conf domain-needed bogus-priv interface = br0 listen-address = 127.0.0.1 listen-address = 192.168.5.1 expand-hosts domain = containers dhcp-range = 192.168.5.50,192.168.5.200,1h # vi /etc/dhcp3/dhclient.conf prepend domain-name-servers 127.0.0.1; prepend domain-search "containers."; # dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp3/dhclient.eth0.leases eth0 # service dnsmasq restart
・/etc/dhcp/dhclient.confの修正
ホストOSがDHCPクライアントの場合、resolv.confを書き換えるため、/etc/dhcp/dhclient.confに以下の設定を追加する。
prepend domain-name-servers 192.168.5.1;
以下のようになる
# cat /etc/resolv.conf nameserver 192.168.5.1 nameserver 192.168.3.1
・lxc-ubuntuの取得
# wget -O lxc-ubuntu http://bit.ly/ec2ubuntulxc # chmod +x lxc-ubuntu
元ページからスクリプトを拝借
・新規コンテナの作成
# ./lxc-ubuntu -p /mnt/vm0 -n vm0
結構時間がかかる。いろいろダウンロードしている模様。
・コンテナの起動
# lxc-start -n vm0 -d
・コンテナへ接続
# ssh root@vm0
デフォルトのrootパスワードは、root
2012-02-29
GitHubメモ
GitHubを使うときにやった事の備忘録。
1. とりあえずgitインストール
$ sudo apt-get install git-core $ git config --global user.name "Your Name" $ git config --global user.email hoge@foo.com
GitHubは、gitを使うのでこれがないと何もはじまらない。
gitの初期設定で、名前とメールアドレスを設定しておく。
2. 公開鍵の設定
$ ssh-keygen -C "your@email.com" -t dsa
GitHubにgitからアップロードする時の認証に使用する鍵を生成する
3. GitHubにアカウントを作成
GitHub ? Social Codingから、アカウントを作成する。
4. GitHubに鍵を登録
SSH Keysから、先ほど作成した公開鍵を張り付ける。
5. GitHubにリポジトリを作成
Create a New Repositoryから、リポジトリを作成する。
6. 登録するディレクトリに移動して、gitのローカルリポジトリに登録する。
$ cd /home/hoge/work/foo $ git init $ git add * $ $git commit -m 'first commit'
7. GitHubをリモートリポジトリとして、登録
$ git remote add origin git@github.com:[githubのユーザ名]/[リポジトリ名].git
8. 変更を適用
$ git push origin master
git push時に、以下のようなエラーが発生した場合、「~/.ssh/config」の設定を確認する。
$ git push origin master Permission denied (publickey). fatal: The remote end hung up unexpectedly
「~/.ssh/config」に以下を設定する。
Host github.com User git Port 22 Hostname github.com IdentityFile ~/.ssh/id_dsa TCPKeepAlive yes IdentitiesOnly yes
よく使う、gitコマンド
git init git add * git commit -m 'message' git clone git://github.com/[アカウント]/[リポジトリ名].git git pull git://github.com/[アカウント]/[リポジトリ名].git git pull origin master
コミット済みのファイルを、リポジトリから消して.gitignoreで除外する
$ git rm --cached foo.txt $ echo 'foo.txt' > .gitignore $ git add .gitignore $ git commit -m 'delete and add .gitignore'
※参考リンク
WOMO :: github を使うためのメモ。 :: 2010/03/04
