2010/08/30

ポール・グレアムがオススメする本

ベンチャーの起業家に私たちが推薦しているのはデール・カーネギーの「人を動かす」。仕事をする人は必ず読むべき本だ。1960年代より前の版を入手してほしい。 カーネギーの死後、本は委員会に「改訂」され続け、その結果かえって悪くなってしまった。
有名な本ですね。読んでいません。個人的に「うさんくせぇー本だな・・・。」と思う本の一つだったので。。
ポール・グレアムがオススメしているとなると読みたくなる不思議。

しかし、一体どうやってそんな古書を・・・。。

人を動かす 新装版

2010/08/29

数学入門(上)遠山啓 著

数学が嫌いな方、算数で挫折した方にオススメしたいです。

私も算数で躓いて、中高の数学はなんとかやり過ごして大学は文系に行ったクチです。10代前半に読んでいたら、人生が変わっただろうなと思います。おもしろいしわかりやすいし、楽しんで読めます。数学のおもしろさを感じることができます。

「学校の教科書はコレにした方が良いんじゃないか。」と @shunsuk さんがおっしゃっていましたが、私もそう思います。そうでなくても算数や数学を教える立場にある方には参考にして欲しい一冊だと思いました。

(下)も読みます。これは読みます。

数学入門〈上〉 (岩波新書)

2010/08/28

PAIP tree-search

実用 Common Lisp 6.4 ~
探索ツール。9LISP で紹介のため、取りあえずUP。gauche で書いてあります。
tree-search

深さ優先

幅優先

最良優先探索

ビーム探索


実用 Common Lisp (IT Architects’Archive CLASSIC MODER)

2010/08/27

PAIP debug, dbg, dbug-indent

実用 Common Lisp の P.116 にあるデバッグ用のツールです。
すごく便利だったので、gauche で書いて使えるようにしてみました。

library の lib なら liv じゃなくて lib でしょう。valvallow の library ということで liv でいいかな、などと。

実用 Common Lisp (IT Architects’Archive CLASSIC MODER)

syntax-rules: mreverse (マクロ reverse, 反転)

syntax-rules による reverse です。syntax-rules でマクロを書く時に良く使われるテクニック(?)。

helper を別途定義した場合。


プログラミングGauche

2010/08/26

syntax-rules: cut っぽい let

たまたま、試しにこういうアナフォリックマクロを書いていました。値を一時的に束縛したいけど、名前を付けたいわけではないことがよくある気がしたので。別に <> じゃなくて On Lisp の aif や aand みたいに it でも良いんですけども。

そこで、srfi-26 の cut っぽい let があったら便利そうだなぁ。。と思ったので、こちらも試しに書いてみました。みましたが・・・。(名前は、cut っぽい let -> cutlet -> cet と取りあえず)

ネストした時ダメですね。。こういう時はどう扱ったら良いんでしょうか。わかりません。以下のように少し書き足してもみましたが・・・。動いたとしても、ここまでするなら一番最初のアナフォリックマクロで良いかなーと思いました。


しかし、srfi のコードは美しいですねぇ。今回も大変勉強になりました。

追記

コメント欄が面白かったので。

プログラミングGauche

2010/08/25

Gauche の $ (ドル)

コメント欄の Gauche の $ 
$ の話をどこかで見たなー・・・と思ってググるもなかなか見つかりませんでした。Haskell 由来だった覚えがあったので「Gauche Haskell」でググったら出てきました。。
gauche.experimental.app なんてものがあるんですね。ドキュメントにもない実験的な機能ということですか。$ もこれに含まれているようです。(Gauche もいずれリーダーマクロがつくっぽいところも期待)

似てるけど違うけど、これを思い出しました。

追記


プログラミングGauche

Visual Stuidio (2008) での Emacs キーバインド

ツール -> オプション -> 環境 -> キーボード
キーボードマップ スキームを Emacs に設定後、以下の設定を追加してみました。

キー 実行されるコマンド
C-c i 編集.選択範囲のフォーマット
C-h 編集.一語削除
M-; 編集.選択範囲のコメント
M-+ 編集.選択範囲のコメントを解除
C-, ウィンドウ.前のドキュメントウィンドウ
C-. ウィンドウ.次のドキュメントウィンドウ

たったこれだけですが、追加したら結構良い感じになりました。

あとは
C-g を Emacs と同じようなキャンセルっぽい動作に
tab の入力を C-i に
補間候補のポップアップ内の選択も C-n, C-p に できたらもっと幸せなんですが・・・。

ところで、VS2010 では Emacs キーバインドがデフォルトでは提供されていないとか。

そういや、こういう噂はどうなったんでしょうね。


参考

Emacsテクニックバイブル ~作業効率をカイゼンする200の技~

2010/08/24

グッド・ラボラトリー・プラクティス

同じくただのメモ。

世界は分けてもわからない P.186 より。
実験室におけるよき習慣。ヒトは常に間違える。忘れる。混乱する。だから、それをしないよう注意するのではなく、それが起こらないための方法論を考えよ。あるいはミスが起こったとき、その被害が最小限にとどまるような仕組みを考えよ。それが君たちの仕事だ。

プログラマの仕事のことかと思いました。どの業界も似たようなものなんでしょうか。ソフトウェア業界にも似たような教訓があります。
それに福岡伸一さんの著書を読むと、ポスドクの社畜っぷりもなかなかであることがわかります。

そういえば、この 世界は分けてもわからない には意外なことに、ゲームプログラマになる前に覚えておきたい技術 の平山尚氏の名前が出てきます。

世界は分けてもわからない (講談社現代新書)

「足りない」という強迫観念

世界は分けてもわからない P.14 より。
私の身体が、あるいは私の精神が不調なのは、何かが不足しているからかもしれない・・・・・・この強迫観念から逃れんがための反動として、私たちは時として、不必要な物質の大量摂取を無自覚に行なってしまうのです。
↑を読んで↓を思い出しました。

「過ぎたるは及ばざるが如し」「押し付けられた善意は悪意と同じ」ですか。

生物と無生物のあいだ (講談社現代新書) と できそこないの男たち (光文社新書) も以前読みました。次は 動的平衡 生命はなぜそこに宿るのか も読んでみたいです。


最近ようやく積読が増加から減少傾向に。。

世界は分けてもわからない (講談社現代新書)