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


2006-09-04

_ アルファニート

(01:04)

_ あー

Google Code Jam 、 Python でやろかな。 しかし相変わらずアプレットは CPU使用率100%になったり不穏。

(04:30)

_ 18k

i@u ~/res/hpm> svn diff -r1340:1351 G '+' |wc
   781    2375   18404

まぁそれなりには書いたか…

(06:50)

_ こうもはっきり

研究は好きだけど、論文書くのはつまらない、 とわかるとなんとも言えんなぁ。 つまらんというか、もうなんだこれ。 単純作業とかとたいして変わらんめどさだ。

(06:51)

_ しかし

どう考えても旅行なんて行けないな。 でも冬は凍死するしな。

(15:16)

_ 面白げ

http://d.hatena.ne.jp/ma-jan/20060617

草葉さんとかいるんか

(15:26)

_ 雑事とか

別に脳の退化とかは別に恐れてはなくて。 まぁいざとなればなんとでもなるのは良く知ってるし。

もっと単純に 掃除がめんどい洗濯がめんどい…というリストに 論文がめんどいと加わってるだけというか。

発表が重要なら方法はもっとあるんじゃね、 と思うんだよなぁ。Web日記でいいじゃんと。 ベネットのブログはみんな見てて 彼はアクセス数10まんとかそんなんでいいじゃんと。 ローカルな世界なのでPVひかえめ。 センセに quant-ph って僕の研究日記とか 載せていいんですかねぇと聞いたらダメだろうと言われたけど。

paperなんていう中途半端に 改まった形式にするから査読なんていう手間も あらわれるわけで、 ブログランキングでいいよもう…とかそういう。

(22:07)


2006-09-03

_ スパムフィルタ

http://shinh.skr.jp/m/?date=20060901#c02

URL入ってるとはじくというおそろしい仕様になってましたすいませんびびった。

とりあえず5個以上とかにしてみる。

(00:27)

_ erasure の話

メモ。

ランダウアーの原理で、 情報忘れる時熱出ちゃうっていうけど、 パソコンの電源切ったら熱出るって なんか直感的じゃないよねぇ、みたいな話で、 情報保存できてるってことだから 1か0はなんらかの励起状態にあって、 電源切ってほっとくと励起状態の方から 基底に落ちてエネルギーが… みたいな話をしたけど、 んーとそれってほげほげ。

ほげほげじゃねえよ。 つまりランダウアーの法則に プランク定数 (今プランク定数の名前を忘れていた 自分的に完全にアレはエイチバーらしい) 含まないのでとか思ってたら Wikipedia によるとボルツマン定数は 基本定数じゃねえとか。 そうかも。

まぁ今度考える。

(00:32)

_ Array

   foreach(e; 配列[31, 41, 59]) printf("%d ", e);
   foreach(e; 配列[1 .. 10])    printf("%d ", e);

とかしたくなるんですが。

(00:37)

_ 全角スペースとかダメなのは

いかにもUTF8ってことなんかな。 UTF8よーわからん

(01:00)

_ なんだってーの事実を元に

レイトレをインチキ解法でやってみたところ 1300点でした。 もっと縮まりそうな変更したつもりだったんですが、 ひょっとしてこれってマックスですか。

Program area: 4941 (smaller is better)

(03:41)

_ いやマックスだと

mul & rev で 110 てんはなさそうなんだよなぁ…

(03:45)

_ 1300が限界かねぇ

Program area: 4860 (smaller is better)

(05:16)

_ 現状とか

i@u wrk/icfpc/2006> ./cntpub.rb
INTRO: 230
CIRCS: 1390
BLNCE: 1094
BLACK: 1000
BASIC: 100
ANTWO: 400
ADVTR: 810
ADVIS: 329
5353

mul & rev はまだまだいけるってことかぁ

(05:17)

_ 限界

i@u wrk/icfpc/2006> ./cntpub.rb
INTRO: 230
CIRCS: 1399
BLNCE: 1094
BLACK: 1000
BASIC: 100
ANTWO: 400
ADVTR: 810
ADVIS: 329
5362

mult

,..|....................................,,.....|................................,
:p |   *=============*+---+             ::mult | *=================*        +--+:
---#-->!case W of E,S!#+  v             :------#>!send[(W,E),(W,S)]!--+     v  |:
:  v   *=============*|| *=====*        ::     v *=================*  | *=====*|:
:*=================*| |+>!use p!+       ::*=============*     |    ++ +>!use p!#-
:!send[(N,S),(N,E)]!#-+  *=====*v       ::!case N of E,S!-----#----+v   *=====*|:
:*=================*v  *===============*::*=============*     |    *========*  |:
:      + *===========* !send[(Inl N,E)]!-:++*===============* +--->!use mult!--+:
:      +>!send[(W,E)]!+*===============*::+>!send[(Inr(),E)]!+     *========*   :
:        *===========*+------------------:  *===============*+-------------------
,.......................................,,......................................,

rev

,..|...........................,
:i | *==================*      :
---#>!send [(W,S),(W,E)]!+     :
:  v *==================*v     :
:*=============*| *===========*:
:!case N of S,E!#>!send[(N,E)]!-
:*=============*v *===========*:
: | *==================*       :
:+#>!send[(Inl(W,N),S)]!       :
:|| *==================*++     :
:||  *=======*        |++v     :
:|+->!split W!--------#+*=====*:
:|   *=======*        +>!use i!-
:+----+                 *=====*:
,..............................,
,......................|...,
:rev                   v   :
:*===============*  *=====*:
:!send[(Inr(),E)]!->!use i!-
:*===============*  *=====*:
,..........................,

