高専カンファレンス in 仙台に行ってきたよ

ということで、10/23に仙台高専広瀬キャンパスで行われた高専カンファレンス in 仙台に行って来ました。

最初に自分が発表に使った資料を貼っておきます。

資料のなかで、黒塗りで潰れているのは、パワポに動画を貼っていた部分です。
動画はslideshareとは別にflickrにuploadしてあります。



前日の夜から仙台へ移動して、土曜日はカンファ、日曜日は観光という日程で楽しませてもらいました。
発表することになっていたので、行きの車中は必死こいてスライド作ってました。
車中でスライド完成までこぎつけたので、仙台に着いてからはお酒を楽しむことができました。

一日目

夜は仙台をぶらぶらしながら探した小さなお店の東屋さんにふらっと入ってみました。
入り口に「十四代あります」ってあったら入っちゃいますよねぇ。

http://a.yfrog.com/img859/6457/gw1rv.jpg http://a.yfrog.com/img736/9661/onuzb.jpg http://a.yfrog.com/img864/6950/5m3gj.jpg

お酒もお魚もおいしかったです!
仙台の人は行ってみると良いと思いますよー。

二日目

仙台駅から仙山線で仙台高専広瀬キャンパスの最寄りの愛子駅(これで「あやし」って読むんですね…)まで移動。
愛子駅からは徒歩でぶらぶらと仙台高専まで移動してみました。

http://a.yfrog.com/img863/4800/x3rjp.jpg

仙台高専についてからは会場を探して校内をふらふら。
会場についたのは開会20分前くらいだったかなぁ。
そんなこんなでばたばたしつつもカンファレンス開会。
今回のカンファレンスでは写真撮影は休憩時間のみということもあり、手元にあまり写真がないのですよね。
まみさんの格好した実行委員長とかドラ娘さんとか被写体いっぱいなのに写真を撮れないもどかしさ…。


肝心の発表ですが、今回の発表はわりと固めというか、「もっとみんな頑張れよ」的なメッセージのものが多かったなーという感じがしました。
個人的にはお前らもっと頑張れよよりも、もっと楽しいことしようぜな人間なので、
むしろ頑張るのはほどほどにして積極的に面白いことしようぜと言いたいです。
面白いことをするために、面白そうだなって思うことをまず始めましょうと言いたいです。
だいたい始めるまでの一歩が踏み出せないシャイな人の方が多いはずですので、
頑張らなくていいから気軽に来て見て楽しんで、ついでに持ち帰っていつか自分で発表したり開催してもらいたいなーと思っています。

一般発表

発表を個別に見ていくと、一発目の[twitter:@minami106]さんの数学はアカデミックな発表だけれど、
発表のテンポや見せ方がとても上手で聞いていて楽しいプレゼンテーションでした。さすがですねー。
私はプログラマなのでプログラムと数学を絡めたお話なんか聞けるとありがたいなーとか思いました。
Rubyやりたいとおっしゃっていたのでそのうちそんな話を聞かせてもらえるかも?


二発目は[twitter:@mitaku]ことあやちゃんの発表。
上にも書いたけど、私も同じような考えの「楽しいことしようぜ!」派の人間なので、
やっぱそうだよねーと思いながら話を聞いていました。
楽しいことして好きなことして生きていきたーい。


三発目は[twitter:@setsuna82001]さんの発表。
もっと頑張れよ!は良いんだけど、頑張るために必要なものは何か?まで踏み込めたら、
今見てるものよりも少し先の世界が見えるんじゃないかなって思いました。
まだ若いので目に見える不満に対して真正面からぶつかろうとしてるのを見て、
なんだかむず痒いような感じを覚えつつ発表を聞いていました。


四発目は安定の[twitter:@junesa_to]先生の発表。
わーいあるこーるあるこーるー。
せんせーひとつ質問があります!お酒を飲むとすぐに赤くなるけどお酒が強い人はどうなんですか?
パッチテストで赤くなったら酒に弱いというお話がありましたけど、
上記の人はお酒に弱いんですかー?強いんですかー?
という疑問がこれを書いている途中にでてきました。


