Join the Blue Ribbon Online Free Speech Campaign
最新 追記
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|07|08|09|

ぽにぽにっと、漫画とボーカロイド曲の話ばっかりなネタ志日記


2006年12月01日(金)

[組み込みRuby] 続き

LoadLibrary であっさり読み込んで駆動でけた。mswin32 版を、ruby-mswin32 というディレクトリに解凍するのを前提として・・・。

    hmodule = LoadLibrary("ruby-mswin32\\bin\\msvcrt-ruby18.dll");
    if (hmodule != NULL)
    {
        init = (ruby_init_t)GetProcAddress(hmodule, "ruby_init");
        init_loadpath = (ruby_init_loadpath_t)GetProcAddress(hmodule, "ruby_init_loadpath");
        load_file = (rb_load_file_t)GetProcAddress(hmodule, "rb_load_file");
        run = (ruby_run_t)GetProcAddress(hmodule, "ruby_run");
    }
    init();
    init_loadpath();
    load_file("test.rb");
    run();

こんな感じ。require で、ruby-mswin32\\lib\\ 以下のモジュールとかもちゃんとアクセス出来ている。現状では Windows で Ruby を組み込む場合はこのやり方がベストじゃなかろうか。これならどのコンパイラでも問題無く動くし、無理して ruby.h を組み込むよりディレクトリ配置が自然で良い。多少お行儀が悪くても、現状のバイナリで確実に動く事を優先。

ただ、bash on cko 上ではちゃんと文字が表示されるのだが、cmd.exe 上では文字が表示されない・・・。stdout の扱いがおかしいんかな?ただ、cmd.exe 上で (今回組み込みに使った) ruby.exe を実行するとちゃんと文字も表示されてるので、何か初期化が足りないのか。

(補足) ああ、vim のソース見ると、stdout を自前で用意してるようやな。というかそもそも LoadLibrary で解決しようと思ったきっかけが vim。

何が出るかな♪何がでるかな♪それーはサイコロくじびきまかせよ♪(微妙にネタバレ混じり)

文化たんの新作、くじびき勇者さまニ番札が出てたので読んでみた。

第一章のっけから文化たんパワー炸裂。痴話喧嘩 ktkr。グリグリと捻りを効かせたメイベルたん萌え。んで、メイベルが必死でくじ引きを否定しつつも、ブルーノの盛大な勘違いを招いたり色々で、実はめちゃくちゃうまくいってたりして面白い。なんか北海道のミスターみたく不運っぷりを爆裂させるわけではないのねw。

理屈くささや知識と、頭でっかちに対する風刺がうまくバランスしてるのが良いね。嵩夜あや氏もこの領域までくればもっと滑らかに話が書けるのではなかろうか。

・・・でも、このメイベルの気象知識の暴走っぷりは、気象精霊記が書けない鬱憤を晴らしてやいませんか?

メイベルのドキムネっぷりに萌え。恥じらい乙女最強です。スカートをガードするような魔法使い良すぎます。第一巻だとダイエットの為に魔法使っとるしなぁ。

サイズのわりに可愛い手で頬をポリポリする長老ドラゴンさまも萌えです。


2006年12月02日(土)

