トップ «前月 最新 翌月» 追記

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

ToDo:


2014-05-06

_ 小学校では天才

http://togetter.com/li/663321

なんか色々直感に反する感じだなぁ。なにがってのがイマイチ具体的に説明しにくい感じだからアレだけど。

まずあんま地頭って概念を信じてないんだよな。いや一定あるだろうけど、環境・教育・ノリ・運とかの方がでかい気がしてて。特に小学校時の成績とか。どうなんだろ

(13:07)

_ rescue

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)

_ shinh.org

だいたいふっかつさせた。 wfs とかもう二度と動かない気がするけど、もういいや。

ついでに cia.shinh.org を更新した。なんか古いデータはいいやってことで最近3年で。

http://cia.shinh.org/?t=cmd

を見て思うのは、ついに w3m がトップじゃなくなってるってことでこれが時代の流れか…あと git もすごいね。

キータイプモニタの方は全部 Rep がついてるのはおかしいな。あと水曜にピークがあるのもおかしいので色々ヘンではある。まぁ気にしない方向で。

(16:54)


2014-05-10

_ oracle 裁判

てことは maloader とかも著作権侵害かなあ。

(16:42)


2014-05-11

_ ウィスキーで失明をなおす

http://nzlife.net/archives/6204

ジョニ黒使うなよもったいないと思った

(03:32)


2014-05-17

_ turing complete

そういえば会社で M:tG がチューリング完全だと教えてもらったので読もうと思ってたのを思い出した

http://www.toothycat.net/~hologram/Turing/HowItWorks.html

完全に理解したわけじゃないけど、カードの効果書き換える系のやつを使いまくる感じになるわけか。あとテープが短くて実際にコード書くのはしんどいのかな。

ひとつ残念なのは全自動じゃなくて、 you may て入ってる効果を使ってるから、それをコントロールしてる人がチューリングマシンを止めることができることか。

そのへんの制約がなかったら、完全に合法な手段でチューリングマシンをゲーム中に構成して、例えば colatz 予想の判例が見つかったら相手が死ぬようにして 10^100 くらいまで見つからなかったら自分が死ぬ、とかすると、はてこのゲームは私の勝ちでいいのかしら…という感じになって面白いんだけど。

そして後世になって colatz 予想の判例が見つかって、逆転負けを喫する

(08:23)

_ collatz

l は 2つでした。 Haskel

(08:32)

_ ぷよ初手まわり

素直に GTR やめろって話かもしれない

  • ABAC

http://www.inosendo.com/puyo/rensim/??600000445000

と置くけど、次 BC の時にちょっとイヤな気分になる。気分で変えてるけど、次に4色目が見えてりゃ

http://www.inosendo.com/puyo/rensim/??600500445600

で見えてないなら

http://www.inosendo.com/puyo/rensim/??665000445000

で LLR というのが良い気がする。いやくま積みやれって話だろうが。

  • ABAB

今は新 GTR に向かってると思う。けど、ひとつ目を左2列目に立てた後に、 AA もしくは BB が次でなければ、 GTR に行く感じでなんも問題ない気がする。

A 下だとして、 AA は

http://www.inosendo.com/puyo/rensim/??40000055000444000

BB は

http://www.inosendo.com/puyo/rensim/??55000044550

と置くことにしよう。 AA の方は今まで全然やってないやり方だな。

  • AABB

これは新 GTR に向かう方で置いてると思う。この後 AA BB は上と同じ。

BC は BC か CC が見えてる時だけフキゲンGTRで。 CD もフキゲンでもいい気はしないでもないけど、 AC は右に使いたいからもう新 GTR でいいやって気がするね、そんなことしてるから全消し取れないんだろうが

(09:15)


2014-05-19

_ 難問

http://golf.shinh.org/p.rb?kibou+to+zetsu

これなんか意味あるのかな…単なるデンパだろうか

(00:45)

_ monument valley

http://www.monumentvalleygame.com/

