Misc Change Log

`OpenBSD で scheme のアプリ開発' みたいなことをやってます。

2005-04-30

OpenBSD で OOo

http://marc.theaimsgroup.com/...

Linux を compat で動かすという話はあったけど、 こっちはネイティブで動かすらしい。

まだビルドする気がしないな。 HDD どれだけ喰うんだろ。

関連するスレッド

Posted at 22:25 | Permalink | Category | Comments

OpenBSD の locale まわり

Citrus のコードがようやく入りだした。

とりあえず wc* から。 mb* やら strftime はまだ。というか、mklocale がまだ入ってない。

あー iconv もまだか。まだまだ先は長い。

Posted at 21:53 | Permalink | Category | Comments
2005-04-29

R6RS Progress Report

http://www.schemers.org/...

via: c.l.s

タイトルだけ抜粋してみた。

いくつ残るか知らないけど、 どれが残っても大改造に違いない。

Posted at 16:28 | Permalink | Category | Comments
2005-04-26

Scheme のビルド環境

先日 arc を紹介したけど、これってもうメンテナンスされていないっぽい。

で、スレッドの流れとしては、

結局収集つかないのかよ。

conjure は scmxlate を使って scheme 間の壁を越えようとしてるけど、 肝心の中身はいまひとつかなあ。 arc と同じ理由で、なんだけど。

Posted at 02:25 | Permalink | Category | Comments

ゆうこりん

http://halflife2.filefront.com/...

via: http://d.hatena.ne.jp/...

ぶはは。おもしろすぎる。

そうえば、最近 FPS してないなあ。 探してみるか。

Posted at 01:44 | Permalink | Category | Comments
2005-04-25

arc - the arc build tool project

http://www.eyestep.org/arc.html

via: c.l.s

Scheme で autoconf, automake, libtool, make の代替になるツールを作成するプロジェクト。

INSTALL によれば、scm, guile 1.3以降, または ksi で動作とのこと。 自前のインタプリタ asc もあるらしい。

せっかくなので、--scheme=asc で configure してみる。

で、ビルドなのだが、configure が OS の判定しているので OpenBSD だとこける、ので、 FreeBSD のマネをしてみる。 あとは strcat, strcpy がアレなので細々と訂正(arc-20050425.diff) 。てか、今気づいたけど、$HOME あふれ攻撃できるな。これ。

とりあえずインストールまではこれでオッケー。

お約束の hello.c のビルド。

$ cat src/hello.c
main()
{
	printf("hello,world");
}

Makefile に相当するのが Arcfile で、こんな感じ。

$ cat Arcfile
(project sample-project
         basedir: "src/"
         default: 'link)

(stmt build-dir
      "_build")

(stmt init
      (mkdir dir: (-> build-dir)))

(stmt c-sources
      (fileset pattern: "*.c"))

(stmt compile
      depends: 'init
      (c-compile sources: (-> c-sources)
                 shared?: #t
                 outdir: (-> build-dir) ))

(stmt link
      (link files: (-> compile)
            shared?: #t
            appnm: "hello"))

arc の README に書いてある例が out of date な気がする。 doc/ 以下の方が -current を反映しているらしいので texinfo 必須。

使ってみて思ったけど、なんというか、m4 の地獄マクロよりはマシ、mk の手抜き Makefile よりは不便かなあ。 S 式じゃなくてインデント形式にしたら、プロパティをタグごとに付けられる Makefile だった、 とかいうオチもありうる。

それと、細木数子じゃないけど、名前がよくないよな。 アーカイバの arc とモロに名前が衝突しているんですけど。 あ、Paul Graham のインタプリタもそうか。

arc のプログラムを arc でインストールして arc で圧縮して配布、とか。

もっと問題なのはぐぐっても出てこないことか。名前重要。

Posted at 11:14 | Permalink | Category | Comments

日本語で abcde を使う

http://d.hatena.ne.jp/...

押し売りをしてしまったので、責任を取ってまとめ。

abcde とはコンソールベースの CD リッパー、エンコーダ。 非常に手軽に使えるので(ほとんど Enter 押すだけ)、 HDD の肥やしの大量生成を可能にしてくれる素敵なソフトである。

で、もちろん日本語での細かい事情なんて知らないので、 そのままだと日本語タイトルの CD のエンコーディングはうまくいかない。

abcde 自体はシェルスクリプトなのでまあ問題はない(SJIS なファイル名とかでなければ)。 OpenBSD だと e?grep がマルチバイトを通さないので、

# cd /usr/ports/audio/abcde
# make extract
# cd w-abcde-2.2.0/abcde-2.2.0
# perl -i -p -e "s/grep/grep -a/" abcde cddb-tool

-a オプションで無理矢理対応。

次は日本語 EUC で返す CDDB を ~/.abcde.conf にセット。

CDDBURL="http://freedbtest.dyndns.org/~cddb/cddbeuc.cgi"

あとは id3 の SJIS 強制変換パッチを作成したので当てる: (id3-0.12-id3.c.diff)。

これで EUC のファイル名、id3tag が SJIS の mp3 ファイルが作成されるはず。

余談だけど、id3 はジャンルに Japan Rock が存在しないので Jpop あたりで編集し直さないといかん。ううむ。

Posted at 01:21 | Permalink | Category | Comments
2005-04-19

3.7 song

http://marc.theaimsgroup.com/...

3.7 の CD を楽しみにしてるひとは見ちゃだめ。

続きを読む ...

Posted at 13:39 | Permalink | Category | Comments
2005-04-16

Randomly Generated Paper Accepted to Conference

http://www.pdos.lcs.mit.edu/scigen/

via: http://science.slashdot.org/...

あはは。すらすら論文が書けるなんてうらやましいなあ。

あと、こっちもおもしろい。

http://www.cs.ucla.edu/...

via: http://pc8.2ch.net/...

Posted at 00:42 | Permalink | Category | Comments
2005-04-12

古いタイプの呼出し規則

foo(char *s)

みたいな関数があって、 内部で s をいじってて、 なおかつ s の長さをチェックしていないライブラリを発見。

中身はこんなの。

foo(char *s)
{
    char buf[N]
    ...
    strcpy(buf, s);
    ...
}

こういうときは、ふつう

foo(char *s, size_t len)
{
    char buf[N]
    ...
    strlcpy(buf, s, sizeof(buf));
    ...
}

だよねえ。

修正案を拙い英語で送ってみる。

Posted at 23:33 | Permalink | Category | Comments