ToDo:
arton さんのところで Y-00 てのがあるのかーと知ったので
http://www.artonx.org/diary/20140430.html#p01
買う前はなんかうさんくさいなぁ…と思ってたんだけど、読んだ後も同様な印象だった。
というか終始 BB84 を攻撃してて、肝心の Y-00 の中身についてほとんど説明してないような…
(00:32)
http://www.amazon.co.jp/dp/4789838072
主に人に勧めるという観点で、Linkers & Loaders は教科書的にいい本ではあるけど、 GNU とか ELF に寄せたもうちょい実践的な本無いかなぁと思ったらあったので買ってみた。
ざーとながめたかんじ、なかなか勧められそうな感じで良い、と思う。ただまあそれなりに気になる点が。
P.97 ライブラリ・アーカイブどうしの場合には、先に見つかったほうのシンボルが優先されます
これはまー書いた人はわかってそうだけど、ダウトだよな。
$ cat foo.c void func() {} void foo() {} $ gcc -c foo.c && ar crus libfoo.a foo.o $ cat bar.c void func() {} void bar() {} $ gcc -c bar.c && ar crus libbar.a bar.o $ gcc main.c -L. -lfoo -lbar
とか、この記述だとエラーにならなさそうに見えるけど、エラーになる。
P.158 同じような .a の恐怖的な話。 -u も紹介してあげるとやさしい気がする
8.4 章、簡易ローダの作成。ここから先、なんで memcpy でロードするんだろう…って感じ。わざわざ ELF 書き換えツールを作って RWX にするとかしてるけど、たぶん本の記述量的にも実践的にも、ローダをリンクする時に 0x8048000 付近を避けて、ローダ内では mmap するのが良いと思う。ELF 書き換えツールもリンカスクリプトもいらなくて、ローダをリンクする時に
-static -Wl,-Ttext-segment=0x50000000
とかすればいいだけでないかなと。そのへんわかってないとは思えないんで、ちょっと意図がつかみかねるかんじ。 -Ttext-segment は最近だった気もするんで、まぁリンカスクリプトいじりは必要かもしれないけど。
あとローダがセクションヘッダ読むのも微妙だなぁと。これも mmap でやってりゃいらんと思うんだけど。
9.3 章、 undump の話。これも mmap すればいいやろ、って感じが。 P.197 の malloc により取得したメモリの考慮が必要、とかはちょっとなんの考慮が必要なのかわからない気がする。 PT_LOAD を全部ちゃんと復元すればたぶん動くと思うけど。
復元後に printf が動かなかった、って書いてあるけど、これはなんでだろう。あとひとつ気になるのは、復元中に fprintf とかしてるけど、これ当然 .data が塗り潰された後に動いてるのは単に運が良いだけなような、ていう。
なんか最後の方で実践的感が減ってる気がしたのが少し残念だった。でもまぁなんかでもよくまとまってる感じではあるかなぁ。
(01:06)
は他称以外で用いてはいけない言葉である、ってどっかで見て、なるほどなぁと思って今に至る。
最初に見たのは ukai さんが書いてるか、 ukai さん関係だった気がするんだけど、晴耕雨ハック (http://sourceforge.jp/magazine/journals/sado/148) と混同してるかもしれない。
(00:05)
http://www.monumentvalleygame.com/
これ買ってクリアしてみたけどプログラム的にどうなってるもんなんかなぁと気になる。
(00:50)
そういえば会社で M:tG がチューリング完全だと教えてもらったので読もうと思ってたのを思い出した
http://www.toothycat.net/~hologram/Turing/HowItWorks.html
完全に理解したわけじゃないけど、カードの効果書き換える系のやつを使いまくる感じになるわけか。あとテープが短くて実際にコード書くのはしんどいのかな。
ひとつ残念なのは全自動じゃなくて、 you may て入ってる効果を使ってるから、それをコントロールしてる人がチューリングマシンを止めることができることか。
そのへんの制約がなかったら、完全に合法な手段でチューリングマシンをゲーム中に構成して、例えば colatz 予想の判例が見つかったら相手が死ぬようにして 10^100 くらいまで見つからなかったら自分が死ぬ、とかすると、はてこのゲームは私の勝ちでいいのかしら…という感じになって面白いんだけど。
そして後世になって colatz 予想の判例が見つかって、逆転負けを喫する
(08:23)
素直に GTR やめろって話かもしれない
http://www.inosendo.com/puyo/rensim/??600000445000
と置くけど、次 BC の時にちょっとイヤな気分になる。気分で変えてるけど、次に4色目が見えてりゃ
http://www.inosendo.com/puyo/rensim/??600500445600
で見えてないなら
http://www.inosendo.com/puyo/rensim/??665000445000
で LLR というのが良い気がする。いやくま積みやれって話だろうが。
今は新 GTR に向かってると思う。けど、ひとつ目を左2列目に立てた後に、 AA もしくは BB が次でなければ、 GTR に行く感じでなんも問題ない気がする。
A 下だとして、 AA は
http://www.inosendo.com/puyo/rensim/??40000055000444000
BB は
http://www.inosendo.com/puyo/rensim/??55000044550
と置くことにしよう。 AA の方は今まで全然やってないやり方だな。
これは新 GTR に向かう方で置いてると思う。この後 AA BB は上と同じ。
BC は BC か CC が見えてる時だけフキゲンGTRで。 CD もフキゲンでもいい気はしないでもないけど、 AC は右に使いたいからもう新 GTR でいいやって気がするね、そんなことしてるから全消し取れないんだろうが
(09:15)
なんか色々直感に反する感じだなぁ。なにがってのがイマイチ具体的に説明しにくい感じだからアレだけど。
まずあんま地頭って概念を信じてないんだよな。いや一定あるだろうけど、環境・教育・ノリ・運とかの方がでかい気がしてて。特に小学校時の成績とか。どうなんだろ
(13:07)
shinh.org のレスキューでもするかーと重い腰をあげて再起動。 libc がぶっこわれてるので、まぁ init とかも動かない。
debian のインストールイメージを USB disk に焼いて、適当に起動。データをコピーしたいので rescue mode で。
で、インストールイメージには scp とか入ってない。しょうがないから元々入ってたやつ使うかーと思って、はたと気付くに、 libc がぶっこわれてるのでまぁ動かない。
なるほどラクなのは別な rescue image で起動することかなーと思ったけど、なんか debian のどこをマウントしますか? て質問の中に、なんか LVM の volume がある。えーとこれなんだっけと思い出してみるに旧ゴルフ場の Xen の guest のイメージだ。そうそう Xen のイメージをなんとなく LVM の volume 使ってたんだよね。で、これ問題なく chroot できる環境なんじゃね…と思って入ってみると、本当にできた。ので host の方のパーティションをマウントして rsync 開始。
まさかこんなことに役に立つとは思わなかった。なんか grub も LVM サポートしてるぽいから、やろうと思ったら普段は host + guest だけど、いざという時は guest の方から boot する、なんて構成も可能ってことかな。実用性不明だが楽しそうではあるか…
(13:58)
だいたいふっかつさせた。 wfs とかもう二度と動かない気がするけど、もういいや。
ついでに cia.shinh.org を更新した。なんか古いデータはいいやってことで最近3年で。
を見て思うのは、ついに w3m がトップじゃなくなってるってことでこれが時代の流れか…あと git もすごいね。
キータイプモニタの方は全部 Rep がついてるのはおかしいな。あと水曜にピークがあるのもおかしいので色々ヘンではある。まぁ気にしない方向で。
(16:54)
そういえば本当に test first ってのはしたことあるのかな。無い気がする。なんか既にあるコードをいじる時は先にテストをいじったり足したりして壊しておいてから、なおすってのは結構する
(16:39)
前 | 2025年 9月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
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 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。