〜2007年10月中旬〜
今日cygwinに追加されたboxesが面白い。
% date |boxes /********************************/ /* Fri Oct 12 01:04:10 JST 2007 */ /********************************/ % date |boxes -d shell ################################ # Fri Oct 12 01:04:13 JST 2007 # ################################ % date |boxes -d stone +------------------------------+ | Fri Oct 12 01:04:15 JST 2007 | +------------------------------+
自分でもbox designは作れるようだ。
カウンタのスピードが上がったらしいよ。
% date -d @1192176000 Fri Oct 12 17:00:00 JST 2007
17時からか。だいたい毎秒1.5KBのペースで増えてるようだ。
Googleツールバーをインストールしないといけないってのがなあ。
まあ、これならでもIEでも使えるか。
あと記録したくないサイトを指定できるのかな?
gBrain
は正規表現で指定できるとこがいいよね。
Ruby 1.9に対応したというので試してみる。
http://segment7.net/temp/rubygems-0.9.4.5.tgz を取ってきてruby setup.rbを実行。
/usr/local/lib/ruby/1.9/e2mmap.rb:160:in `Raise': $! is a read-only variable (NameError)
でエラーになる。これはe2mmap.rbが悪いよなあ。
それ以前にrdocのparserでエラーになってる。
RDoc failure in lib/rubygems/source_index.rb at or around line 325 column 18
%Wに対応してないのか?とりあえずruby setup.rb --no-ri --no-rdocでお茶を濁す。
続いてrailsを試しにインストール。
% gem install -y rails INFO: `gem install -y` is now default and will be removed INFO: use --ignore-dependencies to install only the gems you list
-yがdefaultになったわけね。
うーむ。結局同じようにActiveRecordもエラーだ。
RDoc failure in lib/active_record/connection_adapters/firebird_adapter.rb at or around line 71 column 10
やはり%Wだな。あれ?でも1.8では問題ないよな。1.9での対応を忘れてるのか?
こっちもとりあえずはgem install --no-ri --no-rdoc railsならok。
MinGWのruntime/w32apiのヘッダやライブラリは すでにあるのでそのまま使う。 材料は
の5つ。bintutilsとgccはどこかのGNUのミラーサイトから取ってくる。
下準備。
% mkdir -p mingw/i386-mingw32 % mingw=$PWD/mingw % tar xfv mingw-runtime-3.13.tar.gz -C $mingw/i386-mingw32 % tar xfv w32api-3.10.tar.gz -C $mingw/i386-mingw32
今回は/usr/local/mingwじゃなくて適当に掘ったmingwへインストールしてみる。
もちろん/usr/local/mingwでもいい。
まずはbinutilsのmake。
% tar xfv binutils-2.18.tar.bz2 % cd binutils-2.18 % CFLAGS=-Os ./configure --prefix=$mingw --target=i386-mingw32 % make all install % cd ..
続いてgccのmake。
% tar xfv gcc-core-4.2.2.tar.bz2 % tar xfv gcc-g++-4.2.2.tar.bz2 % cd gcc-4.2.2 % CFLAGS=-Os CXXFLAGS=-Os ./configure --verbose --prefix=$mingw \ --enable-languages=c,c++ --disable-nls --without-included-gettext \ --with-system-zlib --enable-interpreter \ --enable-sjlj-exceptions --disable-version-specific-runtime-libs \ --disable-win32-registry --target=i386-mingw32 % make all install % cd ..
ちゃんとコンパイルできるかどうか確認。
% echo 'main(){}' >main.c % mingw/bin/i386-mingw32-gcc -v main.c
いけてるようだ。i386-mingw-gccからの相対でヘッダやライブラリを探すので、
mingw/以下をどこに移動してもok。
あ、これはいいかもしれないと思ったら
つっこみ
が。
なるほど。こっちなら「10月月」にもならないし。
でも、カレンダーは現在選んでるのが出ちゃうから、
予定リストだけ表示ってことができないんだよねえ。
なんかいつのまにかCSV速度競争が始まっていた。
A pure-C CSV parser. Only supports a constrained CSV format right now: files only, no missing fields, no quoted delimiters. CSVScan is better for most purposes.
まあCで書けばそりゃ速くなるだろうけど。
Benchmark on 1,000,000 rows: user system total real Ccsv 1.700000 0.040000 1.740000 ( 1.847071) CSVScan 2.080000 0.060000 2.140000 ( 2.169558) LightCsv 11.950000 0.150000 12.100000 ( 12.406127) FasterCSV 36.120000 0.380000 36.500000 ( 39.046713) CSV 125.330000 1.060000 126.390000 (132.264997)
- About:
- Executable files may be linked statically or dynamically. Dynamically linked executables use less disk space and memory, but require appropriative dynamic libraries present in order to run. ELF statifier make one executable file with no run-time dependencies from a dynamically linked executable and all its libraries. This file can be copied and run on another machine with no need for all of the libraries.
おもしろそうと思ったが、できあがった実行ファイルはSEGVになってしまう。
% statifier =df df.static % ldd df.static not a dynamic executable % ./df.static zsh: segmentation fault ./df.static
ざんねん。
素数系はBashが有利。あとはどう整形するかなんだよねえ。
無駄にsedを呼んでいたのをやめた。
素数判定を縮めたら
prime numbers
に応用できることに気づいて1B短縮。