word-iteration

Top blog General Media Programming Software Technology
2010/08/29 (日)
[Programming]
日本RubyKaigi2010 3日目
日本RubyKaigi2010
http://rubykaigi.org/2010/ja

ついに最終日3日目。ついに体力の限界に。。。くたびれたので今日は短めに。

1日目2日目の感想。

最終日も楽しかった。とにかく良かった!本当にスタッフの皆さんや話者の皆さん、本当にありがとう。


@kakutaniさんやChad Fowlerさんの話は、心に栄養を与えてくれる。

ちょっと意外というか少し残念に思ったのは↓の聴衆の反応。

Ruby業務システムの広がりとホットスポット島根
http://rubykaigi.org/2010/ja/events/77

技術的に意見言いたい所に意見を言うのは良いと思う。技術は技術だし。エンジニアがエンジニアリングに誠意を持つのは当然。

でも、「この地道な取り組み、なんかはじめて聞いた」的な反応が、意外に多いなということにすこし驚いた。
この吉岡さんたちの取り組みって結構前からやっている。高額合算システムなんて2008年だ。何度かその内容は発表されてるはずなんだけど(2010年における様々な施策に関するトピックスが資料に追加されていたとはいえ)、Rubyコミュニティにとっては新鮮だったらしく、新鮮だ的な反応をしてる人が想像よりもに多い。そのことが私にとっては驚きだった。
吉岡さんの表現でいうところの「普通のエンジニア」達との断絶は結構深いんだなぁと思う。いや、それについて誰が悪いとかどちらかが歩み寄れとか言う気はないし、元々Rubyの爆発的普及がそういう企業情報システムの現場からではなかったという点も考えれば、もともと構造的にそういうモンだったんだとは思う。
けど、よりよい解決策やいろんな問題の議論は、両者がうまく混じり合うことでより豊かな状況を作り出すことができるんだろうなと思う。
そこのヒント群が、今日の午後後半の大ホールの話全般にあったんだろう。

まぁ上の断絶については問題が壮大すぎる。ので、自分だけでも何とかしたい、うまくすれば周辺くらいはどうにかしたい、けどどうすれば良いんだろうなぁとは個人的に思ってる。
takeshi - No comments - No Trackbacks TrackBacks
Trackback:
http://www.word-iteration.jp/action.php?action=plugin&name=TrackBack&tb_id=495
URL: http://www.word-iteration.jp/index.php?itemid=495
[Programming]
日本RubyKaigi2010 2日目
2日目。まだエントリを起こす体力は残っている。(1日目の感想文はこちら)

日本RubyKaigi2010
http://rubykaigi.org/2010/ja

今日も濃密な時間を過ごすことが出来た。こういう場を作れるコミュニティ力には頭が下がるばかりである。

午前中はjpmobile Kaigiでjpmobileのissueをひたすら振り分けてた。色々教えてもらい、jpmobileの世界が少しは分かってきた。
ちなみに、最近リポジトリをこっちに移したので気をつけてね−ってコトでした↓。
http://github.com/jpmobile/jpmobile
昔から使ってる人は追えてるでしょうけど、最近使い始めた私のような人種は要注意。

午後で面白かったのは「メタプログラミングRuby」の著者Paoloさんの講演(昨日、サイン貰ったよ!!)。黒幕術を語るRubyistは、「超強力だけど諸刃の剣だから気をつけて使うんだよ」って最後に必ず訴訟対策的(?)にいうんだけど、そのくせ語ってるときはキラキラ輝く。
Rubyが強力である理由の一つには、強力だけど簡単にさわれない程度に面倒くさいプロセスが必要なメタプログラミング機能にある、と思う。これには色んな言語の理解と、Rubyの実践が合わさらないとよく分からない点でもあるので、3,4種類の言語しか知らない人間にはなかなか伝えづらい。
Paoloさんすばらしいと思ったのは「危険だから使わせない。学ばないというのは理解できない」と断言したところ。何言語のどういう機能でもそうなんだけど「危険だから実開発では使えないよね−」とかいう人は沢山見てきた。けど、それは他人を舐めすぎであり、自分の技能や教える技量がないからそんなことを言ってるに過ぎないと思う。他人の潜在能力を過小評価しているのだ。そういう見識のない言動でどれだけ可能性を排除してきたのかといつも思う。

