CICLISMO 2

チャリ音楽といえば、Kraftwerk の Tour de France soundtrack ですが、CYCLISMO は Made in Japan なわけですよ。… Kraftwerk のアレは昔からのテクノ路線で、CYCLISMO はもっと最近のノリというか、そんな感じ。


Protein Bioinformatics と一緒に amazon で買った。
チャリ音楽といえば、Kraftwerk の Tour de France soundtrack ですが、CICLISMO は Made in Japan なわけですよ。
音楽的には、僕の感覚から言うと多少騒がしいのだけれど、いきなりヘリの爆音から始まったりとか、すげえかっちょええっす。Kraftwerk のアレは昔からのテクノ路線で、CICLISMO はもっと最近のノリというか、そんな感じ。
意外なアーティストが参加してたりとかして、びっくり。
HRMC 氏なんかは聴くべきだね。ぜったい。

FE2 修理

FE2 のミラーが上がりっぱなしになって、巻き上げもできない状態だった (シャッターダイヤルをメカニカルにしても動かないので、電池切れとは関係ない) のだが、底蓋をあけてちょっといじったら、直った。めでたい。
Nikomat もなおしたいのだが、こいつはカニ目ドライバが必要。分解の手順とかは、web を探したらけっこうでてきた。たとえばこれ とか。大事にしてあげないとね。きっと、修理すればまだまだ使えるはず!

malloc その後

2GB 以上だめなのって、32bit 符号付きな値でサイズ指定してるからそれ以上は一気にとれないだけじゃね?しかもさっきのプログラム、free() してないじゃん、ということに気づいたので、やってみた。
FreeBSD はまあ、loader.conf で設定してるから妥当。

% ./a.out
malloc   128MB :OK!
malloc   256MB :OK!
malloc   384MB :OK!
malloc   512MB :OK!
malloc   640MB :OK!
malloc   768MB :OK!
malloc   896MB :OK!
malloc  1024MB :OK!
malloc  1152MB :OK!
malloc  1280MB :OK!
malloc  1408MB :OK!
malloc  1536MB :OK!
malloc  1664MB :OK!
malloc  1792MB :OK!
malloc  1920MB :OK!
malloc  2048MB :failed...

MacOS X は 32bit 環境でもけっこういける。64bit 環境なら無限だ。

% ./a.out
malloc   128MB :OK!
malloc   256MB :OK!
malloc   384MB :OK!
malloc   512MB :OK!
malloc   640MB :OK!
malloc   768MB :OK!
malloc   896MB :OK!
malloc  1024MB :OK!
malloc  1152MB :OK!
malloc  1280MB :OK!
malloc  1408MB :OK!
malloc  1536MB :OK!
malloc  1664MB :OK!
malloc  1792MB :OK!
malloc  1920MB :OK!
malloc  2048MB :OK!
malloc  2176MB :OK!
malloc  2304MB :OK!
malloc  2432MB :OK!
malloc  2560MB :OK!
malloc  2688MB :OK!
malloc  2816MB :OK!
malloc  2944MB :OK!
malloc  3072MB :OK!
malloc  3200MB :OK!
a.out(2293) malloc: *** vm_allocate(size=134217728) failed (error code=3)
a.out(2293) malloc: *** error: can't allocate region
a.out(2293) malloc: *** set a breakpoint in szone_error to debug
malloc  3328MB :failed...

テストプログラムはこんな感じ。

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#define UNIT 128
#define LIMIT 10240/UNIT // 10240/UNIT = max 10GB
void hogealloc(int level){
void *p;
int l;
l = level + 1;
printf("malloc %5dMB :", l*UNIT);
if ( (p = malloc(UNIT*1024*1024)) == NULL ){
printf("failed...\n");
return;
} else {
printf("OK!\n");
if( l == LIMIT ) printf("exit.\n");
else hogealloc(l);
return;
}
}
main(){
int s=1;
hogealloc(0);
}

free() してないけど、まあ、これならいいだろ。

MAXDSIZ

FreeBSD/i386 で、なにも設定していないときの1プロセスあたりの最大メモリサイズは512MB。でも、そんなんじゃ sequence analysis なんかできませんがな。

% limit
datasize     524288 kbytes
stacksize    65536 kbytes

これがデフォルトだ。んで、/boot/loader.conf に

kern.maxdsiz="2048m"
kern.maxssiz="1024m"

