某日記

(中期)

平成17年12月12日(月曜日)

週末

ドトールでマターリ三昧三姉妹。

X-RATED 2.0。

ツンデレ。そうか、「べ、別にあんたなんか〜なんだからね!!」 の直接の元ネタはこれか。なにこの取ってつけたようなエロシーン。 というか初回で*かよ。

委員長。なんかオチに既視感があるのだけれど気のせいかもしれぬ。

タマゴサンド。一歩間違えるとさらにドツボにはまりそうなオチだな。

るーるる。るーるる。

タマ姉。ガクガクブルブル。

副長ちゃんの途中。局長のほうが目立ってるよな。

それにつけても、1.0 の新しさはやっぱり偉大だよなぁ。 2.0 に新しさが感じられるとすればそれは、 単に 1.0 に今でも色あせてない新しさがあるというだけのことだし、 2.0 に古さが感じられるとすればそれは、 単に 1.0 からそれ相応の時間が経ったというだけのことだな、多分。

今日

あー、ご愁傷さま。

こういう場合、取るべき方法としては三つ考えられる:

  1. 製品の回収
  2. 製品版 exe の放棄のお願いと、GPL フリーに作りなおした exe の配布
  3. ソースの公開
1 や 2 を「けしからん」と言う人もあるかもしれないし、 法的にはグレーなのだが、 exe がサードパーティ製のライブラリをリンクしてたりすると、 この方法(ないしはその変形)しか解決法がない場合もある。 まあ、エロゲの場合は虎の子のデータがあってナンボなので、 3 でもあまりさしつかえがないとは言える。

ライセンスには注意しよう。

話は変わって、Exif 爆弾。 某所で、 Exif (と、その元になった TIFF)のデータ構造には潜在的脆弱性があって、 できの悪いプログラムをハングさせるようなデータを簡単に作れるらしい。

平成17年12月13日(火曜日)

昨日

2.0。

そーいえば日曜日に幽霊をクリアしてたの忘れてた。 このオチも既視感があるけど、まあ単にありがちなだけだろう。

生徒会長つづき。ここまでで一番やりごたえがあるシナリオではあるけれど、 しかし 2.0 のヌルい世界からはちょっと浮いてるかもしれんな。ぷしゃあああ。 それはそれとして、まーりゃん先輩を攻略させろ!

ちびっ子。このみは本当にかわいいなぁ。それはともかく、 少し手間取るかもしれないと踏んでいたのに、 なんかあっさり攻略できてつまらんな。 エロシーンの入るセクション(このみ家の前にたどり着いたところから後)だけ、 声の調子や録音のコンディションが違ってるのは仕様ですかね。 1.0 におけるもっとも偉大なエロフィーチャーを継いだのは矢張りこいつだったか。

これで全員かな、と思ったら回想が全部埋まってないので、 また最初からやってみたら双子の片割れ登場。ここで今日は終わり。

委員長お手をどうぞ(2) / 山名 沢湖」を読んで寝た。

WinSock

getprotobyname() が動かない - WSAStartup() を忘れた時の典型的な症状のような気も。

ぐるぐる

特許利用し、競争制限 マンホールふた独禁法容疑 - おもろい。 「特許権は本来独占的なもので、独占禁止法の適用除外」 というのは一理はあるけど本質的なところで本末転倒であって、 仮にその理屈が正しいとしても、 実際にそのせいで弊害が発生しているのならばそれは制度上の不備なので、 いずれにしても是正が必要ということになる。

まー、 この件に関してまず必要なのは、 公取委と日の出の間での論点の噛み合わせではないんかな。 独占特許というのは「ある特定の製法の独占」が許されているということであって、 「独占製法を使って不当に市場の独占を図る行為」までは許されてないし、 公取委が問題視しているのは後者であって前者ではない。 そこで両者の間の「独占」の意味がズレてる。 もっとも今回の場合、はたして日之出の行為が不当かというと難しいところだが。

テンプレートメンバ関数のスペシャライズ

ふと思いついたのでメモ。

こんなクラスはわりとありがちだと思う:

class Hoge
{
	...
public:
	void set(int v) { ... }
	void set(double v) { ... }
};
いろんな型に対して set() メソッドが定義されてるパターン。 こういうふうなオーバーロードである程度の要求は満たせるのだけれども、 この手のメソッドってのは後から新しい型に対するものを追加したくなることも多く、 これだとそういう場合にクラス定義に手を入れなければならないので、 いまひとつ柔軟性が高くない。

こういう場合にテンプレートメンバ関数を使う手がある:


これならば、新しい型に対する set() をいくらでも増やせる。 でも、これには欠点があって、ある型に対する set() メソッドが定義されていようがされていまいがおかまいなしに、 任意の型に対する set() メソッドを呼ぶことができてしまう。 そして、コンパイラはそれを検出することができずに 最終的にはリンカが文句を言うのだけれども、 誰が悪いのか探すのにちょっと骨が折れる。 

