トップ «前10日分 最新 次10日分» 追記

はじめてのにき

ここの位置付け

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|12|
2025|01|02|03|04|05|

ToDo:


2006-09-15

_ ckpt

http://www.cs.wisc.edu/~zandy/ckpt/

あーこれ undump だ…

(00:06)

_ rlwrap が便利すぎるわけで

うーん。 あー。

なんか頑張れば gets とかそのへん hijack すれば 自動的にできないかな。

(00:55)

_ OCaml

なんか書いてて楽しいんだよなぁ。 なんでやろ。 ある程度理由はわかるが。

  • 着実に進む感じ
  • あんま慣れてない
  • 再帰は楽しい
  • 副作用が書ける
  • option型がいい、というかパターンマッチの良さがやっとわかった
  • やっぱ簡単なプログラムだと型書かんでいいのはいい
    • というか型書かずにプログラム書ける気しないとおっしゃってた k.inaba さんはややこいコードばっか書いてるのでわ、とか。

でもデータ構造の作り方がイマイチよくわからん。 ていうか OO 以外のデータ構造の作り方できんというか。

んでなぜか麻雀の上がり判定など。 もっと面倒かと思ってたんだけど案外簡単なんだな。 syuntsu がひどいとか List.append は遅いらしいとか色々あるけど。

http://shinh.skr.jp/t/agari.ml

あとは役の判定と点数計算とシャンテン数計算かねー。

(02:04)

_ プロファイル取ってみた

camlPervasives__$40_166 ってなんやねん。

time   seconds   seconds    calls  ms/call  ms/call  name
22.22      0.06     0.06   592016     0.00     0.00  camlPervasives__$40_166
18.52      0.11     0.05  1271000     0.00     0.00  compare_val
 7.41      0.13     0.02   238000     0.00     0.00  camlAgari__v2p_93
 7.41      0.15     0.02   135005     0.00     0.00  camlList__sort_295
 7.41      0.17     0.02      581     0.03     0.03  caml_oldify_local_roots

(02:27)

_ ref への代入じゃないかなとか予測

(02:30)

_ ハズレだった

(02:37)

_ たしかに

agari_patterns というかその inner に一瞬型書いた記憶が。 というのはコンパイルエラーの意味がよくわからなかったので… たしか

let rec inner te headed (cur : pai list list) =

とかとあとどっかもう一箇所入れた気が。 なんとなく1つだけ型残ってるのが気持ち悪かった上に 一度コンパイル通っちゃったらもう別に型いらないよなぁ とか思って消しちゃったわけですが。

(12:46)

_ ふつける読書会

ぬーん行きたかったなぁ。 最近確実に予定にかぶってる。

(12:47)

_

type yaku = TSUMO | RICHI | IPPATSU | PINHU | TANYAO | IPEKO | HAKU | HATSU

とか書き始めて思ったけど、 これはダメな気がする。

だって enum みたいなもんですと言ってるけど数値にできないような。

| TSUMO -> "門前清自摸和"
| RICHI -> "立直"

みたいなのは型安全だろうがなんだろうがなんかイヤだ。

type tsuhai = E | S | W | N | H | T | C

もダメだなぁと思いながらやってたわけだが。

範囲型か。 Ada がえらいのか。

(13:05)

_ というより

普通の整数でいいんだけど。

僕大人だから範囲外の数値入れたりしないよ。

(13:06)

_ ボク大人だから!

# type tsuhai = E | S | W | N | H | T | C;;
type tsuhai = E | S | W | N | H | T | C
# (Obj.magic T)-(Obj.magic E);;
- : int = 5

こうしてもいいよね!

(13:36)

_ ssh

開けるの忘れてたや

(14:42)

_ 学術総合センター

National-Center-of-Science らしい。なんでや

(14:46)

_ PKU1001

http://acm.pku.edu.cn/JudgeOnline/problemstatus?problem_id=1001&orderby=clen&language=1

多倍長処理とかめんどいね。

(18:27)

_ ぜんぜん

やるきおきない。

(18:43)


2006-09-14

_ shinh.dyndns.org

ふっかつ

何をもって復活と言うのかは忘れたけど、 SVNは動いてるくさい。

(00:12)

_ x86_64

shinh@cf-amd64-linux:~> cat hoge.c
#include <stdio.h>
void hoge() { puts("hoge"); }
shinh@cf-amd64-linux:~> gcc -shared -o hoge.so hoge.c
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.1/../../../../x86_64-suse-linux/bin/ld: /tmp/ccaYZHDk.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
/tmp/ccaYZHDk.o: could not read symbols: Bad value
collect2: ld returned 1 exit status

