第12回 RHG読書会@CSNagoya

11月 17th, 2009 admin

img_0695

第12回 RHG読書会を開催しました。
今回から内容はいよいよ第3部 評価にはいります。
僕はLLの人間のはずなのに、コンパイル型の言語と勘違いしており、勉強会の冒頭から評価ってなんですかという質問をしてしまい会場をなごませました。

メモ

・「評価」の日本語訳は「価にする」というものの方が適切
・評価器はeval.c(9000行ぐらい)
・コアはrb_eval()という関数
・rb_eval()の呼び出し一回がNODE1つを処理し、再帰しながら構文木全体を処理する
・breakやnext実装のためにC言語のライブラリ関数setjump()とlongjmp()を活用
・do~whileが二つのマクロに分かれているため、かならずセットで使用しなければならない

まとめ

・setjump/longjumpが再帰のところで使われていて、僕の頭の中の再帰の「イメージ映像」ではsetjumpするというのは絶対にできないことだったのだけど、イメージ映像が間違っていたのでそっちを変えたら理解できた。
・それでもメモリとかどうなっちゃうんだろうと不安
・あのあたりのコードを「ふんふん」とかって読んでしまう皆はすごい
・Rubyの勉強会のはずなのだが、やっぱりC言語をすらすら読めないと厳しい
・次回は第14章「コンテキスト」から

第12回 JavaScript第5版読書会のご案内

11月 13th, 2009 admin

JavaScript 第5版
JavaScript 第5版
posted with amazlet at 09.11.13
David Flanagan
オライリー・ジャパン
売り上げランキング: 1393

名古屋のJavaScriptの勉強会「DeLLa.JS」のご案内です。
サイ本と呼ばれるJavascriptの決定版である「JavaScript第5版」という本を読んでいます。

次回は「20章 HTTPの制御」からとのこと、つまりAjax関連。
僕はjsでの通信は便利なライブラリに任せてしまうことが多いのですが、XMLHttpRequestを使ったやりかたというのを知らないのはフワフワしていて気持ちが悪いです。
と、いうわけで次回はAjaxをしらない人にも、しっているつもりの僕のような人にもオススメの会。気軽にご参加下さい。

(本がない!という人も主催者の人が貸してくれるらしいですよ!)

概要

日時 / DATE :2009/11/21 13:00 to 18:00
会場 / PLACE :吹上ホール 第10会議室(410) (愛知県名古屋市千種区吹上2丁目6−3)
URL / URL :http://groups.google.com/group/dellajs/web/della-js-javascript5-12
受付URL:http://atnd.org/events/2134

火傷しなけりゃわからない 読書感想「華氏451度」

11月 11th, 2009 admin

華氏451度 (ハヤカワ文庫SF)
レイ ブラッドベリ
早川書房
売り上げランキング: 22686
おすすめ度の平均: 5.0

5 SFが描く普遍的問題

前回紹介した「虎よ!虎よ!」と一緒に借りた本。まずこの本はタイトルだけでその価値が保証されているように思える。SF小説のタイトルランキングを作ったらベスト5には入るのでは無いだろうか。

華氏451度とは紙の燃焼点、つまり紙に火がつく温度である。
(僕がこの本を読んでいたら知り合いが「ああ映画みたことあるよ、流行ったよね」と言っていたが多分それは451度の2倍ぐらいの温度の話だろと思った)

あらすじ

時代は近未来、(なんと!)本が禁止されている時代。情報が規制され、人々は耳にラジオをつけ、立体のテレビに浸り、考えることをしない生活をしている。
主人公はファイヤーマン。ただし火を消すのではなく、本を違法所有している家を焼くというとんでもない仕事。いまの社会がなにかおかしいと感じていた主人公は、本を命をかけてまで守る人を目の当りにし、ある時ついに誘惑に負け、焼かなければならない本を持ち帰ってしまう。

感想

地味!話はとても地味である。そして暗い。しかも主人公は最終的にわかりやすい成果は得ない。政府を倒すこともなければ、周囲の人を助けることはできないどころか、嫁に密告される。
しかし、だからこそ僕は良い結末だなと思った。世の中を変えるということはきっとこういう風にしかできないのだろうと。人間は僕を筆頭に愚かな人がほとんどなわけで、そんな人達に本が読めない現状のおかしさを訴えたり、テレビの害を訴えたりしてもどうしようもないのだ。

僕は最近レストランにいくにも、観光をするにもネットの口コミ情報が気になり、なにか物を買うなら価格.comが気になり、新しい言葉を聞いたらwikipediaで調べてしまう自分の習慣にうんざりしている。ネット(に依存してしまった自分)のせいで自分で考えることも、人とのコミュニケーションもとても減ってしまっているのだ。

