RHGの逆襲 #1に行ってきた
January 28th, 2008 | Published in Uncategorized
The RHG Strikes Backの第1回に行ってきました。(RHGはいちおう持ってます)。僕はミラクルリナックス会場にいました。
すすめかた
コード読書会は自分でも主催したことがあるんですが、そのときはどうもうまくいきませんでした。 参加者のモチベーションレベルが様々だったり、一人が説明するのをみんながぼんやり眺める、というように盛り上がらなかったのです。 そこで、世間のコード読書会はどのようにして行われているんだろう、という関心が参加した理由のひとつでした。
んでどうだったかというと、さすがにみなさんモチベーションは十分で、コードを読むのが好きな人が多いはず。なんですが、どうも静かだったように感じました。 Yuguiさんとささださんのおかげで、実装の話は興味深く聞くことができたのですが、 せっかくたくさんの人が集まっているのだから、ここでしかできない何かがあれば よいかな、と。
それで思いついたんですが、一人一関数、深さ優先でコード読み会というのはどうでしょう。 その回でターゲットとする大きめの機能について、コールグラフをつくっておいて、参加者全員にひとつずつ関数を割り当てて。 本番では、関数コールをするたびに発表者が変わり、returnで元の人に戻る、といった具合に。
メリット
- 全員参加型 → ほどよい緊張感
- 予習範囲が少なくてすむ → 参加への敷居が低くなる
- 関数コールで次の人にバトンを渡すというコミュニケーション
デメリット
- 個々人が小さな領域を中心に読むので全体像を把握しにくい
- まとまった機能単位で理解しないかも
んー、うまくいきそうな気もする。 それぞれの、読書会に対してもってる目的に合っていれば。
懇親会
NESプレゼンの中の人と、LT駆動開発について意見の一致をみたり、HotRubyの中の人と脳内コンテキストスイッチのコストについて語ったりしました。 楽しいー。
Yuguiさん、よしおかさん、素敵な場をありがとうございました。
iPhoneほしい !
January 23rd, 2008 | Published in Uncategorized
この前の日曜にあったRemember The Milk 交流会 で、 なぜか iPod touch を啓蒙しまくっておられた iPod touch ラボ さん。
僕も購入予定だったのでいっぱい touch にタッチさせてもらってたんですが、そのときに 「近日中にプレゼント企画しますよ、応募してくださいね」 と言われていたプレゼント企画が行われています。
100万PV突破記念~「iPhone」を1名様にプレゼント!!
100万PV突破と、サイト名リニューアルを記念して、 「iPhone」を1名様にプレゼントします!!
応募要項は、次のとおり。かんたんですね。
- 該当エントリを引用
- トラックバック / コメントを残す
ということで、さっそくエントリ書きました。iPhoneほしい! あたれ〜。
January 23rd, 2008 | Published in Uncategorized
QuicksilverからTwitterに投稿するプラグイン、QSTwitterを1.2にアップデートしました。 ダウンロードはこちら。
変更点は2つ。
‘+’ 問題 を解決
1.1までは、‘+’を含むメッセージを入力するとスペースに変換されてしまうという問題がありました。 これは、NSString.stringByAddingPercentEscapesUsingEncoding が ‘+’ をエスケープしてくれないことに起因していたのですが、今回はやっつけで /+/%2B/g するようなクイックハックで解決しています。
かわいいアイコン
のアイコンがかわいかったので、使っていい? とところ快諾されたので、使うことにしました。(Thanks Alex !) プラグイン選択画面、プラグインの設定画面、そしてメッセージを送るときに表示されます。 ドット絵風でとってもキュート。
ぜひぜひお使いくださいね。
Remember The Milk 交流会 in 東京 に行ってきた !
January 21st, 2008 | Published in Uncategorized
愛用しているタスク管理ツール、Remember the Milkのオフ会が渋谷であったので行ってきました。 ものすごいあったかなスローオフ会で心が和みましたよ。
目的
- Omarにいろいろリクエスト
- Emilyにいつも迅速なフィードバックしてもらってることへの感謝
- APIハカーと情報共有
パーティ
まず、Pink Cowという店になかなか辿り着けませんでした。渋谷というダンジョンはおそろしい。 着いてドアを開けるとそこはカオス。受付とかなくて、いきなりパーティ。 荷物を置いてカメラ、moo MiniCards、財布を握りしめていざゴー。
Emilyぽい人が所在なさげにしてたので、話しかけてみた。はたしてEmilyだった。 この会はどういう風に進んでくの? と聞いたら、”I’m also confusing…” とはにかまれた。Emilyかわゆす。 いつもすぐに返事くれてありがとう(はぁと)と伝えたら、やっぱりはにかまれた。あるいは英語が通じていなかったのかもしれない。 んでAPIにリクエストがあるんだけど、と聞いてみたら、私じゃなくてOmarに言ってちょ、とリダイレクトされた。Omar召喚。
そしてOmarといろいろ話した。
リクエスト
JSON Request
ずっと前からサイトにcoming soonてあるけど、いつできるの? と聞いてみた。 “You are the first person that asked this” とか言われた。 でも、使うんだったらさっさと実装するよ、という返事をもらえた。Omar++。
OpenID
OpenIDつかう予定ない? と聞いたら、Maybeと言われた。
言いそびれ
- 認証をとるとこのドキュメントはちょっと足りないよ。認証URLをつくるのにはバッドノウハウがいるんだ。
いろいろ
- OmarもEmilyも若い。すごいサイトやってるのにシャイガイとシャイガールという雰囲気で好感がもてすぎる。
- いまだに2人でサイトやってる。採用しないの? と聞いてみたら、”I hope”とな。
- Omar1人でぜんぶ開発してるとか、すごすぎるのにも程がある。
- サーバ何台? という質問にはナイショだよという答え。
- Omarは幾多のオープンソースプロジェクトにcommitしてきてる経歴がある。名前でググってみ、と言われた。1996からLinuxとかJSON/PHPとかPoistfix+memcacheとかPostgreSQLとかとか。Omarすごす。
- 昨日APIのPythonラッパ書いたんだーと言ったら、Pythonは俺も好きだよ、RTMでもあちこちで使ってるよ、と。
- Google Gears 対応速かったよねー、と聞くと、2徹で仕上げたんだ、と。
- etc, etc…
その他
iPod touchとか、賃貸はつらいよねえとか、ガジェットと大蔵省とか、イースター島とニュージーランド、あるいはロードオブザリングとか、通販と数珠とか、ガールズにもっと訴求しなきゃ! とか。
RTMの日本語ブログ書いてるMIyazakiさんと話してて、APIでいろいろつくってるんすよーと言ったら、そんなの知らないよと言われたのであとでメールします。
僕はというとコロナを7本くらい飲み干して、あちこち話しかけてまわっていました。 夫婦で来られている方々が2組いて、微笑ましかった。いい関係なんだろなーと。
OmarもEmilyも、ぼくがmootohであることを名乗るやいなや、昨日ぼくが発表したところのTicket2RTM はcoolだったよと褒めてくれた。なんというナイスピープルなんだおまえらは、と。 それに、ちゃんと昔のrtmilkとかcartesianTaskとかrtmProgressについてちゃんと言及してくれた。ぼくは感涙しました。 でもやっぱりmootohは”むーとぅー”と国際的に読まれるんだなあと。 そろそろ改姓したほうがよさそうです。
rtmilkを使おうとして昨日checkoutしましたというひととお話しすることができた。自分のつくったものを使ってもらえることってなんて素晴しいんだろう。
APIハカーなひとは残念ながら見つけることができませんでした。情報共有したかったな。
帰り際に、みんなで写真を撮ったんだけど、なんかすごいうれしかった。 なにこの一体感、みたいな。
んで、僕はOmarとEmilyからでかい牛ぐるみをもらった。APIハックありがとう、とな。 Thank youしか言葉を知らない自分を蹴飛ばしたいほど嬉しかった。 23時頃の首都圏の電車で、上着のポケットからでかい牛に顔を出させてにこにこしてたのはきっと僕です。
次は大阪でやるとのことなので、みんなぜひ集まりましょう!
Shibuya.trac ミーティング1.0
January 20th, 2008 | Published in Uncategorized
Shibuya.trac ミーティング1.0に赴き、Ticket2RTMで講演デビューしてきました。発表資料はこれ。
参加した目的は2つ。
-
LTする : LTしますと宣言することでものづくりをするというLT駆動開発 (アウトプット)
- TracのTIps,ノウハウなんかを得る (インプット)
今回Ticket2RTMを4日でつくり上げることができたのも宣言したことで自分の尻に火をつけてたからですね。2つの目的がちゃんと果たせたのでよかった。
以下、自分が思ってたことをつらつらと。
Shibuya.tracについて
Mac自分だけ… 直前に 買っといてよかった。
レポジトリ
活動の場をどこにするか、という話題で、 SF.jp / CodeRepos / TracHacks / サーバ建てる というのがなかなか決まりませんでした。
TracHacksにコードを置いてグローバルに活動して、 日本のTracハカーのpresenceを上げるのがいちばん良いのではないかな。 レポジトリがあちこちに散らばるのは避けるべきでは。 コードじゃなくて、ノウハウの共有とかならどこかのWikiに書いて、 InterWikiやInterTracの機能をつかって連携させると。 コミュニティとしての活動を共有するためなら、 なにもすべての機能が1つのTracに収まってなくてもよいわけで。
目的
なんにせよ、コミュニティで何をやろうとしているのかをはっきりさせないと 始まらないですね。そこが曖昧だったので議論が錯綜してたと思いました。
オープンに
ネットがなかったのでTwitterもUstもできなかったのは辛かった… Shibuya.trac Planetをつくるのはいいアイデア。
Trac ハック
Reminder プラグイン
話題に上がってたんだけど、たしかにあるといいな。 やるなら、APIで全ticketを走査して期限が近づいてるタスクを通知する、とかいうスクリプトをcronで毎日回せばできそう。
宴会
いろんな人が それぞれにTracに対して思うところ (コードがアレだとか、DB設計が”これはひどい”だとか) も あるんだけど、その分だけ可愛いよTrac的な愛を共有しているのがよかった。 けっきょく小回り効くというのがTracのいちばんの魅力なんだな。
聞いたことなど:
- CVSをバックエンドにするのは、本家でしないと明言されてる
- DBは安定度で言うと、MySQL < PostgreSQL < SQLite
- TracをハックりたいからPython覚えたっていう人が何人かいて、おお自分と同じ! と思った
- 0.11 は機能アップまくりだから0.10の人はアップグレードするとよいよ
- その他NDAなので(ry
聞きそびれたこと
- 複数Tracてふつうだよね ?
- 何人くらいのチームでつかってる ?
- InterTrac つかってる ?
発表を録画するのを忘れたのはイタかった… 久々のプレゼンだったので、ずいぶん緊張してしまってたんですよね。 あとからダメ出ししたかった。
おかもとさんのコミュニティを育てようという気持ちが伝わってきた いい会でした。参加してよかった。 発表を聴いてくださった方々、宴会で話してくださったみなさんに感謝です。 Ticket2RTM 試してみてくださいね。
Ticket2RTM
January 18th, 2008 | Published in hack
A Trac plugin that synchronizes Trac tickets and Remember the Milk tasks.
- when a ticket is created, a RTM task also will be added.
- when you close a ticket, the associated RTM task will be completed.
Screenshot
Screencast
Download
The source code is on github: http://github.com/mootoh/ticket2rtm/
Benefits
- unified Task List
- check tickets from mobile
Install
build
- edit Makefile and set PLUGINS_DIR to your Trac plugin dir
- make
or:
- python setup.py –bdist_egg
- copy dist/TracTicket2RTMPlugin*.egg into your Trac plugin dir
RTM API key, token
This plugin requires RTM API key, shared secret, and write-permitted token. You can obtain your API key and shared secret from here.
After acquired key and shared secret, you can get your token by using bundled script. Run as follow:
% python get_token.py
Configuration
- copy/paste contents of trac_ini_sample.txt to your trac.ini
- set rtm_api_key, rtm_api_secret, rtm_api_token to ones acquired above
- enjoy !
Ticket2RTM 0.1
January 18th, 2008 | Published in hack
TracのチケットからRemember the Milkのタスクを自動生成するTracプラグインをつくりました。 詳しくは trac:Ticket2RTMに。
スクリーンショット
チケットがつくられたら、自動的にRTMのタスクがつくられます。
スクリーンキャスト
ダウンロード
ticket2rtm-0.1.zip
動機
やることリストを1つにしたいと思ったのでした。
- RTMで日々のやることを管理しつつ、何かつくるときはTracでチケットを切ってる → タスクがあちこちに分散
- 複数のプロジェクトを同時にTracですすめる → チケットがあちこちにありすぎ
あちこちにタスクが散らばっていては、やらなきゃいけないことを見落としてしまったり、やらないことを決めるためのコストが増えてしまったりで、ストレスフリーな状態になかなかなれません。
ぜんぶまとめて1つのインターフェイスで見られたら幸せだろうな、RTMのインターフェイスはいいよな、と考えてプロトタイプをつくってみたのでした。
あと、RTMはモバイル版もあるので、チケットをケータイからも確認できるという副作用的メリットもあります。
学んだこと
Python
Pythonのコードをまともに書くのは始めてでした。selfうっとうしいとか、正規表現めんどいとか、インタラクティブ環境でのreloadを最初しらなくてえらい非効率だったりとか、switchないの? とか驚きの連続でしたが、なんとかなるもんですね。 プラグインをつくるためにTracのコードを読んでたのですが、インデント強制な言語はコードリーディングにいいですね。 ものの見方を増やせたのはよかったかなと。
RTM連携させるために、RTM APIのPythonラッパの一部を書くことになりました。 これには1年ほど前にrtmilk.rbというRuby版をつくっていた経験が活きました。多少言語のsyntaxが変わろうが、やりたいことがはっきりしてれば考え方は同じ。
Trac Plugin
TracでPluginを書くのは思っていたよりも簡単でした。 これをとっかかりにして、いろいろなアイデアを形にしていこうかなと。
今年のアウトプット第一弾はTrac+RTMハックでした。 1/14から始めて、夜なべでつくり、1/18に0.1リリース。思いつき駆動だなー。 しかしこれで明日のShibuya.trac ミーティング1.0、明後日のRemember The Milk 交流会 in 東京で話せるネタができたということで。
LAS
January 6th, 2008 | Published in Uncategorized
2008年ですね。今年もよろしくお願いします。
ということで、ラスベガスにいます。夜景がすごい。 遊びに来ているように見えて、実は休日出勤なのですね。 時差ボケがきつくて吐きそうです。エコノミークラスで長時間は眠れませんよなかなか。
眠れない間なにをしていたのかというと、を一気読みしていました。あっというま。掴めそうで届かない村上ワールドを久々に堪能です。
さて、着替えを洗濯して寝るとします。起きて空腹だったとしても、眠らない街ラスベガスでは食に困らないに違いないと踏んで。