(06:51)

_ GDC SVN

インストールした。

GCC-4.2 でコンパイルすると cc1d を実行する時に /usr/lib/libstdc++ が 違うバージョンの libgcc_s を必要として少し困る。 libstdc++ を一時的に変更して対処。 毎度こうだと困るので次回からは GCC-4.1 使ってコンパイルするかね

(15:20)

_ nil.to_s

CGI 書く人と書かない人で意識に差がありそうな。 たぶん立場は

  • nil.to_s は "" であるべき
  • どっちでもいいけど今変えるのはヤメレ
  • nil.to_s は "nil" であるべき

の3者で、CGI書いてると1番上の気持ちになる気が。 なぜなら <input> タグで来たものは nil じゃなくて "" であって、 これを変数に代入するときにわざわざ

key = @q['key'] == '' ? nil : @q['key']

とかそのへんはやってられねーし、 かと言って別のところで key に代入する時は

key = if cond then 1 end

とかしたいしのう。

でまぁもろもろが次の値にひきつぐ時に、

%Q(<input type="key" value="#{key}">)

でテキトーにひきつげるのは ありがたいかな。

どうでもいいけど ついさっき四国に

twop =
  if @cgi['twop'] != '' && @cgi['twop'] != 'false'
    '_' + @cgi['twop']
  else
    ''
  end

とか書いた (false の部分を加えた) 。 ダメすぎるじゃん! nil にしとけば良かったよ!

(17:47)

_ このくらいやらないとだめかなと思った

>>> "a"[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] 'a' >>>

(18:00)

_ おすすめのソース

http://slashdot.jp/askslashdot/article.pl?sid=06/09/03/0721254

main=195 と #include </dev/tty> がトップ2とすると、 3位くらいまで考えたいなぁと思い起こすに、 uguu.org の Perl&OCaml polygot quine かな。 7言語 polygot は Postscript 混じってるのは 視覚的に強烈だったけど技術的にはコメントの切り分けだけであって、 それなら k.inaba さんの printf("it's %c code\n", 'c'/+c++/+1); の方が感動したかもしれない。 あとは hanoi.tex とか。 7行スレはわかっちゃうとそこまで凄くもないかなぁ。

(18:18)

_ あと

sed はすごいんだけど何がすごいかすら よくわかってない程度しか sed を理解してないのが。 変数が2つしか無いのはわかるんだけど。

C++ならなんだろうね。使う側から見ればlambdaはすごいけど。 実装だと Boost.any とか shared_ptr とか。

最近 C++ いじってないなぁと chomp.cc 書いてて思った。 どう見ても better C だ。

(18:23)

_ opSpace と言わず

やっぱ空白は ident に…

int ab cd ef = 1;
printf("%d %d\n", ab cd ef, ab cd ef);

ひどいなぁ。

struct Arraynantyara { op^ () {...}; op. () {...}; opSlice () {...} }
Arraynantyara  ;
^..^[1 .. 3]

(19:53)

_ TypeKey

のログインアカウントを変更できる Greasemonkey script が欲しい。 四国いじりがラクになる。 作るのはたぶんめどい。 なぜならだるいから。

(22:04)

_ CodeJam

のアプレットが動かんですね。 またそんなんかよ

(23:45)


2006-09-02

_ なんでもファイル

ioctl 的なものはいるんじゃないかなぁ。 効率度外視とかなら別になんでもいいけど。

(20:09)

_ 楽しかた

  • ブッキング
  • チョンプ
  • 立方体
  • 約数

(20:10)

_ チョンプ

先手必勝系の左下に1個足したヤツは 後手必勝じゃないかなぁとか そんなことをぼんやり予想してたんだけど。

http://shinh.skr.jp/t/res.txt

(21:16)

_ 見た感じ

左下にチョコんと1個出てるのは 必ず後手勝利になる、とかそいう予想がありそうな。

(21:25)

_ じゃなくて

チョコんと1個出てる以外に、後手勝利系が無い、 という予想。

(21:28)

_ 先手必勝法

  • まず下の辺を1つ残して取る。
  • 基本的に、後手が何しようがその後手が取った部分の上を全部切り取る。するとチョビヒゲ状態を維持できる。
  • 縦長の 2*n に1つ足した状態が後手勝利であることは証明できる。
  • 以下の場合、は、長くなった髭を1本にしてやればいい。
■■■■■■
■■■■■■
■■■■■■
■□□□□□
■□□□□□
■

と取られたら、

■■■■■■
■■■■■■
■■■■■■
■
□
□

とする。

(21:32)

_

おかしいな。

(21:33)

_ ひどいよ

そもそも res.txt が間違ってた

(21:50)

_ 仕切りなおし

http://shinh.skr.jp/t/res.txt

(21:51)

_ 結論としては

わけがわかりません。

(22:24)

_ クソゲー

なるほど絶対勝てない。

http://shinh.skr.jp/t/chomp_sdl.cc

(22:40)

_ 5x8の先手必勝手

■■■■■■■■
■■■■■■■■
■■■■■■■■
■■■■■■■■
■■■■■■

という時点でひどいというか。

(22:43)

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

_ shinh [てすと。問題無ければたまに出てる 503 とかかなぁ。]


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