以前だったらセーターの洗いかたがわからなければ母親に電話した、釣り具の扱いがわからなければ上司に聞き、安い店がわからなければ近所の人に聞いた。そういったあたりまえだったコミュニケーションがネットのおかげでどれほど不要になってしまったことか。

しかも最近はTwitterなんでものが登場してしまい、ついに友人同士、ひいては自分自身とのコミュニケーションも奪われようとしている。友人に話を聞いてもらい否定されたり、自分自身に問いかけて無理矢理咀嚼するということが不要になってきているのだ。感じたことは嬉しいことも悲しいこともTwitterに投げればいい。フォローが100人もいればどんな内容でも「それはひどい」「それは
すごい」と何人かは肯定してしまうのだから。つねに肯定されて生きていく。悩みのない世界。そんな風に成長した人間とはどういうものなのだろうか。
しらないうちに僕等は現実を見つめるのが恐ろしいからと、詩を嫌がるボウルズ夫人を笑えない状況になるんじゃないかと思う。

しかし、それが悪いことばかりとは思わない。こういうことは新しいものが発明されるたびに誰かが言うものなのだ。レコードができたときも「コンサートにいかないで音楽を聞くなんて!」と言った人がいるだろうし、電話ができたときも「顔をあわせないで会話をするなんて!」と嘆いた人がいるだろう。僕が知りたいのは、その先がどんな風になるかということだ。それは世界が絶望に包まれた状況で不死鳥を例にあげて登場人物も言っている

どうだね?わしたちに似ておるとは思わんかね?わしたちもそれとおなじことを、何度となくくりかえしておる。ただ、わしたちには、不死鳥のもっておらなんだものがある。わしたちには、いまやったことの愚劣さがわかるのだ。

この話は作者の人類に対する絶望と希望の両方が詰められた話である。作者が考える未来はもう来ているのか、それともずっと先の話なのか、それとも単なる杞憂なのか、とてもかんがえさせられ、考えれば考える程面白い一冊でした。
★★★★☆

ジョウント!加速! 読書感想「虎よ!虎よ!」

11月 11th, 2009 admin

人のお薦めを読むシリーズ。今回は複数の作品を貸してもらったうちの一冊。
この虎よ!虎よ!は”超”がつくほど有名な作品なのですが、僕は新装版を借りたので後半まで最近のお話だと思っていました。とにかく現代の作品に影響を残しすぎな恐ろしい作品でした。

あらすじ

時代は人類が人にもともと備わっていたテレポーテーションの能力(ジョウントという)を発見した25世紀。惑星と衛星での戦争が起こるなか、宇宙船「ノーマッド」は物資の輸送中に攻撃を受け漂流してしまう。ノーマッドの乗組員であるガリヴァー・フォイルは絶望的な状況の中、強靭な精神力で救出を待つ。そして奇跡的に近くを宇宙船「ヴォーガ」が来て救助信号に気がつくも、なぜかヴォーガは救助をせず去っていってしまう。
主人公はあきらめて死にたくなる程落胆するが、自分を見捨てたヴォーガに復讐を誓い、その怒りのエネルギーで精神を正常に保ち、なんとか壊れた宇宙船で生還し復讐を開始する。

感想

とにかくいろいろなSF要素が詰まっている。詰め込みすぎだろってぐらい。ジョウントはもちろん、宇宙戦争、新物質に謎の文明、特殊なタトゥーに加速装置。これらのおかげでとても話が賑やかになっている。

そして僕は拒否反応が起きたのだが、主人公がかなり野蛮かつパワフル。
全然いいやつじゃないし、物語自体が
「くそー、俺を助けなかったあいつ絶対ぶっころす」
という動機で進行するのもどうかと思うのだが、そもそも最初は「あいつ」が宇宙船自体に設定されており、まず主人公が宇宙船ヴォーガをぶっ壊しにいくあたりがぶっ飛んでるなと思いました。
最後まで全然いいやつじゃないし

最近はこれ女性が読んだ方が面白んだろうなーというような話を読むことが多かったのですが、これはまさに男性向け、男の子向けの小説でした。
マッチョな主人公が好きな方におススメ

★★★☆☆

関西Ruby会議02にいってきました

11月 9th, 2009 admin

img_0666
11月7日に行われた関西Ruby会議02に、名古屋Ruby会議実行委員として参加してきました。当日NAGOYA Ruby KAIGIというTシャツを着ていたのが私です。

以下ざっと感想など

Hacking parse.y (ujihisa)

img_0657
parse.yをハックしようというお話。++演算子を実装したり、:)という顔文字を=>と等価にしたりと、本当のRubyのハックというのを実演してもらえた。僕はRHGを多少読んでいたおかげで、ギリギリ知識として知ってはいたものの、実際にparse.yを書き換えて、makeしてRubyが変更されているのを目の当たりにするのは感動的でした。
発表者のujihisaさんもとても面白そうな方で、特にRubyのコンパイルが成功するたびにとても嬉しそうな顔をされるのが印象的でした。(ランチも一緒にさせてもらいました。有難う御座います)

