憂鬱な午後のひととき


5月31日_
・昨日の大根で大根おろしを作るとおっそろしく辛い. 仕方がないので煮物にする. また味付け失敗. うーん.
ビワミンというジュースを買ってきた. 酸味がきついけどすっきりとした甘さで朝起きしなに飲むと目が覚めて気持ちいい... よく見たらお酢なんやね. 知らなんだ.
5月30日_
・タイムカプセル暗号クライアントがNorton AntiVirusでエラーになっていたのを修正.
・やっぱり頭が痛いのでまたランニング4.5km.
・無性に大根の葉っぱの炒めものが食べたくなって作ったが味付けに失敗. まずい….
5月29日_
・ぐたっと寝ていた週末だったがそのリバウンドか今日は頭痛が酷い. バファリン飲んで頭空っぽにして7kmぐらい走ったらましになった.
『The S.O.U.P.』(川端祐人)
別のも読んでみようというわけで読んでみた. 今回はインターネット上で世界的テロを企むクラッカー vs. 凄腕ハッカーの話. ネットワークゲーム上の人工知能や人口生命の話も絡む. 相変わらずよく調べてうまく書かれている. でもやっぱり先を読ませようという吸引力が弱い印象. 主人公たちの世界観にピンとこなかったのは『ゲド戦記』や『指輪物語』が未読だからかな(『ナルニア国物語』は何度も読んだ).
5月28日_
・先日いただいた大門(おおかど)素麺(富山の名産?)を食べる. 素麺なのに腰があってめっちゃおいしい. 三輪そうめんとはまた違うなあ.
・もんじゃ焼きを初めて食べた. 普通のお好み焼きがどろどろになったようなものでちょっとびっくり. 見た目はあんまりきれいじゃないけど(失礼)作り方が楽しいし, なかなかおいしかった.
5月27日_
↓ソースも出しました. クライアントソフトのソースはあまりにへちょいので無し. やっとゆっくり寝られる.
5月26日_
タイムカプセル暗号クライアント for Winを公開. お試しあれ. エンジン周りのソースも近い内にアップデートします.
はまったこと
・AESがVC6のリリースモードでのみバグる(VC6の最適化バグ). なまじっか暗号化/復号ができてしまうだけに見つけるの大変だった.
・デスクトップ上のファイルはDLL側では開けない?(権限の問題か? ようわからん)
・fstreamのreadsome()周りの扱い/挙動がコンパイラによって違いすぎ.
しかし1年以上ほったらかしてたのか…
5月22日_
Mac mini一日目
蓋を開けるとなんと小さい. 早速起動しよう…あれれ, VAIO付属キーボードは電源が足りず認識不可との警告. 電源つきUSBハブを噛ましてみたが駄目. 諦める.
Mac mini二日目
Mac用キーボードをゲットし仕切り直し. 無事OSのアップデートをすませた後Xcodeをインストール… あれれ, 途中でフリーズ. キーボードが利かない. マウスカーソルすら動かない. 仕方なくリブートしたら今度は染み一つ無い真っ青な画面. 友達に電話して「アップル+S」なる裏技を伝授してもらう. fsckを実行し再度リブート. が, 状況は変わらず. ただいまOSの再インストール中. この強烈な引きの悪さは一体何.
そういや, 壊れたVAIOはのべ5回目のマザボ交換を経て先日無事戻ってきました.
5月21日_
『夏のロケット』(川端祐人)
「自分たちでロケットを作りたい」という夢を持っていた高校生たちが, 大人になってなんとかロケットを作ろうとする(架空の)話. ロケットに関する莫大な蘊蓄は作者の思い入れなんだろう, 熱い思いが伝わってくる. ただ『奪取』(真保裕一)ほどには主人公たちの執念が弱く思われ(飛ばす瞬間の高揚感はいい), 『ふわふわの泉』(野尻抱介)ほどにははちゃめちゃ感が無い(---たとえば資金繰りとか---比べるなって?). とは言え十分楽しめたので同じ筆者の別のも読んでみよう.
5月20日_
この一週間の寝不足を我慢して準備したESPer2006のプレゼンは最低であった. 全然聴衆の反応を考慮している精神的余裕が無かった. 穴があったら入りたい. うがー. とりあえず寝よう.
5月18日_
忘れられた科学 - 数学
アメリカの数学研究費は440億円に対して日本は数十億円.
リハビリの医療保険適用の期間制限適用.
診療報酬改定により中小民間病院の経営困難に.
大阪の交響楽団の統一問題. 他にも博物館の値上げとか.
同じ次元の話じゃないが, なんでもかんでも効率が悪いと切り捨ててるととんでもなく住みにくい国にならないか. 川や野山を潰しまくってコンクリートで固めた味気なさが, 今は生活に対して行われていきそうな感じ. そんな状況で愛国心なんて生まれるのか(あ, だから強制的に態度(=外見)だけ従わせようとしてるのか).
5月17日_
・ぐっ. LinuxとWindowsでtime()で時刻を合わせようとするには, Linux側でsetenv("TZ", "JST-9", 1);みたいにしとかんといかんのか. もちっとちゃんと考えたいけど眠いのと時間が無いのでこれでいく.
・少々寝不足が続いて日付の感覚がめちゃくちゃ. なんとなく録画していた『たけしのコマネチ大学数学科』という番組を初めて見る. 折り紙で一番大きな正三角形と正六角形を折りなさいという問題. 思わず録画停止して手元の新聞を切って考えてしまった. いや楽しい. 正三角形の問題が正六角形の問題のヒントになっているのもうまい. 番組では三次方程式を解くことに対応する折り方(「三次元折り」というそうな)の話も紹介されていた. 検索したら「折り紙による角の三等分について」が見つかった. ちらっと見るとこんなところにグレブナー基底がでてきてる. 後でゆっくり読もう. 番組途中で一瞬表示された二次方程式の解の公式が間違えていたのがご愛嬌.
5月16日_
cppll:10654を見て解決. s.cppを
#include "s.h"

