RubyHiroba 2014 に行きました

去年に引き続き RubyHiroba 2014 に行ってきました。

お目当ては toRuby & guRuby 出張版 です。

渋谷の一角の北関東。

咳さん(@m_seki)とか田中さん(@tanaka_akr)とか角さん(@kdmsnr)とか角谷さん(@kakutani)とか豪華メンバーが参加してました。

guRuby - メタプログラミングRuby

メタプログラミングRuby

メタプログラミングRuby

method_missing の章の朗読&サンプルプログラムの写経でした。

第二版の翻訳予定もあるようです。

toRuby - なるほどUnixプロセス ― Rubyで学ぶUnixの基礎

シグナルの章の朗読&サンプルプログラムの写経でした。

偶然にも自分は最近 Ruby のシグナル周りでハマってるので、タイムリーな話題でした。

その場でも話したのですが、シグナルは非同期割り込みなので、シグナルハンドラはプログラムがどのような状態であっても動けるようになってないといけないので、ちゃんと作ろうとしたら結構大変です。

「なるほどUnixプロセス」ではハンドラ中で気軽に puts とかしてますけど、少なくとも Ruby 1.9.3 ではそれも安全ではなかったと思います。最近の Ruby では大丈夫かもしれません。

Rubyのシグナルハンドラ という記事を書いたので興味があれば読んでみてください。

trap(:KILL) がエラーにならないのはおかしいんじゃないかという話題があって、なかださん(@n0kada)が召喚されたりしてました。

なるほどUnixプロセスの続編の Working With TCP Sockets の翻訳もそのうち出るとこのことでした。楽しみです。

Working With TCP Sockets

Working With TCP Sockets

RubyでUnixシステムコールを理解するというと、一年ほど前に Rubyでシェルもどきを作る という記事を書いたことがありました。参考になる人もいるかもしれません。

しかし、北関東の人たちはエディタ使わずに ruby の標準入力からプログラムを入力してたんですけど、入力ミスしても修正できないので厳しいと思うのですけど、cat があればエディタなんて要らないみたいな猛者の集まりなのかもしれません。北関東こわい。

その他

サンライズ出雲で RubyWorld Conference に行こう仲間の @yancya さんが、生活発表会と LT の両方で発表してました。すごい。 Refinements はハマりどころがたくさんありそうですね…。

あとは、すとうさん(@ktou)と Rabbit の話をしたり、@yancya さんが Rabbit で PDF を作るのに四苦八苦してるのを眺めたりしながら、ずっと自作ライブラリのデバッグしてました。

受付の無限コーヒーは嬉しかったです。

RubyHiroba もいいんですけど、来年は RubyKaigi にも参加したいです。