と書いてやったところ、

% limit
datasize     2097152 kbytes
stacksize    1048576 kbytes

になった。いえーい。FreeBSD/amd64 とかだとどうなんでしょう?
テスト用に書いたコードはこんな感じ:

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
main(){
int s=1;
void *p;
for( s=1; s<=2048; s*=2 ){
printf("malloc %5dMB :", s);
if ( (p = malloc(s *1024*1024)) == NULL )
printf("failed¥n");
else
printf("OK¥n");
}
}

FreeBSD/Linux/MacOS の32bit環境では 2048MB はダメ、Mac の ppc64 なら OK だった。
FreeBSD はもしかしたら、MAXDSIZ をもうちょっと増やせば 2048 はいけるかも。

Linux で limit たたいてみた結果:

% limit
datasize     unlimited
stacksize    8192 kbytes

MacOS で limit :

% limit
datasize        6144 kbytes
stacksize       8192 kbytes

6144k って嘘だろ、おい。表示が間違ってるだけみたいだけど。

MacOS/ppc でコンパイル時に 32bit と 64bit 環境を識別

#if defined (__APPLE__) && defined (__ppc__)
printf("ppc32\n");
#endif
#if defined (__APPLE__) && defined (__ppc64__)
printf("ppc64\n");
#endif

こいつを gcc -arch ppc -arch ppc64 hogehoge.c とかしてコンパイルしてやると、32bit な環境と 64bit な環境ではちゃんと違った表示になる。ちなみに、__APPLE__ は、__linux__ とか __FreeBSD__ と同等の識別子、だと思う。

new XTR

もう XTR がモデルチェンジですか。
ううむ、やっぱりデュアルコントロールレバーが不評だったのかな?
SRAM がロードコンポ出すそうで、なんかえらく軽いんだそうで、
すげえなぁ。

げのむ

ヒトとかの配列をダウンロードしてきた。
塩基配列に、いきなり NNNNN とか書いてあってびびったのだが、やっぱり配列の両端とか、ヘテロクロマチンなところとか、うまく読めないことが多くて、そこは N になってるんだそうだ。なるほどねー。

自転車整備メモ

ペダル (PD-R600) をオーバーホールした。1年以上放置していたのだが、このまま使わないのはもったいないので、新しい自転車に組み付けることにしたのだ。
右シャフトが摩耗しており、要交換。これ、最初にガタが出たときからアヤシイと思ってたんだよー。
左はガタが出ていたが、調整したらなおった。めでたい。なんか、2度目にしてようやくペダルの調整をマスターした感じだ。
R600 のってもう手に入らないかな?
近々セキヤ行く暇があったら、シャフトと踏み面のプラスチック板をお願いしておこう。

自転車その後

セキヤに行って、ついうっかり Ultegra 一式を注文してしまった。… ペダルはもったいないので、余っている PD-R600 を調整して使う予定。

セキヤに行って、ついうっかり Ultegra 一式を注文してしまった。あんまり値段がかわらなかったので… ペダルはもったいないので、余っている PD-R600 を調整して使う予定。ガタが出ちゃってるんだけど、直るかしらん?
注文したものは来週くらいに納品になるみたいなので、しばらく節約生活です。
セキヤの新店舗は駅にだいぶ近くなって便利。中原街道方面から、自転車でも簡単にいけそうだし。

傘修理

折りたたみ傘の骨が折れたのだが、よく考えてみると骨の1本や2本折れたってのを理由に傘を捨てるなんて、なんかもったいないじゃないすか。… 小さい頃、父が傘を修理してくれたのを思い出して、母に尋ねたところ、まだ修理セットが残っている、とのこと。

折りたたみ傘の骨が折れたのだが、よく考えてみると骨の1本や2本折れたってのを理由に傘を捨てるなんて、なんかもったいないじゃないすか。理工学部出たのにね(笑)。
てことで修理。小さい頃、父が傘を修理してくれたのを思い出して、母に尋ねたところ、まだ修理セットが残っている、とのこと。調べてみたら同じようなものがいまでも売られている
必要な工具はラジオペンチ1本だけ。15分くらいで直ったよ。ずいぶん前から曲がっていたところがとうとう折れた感じなので、修理したらまっすぐになって、壊れる前よりいい感じだ。ということで、まだまだ使えるぜー。
DSCN1617.JPG
写真の右側が、修理したところ。