並列プログラミングカンファレンス、略して 並カン を開催しました。はじめてのイベント開催でどうなることかと思いましたが、とてもよい会になりました。
いまそこにある並列プログラミング
そもそも、なぜ並列プログラミングについて語るのか。この会をひらいた目的はなんだったのか。そのあたりについて話しました。
みんながふつうにつかっているコンピュータはすでにマルチコアになっていて、速いプログラムを書きたければ並列プログラミングをするしかない。富豪的アプローチもよいですが、ぼくは遅いプログラムがイヤなのです (これは自戒)。
たとえば。病床にいるとしましょう。もうそんなに時間が残されていない。夜になり、痛みで眠れない。唯一の助けは家族とのケータイによるメールだったりするのです。そんなとき、ケータイに載っているソフトウェアの動作が緩慢で、 UI のレイテンシがひどかったりするのは許せない。雷鳴が閃くかのように高速に走るコードを書き、ひとがコミュニケーションするじゃまをしない UI が実現できるよう、力を尽くしたい。
ん、なんだか話が逸れました… ともかく、並列プログラミングをふつうのプログラマも嗜んでないといけなくなりつつある。しかし、これまで並列プログラミングというと、研究者や一部の必要に迫られた人たちの分野だったりしました。並列プログラミングについて、ふつうのプログラマがカジュアルに話す場ってまず見ない。んじゃひとつ、そういう場をこしらえてみよう、というのが今回の並カンをやった目的だったのでした。
まぁ、「並列プログラミングしているひと!」と聞いたときに、半数以上の方が手を挙げてくださったときにはたまげましたが。
みなさんの発表
ハードウェアから独自言語まで、という幅の広さでした。いずれも浮世離れしたものではなく、現実世界の問題を解決するための話だったのがとてもよかった。
終わったあとに、「最近のライトな勉強会のノリじゃなく、ひどくテクニカルなところがよかった」という声をいくつかいただきました。発表に名乗りをあげてくださったみなさんのおかげです。クオリティたかい!
特定分野に偏らず、多様な話をまとめて聴けたのはよかったんじゃないかな。分野のまたがりはゆるく、技術的には深く。ぼくはとても楽しめました。発表の途中に質問をはさむ、という主催者の特権を乱用したりして。会場の雰囲気、 Twitter のまとめ を読む限りでは、なかなか盛り上がっていたようでした。
運営、スタッフ、課題
当日に至ってもほとんど計画のないままで、まったくどうなることかと思いました。これはひどい。無事に終えることができたのは、頼りないぼくを見かねて助けを名乗り出てくださったみなさんのおかげです。
みなさんが自ら動くことでイベントが組み上げられているのをみて、まじめに感動しました。レベルたかい!
課題は山ほどある。やってみて初めて気づくことというのがありますね。
- ちゃんとしたプログラムがなかった。終わる時間がのびてしまったのはまずかった。
- ひとつひとつのセッションがちょっと長かったかな。おもしろい話ばかりだったので、短くするのもつらいところ。時間をちゃんと区切っておけばよかったんだろう。
- 当日やることは前日までに洗い出しとかないと。
- atnd はやはりつらい。キャンセル率は、だいたい予想どおりだったのでよいのですが、全員に告知する方法がないのが致命的。 twtvite とかがよさそう。
- Ustream。事前にお伝えしていれば、ちゃんとした方法で中継することができた。マイクは必須ですね。あと、録画しわすれてた。次は Ustream Producer を試そう。
- wave はあまり使われなかった。勉強会といったチーム作業で威力を発揮するだろうと踏んでいたんだけれど、まだまだ市民権を得られていない。
次に何か企画するときには、このあたりを踏まえて精進します。
次回
終わってから、「第2回も楽しみにしてます!」といった声をいくつか見ました。むむむ… アンケートをつくりました ので、投票いただければ。
やるとしたら。今回は並列プログラミングの話題を中心にしましたが、 Web の世界のような分散システム、並行プログラミングについての話があればよいな。みんなが実際に手を動かすワークショップもいいですね。あとぼくも例のやつについて続編をしゃべります。
いずれにせよ、おもしろ発表者が幾人か集まれば開催したいとおもいます。
Happy Parallel Hacking!
113人もの注目をあつめている並カン ですが、日時と場所が決定しました。
atnd には全員に連絡する方法がないので、ご友人ご同輩で参加される方がいらっしゃれば、 atnd ページ を日々チェックするようお伝えいただければ幸いです。
詳しくは atnd で!
これまでのポスト:
atnd::並カン
世の中はすでに並列コンピュータだらけなのに、並列プログラミングはまだあまり浸透していないように見えます。アカデミックな世界では、並列プログラミングは長い間研究されてきたわけですが、エンジニアがいる開発の現場ではまだまだふつうの直列プログラミングが大多数。スレッドこわい! Perfume Locks!
そんなギャップを埋めるには、並列プログラミングについて語り合う場があるといいんじゃないか。ということで、並カンをやってみようと思いました。学会よりは勉強会に近いノリをめざします。 12月中旬から1月下旬のあいだです。お誘い合わせのうえ、おこしください。

