ubuntu10.04+Ruby1.9.2+rabbit

ruby-gtk2は、0.19.4を入れた。

ruby extconf.rb すると、いろいろno言われるので、次のものを入れた。

  • libglib2.0
  • libjpeg-dev
  • libtiff-dev
  • libpng-dev
  • libgtk2.0-dev

gem install cairo --no-ri --no-rdoc

これだけ入れたら、ruby-gtk2入った。

その後、

rdtool-0.6.22
rabbit

と入れて成功。sample/rabbit.rd が動いた。

$gem list

*** LOCAL GEMS ***

bundler (1.0.0)
cairo (1.8.5)
rake (0.8.7)

殺風景

RubyKaigi2010 2日目

基調講演

Matzの基調講演

Traits-likeなmixという概念を提案したら、IRCやQ&Aでガンガン突っ込まれていた。Rubyが良いものになっていく秘密を垣間見たという時間。

The Necessity and Implementation of Speedy Tests

The Necessity and Implementation of Speedy Tests

自動テストの実行にかかる時間を徹底的に削る事で、開発にリズムを産み、良い設計に導こう、という強いメッセージを感じたセッション。マシンガンみたいに喋るjakescruggs氏に圧倒されつつ、Preziの魅力的なプレゼンを楽しんだ。

CPUのコアをフル活用する平行テスト関連のツールの紹介から、ディスクアクセスを高速化するためにテスト環境のジャーナルやatimeをOFFったり、GCの設定をいじってGCを抑制したりというのは、そこまでやりますかとびっくり。

また、当該のテストと直接関係のない重い処理をモック/スタブで回避したり、テストの前処理を減らすためにインジェクションしやすい設計にしたりという、設計をテストしやすい形に持って行くことも推奨。

最後はしっかりメトリックスをとって改善できるポイントを探そう、というMetrics-Based Refactoringを提唱して、自身のmetrics_fuを紹介するという濃く、まっすぐなセッションだった。

Unix修正主義

Unix修正主義

Unixのスタイルを踏襲することでライブラリの使い易さを獲得しつつも、Unixの悪い所は改善しつつRubyに組み込んで行くという、すごく興味深い話。

エンジニアの鏡、という発表だったと思う。
資料はとても勉強になるものだった。また読むと思う。

Lightning Talks

Lightning Talks

ARToolKit Ruby Binding

AR使ったすげープレゼンとツール。

Ruby/Tk-Kit から RubyKit へ : Ruby の単一ファイル実行環境の構築に向けて

タイトルのまんま。来年には進捗が聞けるのだろうか。なんにせよRuby/Tkが気軽に使える世界に持って行こうとするnagaiさんの執念たるやすげー

What is few?

小柄な中2のsora_hの堂々とした発表に圧倒される。fewという作業中のterminalを塞がずにファイルの内容を参照するツールの紹介だったと思う。思うというのは、彼の頭の回転に僕がついて行けなかったから。

Toward Lightning RubyVM

ささださんがいっしょうけんめい英語でスピーチする様を眺める。何が彼をそうさせるのかと思ったら、海外にしばらく行って来るんだって。いってらっしゃい。Happy VM Programming!

MessagePackで多言語間通信

MessagePackJSONよりもProtocolBufferよりも効率の良いバイナリシリアライズ形式。そしてMassagePack-RPCはThift,Avroを上回るCross-Langurage RPC client。

もう発表も内容も素晴らしすぎて、すぐ使ってみたくなっちゃう。Furuhashi氏、おそろしい子。

Rubyで手軽に暦日を算出しよう!

ネタも発表のテイストも異色な感じ。いや、完成したら、標準ライブラリでいいんじゃないでしょうか。

Introducing the Lingo Project: A New Generationi Text Input System Leveraging Non-native English Writing

デモの途中でドラが鳴った。最初にデモしたら良かったんじゃないのかこれ。英文を入力している側からおかしな所を動的に指摘してくれるサービスだった様に見えたけど、詳細は謎のまま、終わってしまった。

babushka―test-driven sysadmin for rubyists

大事な所が見えなくて、よくわかんなかったす。ごめんなさい。

parse.yの歩き方 -ワシのRubyは4式まであるぞ-

カリスマの発表はさすがの一言で、沢山笑わせていただきました。なんか我々もクリスマスプレゼントをMatzに贈ることになってたり。

時を超えた電子出版の道の中をRubyと歩いていく

企業秘密の発表(内緒)ってなんだそりゃ。RubyKaigi2011での公開を楽しみにしてます。

Ruby Summer of Code 2010のご報告 〜俺たちのDecimalはまだ始まったばかりだ〜

日本人で唯一採択された筑波大学の学生であるさいとうさんの発表。こんなひとがどんどん増えたら、面白いだろうな。

RubyKaigi2010 1日目

rake:money 拡大版〜Rubyエンジニアと企業の幸せな関係〜

rake:money 拡大版〜Rubyエンジニアと企業の幸せな関係〜 に行った。

各企業のパネリストの皆さんがフリーランスエンジニアに求めるものは「スペシャルな能力」と「プロジェクトの成功へのコミット」というところが共通点だったと思う。フリーランスの代表として id:oukayuka さんは、「能力に見合った対価」の必要性を何度も表明されていた。

