2006-03-01から1ヶ月間の記事一覧

ニセ科学の話

せっかくなのでhttp://www.gakushuin.ac.jp/~881791/events/JPSsympo0306.htmlを聞いてきました。内容はだいたいサイトとかと同じ感じだった気がします。基本的にはバカらしい内容であること、それでも流行してしまうのは本物の科学よりも「科学」らしく見え…

dwarf2fs.rb

RubyFS が微妙に好評だったみたいですが次は JavaFS とかじゃなくて Dwarf2FS です。デバッグ情報をファイルのように眺めよう。ゆくゆくは ptrace のインターフェースとか備えて DebuggerFS になるのです。例のごとくデモとか。実行ファイルからソースコード…

spaghetti.rb

イタリア帰りのスパゲッティコードをどうぞ。http://shinh.skr.jp/koneta/spaghetti.rb使用後:http://shinh.skr.jp/koneta/SDL_rwops_sp.c使用前:http://shinh.skr.jp/koneta/SDL_rwops.cイタリア行ったのだから SDL_spaghetti を作れとのありがたい命を受け…

RubyFS

今日の呑み会ネタ実装。 Ruby の世界をファイルに抽象化します。なんでもファイル。http://shinh.skr.jp/ttyplay/rubyfs.html i@u /mnt/tmp> cat Time/now Sun Mar 19 01:41:00 JST 2006i@u /mnt/tmp> cat Array/new > @a= i@u /mnt/tmp> echo '"foo"' '"bar…

.new 嫌い

http://d.hatena.ne.jp/m-hiyama/20060317/1142559097に共感を覚えつつ。 Ruby って Kernel#String とか定義してあるのね。 require 'complex' すると Kernel#Complex とかも組み込まれる、と。まぁ必要なクラスだけ定義するのが正解なんだろうけど、これっ…

a24z_struct