FLTV に参加して、 並列に動かす何か というタイトルでしゃべらせていただきました。 主催者の @ranha さん、会場提供のチームラボさん さんありがとうございました。チームラボの環境ナイスでした。
ぼくの話は、いまつくっている並列プログラミングのための何かについてのものでした。 SWoPP 2009 で話した内容そのままですが、日頃あまり並列プログラミングについて考えることないなー、といった方にも興味を持っていただければ、という。
WEB+DB PRESS vol 52 でも takiuchi さんが並列プログラミングのイントロを書いていたり、ちょうど前日に行われた LLTV でも並列プログラムのデバッグ方法について語られていたようで、じわりじわりと並列プログラミングがその地獄への穴を拡大してきているように感じます。 ranha さんは未来なんてない! と叫んでおられましたが、近未来は並列地獄なのかもしれません。
そんな中で、「性能が足りなければハードを買ってくればいいじゃない」というだけでなく、もう少しソフトウェアにできることを考えてみたい。また、単にハードウェアを買い足すだけで性能がそれに応じてスケールする、というそのメカニズムについて、秋の夜長に思いを馳せてみるのはいかがでしょうか。
他の方の発表を聞いていて思ったのは、ただのテキストファイルに、よくこんなにもたくさんの意味を持たせるなープログラミング言語というのは、ということでした。解決したい問題の多様さと、自分の意志を実行可能な形式に落とすための表現力の幅の広がり。
ここ最近では、プログラミング言語なんてどれも大差ないよねー、もとい、同じパラダイムのプログラミング言語ならどれを使ってもその表現力はオーダーが変わるほどじゃないと思うようになってきています。定数項にすぎないだろうと。
それでもなお、こんなにたくさんの表現方法がある、というのはなんなんだろうねと思わされました。
言語が思考を規定する一方で、思考のレベルで言語を使い分けるというのもある。
自分の伝えたいアイデアやメッセージを、かんたんに、正確に、美しく、聞き手が分かるように、伝える方法をずっと探しているのかな。
あと未来では脳直結プログラミングができるようになるからプログラミング言語いらなくなるよ説についてその後考えてみたんだけれど、考えた軌跡としてのプログラムというものを残すためになんらかの言語は残るんじゃないかなと。
そこに残るのは結局 C なのかもしれない。
ふまじめなまとめ
- “継続とは、一言で言うと、死亡フラグのことです”
- 未来派言語使いは Haskell / C++ ラバーが多い模様。どっちも東西の横綱ってかんじするものな
- 未来派言語使いはのんびりしゃべる、というかマイペース
- というか未来なんてない
RubyKaigi 2009 の2日目、 Beer bust 片付けを終えたあと。なんか無性にこの昂りをつたえたくて RejectKaigi キャンバスにふせんを貼っていた。

電波にあてられて、3日目の RejectKaigi 直前につくっていたスライドが以下のもの。 RubyKaigi スタッフになるのおすすめだよ! という勧誘でした。
終わってみると、ひたすら「ともだちほしいんです!」「ともだちできました!」と連呼する稚拙な発表になってしまい、72時間は自己嫌悪から抜けられませんでした… なんか自分の話ばっかりしてしまった。これはひどい。

