2004-08-01から1ヶ月間の記事一覧

バーチャルキーボード

バーチャルキーボード、予約開始 | スラドす、凄い。デスクトップ用としては今のところ普通のキーボードでいいかなと思うものの、例えば、携帯と連系したりすると非常に便利。販売ページでタイプ中の動画が見れるので、それを見て欲しいのだけど、そこに出て…

死ぬ程コーディングした気がする

今日一日(13:00 - 23:00)ひたすら自作ソフトのコーディングしてました。それはもう凄い集中力で。思い返して「俺にしては凄い集中力だなぁ」と思ったのは コーディング中、水分、食料、一切無し 途中、休憩無し(つまり、10時間座ってました) コーディン…

UNIX 用語 由来/読み方辞書 version 1.6 (Feb 13 1995)上記サイトのdeamonの読み方を引用 "daemon" と同義。 悪魔とか守護神、鬼、鬼神という意味だが、UNIX の daemon は"守護神"というのが一番あっている。 「なんか難しい事やろうとすると、出てくる便利…

FAMのサンプルコード

http://members.jcom.home.ne.jp/j-klein/src-box/famsample.cFAM(File Alteration Monitor)の日本語情報が少ないので、ちょっとサンプルコードを書いてみた。あんまり有名じゃないのかな、FAMって。FAMはセキュリティホールになりかねないので、最新のも…

BrainFuckソース生成プログラム

http://members.jcom.home.ne.jp/j-klein/src-box/2brainfuck.c標準入力から文字列を読み込んでBrainFuckのソースコードに変換します。当然、馬鹿みたいに++++++...とASCIIコードの数だけ繰り返すのではなく、出来る限り短くなるように最適化します(しよう…

またベンチマーク

ベンチマーク厨とでも呼んで下さい。参照:http://proglang-0.ten.thebbs.jp/1079174593/このスレッドでちょっと興味を持ったので、char配列の初期化について調べてみた。このスレッドに書いたこととも重複するけど、まとめの意味です。Cで文字列を初期化(…

用事の無い急な休みはいらない!

暇だよ、暇。急な休みだから空いてる友だちもいないし。とりあえず、Red Hat Linuxのbacklogについて実験してみた。backlogってのはBSDソケットでサーバ側がlisten呼ぶときの二つ目の引数のこと。 #include int listen(int s, int backlog); man listenからb…

 数式型カウンタ

はてなにPVモジュール(カウンタ)があることに今更気づいて、mimeTeXと組み合わせてかっこいい(ようなかっこ悪いような)カウンタにカスタマイズしようとしたけど、PVモジュールの仕様上出来ないみたい。やろうとしたのはこんなの。23408がカウンタの値で…

fork VS vfork VS pthread

なんとなくベンチマーク取ってみた。コードはどれも 子プロセス(別スレッド)を作成 親は子を待つ(waitpid/pthread_join) 子は何もせずにexit(pthread_exit)する。 これだけだけど、少しずつ違うパターンで測定してみた。1つはグローバル変数がまった…

C++によるCGIフレームワーク

C++の練習も兼ねてCGIのフレームワークを作ってみた。WebLaborJavaのServletとかを知っている人には馴染みやすい仕組みだと思う。このフレームワークを使えばCGIを作るときにmain関数を作る必要が無くて、指定されたクラスのサブクラスを作るだけで良いので…

C++のコンストラクタ

const string&を引数にとるコンストラクタがあるとき、、機械的にcosnt char *を引数にとるコンストラクタを作ると良い。例えば下のようなクラスがあるとき class Message { string msg; public: Message(const string& msg_) : msg(msg_) {} } 次のようにし…

桁数を求める(2)

昨日の日記(id:kt-blackout:20040815#p1)で桁数を求める関数のベンチマークの比較を取ってみた。結果としてtype_D(昨日の日記参照)がもっとも速かったわけだけど、同日のid:PaiNさんのコメントを見て気付いたことがある。それはベンチマークの取り方だ。…

たまに余計な事に興味を持つんですよ。

数字の桁数を調べる方法はどんなのが良いのだろう、と。とりあえず、誰でも思いつくであろう4種類を簡単に計測してみた。ソースは次の通り(include等は省略) #define COUNT_MAX 20000000 int type_A(int n) { int fig = 1; while ( (n /= 10) != 0) fig++;…

UMLモデリングツール

JUDE竹:http://objectclub.esm.co.jp/Jude/jude.html今までPatternWeaverっていうのを使っていたんだけど、MacOSX 10.3にアップデートしたときに消しちゃったから良い機会だと思って別のを探してみた。そこで見つけたのがJUDEっていうやつ。Javaだから大抵…

 久々の更新

生きてます(生存記録)

MacOSXでのsnprintf挙動への追記

参考:http://d.hatena.ne.jp/kt-blackout/20040622#p1上記の日記でMacOSXの[v]snprintfの最初の二つの引数にNULL, 0を与えると-1を返すと書いたが、これはMacOSX 10.2での話。最近MacOSX 10.3にしたのだが、こちらでは[v]snpritnfはメモリが足りなくても、…

最適化…、おそろしい。

なんとなく、いろいろと最適化に挑戦してみた。勉強の為なのでネットで最適化を調べたりするのではなく、glibcのソースコードと自作のコードのアセンブリを見ながら地力で最適化に挑戦した。あれこれ試していて、ふとRHLinux右下の時計に目をやると3時22分。…

ハッシュは"読み"間違えると遅いな

最適化に関してネットで調べてたら「ハッシュは本当に速いのか*1」という記事を見つけたから、自分の作ってるライブラリでも実験してみた。実験は100000件のユニークなキーを持つデータを全て追加して、全て削除するというもの。擬似コードで書くと for (int…