Hatena::ブログ(Diary)

Teckuboon

2014-08-09

アイネ・クライネ・避難勧告

00:25

o4 gr8d8gr8d8g8d8g8b8o5d4r4o4g8d8g8b8o5d4r4;

ソースはこれ https://www.facebook.com/jokefake/photos/a.361766817190947.88875.361523163881979/816838355017122/

2011-01-04

やっぱり自前のサイトのほうが落ち着く

03:16

ロックイン怖いです。

WordPress3でblogを簡単に量産できるようになったので。

http://dev.trick-with.net/

2010-11-18

_focusrect(as2)やstageFocusRect(as3)だけではTabキーは無効になっていない

| 19:49

黄色い矩形が消えているだけで、フォーカス移動は発生している。

http://wonderfl.net/c/8m4M

フォーカス移動を消すにはTabキーへのイベントハンドラを書く。

2010-08-16

IE6と7以降でIEキャッシュの命名規則が違う

| 23:06

http://127.0.0.1/ のようなURLキャッシュ可能な文書を置いてアクセスし、Temporary Internet Files に生成されるファイル名を確認すると、

  • IE6 では、 127.0.0.1[1].txt となる
  • IE7/8 では、 127_0_0_1[1].txt となる

なんて微妙な仕様変更。

2009-10-20

SDカードから失われた動画を復旧する

| 20:27

ffmpeg で -i オプションワイルドカードを使ったらSDカード内のAVIがごっそり0バイトになって焦った。

ここは本気を出さねばならない。

selfImageで、メディアまるごとのバイナリイメージを取って、以下のコードを実行し、「"RIFF"から始まるファイル」に分割。なんせ元のファイルサイズが失われてるのでほんとはきちんとRIFFフォーマットを解析しなきゃならないのだが、面倒なので。

あとは、出来上がった「後ろにおまけのついた動画ファイル」を無理やり動画コンバータに放り込んで変換成功。

ふぅ、冷汗かいた。

int _tmain(int argc, _TCHAR* argv[])
{
	char buf[BUF_SIZE];

	FILE* fp;
	::fopen_s(&fp, "sd_card.img", "rb");
	FILE* fOut=NULL;
	int count=0;
	while(!::feof(fp)){
		::fread(buf, 1, BUF_SIZE, fp);
		if(fOut)::fwrite(buf, 1, BUF_SIZE,fOut);

		long cur=0;
		while(cur<BUF_SIZE){
			const char* pos=(const char*)::memchr(buf+cur, 'R', BUF_SIZE-cur);
			if(!pos){
				break;
			}
			if(::memcmp(pos, "RIFF", 4)==0){
				if(fOut)::fclose(fOut);
				char fname[20];
				::sprintf(fname, "%d.avi", count);
				fOut=::fopen(fname, "wb");
				::fwrite(pos, 1, BUF_SIZE-(pos-buf), fOut);
				count++;
			}
			cur=pos-buf+1;
		}
	}
	if(fOut)::fclose(fOut);
	::fclose(fp);
	
	return 0;
}

kuboonkuboon 2009/10/20 20:31 strstrに相当する、\0を無視してくれる関数ってあるのかなー

kuboonkuboon 2009/10/22 02:32 ていうかCで書くのが間違いだな。だがLLでバイナリを扱うのがまだ怖い。。

kuboonkuboon 2009/10/28 12:03 BUF_SIZE境界に"RIFF"が跨った場合にダメなことに今更気付いた。

Connection: close