なんとなく a24z (http://d.hatena.ne.jp/w_o/20060202#p1) に struct をつけてみた。というかそんなことしてる暇はほげほげ。 VM とかそのへんのコードを見てみたかったんだけどパーザとコード生成ばっか見てた気がするというか op*_ARRAY で実装できてしま…

Dynamic Test Runner 0.0.3

http://shinh.skr.jp/binary/dtr.htmlまた地道にいじり始めようと思ったため、とりあえず現状わかっていたバグを取り除いたバージョンです。また、配布サイトを用意しました。久々にいじったのでまだヘンなところが残っているかもしれません。 sayさんに指摘…

llc.h

文字列とハッシュと正規表現とIOが欲しいという結論だったのでそのへんを書きました。方針は基本的にメモリを解放しないこと。 Ruby のメソッドをそのまま再生産するだけ。ザ・車輪。http://shinh.skr.jp/cgi-c/llc/例えば以下はタブ区切りのデータ読み出し…

調子悪いので現実逃避。

SDL gonzui

http://shinh.skr.jp/gonzui_sdl/gonzui.cgi/markupなんとなくソース参照する時とか便利かもと思って置いてみました。フッタに書いてある通り YARV で動いてます。#define SDL_BlitSurface SDL_UpperBlit とかは fundef にしてはくれんのかなとか。http://sh…

DMD-0.149

おおお。http://www.kmonos.net/wlog/59.php#_0030060309とりあえずポーションは飲みました。それはともかくやっと swap が書けるんですな。 > cat swap.d template swap(T) { void swap(inout T a, inout T b) { T t = a; a = b; b = t; } } int main() { i…

エスプガルーダII

やっとクリアした。アサギで残1石0バリア0。スコア完全放棄パターン。1億でクリアして1億8000万とか。稼ぐ気全く起きないのがどうもなぁ…2ボスの点数が時によって全然違うんですもの。タテハにでも行こうかと思います。私の思うアサギでとりあえずクリアだけ…

IoFE-2006-03-04

http://shinh.skr.jp/io/iofe/IoFE-2006-03-04.tgzいろいろ問題あるけどとりあえず… asNumber のあとなんかおかしい IoState_activeCoroCount が見つからなかったからとりあえず消した。

bbs.c

http://shinh.skr.jp/cgi-c/bbs.cC で CGI 書いた。 Wiki 書きたかったけどめんどいから掲示板になりました。毎回コンパイルされています。きっと脆弱性たっぷりですが攻撃しないで下さい。 変数はグローバル AddHandler cgi-script .c ./bbs.c 0.00s user 0…

素晴らしい。

http://d.hatena.ne.jp/w_o/20060305#p2 開きっぱなし 数字とか適当 スタックに巨大バッファ cat コマンド。 > ./tcci 'char b[50000];fread(b, 1, 50000, fopen("tcci.c","r")); puts(b);' #include <stdio.h> #include <stdlib.h> #include <string.h> #include "libtcc.h" int main(int</string.h></stdlib.h></stdio.h>…

スクリプト言語 C

woさんに感化されました。http://d.hatena.ne.jp/w_o/20060224#p4なんというかワンライナーを書けるってのは重要な要素なのですよ。http://shinh.skr.jp/dat_dir/tcci.c以下実行例。 > time curl -s www.yahoo.co.jp | ./tcci -n 'char* p; if (p=strstr(_, "<title></title>…

総評

gprof はめんどいけど正確。コンパイル時に仕込みが絶対必要。 google-perftools はなんか中途半端な気がしているんだ。まぁ非 Linux の外部プロファイラではある。 sysprof は手軽。外部から GUI でスタックトレース見れる。わかった気になれる。 oprofile …

OProfile

Linux 。色んなアーキテクチャに対応。但し CPU によっては性能を全部発揮できない。ノートPCだと残念な場合も。これも kernel モジュール & クライアントユーティリティ。というか sysprof よりかなり古い。(参考: sysprofアナウンスへのoprofileでいいじゃ…

sysprof

kernel-2.6.11 以降を CONFIG_PROFILING オプションつきでコンパイル。後は sysprof で gtk+ のインターフェイスが出てくるのでもうサルでもわかって超手軽。システム全体のプロファイルが取れる。この手のプロファイラ使ったこと無い人はスクリーンショット…

google-perftools

Linux & x86 限定。 LD_PRELOAD=/usr/local/lib/libprofiler.so CPUPROFILE=/tmp/profile.out ./a.out pprof ./a.out /tmp/profile.outとかで実行。 .ctors と .dtors で main の前後に割込み。 setitimer でタイマ仕込んでタイマのハンドラで PC 取ってきて…

gprof

使いかたは割と常識的チックな。 -pg つけて実行すると gmon.out ができるので gprof ./a.out とかするとなんか出る。 gprof -l -A -x とかでアノテートとか。原理は GCC が関数呼び出しにフックかけてて mcount が呼ばれている。 -finstrument-functions と…

いろいろなプロファイラ。

あんま日本語情報無いものも多いので適当に要点だけまとめて書いてみます。

IoFE-2006-02-14

http://shinh.skr.jp/io/iofe/IoFE-2006-02-14.tgzIo の補完とかできるコマンドラインインターフェイスですが、また動かなくなってたので修正しました。http://www.sigusr1.org/~kurahone/IoFE/オリジナルはこちら。

GCC-4.1.0

感想は Objective-C++ はものすごいなというくらいしかありません。

Joel on Software

流行ってたのでるびまの読者プレゼントに応募したら当たってしまったので読みました。面白い記事を読ませてもらってかつ本までくれるとはありがとうございますです。内容は面白かったです。まずマネージャというのはプログラマにとって実に奇妙な隣人なんだ…

とりあえず常駐してるような Ruby スクリプトを YARV で動かすようにしてみた。具体的には rdic と自作もの。

おおかみ見つけちゃうぞ @ YARV

未踏報告会かなんかに行く前に yarv-0.4.0 がうまくコンパイルできなくて、んでなんか yarv-r481 はコンパイルできたやたーと思ったのでなんか入れ替えてみました。http://shinh.skr.jp/expwolf/?q=http%3A%2F%2Fmshe.skr.jp%2Flog_591_3.htmlgcc-2.95.4 だ…

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h