Gainer++ – use Gainer from C++
March 31st, 2008 | Published in Uncategorized
I wrote a C++ wrapper library for Gainer, based on its Ruby library (gainer-ruby). The code is submitted to CodeRepos as Gainer++, here.
So Far
It supports following functions:
- mode switch by constructor
- analog inputs
- digital inputs
It has some examples, like blinking LED on Gainer I/O module (gainer-led.cc).
Feel free to use, modify, and commit to it.
話すというアウトプット
March 30th, 2008 | Published in 日常
今年に入ってから、3回のLTをやってきました。
-
2008.01.19 : Ticket2RTM @ Shibuya.trac #1
-
2008.03.22 : どこでもゆびピアノ++ @ 1000speakers:3
-
2008.03.28 : Twitter bot を Ruby でつくる @ 第三回Award on Railsライトニングトーク
話してみて思うのは、話すというアウトプットの密度の濃さです。
これまでにやってきたアウトプットは、調べたことやつくったものをブログに書くということでした。 そうしたアウトプットと話すということを比べると、消化した感がだいぶ違います。 何かについて取り組んだたら、ブログで公開して、プレゼンで話してやっとそのネタについて卒業、と。話してみてはじめて理解できる、とも言える。 それはなぜかな、と考えてみたら:
- 人前で話すためには対象をきちんと理解していないといけない。たくさんの咀嚼が求められる
- 文章を書くときと話すときとではアタマのつかいかたが違う。話すときには頭をフル回転させてる
- 話すのは緊張する。けど、自分の言葉がほんとうに人に聞こえてるのを生で見ることができる (ブログだとそうはいかない)。それがうれしい
ということなのかな、と。
自分の理解のためにも、人に考えを広めるためにも。 指を動かしてキーボードを叩くだけではなく、口で言葉に出そうよ! どんどんあちこちに出ていこうよ! というお話でした。
第三回Award on Rails LT で話してきた
March 29th, 2008 | Published in Uncategorized
第三回Award on Railsライトニングトーク にお呼ばれしたので、話してきました。ありがとうございます!
- 資料: Twitter Bot を Ruby でつくる
- ビデオ:
そのうちアップされます されました。
RailsといえばイントラBTSもどきくらいしかつくったことがないぼくが、Railsの会に行って何をしゃべるのか。実際なかなかのアウェイっぷりでした。しかもネタがニッチ。 2007-11-14 に書いたRubyでTwitter bot を書く というエントリをベースに、デモを加えて話しました。
伝えたかったこと
- JabberでつくるとAPI制限なくていいよ
- Webアプリのメール通知はうっとうしい → IMで通知 (Jabber) がもっと広まればな
よかったこと
-
daisakuさんと話せた。List共有のつくりこみを3週間で、ていうのはすごい
-
technohippy さんのcrayon physicsプレゼン。ライブラリはオープンになってるとか。使うしか
-
さんと話せた。可視化とかエロギークとか。優秀なひとオーラがあった
- クックパッドのCTOの人と話せた。Railsでお仕事してる人たち、と初めて話せたんじゃなかろうか。「毎日たのしいよ!」とにこやかだったのが印象的
- ごはん激うます
その他
クックパッドのオフィスはマンションの一室。キッチンがすぐ横にあっていい匂いがする素敵な場所でした。仕事しにいくといいんじゃないかな。おいしい料理も食べれるし。
ふだんとぜんぜ違う人たちに交わると、ものを見る目をまたひとつ獲得できる気がします。みんなどんどん外に出ていくといいよ!
1000speakers:3 : どこでもゆびピアノ++
March 23rd, 2008 | Published in 日常
1000speakers:3 で話してきました。 ゆびピアノとGainerをくっつけた、どこでもゆびピアノ++というネタでした。
ゆびピアノという旬なデバイスを、いち早くハックして発表できてよかった。 こういうネタは鮮度が命ですよね。
LTネタをずらっと並べて、聴衆に選択してもらうスタイルでやろうという腹づもりでした。 しかし、焦ってしまって、すぐにゆびピアノネタで話はじめてしまいました。いかんいかん >< 話さなかった他のネタについて聴きたい人は、何かの機会に僕をつかまえてください。 いちおう全部の資料は用意してありました。
気をつけたこと
せっかくライブでしゃべるのだから、ライブでしか体験できない何かをしようと思ってました。 リア充ですね。
1. フィジカルプレゼン
コードだけじゃなくて物理的に存在するモノを動かして発表するというスタイル。 みんなGainer買うといいよ。
2. 小咄
プレゼンの定石である、背景→問題点→解決方法→まとめ というのを、ドラえもんメソッドでやってみました。
ドラえもんメソッドとはなにか
ドラえもんのストーリーは、
- のび太が泣きながら帰ってくる (つかみ)
- ドラえもんが話を聞いてやる (問題提議)
- ドラえもんが四次元ポケットから道具を出す (解決方法)
というものです。おや、これってプレゼンにつかえるんじゃない? と。 会話形式でやることで、聴衆に興味を抱いてもらえやすくなると考えたのです。
さいしょスライドはドラえもんのAAでつくっていたのですが、どうも著作権的にアウトぽかったので、 前日の夜に急いで2chのAAに差し替えました。ちょっとインパクトは下がってしまいましたが、致し方なしですね。
ドラえもんメソッド、つかってみてはどうでしょうか。
よかったこと
- それなりに笑いはとれた。
- おお、と思わせることができた。One More Thingというメリハリ。
-
Psychsさんの隣の席で、あれこれ話せた。惚れた。僕があと12歳若ければ、恋に堕ちていただろう。
-
よしおかさんに宴会でコードリーディングについて聞いた。でかいコードは動的な読み方が最速だよ、というのに同意。
-
と、分業についてトークできた。最終製品にみんなが責任を持つためには、というテーマ。
-
Yuyarinにおともだち認定された。いぇい
一発ネタとしてはまずまずだったかな、と。
反省 ><
- 緊張のあまりコードを断線させてしまい、プレゼンを中断してしまった ><
- せっかくライブ演奏してるのに、手元が見えてない。カメラのアングルを調べておくべき ><
- 滑舌がわるい ><
- もっと聴衆を見て話すべき ><
- 「で」でスライドをつなげてしゃべってる。はっきり区切るべき ><
- 「〜わけですよ」大杉 ><
- 小咄ではもっとなりきるべきだった ><
- 宴会でもっとたくさんの人と絡みたかった ><
言い忘れてたこと
-
英語重要。高校生のひとたちは、クルマの運転免許取得につかう30万円をもってそのままマンツーマンの英会話学校に通うべき。
-
エンジニアはドラえもん。四次元ポケットからどんなコードでも出せるよ。
感じたこと
自分をアイデンティファイするものを、はっきりさせよう。 ぼくはこういうものです、という何か自分の代名詞となるものを、しっかりとつくっていこう。 すごいプログラマになる !
話してみて、こうやったらよかったなー、と気づいたことを、 1000speakersのWikiに書いておきました。 書き足していくといいんじゃないかな。
次回は4/26です。みんな話しにいくといいよ!
関連
先行事例が2つありました…
Gainer++ その2
March 19th, 2008 | Published in Uncategorized
昨日のつづき。 今日のコミットで、以下の動作が確認できました。
- コンストラクタでのモード切り替え
- アナログ入力
- デジタル入力
アナログ入力の確認中に、どうも値がヘンなことになってて30分くらい悩んだのですが、によると、アナログ端子はアンテナみたいになるので値が不定になるよ、とのこと。そんなことも知らない素人です。
gainer-ruby のコードでは、デジタル入力が1ポートしか取れないことになっていたので、ビット演算したりして4ポートぶんとれるようにしました。
それにしてもプロトコルの仕様が知りたいよ、とうろうろしていたら、ちゃーんと公開されてました。さすが。ちゃんと調べなきゃですね。
Gainer++ – GainerをC++から使う
March 18th, 2008 | Published in Uncategorized
Gainerを、C++から使えるようなラッパを書いています。 Rubyから扱えるgainer-rubyのコードをC++に書き移して、Gainer++としてCodeReposに登録しておきました。コードはこちら。
まだI/Oポート周りのコードを移していないのですが、Gainer I/OモジュールのLEDを点灯させるサンプルプログラム (gainer-rubyのページにあるもの) は動いています。(gainer-led.cc)
せっかくより書き易いRubyのライブラリがあるのにC++で書くなんて逆行してるよ! と自分でもつっこまざるを得ないのですが、Gainerをより低レイヤ (CoreMIDIとか)と連携させてみたい、というのが動機です。
つかったりコード直したりしてみてくださいね。
関連
Aipo4 on Debian etch
March 11th, 2008 | Published in hack
Aipo4というオープンソースのグループウェアがなかなかいかしてます。 Linux版のインストーラは、RedHat系のものしか用意されていないんですが、Debian etchなマシンにインストールできたのでやりかたを書いておきます。
1. パッチあて
aipo4-debian-patch を展開して出てきた installer-debian.patch を、aipo/bin/fc にて
# patch -p0 < installer.sh-debian.patch
のようにしてあてます。下に貼りつけときますが、やってることは単に必要なrpmがインストールされてるかどうかのチェックをコメントアウトしてるだけ、というもの。
2. 必要なライブラリのインストール
libreadline-dev, zlib1g-dev が必要ぽいので、apt-get install しておきます。
3. install
# cd aipo/bin/fc && sh installer.sh
でOK。
と書いてきましたが、まとめるほどのことではないですね。コメントアウトしておわり。簡単ですね。
パッチ
--- installer.sh.orig 2008-03-10 14:45:28.000000000 +0900
+++ installer.sh 2008-03-10 14:46:36.000000000 +0900
@@ -183,31 +183,31 @@
rpm -qa --qf "%{GROUP},%{NAME}\n" > $path/bin/rpmlist
-tmp_str=cat $path/bin/rpmlist | grep readline-devel
-if [ "$tmp_str" != "" ]; then
- echo "checking readline... ok"
-else
- echo "checking readline... error"
- check_str="ERROR"
-fi
-tmp_str=cat $path/bin/rpmlist | grep zlib-devel
-if [ "$tmp_str" != "" ]; then
- echo "checking zlib... ok"
-else
- echo "checking zlib... error"
- check_str="ERROR"
-fi
-
-if [ "$check_str" != "AIPO_INSTALL_OK" ]; then
- if [ "$1" != "check_pass" ]; then
- echo "Aipo$aipo_versionのインストールに失敗しました"
- userdel -r ${postgres_user}
- exit 0
- fi
-fi
+#tmp_str=cat $path/bin/rpmlist | grep readline-devel
+#
+#if [ "$tmp_str" != "" ]; then
+# echo "checking readline... ok"
+#else
+# echo "checking readline... error"
+# check_str="ERROR"
+#fi
+
+#tmp_str=cat $path/bin/rpmlist | grep zlib-devel
+#if [ "$tmp_str" != "" ]; then
+## echo "checking zlib... ok"
+#else
+# echo "checking zlib... error"
+# check_str="ERROR"
+#fi
+
+
+#if [ "$check_str" != "AIPO_INSTALL_OK" ]; then
+# if [ "$1" != "check_pass" ]; then
+# echo "Aipo$aipo_versionのインストールに失敗しました"
+# userdel -r ${postgres_user}
+# exit 0
+# fi
+#fi
deadbeaf.org 不調
March 10th, 2008 | Published in Uncategorized
どうも Mac mini から異音がしてます。度重なるブレーカダウンによるクラッシュでHDDがダメになってきてるぽい。
deadbeaf.org と trac.deadbeaf.org はしばらく見れない状態になってるかもしれないです。QSTwitterのダウンロードができなくなってます。ご迷惑をおかけします。blog.deadbeaf.org, en.deadbeaf.org はだいじょうぶ (別サーバで動いてるので)。
1000speakers:3
March 10th, 2008 | Published in Uncategorized
再来週にある1000人スピーカプロジェクト 第3回 で話してきます。滑りこめてラッキー。
ネタは隙間産業的プログラミングとかWorking Effectively with Legacy Teamとか、いろいろ考えてます。なんにせよ、いまから2週間でなんかつくろう。プレゼン駆動開発ですね。
Michael C. Feathers
Prentice Hall (2004/09/16)
売り上げランキング: 6142
infowi.se
March 8th, 2008 | Published in Uncategorized
QSTwitter のエントリを読んでくれた異国の人が、プロジェクト一緒にやんない? と言ってきてくれたので、やってみることにしました。infowi.seというプロジェクトです。によると、ヨーロッパ人 x 1、アメリカ人 x 2、日本人 x 1 という混成部隊。
まだいろんなことが分からなくて五里霧中のまっただなかにいますが、なんとかひとつずつやっていこうと思います。 失うものはないのだから、やるだけやるしかない、ですよね。
Tags: infowise