Just another Ruby porter,

〜2007年1月上旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2007-01-01 (Mon)

12月のspam

298通。Gmail側約4100スレッド。
今回はbefore:2006/11/30で検索して全部消した。

[Video] GOOD LUCK!!

年末に録っておいたGOOD LUCK!!全話を一気に見た。
1.5倍速で5時間かかったよ。
「華麗なる一族」が1/14から始まることがよくわかった。
何度このCMを見たことか。


2007-01-02 (Tue)

[Ruby] operator precedence of assignment

この挙動を変えられたら全世界のRuby Golferが非常に困るので、
是非ともこのままで。

[Soft] GRZip II

圧縮速度が速いのが特長。

GRZipII - is a high-performance file compressor based on Burrows-Wheeler Transform, Schindler Transform, Move-To-Front and Weighted Frequency Counting. It uses The Block-Sorting Lossless Data Compression Algorithm, which has received considerable attention over recent years for both its simplicity and effectiveness. This implementation has compression rate of 2.234 bps on the Calgary Corpus(14 files) without preprocessing filters.

Ruby 1.8.5 patchlevel 12のtarballで試してみる。

% LANG=C wc -c ruby-1.8.5-p12.tar.gz 
4526961 ruby-1.8.5-p12.tar.gz
% gzip -d ruby-1.8.5-p12.tar.gz
% LANG=C wc -c ruby-1.8.5-p12.tar 
20172800 ruby-1.8.5-p12.tar
% time gzip -9c ruby-1.8.5-p12.tar |LANG=C wc -c
4480536
gzip -9c ruby-1.8.5-p12.tar  4.15s user 0.04s system 99% cpu 4.229 total
LANG=C wc -c  0.00s user 0.00s system 0% cpu 4.228 total

元より小さくなったというわけでパッケージングスクリプトは-9がついてないらしい。
この際それはどうでもいいとして、

% time bzip2 -9c ruby-1.8.5-p12.tar |LANG=C wc -c
3859696
bzip2 -9c ruby-1.8.5-p12.tar  10.40s user 0.13s system 97% cpu 10.778 total
LANG=C wc -c  0.00s user 0.01s system 0% cpu 10.776 total
% time grzip -c ruby-1.8.5-p12.tar |LANG=C wc -c 
3441254                                                                   
grzip -c ruby-1.8.5-p12.tar  8.26s user 0.20s system 98% cpu 8.589 total
LANG=C wc -c  0.00s user 0.01s system 0% cpu 8.588 total

たしかにbzip2より速いし圧縮率も高い。
しかし標準入力を受けつけないのはいただけない。


2007-01-03 (Wed)

[Ruby] 4つのブランチ

なんだかんだで今4つのブランチになってる。

ruby_1_8_5(CVS):
% ./miniruby -v
ruby 1.8.5 (2006-12-25 patchlevel 12) [i386-linux]

ruby_1_8(SVN):
% ./miniruby -v
ruby 1.8.5 (2007-01-03 patchlevel 5000) [i386-linux]

trunk(SVN):
% ./miniruby -v
ruby 1.9.0 (2007-01-03 patchlevel 0) [i386-linux]

matzruby(SVN):
% ./miniruby -v
ruby 1.9.0 (2007-01-03 patchlevel 0) [i386-linux] - matz

ruby_1_8_5がまだCVSなのは キーワード置換問題が解決してないため。
matzrubyはまつもとさんのわがままで作られたが、
これはたぶん好き勝手にいじりたいためだろう。

一応patchlevelと- matzでそれぞれ区別ができるようにはなっている。


2007-01-04 (Thu)

[CD] ELLEGARDEN

ELEVEN FIRE CRACKERSを一日中聴きまくる。さいこー。


2007-01-05 (Fri)

[Soft] vtmalloc 1.0

About:
vtmalloc is a fast memory allocator for multi-threaded applications and Tcl. It provides low contention and the ability to return memory to the system.

