Recently in technology Category


Maker Faire Bay Area 2013

| No Comments | No TrackBacks このエントリーをはてなブックマークに追加

My exhibit is The Pseudo Google Glass

IMG_1108.JPG IMG_1113.JPG IMG_1039.JPG


Additional exhibit - Slime Lamp

IMG_1038.JPG IMG_1027.JPG IMG_1045.JPG




---------------------------------------------------------------------------


ここからは報告記。ブースは日本から僕とAndroid Make ProjectFourBeatで良いのかしら)さんと分け合う感じでした。去年は屋外で日差しが暑かったけど、今年は室内で来場者さん達の熱気も相まって、やっぱり暑かったです。たぶん、事前の10万規模オーバーの予想とおり、そのくらいの来場者はあったと思われ。

自分の方は、Pseudo Google Glassの方はギーク寄り、スライムさんの方は子供ちゃん達に遊んでもらいました。Google I/Oの後ということもあって、ちらほらとGoogle Glassをかけている人や中の人も来たりした(中の人にPseudo Google Glassの説明をするという、なんとも微妙な気持ちになった)。

隣では子供~大人もバンバン100m走に熱狂していて、数万発はあったと思われる連打にも関わらず、ヒビ一つ入っていないのには驚きです。手のひらだけじゃなく、グーで連打している人も居たし・・・最後までばっちり動いていました。


IMG_1102.JPG IMG_1147.JPG

(みんな元気いっぱい、連打の嵐を浴びせていました)


そして現地にて嬉しい事に、かづひさんのGlue Motorが今年はEducator's Choice Awardを受賞され、去年のEditor's Awardに続き2冠という。素敵すぎます。


(大盛況のGlue Motor。画像はかづひさんのtwitterからのリンクです。)



実際に作った物を見て・触れて楽しみ、作っている人と話したり交流できる、メイカームーブメントという言葉だけじゃ分からない体験がここにはある。それをマンモスIT企業が軒を連ねているシリコンバレー近くで毎年開催しているというのが刺激的だと思う。

例えば巨大なピタゴラスイッチのような物で鉄球を転がして、最後は車にドン!!と鉄の塊を落とすなんて、言葉や写真だけだと「何かこれに意味があるの?」と思うかも知れないけど、周りは沢山の人で車に落ちる瞬間はドーっと大歓声があがる。

IMG_1124.JPG IMG_1129.JPG

他の人の作品を見て、自分なんかじゃ思い付かないような創造的な物や表現、日本では見られないような巨大な作品から、作っている人に尊敬の念を感じていた。加えて"技術的には実現できそうだけど、そんな事や表現は考えもしなかったよ!!"という自分の創造性の乏しさを感じていたら、「そういう風に周りの人をリスペクトし合うというのが、ここ周辺の文化なんですよ。」と教えられたのが印象的だった。


IMG_1062.JPG IMG_1058.JPG IMG_1067.JPG

(暗室のエリアではKinect/Xtionを使ったインタラクションが沢山ありました。)


IMG_1137.JPG IMG_1140.JPG IMG_1089.JPG

(ボーッ!!と火を噴く乗り物。エビと魚が音楽と同期して踊る車。そして自作潜水艦!!)


EXPO HALLでは3D加工機が沢山展示されていた。3Dプリンターはもちろん旋盤もあったりして、こんなに多数出ているということは、これからどれかのブランドが残っていく競争になるのかなーと。これからは新しく3D加工機を発売するのではなく、それらを使って何をやるか?なのだとは思う。
あと少し思ったのが、Kickstartarに出しています!!というパネルを掲げている所も多かった。

IMG_1076.JPG IMG_1004.JPG IMG_1017.JPG

(凄い大量のレゴ。全部3Dプリンターで作りました!!という展示。Ultimaker 3D Printer)



IMG_1083.JPG IMG_1116.JPG IMG_1114.JPG

(屋外での展示はとっても開放的)