そういうもんなんか…

(00:47)

_ よーわからんが

http://shinh.skr.jp/m/?date=200503

あたりが表示できんくなってたのでパッチ。

defaultio.rb の

                                               diary = eval( "TDiary::WikiDiary::new( headers['Date'], headers['Title'], body, Time::at( headers['Last-Modified'].to_i ) )" )
                                               #diary = eval( "#{style( style_name )}::new( headers['Date'], headers['Title'], body, Time::at( headers['Last-Modified'].to_i ) )" )

よーわからんが動く。

(01:28)

_ あー

x86_64 が PIC だらけになるのはわかるけど、 OSX もかー…

http://d.hatena.ne.jp/w_o/20060913#p3

(01:30)

_ すごい面白かった

> ここらへん

さてなんか2つにわけた理由というのは 今はもう正確に思い出せないけど今現在の理由としては

  • はてな重い
  • はてな重い
  • SNRを分けると書きやすい

まぁみっつめ以外はどうでもいいとして。 どうでもいい僕の日常とか見たい特殊な人は こっち見てもいいよ でも基本的に技術的に面白いことあったら はてなの方に書くよ的な。

どうでもいいけどはてなアカウント二つ操作するのは とてもめんどくさそう。

まぁこういうメモをポンポン置けるのは便利

(04:13)

_ でも最近

500出て弾かれるんだよな。

500出た場合は再送するように メールフィルタの方でやっておくかなぁ…

(04:14)

_ おお

本当に あたらしいのが ある

http://packages.debian.org/unstable/libdevel/libestraier-dev

(04:18)

_ 斜陽

に反対する人がいるのかー

http://d.hatena.ne.jp/yaneurao/20060913#c1158168608

(04:20)

_ いい加減マジメに追ってみるといい

僕はインストラクションセットとか見てても何もわからん。

shinh@cf-amd64-linux:~> cat hoge.c int main() {

 puts("hoge");
 puts("hoge");

}

以下略。

なんだ普通じゃん。つーことはコードのバグだ。 オケオケ。

jmpq *12345678(%rip)

みたいな命令は、 12345678 は単なる 32bit の物体で、 実行前にリロケーションされるんだけど、 その先に 64bit のアドレスがえーと

0x500820 <_GLOBAL_OFFSET_TABLE_+16>:    0x955610e0      0x0000002a

まぁこんな感じで置いてあるので、 0x0000002a955610e0 に飛ぶ… って普通に間接ジャンプしてるだけじゃん。

(04:50)

_ 勝手に決めてるよ!

> 9.17

(04:52)

_ スタックを喰いつぶせー☆

int main(int argc, char *argv[], char *envp[]) {
    int i;
    char buf[4096];
    void *fp = fopen("/proc/self/maps", "r");
    while (fgets(buf, 4095, fp))
        printf("%s", buf);
    for (i = 0; i < 10000; i++) {
        printf("%d %p %p\n", i, argv[i], &argv[i]);
    }
}

なんか毎回全然違うな。 またなんかセキュリティ関係でありがたい^H^H^H^H^H余計なことされてるんだろうか

普通と逆の表現のしかたをしてみた

まぁわかることはえらい広いということだなぁ。

(05:10)

_ 810

(15:41)

_

驚くほど無くなってた。

15万とかそのくらい。

先月の給与無いこと考えるとまぁしばらくはもつが。

TODO: 節約

(18:07)

_ OCaml

関数内で、ループのために let rec な関数を もう一個書くことがよくあるけど、 これにつける名前で悩む。 元の関数と同じ名前が一番自然だったりしてね。

k.inabaさんが Python でやってた _ はいいなと思ったけど OCaml にはおこられた。

  • hoge: 長い
  • x: 変数とかぶりそう
  • 関数と同じ名前: 混乱しそう、長い
  • 関数と同じ名前に _ をつける: 長い

むー?

http://ocaml.jp/archive/document/intro1.html

iter ねぇ…

むー。

__ はいいらしい。 むしろなんで _ があかんねん。

# let _ x = x;;
Syntax error
# let _ = 1;;
- : int = 1

http://www.sato.kuis.kyoto-u.ac.jp/~igarashi/class/isle4-05w/mltext/ocaml003.html#toc6