そこで、こんな書き方は面白いのではないかな:


こうしておいて、たとえば Hoge().set("hoge"); と書くと、 gcc なら 
a.cc: In member function `void Hoge::set(T_) [with T_ = const char*]':
a.cc:18:   instantiated from here
a.cc:3: error: `static void 
   StaticAssertion::UndefinedTemplateFunctionIsCalled()' is private
a.cc:11: error: within this context
というようなエラーを吐いてくれるので、 この場合なら a.cc の 18 行めに問題の関数呼び出しがあることがわかる。

いずれにしても、 こういうテンプレートの使い方は隠蔽化のメリットを損なう可能性もあるので、 良いか悪いかは場合によりけり。

平成17年12月14日(水曜日)

昨日

おねツイ→雅史。引っかけ選択肢に引っかかった。

どこがひっかけかはだいたい見当が付いてたので、双恋やりなおし。 うは、ふっきれたイルファたんコワスwwwwwwwwwwwwwwwwww。 愚かな人間共を性の奴隷にするの図。エロシーンが面白かった唯一のシナリオ。

というわけで全部クリア。CG はタマ姉のあたりに 6 枚ほど取りこぼしがある。

まあ全体としては、それなりによくできた TH1 のパロディの域を出てないと思う。 これをたとえば 2000 年くらいに出してれば評価できただろうけど。

ぐるぐる

ムービー 。 独自形式にすると、今度は特許が炸裂することもあるのでちうい。 GPL 違反よりは発覚しにくいけど。 デカくなるのを気にせず jpeg 紙芝居にするのが安易だけど有効というのはそのとおり。

なかよしラブリー:

表紙を開くといきなりコレというのはいかがなものか:

今回は水無月センセイお休みで残念。 山田センセイ、さくやセンセイ、ゆみみセンセイは載ってる。 みかんセンセイとかねこセンセイみたいなベテラン勢が安定しとるな。 山名センセイは久々のファンシー。 というか講談社はそろそろ山名センセイのコミックを出すべきだ。

そしてやっぱり見開きで剥かれるユイリたん萌え:

しかし、次回予告に不穏な動きが:

春から「ラブリー」はドカンと超リニューアル
...中略...
「なかよし」本誌の大人気作品がぞくぞく登場!
タノムカラヤメテクダサイ……

ちゅちゅ創刊号:

……全くもって読むところがないな。まあ来月からはパスだな。

今回のアニコンからワンカット:

実にやぶうちセンセイらしいコマと言えよう。 今回の命名規則は、名前が暦で姓は北海道の地名かねぇ。

しかし、「コミック誌での連載は今世紀初」って、 GO GO ICHIGO を忘れてますぜ、やぶうちセンセイ。

平成17年12月15日(木曜日)

昨日

TH2X。CG モードのサムネイル見てて閃いたので、 春休み前からやり直して全 CG 回収。簡単だけど遠いので時間はかかるのう。 タマ姉シナリオのクリアの可否はタマ姉登場前の行動に依存してるので、 読み込むセーブデータ間違えてちとハマった。

テンプレートの疑問

gcc 3.3 で


をコンパイルして実行すると、標準出力に XXX が出力されるのですが、 これはコンパイラのバグなのか、それとも ISO C++ の仕様なのか、誰か教えて。 

何が起こってるのかを確かめるためには、 次のようなソースをコンパイルしてみるといい:


すると、 
a.cc: In function `void foo(const T&) [with T = char[1]]':
a.cc:7:   instantiated from here
a.cc:1: error: request for member `hoge' in `t', which is of non-aggregate type 
   `const char[1]'
となる。よーするに、gcc は void foo(const char *&) に対する呼び出しとしてこれを処理している。じゃあ、ということで、
template <typename T> void foo(const T &t) { t.hoge(); }
template <> void foo(const char *&) { }
としてみると、
a.cc:2: error: template-id `foo<>' for `void foo(const char*&)' does not match 
   any template declaration
