uuuu & Gauche本読書会 & SICP読書会 & 異業種交流会

投稿者 nanki 2008-04-28 12:25:00 GMT

uuuu

大阪でミーティングがあった後、物件を見に行って、その後帝人ビルの食堂みたいなところでしばらくお茶(というかミックスジュース)して、北浜まで歩いて帰るつもりだったけど、もう午後も遅い時間、uuuu始まるの17時じゃなかったか、と思って、突如参加することに決めた。

uuuuとは、(当面)みんなでMITの講義ビデオを見る会。

会場に着いてから無線につながったので開始時間を見ると19時から…orz 19時まで、JavaScriptのコードをいじったりしながら、早めに来たujihisaと合流.

今回は第一回目なので、コースの説明や試験の説明などもある。 スピーカのセッティングなどをしつつ、そこは聞き流す。

なぜアルゴリズムを学ぶのか?パフォーマンス? パフォーマンスより大事なことはたくさんある。正確さ、単純さ、メンテナンス性、ユーザビリティ…etc パフォーマンスはお金のようなもので、これらを手に入れるにはパフォーマンスをお金のように支払う。 それに、速いと楽しいじゃん!

みたいな話の後、insertion sortとmerge sortについて詳細に分析する。

Gauche本読書会

40分ほど遅刻。会場の入口でもう一人の遅刻者と合流。

昨日突然参加を決めたのでGauche本は持ってきていない。 隣の人に見せてもらうメソッドでyukkyに見せてもらう。 LISP, Schemeの歴史やemacsの話を読む。 よし、今日はemacsしか使わないぞ、と思い立ったのも束の間、.emacsの編集にvimを使ってるのに気がついてあきらめた。

リテラルをいくつか、goshで試してお昼。

SICP読書会

問題 1.5くらいまで。

問題1.3, a b c のうち大きい方二つの二乗和を計算する。

(define (sum-of-squares a b) (+ (* a a) (* b b)))
(define (f1.3 a b c)
  (cond ((and (< a b) (< a c)) (sum-of-squares b c))
        ((and (< b a) (< b c)) (sum-of-squares a c))
        ((and (< c a) (< c b)) (sum-of-squares a b))))

こんな長いのは勘弁してほしいので余った時間でminigolf.

(define (f1.3 a b c)
  (if (> a b)
      (if (> b c)
          (+ (* a a) (* b b))
          (f1.3 a c b))
      (f1.3 b a c)))

おお、再帰脳。 condもなくなったので、BiwaSchemeでも動く。

yharaさんのLT、いいLISPのコードは、見た目がこう!という話を聞いて書き直す。(indentが単調増加してるのがいいらしい)

(define (f1.3 a b c)
  (if (< a b)
      (f1.3 b a c)
      (if (< b c)
          (f1.3 a c b)
          (+ (* a a) (* b b)))))

実は最後のコード以外には致命的なバグがある。

こんな短いコードにバグを仕込めるなんて… このコードにバグはないか?という視点で見ると、すぐに気がつくんだけど。

こんなコードでテストする。このテストにパスしなかったら、問題解けてないのと同じなのだから、テスト重要。

(map (lambda (x) (apply f1.3 x)) 
          '((1 2 14) (1 14 2) (2 1 14) (2 14 1) (14 1 2) (14 2 1) (14 2 2)
            (2 14 2) (2 2 14) (10 10 2) (10 2 10) (2 10 10) (10 10 10)))

これで、大小関係においては網羅しているかなぁ。 テストデータが実装を反映した(比較演算子を使っているという)ものになっているのが、気にかかるがどうすべきなんだろう。

ujihisaのLTで、少し群の話がでてくる。 (演算子)とやると、単位元がでてくるはず。

gosh> (+)
0
gosh> (*)
1
gosh> (and)
#t
gosh> (or)
#f
gosh> (list)
()

naoya_tさんのLT、Scheme on PIC発表資料かっこよすぎる。

異業種交流会

SICP読書会でその存在を知り、突然行く事にしたのだが、知らない人たくさん、知ってる人もたくさんで楽しかった。 知らないはずなのに、どこかでつながっていたり、実はとてもご近所さんだったり、どっかですれ違っていたり。 ごはんもおいしかったし。

帰りにお茶してタクシーで帰った。ぐったり。

百万ベンチャーw

1000000.times {puts "チャー"}

This entry was posted on 2008-04-28 12:25:00 GMT and カテゴリ , . You can follow any response to this entry through the Atom feed. or a trackback from your own site.

タグ , ,


トラックバック

トラックバックリンク:
http://blog.netswitch.jp/trackbacks?article_id=8616