[Soft] xbindkeys 1.7.4

Changes:
A minor change in xbindkeys.spec. A small English correction in warnings. Configuration files are reloaded on the fly when they have changed, so there is no more need to send a HUP signal to reload them. Minor guile bugfixes.

最近デスクトップ環境をいろいろ試した結果不満なのはショートカットキーの設定。
自分の好きなように設定できなかったりするので、これでできるといいんだが。


2007-01-06 (Sat)

[Soft] FSU Pthreads (POSIX Threads)

YARVではnative thread必須なわけでこのままだとDJGPP等はサポート外になる。
それはそれでもう役目を終えたかなと思うわけだが、
気になって調べてみたら FSUPthreads ってのを見つけてしまった。あるもんだな。

ちょっとクロスコンパイルしてみたが結構面倒。
どうしようかな。久し振りにdosemu環境でも作ってみようかな。


2007-01-07 (Sun)

[Vim] Vimsessions 0.1

Vimsessions allows you to keep you vim session files at your fingertips. Just tell vimsessions where your session file are, and it will add it to its popup menu. Clicking an entry in the popup menu will launch vim with the right sessions. Vimsessions sits in your tray, so it's totally unobtrusive.


2007-01-08 (Mon)

[Vim] vim scp://host/fileが動かなくなった

なぜかvim7になってからvim scp://host/fileが動かなくなってしまった。
scriptでログを取ってみたらscp自体が失敗してるようだ。
でも:!scp host:file .は成功する。
vim6をインストールしなおして確認してみたら、vim6ではまったく問題ない。
表示を見比べてみたら、vim6では

:!scp -q host:file /tmp/v303796/0

という感じで実行し、vim7では

:!scp -q 'host:file' /tmp/v303837/0

という感じ。''の違いか?実際に手で打ってみたら''でも問題ない。
さっぱり原因がわからんなあ。

なんか~/.vimrcの中にまずいもんでもあるのか?
最小限にして試してみよう。

% vim -u /dev/null --cmd 'set nocp|filetype plugin on' scp://host/file

あ、うまくいった。やはり~/.vimrcの中に原因はあるらしい。
もう3時だしつづきは明日。


2007-01-09 (Tue)

[Vim] vim scp://host/fileが動かなくなった原因

set fileencoding=japanだった。うーむ。
これは巷で出回ってる日本語コード自動判別の一部なわけなんだけど、なぜ?

% vim -u /dev/null --cmd 'set nocp|filetype plugin on|set fenc=ascii' scp://host/file

でもだめみたい。fileencodingを設定すると失敗する。
明日は別のホストでも試してみよう。

なんでこんなことしてるかというと簡単なメモが共有できるからってのと、
手元とリモートの~/.zshrcを同じエディタで一度に編集できて心地好いから。

[Vim] vim -u NONE

驚くほど早く立ち上がるよこりゃ。
~/.vimrcを整理することを考えたほうがよさそうだ。

[Linux] subversion 1.4.2のインストール

tarballを取ってきて次のような感じで進める。

% tar xfv src/subversion-1.4.2.tar.gz
% cd subversion-1.4.2
% tar xfv ../src/apr-1.2.8.tar.bz2
% mv apr-1.2.8 apr
% tar xfv ../src/apr-util-1.2.8.tar.bz2
% mv apr-util-1.2.8 apr-util
% tar xfv ../src/neon-0.26.2.tar.gz
% mv neon-0.26.2 neon
% sh autogen.sh
% CFLAGS=-Os CXXFLAGS=-Os ./configure --disable-dependency-tracking --disable-nls ;: subversion
% make

apr, apr-util, neonはバージョンを取った名前に変更すれば、
autogen.shが全部面倒見てくれる。
メッセージに日本語が出てもコピペするときに困るので--disable-nlsをつけた。
なんかいつもLANG=C svn ...とかやってるので。
でもヘルプは日本語で見たいんだよなあ。


