雑記の過去ログです。
INDEXへ
junkboxへ

DIARY.

2005/12/13


痛い目は見たくないのです。


2005/12/09

ハイパー逆リンク

今後のP2Pについて
http://tmp5.2ch.net/test/read.cgi/download/1133340970/


2005/12/02

1次元バーコードリーダー結論


カメラで撮った写真からの認識を想定して作ったため、
速度よりも精度を重視して実装し、
誤認でもいいからとにかく読むようにした。


--- 読む回数を増やす工夫
・全てのラインでスキャンする。
・いろんな閾値でトライする。
・いろんな長さでトライする。

--- 将来展望
・いろんな方向からもスキャンする(遅くなるけど)
・ピンボケで潰れてても読めるようにする(二値化を使わない読み取り)


といったところでしょーか

今のところ、本を何冊も適当に置いておいて(バーコードは横向きで)撮った写真から、
数秒で認識結果を得るところまではどうにかたどり着きました。

978コード(書籍JAN1段目ISBN)だけを取り出すと
  0:9784821182107
  1:9784088762760
  8:9784088475172
 24:9784756145482
 29:9784878920851
 37:9784878057533
 44:9784798009582
 53:9784253230476
 61:9784047137448
 63:9784253270472
 94:9784091278524
 95:9784063142785
	  

てな感じです。ほとんど読めてるんですが2冊だけ失敗してます…


2005/11/30

JANdec


それなりの形になった。

苦労した点:
・資料のテーブルがおかしかった
・二値化
・ユニット長の検出精度
・キャラクタ逆引きの精度

15時間で書いたにしてはよくできた。


2005/11/29


バーコード・リーディング


1次元バーコードのデコーダを書いているんだけど、
二値化が結構シビアで、画像の平均値ではあまり性能がよくない。

元画像
単純二値
スキャンライン平均

ハイライト除去はかなりキビシー


2005/11/24

nyclo051124

・対応パケットの拡充
00,01,02,03,04,05,10,11,12,13,95-99
まぁほとんどは読み捨てですけど



2005/11/23

nyclo051123

できること:

・97,00,01,02,03のrecv,send
・スレッド化したサーバント動作
・port0動作で外部ノードならたまに接続維持できる

できないこと:
・local nyとの接続維持(どういうわけかすぐ切れる)
・03以降のキーの解釈(データが取れてないため)
わかったこと:
・pthread


2005/11/20

仕事でも研究でもない趣味のコーディングは超楽しいな!

nyclo rev2


できること:
・97,00,01,02,03の解釈
・こっちからも認証キー送る。接続テスト扱いになったりport0になりましたりできる

できないこと:
・検索とかのマットウな部分
・server動作
・マルチスレッド動作

わかったこと:
・仕事じゃないコーディングは超楽しい


2005/11/20

winnyクローンテスト

nyclo051121

できること:
・97,00,01,02,03の解釈

できないこと:
・こちらからの送信

わかったこと:
・WinnyのRC4は一種類だけだった
・ていうかRC4じゃなかった


2005/11/20
うおー寒いな
指が超冷たいです

卒論&バイトで切羽詰っているのに何を考えたか
Winnyに対してクローンを作っているわけですが
WinnyのRC4ってすげえなんか変じゃねえ?

っていうかこれは本当にRC4ですか?

