ToDo:
書いてみた。 cal + awk がいいんじゃないかなぁ。
http://ja.doukaku.org/comment/7367/
eval `date '+y=%Y;m=$((%-m+(%e>13)))'`
とかトリッキーな感じでいいなぁとか思いました。
(23:13)
面白いテーマだと思う。スラド見直した!
http://slashdot.jp/askslashdot/article.pl?sid=08/08/24/0255253
> ls `echo $PATH | sed 's/:/ /g'` | wc 3926 3918 41560 > ls `echo $PATH | sed 's/:/ /g'` | sort | uniq | wc 3834 3833 40819 > alias | wc 99 305 3329 > (ls `echo $PATH | sed 's/:/ /g'`; alias) | sort | uniq | wc 3933 4138 44148
4000程度か。本当は zsh function もあるわけだけど。
さて俺には CIA がある。
i@u4 ~/wrk/cia/db/cmd/2008 > awk '!/[>~\/\\(=;.]/ {print $3}' * | sort | uniq | wc 530 517 3457
ざっと見た感じ 20-30 くらいはコマンドじゃないけど
> ruby -e 'p (`(ls \`echo $PATH | sed "s/:/ /g"\`; alias) | sort | uniq `.split - `awk "{print $3}" * | sort | uniq`.split).size' 3233
死蔵は 3200 程度かなぁ。
(12:42)
def test_status_and_stop_p a = ::Thread.new { raise("die now") } b = Thread.new { Thread.stop } c = Thread.new { Thread.exit } d = Thread.new { sleep } e = Thread.current sleep 0.5 d.kill
assert_equal(nil, a.status) assert_equal("sleep", b.status) assert_equal(false, c.status) assert_match(/^#<TestThread::Thread:.* dead>$/, c.inspect) assert_equal("aborting", d.status) assert_equal("run", e.status)
このテストたまに通らなくなるのね。 d.status が false になっちゃう。 せめて d.kill を直前にするとかかなぁ。
Thread.pass d.kill assert_equal("aborting", d.status)
とかすれば失敗率は減りそうだけど。
そいや GC とか見ててもそうだけど、 他のスレッドラクに止める手段って無いのかな。
(15:27)
RubyコードをRubyで等価に実行可能な記号だけに変換する プログラムは書けるだろうか。 特にできない理由もないとおもうけど、 できないんじゃないかなぁといまのところおもう。 深く考えてないからわからないけど。 で、できないとすると、それを証明するのは難しいのかなぁとか。
BF 実装してはいおわりとかとはなかなか違うよな…
(02:14)
http://www.kmonos.net/wlog/88.html#_2233080818
全体的にすんごい同意するんだけど、 まぁ同意しすぎてこう何もないなぁ。 なんか言うとしたら、 僕の場合は一人で書くなら、って留保がつくかなぁと。
一人で書き散らかすなら
複数人(長期的に一人で書く場合含む)でなら
(23:22)
http://assam-at-night.blogspot.com/2007/07/w3mgmail.html
めも。 なんかたしかに苦労した記憶はびみょうにある
(23:27)
始めて500通った、んだけど250とチャレンジでミスったので嬉しくねええ…
250 はコレ、 form は任意の順番で来るもんだとばかり思って、 なんだこれー難しすぎだろーとかちょっとコード書いてみたあと 捨てた。
500はすんなり解けすぎて本当かよと思って びくつきながらサブミットしたら通った。 これは普通に簡単すぎなんじゃ。
そこで1000を見たのが間違いで、 点数少なくてももう一度250考えれば良かったなぁ… 1000は例のごとく問題きっちり読まずに適当に書いたら 全然問題違ってて、あーもう mod とかわかんねーていうか 部屋で誰も解いてねーしこれ難しいんじゃねとか あたりまえのことに気付いて、 もう数分しか無いし challenge 考えるかーと 問題見てたら250の問題勘違いに気付いた。
あとはチャレンジで 500 これ example 通らんだろ ってコード見つけたのでチャレンジしたら失敗した。 全文字列の末尾に 'a' を足してた。賢いなぁ。
てかまぁ常識で考えて Div1 の子は example は通してあるよな…
(02:53)
むずかしいなぁ。 マクロが冗談みたいに多い。 まぁでもマジメに斜め読みすると それなりにわかったり 全然わからんかったりするな。 いや何もわかってないな。
たぶんなんか
ここで
#define __SPECIAL_INSTRUCTION_PREAMBLE \ "roll $3, %%edi ; roll $13, %%edi\n\t" \ "roll $29, %%edi ; roll $19, %%edi\n\t"
これはなんだ!
さすがに 64bit の bit rotate は NOP に過ぎないことはわかるので、 まぁたぶんこの instruction 列を見たら client にビビビっ っていうか simulated CPU における割込みみたいな感じかな。
でめでたく client の世界に戻ってきたとして、 こっちから guest の世界の関数を呼ぶとすぐ死ぬ。 何もせず帰るくらいなら大丈夫なんだけど。 まぁたぶんアドレスがズレてる…とかだと思う。 これがわかれば
Note that you can't use anything from the C library (there are deep reasons for this, trust us).
とかいうナメたアドバイスの意味がわかるのだが。 http://valgrind.org/docs/manual/writing-tools.html#writing-tools.otherinfo
で client の世界から guest の世界のメモリとかは見えてるわけだけど、 データ通信とかはどうやってるねん。 単に client request だけで十分なのか。
意味不明なメモ書いてたら まぁなんとなく整理できてきた…
本当だろうか
(05:00)
valgrind を gdb で走らすと tool の開幕でいきなり sigtrap くらうわけだけど、 これはなんだろうなぁ。
launch するまでには ptrace とかやってるんかなぁ。 コードはあるけど strace では出てこない。
つか gcc に渡してるオプションが既におかしいな…
gcc -Wno-long-long -Wno-pointer-sign -Wdeclaration-after-statement -fno-stack-protector -o rmemcheck-amd64-linux -static -Wl,-defsym,valt_load_address=0x38000000 -nodefaultlibs -nostartfiles -u _start -m64 -Wl,-T,../valt_load_address_amd64_linux.lds rmemcheck_amd64_linux-mc_leakcheck.o rmemcheck_amd64_linux-mc_malloc_wrappers.o rmemcheck_amd64_linux-mc_main.o rmemcheck_amd64_linux-mc_translate.o ../coregrind/libcoregrind_amd64_linux.a ../VEX/libvex_amd64_linux.a -lgcc
tool の直接実行は怒られる、と。
> ./memcheck/memcheck-amd64-linux ls valgrind: You cannot run './memcheck/memcheck-amd64-linux' directly. valgrind: You should use $prefix/bin/valgrind.
もちょいちゃんと追わんとわからんね。
(05:22)
前 | 2024年 10月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。