これ買ってクリアしてみたけどプログラム的にどうなってるもんなんかなぁと気になる。

(00:50)


2014-05-20

_ ハッカー

は他称以外で用いてはいけない言葉である、ってどっかで見て、なるほどなぁと思って今に至る。

最初に見たのは ukai さんが書いてるか、 ukai さん関係だった気がするんだけど、晴耕雨ハック (http://sourceforge.jp/magazine/journals/sado/148) と混同してるかもしれない。

(00:05)


2014-05-21

_ qCraft

http://gigazine.net/news/20131021-qcraft-mod/

よくわからんが単にバグったゲームみたいだ!

(00:54)


2014-05-22

_ 調子わるくて

家で寝てたらレースに悩まされる夢を見ておきた

(17:32)


2014-05-23

_ 量子エニグマ暗号

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)


2014-05-27

_ カーネルVM

まずカタカナ混じってるので kernelvm とかでぐぐっても出にくいと覚えておくと良い

まあありきたりだけど刺激になる感じでよかった。

個人的に ARM64 の話が聞けたのがまず良かった。最近仕事でぐぐっててよく参照する個人ブログトップ3の人ってのがまた。

http://d.hatena.ne.jp/embedded/

ちなみに残り二人は隣に座ってた人と自分自身なんだが。

ARM64 は x64 同様昔のしがらみが減っていて…みたいなのを twitter で見たけど、 x86 => x64 より diff がでかいんじゃないかなぁとか。あと、今 CPU イチから作るとどうなるのかなぁとか気になる。 IA64 はそういう試みだったと思うんだけど、商業的に失敗しちゃったからなあ。そういうのでいうと Mill ってのが色々おかしくて面白い気がする。

http://millcomputing.com/topic/introduction-to-the-mill-cpu-programming-model-2/

レジスタが無い (SSA ぽい感じ) とか stack が別れてるとか。

あとは、 Rust の発表と qemu の発表が若いのに色々知っててすごいなぁとか思った。特に qemu の話は普通に symbolic execution とか知らなかったのでなるほどなぁとか思った。

あと、 qemu の TCG ぶんまわす部分は、 valgrind がわりと似てると思う。どっちが読みやすいかはよく知らない。 qemu は一度 TCG まわりいじって遊んだことあるんだけど、あまり読みにくいとは感じなかったのは、運がいい部分だけ触ってたか、単に相性のいいコードなのか、それか僕が見た時から大幅に変わってるか、かな。相性いい説は普通にありえるな、 TCC あんま抵抗ないし。

ネットワークの話がなんか一番おかしい気がしたけど、ただなんかあまりわからない話なのが残念。どうもネットワークは勉強する意欲がわかない

話的には Unicode の話も面白かったな。ていうか m17n とかの話はただでさえ、だいたい悲惨で面白いのに、話し方も面白いとかなりのコンテンツ力。

あとは PDP11 はみんな感心してたけど、どのくらい大変なのかいまいちピンと来なかった。というのは ICFPC とかで作るオモチャ CPU とどのくらい大変度に差があるのかな…ということでちょっと眺めてみた

https://github.com/kanorimon/pdp11

いやまあこれいきなり書くのはまぁ大変かな… getMnemonic がすごい。

日頃見てるドメイン的に syscall のとことか見たくなるんだけど、 fork で FD 閉じてるのはこれいいのかな。あと brk がなんもしてないけど色々動くもんだな。

あとだらだらしてる時に学生の人に学生ですかと話しかけられてみたり。社会人に見えない風体をしてるのは自覚してるので、似たような年代だと推測されたんでないかと思うんだけど、現実には15歳年上だった。

(00:58)

_ そういえば

http://www.ioccc.org/1984/mullender.c

これを実行してみたいな。コンパイラ無いけど、たぶん a.out 作ればいい感じだよな。