ここの変数の名前にだめと書いてあるなぁ。

_' とか…

(18:45)

_ むしろ

lazy でバグ出す関数書くの難しいような。

そりゃ故意にやればできるだろうけどね…

(21:24)

_ 何故か鍵が見つからなくて

2000円奪還失敗… ついでに5000円寮費無駄に払ったくさい。

なんでやねん。

(21:25)

_ まぁ

ロクでもないことばかりだけど気分が悪くないのは 好きな季節だからだろう

(21:26)

_ あれ

OCaml のコンストラクタって関数として扱えないのかしらん。

# type t = A of int | B of int;;
type t = A of int | B of int
# let x = A;;
The constructor A expects 1 argument(s), but is here applied to 0 argument(s)

(22:17)

_ variant の比較

# type t = A of int | B of int;;
type t = A of int | B of int
# a = A 1;;
Unbound value a
# let a = A 1;;
val a : t = A 1
# let b = A 1;;
val b : t = A 1
# a == b;;
- : bool = false

そうなのね… んーと。

(22:55)

_ ファッキュー

http://www.i.kyushu-u.ac.jp/~bannai/ocaml-intro/traps.html#equality

だった。 つーか忘れすぎ。

(22:56)

_ さいき

let x =
  let rec x' v =

とかが良さそうだわー

(23:36)


2006-09-13

_ マジレスしてる人はいるだろうか

http://tinyurl.com/ghfov

(02:22)

_ C言語でリフレクション入門

なんか入ってないと気付く。

と思ったらイントロに行ってたらしい。

あとセクションうんぬんはなんかWebに書こうかなぁ…

(02:46)

_ SKK

SKKというか、PCで文字入力するのに慣れすぎてるせいだと思うんだけど、 バイナリと手で書こうとして、bin と書き始めていた

SKKだと /binary なので

(02:51)

_ それC

それPlaを見てて、

「Wiki を Ruby で作りたいんですが〜」

「それ C でもできるよ」

「C でのやり方を聞いてるんじゃないです!><」

っていうのを考えてたんだけど、 そのそれCの部分で適当に C で 7行くらいで書いた Wiki とか はろうと思ったんだけど、 Wikiめんどくなってやる気失せた…

正規表現無しで作るもんじゃないなぁ…

(04:12)

_ writeelf

ていうコマンドを思いついた。

実装めんどいけどやってみるのも面白いかなぁ。

(13:59)

_ きもえ

(15:46)

_ 999でダメなら

おっしゃる通り99にすれば、 使うバッファ狭くなりますしセグらないと思いますよ。 envp壊しまくりでしょうから、環境変数の数に依存してると思います。

i@u ~/test> cat tail.c
d=10;main(i,b){for(;gets(++i%d*99+b););for(;d--;)puts(i++%10*99+b);}
i@u ~/test> gcc tail.c
tail.c:1: 警告: データ定義が型や記憶クラスを持っていません
/tmp/cciy87bP.o: In function `main':
tail.c:(.text+0x3d): warning: the `gets' function is dangerous and should not be used.
i@u ~/test> diff =(dmesg|./a.out) =(dmesg|tail)
i@u ~/test>

99でも395Byteも入りますしねぇ

(21:01)

_ ムダ足じんせい

ミッション

  • 退寮する: 失敗
  • 転出する: 失敗
  • 自転車回収: 成功
  • 帰還: ひどく迷った

(21:19)

_ 光が来た

ひかりーひかりー

(22:01)

_ shinh.dyndns.org

全壊

(22:04)

_ PPL

LL Ring よりよっぽど行きたいような内容だったんじゃないかなぁ、とか。 こういうアカデミックな内容知る機会全然無いんだよなぁ。

(23:27)

_ shinh.dyndns.org

121.1.133.104 に挿し替え。 dyndns.org はありがたいなぁ…

(23:27)


2006-09-12

_ PPLは

見た感じとても行きたかったのだけど 用事とかで断念してしまったのであった。

(12:47)

_ マンガ

のだめの最近のを読んで、シガテラ読んで。

どちらも面白かった

(13:17)


2006-09-11

_ woさんが言ってたのは

void hello() {
    int h[4];
    h[0] = 'lleH';
    h[1] = 'ow o';
    h[2] = '!dlr';
    h[3] = '\0\0\0\n';
    write(1, h, 13);
    exit(0);
}

とかすれば rodata 消せるって話か…

(02:30)