夜の懇親会では「男性が圧倒的に多いのに、何故、懇親会の飯が余ってるのか」という話をした。やっぱり30代付近から上の人が多いので、食うよりも飲むの方が楽なんだろうと。Rubyの魅力に気づく人たちは、JavaとかPHPとかのいわゆる主流の他言語で一通り苦労した人多く、ある程度の諦めと見極めのあとにRubyの良さに気づいた人が多いんじゃないかと。で、その年齢がアラサーより上あたりなんじゃないかという、何の根拠もない仮説を立てたりして適当に酔っぱらってた。

ついでに、情熱プログラマーのChad Fowlerさんと訳者でDebianの武藤さんにサインを頂いた!この本の感想文は以前書いた
これも懇親会で話題になった。この本買うような人種は実践レベルの違いはあれど、情熱プログラマーに書かれてることはおおむね理解してるんだろうという話をした。むしろ、こういう本を買わない人にどうすればリーチするんだろうと。まぁこういうのは最終的には他人の人生なので、なんとも言えないわけなんですけど。

あと、Rubyラーメン、おいしい。Rubyラーメンは松江名物しじみ汁ベースのラーメン。しじみ汁なので、飲み会の後に最適(?)。今日4箱買って、家で早速食べた。超うまい。ちなみに4箱買うとひとつはまつもとさんのサイン入り。でも、、、食い終わった後空箱どうしよう。。。ちなみに売り上げの一部はRubyアソシエーションに寄付されるそうです。

Rubyコミッタ勢揃い。世界の頭脳が結集した瞬間である。
Rubyコミッタ勢揃い
情熱プログラマー、Chad Fowlerさんと訳者でDebianの武藤さんのサイン
Chad Fowlerさんのサイン
懇親会。飯が余ってた。
懇親会
Rubyラーメン。これを買うとRubyアソシエーションに売り上げの一部が寄付される。
Rubyラーメン。これを買うとRubyアソシエーションに売り上げの一部が寄付される。
takeshi - No comments - No Trackbacks TrackBacks
Trackback:
http://www.word-iteration.jp/action.php?action=plugin&name=TrackBack&tb_id=493
URL: http://www.word-iteration.jp/index.php?itemid=493
2010/08/28 (土)
[Programming]
日本RubyKaigi2010 1日目
久しぶりのエントリがRubyKaigiってのも良いじゃないか。

日本RubyKaigi2010
http://rubykaigi.org/2010/ja

勉強会はエントリを起こすまでが勉強会です。とは平安末期の仏教関連の書籍にも書かれていること(*)。勉強会じゃないけど。ただ3日間朝から晩までみっちりあるので明日からエントリ起こす体力を残せる自信はない。

とにかく濃い話を色々聞けたのでとても楽しかった。これだけのクオリティを保つカンファレンスはなかなかない。

どの講演も面白かったのだけど、特に前田修吾さんのclassbox実現案の提案はとても勉強になった。Rubyでclassboxを実現するための提案について。(classboxについてはこちら。)
classboxのための文法を加えると変更が大きすぎる。だからModuleにoverlay_moduleというメソッドを付け加えて、通常のメソッドの探索順を変更する仕組みを作ってしのごうとかいうような感じだった(確か。記憶あやふや)。
聞いてる最初のウチは、なんか文法の変更やだからってなんか後ろ向きだなぁとか思ってた。けども、この仕組みさえあればあとはDSLで対処可能であるとの話につなげられた時に「これは凄い。ハッカーっつうのは最小の修正で巨大な目的を達成するアイディアを提案できるんだ!」と感動した。この発想を出来る脳みそが欲しい。
まぁ計算量の問題とかGCの関係やら文法にミスが誘発される危険性の指摘やらがその後のQAタイムにあったので、完璧な解というわけではないそうだけど、その考え方には本当に感心させられた。