つーことで適当にいじったら実行できた!

       ORG 0
       dw  0x108               ; NMAGIC
       dw  0xa2                ; text size
       dw  0                   ; data size
       dw  0x100               ; bss size
       dw  0
       dw  0
       dw  0
       dw  0
       dw  277, 2525, -4129, 25, 0, 477, 1019, 0xbef, 0, 12800
       dw   -113, 21119, 0x52d7, -1006, -7151, 0, 0x4bc, 8196
       dw  14880, 10541, 2056, 2056, 4548, 3044, -6716, 0x9
       dw  4407, 6, 5568, 1, -30460, 0, 0x9, 5570, 512, -30419
       dw  0x7e82, 496, 6, 0, 4, 1280, 15, 0, 4, 1280, 4, 0
       dw  4, 0, 0, 0, 0x8, 0, 4, 0, ',', 0, 12, 0, 4, 0, '#'
       dw  0, 16, 0, 4, 0, 30, 0, 22, 0, 0x6176, 120, 25712
       dw  'p', 29811, 'r', 29303, 29801, 'e'

nasm で作れる。 8進数を nasm は知らないみたいだったんで、適当に10進数に変換してある。

" :-)...." をひたすら出力するプログラムだったみたいだ。長年の謎が解けたので PDP-11 インタプリタには感謝しないと…ついでに出力できたアセンブリコード:

  0:   0115            br       0x2c
  2:   09dd            jsr      pc, *(r5)+
  4:   efdf 0019 0000  sub      *$0x21, *$0
  a:   01dd            br       0xffffffc6
  c:   03fb            beq      0x4
  e:   0bef            tst      *-(pc)
 10:   0000            .word    0
 12:   3200            bit      (r0), r0
 14:   ff8f            setd     
 16:   527f 52d7       bis      (r1), *$0x52f1
 1a:   fc12            setd     
 1c:   e411            sub      (r0)+, (r1)+
 1e:   0000            .word    0
 20:   04bc            bge      0xffffff9a
 22:   2004            cmp      r0, r4
 24:   3a20            bit      *-(r0), -(r0)
 26:   292d            cmp      -(r4), *-(r5)
 28:   0808            jsr      r0, (r0)
 2a:   0808            jsr      r0, (r0)
 2c:   11c4            mov      pc, r4
 2e:   0be4            tst      -(r4)
 30:   e5c4 0009       sub      $11, r4
 34:   1137 0006       mov      r4, 0x3e
 38:   15c0 0001       mov      $1, r0
 3c:   8904            sys      4
 3e:   0000            .word    0
 40:   0009            .word    11
 42:   15c2 0200       mov      $1000, r2
 46:   892d            sys      5
 48:   7e82            sob      r2, 0x46
 4a:   01f0            br       0x2c
 4c:   0006            rtt      
 4e:   0000            .word    0
 50:   0004            .word    4
 52:   0500            blt      0x54
 54:   000f            .word    17
 56:   0000            .word    0
 58:   0004            .word    4
 5a:   0500            blt      0x5c
 5c:   0004            .word    4
 5e:   0000            .word    0
 60:   0004            .word    4
 62:   0000            .word    0
 64:   0000            .word    0
 66:   0000            .word    0
 68:   0008            .word    10
 6a:   0000            .word    0
 6c:   0004            .word    4
 6e:   0000            .word    0
 70:   002c            .word    54
 72:   0000            .word    0
 74:   000c            .word    14
 76:   0000            .word    0
 78:   0004            .word    4
 7a:   0000            .word    0
 7c:   0023            .word    43
 7e:   0000            .word    0
 80:   0010            .word    20
 82:   0000            .word    0
 84:   0004            .word    4
 86:   0000            .word    0
 88:   001e            .word    36
 8a:   0000            .word    0
 8c:   0016            .word    26
 8e:   0000            .word    0
 90:   6176 0078       add      r5, 170(sp)
 94:   6470 0070       add      (r1)+, 160(r0)
 98:   7473 0072       ash      162(r3), r1
 9c:   7277 7469       div      0x7509, r1
 a0:   0065            jmp      -(r5)

(01:59)


2014年
5月
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

search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h