_ 常識的な範囲で短いHello world!

	.section	.text
	movl	$1, %ebx
	movl	$.LC0, %ecx
	movl	$13, %edx
	movl	$4, %eax
	int	$0x80
	decl	%ebx
	movl	$1, %eax
	int	$0x80
.LC0:
	.string	"Hello world!\n"

で300Byteだった。

(02:52)

_ なんか以前もやった気がするなぁ

	.section	.text
	xorl	%ebx, %ebx
	incl	%ebx
	movl	$.LC0, %ecx
	movl	$13, %edx
	movl	$4, %eax
	int	$0x80
	decl	%ebx
	xorl	%eax, %eax
	incl	%eax
	int	$0x80
.LC0:
	.string	"Hello world!\n"

(02:58)

_ 284Byte

	.section	.text
	leal	13(%eax), %edx
	incl	%eax
	leal	4(%ecx), %ebx
	movl	$.LC0, %ecx
l:
	xchg	%eax, %ebx
	int	$0x80
	jmp	l
.LC0:
	.string	"Hello world!\n"

あとはヘッダをほげほげとかしか無いんだろうけど、

うーんすげえんだよなぁ。

http://osask.jp/boyaki04.html

http://home1.catvmics.ne.jp/~msy/tak/alg/minhello.htm

(03:22)

_ 116Byte