五発目は一人目の現役高専生[twitter:@SchocoA]さんの発表。
私もブラジル(の女性)好きですよ!主に性的な意味で!
あと、ポルトガル語みたいな自然言語はだめですが人工言語なら!
ちなみに某県のYから始まる某社に入ると、会社のお金で1年くらい海外研修だかなんかで好きなところに行かせてくれるって聞いたことあります。
リーマン・ショック以降でも続けてるのかわからないけど・・・。


六発目は私でした!以上終了!


残りはLTですねー。ここからはドラ娘がガン無視されて時間ぶっちぎって発表してました。
でも時間ぶっちぎってやりはじめたのは、LTの前の私の発表からなんですけどね…。さ、さーせんでした!

LT

LT一発目は二人目の現役高専生[twitter:@KGI_]さん。
サレジオは確かにY先生とかいるからなーいるからなー(ミサワ風
あそこは良くも悪くもちょっと特殊ってのはあるんだろうなと思います。


LT二発目は三人目の現役高専生にして高専カンファレンス in 仙台の実行委員長[twitter:@magical_reisen]さん。
最近の高専生って結構競技プログラミングとかやってる子多いなーって思いました。
私のときはあんまりそういうのやってる人いなかったんですよね。
学生の時にそういうのやれるのはちょっと羨ましーなー。


LT三発目は[twitter:@steyr_1026]さん。
高専カンファレンスではあまり見かけない、デザイン関係の発表。
色彩についてということで、個人的には5分じゃ足りないから一般枠で話してくれと思いました。
いやだって、発表資料とか作るのに色彩って大事じゃないですか。
普通の人間のセンスって限界があるんですよね。
それを補うのが知識なので、きちんと色彩について教えてもらえると助かるなー(他力本願


LT四発目は[twitter:@masushin]さん。
そうだよもっとみんな発表しようぜー。
あと東京来てブース展示とかもやって欲しいんだぜー。
交通とか宿泊とかいろいろ問題はあるけど、可能なら参加して発表もしてもらいたいですね。


LT五発目は[twitter:@setsuna82001]さん。LTでも登壇です。
も ☆ げ ☆ ろ


LT六発目は[twitter:@Plemling138]さん。
無線関係は結構躓きますよねー。
電波干渉なんかの物理的な問題からなぞのファームのバグとか通信プログラムのバグとかねぇ。
本当にもうね…。
でもまぁ逆に難しいのであれば使いこなせれば大きな力になるので頑張って次回もチャレンジして頂きたいですね。


LT七発目は予定にありませんでしたが、とびこみで[twitter:@mitaku]さんが登壇。
twitterでもreal-timeに拾ってdiscussionできればそれはコンテンツになるんじゃないっていうお話。
個人的にはtwitterに限らずにSkypeLingrのチャット流すとかでも良いと思うんですよねー。
いろんな発表の形ややり方があるので、やりやすい方法で、やりたい方法でやってもらえたらなと思います。


という感じで発表はお終いです。
懇親会がこれまでにない感じで、座談会しつつお食事会というニュースタイル懇親会でした!
とっても面白かったです!

三日目

三日目は観光日!ということで青葉城へ行ってきました。
仙台を一望する景色が見れたり、伊達政宗にレッツパーリィ!してる[twitter:@masushin]さんを写真に撮ったりととっても楽しかったです!

DSC_1442

でも二日目の夜にお酒をしこたま飲んだ後の山登りは、正直しんどかった…。

青葉城から仙台駅へ戻った後は、同行していたみんなと別れてひとり塩釜へ。
沿岸部の状態を目で見て知っておきたいなーと思っていたので、仙台駅から片道30分ほどでいける塩釜に行ってみました。
駅について外にでると、おそらく津波によるものなんじゃないかなと思われる傷跡が残っており、
半年たった今でもぱっと目に付く状態になっているのに驚きました。
きっと小さな損傷よりももっと先になんとかしなきゃいけないことがたくさんたくさんあるのだと思います。
それでも外からきた人間からしてみれば、ちょっと衝撃的な光景ではありました。

DSC_1506

上の写真をみると、路面の舗装が崩れたりレンガが散らばっているのが判るかと思います。
でもまぁ悲観的なことばかりでもなくて、きちんと現地で商売を始めてる人がいたり、
普通の生活を取り戻しつつ会ったりする光景を見ることができました。
まだしばらく時間はかかると思いますが、復旧できるという強いメッセージを受け取ったような気がしました。


最後に塩釜の港付近でとった鳥さんの写真を貼っておきます。

DSC_1514


今回の仙台への旅でとった写真をご覧になりたい方は下記からどうぞ。
高専カンファレンス in 仙台 on Flickr

AndroidでKinectするサンプル

いやぁ。またずいぶん久しぶりのブログエントリーですね・・・。


タイトルだけみるとAndroidKinectを直結して動かしちゃうぜ!って感じに見えますがそういうわけじゃないです。
Androidの貧弱なCPUでlibusbぶっ叩いてぶん回すのはちょっと…だいたいUSBホスト機能のついた端末持ってないですし)
じゃぁどういうことなのというと、こういうことです。



これでAndroidでもKinect使ったあれやそれができちゃうわけですね(今のところ骨格情報しか送れませんが)。
Xboxなんてもういらないんですよ!(元から持っていませんが


ちなみにPCはWindowsMicrosoftKinect for Windows SDKを使用しています。
作りは簡単で、KinectからとれたSkeletonDataをSerializeしてTCP/IPでぶん投げるだけです。
受ける側はデータを受けてDeserializeしたらOpenGLでごりごり描画するという作りになっています。
うまく動くとAndroid上で↓のような画面が出ます。



ネットワーク的には下図のような構成ですね。



こうしておけばemulatorでも「adb forward tcp:xxxx tcp:yyyy」で通信ができて便利です。


Windows側は下図のような画面がでるので、IPアドレスとポート番号をぶち込んでconnectすればあとはKinect次第です。



Windows用のコードはKinect for Windows SDKのSampleをちょろっと書き換えて作りました。
Android用のコードは一から書いています。


#プロトコルは超適当に作っているので、プロトコルバージョンだのケーパビリティだのは何それおいしいの?って感じです。あしからず。


ソースコードは下記からどうぞ


今後はこれにAndroidの加速度センサやカメラを組み合わせると、何かおもしろいことができるんじゃないかなーという感じです。
あと、できればジェスチャーにも対応させたいですね。だれかやってください。

AndroidのSensor周辺のアーキテクチャについて

せっかくAndroidのお仕事してるのにあんまりAndroidのこと記事にしてませんね。
ということでAndroidのSensor周辺のアーキテクチャについて備忘録を兼ねて書いておきます。


ざっくりとAndroid(Gingerbread)のソースを読んで判ったアーキテクチャを図にしてみました。
下図のような構成になっているようです。


Application

Applicationは特に記載していませんが、当然Javaで書かれDalvik VM上で動きます。
ApplicationからはContext.getSystemServiceを利用してSensorManagerを取得します。
SensorManagerはJNIを通してsensorserviceとやりとりをすることでsensorへのaccessを行います。


# この辺のコードは「frameworks/base/core/java/android/hardware/SensorManager.java」とかを読んでいけば追って行けます。

SensorService & libhardware - sensors.xxx.so

sensorserviceからは「libhardware」が呼び出され、その中で「sensors.xxx.so」が呼び出されます。
「sensors.xxx.so」の「xxx」には環境依存の名前が入ります。
この環境依存の名前はpropertyから取得するようになっており、以下のいずれかのpropertyに設定された名前を利用します。

  1. ro.hardware
  2. ro.product.board
  3. ro.board.platform
  4. ro.arch

# build.propやdefault.propに上記いずれかのpropertyを記載することで任意の「sensors.xxx.so」を環境に応じて読み込むことができます。

上記のいずれも該当するファイルが存在以内場合は、「sensors.default.so」を読み込もうとします。
また「sensors.xxx.so」の配置場所は下記の2箇所を利用することが出来ます。

  1. /system/lib/hw
  2. /vendor/lib/hw

Linux Device Driver

「sensors.xxx.so」の中ではLinuxデバイスドライバを叩くことでセンサの操作に必要な機能を実装します。
センサのドライバの多くは標準的なinputデバイスとしてアクセスすることができるように作られています。
このため、「sensors.xxx.so」の内部では「/dev/input/eventX」を直接読み出すことでセンサの値を取得するような実装が見られます。


inputデバイスを用いることでセンサの値を取得することはできます。しかしながらセンサに対する制御はinputデバイスでは行えません。
そのため多くのデバイスでは次のどちらかまたは両方のインターフェイスを用いる実装が行われています。

  1. ioctl
  2. SysFs

多くのデバイスではioctlが使われているようですが、一部のデバイスではSysFsを用いるようになっています。


以上でざっくりとしたAndroidのSensorに関する周辺の構造は終わりです。
あとは下回りのドライバの実装に関するknow-how的なお話になるので割愛です。
興味がある方は公開されているドライバの実装を追って見たりすると面白いかもしれません。

高専カンファレンスをサポートするために必要なコスト

2011年1月15日(土曜日)に「高専カンファレンスカンファレンス2011 - 高専カンファレンス Wiki」が開催されました。
この時の議論をうけて、ちょいと思うことがあったので書いてみようと思います。


内容は「高専カンファレンスの実行委員が負担しているコスト」についてです。
分かりやすいようにざっくりとお金に換算してだいたいどのくらいのコストを負担しているかってのを、
高専カンファレンス in 沼津」の時のことを例に提示してみようと思います。
(きっと実行委員会の中の人はこうした話はし辛いでしょうし。幸い私は外側の人間なので構わず数字を出してみたいと思います。)

主旨

「実際のコストを知ってもらった上で、各自が実行委員会に要請する負担について考えて欲しい」です。
負担を要請することを否定するつもりはまったくないですし、必要な負担は要請すべきだと思います。
(この辺の考えについてはカンファカンファの裏で行われたLingrでのチャットのログを参照してください。)


このエントリーで伝えたいのは実際のコストの数字です。
個人ごとにコストに対する考え方も感覚も異なりますから、コストをどうとらえるかについては、数字を知った上で各自が個別に判断すれば良いと思います。

時間

高専カンファレンス in 沼津」を立ち上げたのは2010年6月でした。
開催が2010年12月ですから、開催までに半年間の活動期間があったわけです。
半年の間で開催当日・翌日を除いた活動としては、12回の会議と前日準備を行いました。
私は普段は東京に住んでいますから、何かあるたびに沼津への移動が必要となります。
移動に要する時間は片道約3時間で、往復6時間です。
また、一回の会議にかかる時間は13時開始〜17時終わりといった具合でしたから、およそ4時間になります。


以上から、 13 * 10[h] = 130[h] となります。

交通費

私が住んでいる府中から沼津高専までの最安の電車の片道運賃は1,640円です。
往復で3,280円となります。
実際には新幹線を使ったりタクシーを使ったりしたこともあったので実状とは異なるのですが、
とりあえず往復3280円として計算をしてみましょう。

交通費の合計は、 13 * 3,280[円] = 42,640[円] となります。

合計の金額

今現在の私の収入を時給換算すると、およそ3,000円くらいになります。
上記で出した時間をお金に換算すると、 130 * 3,000[円] = 390,000[円] となります。
これに交通費を足しあわせて、 42,640[円] + 390,000[円] = 432,640[円] です。

捕捉

高専カンファレンス in 沼津」では私が言いだしっぺということもありますし、実際のスタッフのみんなとコミュニケーションを取っておきたかったというのもあり、
ミーティングには毎回現地参加することにしていました。
高専カンファレンス実行委員」が地方開催のカンファレンスをサポートする場合、良くて1,2回現地の打ち合わせに参加する程度ではないでしょうか。
ですから、「高専カンファレンス実行委員」の場合にはここに挙げた具体的な数字とは随分違う結果がでてくることになります。


交通費および移動時間についても、各地方によって大きく異なります。
沼津は静岡県という都心から近いという好条件にあります。
他の地方開催では沼津よりずっと大きな負担が必要になります。

最後に

実際に負担したコストはこれだけじゃないのですが、上記の数字だけを見てもだいたいの感覚は掴めると思いますので省きます。
なんとなくでもコストについて知ってもらった上で、各自がコストについてどう向き合うのか考えてもらえたらなーと思います。

高専カンファに望むこと

この記事は2011/01/15に行われる「高専カンファレンスカンファレンス」に向けたものです。
高専カンファレンスカンファレンス」の詳細については下記を参照してください。


kosenconfconf - 高専カンファレンス Wiki


!意見募集の宣伝!
高専カンファレンス実行委員会では、2011/01/15に行われる「高専カンファレンスカンファレンス」に向けて、
高専カンファレンス」に対する意見を募集しております。
上記のリンク先ページから意見の投稿ができるようになっております。
また、本エントリーのようにブログによる意見の投稿も受け付けております。
ご意見をお持ちの方はお気軽に意見を投稿していただければと思います。


本記事では私の立場を明確にしたうえで、いくつかの側面から何が必要かを考えます。
また、最終的には「高専カンファレンス」とはなんぞ?という話をしたいと思います。

続きを読む

謹賀新年

明けましておめでとうございます。
昨年中は多くの方々に大変お世話になりました。
本年も何卒宜しくお願い致します。

2010年振り返り

少し遅くなりましたが、まずは昨年を簡単に振り返ってみようと思います。


2010年は出会いの年でした。
高専カンファレンスとの出会いもそうですし、そこで出会った多くの人との出会いもありました。
仕事では今お仕事を頂いている会社さんを始め、講師のお仕事をさせて頂くなど新しいチャレンジもありました。
新しい人・事・物、そうしたものとの出会いというのは本当におもしろいなというのがこの1年を通して感じたことです。


2010年中の出来事で一番影響が大きかったのは高専カンファレンスです。
4月に参加したサレジオ高専でのカンファレンスを皮切りに、7月の奈良、10月の大東京、11月の京都、そして12月に母校である沼津と参加しました。
沼津では開催運営側ということで師走らしい12月を過ごしました。


お仕事の面ではTIのDM365を触ったり、Androidの下回りを触ったり、STMicroelectronicsのSTM32マイコンを触ったりと新しいことばっかりやっていました。
もうちょっとAndroidのことを知りたいなぁと思っています。

2011年の抱負とか

高専カンファレンス

高専カンファレンスに関しては、これからも時間とお金があれば参加したいなーと思っています。
とりあえず沼津のオープニングでネタ振りをしたNNCTには行きたいなーとか勝手に考えています。
長野はまだ行ったことないんですけどね!

お仕事

お仕事ではAndroidがしばらくは続くような気がしています。
気がしているだけで実際どうかはわかりませんが。
Androidと何かを組み合わせて面白いことができたら良いなーと思っています。

技術

仕事と関係のないところではそろそろFPGA欲しいなーって気がしています。
某所でそのうちXilinxからCortexベースのマイコン出せるんじゃないかなーとかいう話を聞いたので、
XilinxFPGAひとつ持っておきたいなーと思っています。

趣味

ダイエットのために自転車(クロスバイク)を始めました。
年末には府中から羽田空港までの往復80kmを走りました。
2011年は100kmオーバーを走ってみたいなーと思っています。