Entries from 2008-06-01 to 1 month

append の部分を append! に置き換えたら案の定はまった件

pass3/$lambda で unquote-splicing に隠れている append が遅いことがしぼりこみにより判明。 これを append! に差し替えたところ(どこかの)副作用により RETURN 1 が挿入されて死亡。 ということで pass3 でコンパイル結果を某かのポイントに push して…

竹中教授のみんなの経済学 - 竹中 平蔵

竹中教授のみんなの経済学 竹中平蔵氏が書いた経済学の基礎を教えてくれる本。 皆に身近な話題と経済学をからめて分かりやすい文章で書かれており読むのが楽しい。 自分は経済学、金融などは全く分からないのでこれくらいの難易度で丁度良い。 小テーマ毎に…

append問題

Mosh のコンパイラをチューニングしている。とても大きなコードをコンパイルすると異常に時間がかかるのだ。(10秒とか)。 原因は大まかに2つに分けられる。 (1)アルゴリズムの問題 「リストに x という要素があるかどうか?」を線形探索 (memq とか assq…

Emacs でマッチしたものを数える

Emacs でマッチしたものを数えるには count-match を使う。 例えば append という手続きがソースコード中で何回呼ばれているかを調べるには M-x count-match と入力 append と入力し Enter する。 正規表現を指定するので lambda\|define のような条件入力も…

プロファイラの結果を眺めるなどした

遅いところは特定されつつある。

レバレッジ勉強法 - 本田直之

レバレッジ勉強法。 いくつか勉強方法の本を読んできたが、とびっきりの当たりを引いたみたい。(といっても勝間さんの本の中で紹介されていたので偉いのは自分ではない)。 明日からいろいろ実践しようと思うことができ、それに時間を割きたいので感想は少…

コンパイラチューニング中

プロファイラを利用してコンパイラをチューニング中。 iform の中から free variables を探す find-free が(予想通り)遅いことが分かった。 ちょっと複雑な手続なので躊躇したが、これを C++ で書き直したところ3割ほど速くなった。 set! を探し出す find-…

自己啓発書や勉強ノウハウ本

自己啓発書や勉強ノウハウ本などを小馬鹿にしていた時期があった。 以前は 自分には自分のスタイルがありそれがベストだ。 自己啓発本に影響されて突然目を輝かせて、明るい未来を夢見る人はとても単純。洗脳されているのではないか?。自分はそうなりたくな…

「原因」と「結果」の法則 - ジェームズ アレン

「原因」と「結果」の法則を読んだ。確か勝間さんの本で紹介されていたので手に取った。 前提知識なしで訳者前書きを読んで驚いた。 この本は実は1世紀以上前に書かれてた本で、多くの「自己啓発系の本」に多大な影響を与えた大ベストセラーらしい。 前書き…

パフォーマンスチューニング中

コードの改善をしてどの程度速くなるか予想したが計測環境は会社のマシンだったλ...。 早くグラフの続きが描きたい。

チーズはどこへ消えた?

チーズはどこへ消えた?を読んだ。 今までいろいろな場所・タイミングでこの本を読むことをすすめられてきたがやっと読むことができた。厚さも薄いし20〜30分ほど読める。 内容はねずみと小人がチーズを探すという話。そこから得られる教訓を学びましょうと。…

Freed - Sean Lennon

http://www.honda.co.jp/FREED/gallery/mov01/index.html ITMSに「FREED」売ってないな。買いたい。

AI Memo

#Lisp_Scheme で読むと良いと教えてもらった。 いくつもあるのでどれを読んだらよいかな。Soft Objectsから? ftp://publications.ai.mit.edu/ai-publications/pdf/

夢をかなえる勉強法

夢をかなえる勉強法を読んだ。 作者は司法試験の勉強のカリスマらしい。自分や生徒に教えた体験を元に書かれているとのこと。 率直な感想としては「無理なく続けられる年収10倍アップ時間投資法」が超実践的な内容なのに対して、本書は自己啓発寄り。既に気…

SRFI に getenv を提案しようその5

Scheme Request For Implementation - Processを見て提案をする。 srfi minus editors at srfi dot schemers dot org にメールを送る。 7日以内に editors から返事が来て提案を見やすくするためのやりとりをする。 editor に SRFI 番号をもらい draft(草稿…

不動産屋の情報

エイブルに排除命令=賃貸マンション広告で不当表示−公取委(時事通信) - Yahoo!ニュース引っ越しの時に物件探しで苦労したから分かるのだけど、これはほかの不動産やも同じようなことをしていそうだよね。 釣り物件多すぎるもの。

せたが屋本店に行った

らーめん せたが屋 | 東京・世田谷・前島司の本格ラーメンせたがやラーメンを食べた。うまい。 これが魚介系ってやつかうまいよ。タマネギをあとから放り込んでさらにうまい。

Mosh に -l オプションをつけた

id:g000001 さんから要望のあった、ユーザー定義のライブラリをプレロードするための -l オプションをつけました。 % mosh -l my.scm hello.scm のように hello.scm の実行前に my.scm をロードすることが出来ます。例えば my.scm に (define (http-get url)…

新しいプロファイラ便利!

letrec や named-let など名前を持たない、無名のクロージャの呼び出しも、引数の名前やソースコード中の行番号が分かるので特定できるよ。 自分をほめてあげたい。偉い。 time% msec calls name location 27 3510 190 (lambda x y) compiler-with-library.s…

Emacs Lisp Idioms

Reddit.comから。これは気軽に参照できて良いね。 Emacs Lisp Idioms

psyntax.pp の Hello, World を高速化しようその1

ここ数日 Hello, World の高速化のためにプロファイラの精度を上げるべく作業をしていた。 無名の closure でもソースコード上の位置が記録されたりとかまあいろいろがんばりました。 time% msec calls name location 27 3600 190 (<proc> x y) compiler-with-libr</proc>…

SRFI に getenv を提案しようその4

SRFIで指定されているテンプレートの HTML に書き上げた。一晩寝かせて投稿します。どきどき。 http://mosh-scheme.googlecode.com/svn/trunk/srfi-getenv.htmlあら表入れるのを忘れてた。

無理なく続けられる年収10倍アップ時間投資法 勝間 和代

昨日読んだ無理なく続けられる 年収10倍アップ勉強法とセットで買った「無理なく続けられる年収10倍アップ時間投資法」を読み終えた。 前作の3倍ほど役に立つことが書いてあり何カ所も読み返したので元は取ったと思う。 いつも通り印象に残ったものを列挙。 …

構造体っぽいものをマクロで実装

(define-macro (define-simple-struct name . elements) `(begin (define (,(symbol-concat 'make- name) ,@elements) (vector ,@elements)) ,@(map-with-index (lambda (i element) `(define (,(symbol-concat name '- element) x) (vector-ref x ,i))) ele…

自称 Lisp プログラマを警官10人以上が取り囲み、一時騒然・山口

ネタなのですが笑った。細かいところがうまい。 自称 Lisp プログラマを警官10人以上が取り囲み、一時騒然・山口 - 黎明日記

SRFI に getenv を提案しようその3

おかげさまでSRFI に getenv を提案しようその2でだいたいまとまってきたのであと一押し。問題点は reference implementations が弱いところだな、元々 getenv という名前で getenv が定義されている場合に再定義するのが難しいのだ。 (define sys-getenv ge…

call-process を実装した

そろそろ外の世界とつながりたいので call-process を実行しました。 popen を呼んでいるだけですが以下のように使えます。 (define (http-get url) (call-process (format "wget ~a -O- -q" url)))

Gauche の extended-pair を使ってみよう

Gauche には extended-pair というものがあります。普段使っている分には気づきませんが実は裏で extended-pair はひっそりと活躍をしています。早速触ってみましょう。以下のようなコードを書いて exp.scm と名付けました。 (define-macro (import-only mod…

無理なく続けられる 年収10倍アップ勉強法 勝間 和代

先日 mumurik さんと kさんでご飯を食べたときに、プログラマとは?とか勉強の方法の話になった。 そのときに mumurik さんから「ひげぽんは勉強のほうやり方がうまいとは言えない」的なことを言われました。 これはまさに自分も気づいていたことであり、自…

朝早く目が覚める

コード書いて昼には出かけよう。