a.cc:2: error: syntax error before `{' token
とか言われる。なんて理不尽な。

ちなみに、これの回避方法は

template <typename T> void foo(const T &);
template <typename T> void foo(T *);
template <> void foo(const char *);
template <> void foo(char *str) { foo<const char>(str); } // 任意
です。これを単純に
template <typename T> void foo(T);
template <> void foo(const char *);
とすると、確かにこのケースは解決できるのだけれども、 あえて const T & にしてることにはちゃんと意味があって、つまり

という風に困る。 

どうも実際には void foo(const char *&) ではなくて、 void foo(const char (&)[1]); を呼び出している模様(つーかエラーメッセージにそう書いてあるね - こんなけったいなプロトタイプが思いつかなかったよ)。 その証拠に、


は通る。const はどこに消えた(まあ配列ってのはもともと const だけれども)。 今ひとつ釈然としない。 関数テンプレートのパーシャルスペシャライゼーションができれば、 
template <int n> void foo<const char [n]>(const char (&) [n]) { }
と書けるけど少なくとも gcc 3.3 はできない。 もっともこの場合、別にパーシャルスペシャライゼーションする必要はなくて、 別のテンプレート関数
template <int n> void foo(const char (&) [n]) { }
でオーバーロードすればいいんだけれども、 こないだのメンバ関数みたいなテンプレートの使い方をしたい時にちょっと困る。

いずれにしても、テンプレートは奥が深すぎる。

平成17年12月16日(金曜日)

昨日

ぼーっとして過ごした。

今日

荷造りひもで耐震補強 - ぜひ姉歯さんにも教えてあげてください。 僕はテレビのニュースで姉歯さんをみるたびに、 姉歯さん自身の耐震強度が心配になります。姉歯さんだけではなくて、 小倉智昭さんやキダ・タローさんなどの斯界の有名人にも教えてあげてください。

JR社長が寝台特急「出雲」の廃止、代替策示す - 採算性だけならともかく、 客車の老朽化という事情もあるからしょうがないかもなぁ。 寝台客車を新造するわけにもいかんだろうし。

しかしながら、採算性という観点では、 夜行/寝台はもうちょっと企業努力の余地があると思うんだけども。 開放 B で寝台使用料を 6300 円も取ってるようではなぁ。 今の開放 B はゴロンとシートにして、 今の開放 A を B 寝台にするくらいがちょうどいいのではなかろうか。

整備新幹線建設の予算満額回答を要望 - 小泉首相が「聖域なき改革」を標榜してるんだから、 そろそろ整備新幹線も見直すべきなんじゃないの?

dhclient - current-users@ では bpf のエンバグとか言ってますな。

平成17年12月18日(日曜日)

金曜

飲み会。ウマー。

土曜

ドトールでマターリ。

寝る前読書。

ジャジャ(6) / えの あきら - 進展があるようなないような。

School Rumble Vol.11 (11) / 小林 尽 - なんかどんどん顔が崩れてゆく天満。

お素敵ダーリン(2) / 藤崎 真緒 - ああもう、みちるたんは本当にかわいいなぁ。

親指からロマンス(5) / 椿 いづみ - ますますスタント使いじみてきた人々。

日曜

ドトールでマターリ。

データ 3 分眺めて 10 分ででっちあげた:


bgm.pak 以外は知らん。出力は OggVorbis。 mplayer で再生できることは確認した。 一部の曲をのぞいてループで切れてるので、 うまくつながないと曲にならないよん。 

平成17年12月19日(月曜日)

昨日

学園アリス(9) / 樋口 橘 - 話進むの遅いな。

今日

水は答えを知っている - いい大人が、こんな子供だましのエセ科学に引っかかってはいかんよ。

TVゲーム長いほど暴力肯定 - NHK はこんな子供だましの報道をしちゃいかんよ。 長時間のゲームによる暴力の肯定という点について、 いかにも因果関係があるような語り口だけれども、 これを単なる相関関係ではなく因果関係として結論づけた根拠を知りたい (「因果関係と相関関係の混同の誤謬」を知らないとは言わせない - 少なくともそこに起因するミスリードを防ぐ配慮は必要だろう)。 そもそも統計的な信頼性にも疑問があるし。

大統領のプレゼント、「セグウェイ」で官邸入り - ジンジャーヤホーイ! いい絵だ。

平成17年12月20日(火曜日)

昨日

新世紀エヴァンゲリオン 鋼鉄のガールフレンド2nd (6) / 林 ふみの, GAINAX」を読んで寝た。なんか表紙がキモイ。

今日

ゲーム有害報道の有害性の要点:

  • ある種のポピュリズム: 偏った意見しか報道しない。
  • 対象に対する無知: ゲームの多様性を無視している。
  • 論理的思考能力の欠如: 一番多いのが因果関係と相関関係の混同。

メディアリテラシーというか、子供だまし避けスキルは必須であるといえよう。

プリン - つっこみどころ満載ですな :D

  • その程度の損金は見越しておかないと商売なんてできない
  • ましてや店員がそれを心配するのはおかしい
  • ビデオから犯人を割り出すというのはリスクが高い
チェーン店なら、上に報告したほうが良いでしょう。 最近は苦情もメール一本ですし。

裸リボンという概念は既にありますが(あくまでも妄想の世界でだけど)、 時代は和風です。裸熨斗水引といふ概念はないのでせうか。