0000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00  >.ELF............<
0000020 02 00 03 00 01 00 00 00 54 00 00 00 34 00 00 00  >........T...4...<
0000040 54 00 00 00 00 00 00 00 34 00 20 00 01 00 28 00  >T.......4. ...(.<
0000060 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00  >................<
0000100 00 00 00 00 74 00 00 00 74 00 00 00 07 00 00 00  >....t...t.......<
0000120 00 10 00 00 8d 50 0d 40 8d 59 04 b9 65 00 00 00  >.....P.@.Y..e...<
0000140 93 cd 80 eb fb 48 65 6c 6c 6f 20 77 6f 72 6c 64  >.....Hello world<
0000160 21 0a 00 00                                      >!...<

(04:23)

_ まだ余裕で縮むけど…

0000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00  >.ELF............<
0000020 02 00 03 00 01 00 00 00 44 00 00 00 2c 00 00 00  >........D...,...<
0000040 54 00 00 00 00 00 00 00 34 00 20 00 01 00 00 00  >T.......4. .....<
0000060 00 00 00 00 00 00 00 00 00 00 00 00 6c 00 00 00  >............l...<
0000100 6c 00 00 00 8d 50 0d 40 8d 59 04 b9 55 00 00 00  >l....P.@.Y..U...<
0000120 93 cd 80 eb fb 48 65 6c 6c 6f 20 77 6f 72 6c 64  >.....Hello world<
0000140 21 0a 00 00                                      >!...<

ちょうど100Byte

(04:46)

_ 76Byte

0000000 7f 45 4c 46 48 65 6c 6c 6f 20 77 6f 72 6c 64 0a  >.ELFHello world.<
0000020 02 00 03 00 40 eb 09 00 14 00 00 00 2c 00 00 00  >....@.......,...<
0000040 8d 51 0d 8d 59 04 eb 10 34 00 20 00 01 00 00 00  >.Q..Y...4. .....<
0000060 00 00 00 00 00 00 00 00 89 d9 eb 08 49 00 00 00  >............I...<
0000100 49 00 00 00 93 cd 80 eb fb 00 00 00              >I...........<

これ以上小さくするのは無理な気がする。 エルフヘッダ52Byteとプログラムヘッダ32Byteは必須。 ただ8Byteはオーバーラップさせてるので、合計76Byteが必須になる気がする。 コードは全部ヘッダに埋めた。

(05:22)

_ ttyplayer

はヒキコモリプレゼンの一形態なんだよなぁと。

(11:33)

_ Ruby2C

http://rucila.s43.xrea.com/memo/?date=20050205#p03

ObjC ならラクじゃねってのは面白いなぁ。

  • LD_PRELOAD とかで、 rb_define_method とかをまるまる奪い取り
  • rb_define_method とかしても ObjC のメソッド作ってるだけだぜ hehehe...
  • ここまでできれば後は Ruby を適当にパースして ObjC に修正するだけだ!(それが大変だとも)

(12:44)

_ ふむ

log(-1) = -i pi/2 か。

(12:56)

_ あと一時間で

バレずに section 1つ増やすことは可能だろうか。

(13:25)

_ あまり間に合っていないが

まぁいいか…

(14:32)

_ 途中から数えてみた

lampedusa,diu,graciosa,kaula,aratika,oahu,graciosa,roosevelt,hareoen,pianosa,ustica,long,liberty,burano,nuulua,abumusa,chorao,antao,perejil,nuulua,cies,lanai,aracena

ガイシュツだった

http://slashdot.jp/~MK/journal/373378

(15:19)

_ 52Byteでオーバーラップすると

どうしてもうまくいかん理由不明

(16:54)

_ この52Byte

0000000 7f 45 4c 46 01 00 00 00 00 00 00 00 00 10 00 00  >.ELF............<
0000020 02 00 03 00 34 00 00 00 20 10 00 00 04 00 00 00  >....4... .......<
0000040 40 cd 80 00 00 00 00 00 00 00 20 00 01 00 00 00  >@......... .....<
0000060 00 00 00 00                                      >....<

なんで動かないのかしら…

59Byte の hello.asm も同じ方式でやってるぽいので、 落ちる理由は同じってことかなぁ…

2,7c2,7
<   マジック:  7f 45 4c 46 48 65 6c 6c 6f 20 77 6f 72 6c 64 0a
<   クラス:                            <不明: 48>
<   データ:                            <不明: 65>
<   バージョン:                        108 <unknown: %lx>
<   OS/ABI:                            <不明: 6c>
<   ABI バージョン:                    111
---
>   マジック:  7f 45 4c 46 01 00 00 00 00 00 00 00 00 10 00 00
>   クラス:                            ELF32
>   データ:                            なし
>   バージョン:                        0
>   OS/ABI:                            UNIX - System V
>   ABI バージョン:                    0
10,15c10,15
<   バージョン:                        0x9eb40
<   エントリポイントアドレス:          0x14
<   プログラムの開始ヘッダ:            44 (バイト)
<   セクションヘッダ始点:              -1928572531 (バイト)
<   フラグ:                            0x10eb0459
<   このヘッダのサイズ:                52 (バイト)
---
>   バージョン:                        0x34
>   エントリポイントアドレス:          0x1020
>   プログラムの開始ヘッダ:            4 (バイト)
>   セクションヘッダ始点:              8441152 (バイト)
>   フラグ:                            0x0
>   このヘッダのサイズ:                0 (バイト)
28c28
<   LOAD           0x000000 0x00000000 0x08ebd989 0x0004c 0x0004c  WE 0xfb
---
>   LOAD           0x000000 0x00001000 0x00030002 0x00034 0x01020 R   0x80cd40

< の方は動いてる。

(17:30)

_ あーreadableじゃない

からかな…

(17:35)

_ いやむしろ

R ついてない方が動いてるんだよな。 E は結局いるんだっけか… いるとしても 1Byte e_phoff をズラすのは至難の技だ。

(17:39)

_ 1Byte程度の調整は

e_entry と p_filesz がカチあうのでダメ。

あと p_type を e_shoff の位置から始めるのは、 e_shnum と p_filesz がかぶってしまってダメっぽいんだよね。

(17:43)

_ つーことは

今の linux/x86 では 76Byte のバイナリが最低?

(17:45)

_ かと言って

CISC以外だとコードサイズの方がデカくなるだろうしのう。

(17:51)

_ bball

http://osask.jp/boyaki04.html#bball

作ってみたいが線をひくAPIなんて当然ないよな。

リロケーションが入ったらそりゃダメだろうし、 となると fb に根性でほげほげとかになるのだろうかなぁ。 なんか200Byte程度ならできそうな気がしてしょうがないんだが。

(18:03)

本日のツッコミ(全7件) [ツッコミを入れる]

Before...

_ shinh [そのあたりはとりあえず動作しないんですよね。昔は今よりチェック甘かったのかなぁと思います。やりたいことは私の方針とほ..]

_ shinh [ついでに調べたんですが、 tiny.tar.gz に入ってる ls なんかは動くんですが、これは私が成功した例と同じ..]

_ yupo5656 [面白そうなので私もいろいろ追試してみまーす。PT_LOADのとこのEは、exec-shield効いてないなら不要(R..]

_ yupo5656 [とおもったけどやってみるとあやしいな(そんなんばっか)。もうちょい考えます。]

_ shinh [私が調べた限りでは、 E は必須みたいです。 R はいらないです。 exec-shield は切れてるはずなんですが..]


2006-09-10

_ そうなんですよ

時代はこれPla

(00:33)

_ それPla

だよ

(00:34)

_ GBL

GBLが二箇所からリンクされてしまった。

そろそろ弁護士に相談して かっこいい言葉でライセンスを記述すべきか。

(00:40)

_ log log N の探索

木の一段階の幅を exp にすればいいとか。 1段潜る方法は完全ハッシュらしい。

(02:25)

_ なんか

色々偉い人の名刺をもらった気がしてたんだけど、 その場の人の半分以下であった。 名刺っていうのは持ってると 自分から差出すことによって 偉い人の名刺を集めることができるという、 そういう効果があるのではないかと思ったんだけど、 そもそも名刺なんていう慣習が無ければレアリティも発生しないと思った。

(02:31)

_ GBLに関する10の誤解

1. GBL にはウィルス的性質がある

あなたは GBL のソフトウェアがインストールされている マシンが作成に関わった全てのバイナリについて、 10おくえんの受け取り手を保持したままの GBL で配布する義務があります。 10おくえんください。

2. GBL に強制力はない

あります。 10おくえんください。

3. GBL ソフトウェアに対しては課金できない。

根も葉もない噂です。 10おくえんください。

4-10. 略

とりあえず10おくえん。

(02:38)

_ メソッド呼び出しの . を

自明な場合は省略できると後置キャストになるような。

class Int:
  def ch:
  def Hz
end

2ch
400Hz

(13:16)

_ D 16位

なのか。

http://www.tiobe.com/tpci.htm

(18:06)

_ LL

ゴネれば入れたんじゃないかなと言われて悲しかったけど、 ムービー見てるとどうでもよくなってくるなぁ。 むしろ探してた時間と金がもったいないとかそんな。

(19:15)

_ coreをすてるなんて

i@u ~/g> ls
a.out*      gdb_hello.tty.gz  hello.ld  main*   ttyrecord
core.24510  hello.bin         hoge      main.c
i@u ~/g> rm ttyrecord
i@u ~/g> rm core.24510
それをすてるなんてとんでもない
i@u ~/g> ls
a.out*  core.24510  gdb_hello.tty.gz  hello.bin  hello.ld  hoge  main*  main.c
#define _GNU_SOURCE
#include <stdio.h>
#include <string.h>
#include <dlfcn.h>
static int (*old_unlink)(const char *p);
__attribute__((constructor)) static void _() {
    old_unlink = (int (*)(const char*))dlsym(RTLD_NEXT, "unlink");
}
int unlink(const char *p) {
    if (strlen(p) >= 4 && !strncmp(p, "core", 4)) {
        puts("それをすてるなんてとんでもない");
        return 0;
    }
    else {
        return old_unlink(p);
    }
}

どうでもいい…

(22:36)


2006-09-09

_

さくらの Ruby のバージョンが増えたと思う。

さっそく四国ユニットが役に立ったわけだが。

(00:21)

_ エグゼリカ

一回ラスボスまで行ったが倒しかたがわからんまま ダラダラうちあって負けた。

どうやら瓦礫の前でB連打らしい。

あとはやればやる程ボスが難しいパターン出してきてツラくなったんだが。 特に3ボスの最後ぽいのがキチイ。

(00:23)

_ 宇宙が滅んでも後で読む

http://www.tom.sfc.keio.ac.jp/~sakai/docs/ThermoGC/ThermoGC.html

(03:31)

_ 純粋関数型言語

という熟語を脳内で tanakhさん と読んでた自分に気付いてびびる。

(04:02)

_ リスト内包表記は

明らかにプログラムはわかりやすーく という信念のはずの Python の中にあると、 えーその文法っていいのー? やっぱパズルは楽しいよねぇによによ、 みたいなほげほげ。というメモ

(04:05)

_ SEGる

セグる。 とよく言ってるんだけど完全な自分造語のようで困る。 便利だからみんな使うといいよ。

どうでもいいけど SEGV の V ってなんやねんという謎を 思いついたのでケータイからメモったのであった。 violation かな。そうぽいな

(04:07)

_ むしひめさまふたり

絶対虫姫さまふたなりっていう同人がでるよな。

それはともかくよく見ると確かに明らかに グラフィックが色々いいかんじだった。

得点表示が段階的に薄れていくんだけど、 あれは1bitのαでやろうと思ったら、 えーとたくさん画像用意して、 A不透明B不透明C不透明A半透明B半透明C半透明とか そんな感じでやってるんかなぁ…

(04:36)

_ objcopy の size

何これ

(13:21)

_ static -

(15:54)

_ libstrace

(16:10)

_ 35まで読んだ

(16:46)

_ __builtin_init_trampoline

(18:15)


2006-09-08

_ ケータイ持ってない簡易シミュレータ屋

だったわけだけど。

えーとケータイって圏外の時に 電話来てもなんも残らんかったっけ。 なんか残ったような気がしてたんだけど…

(01:09)

_ さすがに

これが 4 users という想像はできんかった。

http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/shinichiro_h/20060905%231157455472

(01:35)

_ OCamlおもしろそう!

http://d.hatena.ne.jp/KeisukeNakano/20060907/1157605431

(01:47)

_ エグゼリカ

3,4,5プレイ目だと思う。

3プレイ目は今までで一番進まなかった。

4プレイ目は今までで二番目に進まなかった。

5プレイ目はそれなりにへこへこ。

1おくあると2機増えるらしいから それ目指すととりあえずクリアはできるかなぁ。

(01:54)

_ エグゼリカ第一原理

渋谷には無い

(01:55)

_ せぐ ないほう

(17:21)


2006-09-07

_ メタニート

(00:03)

_ 時かけ

どのあたりがすごく面白いのかわからなかった 僕はもうダメかもしれない。 無気力無感動無関心。

まぁ筒井康隆は面白いとは思うんだけど、 すごく面白いと思ったことは無いんだよなぁ…と。 そんな感じだった、けど原作はぜひ読もう。

(00:18)

_ まぁ

デスマーチ 1.9RC5-rev3097-060907 とかの方が死にそうだけど

(00:37)

_ 星新一

SFで一番読んだのは星新一だろうから、 SFなのにオチが無いとイヤなんだろうか。

(02:08)

_ やるなアマゾン…

今回のおすすめ内容:

* Code Complete第2版〈下〉―完全なプログラミングを目指して
* 自分で作るLinux OS
* ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
* Life Hacks PRESS ~デジタル世代の「カイゼン」術~
* アセンブリ言語の教科書
* ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか
* Joel on Software
* 物理法則はいかにして発見されたか

すごいいいセンいってる気がする。

おおこれは。

http://ruffnex.oc.to/kenji/text/asmbook/

後で見る。面白かったら買うー。

(03:14)

_ 趣味は言い訳です

んで250の方の間違った理由考え中…了解わかった。入力を正方行列だと仮定してたよバカ…

いや僕は悪くない!正方行列ばっかり見せてきた問題が悪いんだ…!

(04:29)

_

趣味は言い訳はかなり重要な要素なのであった。

(04:44)

_ GoogleCodeJamの問題は親切だった!

だいたいサンプルに長方形のヤツも入れてくれよなぁ… これじゃ注意力テストじゃんとか言い訳しつつ見てたら。

"AAAAAABBB",
"AAAAAABBB",
"AAAAAABBB",
"AAAAAABBB",
"AAAAAABBB",
"BBBAAAAAA",
"BBBAAAAAA",
"BBBAAAAAA",
"BBBAAAAAA",
"BBBAAAAAA"

どう見ても正方形に見えてたけどこれ正方形じゃないよ! ちゃんと教えてくれてたんじゃん!

(05:03)

_ しかし

Javaの人のコード見てると よくこんなんで気が狂わないなぁあと思う。 適当に拾ってきた

shinh.skr.jp/t/java.jpg

とか、どこを縦読みするんですか状態だ… IDEがなんとかしてくれてるんかなぁ

(05:13)

_ うへへ

http://staff.aist.go.jp/tanaka-akira/textprocess/08-rep.pdf

配列の配列を含みうる配列内の search を再帰を使って実装せよ、に、

flatten を使ってる人がいた

が面白す。

(13:24)

_ 今日はshinh会

ですので夜に秋葉に集合です

ここに書いてなんの意味があるのか

(14:23)

_ 四国ユニット

ありそうで無かったんじゃないかなぁと思うけど やっぱ誰でも思いつきそうだナ。

まぁ帰ったら書く。

(17:46)


2006-09-06

_ ホントに

30分でできたんだろうか…

http://www.cs.toronto.edu/~kawamura/nandemo/old.html#n=046

(00:34)

_ 帰って

タイカレー作ったらもう深夜だし、 まぁCodeJamは明日…

(01:32)

_

http://d.hatena.ne.jp/d-kami/20060905#1157463927

TopCoder Collegiate Challenge というのがあるのか

(02:53)

_ ほげ

自分のはてなアンテナで経由で既に登録されていたサイトを 見てたんですが、 うむここはアンテナに登録するべきだろうと思い 登録しました。

アンテナ→そのサイト→戻るでアンテナに→登録

明らかに何かがおかしいと気付かんかったのか…

(03:49)

_ 衆愚にすればいい

もうはてブをアイデアみたいなシステムにしちゃえばいいんじゃ。 ブックマークする時に5ポイント消費して、 上についたブックマーク数ポイントだけ帰ってくるとか。 そんな。

(04:04)

_ 色々ミスった…

まぁそれ以前に 750 点問題通るのかよという問題が

(14:26)

_ 100へや?

The Qualification Round will contain (10) virtual rooms and five (5) problem sets. The top 200 scorers from each of the five problem sets presented during the Qualification Round will be eligible to compete in Round 1 of the Code Jam 2006.

よーわからんけど5部屋中200位に入ればいいのかとばかり。 ただ普通に解いただけと言える点数で、今80位とかそのへん。 たぶんダメなんだろうなぁ…

反省は色々あるけど。

  • 750で1回解いてから問題の意図が違うと気付いて書き直し
  • 250で問題読み飛ばしに気付くのにえらい時間消費
  • Python はプラマイゼロ(記述量でプラス、不慣れ&速度チェックでの不安でマイナス)
  • そりゃ Ruby だの D だのがあればそっちの方が速いとは思うけど

問題の中に触れるような反省は明日しようと思う。 たぶん忘れるが。

どうでもいいけど Employee なんとかとかあるのが面白いなぁ。 それこそ CEO とかそういうのがいたらかっこいいんだけど。

(16:52)

_ CEOはブルジョワ階級です!

Employeeではありえません!

(17:00)

_ 偉そうにする

未来の自分は今の自分より上であるに違いないと信じたい場合、 今偉そうにすることは未来の自分から見れば滑稽に 違いないのは間違いないわけで。

偉そうにするのは好かんなぁと思うとともに、 自分がそうなったら終わりだなぁと。

(17:06)

_ まぁ

常にトップを走り続けるメソッドはあるにはある。

(17:07)

_ あー

だから Summary は人数少ないんですかー

なんにせよしかし 750 がはじかれる気がする。間違いない。

(17:12)

_ 情報検索術

http://rikunabi-next.yahoo.co.jp/tech/docs/ct_s03600.jsp?p=000870

Gmail に統合ねぇ…いかにも次善なんだよなぁ。

(17:15)

_ SBFで書いてみた

http://www.jmuk.org/d/?path=2006/09/06#d06t01

i@u ~/wrk/bf> cat llr3.sbf
(let (x (getchar))
  (let (z 10)
    (let (y 42)
      (-= x 10)
      (while x
        (-= x 38)
        (while x
          (-= x 1)
          (putchar y)
          )
        (putchar z)
        (= x (getchar))
        (-= x 10)
        ))))
i@u ~/wrk/bf> ./a.out llr3.sbf
,>++++++++++>++++++++++++++++++++++++++++++++++++++++++<<----------[--------------------------------------[->>.<<]>.>>,<<<[-]>>>[-<<<+>>>>+<]>[-<+>][-]<[-]<<<----------]
i@u ~/wrk/bf> ./bfi.rb =(./a.out llr3.sbf)
239
**
***
*********

BFのためのLL、とは言ってもいいかもしれないね。

http://d.hatena.ne.jp/shinichiro_h/20060703#1151874823

(17:39)

_ ありゃ

まだ121位とかなのね。

間違ってなきゃいけるんかな。

(23:15)

_ OOPと高階

両方抽象化の技法で、 同じ現実のものを抽象化しようとしてるんだから、 似た部分があるのはあたりまえなんじゃないかなぁと思うんだけど。

(23:51)

本日のツッコミ(全2件) [ツッコミを入れる]

_ k.inaba [何回か手順間違えたりスクリーン上で集団公開デバッグが始まったりしてで、26分でした。^^]

_ shinh [それはすごい。 Rails 偉い…のかな。]


2025年
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
1.shinh(2014-05-24 02:43) 2.k.inaba(2014-05-24 02:43) 3.YT(2014-05-24 02:43)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h