日本のMaker Faireでも屋外をバンバン使えたり出来たら面白そう。さすがにテスラコイルみたいなのは、日本だと待ったがかかりそうだけどw
あと、現地で沢山の素敵な人たちと知り合い&交流できたのは本当に良かった。来年もGoogle I/Oの後に開催して、I/Oが終わったらMaker Faireにも参加♪って感じの流れにならいかなぁ。日本から出す人も見に行く人にとっても、優しい感じかもー。

ニコニコ学会βに行ってきた

| No Comments | No TrackBacks このエントリーをはてなブックマークに追加
第4回ニコニコ学会βの研究してみたマッドネス(ハードウェアの部)で発表をしてきました。

とっても面白かったです。運営のみなさま、本当にお疲れさまでした。
そして、ありがとうございました!!


以下は写真とか。

発表前のハードウェアの部のお二人
「仕込みiPhone」の森さんと、「彼女が後ろから抱きついてくれる感覚を得られる画期的なデバイス」のひかるさん

DSC_0263.jpg

その後...「syncFish」の池澤あやかさんも一緒に...

IMG_0956.JPG
なんでしょう、とっても素敵な感じです。



そして「全力で彼女を作る」の発表をされたTDさんの愛情が込められたゆきりん(ロボ)
舞台裏で復活を遂げたゆきりん(ロボ)と思う存分見つめ合う事が出来ました。

IMG_0957.JPG


あと1日目の発表も見てみたら...むしむし生放送、ほんと最高でした。


自分が見せてきた物は2つで、nebulaとslime lampでした。タイムシフトで後から見たら、それなりにコメントを貰えていて、話しに行ってきて良かったなーと。







ちなみに...リハの時の幕張メッセはガラーっとした感じ。

IMG_0931.JPG


slime lamp

| No Comments | No TrackBacks このエントリーをはてなブックマークに追加
slime lamp is lighting and heartbeat sensor application.
this application concept is "touch the light and heart".






1. Touch the light.
The light path and shapes is difficult to change freely, but slime light can be easy to use, as users like.

pic2.jpg


Touch the light/change the light shapes/bend light shapes/mix light/peel off the light

pic3.jpg



2. Touch the heart.
This application has two heartbeat sensor, shine with the detected heartbeat.
slime lamp represents the light of heartbeat.


pic0.jpg

He hold her heartbeat on this picture.

pic6.jpg

Mixing each heartbeat.

pic7.jpg



pic5.jpg


pic4.jpg



parts : arduino (control the intensity of light), heatbeat sensor, slime, led
details is here.


Raspberry Pi and TMP102 temperature sensor

| No Comments | No TrackBacks このエントリーをはてなブックマークに追加
How to measure the temperature with Raspberry Pi and TMP102 memo.



1. Install and set config Raspbian "wheezy" from here.

2. use I2C on Raspberry Pi.
   2.1. Login Raspberry pi and become root(sudo su - )
   2.2. edit module file "/etc/modules",  add next line
          i2c-dev
   2.3. edit module blacklist file
"/etc/modprobe.d/raspi-blacklist.conf", comment out next line.
          # blacklist i2c-bcm2708
   2.4. install i2c-tool
          apt-get install i2c-tools

3. Shutdown Raspberry Pi and USB power off.

4. connect TMP102 sensor to Raspberry Pi using soldering iron.
     Raspberry Pi                TMP102
         3V3 Power     ---     V+, ADD0
       GPIO 0(SDA)   ---     SDA
       GPIO 1(SCL)   ---     SCL
         Ground          ---     GND

    note) TMP102 ALERT not use.
              Raspberry Pi General Purpose Input/Output(GPIO) is here.

pic.jpg

5. connect USB to Raspberry Pi and power on.

6. measure the temperature.
   run next shell script, then you get temperature on your command prompt.

------------------------------------
#!/bin/bash

hexraw=$(sudo i2cget -y 0 0x49 0x00 w)
while [ "$hexraw" == "" ]; do
    hexraw=$(sudo i2cget -y 0 0x49 0x00 w)
done
#echo "$hexraw"