普通はRC4(Rivest's Code 4)といえば、
リークしたソースを指すと思うんだけど
ソースのようなもののCRC4.cpp周辺を見ているとどうも
void CRC4::setupkey(const char * key)
{
    int i;
    int j;
    int k;
    char tmp[ 256 ];

    i = strlen( key );
    if ( strcmp( (const char *)m_tbl_3, key ) == 0 ) {
        memcpy( this, m_tbl_2, 256 );
        m_uchar_1 = m_uchar_2 = 0;
        return;
    }
    j = 0;
    for( k = 0; k < 256; k++ ) {
        m_tbl_1[ k ] = *((unsigned char *)( &k ));
        tmp[ k ] = key[ j ];
        j = (j++) % i;
    }
    m_uchar_2 = 0;
    for( k = 0 ; k < 256; k++ ) {
        m_uchar_2 += tmp[ k ] + m_tbl_1[ k ];
        m_uchar_3 = m_tbl_1[ k ];
        m_tbl_1[ k ] = m_tbl_1[ m_uchar_2 ];
        m_tbl_1[ m_uchar_2 ] = m_uchar_3;
    }
    m_uchar_1 = m_uchar_2 = 0;
    memcpy(m_tbl_2,this,256);
    strcpy((char *)m_tbl_3,key);
    return;
}

unsigned char CRC4::rc4_byte()
{
    m_uchar_1 = m_uchar_1 + 1;
    m_uchar_2 = m_uchar_2 + m_tbl_1[ m_uchar_1 ];
    m_uchar_3 = m_tbl_1[ m_uchar_1 ];
    m_tbl_1[ m_uchar_1 ] = m_tbl_1[ m_uchar_2 ];
    m_tbl_1[ m_uchar_2 ] = m_uchar_3;
    m_uchar_3 = m_tbl_1[ m_uchar_1 ] + m_tbl_1[ m_uchar_2 ];
    return m_tbl_1[ m_uchar_3 ];
}

void CRC4::crypter(char * buf,int len)
{
    int i;
    for (i=0; i < len; i++) {
        *buf = *buf ^ rc4_byte();
        buf = buf++;
    }
    return;
}
	  

こんな感じになっていて、なんだか変だ。
そもそもkeyの長さを調べるのにstrlenを使ってる時点でおかしい。
将来的にDHとかでバイナリキーを生成する可能性もあったんだから、ただのintで長さを別に受け取るべきだろう。
RC4は256要素のテーブル一個で終わるのに、なぜかテーブルを3つも利用してたり。

どういうことなんですか金子さん


--- update

nytest


今できること:
クライアント側として繋ぎにいって拾ってきたパケットダンプを元に
セッション鍵の解釈とバージョン情報のゲット&コマンド00

わかったこと:
WinnyのRC4には二種類ある!


2005/11/14
--- mixi日記の意味 ---

端的にいえばmixi内は「Google八分」である。
これはプログラマーにとっては死活問題で、
というのもプログラミングネタで日記を書くというのは
「誰か、わかる人反応してくんない?」みたいな
期待が混じっているからだ。


--- 今日の成果 ---

シーンとしては、手前の一枚だけ壁がない箱の中に、
上向きの面光源と、一枚のランバート面がある状況。

フォトンの可視化は半径内フォトンすべてのパワーの平均(BRDF考慮なし)
ロシアンルーレットが微妙なので、今は反射するたびに全部フォトンマップに格納してる状況です。





ていうか今こんな状況でさー
卒研に間に合うわけないよね

ヤバいね俺
やばいやばい


2005/11/13
二日目。

フォトンマップの実装をゴリゴリ進める。

問題点は山積みだ。
何らかの木構造を利用した高速化の実装や
その上で卒研として価値のある新規技術の開発を行わなければならない


Radiance estimationかフォトン分配あたりを少し改善できればいいなと思ってるけど。
たぶんそうそううまくいかないんだよな

フォトンマップだけですでに何年も前の技術だもんなぁ…
ERPTとかに切り替えるべきか。今から?


2005/11/12
時代はCSSだっつーのに手書きHTMLです
こんにちは
mixi依存症からのリハビリとしてこっちに日記を書こう


今日、とあるラーメン屋の行列に並んでいたんですけど
何、そのさ、前に並んでるカップルがチョーウザいんですよ

・券売機の前を塞ぐんじゃねえ!
・二人席は開かないからとりあえず座れ!ロットがズレる!
・メニュースラングを覚えろ!「ヤサイ多めで」とかはRejectだ!


飯屋には二種類あると思うんです

・客同士が独立して扱われる店(カウンタ席とか)
・客のグループを一単位で扱う店(ファミレスとか)

で、今日のラーメン屋はかなり強い前者だったので
非常に違和感を感じるんですよね。
カップルとかいるとさ。

だからさーなんつーか
バカップルももうちょっと周り見て動いてね


2005/08/24

最近のガキゎ文章もまともに書けないんですかぁ?

…ごめん無理だ


なんで「ゎ」とか書くんですかね
「wwwww」みたいなもんなんですかね


26までちょっとゼミ合宿に行ってきます

(comment) | (trackback)

↑blogごっこ


2005/08/13

Mitsuru Ikeuchiさんの実験室は非常に面白くてためになる
ソース全公開なのも潔い

http://homepage.mac.com/mike1336/Menu2.html

2005/08/02

雲のインターバル撮影


2005/07/28

ああ、生活に潤いがないよう

Caplio R2 + Raynox QC-303の組み合わせでちょっと撮ってみた
野毛山公園 手すり

マクロモードでワイ端でも合焦するあたりに1cmマクロのすごさがあるな

2005/07/24

うう 汗くせえ

ミミミミ

アキバ署もはややばいね OURSの風を感じるね

2005/07/21


self selfってお前はself村の住人かっつーの

ニシキヘビ


2005/07/18

ちなみに花火はうちのベランダからこんな感じで見えます。



2005/07/17

横浜国際花火大会があったんですけど
あのねー
浴衣ウォッチングに行ってきました。



渋滞がものすごいんです
どう考えても渋滞しないわけがないのに、
なんで車で来るのかな?
先が読めないのかな?

つかあれだよね、ブルーシートとかもっと環境に配慮した形にするべきだよね
どうせ一瞬で使い捨てなんだからさ、耐久性低いけどリサイクルしやすい素材(とうもろこし澱粉とか)でもいいんじゃねえの?

と思う


2005/07/13


29km

"Club Nikukyu-" since 1999-10-05.
phase shited to "solid phase" at 2001-07-26.

Copyrights (C) 2001 by Lazie / NikQ-club.
Style of diary is based on Ms.RYOKO.
Link free for all.