2008-01-01から1年間の記事一覧

Rails 2.2.2: ActiveRecordの並列性 - 2.2.2の場合(失敗)

Rails 2.2.2でActiveRecordを並列に動かしてみる。 BarControllerは2.0.1の場合と同じ。 environment.rbにはconfig.threadsafe!を追加。 mongrelの出力 Expected C:/home/sugawara/work/foo/app/models/user.rb to define User Expected C:/home/sugawara/wo…

Rails 2.2.2のスレッドセーフ

Railsのスレッドまわりで苦労した身としては、Rails 2.2が謳っているスレッドセーフを検証してみないと…と思って、検証してみた。 rubygemsの1.3.1へのアップデートでいきなり躓いたけど*1、とりあえずアップデートは完了。BarControllerとZooControllerを作…

ギャー、日付間違えた!

てっきり今日が表彰式だと思ってた…orz 笹田耕一賞をいただいたんですねー、ありがとうございます。 でも、出席したかったなぁ。とほほ…

diff -y

diffコマンドに、ファイルを横に並べるオプションがあった。 ~/work$ diff -y a.c b.c #include #include int main() { int main() { printf("hello, world.\n"); printf("hello, world.\n"); > printf("hello, diff -y.\n"); return 0; return 0; } }知らな…

VPDS:羽なしルートクリア

ラスボスで3回ぐらい全滅しながら、なんとかクリア。 ベホマクラスの魔法をラスボスが使うなよ…何度、心が折れたことか。ヴァルキリープロファイル -咎を背負う者-出版社/メーカー: スクウェア・エニックス発売日: 2008/11/01メディア: Video Game購入: 7人…

Lux IO 移植中…

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/luxio/?root=svn コメントアウトしまくりでビルドだけ通った。 あとはmmapとかflockの中身を書かないと。

Lux IO msvc9移植版

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/luxio/?root=svn 動くは動いたけど、ロックまわりは怪しいかも。 //#include <luxio/btree.h> #include "btree.h" #include <iostream> //#define NUM_RECORDS 1000000 #define NUM_RECORDS 100 int main(void) { Lux::IO::Btree *b</iostream></luxio/btree.h>…

組み込みRuby: top-levelを取得する

http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-talk/30139?29887-31396 #include <ruby.h> #include <version.h> EXTERN VALUE ruby_top_self; int main() { int status; ruby_init(); ruby_init_loadpath(); rb_eval_string_protect("def my_func; puts 'hello'; </version.h></ruby.h>…

rb_obj_as_string / rb_string_value[_ptr]