たしかに、輪の中に入ろうよ! ということも伝えたかったことのひとつだったんだけれど、それよりももっと伝えたかったのは、こんな nice なチームがあるんだということを中に入って体験してほしい ということ。そして、あなたが RubyKaigi というこの場、Ruby という不思議な魅力をもつ何かのためにできることがここにもあるんだ 、ということです。
nice なチームといっしょに働くことは、自分が nice なチームをつくるための第一歩になるんじゃないかと思うのです。 nice であるというのはどういうことなのか、体験できる機会はなかなかない。 RubyKaigi スタッフとして活動するというのは、そういう貴重な機会に飛びこめるということなのです。
ん、RubyKaigi スタッフをやらせてもらって感じたことは、また別のエントリに書きます。
スタッフなのに2日連続で RejectKaigi でてしまってほんとすみません >< 来年はテクニカルなセッションでしゃべります >< 翻訳もがんばります ><
UI特集というのに釣られて builder techday に行ってきました。
ソシオメディア の人による基調講演がよかった。ユーザにとってはUIがすべてである。
よいユーザインターフェイスとは、自然で気づかれないもの。なので評価もされにくい。
あの機械のUIはサイテーだよね、とかあのソフトのUIはなんであんなことになってんのか理解できねえ、とか言う声はよく聞きますが、じゃあよいユーザインターフェイスってどんなのがあるの? と言われると困ってしまう現象の正体ですね。
あと、ソシオメディアのサイトには iPhone 用のものがあり、そこのツールバーには電話、地図といったユーザがまず使うであろうショートカットが用意されている。あれは実に気がきいてる。
個人のサイトだったら、メール、Twitter ID にreplyするためのリンクなんてのがあればいいのかもしれない。
その他、マイクロソフトの人による「なぜOffice 2007ではあのようなツールバーになったのか」話やAdobeの人によるAIR話なんてのがありました。パネルディスカッションはZDNetとCNETの中の人たちによるサイト構築のあれこれ話だったんですが、なんだか内輪の話っぽくて距離感を感じたり。
デザイン主導開発ってのはアジャイルにあるまずユースケースを描こうよ、みたいな話ですよね。
プログラマの視点だとつい機能面からつくり出しがちなんだけど、そこを一歩引いてユーザ目線でつくりはじめること。
できてるかな? んー、まだまだか…


秋刀魚を食べながら まとめ買いしたGithub Tシャツを受け渡しするの会、通称 秋刀魚.git をやってきました。ことの経緯はこちら。

最初はどうなることかと思いましたが、@sonson_twit さんや @bsheep さんをはじめとした炭職人の奮闘のおかげもあり、16匹の秋刀魚をたいへん美味しくいただけました。秋バンザイ!
参加してくださった方々: @mootoh @bsheep @takkaw @yamy @ymorimo @youhei @kajidai @swdyh @sonson_twit
半分がはじめて会う方、とかいかにもTwitter時代を感じます。
けっきょく秋刀魚に必至で LT の時間を設けるのをすっぱり忘れてしまっていまして、Github Tシャツをトリガーにした秋刀魚を食べたい若人たちの群れになり下がってしまってました。まあ、たまには昼から外でテクトークとか非テクトークとかを飲みながらしてもいいじゃない。
今回、はじめてこうしたイベントの幹事をやりました。4年前に社会人になった頃、ひっこみ思案だったのが嘘みたいですね。
よかったこと:
- みんな協力的だった。自分ひとりじゃとてもまわせない
- 呑む前に会費を徴収した。@ymorimo さんのアドバイスによる
- 電話番号交換をしてるひとが何人かいた。Twitterによる連絡だけでは心もとなすぎる
改善ポイント:
- 連絡が直前すぎた。もっと早めに動いて決められるとこを決めてしまったほうが、みんな参加の意思を決定しやすい
- 優柔不断的だった。みんなの意見は聞きつつも、ずばずばっと決めてしまったほうがよい場合もある。仕切り力をつけねば
- 秋刀魚&ビールに夢中でいろいろと仕切るのを忘れがちだった。自己紹介タイムが遅れた
- 大根まるまる一つはでかすぎた。あと下ろし金わすれてきたとか
@sonson_twit、@takkaw さんの奥様によるおにぎりが、間をつなぐhubとして機能していました。@takkaw さんの奥様においては、Perler B’z というかわいらしいおみやげの品を全員に用意してくださるという女子力っぷり。
エピソードつき七輪を担いできてくださった @youhei さん、すばらしい炭の火おこしに貢献してくれた @sonson_twit さん、そして場をつくってくださったみなさん、ありがとうございました。
炭があとはんぶん残ってるので、またやる?
iPhone祭り につられて第4回 DEMOsa に行ってきました。
10分間のLTが16個もあるという豪華なイベント。
iPhoneが日本で成功していないとかそれなんて都市伝説? みたいな。
印象に残ったもの
Audible Realities の徳井さん。
そもそも今回、このイベントに行こうと思ったのは、かつて音楽と呼ばれたものを読んでて彼がここに出るよと書いていたからでした。
ユーザをiPhone (の画面) から解放する ようなものをつくってるんだよ、と。狭い画面を飛び出して、無限の広がりをもつイマジネーションの世界にユーザを連れていく。モスキートのデモを見て、その言葉の意味が伝わってきました。すごいな。
音楽が主戦場な人なんだろうけど、こうやって興味深いソフトウェアをつくっていたりする。複数の分野に精通することで見えてくるものがあるし増してくる説得力があるのだろう。
あと、とにかくプレゼンがうまかった。
駅ベル は関心空間のひとがつくってたとか知らなかった。困難にぶつかるたびにどうクリアしていったか、というエンジニア的なストーリーを笑いを混じえながら話す、ひょうひょうとした語り口がすばらしかった。スピーカーの魅力重要。
セカイカメラ の話はTC50の続編といった趣で、どうビジネスとしてやっていくのか、世間にインパクトを与えていくのかという話。目の前で繰り広げられている現実にコンピューティングによって彩りが加えられて、コミュニケーションが拡張されていく。
HMDT 木下さん の Progressive Clock かっこよかった。アートだね。
nobiさんのリモコン話。いちばん気に入ってるのがノキアのケータイで、Bluetoothの電波強弱によってひとと音響機器との距離を推察し、音楽再生をコントロールするというものだよ、てのになるほどなと思った。空気を読んでくれるコンピュータ。空気を読めるプログラマ。
iPhone は魔法の板であって、キー/ボタンというUIのハードウェアがないことが重要なんだ。UIのハードウェアは制約になってしまう。
イマジネーションを羽ばたかせれば、何にでもなれる可能性を秘めてるすごいデバイスなんだよ。
ということを感じれたのが一番の収穫でした。iPhone ハックがんばろう。

