キモイ、マカーウザい、厨、言われるのは承知の上

最近ね、マック使うのやめて本格的にLinuxユーザになろうかと思ってたんだけど、Apple Expoの講演会を見て考えが変わった。俺Appleについていくよ。http://stream.apple.akadns.net/かなり長いmovieなので、片手間にみるのをお推めする(俺はプログラム書き…

バーチャルキーボード

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

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

今日一日(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…

進数表現変換機を発掘した

昔作って今でもちょっと愛用している進数表現変換機プログラムのソースを偶然見つけた。懐かしさを感じつつ、ちょっと修正して公開してみる。http://members.jcom.home.ne.jp/j-klein/src-box/dconv.cコンパイル&使用法はソースの先頭に書いたので、そちらを…

おもしろプログラマの卵

俺の知り合いが最近プログラミングを始めた。一通りCを理解したから、いろいろと小さなプログラムを作っているらしく、それらをちょっと見せてもらった。その中になぞのコードが… fd = open(...); if (fd == -1) fd++; ... な、なんだこれ?本人に聞いたとこ…

MacOSX 10.3 X11

実は上記OpenGLの動画を撮るのにはちょっと苦労した。Linux上で動画を撮る方法を調べたものの、見つかったのはx11rec*1のみ。ところがこいつはRuby製で、俺はRuby持ってない。今からRubyを入れてもあまり使わなそうなので、気合いでx11recをPerlに移植した。…

OpenGLで視点移動のサンプル作ってみた。

[4.8MB] http://members.jcom.home.ne.jp/j-klein/movies/opengl-movie.movかなり楽しい。これを作る労力はほとんど皆無なのに、出来上がりが”いかにも”って感じなのがよいね。 【追記】上記リンクを開くとなぜかNot Foundになることがあるが、リロードすれ…

なにか良いポインティングデバイスのアイディアは無いものか

タイトルの通り。今、PIC(といっても16F84(A)のみ)関連の知識をため込んでいるのだけど、まだまともな組み込みの成果物がない。LEDを点滅させるぐらいのものならばともかく、男ならセンサとかを使いたいじゃない。ミーハーな俺としてはスパイ映画みたい…

重箱の隅をつつくようで悪いのだが…

図書館でいろいろと本を物色していたら、OpenGL入門なる本を見つけたのでなんとなく借りてきた。俺はグラフィックの"G"の字も知らないのだけど、暇つぶしに「本の中のサンプル動かして遊ぼう」なんて考えたのだけど、甘かった。なんで、本の中の完成されたサ…

未知の世界 - 組み込みプログラミング

最近やねうらお氏(id:yaneurao)がFOMAをパソコンから操作するために、PICをつかった制御プログラムを作成したという話があった。それを毎日見ながら、「組み込みってもしかして面白いのか!?」なんて思い始めていたのだけど、今日我慢出来なくなって勉強し…

インタプリタを作った

また、遊びでインタプリタを作ってみた。文法はまるで英語の文章のような感じにしたかったんだけど、いまいち。なんとなくプログラムを公開してもいないのに、文法の解説してみる。階乗をを求めるコードは以下の通り。 #!/home/jklein/dev/sproject/talkc/ta…

COINS

[COINS] http://www.coins-project.org/これは凄いかも。まだ、詳しい仕様なんかは見てないけど、要は高級言語とアーキテクチャに依存しない中間言語の開発だ。解説とかを読んでてドキドキしてくる。詳しくはリンク先の『Coinsコンパイラの流れ』をじっと見…

ANSI C文法

・ftp://ftp..uu.net/usenet/net.sources/ansi.c.grammar.Z 1985年のANSI Cの文法チェッカ。単純に文法をチェックするために使うというよりも、Cの文法のBNFを見れるのがうれしい。しかも非常に見やすいし。・http://www.lysator.liu.se/c/ANSI-C-grammar-y.…

一応動くが、汚い。

一応出来たものの、設計もコードもすこぶる汚い。最適化もなし。それを弄りまくって超低機能数式コンパイラも作ってみた。それも汚い。でき上がるアセンブラもかなり冗長。例えばソースと、それから生成されるアセンブラは以下のようになる。文法は簡単だか…