トップ «前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|

ToDo:


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 偉い…のかな。]


2006-09-05

_ カリスマニート

(02:48)

_ カンファレンスとか

http://alohakun.blog7.fc2.com/blog-entry-438.html

なんかカンファレンスってのも微妙だと思うんですよね。 LL 行けなかったから言ってるんじゃないですが、 人数制限とかで入れない人とか出てくるし。 だいたいカンファレンスって話で何か聞くとかより、 他の人との雑談ができるって方がメリットな気がしますし。

適当に気があうところで呑み会するくらいと、 後はもうこのヒキコモリ時代、 適当にヒキコモリながらできる意思疎通でいいんじゃないかなぁ…

そこでヒキコモリ2.0時代のプレゼンシステムを…とか そういうことを考えてたんだけど。

ヒキコモリだから作るのがめどい。

(03:25)

_ estmaster のポート

何かなーと思ってたんだけど、 今ふと気付いた。 生年か…

(04:03)

_ つまりこういう検索はどうかとね…

http://self.shinh.dyndns.org/search_ui

自分の書いたものプラス自分の引用した URLを検索対象に。

(04:50)

_ estmaster...

絶対パスで action 指定しないで欲しいなぁ…

(04:52)

_ 要はこれなんだろうけど

http://packages.debian.org/unstable/text/hyperestraier

まぁ聞けばいい…

(05:07)

_ 渋谷でSNSの中の人…

http://qdbm.sourceforge.net/mikio/

ほえー

(10:21)

_ 光の人が来た

大屋さんいわく一言も聞いてないとか。 不動産屋。

(10:37)

_ あれ

Google Spread Sheet 使えるようになってるな… なんか前使おうとしたらよくわからんことになったんだが

(10:41)

_ 同じ型の引数複数

の例は画像とか音楽とか多いかも…

int SDL_BlitSurface(SDL_Surface *src, SDL_Rect *srcrect,
                    SDL_Surface *dst, SDL_Rect *dstrect);

まぁ

src->blit(Rect(...), dst, Point(...));

とかか…で、

strong typedef int freq;
strong typedef int form;
strong typedef int chan;
strong typedef int chunk;
int Mix_OpenAudio(freq frequency, form format, chan channels, chunk chunksize);
Mix_OpenAudio(freq(44100), AUDIO_S16, chan(8), chunk(4096));
 or
Mix_OpenAudio(44100Hz, AUDIO_S16, 8ch, chunk(4096));

なんてのを妄想してて思ったんだけど、 関数呼出し時の中だけで使える一時的な strong typedef とか…

int SDL_BlitSurface(SDL_Surface *src, (int,int,int,int) srcrect,
                    SDL_Surface *dst, (int,int) dstpnt);
auto fp = src->SDL_BlitSurface(srcrect(30,40,10,10));
fp(dstpnt(10,20),dst);
void drawText(string s, (int,int) pnt, (int,int) size);
drawText("hoge", pnt(10,20), size(20,30));

単なる named parameter な気も

(17:50)

_ そうそう

もにゃどの話は面白いというか うすうすそうじゃないカナーと 思ってたことがやはりそうなんですねーって 感じでとてもためになったのでめんどくさがらないと きっと良いと思いました。

もったいないというか。

逆 IO も面白いです。 しかし Haskell のコード読みは なんで解読にしかならんかなぁ。

(17:55)

_ Python

そろそろ勉強せんと間に合わん気もする。 まぁ別にいいか。

とりあえず練習問題解いてみたら Python は速度的にキツい問題あるかもなぁとか思いました。

まぁ C++ も思い出しておこう…

(18:09)

_ 最近設計っていうか

パッと出て来なくなった気がする。 知ってるパターンはまぁ増えてるので 書ける時はスラスラ書けるけど、 いったん止まるとヘンな設計しか思いつかんというか

(18:10)

_ proxy side JS

とか考えてたけどブラウザに埋めちまえばいいような気も…

(18:14)

_ file.c の…

b = loadHTMLString(page);

の直前にフィルタかませばいい気がする。

(18:34)

_ proxy の方がはるかにラクだ…

w3m ちゃんと streaming してるせいで フィルタかましにくい…

(18:49)

_ ギリシアのように

は個人的には超反対かな。 「採算だけしかみない」みたいな今のノリもダメダメだと思うけど、 「採算を一考だにしない」ってのも違う。 研究の浮世離れはいいけど研究者の浮世離れはダメ、というか。

(18:56)

_ mod_filter面白そうね

(19:41)

_ Python Palindrome

http://d.hatena.ne.jp/morchin/20060903#p1

ぱりんどろーむのスペルはあってるだろうか。

あってた。

とにかく、 str == str[::-1] がなるほどなぁと。

(20:46)

_ 俺のやる気をさらに削ぐために

pxdviが動かなくなったに違いないよ

(21:25)

_ 東方の音楽

http://www.mukyou.jp/Music.html

(21:47)

_ 教えてもらたー

http://self.shinh.dyndns.org/node/self/search_ui

(21:54)

_ HPM

  • squeezed state の再構成
  • phase shift の非近似

どっちも時間無いだろうなぁ…

(22:40)

_ 進捗

i@un ~/res/hpm> svn diff -r1353:1354 . G '+' | wc
    124     447    3240

やる気が足りないです

(23:38)


2024年
11月
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
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