2007-11-01から1ヶ月間の記事一覧

cygwinをsamba上で使うとlnがおかしくなる

cygwin上でgccを使うとこんなエラーがでる。 $ echo -e '#include <stdio.h>\nint main(){printf("hello,world\\n");}'> a.c ; gcc a.c 16:34 [n9d] /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/as.exe: /usr/lib/gcc/i686-pc-cygwin/3.4.4/..</stdio.h>…

例外が怒っても安心して終了するには

例外の書き方 begin raise if ... ... raise "a" resuce 例外クラス ...処理 rescue 例外クラス ...処理 rescue ....上の例外以外のもの時実行される else ....例外が起きなかったとき実行される ensure ...最期に必ず事項される。(後処理) endgetsとちが…

Arrayオブジェクトにもの申す

irb(main):001:0> [1,2,3][3] => nil何故、例外を起こさない!!*1と、いうことで例外を起こすようにArray#[]を再定義してみる。 #!/usr/bin/ruby class Array def [](i) raise IndexError unless self.size>i.abs self.at(i) end end a=Array[1,2,3] puts a…

正規表現でマッチした文字列だけすぐほしいとき

結論 マッチデータ全体がほしいとき /Regexp/=~str&&$& 部分がほしいときには /Regexp/=~str&&$n 恥 マッチが失敗することを考慮するときにはto_a[1]を投げれば良かったんじゃないか でも、短いしperlでも使える。よしとしよう。 $ perl -e 'print "abc"=~/.…

プロセス無限増殖その2

指数的に増やしてみよう。 $ echo -e '#include <stdio.h>\nint main(){if(fork()){execl("./a.out",NULL);}else{execl("./a.out",NULL);}}'>a.c;gcc a.c;./a.outとりあえずエミュレータだと制御が帰ってこない。 暴走してるんだろうか。 $ echo -e '#!/bin/sh\n/tmp/</stdio.h>…

プロセス無限増殖

それぞれtopで観察するとおもしろい。 shの場合 途中で落ちていく $ echo -e '#!/bin/sh\n/tmp/s'>s;/bin/chmod +x /tmp/s;/tmp/s /tmp/s: Cannot fork: Resource temporarily unavailable C(system関数利用) 同じく途中で落ちていく system関数がsh -cを使…

ハードディスクからから異音がする!

日立製500Gを買ってサーバのディスクとして運用しはじめてまだ半年も経っていないはず。 それなのにハードディスクから不定期に「キュン、キュンキュン」と異音がしてきた。半年前のデータは以前運用していたIBM製320Gに入ってるのだが、やっぱり半年分でも…

busyboxのinit

linuxのsysvinitと異なる為違う書き方をする。 # cat inittab #::sysinit:/etc/init.d/rcS ::sysinit:/etc/rc ::askfirst:/bin/sh ::ctrlaltdel:/sbin/reboot ::shutdown:/sbin/swapoff -a ::shutdown:/bin/umount -a -r ::restart:/sbin/init # cat rc #!/b…

ext2のみを認識する最小のカーネル

$ make allnoconfig以上を実行した後、make menuconfigで以下のみを有効にする。 CONFIG_BINFMT_ELF=y CONFIG_IDE=y CONFIG_BLK_DEV_IDE=y CONFIG_BLK_DEV_IDEDISK=y CONFIG_IDE_GENERIC=y CONFIG_EXT2_FS=y利用時は以下のようにする。 $ qemu -kernel bzIma…

etchでチャレンジ

debian stable(etch)でcompiz fusion 0.6..0にチャレンジする。aptlineに以下を記述 deb http://download.tuxfamily.org/shames/debian-etch/desktopfx/stable/ ./gpgを登録した後インストールする # wget http://download.tuxfamily.org/shames/A42A6CF5.gp…

kernel-2.6.23.1でnvidiaドライバーを動かす

stable(etch)デフォルトのカーネルが使えるなら aptitude で一発なんだが、新しいハードを買ってしまったが故、debianを動かすこと自身が苦行になっている今日このごろ。 現時点の最新カーネルである2.6.23.1を採用することで、ハードディスクと音源は対応す…

オーディオドライバ

Realtek ALC888 8ch HDオーディオ対応 がオンボードで搭載されている。 こいつの対応ドライバはIntel HD Audio (snd-hda-intel) でOK

変な環境変数RANDOM

RANDOM このパラメータが参照される度に、 0 から 32767 までのランダムな整数が生成されます。 RANDOM に値を代入すると、乱数の列を初期化できます。 RANDOM を unset すると、この変数の特殊な性質は無くなります。後で再び set しても元には戻りません。…

gnomeでスクリーンショットをとる。

vnc等PrintScreenキーが使えないときにスクリーンショット(スクリーンキャプチャ)を取るときには。 全画面なら gnome-screenshot だけでいい。 時間遅延をしたいなら gnome-screenshot --delay=5 ウインドウを取りたいなら gnome-screenshot --window まあ一…