・1.8も1.9もparse.yはほとんど同じ
・eval.cとparse.yは汚いのではなく、秘伝のたれと呼ぶ
・MRIのparse.yが1万行以上なのに対して、JRuby, Rubiniusは2,000行以下
・Rubyのドキュメントが手元に無ければparse.yを見ればいいじゃない

LT

img_0659
LTは9本ほど行われました。会場が広くないこともあったのですが立ち見でぎゅうぎゅうになるほどの好評でした。

Rubyで始めるGTD (sixeight)

GTDとTDDは似ているという話。そのためのeverythingというツールを開発中とのこと

visualing and proccessing(kyara)

proccessingを使うと簡単にデータのビジュアライズができますよという話

Lang8におけるRuby活用事例(松本一輝)

多言語学習サイトLang8(Rails製)にて、KVSにキャッシュをしたり、InnoDBの圧縮を使うことで高速化やCPUの負荷の低下などに成功されたというお話。Rubyの柔軟さがなければできなかったとのこと。

Web3.0.rb (ストヤン ジェコフ)

Webのデータを使うときに、従来のRSSを定期的に取得するなどのpull方式ではもう間に合わない(twitterなどのせい)ので、webhookを使ってpush式でやろうという話。
発表者が着ていた_whyのTシャツがうらやましかった!あと「pushがほしーやなー」という独特の日本語が素敵

※知らないサービスの名前がいっぱい出てきたので後で調べたい(watercooler, XMPP, googlewave)

日本Rubyの会第6期の活動について(角谷信太郎)

日本Rubyの会の紹介と、まさかの日本Ruby会議2010の開催決定案内+ライブWeb更新
途中で高橋さんの突込みがはいるなど、とても盛り上がりました。

それMiyakoで(ry(サイロス誠)

オリジナルで開発されたゲームライブラリMiyakoの紹介
ゲームの開発などをしたことがないので詳しくはわかりませんが、画像のデータをスプライト化した後の操作がとてもRuby的に書けるのがすごいと思いました。

Rubyで楽しく開発(jugyo)

Rubyで楽して開発するためのRuby製オリジナルツールの紹介。
ifchanged・・・指定したファイルが更新されたら、○○を実行するというのをやってくれるツール
g・・・pでプリントされるように、gを使うとポップアップみたいなのがでてくるようにしてくれるツール(macの機能?)

ifchangedはとても便利そう、デモではファイルが更新されたらテストが走るようにしていました。僕の場合はブラウザを更新とかに設定したら病みつきになりそう。

Ruby Station (yhara)

RubyのWebアプリをデスクトップアプリケーションのように扱うためのツールの紹介。見た目は派手ではないですが、なんかすごい可能性を秘めているんじゃないかという気がしました。

Ruby初級者向けレッスン(okkez)

img_0661
Rubyの初級者を集めて、ハンズオン形式でテスト駆動開発というのを行いました。僕は参加者ではなくTAとして、参加者をフォローする役目でお手伝いさせて頂きました。以下メモ
・最初に全員のレベル確認大事
・Emacs,Vim,Rubyの入ったDebianのライブCDが用意されているのでPCさえあれば始められる!(なぜかirbが入ってなかったが)
・初級者=向上心のある人
・TAがなんの略かまだわからない
Ruby関西ではこういうのを30回以上やられているということで、Ruby東海でもこういうのをやれたらいいなと思います。

GC黄金時代(nari)

img_0665
GC好きとして有名なnariさんの発表。タイトルに対する結論としては、GCの基礎アルゴリズムというのは60~80年代に完成されているので、黄金時代はとっくに終っていたということなのですが、結局のところGCというのはモダンな言語には必須なものであり、言語の数だけGCが必要なので全然やりがいのある楽しい分野だとのことでした。

まとめ

本当は懇親会もいきたかったのですが、次の日にフルマラソンの予定があり、割とタイムを狙っているレースだったので、そのことを考えると17:00ごろからプレッシャーで胃が痛くなってきたため、nariさんの発表の直後に帰らせて頂きました。(ざんねん・・・)
アポなしでの訪問にも関わらず、Ruby関西の人たちには暖かく迎えて頂き、初級者レッスンでもスタッフとして参加させてもらえるなど、とても楽しい時間をすごせました。また、Ruby関西さんを見て、Ruby東海もこんな風に結束がある会になったらいいなーとか、次回の名古屋Ruby会議はこういうこともしたいなーなどいろいろな刺激を受けることもできました。
今回学んだことを東海地方のRubyの活動に活かしたいと思います。

それでは、関西オープンソース2009の皆さん、Ruby関西のみなさん、そして参加者のみなさんお疲れ様でした。