msb=$(echo ${hexraw:4:2})
lsb=$(echo ${hexraw:2:1})
#echo "0x$msb$lsb"

dec=$(printf "%d\n" "0x$msb$lsb")

echo "scale=4; $dec*0.0625"| bc
------------------------------------



FirefoxOS(B2G) build

| No Comments | No TrackBacks このエントリーをはてなブックマークに追加
興味本位でFirefoxOSをビルドしてみた。

ビルド手順はこちら


結構時間がかかりました。

初回B2Gビルドの準備というので、約3時間。
OSのビルドで1時間くらい。ビルドにはCore i5を使った。


起動してからの画面の流れは以下。



最初に言語の選択。ちなみに選べるのはこの4つだけだった...日本語は無い。

スクリーンショット 2013-03-08 20.09.49.jpg

スクリーンショット 2013-03-08 20.10.37.jpg

スクリーンショット 2013-03-08 20.10.51.jpg

スクリーンショット 2013-03-08 20.11.34.jpg

スクリーンショット 2013-03-08 20.11.53.jpg

スクリーンショット 2013-03-08 20.12.03.jpg

スクリーンショット 2013-03-08 20.12.14.jpg

スクリーンショット 2013-03-08 20.12.24.jpg

いよいよ起動画面。
ん?Android Android?と疑問に思うはずだろうwww


スクリーンショット 2013-03-08 20.13.03.jpg

アンロック後のHOME画面


スクリーンショット 2013-03-08 20.13.25.jpg

スクリーンショット 2013-03-08 20.13.46.jpg

あとあと調べて分かったことだけど、B2GのGonk(OS)部分は、Androidの物を利用している部分が多いようだ。
ソースコードの取得&ビルド途中で、androidのソースを持ってきてビルドしていたのも納得した。

ただね...最初の画面にAndroid Androidと出すのは止めた方が良いかも...この画面見て、Androidだよね?と言われても、間違いなく気づかないと思われ。
一応FirefoxOS(B2G)と銘打っている訳なんだしね...



brain wave sensor test

| No Comments | No TrackBacks このエントリーをはてなブックマークに追加
draw 8 brain waves, delta, theta, low/high alpha, low/high beta, low/high gamma, as plane.
data from brain wave sensor(Neuro Sky)

shot2.jpg