template<class T, int n>
A<n> B<T, n>::s_;

template<>
A<10> B<double, 10>::s_;
にしたらVC系とgcc 4.0.2で実行でけた. ただmingw 3.4.2ではまだリンクエラー…
あれ, シュリンク途中にもともとやりたかったことと違ちゃってるみたい. もとのコードに適応できん.
5月15日_
ペアリングライブラリがgcc 4.0.2でコンパイルでけん….
//////////////////////////////////////
/* s.h */
#include <stdio.h>

template<int n>
struct A {
    char a_[n];
    void put()
    {
        printf("A:=%d\n", n);
    }
};

template<class T, int n>
struct B {
    T t_;
    static A<n> s_;
};
//////////////////////////////////////
/* s.cpp */
#include "s.h"

template<> /* QQQ */
A<10> B<double, 10>::s_;

//////////////////////////////////////
/* t.cpp */
#include "s.h"

int main(int argc, char *argv[])
{
    B<double, 10> b;
    b.s_.put();
    return 0;
}
VC6などはQQQがあっても無くても実行できる. gcc 3.2はQQQがないなら実行できる. gcc 4.0.2ではQQQが無いとコンパイルエラー. つけるとコンパイルできるがリンクエラー. どうすればええんや.
5月14日_
コピーコンストラクタの作り忘れによる不正なメモリ開放エラーというポカミスに2時間ほど悩む. 息抜きに『イメージファイト』というシューティングゲームをした. 15年ぐらい前(!)に買ったゲームで, 当時は1周目ならノーミスでクリアできたのに(TOWNS版なので2周目が無い), 今やると1面からぼろぼろやられる. というか目と手が追いついてないし(笑). でもコンティニューしまくってると体が思い出して(人間とは恐ろしい)実践ステージあたりからさくさくと進み出し小一時間でクリアした.
5月13日_
友達が東京に来たので案内する. といっても私も初めてのところが多かったので案内をもう一人に任せてくっついていただけ. お土産に紙風船をもらった. 小さいときに遊んでたけど, 穴の空いた袋を叩くだけでなんで膨らむのか不思議だったなあ. 叩いた瞬間は穴が小さいので空気は逃げずに圧縮されて凹むが, それが戻るときには反動で空気が入ってくるから?
夜はみな初めてのすき焼き. こっちはお肉を焼かずに割り下で煮るんやね. 小雨続きで体も冷えてたし, 温かくておいしかった. また食べに行きたいな.
5月11日_
C++の例外処理って私には難しそう, 重たそうという理由で殆ど使ってない(特にコーデック系). ただ重たそうとは言ってもtoy sampleのasmを見るだけでは実際のアプリでどのぐらいのコストになるのか全然見当がつかない. ちょっと時間があったのでこないだ作ったjpeg関連ライブラリ(setjmp利用)の例外版を作ってベンチマークをとってみた.
ビットストリームの読み書き中に不正なデータのせいでバッファ範囲を超えそうな場合にsetjmpや例外でエラー処理をしている. ベンチマークでは正常なデータを与え, 例外は発生させていない. つまり下記の速度差は例外発生時のスタック巻き戻し準備にかかるコストと思われる.
・バイナリサイズ(byte)
コンパイラsetjmp利用(例外無効)setjmp利用(例外有効)例外使用
VC6 192582192582196678
VC2005 282624294912294912
VC7.1 200704208896208896
icc9 249926258118258118
gcc 3.2.2124820182308182532
gcc 4.0.2147924154788155460

例外無効はgccなら-fno-exceptionsを指定する. 例外無効と例外有効は同じソースなのに結構サイズに差が出るものだ.
・速度(大きいほど遅い:数値の末尾はぶれが大きい)
コンパイラsetjmp利用(例外無効)setjmp利用(例外有効)例外使用
VC6 3.093.583.05
VC2005 2.672.692.66
icc9 2.062.082.36
gcc 3.2.22.932.883.05

