2009-03-06
■ [scheme] (Petite) Chez Schemeを動かしてみよう
Chez Schemeはscheme.com(!)で配布されている、商用/フリーのSchemeインタプリタである。
余談だが、「Chez」は「シェ」と読む。フランス産なので、末尾のzは読まない。「○○の家で」といった意味の前置詞らしい。
メインプログラマは3imp.pdfのKent Dyvbig(ディビッグ)である。「プログラミング言語Scheme」の英語版も、同ドメインで公開されている。
Chez Schemeは商用なので、フリー版のPetite Chez Schemeをダウンロードしよう。 沢山あって迷うが、pcsv7.4-i3osx.tar.gz でいいはず。OS 10.4とか書いてるけど、大丈夫かな。
解凍したら、custom/ReadMe(変わったファイル名だ)に従ってインストールを行う。
./configure --installprefix=/Users/yhara/bin/scheme/chez/ sudo make install
homeに入れてるのに、sudo付けないとなんか怒られる。
終わったら、環境変数を定義するらしい。おい、めんどくさいぞ。
例の通りやってもうまく動かなかったので、適当にシェルスクリプトを書いた。
~/bin/chez-scheme:
SCHEMEHEAPDIRS="/Users/yhara/bin/scheme/chez/lib/csv7.4/i3osx" /Users/yhara/bin/scheme/chez/bin/petite
-hも-helpも--helpも効かないが、^Hには対応している。印象+1。
Petite専用のリファレンスはないが、きっとChez Schemeのドキュメントを見ればいいはず。
■ [softs] Dropboxを始めてみませんか
容量アフィリエイトと聞いて!
以下のリンクからDropboxに登録すると、僕とあなたに250MBのディスク領域がボーナスとして加算されるらしいです。まだDropboxに 登録していない人はぜひ。
Dropboxは、一言で言うと「全自動オンラインバックアップソフト」です。 Windows/Mac/Linuxに対応していて、それぞれのOS用の専用クライアントを入れると、 ディスク内の特定ディレクトリがDropboxのサーバに同期されるようになります。
同期はCPUが空いたときに随時行われるので、バックアップについて何も意識する必要がありません。まさに全自動。 また、各ファイルは更新時に上書きされるのではなく、Subversionのように各バージョンが保存されるため、間違った編集をしてしまっても安心。
それって容量とか大丈夫なの?と思われそうですが、僕は昨年の秋から使ってて、2GB中の4分の1(500MB)しかまだ使っていないようです (Dropboxに置いてるのはソースコード関連なので、テキストが主です)。足りなくなったら、適当に古いファイルを消せばいいかな、と思っていたり。
あと複数台のマシンでデータを共有したり、別のユーザとデータを共有したりもできるそうです(僕は使ってないですが)。
まあ、とりあえず、登録して使ってみるといいとおもうよ…!
余談
似たようなものとして、ZumoDriveというサービスもあります。 Dropboxがシンクロするファイルを全てローカルにも置いておくのに対し、ZumoDriveは基本的にサーバ側にしかデータを置かず、 ローカルではファイルの一覧だけが見えていて、使いたくなったときにシームレスにダウンロードされるようです(自前でファイルシステムを書いてるんだと思う)。 「大量のデータを」「多数のマシンで」共有したい場合は、ZumoDriveもいいかも知れませんね。
■ [ruby] 「gemのインストールを10倍高速化する方法」
from http://buddingrubyist.com/2009/02/14/how-to-speed-up-gem-installs-10x/
~/.gemrcの末尾に
gem: --no-ri --no-rdoc
という行を追加すると、riやrdocのリファレンスがインストールされないので速いよ!とのこと。
コメント欄見ると「rdocはともかくriは要るだろjk」とか書いてあって面白い。
■ [scheme] Ikarus Schemeを動かしてみよう(2)
前回のあらすじ:コンパイルは通ったしすげー速いけどSRFIの一部がロードエラー
毒を食らわば皿まで、ということでMLで聞いてみた。
> Ikarusのバージョンいくつ?古いの使ってるだろ?(意訳)
いや、確かに1年前のやつ使ってたけれども、それ最新のリリース版だから…!
さっさと0.0.4リリースしろよ(あと完成度に比べてバージョン番号が小さすぎるだろjk)と思いつつ(とても親切だったのでそんなことは言わない)、trunkをダウンロード。
教わったとおりにconfigure (port install libffiが必要だった)。
./configure --prefix=/Users/yhara/bin/scheme/ikarus --enable-libffi CFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib
あとはmake, make installでおk。やったーIkarus 0.0.4-rc1+できたよー
→SRFI動いた!きた!これで勝つる!