あと、コミュニティナイトでは「メタプログラミングRuby」の原著者Paoloさんと訳者の角さんにサインもらえて超満足。今日買ったばかりなので斜め読みしかしてないけれども、とても面白い感じだったのでオススメ。メタプログラミングに関する比喩がとてもうまい。比喩がうまい人は本質を捉えていることが多いので、書籍の完成度はきっと高いんだろうと思う。

参加費の割にいつも豪華なノベルティ
ノベルティ
ジュンク堂RubyKaigi支店の魔力で財布が勝手に開くという事態が発生
ジュンク堂RubyKaigi支店
サイン角さんとPaoloさんにいただいた!!
メタプログラミングRubyのサイン!!
コミュニティナイト
コミュニティナイト

* 嘘です
takeshi - 2 comments - No Trackbacks TrackBacks
Trackback:
http://www.word-iteration.jp/action.php?action=plugin&name=TrackBack&tb_id=491
URL: http://www.word-iteration.jp/index.php?itemid=491
2010/06/13 (日)
[General]
はやぶさの帰還
iPhoneアプリのToriSatにて捕捉。
はやぶさ

退役したM-Vではやぶさが打ち上げられたのが2003年5月だそうで。そういえばほぼ俺の社会人人生と同じ長さ。もともと「ニュートン」とか「日経サイエンス」あたりで満足する程度のライトな天文ファンなので、打ち上げ当時から密かに応援はしていた。でもやっぱり当時は、土星探査機カッシーニの方が気にはなってたかなぁ。タイタン気になるもんなぁ。

満身創痍での苦労話はいろんなサイトに動画とかが上がっている。↓でまとめられている。
総まとめ:お帰りなさい、はやぶさ! - ITmedia News
http://www.itmedia.co.jp/news/articles/1006/13/news002.html

ちなみに、星屑を持って帰って成功と思ってる人が多いけど、イオンエンジンの工学実験機なのでもう大成功済みなんだそうで。
http://www.isas.jaxa.jp/j/enterp/missions/hayabusa/scenario.shtml
地球突入の時点で「頑張りすぎだよ!!」と褒めまくれる状態です。

こういうプロジェクトに参加してみたいと思うけど、正直力も根性もない。
お台場にある科学未来館に行くとJAXA関係の資料なども展示してある。ただのノートに宇宙速度とか、なんか浮世離れしたメモが書いてあったりして、夢詰め込みすぎな職場だよなぁと思ったけど、プレッシャーも半端ないんだろうと思う。

こういう分野って無理解な人たちにはすぐに金の無駄とか言い出されるので、知名度が上がって本当に良かったと思う。知的好奇心をないがしろにしたり短期的な投資しかしない国では、結果的に刹那的になり生産的な社会にならないのは常識だと思うんだけど、国会議員までそういう教養を持たないような現代日本なのでこれはとても良いアピールになると思う。
ただ、ここまで奇跡的なプロジェクトを達成しないと注目されないというのもたいがい問題で、こんな離れ業そう何回も出来るモンじゃない。こういうプロジェクトメンバーの人間離れした努力に頼って科学技術を発展させるようじゃ駄目だと思う。
takeshi - No comments - No Trackbacks TrackBacks
Trackback:
http://www.word-iteration.jp/action.php?action=plugin&name=TrackBack&tb_id=489
URL: http://www.word-iteration.jp/index.php?itemid=489
2010/05/30 (日)
[General]
iPadを買ったよ
予約していたので、28日当日クロネコヤマトより配達。当日は抜けにくいお仕事があったので休めず。フレックスタイムとかコアタイムとかの制度を駆使(?)して超特急で帰宅して受け取った。