icc9の例外版が15%ほど遅くなる以外は意外と速度は変わらない(VC6のはちょっと変だが). これは今回(高速化のために)newを使わず, デストラクタも空っぽに, という方針でやっていた(でないと怖くてsetjmpを使えない)ので例外関係の影響が少なかったせいかもしれない. 普通なら問題なさそうだが, 少しでも速くと思ってるときに15%のロスは痛い気がする(10行ぐらいしか違わないのに). それはそうとicc9はぶっちりぎりで速い.
5月9日_
前にも書いたけど『英語中毒』というソフト, やってて本当にいらいらする. キーボードフォーカスがないので起動してからマウスで5回もクリックしないと始められないのもうっとうしいが, 何より効果音が邪魔. 煩すぎて肝心の音声が聞こえないときもある. そして出題文章の長さに比例してフォントが小さくなる斬新な仕様(9pt---私のノートだと一文字1.3mmぐらい---になることも). 画面紹介最下部の「よけいな装飾はいらない~」ってのはユーザの声なのか, それとも自虐ギャグなのか.
ちなみにそのページ少し上の「~ることがデキる英語への片道切符です」って, 「片道切符」を肯定的な意図で使うのを初めて見たぞ. 英語のソフト作る前に日本語勉強しようよ.
5月7日_
休みの間贅沢&だらだら三昧. 当分質素&規則正しい生活を心掛けよう. とりあえず6.5km走る.
5月6日_
東京に行く途中で京都に寄って久しぶりに筍料理を食べる. やっぱり味付けは関西の方が好き. 店の場所が分からなかったのでEZナビに初トライ(緊急のときに勝手が分からないと困るし). 「ほぉ, 目的地は電話番号でもよいのか」, 「おおっ, 喋ってる」, 「曲がり角でブルブル震えた」 といちいち驚き感心(時代遅れ)しながら店に到着. こりゃ慣れるとますます方向音痴になる. 封印しとかな.
5月5日_
今まで持っていた携帯電話は軽くて薄くてシンプルでとても気に入っていた. だから壊れるまでは使うつもりだったのだけど, 今ならキャリア変更してもメールアドレスも電話番号も変わらないというし, 徐々にサービスも打ち切られるようなので仕方なく変更. 今の携帯はどれもたいがい分厚くて重たくてやだな. その中でも小さいのを選ぶ. ついでに日本橋で512MBのmini SD(新品, SD変換アダプタつき)が2980円だったのでそれも購入.
5月4日_
なんとも妙な縁で8年振りぐらいの知人と会う. みなで集まった場所は普通の居酒屋さんの個室. だが堀りごたつの横, つまり部屋の中に何故か露天風呂がある(文が自己矛盾してるがそうとしか見えない). 椅子に桶まである. すぐ横にあるのは注文した釜飯. ちなみにお湯はない. 実にシュール. 前いた会社の近くにこんなマニアックな場所があったとは.
5月3日_
・『入門Haskell』(向井淳)
わたしゃC/C++以外は殆ど知らないので「ハッカーになろう」によるとハッカーではない. それは否定しない(でもプログラマですらないというのは---反論したいなあ). また「技術野郎の復讐」ではLispを強く薦めている. いずれにせよ, たまには違うものに触れてみようと読んでみた. 言語についてはまだ雰囲気だけやけど本については本当に入門書だなという印象. つまりは系統だっていない, 網羅的でない, 微妙に本質を隠している(かも)という点で大昔『はじめてのC』(椋田實)を読んだときの印象に近い. とは言えそれは悪いとは思わない. 「この本では足りない」と思わせれば, 思えるようになるぐらいまで読者を引っ張ってこれれば入門書として成功だと思うから(その印象が正しいかはこれからじっくり読んで判断しないといかんけど).
・『ロカ』(中島らも)
20年後の作者を思わせる老人が主人公. 湯本香樹実とは正反対の, 硬質で力強い文体. 小説内で主人公がNHKに出演するシーンはやや悪趣味だけど言いたいことがストレートに伝わる. 最後, とっても面白そうな展開のところで絶筆になってるのが非常に残念.
5月2日_
・↓メモリを交換しても駄目だったのでマザー側がおかしい. 次買うマシンは(流石にVAIOは止めて)富士通の薄いやつかなあと思ってたら今日友達にLet's noteのキーボードは[Fn]と[Ctrl]は交換できるって聞いた. Panasonicのページを見ると本当だ. それならいいかも. [Caps][変換][s]の同時押しはハード的に認識するのだろうか(どなたか教えて). 後ポートリプリケータがDVI出力対応していてくれれば完璧なのに.
・『西日の町』(湯本香樹実)
終始漂う夕暮れの翳りのある雰囲気が少し怖くて寂しい.
5月1日_
・姪っ子見に出発. 新幹線と特急を使ってもドアツードアで6時間. 実家の隣の県なのに, これじゃ九州に行けそうな. それはともかくめっちゃ小さい. 今は殆ど寝てるか泣いてるかどちらかだそうな.
・バックアップ用マシンが壊れる. 例によって例のごとく突如BIOS画面すら表示されなくなった. もう何度目だかカウントする気にもなれず. 裏蓋とってメモリをはめ直したら一時的に動いたが暫くしたら止まったので接触不良なんだろう. 最近は持ち運びもせず静かに使ってたのに似たような現象が頻発するということは構造的な欠陥があったのじゃなかろうか.

御意見は光成滋生<herumi@nifty.com>までお願いします