2010年1月10日日曜日

Mail.app -> mbox

Mail.app で pop やら imap でもってきたメールは1メール1ファイルでここにある.

/Users/xxxx/Library/Mail/.../INBOX.imapmbox/Messages/

メール本体部分だけを取り出すには

F=mmmm.emlx
cat $F | sed 1d | head -c `head -1 $F`

で ok. これの前に

echo From postmaster@example.com `date`

をつけて, 最後に空行をつければ mbox.
Unix From や日付時刻はメール本体のをもってきて整えれば完璧.

2009年9月27日日曜日

64bit 化

64bit 化に port の言語処理系のソフトウェアが追い付いていないなあ. ghc, morzart, sbcl, gcl らがまだ未サポートと表示されたり, 生成できなかったり.
erlang が動くのがさすがだ.

2009年9月26日土曜日

バッテリの交換修理

Snow Leopard は快調だが,バッテリが不調.「バッテリの交換修理」メッセージが現れた.銀座にでも持ち込むか.

2009年9月25日金曜日

Snow Leopard

Snow Leopard を買い直してきました. 今回は順調にインストール完了. Safari の圧倒的な速さに感動しています. 気のついたことなど:

X11 と Xcode は全面的にいれかえられる. /usr/X11/lib/X11/fonts/ に追加していた font や /usr/X11/bin/ にいれていたバイナリは消えます.

VMware fusion は問題なし.

macports はすべてコンパイルし直し. この機会に必要なものだけにしようか.

emacs-22.1 のソースからの生成はできなくなった. さあ, これが問題だ. emacs-23 なら cvs から HEAD をもってくれば動くが, emcws が必須の身としては emacs-22.1 (22.3 でもいい) が動かないと困る. macports の emacs (22.3) も生成できない. 32bit の libcanna や libncureses を保存しておいたので, DYLD_LIBRARY_PATH を保存しておいたディレクトリにセットして, 昔の emcws-22.1 が無事に動いてはいるけれど.

emacs-23 の src/unexmacosx.c を emacs-22.3 にバックポートしてみた. これは簡単だったが, これだけではコンパイルが終らない. temacs で undump は成功したように見えて emacs ができるが, この emacs が走らない.

(gdb) run -q -batch -f list-load-path-shadows
Starting program: /usr/local/src/emacs-22.3/src/emacs-22.3.5 -q -batch -f list-load-path-shadows
Reading symbols for shared libraries ++. done

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000101802e20
make_float (float_value=0) at alloc.c:2627
2627 float_free_list = float_free_list->u.chain;
(gdb) print float_free_list
$1 = (struct Lisp_Float *) 0x101802e20
(gdb) print *float_free_list
Cannot access memory at address 0x101802e20

なんだろう. 0x101802e20 の最上位の 0x1 のビットが怪しいが.
gc の mark とかだろうか.


このビットは関係なかったようです.emacs22-3 で src/config.h から

#define HAVE_POSIX_MEMALIGN 1

を取り除いたら生成できました.config.h は configure で機械生成されるのでどこか元をなおさねばいけませんが,一安心.なお,--without-x で作っていますので,X こみだと別かも知れません.


configure (configure.in も) の

...
for ac_func in gethostname getdomainname dup2 \
rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \
random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime res_init setsid \
strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \
utimes getrlimit setrlimit setpgid getcwd getwd shutdown getaddrinfo \
__fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \
sendto recvfrom getsockopt setsockopt getsockname getpeername \
gai_strerror mkstemp getline getdelim mremap memmove fsync sync bzero \
memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign
do
...

この最後の posix_memalign を削除すると, config.h に HAVE_POSIX_MEMALIGN は出てこなくなりました.

2009年9月23日水曜日

AirMac

久しぶり.

発売日に買ってきた Snow Leopard ファミリーパックは例の不良 DVD に当たりました. まだ買いなおしてません. そろそろいいかな.

AirMac Extream を購入しました. 802.11b のアクセスポイントの調子が悪くなってきたので更改.
Mac の接続に少し手間取りました. インターネット→接続共有 を「切 (ブリッジモード)」にして解決.
デフォルトは「パブリック IP アドレスを共有」で, このモードでは AirMac Extream が DHCP サーバやってかつ NAT してくれるのですが, これが悪かったようです.

Windows マシンもなんとか接続できました. 速いし WAP にもなったし, 快適です.

2008年5月11日日曜日

MIDI音源を鳴らす

昔買ったローランドの MIDI 音源 SC-55mkII を使うため, まずは USB-MIDI ケーブルを購入. 購入したのはローランドの UM-1EX ヨドバシカメラに在庫があった.

http://www.roland.co.jp/products/jp/UM-1EX/index.html

ドライバをダウンロードして, 10.5.2 で問題なく動く. ただ, マニュアルのインストール後のテストの記述が古い. 10.5.2 の MIDI 設定のテストは, 入出力別々にテストできるようになっている.

続いて, シンプルな midi sequencer, MidiSwing.0.3.5b.tgz をダウンロード.

http://www.les-stooges.org/pascal/midiswing/

デフォルトの output は java Sound Synthesizer と QuickTime Musical instruments だが,

http://www.humatic.de/htools/mmj.htm

から mmj.zip をもってきて, この中の libmmj.jnilib と mmj.jar を /Library/Java/Extensions にコピーすると USB-MIDI 経由で SC-55mkII が鳴った. ただ, Java での実時間処理の問題か, 時々音の出がひっかかったようになる. クロック設定とかを調整すればよいのだろうか.

GarageBand のソフトウェア音源もとても充実している. ハードウェア音源がなくても楽しめますね.

2008年4月23日水曜日

iWork '08購入

iWork '08 を買ってきた.家庭で keynote を使う場面はあまりないかもしれないが,かっこいいソフトはいれないと.