とても楽しい、動きはまったくでかいiPhoneなんだけど、iPhoneとは違った感じ。サイズの変化が質的変化をもたらす好例だと思う。
画面が大きくなることで、楽しみ方が異なり面白い。これはなんか作りたくなる。
こういう素敵なデバイスなのにアラン・ケイのSqueakが動かせないのが非常に残念だと思った。プログラミング出来ないなんてもったいない。

それにしてもiPadで使いやすいSSHクライアント早くでないかな←え?意味ない?

ホーム画面
iPad

手との対比
手との対比

電子書籍やー!ってことで、前からちゃんと読んでみたかったRubyソースコード完全解説(Ruby Hacking Guide(RHG))をPDF化してみた。本としてはちょっと重めで、これで読み切れるか不安。スタンドとか買った方が良いのかな。読みやすい姿勢の研究やPDFビューワを探す長い旅が始まりそう。

RHGをPDF化してみた
RHGをPDF化してみた

ちなみにRHGは現在絶版状態にあり、Amazonの古本市場などで超高値が付けられてしまい事実上入手困難。だけど、著者が超絶太っ腹でHTMLで公開してくれているため、原稿はHTMLで読むことが出来る。複数のHTMLに分割されているとPDF化するにあたり面倒なので、以下のスクリプトで一枚にまとめて、SafariでPDFに変換した。PDF化すると何故かページ内リンクがうまく動かないが、眠いしまぁ読めるしよくわかんないしで原因追及は断念。

なお、再版されたら下記のスクリプトは削除します。

実行:
$ ruby rhg_cat.rb index.html

コード:目次からマージ対象のhtmlを見つけて開いて必要なタグだけマージしてる感じのコード。
  1 $KCODE="u"
  2
  3 require 'rubygems'
  4 require 'nokogiri'
  5
  6 fp = File.open(ARGV[0])
  7 base_dir = File.dirname(ARGV[0])
  8
  9 index_doc = Nokogiri::HTML::Document.parse(fp, nil, 'iso-2022-jp')
 10
 11 term_node = index_doc.xpath("//h2")[1]
 12
 13 index_doc.xpath('//a').each do |a|
 14   href = a['href']
 15   next unless File.exist?("#{base_dir}/#{href}")
 16
 17   file = {:name => "#{base_dir}/#{href}", :symbol => href}
 18   a['href'] = "\##{href}"
 19
 20   div = index_doc.create_element('div') {|e| e['id'] = file[:symbol] }
 21   term_node.add_previous_sibling(div)
 22
 23   File.open(file[:name]) do |sfp|
 24     doc = Nokogiri::HTML::Document.parse(sfp, nil, 'iso-2022-jp')
 25     doc.xpath('//body/*').each do |tag|
 26       if tag.name != 'hr'
 27         term_node.add_previous_sibling(tag)
 28       else
 29         break
 30       end
 31     end
 32   end
 33 end
 34
 35 fp.close
 36
 37 print index_doc.to_html
takeshi - 2 comments - No Trackbacks TrackBacks
Trackback:
http://www.word-iteration.jp/action.php?action=plugin&name=TrackBack&tb_id=487
URL: http://www.word-iteration.jp/index.php?itemid=487
2010/05/16 (日)
[General]
TokyuRubyKaigi02で話してきます
話してきます。豪華メンバーの間に超マイナーキャラ(俺)が挟まっていて緊張する。。。

http://regional.rubykaigi.org/tokyu02
takeshi - No comments - No Trackbacks TrackBacks
Trackback:
http://www.word-iteration.jp/action.php?action=plugin&name=TrackBack&tb_id=485
URL: http://www.word-iteration.jp/index.php?itemid=485