2007-01-10 (Wed)

[Soft] dvd95 1.1p2

About:
DVD95 is an GNOME application to convert DVD9 to DVD5 (4.7 GB). It needs no additional packages, since embedded versions of vamps and dvdauthor are included. The interface is pretty simple to use. The shrinking factor may be computed for best results, or an adaptive compression ratio method may be used. The DVD can be converted to a file tree or an ISO file. The result can be viewed in xine, vlc, or mplayer. Burning the converted image is done with third party software. The output can either include or omit the menus in the source.

[Soft] nmdb 0.11

About:
nmdb is a network database (dbm-style) that uses the TIPC protocol to communicate with its clients. It consists of an in-memory cache that saves (key, value) pairs, and a persistent backend that stores the pairs on disk. Both work in combination, but the use of the backend is optional, so you can use the server only for cache queries, pretty much like memcached.

[Soft] SVNChecker 0.1

About:
SVNChecker is a framework for Subversion pre-commit hooks in order to implement checks of the to-be-committed files before they are committed. For example, you can check for the code style or unit tests. The output of the checks can be send by mail, written to a file, or simply printed to the console.

URL:

[Ruby] Tattle

集めてるということなので協力してあげよう。

% gem up tattle
Updating installed gems...
Need to update 31 gems from http://gems.rubyforge.org
...............................
complete
Attempting remote update of tattle
Successfully installed tattle-1.0.1
Installing ri documentation for tattle-1.0.1...
Installing RDoc documentation for tattle-1.0.1...
Gems: [tattle] updated
% tattle report
prefix, /usr/local
ruby_version, 1.8.5
host_vendor, pc
ruby_install_name, ruby
build, i386-pc-linux
target_cpu, i386
arch, i386-linux
rubygems_version, 0.9.0.8
SHELL, /bin/sh
host_os, linux
report_time, Thu Jan 11 01:19:21 +0900 2007
host_cpu, i386
key, f01a981c8a722c330d45557ef856021122b771d8e8e6161c2ffc23af2666c512
LIBRUBY, libruby.so.1.8.5
LIBRUBY_SO, libruby.so.1.8.5
target, i386-pc-linux

という情報を http://tattle.rubygarden.org/へ送るらしい。
結果を見るとix68とかは正規化したのも見たいな。
それにしてもi486がやけに多いな。ほんとにi486なんだろうか?

1.9.0が1個もない。
そりゃそうだよな。 Beta版 では"RubyGems now installs on ruby 1.9"ということらしいが、
実際やってみるとエラーになるわけでいろいろいじらないとインストールできない。
というわけ1.9の結果も送ってあげよう。

/usr/local/lib/ruby/gems/1.9/gems/tattle-1.0.1/lib/tattle.rb:54: warning: out-of-scope variable - key
ruby_install_name, ruby
build, i386-pc-linux
host_cpu, i386
host_vendor, pc
host_os, linux
key, f01a981c8a722c330d45557ef856021122b771d8e8e6161c2ffc23af2666c512
ruby_version, 1.9.0
SHELL, /bin/sh
prefix, /usr/local
LIBRUBY, libruby.so.1.9.0
target, i386-pc-linux
target_cpu, i386
report_time, 2007-01-11 01:35:39 +0900
rubygems_version, 0.9.0.8
arch, i386-linux
LIBRUBY_SO, libruby.so.1.9.0

なんか警告出てるけど

 def system_data
   data = DESIRED_CONFIG_KEYS.inject({}) do |hash, key|
     hash[key] = Config::CONFIG[key]
     hash
   end
   ...
   data['key'] = key
   ...
end

# Read key (if available)
def key
  ...
end

ブロック変数の値を見ようとしてるわけじゃないので問題なし。

1.8.5 (53.44%)
1.8.4 (41.62%)
1.8.2 (3.17%)
1.8.1 (1.23%)
1.9.0 (0.18%)

よしよし。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!