副産物

perl 5.8.8 $ time perl -e 'for ($i = 0; $i <= 100000000; $i++) { }' 7.65 real 7.63 user 0.00 sys$ time perl -e 'for ($i = 0; $i < 100000001; $i++) { }' 6.19 real 6.18 user 0.00 sys$ time perl -e 'for $i (0 .. 100000000) { }' 4.16 real 4.15…

変数

元の内容とは関係ない話なのでリンクは張らないけど、4 つの変数 a, b, c, d があって、そのうち異なる 2 つの変数の組み合わせすべてについて foo を作用させよという問題があるとする。解答例は Perl だとこんな感じになる。 @array = ($a, $b, $c, $d); f…

バグその後

テレビに入り込んだ虫は、数週間後には居なくなっていた。どこ行ったんだろうなあ。

しまった

昨日調子に乗って食べ過ぎたせいか体調がまた悪くなった。

バグ

気付いたらテレビの液晶の裏に虫が張り付いていた。んな馬鹿なと検索してみると、隙間から液晶パネルとバックライトの間に入り込むことが稀にあるとか。その部分だけ映像が映らないので、近くから見ると気になる。

とってもねむい

(let f () (dynamic-wind + - f))

百代之過客

前回から 100 日経ったようです。

詠み人知らず

ダイエットにて詠める。 カロリーを 気にする俺は 俺でなし解:でもそんなの関係ねぇ

yet another

#include <cstdio> struct I { virtual I *f() = 0; }; struct A : virtual I { virtual I *f() { puts("A"); return this; } }; struct B : virtual I { virtual I *f() { puts("B"); return this; } B(I *x) { x->f(); } }; struct C : A, B { virtual I *f() { pu</cstdio>…

undef (?)

$ cat test.cpp struct A { A(A *a) { } }; struct B : virtual A { B(int x) : A(x ? this : 0) { } }; int main() { new B(1); } $ g++ test.cpp && ./a.out Segmentation fault追記:規格の 12.7#2 から未定義だと思って書いたんだけど、違うっぽい。他の…

ぷらすぷらす

id:succeed:20080623 に関して。C だと後置増分演算子の意味規則は次のように規定されている [6.5.2.4]。 後置++演算子の結果は、そのオペランドの値とする。結果を取り出した後、オペランドの値を増分する(すなわち、適切な型の値 1 をそれに加える。)。.…

共有メモリ

クラスタとかならともかく、単なるデュアルコア程度ではこういう現象は起こらないと何となく思っていた。 $ cat Test.java public class Test { public static void main(String[] args) { for (;;) test(); } static int a, b, x, y; static void test() { …

でってゅー

メールアドレスの全体は正規言語じゃないってゅー。コメントなんて使ったことないけど。

過信

停電等、電源が落ちている時でも電話は使えるものだと思っていたが、やってみたら出来なかった。電話機によるらしい。

カタカタ

Java で、リフレクション経由でメソッドを呼ぶときにはちゃんと実引数の型チェックが行われるのだが、JNI からだと省略されるみたい。で、やってみたら Throwable じゃないオブジェクトも throw できたり。Mac での例。 $ cat Test.java public class Test {…

副産物

Java 1.6。 $ cat Test.java import java.util.regex.*; public class Test { public static void main(String[] args) { String query = "Hello, world."; StringBuilder text = new StringBuilder(13 * 1024); for (int i = 0; i < 1024; i++) text.append…

idempotent

$ cat test.c #include <stdio.h> #include <string.h> size_t strlen(const char *p) { return (strchr(p, ',') - p); } char *f(char *p) { return strcat(p, ", World"); } int main() { char str[64] = "Hello"; puts(f(str)); puts(f(f(str))); puts(f(f(f(str)))); } $ gc</string.h></stdio.h>…

あげいん

こないだの正規表現ベンチ、Perl 5.8.6 にて。 $ cat regex.pl $query = "b" x (1024 * 1024) . "x"; $pat = '^b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b$'; print ($query =~ $pat ? "yes\n" : "no\n"); $ $ time perl regex.pl no real 0m0.009s…

それにしても

道端に、かすれた手書きの「お願い:ニンジンを切ってください」という看板が立っていた。よく見たらエンジンだった。

奥が深い

よく考えたら Perl とかの正規表現って正規表現じゃないよな、と思ったらマッチングは NP 困難だそうだ(3SAT からの簡単な reduction がある)。今回の場合は線形時間で走ってほしいところだけれど。

流行中の

正規表現ベンチ、もしくは文字列生成ベンチ。Python Challenge が一段落したのでやってみる。ベースライン、速さに定評のある C。 $ gcc -O2 regex.c $ time ./a.out no real 0m0.737s user 0m0.734s sys 0m0.003s なんか遅い。Mac だからか。意外と古参 Rub…

インテグラル : 分かった積もり

「大語海」という 300 ページ超の古い本を見つけた。パラパラめくってみると辞書らしい。辞書なのに大誤解て。中をよく読むと、 悪戦句読 字がきたなくて読むのに苦労すること。 四分音符 四分間音を出す記号。 目玉商品 コンタクトレンズ。 あゝ、狙い通り…

隠蔽

とあるプロセスが読み書きしているはずの一時ファイルがディスク上に見当たらなかったので何かと思ったら、open 直後に unlink されていた。開いているファイルを unlink するとリンクカウントが減って外からは見えなくなるが、実際の削除は遅延されるらしい…

ちと違う

当初ふわふわだったクッションがつぶれてきた。ふわふわに戻ることを期待して洗濯機に放り込んだら、もはもはになった。

意外と単純

scp って単に ssh した先で scp を起動して、標準入出力でやり取りするだけだったのか。てっきり ftp みたく色々やっているのかと。 $ perl -e 'print "\0\0"' | scp -f hello.txt | cat C0644 14 hello.txt Hello, world!

大量寿司

AG(食べ放題 → AX 食べ過ぎ) が偽に。しばらく Coq をいじっていたせいで ¬¬P を機械的に P とするのに少し違和感を覚えるようになったが、(P→Q)→(¬P∨Q) は全然ウェルカム。まったく自分のセンスなんぞそんなもんである。

良い天気

大学の池のまわりがちょっとしたハイキングコースになっていることを、4 年目にして初めて知った。今日は暖かくて、歩くにはとても良い気候。

某赤いレトルト再び

勢い余ってうどんに掛けてみた。意外といける。

某赤いラーメンレトルト

本家の方が大分うまい。見た目は似てるんだが…。

ほほう

たぶん初めてネットカフェに行った。ただぼーっとしているには値段が高い気がするが、飲み物無料で回線もそこそこ速かったので、何か作業するにはいいのかも。