Firefox 1.0 PRからPage Infoのショートカットキーがなくなってしまいました。さすがにこれでは不便なので、browser.xulを書き換えました。
237d236 < <key id="key_pageInfo" key="&pageInfoCmd.commandkey;" command="View:PageInfo" modifiers="accel"/> 873c872 < command="View:PageInfo" key="key_pageInfo"/> --- > command="View:PageInfo"/>
キーのエンティティ定義は en-US.jar:/locale/browser/browser.dtd (英語版の場合)にあります。
グラフィックライブラリにペイントルーチンを仮実装しました。連続した領域を塗りつぶす、例のあれです。領域画像やアルファチャネルを参照した、変則的な塗りつぶしも実装してみたいところです。
グラフィックライブラリに、楕円描画&楕円塗りつぶし関数を追加しました。使い道のなさそうな機能ばかり充実していきますねえ。
散財してきました。コンパクトフラッシュとか、LANケーブルとか、まほろまてぃっく最終巻とか、美鳥の日々最終巻とか、いろいろ。
某店でDVD-Rメディアを買った後で、別の店でDVDスーパーマルチドライブを買ったら、DVD-Rメディアを10枚以上おまけで付けてくれる罠。ありがたいことはありがたいのですが…
PC100のメモリも買おうと思っていたのですが、どの店でも高くて高くて…DDR-SDRAMの2倍くらいしたので、諦めました。
帰宅後にOpenBlockSのセッティング。とりあえず、コンパクトフラッシュからブートできるようにしておきました。
Median Filter、Laplacian Filter、Emboss Filterあたりのお勉強。吉里吉里のプラグインとして実装してみましょうかね。
ふむふむ、なるほど。NTSCで使用される方式は、現代のディスプレイ(液晶とかプラズマ?)にも適するとは限らない、か。CRTにしても、NTSC規格立案当時からは質や性能が変わっていますから、ITU-R Rec.709で規定される方式を使ったほうが良さそうですね。このFAQを読む限りでは。
今日の散財。
ほか、USBメディアリーダとか。例によってメモリも買おうと思っていたのですが、相変わらず高くて以下略。中古のPC133 ECCなら安いんですが、ECC付きが載るかどうか覚えていなかったので見送りました。
以前作ったKAGのポップアッププラグインでは、ポップアップのたびにKAGスクリプトファイルを作成して、それをcallしています。が、それだとまずいケースがあることに、ふと気付きました。XP3やEXEとしてアーカイブしたときに、ファイルを作成できないというものです。考えてみれば当然のことで、アーカイブファイル内にファイルを書けるわけがない、と。
これは設計ミスですね。何をいまさら気付いてやがる、て感じですが。
最近知ったこと。#define中の'#'、'##'と、関数ポインタのtypedef。
C/C++の#defineとtypedefって、どっちも単なるマクロみたいなものとしか考えてなかったんですが、案外強力なんですね。
例のポップアッププラグイン。テンポラリファイルをテンポラリフォルダに作れば問題ないわけです。そこで、テンポラリフォルダ取得メソッド Storages.getTemporaryPath() みたいなのがあればいいなと思ったのですが、Windowsではテンポラリフォルダって特に決まってないんですよね。レジストリにも入ってないし、環境変数TEMP/TMPもどこまで信用できるかわからんし、環境によってはTEMP/TMPが設定されているかどうかすら疑わしいし。
結局、テンポラリスクリプトファイルを作らないようにしました。設計のやり直しなので大変だなーと思っていたのですが、なぜかあっさり修正完了。なぜだ?
階調イコライゼーション実装完了。ついでに、カラー画像に対しても、輝度階調イコライズしてみました。
階調イコライゼーション(カラー)は、どうも色彩がいまいちですね。アルゴリズムが悪いのかな。
吉里吉里2.23β10で追加された機能、(TJS2) クラスメンバに削除・追加・変更などを加えた場合、それから新たに作られるオブジェクトにもその変更が反映される
。
DLLプラグインから既存クラス(Layerなど)にメンバを追加、そのクラスのサブクラスのインスタンスからも、追加したメンバを参照/コールできるのを確認。リファクタリングも兼ねて、プラグインのソースを新機能にあわせて改修。今まではdrawLine(layer, ...)
と記述していたのを、晴れてlayer.drawLine(...)
と記述できるようになりました。当然、β9以前では動作しませんけど、それは気にしない方向で。
コインランドリーってのは毛布も洗えるのですか、すごいですねー、へー。と感心しながら毛布を洗いました。
しかし、洗い上がりの感触はいまいちですね。なんだかぱさぱさして、ふわふわ感がなくなったような。うーむ。
ゾーベルフィルタ、プレヴィットフィルタ、ロバートフィルタ、3×3メディアンフィルタ、任意サイズのモザイクフィルタを実装しました。モザイクフィルタは、公にはできないあんな画像やこんな画像にモザイクかけたりで使い道はありそうですが、ほかのはちょっと、使いどころに困りますね。
サイトを移転しました。移転そのものは、ファイルコピー&リダイレクトするだけなので簡単なのですが、問題はそれ以降の運用です。現行の管理方法(TDS + make 主体)をなるべく変更したくなかったので、その部分に腐心していました。結局、現行の管理手順に1ステップ(rsync with ssh)加えるということで、落ち着くところに落ち着いた感じです。
長らく放置気味だった、というか、忘れられていたSubversionをセッティングしました。Apache2でWebDAV機能を有効にして、HTTP経由でアクセスできるようにしました。
クライアント側は、今はコマンドラインインターフェースを使っていますが、それほど不便ではありません。今のところ、それほど複雑なことはやってないので、GUIベースのTortoiseSVNを使うまでもないです。
リポジトリを作って適当にファイルを放り込み、CVSにとって苦手とされていた部分、つまりリポジトリ構成を変更したり、リネームしたり、バイナリファイルをゴニョゴニョしたり、を中心に弄ってみましたが、なかなかいい感じで動いてくれました。
そうそう、Apache2といえば、Apache 2.1 の開発が進んでいるようですね。
まどかちゃんを導入しました。
仕事納め。タバコ臭い納会会場からさっさと撤退し、アキバへ。
サーバリプレースにあたってメモリとHDDが必要なので、まずはそれらを確保しました。
次、ソフマップでゲームを買おうと思ったら、なんだか店内を埋め尽くすくらい人がたくさん並んでました。別店舗も同じような状況で、歩くこともままなりません。何事かと思っていたら、どうやら今日発売の東鳩2を入手せんと沸いて出てきた生物が、店内を占拠している模様です。
前から思っていたのですが、ソフマップって列整理が下手ですね。何かあるごとに歩道や店内に行列を作らせ、通行妨害してきます。店内通路は人が通る場所。歩道は歩行者が通る場所。肉塊を陳列する場所じゃないっつーの。
結局、別の店で買いました。ディスガイアと悪代官。
行ってまいりました、C67。行く気なかったんですけどね、とか言いつつ、毎回参加しているような気がしますが、気のせいです。
朝、のんびりしすぎたせいで、現地到着は午後1時半。予想通りというかなんと言うか、目当てのサークルはどこもかしこも売り切れで、買うものがほとんどありませんでした。
結局、本日の戦利品はわずか二点、消耗金額は交通費込みで三千円未満という、なんとも慎ましい参戦結果となりました。やれやれ。
ちゃんと見ていたものだけ。1、2回見て、気に入らなかったら即(個人的に)打ち切りなので、毎回見ているのは少ないです。
ちなみに今年のベストアニメは、ストーリー良し、アクション良し、杖良し(謎)、作画はイマイチ…な「魔法少女リリカルなのは」です。
第二部に入ってからは惰性で見ている部分もいくらかあります。第一部はよかったなあ。第二部も、悪くはないんですけどね。
見所はエリノアさんとマーガレットです。マドラックスなんて飾りです。偉い人にはそれがわからんのです。
お薦めです。素晴らしいです。杖燃えです(謎)
なんと言っても、杖がかっこいいですね、杖。主人公なんて、杖に人気を奪われているくらいですしね。杖無くしてこの作品は語れません。別に語らなくてもいいですかそうですか。
ストーリーは1クールにきれいに纏まっています。最終話は大方の予想通り、ありがちな結末でした。ですが、それでも良いものは良い。何がいいのかは、第一話から通しで見てください、と。