I use openFrameworks with ofxBrainWave. brain wave data(it's mine) is here csv file, each column is following.
application elapsed time, attention, meditation, delta, theta, lowAlpha, highAlphalowBeta, highBeta, lowGamma, highGamma

here is sample brain waves data.
5.60092,30,38,698760,504424,118284,45292,9080,147548,5308,778760
6.60794,23,41,777799,491685,93980,80744,4881,161788,2379,772335
7.59784,10,64,844059,212975,193633,41857,17240,95055,3574,718956
8.60016,7,61,1.18844e+06,466899,43506,92121,3464,159417,5468,727056
9.58264,11,77,382078,332349,81167,160541,10505,136557,1662,699537

Transparent Projector Screen

| No Comments | No TrackBacks このエントリーをはてなブックマークに追加
Transcreen






Translucent Screen



Android 4.2(Jelly Bean) and OpenNI 2.1 beta

| 3 Comments | No TrackBacks このエントリーをはてなブックマークに追加
# environment
OpenNI 2.1 beta (from github)
Xtion Pro Live
Pandaboard
Linaro Android 4.2.1(jelly bean)



# download Android NDK
wget http://dl.google.com/android/ndk/android-ndk-r8d-linux-x86.tar.bz2
tar -jxvf android-ndk-r8d-linux-x86.tar.bz2
export NDK_ROOT=$PWD/android-ndk-r8d

#
# download OpenNI2 from github
#
git clone git://github.com/OpenNI/OpenNI2.git

#
# modify source code for Android 
#
- OpenNI2/Source/Core/OniContext.cpp

static const char* ONI_CONFIGURATION_FILE = XN_FILE_LOCAL_DIR "OpenNI.ini";

to

#if XN_PLATFORM == XN_PLATFORM_ANDROID_ARM
static const char* ONI_CONFIGURATION_FILE = XN_FILE_LOCAL_DIR "/system/openni/OpenNI.ini";
#else
static const char* ONI_CONFIGURATION_FILE = XN_FILE_LOCAL_DIR "OpenNI.ini";
#endif


- OpenNI2/Source/Drivers/PS1080/Sensor/XnSensor.cpp
#define XN_GLOBAL_CONFIG_FILE_NAME                                              "./PS1080.ini"

to

#if XN_PLATFORM == XN_PLATFORM_ANDROID_ARM
#define XN_GLOBAL_CONFIG_FILE_NAME                                              "/system/openni/PS1080.ini"
#else
#define XN_GLOBAL_CONFIG_FILE_NAME                                              "./PS1080.ini"
#endif


#
# build OpenNI
cd OpenNI2/Redist
python ReleaseVersion.py android
cd Final
tar -xvf OpenNI-android-2.1.0.tar

#
# copy OpenNI shard library and setting files to Android(root is needed)

# create setting file directory, mount usbfs for Xtion/Android Application.
adb shell
mount -o rw,remount -t yaffs2 /dev/block/mtdblock2 /system
mkdir /system/openni/
mount -o devmode=0666 -t usbfs none /proc/bus/usb
exit 

# put shard library and setting files.
adb put OpenNI2/Redist/Final/OpenNI-android-2.1.0/OpenNI.ini /system/openni/
adb put OpenNI2/Redist/Final/OpenNI-android-2.1.0/PS1080.ini /system/openni/
adb put OpenNI2/Redist/Final/OpenNI-android-2.1.0/libOniFile.so /system/lib/
adb put OpenNI2/Redist/Final/OpenNI-android-2.1.0/libOpenNI2.so /system/lib/
adb put OpenNI2/Redist/Final/OpenNI-android-2.1.0/libPS1080.so /system/lib/
adb put OpenNI2/Redist/Final/OpenNI-android-2.1.0/libusb.so /system/lib/

# build Android application
# download oni(sample applicatoin for OpenNI) eclipse project from here.
# this sample applicaton structure is
# OpenNI2(JNI: create depth image pixels) --> Android (create Bitmap from JNI)
#

Hadoop Conference Japan 2013 Winter

| 4 Comments | No TrackBacks このエントリーをはてなブックマークに追加
Hadoop Conference Japan 2013 Winterに行ってきた。
14時ちょい位に着いて、何本か講演を聞いてその感想をつらつらと残しておく。メモ書きを残してはいたけど、どの資料もSlideshareにアップされているから感想を書くだけに。


・Map Reduce optimization by node/rack-level aggregation.
MRのShuffle処理の効率化のお話。ラック毎の集約に加えて、ノード毎に集計をかましてあげる面白いもの。MRで1.5倍ベンチマークが早くなっていた。設定がコードにたったの3行追加で終わっていたけど、これってノード単位は分かるけど、別のラックだとかってどうやって認識するんだろうか?まさかIPアドレスじゃないだろうけど...簡単に使えそうだからやってみたい。


・High Availability for the HDFS NameNode
NNのHAについて。NN冗長化をDRBD/NFSをビビリながら使っていた所に対する、良い解かなーと。後述のlivedoorさんの所でも使っていた。こりゃ良いですなー。自分んとこはNFSを使ったり、単一NNだったりしていて、どっちも激しく不安だっただけに...
疑問だったのが、複数のJournalNodeがあるとき、書き込み後に半分のノードから成功が戻ってきてNNが倒れたとして、そのとき成功した半分、まだ書き込みが無い半分というのをどうやって判別するのかしら?editsのタイムスタンプを確認して最新のJournalNodeを判断するのかなー。


・メインフレームとHadoopで大量のPDF帳票を出力してみた
主にデータ解析で利用する話を多く聴くなか、昔Hadoopが使われた当初、NewsWeekさんが過去記事をAWS上のHadoopで処理した話を思い出した。元の処理が実際には60時間かかったのが、Hadoopの方で処理をさせたらノードを増やす毎に1時間〜20分になったという。


・Log analysis system with Hadoop in livedoor 2013 Winter
livedoorさんの所で利用されているログ解析システムについて、今のバージョンに至る経緯と共に話されていて、とっても面白い話でした。WebHDFS, Huahin Managerを利用したHadoopと疎結合のシステム構成は素晴らしいですね。MRをJavaで書いて、Hiveを使い回して思いっきり密結合なまま放置している自分は...
1人でやっているというのは凄いなーと。1人でやる方が自由度が高く、色々できるというのも分かるけど、色んな理由で(倒れたとか)居なくなった時に誰が面倒を見るのかしら?と思ったり。


・いかにしてHadoopにデータを集めるか
flumeのアーキの説明と比較しながら、主にfluentedの説明でした。

CROSS 2013

| No Comments | No TrackBacks このエントリーをはてなブックマークに追加
エンジニアサポートCROSS 2013に行ってきた。

15時ちょい前くらいに着いて参加したセッションは3つ。
感じた事とかをつらつらと記載しておく。


■ 次世代Webセッション
プロトコル編の最後を少しと、アーキテクチャ編に参加した。HTTP 2.0/REST/API関係の話が多かったけど、みんなTCPの足回りがキツイぜ!!って話題が多かったような気がする。そこで、キーワードとして出てきたのがTCP Fast Open、SPDY。

TCP Fast OpenはLinux Kernelにマージされて使えるという事をその場で知れたのは良かった。初めてTFOなんて物を聞いたなー、とか思ったら昔調べていたよオイラ。
ざっくり的な感じだと、3-way-handshakeじゃなくて、2-wayでやろうという試みで、SYNのTCPのオプションヘッダに"前に接続したサーバの情報"をcookieとして乗せて、handshakeを高速化しようという試み。

SPDYは既に使っている所もあるかも知れないけど、これもザックリ的な感じだと、HTTPを対象にして1本のTCP(TLS)のセッションの上で複数のリクエストをまとめて処理する。これは特にモバイル環境だと、複数のTCP接続を行うよりも1本でやった方が効率的で、モバイル端末、TCPを終端するサーバどちらにとってもメリットがある。ちなみに、このブログのApacheもSPDYを入れている(おまけでIPv6も振っている)。

TFO、SPDYのどちらもGoogleが主導しているというのがポイントで、GoogleはAndroidを担いでいるのもあって、こういったモバイル環境でのTCPを効率化する所に対して、大きくコミットしてくるというのは自然な話ですね。

事実上Webを支えるプロトコルはTCPが主体なっている中で、次世代WebのベースになるプロトコルもやはりTCPをメインにしてフロー制御、さらに上位のTLSのレイヤーでどうにかしようという試みが多い。新しいプロトコル番号をつけて、IPの上に新しいプロトコルを提案して・・・とかって魅力に駆られるけど、間違いなくうまくいかない。
まずもって、新プロトコル番号を処理する機器(一般宅のルータも然り)の影響が大きすぎる。IPv6が出始めた頃なんて、41番(IPv6のプロトコル番号)を通すルータはYAMAHA RTしかなかった・・・とか、もちろんOSのカーネル・アプリも壮絶な影響を被ることになる。
新しいプロトコルを・・・というのはそう簡単ではない感じが辛いですね。

だから、今のTCPに手を入れてどうにかしよう、という試みだけど・・・うーん、先は長いなぁ・・・って実感した。
TCPに手を入れて、一本のTCP上に色んなプロトコルを流そう!!って話題が出たけど、それはそう簡単にはいかないですね。ご存知、TCP over TCP問題だったり、足回りTCPの輻輳制御がある為に起こる、上に乗せるプロトコルの選択というのが必ず出てくる。SPDYは再送が無いHTTPを乗せるから大丈夫だけど、何でもかんでもという訳にはいかない。ちなみに、LINEのオレオレSPDYって話が出てたけど、1本のTCP上に複数のプロトコルを流すというのは何も新しい物じゃなく、割と普通にやる試みだと思う。
他にもTCP高速化(アプライアンス物とかも)を良く見たりした。payload圧縮、windowサイズをいじったり、ACKのタイミングを調整したりと、色々ありますね・・・
そこで、TCPに見切りをつけて、よく数年に一度くらいの割合で出てくるもので、UDP上に流しちゃおうぜ!!ってのもあるけど何故か流行らない。

これから将来に期待ですね~
と思った感じ。



■ 継続的システム運用のゲンバのハナシ
各社の運用担当者がガソリンを注入しながらのトークセッション。「技術的負債とどう付き合うか」「自分と家族をどう守ってます?」という2つのテーマに沿った流れ。

痛い話&辛い話を言い合う感じで、何となく予想していた「運用監視でこんなツールを使ってますよー」とか、こんな体制でやってますよー、といった感じではなかったけど、ネタのオンパレードで楽しかった。
Cookpadさんの深夜にトラヒックが落ちる→深夜に料理を検索する人は居ない、というのはサービスの性格でトラヒックの特性が変わる良い話だった。

運用の技術者を育てて行くのは確かに難しいと思ったり。どうやって覚えてきたか?って話の流れで、確かに自分もPCを自分で組み立てて、LinuxのCDを焼いてインストールしたりして覚えてきたなーと。今はクラウドが一般的だから、そういうのをやるような環境に無いと思うけど、基幹を支える所では間違いなく運用技術者は必要になる。

会場のタバコ部屋で話していた中で、Web/AP周りは若い技術者がキラキラしていて、運用周りって少し年をとった人が多いような、と雑談していてかにそうかな・・・とか思ったり。



■ 体系的に学ぶ安全な利用規約の作り方
濃い内容とスピードについていくのが大変だったけど、聞いた3つのセッションの中では一番良かった(マヂで)。安全なアプリは作れるけど、本当はユーザが安心して使えるアプリを作る必要がある、というのが印象的な感じ。
誠実な利用規約、素直に書くとツッコミを食らって炎上するような切な過ぎる事例を交えた説明は、特にサービスを作る側の技術者にとっては、当事者としての意識が強くなったんじゃないかなと。

ちなみに自分が関わった利用規約だと、「法務にサービスの説明を行い、テンプレをベースに法務が出してきたものをみんなでチェック」というサイクルを繰り返して出来てくる。確かに利用規約の改定で変更があっても、とてつもなく長い利用規約のどこが変わったのか、diffするだけでも大変だし差分だけでもサクッと分かるようにして欲しい・・・

ここからは自分の思ったこと。
広範に情報がブロードキャストされるようになって、利用規約を書いても最大公約数の人にしか伝わらないで、一部の曲解した解釈が伝播してしまう・・・というのは、根底にはそれを囃し立てる人の意識(野次馬、群集の同調行動への心理)が大半を占めているのと、ネットサービスに対する信頼感があるのかしらと。未知なるものへの不安は野次馬心理をより掻き立てる傾向にあるから。
情報伝播のあり方について考えるのもだけど、安心して使ってもらえるWebアプリというのは人の心理的な側面としての信頼を得て、意識の根底を変えてより良くする一つの手段としてとっても有効なんじゃないかなと。
ここ2年位、心理学の本を読みまくり、今は心の哲学とか意識の本を読み始めて、センサー物を触りまくっている自分にガチンときた感じ。


 1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  10  |  11  |  12  |  13  |  14  |  15  |  16  |  17  |  18  |  19  |  20  |  21  |  22  |  23  |  24  |  25  |  26  |  27  | All pages

Profile


Hirotaka Niisato
ID: @hirotakater
  ipv6 ready

Recent Comments

About this Archive

This page is an archive of recent entries in the technology category.

shogi is the previous category.

Weblog is the next category.

Find recent content on the main index or look in the archives to find all content.