ツンデレラというと当然おとボクなのですよ(12月もツンデレラRANKうpきゃんぺーん。しかしやっぱり、ツンデレじゃなくてツンデレラなんて単語を持ち出すのが果てしなく疑問。なんちゃら戦車みたいな電痛実験か?まぁそれは穿ちすぎと言っても、何らかの意図があるんかと疑ってしまう。

[組み込みRuby] rb_exc_raise 見飽きました

それはそうと組み込み Ruby おもしれー。でも rb_exc_raise は見飽きたので、なんとかもうちょっと細かいデバッグ情報をゲットする手段を考えないといかんのだが、自前でデバッグオプションを有効バージョンをビルドせにゃならんかねぇ・・・。なにかこう Binary2.0 的手段で解決できんものか・・・。


2006年12月06日(水)

うな天、一番萌えきゅいんなヒロインは連きゅんですか?というか、男キャラがいないのか。ほしまる氏のシナリオなのに、やたら喧嘩に強いにっこりショタがいないのかぁぁぁ。

振動と歯車の音

デモベサントラ聞いててふと今さらながらに気付いたが、メカっぽい音とか燃えのツボがあるなぁ。元々車とか(の外見)に全くもって興味のカケラも無い奴なんだけど、メカニカルな音とかエンジンの音は好きかもしれない。

先日二日酔いの時に車に乗った(非運転手)んだが、車に乗った途端調子が良くなったんよなぁ。フェリーの揺れとかも大好きだし、ジェットコースターとかも・・・。

人生一歩間違えてたら走り屋属性がついてたりした可能性はあったのかもしれない。

乙ボクさま9話

食堂の紫苑さんと瑞穂お姉さまの会話。なんか浮いてるというか、違和感を感じる。う〜ん、紫苑さまがちょっとなぁ。これじゃメインヒロインは無理なのも仕方ないものか。というか、キャラの扱い見てるとどうみても貴子さんルートです。もしくは一子ちゃんエンド?

ざわわーざわわー瑞穂きゅんええのう。

まりやさん、立ち居振る舞い教えたのはまりやさんではないような。完璧超人瑞穂お姉さまが、日舞からダンスまでありとあらゆるモノをきわめた副産物だったハズなのですよ。

一子ちゃん、正座でふよふよ浮くのはどうかと思いますのですよ。どこの尊○師さまですか!(かぐや消し

やっぱり貴子さん可愛らしすぎ。

あうあわああわあわああわああああわわあああ。瑞穂きゅんの幼少時の水着姿あまりにヤバすぎます。これはちょっと破壊力でかすぎます。きゅ〜〜〜〜〜〜〜。

ふむ。まりやさんのやさぐれぶりが少なくて物足りないかと思いきや二話構成か。幼少時瑞穂きゅん・ぶっ倒れる貴子さんとか、GJ。つか、瑞穂きゅんは卑怯すぎる。

むむむ、次週が二人のジュリエットなのかい。って事は、原作で一月(だっけ?)に起きたあのイベントが、劇の後にでも発生!?時系列的には、んなわけはないかとは思うがはてさて。


2006年12月08日(金)

伝説のけよりなキャベツを見た。う〜ん、やっぱり凄い。全般的に作画すげーってのもあるけど、あのうろ覚え選手権なキャベツは凄い。AAにもしやすそうなキャベツです。

[組み込みRuby] rb_rescue/rb_rescue2

rb_rescue/rb_rescue2って、C言語な関数を指定するんか。とりあえずエラー時にも安心にはなった。


2006年12月11日(月)

水曜どうでしょうのジャングルリベンジを見た。にょーいずみ氏の騙されっぷりと、騙した奴らも結局は自分らも一緒にいくやんっていうのが素晴らしい。一方的に騙すだけなら反感も買うけど、自分らが行ってしかも一番ヘバってたりするしw。そこらへんのさじ加減がよい。あと、ヒョウ可愛いよ、ヒョウ。


2006年12月12日(火)

乙ボクさま10話

ゆかりんって誰ですか!

微デレ貴子さん萌え。を〜。眼鏡暗躍w。

お祈りお姉さま、デラ美しす。

ふよふよおねむ一子ちゃんよろしすぎ。

微デレまりや萌え。

う〜ん、なんか例のシーンが無理があるというかなんというか。まぁ、仕方ないのかもしれないけど。

ふ〜む。まりや引っ張るなぁ。


2006年12月15日(金)

しかし、以前も思ったが、Ruby は文字コード関連がなんか弱いなぁ。

[組み込みRuby] 貧乏性

組み込み Ruby でついつい、コレを Ruby なコードで実現するとコストが重そうとか思ってしまう俺は、とことん貧乏性なんだよなぁ。文字列も直接書き換えたくなるし、配列も・・・。

まぁ 1.8.x はまだまだ続くようだし、組み込み Ruby だと特定バージョンだけ相手にすればいいので、特定バージョンに依存するような処理してもいいんじゃなかろうかとは思うのだけど、富豪的アプローチの方がいいのかねぇ。どうしてもコストが気になってしまう。

そもそも普通の C のコードでもコストが気になる事が多くて、なんかコストの高い処理をすると物凄い心の抵抗感を感じてしまう。

それはともかくとしても、C 側から Ruby オブジェクトを使うと結構冗長なコード増加が多くて悲しい。なんか組み込み Ruby と組み合わせて幸せになれるような拡張 C は無いものか。出来れば、C に対して拡張されてる部分のインプリメントはライブラリ・アプリ側で全て実装しコントロールできる奴。C++ はコンパイラがアレコレまじかりーな事をやらかすのが気に喰わん。

・・・Ruby と組み合わせるとなると型が動的になってしまうのか。コストが・・・とか考えてしまう貧乏性、身についた精神的なモノというのは中々厄介なものだ。

[組み込みRuby] RHGを一通り読み返してみた。

ふむ、RubyExtensionProgrammingGuideとかREADME.EXT.jaとか数少ない拡張・組み込み関連のページ類を見回って得た知識を多少補完できた。特にGC関連の補完が大きい。なるほど、malloc(ヒープ) の領域に VALUE を置く場合は RDATA の allocator 上で rb_gc_mark 実行が必須で、グローバル変数上に VALUE を置くときは rb_register_address する必要があると。rb_gc() を直接実行してみてそこらへんを実際に確認してみた。確かにそういう挙動をしている。レジスタやローカル変数上だと問題なし。ただし、最適化により変数が消えてしまう事があるので、そういう時は volatile 萌え。

それ以外の部分は大体ここ最近の実験でなんとなく把握はしていた。

うな天声

ほう、青山ゆかり先生ですか(18禁)。

真ヒロインの蓮きゅんはどした!内容が面白ければ、後で完全版とか出た時に買いますかという気にもなるけど(蓮きゅんフルボイス事前提)。まぁ、のちほど真打登場という事で紹介されるに違い有るまい。


2006年12月16日(土)

先日の貧乏性の話と繋がるんだが、オブジェクトを明示的に削除する方法は無いのか?GCが勝手に消してくれるからいいのかもしれないけど、どうにも精神的によろしくない。

[組み込みRuby] VALUE 型が long な件

組み込み Ruby の問題点。VALUE が long として typedef されてるので、int/long の数値を FIXNUM で VALUE に収納して扱う場合、VALUE を FIX2INT/NUM2INT あたりで int/long に戻す事を忘れてしまっても、それがエラーにならない。これはちょっとめんどっちい。

VALUE な変数は全て VALUE を示す prefix を付けて、通常変数とは区別するとかしないといかん・・・。

いっそ、ダミーの struct 型でも作って定義しておいてほしかったなぁ。VALUE の数値操作をしなければならない部分は (long) キャストか、#ifdef 分岐とかで long 定義するとかね。

・・・むむ、どうせ自前の ruby.h 互換ヘッダ使ってるんだし、そういう定義にしてみれば、その作戦がうまくいくかどうかわかるか。

typedef struct VALUE *VALUE;
struct VALUE { } ;

むを。これでいいんか。一部 SYMBOL_P とかみたいなのは (VALUE) というキャストを (long) に書き換える必要はあり。


2006年12月17日(日)

[組み込みRuby] コンテキストのある eval 生活

しつこく組み込み Ruby。eval に変数を渡す時ってどうすればいいんだろ?Ruby のスクリプト上で eval するとその eval を実行したスコープがそのまま使われるので、eval の外にあるローカル変数とかがそのまま受け継がれる。

む〜ん、C 側からはローカル変数を叩く事は出来なさそう(構文木上にしか存在していないって事かな)なので、グローバル変数でも使って渡すしか無いっぽいなぁ。インスタンス変数とかクラス変数ってのもなんか違うし。

とりあえず rb_eval_string("p self"); してみると "main" とか言われる。まぁ、eval する時はトップレベルのコンテキスト上で実行されてるわけか。Ruby スクリプト上で eval("p self") するのと同じやね。

これ、コンテキストを変える方法って無いのかなぁ。特定のインスタンスのコンテキスト上で eval 出来れば一番いいんだが。

ああ、rb_funcall(v, rb_intern("instance_eval"), 1, rb_str_new2("p self")); とかやれば、オブジェクト v のコンテキストで eval が実行される。おっけー。

また一つかしこくなった。というか、これでかなり面白く遊べそうだ。

追記: よく見れば、VALUE rb_obj_instance_eval(int argc, VALUE *args, VALUE self) なんていうそのものズバリな奴があるじゃあーりませんか。VALUE args[] ={rb_str_new2("p self")};rb_obj_instance_eval(sizeof(args)/sizeof(VALUE), args, v); という雰囲気のコードで ok なんか・・・。(まだ見つけただけで試してないが、多分そんな所のハズ)


2006年12月18日(月)

Ruby とスレッドの微妙な関係

あまり Windows で並列で DNS を lookup するといかんようやねぇ。Ruby でマルチスレッドで、ウェブからアレコレ引っ張ってくるツール(組み込み Ruby とは別件) を書いてみたが、30 並列位で NIC が死ぬ。どうも色々試すかぎりでは DNS を引っ張ろうとして死んでるっぽい。C で書いたコードなら、lookup 用のスレッド回して・・・ とか考えるんだろうけど、Ruby で net/http 使ってる以上は純粋にスレッド数を制限するしか無いな。(追記: CPU 負荷が最大なのを修正したら 50 並列位でも死んでないっぽい。)(さらに追記: 同一サーバーに対しては1リクエストしかしないよーにしとります。)

f = true
begin
  m.synchronize {
    if num < max
      f = false
      num += 1
[A]
    end
  }
  sleep 15 if f
end while f

とかいう感じのコードを書いたのだけど、最初間違って sleep を [A] の位置に書いてしまったり。Mutex を synchronize したまま寝てはいけません。

それはそうと Ruby ってネイティブスレッドとの相性が悪いようなのが悩ましい。最近作ってる奴、内部構造を Ruby オブジェクトで管理するというシロモノなので、実質ネイティブスレッドが使えないって事なんよなぁ。これは正直痛い。


2006年12月19日(火)

乙ボクさま11話

あわてぶり貴子さん萌え。

生徒達の前でエルダー二人組みが踊ったりはしないのねん。やっぱり紫苑さまが空気と化している・・・。

なんだか凄く新解釈を見た気分。まりやルートならばこういう組み替えはアリやなぁと思う。そういう点ではキャラメルBOXの共通ルートが長いという弱点がうまく克服できていると言えなくもない。この点では評価できる。

・・・「誰も男と思わないから」「そう?それならいいんだけど」をい。

何故、あの距離であの体勢でケリ出すねんw。

を〜。やっぱり例のイベント発生。でも、なんかこの手の作品でありがちな展開になりそうな気配がしている・・・。

現状での評価としては、かなり薄っぺらい作品になってしまってるなというのが大きい。この低予算ぶりじゃ仕方ないと言えば仕方ないのだけど、来週の頭でどういう展開に出るか次第かなぁ。俺的に糞判定を下すかの最終ライン。


2006年12月20日(水)

くじびき勇者さま重版決定おめでとうございます。くじびきニ巻で本格的にエンジンが始動して凄く面白くなってきたし嬉しいニュースです。気象精霊記が編集部の不手際によるトラブルで止まってしまったので、ファンとしては HJ 文庫のくじびき勇者さまシリーズを応援しながら気象精霊記が帰ってくる日を待つ次第です。

・・・どりまい。俺様のどりまいを〜。気象精霊記、新装刊かレーベル移動かはわかりませんが、その際には是非ともどりまいもおながいします。個人的には眠りネタというのがツボ。

しかし、HJ 文庫ってマイナーよなぁ。


2006年12月21日(木)

ツンデレ猫

検索ワードを見ていてふと、(途中かなり色々ステップを経て)気付いた。元祖ツンデレ猫耳娘と思いこんでいたが、ゲゲゲの鬼太郎の猫娘って、猫耳ちゃうやん。記憶の中でかなり美化されてました。

・・・来年映画化は聞いた覚えがあったような気がしなくもないかもしれないのだが、アニメ化もするんか。

そういえば、昔MtGをやっていた頃に、緑色のコモンカードを見て、鳥乙女〜モエスとか言ってたなぁ。ってそれは作品が違う。


2006年12月22日(金)

SD 蓮きゅんが無い事に糸色望した。

キャラメルBOX最新作『うつりぎ七恋天気あめ』2007年2月23日発売予定!

2006年12月26日(火)

乙ボクさま第12話

終わり良ければよし。

心配したような(全てをぶち壊しにする)終り方では無かったのでよかった。

を〜。一応、ラーメン屋デートしてるし、ゆかり温泉も行ってるな。

乙女はお姉さまに恋してるアニメ版感想

正直最後の展開に不安になってしまうくらい11話まで微妙だったけど、最後がベターな終り方をしていたので、総合的に見れば悪くなかった。最近のアニメ(特にエロゲ原作)にしては悪くないというかなんというかw。

ただ、低予算・少ない話数というのがモロに出ていて、キャラが動かないし、瑞穂ちゃんがエルダーに推薦されてどうして全校生徒に受け入れられたのかの描写が足りなすぎるし、瑞穂ちゃんの脳内がどういう過程でお姉さま色に染め上げられていくのかの描写も足りないし、皆の絆がどうやって強まっていくかの描写も少なすぎた。どちらかと言うと萌え寄りの描写とヨダ絵でごまかしてる部分が強かった。乙女の園の持つ空気感が出ていなかった(序盤とか妙に駆け足で本来あったゆったりスローな空気が消えてて・・・)。というか、瑞穂ちゃんアニメ版だとエルダーらしさが足りない。

萌えという点では、原作のような貴子さんの強烈なツンデレデレデレデレが欲しかったけど、時期的に(歴史にも残りそうな位のあのデレ爆裂になったのは原作では1月以降なので)仕方ない。

京アニ版希望。予算ちゃんとかけてしっかり作れば、出来る子なのですよ☆。

個人的に悲しいのは紫苑お姉さまが完全に空気にしかなってなかった所だ。原作だとメインヒロインなのに!ら行舌巻いてるのに!凛々しくてかっこよくて可愛くて素敵なのに!話が泣けるのに!まぁしゃーないのかもしれないけど、それならそれで、アニメホームページの絵、貴子さんをメインに持ってくればいいのに・・・。この点はちょっと謎すぎる。

一部アニメ版での新解釈は面白かったな。

まぁそういうわけで難点は多かったけど、やっぱりおとボクはいい作品なのですよ〜☆。

乙ボク声優の感想

瑞穂ちゃん、まりや、ゆかりん、貴子さんは当たりかな。貴子さん、最初はちょっとキンキン声なのが気になったけど慣れた。瑞穂ちゃんは第一話が神。

一子ちゃんは声優の問題というより、話の展開上ほとんどマシンガントークかましてないのが問題・・・。申し訳程度にしかマシンガンぶっぱなさないじゃないかぁぁぁ。

圭さんと美智子さんは普通かなぁ。圭さんは、アリスマの理多先生が偉大すぎた。あれはちょっと偉大すぎた。

紫苑さまは、配役の通り、なんか空気的な声というか。

ゲーム版

おとボクという作品がいいかもと思いつつも、ゲーム版をまだプレイしてない人には是非ともゲーム版をプレイしてみてほしい。

大元はエロゲなのだが、一応PS2版もあるので、エロゲに抵抗ある人・18歳未満な人はそっちをやるのもいいかもしれない。ただ瑞穂ちゃんの声が一部だけしか当てられてないのが悲しい所。PC の DVD 版だと瑞穂ちゃんもちゃんとフルボイスなので、エロに抵抗がなければ PC の DVD 版がベスト。

ちなみにキャラ攻略は、話の都合上、絶対に紫苑さまは最後に残すべし。

マブラヴオルタ

実はプレイしたのは春ごろ。君の望む永遠の直後にプレイしたんだけど、なんかこう果てしなく色々な意味においてお腹一杯になったので、日記に書けなかったんよねぇ。まぁ年末だし、今年やり残した事をやるのも良いかと思って、今さらながらメモやログを元に書いてみたり。

何がお腹一杯になるってとにかく長い。総時間30時間コース。こんなの、そうそうやってられません。ゆえに事実上ルートは単一。それ以外やってられん。しかも、これまとまった時間で一気にやるべきゲームなので、その点で凄く人を選ぶ。

ネタバレになるのでここには深くは書かないが、最初の出撃遠征から帰ってきてから強烈な鬱展開があるので、鬱表現に慣れてない人や、心の強くない人はプレイ絶対厳禁。つか、PTSD 注意。ただし、演出上凄く妥当だしそこに描かれた話は良かったのよねぇ。まぁ、鬱展開入ったらもう一気にプレイすべし。作品に入り込んで一気にプレイできれば勝ち。中途半端に引きずりながらダラダラプレイすると厳しい。あと、グロはどうしてもダメっていう人はパッチ推奨。

オルタをやったキッカケはコミックス版の unlimited。第一巻は正直あまりおもしろく無かったんだけど、二巻で主人公がロボの操縦適正が高いと判明したあたりで、無茶苦茶やりたくなったんよなぁ。で、マブラヴ本編未プレイの状態でいきなりオルタ。まぁ、アンリミコミックで登場人物がなんとなく掴めてたので問題が無い・・・と思いきや一つ致命的な問題が。スミカが出てこねーんだなw。おかげで、オルタプレイ初めてからこの脇役のアホ毛娘さんは誰ですか?状態で、回想シーンから補完する始末(伏線以外はそこそこ回想で補完できたんでいいんだけど)。この点だけはちょっとミスったかなとは思ったり思わなかったり。

オルタをやり終わった後、大分経ってマブラヴ本編(EX)・アンリミも(EXのスミカとULのミコトルートのみ)一周してみたけどEX編はいらんなw。あれは単なる作品に入り込む為の序章だわ。というか、作った人らも、アンリミとオルタを書きたいが為に作ったんじゃないのだろうかと思ってしまったり。

とにかくアンリミ・オルタは熱い。エロゲの分際で JAM Project に曲書かせるのは伊達じゃないね。コナミのMGSの人らにでもゲーム化してもらいたい感じ。もしくはシミュレーションかな。

そんなわけで俺の評価としては限りなく名作に近い力作って所かな。作品としては凄くいいし、尋常ではない作業量・作り込みは脱帽。でも、ツメが甘いというか。勿体ない。

オルタ感想(ネタバレあり)

正直色々な意味でクドすぎるのをもう少しあっさりにして欲しかったかなぁ。

とにかくあの長さはどうか。2/3位に抑えるべきだったんじゃなかろうか。

しかしこの作品を語る時どうしても出てくるのがグロやなぁ。演出上必要なモノだとは認められるんだけど、あれがかなり衝撃ではあった。さらにその後怒濤の如くの鬱展開なので余計厳しい。ただ、物凄く主人公にシンクロ出来たのであれはあれでアリだとは思うのだけどねぇ。

主人公が君のぞほどじゃないけど、ウジウジ君なのが凄くウザい。鬱展開の時にウザモード入るのは、話の都合上妥当だし、あれは全く問題無し。でも、色々決意した後、それも土壇場とかでウジウジモード入り始めるのは勘弁してほしい。そういう意味でもクドいなと感じたねぇ。お前、もうその段階は既に通りすぎただろみたいな。ただ、それ以外は結構強くてカッコイイ主人公なんだけどねぇ。

まぁでも、話は凄く燃えたので良かったんだけどねぇ。序盤のスーパーエリートぶりも面白かったし。

しかし、色々書きたい事はあるはずなのだがこれ以上は無理w。消化しきれてない部分はあると思うし、再プレイすべきなんだけど、ちょっとやそっとじゃやる気がおきん。凄く勿体ない。


2006年12月27日(水)

そいや、虚淵版Fate/Zeroは予約開始してるのね。1/13か。バナー広告に出てるPS2版Fateも気にはなるがどうなんだろ。Fateはもっかいやり直してじっくり読み返したい所なんだよなぁ。

あ、そいや、まだカルネヴァーレの体験版プレイしてない・・・。

ハッタリ成分

本棚をアレコレいじってて、古橋版デモベの軍神強襲を読み返しながら持ったが、アリスマの嵩夜あや氏に足りなかったモノはハッタリ成分じゃなかろうか説。

軍神強襲凄いですよ?「鋭い両手の爪が空間に突きたてられる」「虚空を踏み締めながら」とか、凄いのになると「互いの次なる一撃が衝突したとき、宇宙がそのエネルギーに耐えきれず、崩壊した」とか、「彼らが飛ばされたのは死の宇宙だった。」(中略)「だが、彼らは存在することなく、行動によることなく、通常の宇宙に存在する者には想像することすらつかない手段で闘争を続行した」・・・。なんというか、そこまで言われたらぐぅの音も出ません。

デモベ本編とかでも「絶望すらも枯れ果てる」とか。

こういうのは言い切った方が勝ちなんです。定義しちゃえばいいのです。

あおい先生マジでごめんなさい

あおいひとみ先生って、岩居由○希子 (名探偵な子供向けサスペンスアニメに出てくる、かなりの頻度で殺人事件に遭遇するという、将来がとても心配な歩美ちゃん役とかが有名な) 先生のエイリアスでしたか。今初めて気付きました。確かに言われるとそうだわ。うん。今、まりや・ラビの声と歩美の声が凄くリンクしました。

修行足りないなぁ。というかほらダメ絶対音感なんて持ってないんですよ。

そいや、数ヶ月前にダメ絶対音感で敗北を感じたのが、アリスマチックの小夜音。マブラヴのアホ毛娘さんと同一だというのが高度すぎる。あのアホ毛さんのアホな台詞群と小夜音姫の台詞がリンクできん。

[組み込みRuby] gc されちゃった

最近いじってる奴を少しコンパイル方法を変えてコンパイルして動かしてみると一定の場所で落ちる。backtrace を見るとメソッド呼び出しの途中の st_lookup で落ちてるらしい。

何故こうなったかは、メソッドを呼び出す VALUE が gc で回収された後の残骸だったからという事らしい。rb_type(v) するとなぜか T_NONE になっていた事と、原因究明の為に rb_gc() を入れてみたら、落ちるタイミングが変って rb_gc() の直後に落ちた事で判明。

原因としては、自前のハッシュで VALUE を管理してて、mark し忘れてたという事なのだが、なぜか元のコンパイル方法の時は落ちなかったんだよねぇ。何か偶然が作用したのかはわからないが・・・。

まー、ガーベージコレクションには要注意という事で。heap 上で保持する時は、必ず mark しましょう。

よくよく思い出してみれば、最初の頃に GC と mark の実験をした時に落ちたのは st_lookup だったんだよなぁ。何故かその事を思い出せなかった。不覚。

[組み込みRuby] 速度

なんか描画がちらついて速度おせーのか、やっぱり Ruby を組み込んで内部処理をかなりの部分 Ruby のプリミティブなオブジェクトで管理するのは無理があるのかな、なんて考えはじめたのだけど、実際にはそういう事も無かった。

まずプロファイルしてみる。デバッグ用関数が少し重い程度。外す事は出来るので、実際の所負荷がかかってるという程でも無い。

次に QueryPerformanceCounter() でクロック数を取得。描画処理で要した時間は 6000 クロック程度。全くもって負荷になっていない。(キーイベント発生から描画まで色々込みでも +1500 クロック。キー入力に対応して登録してあるメソッドを呼び出す機構を実装しているが。ここらへんでちょっと無駄があった。まぁ問題という程では無いが、組み込み Ruby 的に高速化の余地あり)

描画色を背景黒・前面白に変えてみると、描画のちらつき方が、点滅っぽい特徴的な雰囲気。WM_PAINT を見ると無駄な FillRect があった。

まぁ組み込み Ruby 意外に重くないって事で。


2006年12月28日(木)

int $a;

もしかして、C言語でこんなん書けるのって凄く今さらなの?gcc と vc で確認。ちょっとショックを受けすぎて軽く動揺。どよどよ。

[組み込みRuby] 取り扱いには厳重に注意なのです

heap はとにかく注意しなければ、GC の餌食にされてしまう。

hoge_t *hoge;
hoge = (hoge_t *)malloc(sizeof(hoge_t));
hoge->a = rb_ary_new();
hoge->b = rb_ary_new();

みたいなコードを書いてしまうと、hoge->b の rb_ary_new() の段階で GC が発生する可能性がある。これの直後に rb_gc_mark() 対策をしていたとしても、このまさに hoge を初期化してる時にも容赦なく GC されてしまう。

対策としては、hoge_t hoge; としておき、rb_gc_mark 対策が完了するまで heap 上には置かない事。もしくは rb_gc_disable(); とか。

全てを VALUE で管理して、自前で heap なんぞ使わないとかいうのが一番安全なのだろうけどねぇ。

しかしこの問題、バグとして発露するかどうかは運しだいという不安定バグなのが辛い。保守的な GC なので、GC がチェックする領域にたまたまビットパターン的に怪しいのがあれば、GC されずにすんでしまう事がある。厄介だ。そしてこの現象は当然の事ながら、使用する VALUE の数が少ないと確率的に発生しにくい。大量に VALUE を使いだすと発露しやすくなる。

[組み込みRuby] 1.9 対策

ためしに 1.9 を組み込んでみると、ものの見事に落ちまくる。それもかなり意味不明な落ち方。

ruby.h を見ると、struct RString 型がかなり変っている。小さなバッファを持って、フラグによってはそのバッファを利用するらしい。それが原因で、文字列を参照する時におかしな部分をみてバグっているわけだ。そりゃ動きません。

しかし、これ拡張 Ruby を書いてる人でもハマるんじゃないか?RSTRING(v)->ptr や ->len を使ったらいかんって事よねぇ。それとも素直に ruby.h 使ってりゃ、問題にはならんかったんかな? ぱっと見た限りではダメな気がするんだが。

ただ、RSTRING_PTR とかはいいアイデアだと思う。というか、そもそも RSTRING で ->ptr とか ->len で参照するのを許してたのが根本的な間違いのような気が・・・。というわけで、自前のヘッダーの方では、RSTRING の定義を消して、RSTRING_LEN, RSTRING_PTR のみに変えてみた。

まぁ、ヘッダーを書き換えると 1.9 もきっちり動いたので良し。とりあえず条件コンパイルでそれぞれ 1.8/1.9 がいけるようになった。


2006年12月30日(土)

ものすんごくアホなネタを思いついた。4/1までに実装出来ればいいんだけど・・・。結構無駄に高度な事をしそうなのがなんとも。

む、ロボ根、競技がちょいと微妙やなぁ。妨害要素が無いと競技としてはダメになるねぇ。色々あって面白かったのではあるが。

魔砲少女リリカルなのはStrickerSは、2007年春か。


2006年12月31日(日)

俺の場合、体調悪化には気候及び眠気が密接にリンクしている。それを踏まえて来年は頑張ろう。最初の決戦は6月だ。来年こそは絶対負けないぞ。しかしチベットの山奥位にしか気候の安定している世界は無いものなのか。とは言っても、抗アレルギー剤があれば気圧が悪化しても、吐き気程度でなんとか耐えられる事はわかってきた。

問題は「眠気」「睡眠」。これらは俺にとっては究極のテーマだわ。全てそれが根底に関っている。特に思考の袋小路に陥ると危険度が増す。ここらへんは運用面でなんとか頑張るしか無い。

う〜ん、そんなわけでどりまいが打ち切りっぽいのは凄く悲しい。

果てしなく盛り上がらないK-1

K-1に飽きてきたので、正月の為のあおぞらマジカをやりながら。というか、そろそろカルボナーラ体験版しようぜ > 俺。しかし、横スクロールシューティングでお付きの小動物は、ぶっとばされる宿命にあるのですなぁ。

フィギュア見た方がよっぽど良かった・・・。まぁいいや。

あー。井上とか清原はいらんなぁ。

ちゅーか、CM 含めて 最近の TBS スポーツ番組系特有の臭さが色々鼻に付く。なんかもう悪い要素を固めた感じ。見てる人間が言うのもなんだけど、こりゃ視聴率かなり悪いんじゃなかろうか。

でも、すどー戦ちょっと面白かった。ああいう奇麗な動きはいいなぁ。

大晦日男、所すげーよ。色々魅所あったんだけど、惜しいなぁ。出来れば KO で勝ってほしかったなぁ。

ああ、なんか大人の事情ってやだなぁ。

秋山としては意味があるけど、う〜ん、なんか、おもしろくな〜い。

ああ、やっぱりフィギュア見とけば良かったかぁ。