〜2004年12月上旬〜
5367通。確実に増えてる。
更新。またしてもmake testが会社のPCで成功し家のPCで失敗。 そろそろ新しいdistroにすべきか。
□ボタンで全部閉じることに気づいた。ってマニュアルに書いてある。
現状報告のメールが来た。全然改善されないので
- コンピューターウィルス対策の導入
- 迷惑メール対策の導入
- メールサービスを構成する各種サーバー機器を処理能力の高い機器へ交換
- 既存機器の動作調整を引き続き実行
ということになったらしい。次はがんばってくれよー。
man mpdしてみるとこんな記述があった。
id3v1_encoding <charset> This specifies the character set used for the ID3v1 tags. Sup- ported characters sets also can be obtained from the iconv. By default ISO8859-1 is used.
これで指定すればいいらしい。というわけで、~/.mpdconfに
id3v1_encoding Shift_JIS
を追加し、mpd --create-dbしてデータベースを作り直し。 これで ncmpcの表示は完璧。 でも今度は FoxyTunes が???に化ける。うーむ。あちらを立てればこちらが立たず。
ChangeLogを見ると最新の0.11.5で入った機能なので、 FoxyTunes側が対応してないのかもしれない。 考えてみるといままで表示されていたのが不思議なくらい。
初霜。寒いわけだ。
結局shugoさんがCIA形式でメールを送るスクリプトを作ったので、 Ruby/CIAが復活。
Link: CIA
なんだかんだで FoxyTunesより ncmpcのほうが気に入ってしまったので、FoxyTunesの文字化けはもういいやという状態になりつつある。 そのうち直るでしょう、たぶん。
Changes:
This version uses one transaction for all reads, to ensure proper atomicity and isolation. It can also be compiled for Berkeley DB support without transactions. It adds a username formatting option, and a "remove environment" parameter.
予約をカートに入れたまま忘れていた。
Clip-Onで1.5倍速再生に慣れたせいか、VHSでの2倍速再生でも問題なく聞き取れるようになった。 DQ8やってて録画していたビデオが溜ってるときに便利だ。
xsltprocで変換してみようと思ったが、timestampがUNIX Timeなもんだから困る。 さすがにstrftime相当はないよなあ。
最近DJGPPでmakeしてないと思い、HEADでmakeしてみると案の定エラーに。 DJGPPにはsetrlimitは存在するのにrlim_tは定義されてないのが原因のようだ。
#ifdef HAVE_RLIM_T #if SIZEOF_RLIM_T == SIZEOF_INT # define RLIM2NUM(v) UINT2NUM(v) # define NUM2RLIM(v) NUM2UINT(v) #elif SIZEOF_RLIM_T == SIZEOF_LONG # define RLIM2NUM(v) ULONG2NUM(v) # define NUM2RLIM(v) NUM2ULONG(v) #elif SIZEOF_RLIM_T == SIZEOF_LONG_LONG # define RLIM2NUM(v) ULL2NUM(v) # define NUM2RLIM(v) NUM2ULL(v) #else # error cannot find an integer type which size is same as rlim_t. #endif #endif
ここで見てるのはHAVE_RLIM_TじゃなくてSIZEOF_RLIM_Tだから
#if SIZEOF_RLIM_T
としよう。で、configure.inに
case "$target_os" in msdosdjgpp*) ac_cv_sizeof_rlim_t=4;; esac
を追加。
ついでに今日の非stdio化に対応。ダミーのis_socketとshutdownを定義。
Linuxでcygwin版rubyをクロスコンパイルしてるとなぜかcursesをコンパイルするところでSEGVに。 調べてみるとccacheがSEGVになってるようだ。 見た感じだとコマンドラインがやたらと長い。これが原因か? いや、数だな。32個あたりに限界があるようだ。
% echo 'main(){}' >main.c % ccache gcc $(ruby -e 'print "-I. " * 30') main.c % ccache gcc $(ruby -e 'print "-I. " * 31') main.c zsh: segmentation fault ccache gcc $(ruby -e 'print "-I. " * 31') main.c
ccacheをmakeし直してみると全然問題ない。うーむ。なんだったんだろう? 記念にCC='diet gcc'で作っとこう。
Changes:
A new ftps:initial-prot setting was added. FTP over HTTP proxies with the CONNECT method can now use proxy authorization. The "mirror" command was fixed not to chmod unchanged files. Excluding files for the sftp protocol was fixed. The transfer of growing files over the fish protocol was fixed. mkdir over hftp was fixed. The delay between connection attempts was fixed. The Polish translation was updated.
Blogのような見た目だ。subscribeすると未読管理もできたりする。
link: [ruby-talk:122695], http://groups-beta.google.com/group/comp.lang.ruby
About:
Plash (the Principle of Least Authority Shell) is a Unix shell that lets you run Unix programs with access only to the files and directories they need to run. In order to implement this, the filesystem is virtualized. Each process can have its own namespace, which can contain a subset of your files. This is implemented by modifying GNU libc and replacing the system calls that use filenames. For example, open() is changed so that it sends a message to a file server via a socket. If the request is successful, the server sends the client a file descriptor. Processes are run as the user 'nobody' in a chroot jail. No kernel modifications are required.
README.txt のShell Overviewを見てちょっと驚いた。
ls .
のように`.'が必須とか、ファイルはdefaultでread-onlyだとか
gcc -c foo.c => -o foo.o
のように明示的に=>を使ってファイルに対する書き込みを指定しないといけないらしい。
systemが全然動いてなかった。いや実は``も動いてないんだけど。 なにしろMS-DOSにはpipe(2)なんてないからpopen自体もなんちゃってだしなあ。 systemは動くようにしたが、popenはいずれまた。 まずは家のPCにクロスじゃないDJGPPの環境を作らないと。ってそこからかよ!
まてよ。config.hのHAVE_FORKをundefすれば他の環境でも実験できるか。
lesspipe.shといえば人知れず/usr/bin/にあったりする地味なやつだが、結構いろんなことができるようになってる。
About:
lesspipe.sh is an input filter for the pager less as described in less's man page. The script runs under a ksh-compatible shell (ksh, bash, zsh) and allows you to use less to view files with binary content, compressed files, archives, and files contained in archives. Viewing files by accessing a device file is implemented to some extent (DOS filesystems and tar files). It supports many formats (both as plain and compressed files using compress, gzip, bzip2, or zip). Syntax highlighting for many languages is available through a helper script, "code2color".
このSyntax highlightingはREADMEを見ると
Syntax highligting is only tried if less is called with -r or -R !!! Suppress syntax highligting: less file1:..:fileN:: (append 2 colons) Force highligting for another language: less file1:..:fileN:suffix where suffix denotes the language: .ada .asm .inc .awk .c .h .cpp .cxx .groff .html .php .xml .java .js .lsp .m4 makefile .pas .patch .diff .pm .pl .pod .pov .py .rb .sh .sql
ちゃんとRubyも対応してたりするわけだよ、これが。すばらしい。
結局Linuxでundef HAVE_FORKしてデバッグ。make testも通った。 しかし、今日の他のコミットでSEGVするようになってしまった。 原因はrb_globの呪いだ。 crt0でrb_globを呼び出しているんだけど、 先月の変更でheapではなくstring objectがバッファに使われるようになったので、ここで落ちる。 初期化がまだ済んでないから。
解決策は
といったあたりか。
cvswebのtarballを作るところでInternal Server Errorになるという報告を受けた。 調べてみると-Tのときに
Insecure dependency in chmod while running with -T switch at /usr/lib/perl5/5.6.1/File/Path.pm line 177.
ということらしい。5.8.6ではエラーにならないんだけどなあ。 これのいやらしいところはcvs exportした作業ディレクトリを消す処理が動かないという点。 700MBほどのtreeがごっそり残ってた。
sjisのファイル名をあきらめるというのが妥当な線か。 まあ、Cygwinも同じようにだめだしねえ。