佐藤さんに釣られて、自由が丘で行われていた時間展に行って来ました。
音から映像をつくること。時間と映像の捉え方には共時性、順序性、可視化といったものがあるよ。という筋で、携わってこられた作品を上映しながら話してもらう形でした。
今回参加したのは、佐藤さんはどんな人で、どういう風に考えてあのおもしろいものを生み出しているんだろうか? というのを知りたかったからです。
これまで本で読んだりしていた感じから、きっと底が深くふんわりと穏やかな人なんだろうなと勝手に想像していたのですが、ちょっと違っていました。
作品の上映中に、再生がかくつくのでPCを取り換えたり音がぐらぐら揺らぐのでケーブルを交換したり、と細部のクオリティに対する厳しさがありました。考えてみたら当たり前すぎるのですが、プロ意識を高く持っていないと広く受け入れられる作品はできないわけです。自分はまだまだですね。
音を起点として映像をつくっていく。なんで音なのか? 音は人を惹きつけるし、時間を支配しているから。音、音、音。
何かつくるときには、キてる音をまず探しに行く。
どういうきっかけで音に注目するようになったのか、というのを聞いてみたかったですね。
以下、印象に残ったところをメモ:
- 音と映像がシンクルしていると、人は目を離せない
- みんな音を捨てている
- 共時性は、老若男女問わずにすっと理解できる
- 頭で考えて始めてしまうとダメ。おもしろい! と感覚が言ってないと
- 音が意味を規定する。映像はなんでもよくなる
- 新しいことをすることのいいところは、規制がないところだ
- ワークショップはスケールしない
- 2008.09.14 23:51 追記 for id:amashioさんのブコメ : 数理という知識を伝える際に、映像というメディアを使うかワークショップで体験してもらうか、という選択をされたことについて。たしかに体験すること理解ることのインパクトは大きいのだけれど、一度に伝えられる人の数がどうしても限られてしまうし、あちことに行かないといけない。その点、映像というメディアはパッケージ化してしまえるので、各地に届けられることができる。スケールする。といった文脈の話でした。
- まず自分が強く感動できないことには、他人を巻き込んでの責任を負えない
- ロジックを理解することで、世界を見る目を増やすことができる
良い刺激になりました。感覚と論理の両輪を研ぎ澄まさないと。