会場では、スペシャルな才能は、相応の対価を提示できるフットワークの軽い企業に集まり、年功序列を基礎に置く大企業は平均的なエンジニアを抱えるという2極化が進むという未来を描いた形になったように見えた。そしてこの状況は大企業がオープンなエンジニアのコミュニティへの関与を緩やかに進める現在に於いても、大きくは変わらないだろうという。

とりあえず不遇にあえぐ優秀なエンジニアってのがいるのかどうか、が焦点だろうか。
そういう人達を救う状況に持って行けば、双方ハッピーな世界が待っているのはわかる。ただ、米国の様に、人気職業で2位、という状況になる世界の裏には、平凡な能力のエンジニアは徹底的にコストの安い国で調達する、という状況もセットなんだろうなあ。つまり市場に対して国内のエンジニア人口の比率というのは減少するってことだね。

ふつうの開発は、どこに向かうのか... ってことで、次のセッションへ。

Head First ふつうのシステム開発

Head First ふつうのシステム開発 に、行った。

とりあえず id:ursm が普通じゃないw

これがおかしなことではなくて、プロジェクトの成功のためには、プロパーでこういう人材が当然のごとく必要ってことなんだろうな。

質疑応答の中で、「技術的負債の解消はエンジニアの責任」、と位置づけつつも、「構造の変更を伴うビッグリファクタリングや大規模な非機能要件の改善のために、価値の提供のペースをどう「落とすか」については明確な答えが無い」、という話が出た。

僕は、この点についてはきちんと顧客と話をすべきだと思うし、スプリントやリリース計画の中で、明示的にそのための枠やバッファを宣言して顧客から獲得しておく事が重要だと思う。経験的なプロセスの中で明らかになる問題というのは必ずあるという認識を共通できるか、というタフな交渉が開発のリーダーには求められるはずだ。

いつでも優秀なエンジニアが「最終退出者」という状況が続く訳も無い。

Webを支える技術

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)


IRCでレビュアーに誘っていただいたのはいつのことだっただろうか。
そういえばAtomPubの翻訳や、interopにも誘っていただいたのだったし、
yoheiさんのブログを何度も見て設計に取り入れてみようと思ったのがついこの間の事の様だ。


自分の周囲の人たちがぽつぽつと本を注文しているのを知り、そういう本に関わることができて本当に良かったなと思う。


本の内容は、Web上のサービス開発に関わる人ならUIな人もインフラな人もおさえておくべき内容で、どうしてこうなった、という根っこの知識がちゃんと手に入る上に、現在における各規格の読みどころが丁寧に紹介してあって側に置いておきたい本になってる。僕自身、レビューしながら、「へーなるほどー」となっちゃって、満足しちゃってチェックになってない、なんて事がしばしばあった。読み返す度に発見があった。

あと5章で設計に挑んでるとこも凄い。Web API設計の過程を紹介している実例は少ないので、設計者にとって貴重な資料だと思う。


とりあえず条件付きPUTは自分がつくってるサービスのAPIでも検討したい。

「カガクするココロ」「北限の猿」

鳥の劇場で、青年団が「カガクするココロ」「北限の猿」を連続上演!ということで、家族の協力を得て(感謝)観に行った。リンクは切れたり内容が変わったりするかもだから気を付けてw

「北限の猿」、昔から好きなんだよな。まさかその作品を、鳥取で、青年団によって、堪能する事ができるとはね…。そういうことはもう二度とないんだろうな、と思うと感慨深い。

オリザさんが鳥取にこうしてたまに訪れる様になってもう何年にもなる。鹿野の奥の劇場にぽつりぽつりと集まって来る観客を迎えながら、彼は何を考えてるんだろう…そう思いながら挨拶したら「ああ、どうも」だって。また来て下さいね。


「カガクするココロ」の方が、好きな雰囲気でした。ただ、最初のシーンはちょい固かったすね、男性の方が。
「カガクするココロ」の10年後の設定の「北限の猿」を続けて観劇できるのは、オリザさんの頭の中身を時間軸で覗く感じで贅沢だったなー。

酒神 ディオニュソス

リンク切れしそうなリンクだけど貼っとく。

鳥の劇場に、『酒神 ディオニュソス』を観に行った。大ちゃんが出てるからだね。あと、国内最高クラスの演劇を鳥取で見られるわけだからね。

作品の質は期待通りで、なんていうか、演劇の裏とか、俳優の裏とか、全く気にしないで観る事ができた。この世界観と身体で、揺らぎ無い空間をつくり出せるのは見事としか言いようが無い。もう俳優のなんかのいきおいあまったほとばしりとかどうでもいいんだよね。質と技にちゃんと転化してて。いやー、このレベルに至る訓練、想像を絶するな。

大ちゃんもすばらしいチームプレイでした。役どころとしては際立ってはいけませんしね。あ、声は凄かった。大丈夫かよというレベルのだみ声。

relevance-rcovを触る

relevance-rcovを触っている。

sample.rb

class Sample
  def foo
    1
  end
end

sample_cov.rb

require 'rcov'
require 'sample'

analyzer = Rcov::CodeCoverageAnalyzer.new
analyzer.run_hooked do
  sample = Sample.new
  sample.foo
end

lines, marked_info, count_info = analyzer.data("path/to/sample.rb")

stat = Rcov::FileStatistics.new("path/to/sample.rb", lines, count_info)

p stat.code_coverage
$ ruby sample_cov.rb
0.6

ヒィ
1.0じゃねぇのかYo