rb_obj_as_string VALUE rb_obj_as_string(obj) VALUE obj; { VALUE str; if (TYPE(obj) == T_STRING) { return obj; } str = rb_funcall(obj, id_to_s, 0); if (TYPE(str) != T_STRING) return rb_any_to_s(obj); if (OBJ_TAINTED(obj)) OBJ_TAINT(str); re…

組み込みRuby: エラーを出力する

http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/44098?44041-44273 #include <ruby.h> #include <version.h> EXTERN VALUE ruby_top_self; int main() { int status; ruby_init(); ruby_init_loadpath(); rb_eval_string("def func; raise 'hoehoe'; end"); rb</version.h></ruby.h>…

Sequel: The Database Toolkit for Ruby

http://sequel.rubyforge.org/ モデル層のないWebアプリフレームワークと組み合わせるとよいかも。

OpenSSL: AEC-CBCの初期ベクトル

AEC-CBSの初期ベクトルのデフォルト値が気になったので、少し調べる。 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/ext/openssl/ossl_cipher.c?revision=12043&view=markup static VALUE ossl_cipher_init(int argc, VALUE *argv, VAL…

OpenSSL: AEC-CBCの初期ベクトル その2

pkcs5_keyivgenで適切にsaltを設定すればいいのかも。 試してみる。 require 'openssl' passwd = 'foobarzoo' source = 'じゅげむじゅげむ' def encrypt(plain, passwd, salt = nil) cipher = OpenSSL::Cipher::Cipher.new('AES-256-CBC') cipher.encrypt ci…

link:OpenSSLの暗号文をJava/Perl/Rubyで開く

http://alpha.mixi.co.jp/blog/?p=91 めも。

teeでパイプの途中を覗く

http://d.hatena.ne.jp/kazuhooku/20081016/1224162806 teeの出力先を標準エラー出力にしてパイプの途中を覗いてみる。 ~/work$ date | tee /dev/fd/2 | wc -c Tue Nov 4 18:20:21 JST 2008 29Cygwinでもできた。 で。 ~/work$ echo 'Hello World!' | openss…

link:printfとscanfでなぜフォーマットが違うのか

http://tak5219.seesaa.net/article/7110688.html

逆キャプテン効果

これを読んで逆の状況の人も多いんではないかなーと思ったり。

組み込みRuby

http://takahr.dhis.portside.net/cgi-bin/rwiki.cgi?cmd=view;name=%C1%C8%A4%DF%B9%FE%A4%DFRuby 思うところあって、組み込みRuby。 #include <ruby.h> #include <version.h> int main() { int status; ruby_init(); ruby_init_loadpath(); rb_eval_string_protect("puts 'hel</version.h></ruby.h>…

link:ファイルシステムでHello World

http://www.infoq.com/jp/articles/filesystem_helloworld_1 サンプルまで動かしてみた。 おもしろいなぁ。

link:Index of /article/cmagazine

http://shugo.net/article/cmagazine/ あとで読む

Linux: SEGVをハンドルする

#include <stdio.h> #include <string.h> #include <unistd.h> #include <signal.h> #include <errno.h> void trap(int no) { printf("signal: %d\n", no); exit(1); } int main() { struct sigaction sa; int *n; memset(&sa, 0, sizeof(struct sigaction)); sa.sa_handler = trap; if(sigaction(SIGSEGV, &s</errno.h></signal.h></unistd.h></string.h></stdio.h>…

SEGVをハンドルしようとした…

拡張ライブラリがこんな感じ。 #include <ruby.h> static VALUE segv(VALUE self) { int *n; *n = 5; return Qnil; } void Init_segv() { VALUE Segv = rb_define_module("Segv"); rb_define_module_function(Segv, "segv", segv, 0); } 何にもしないと、落ちる。 ~/</ruby.h>…

SEGVをハンドル

http://alohakun.blog7.fc2.com/blog-entry-583.html 自作のWebアプリがSEGVで mongrel ごと落ちたことがあって*1「怖いなー、拡張ライブラリを使うときは注意しないと」と思っていたけど、SEGVをハンドルするライブラリも世の中にはあるようで。 たぶん、ポ…

Ming/Rubyのパッチ

SWFActionでActionScriptにエラーがあると死にます。あとで投げる。 --- mingc.c.orig 2008-09-27 04:47:10.000000000 +0900 +++ mingc.c 2008-10-06 09:21:59.000000000 +0900 @@ -63,11 +63,21 @@ rb_Ming_use_SWF_version(self, version) void rb_Ming_ra…

divsufsort - Ruby bindings for libdivsufsort

http://divsufsort.rubyforge.org/ リリースしました。

libdivsufsort VC9 patch

libdivsufsortのVC9 patch…というかヘッダに手を加えただけ。 stdint.hは株式会社きじねこが公開しているモノを使った。 --- divsufsort.h.orig 2008-10-20 00:55:03.484375000 +0900 +++ divsufsort.h 2008-10-20 01:07:15.406250000 +0900 @@ -31,7 +31,15…

libdivsufsortのRubyバインディング

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/divsufsort/ruby/divsufsort.c?root=svn&view=markup http://divsufsort.rubyforge.org/ とりあえずbwt/unbwtだけ実装。 require 'divsufsort' include Divsufsort bwt = divbwt(<<-EOS) London bridge is…

ヒャッコ

ヒャッコ 4 (Flex Comix)作者: カトウハルアキ出版社/メーカー: ソフトバンククリエイティブ発売日: 2008/10/16メディア: コミック購入: 5人 クリック: 14回この商品を含むブログ (73件) を見るなんか異様に面白かった。 これはあれか。あずまんが大王とか、…

連続する文字列リテラル

#include <stdio.h> int main() { printf("hello" "&" "world\n"); // => 'hello&world' } gccではビルドできた。 どこかに仕様が書いてなかったかな…。</stdio.h>

Sketch Code: Creatures

PHP/ming Examplesより。