正直日記



2009/10/31

_ ubuntu 9.10 にしたら Web のスクリーンショットを取りまくれなくなったよ
xulrunner が 1.9.1 になって、いくつかの API が他のクラスに移動したため、
1.9.0 の libxul を当て込んでいる Mozilla::DOM が動かなくなりました。

具体的には nsIDOMNSHTMLElement の scrollXXX, clientXXX が nsIDOMNSElement
に移動したらしい。offsetXXX だけ移動してないのはなぜと思ったら、その理由
についても件のレポートで挙がっていました。なるへそ。

んで、Mozilla::DOM::NSElement を新設して、メソッドをそちらに移動したらコ
ンパイルもインストールも QueryInterface も出来るようになったので(続く)

(続き)パッチを投げておきました。windows からアップしたら octet-stream
になってしまった。なんか恥ずい。

2009/10/29

_ Webのスクリーンショットを取りまくってたよ
MozEmbed の存在を知って以来、もうメロメロぞっこんになって色々遊んでいま
したが、まぁ色々といってもスクリーンショットを撮ってただけなので全然色々
ではありませんが。


・Xvfb を入れる

デーモン化しようと思ったら、なんか ubuntu server 用の設定がどこにも見つ
からなかったので見よう見まねでこしらえました。丸一日かかりました。linux
難しすぎる。

xvfb.txt を /etc/init.d/ にコピー $ sudo chmod +x /etc/init.d/xvfb $ sudo update-rc.d xvfb defaults $ sudo /etc/init.d/xvfb start ※ X11::Xvfb を使うなら一連の操作は要りません。
Xvfb を起動するとなんかフォント系の警告がでまくるので、apt-get でフォント が沢山入るパッケージを入れます。申し訳ありませんがパッケージ名は忘れまし た。一日で忘れました。linux 覚えづらすぎる。(追記: xfonts-base でした) ・xulrunner とかを入れる これだけ指定すればたぶん必要なものは芋づる式に色々入ります。
$ sudo apt-get install pkg-config xulrunner-dev \ libgtk2-perl libgtk2.0-bin libgtk2.0-common libgtk2.0-dev
足りない場合は $ apt-cache search xulrunner で出てくるものを全部入れれ ばいいです。linux 楽チンすぎる。 ・Mozilla::DOM を入れてから Gtk2::MozEmbed を入れる Mozilla::DOM が無くても Gtk2::MozEmbed が入ってしまうのは罠でしょ……。 Mozilla::DOM を入れる際に libxul.so が見つからない旨のエラーが出るので、 事前に以下の操作を行っておきます。
$ sudo su # cat >> /etc/ld.so.conf.d/libxulcrap.conf /usr/lib/xulrunner-devel-1.9.0.14/lib ctrl-d # ldconfig (追記:ubuntu 9.10 で xulrunner-1.9.1.*/lib になったようです)
つーか README に載ってるんですよこれ。README 読まなすぎる。 ※ デスクトップ版 ubuntu でこれを行うと firefox-3.5 が起動できなくなり   ます。共有ライブラリを使い分ける方法があると思うんですが Linux が難し   すぎて分かりませんでした。Linux が難しすぎる。 あとは CPAN で入れるだけです。
sudo cpan -i Mozilla::DOM Gtk2::MozEmbed
・スクロールバーを消す MDC を見ると、スクロールバーをトグルで非表示にする window.scrollbars が あるので、Mozilla::DOM::Window にも GetScrollBars がありそうな気がしま すが……無いので他の方法をとりました。
my @elems = $embed-> get_nsIWebBrowser()-> GetContentDOMWindow()-> GetDocument()-> GetElementsByTagName('body'); for my $elem (@elems) { my $attr; if ($elem->HasAttribute('style')) { $attr = $elem->GetAttribute('style'); } $attr .= '; overflow: hidden;'; $elem->SetAttribute('style', $attr); }
・ディレクトリを別ける 調子に乗ってあれこれ撮りまくっていたら、ファイルが多すぎてディレクトリを 閲覧するのが困難になってきました。パスを切って分散します。 先人であるところの「はてなブックマーク」の切り方を調べてみると、
/a/b/c/d/e/[0-9a-z]{35}.jpg
というパスになっており、どう見ても SHA-1 でした。 パスの生成に一方向ハッシュを用いると元の名前が連想できず、手動アクセスし たいときに不便です。手動アクセスをする機会なんかそんなに無い気もしますが、 今回はドメインネームを逆さに連結することにしました。この方法はいずれ破綻 しますが一時の延命には使えます。
sub make_directory_path_from_url { my $url = shift; my ($domain) = $url =~ m{^.*?://(.+?)/}; my $path = join '/', reverse split(/\./, $domain); return $path; }
そんなこんなでページショットが撮れるようになりました。 ページショットを撮る時は ScrollTo を使って少しずつ pixbuf に流し込みまし た。 Flash でフェードインやら skip >> やらをしているサイトは、スクリーンショッ トを撮ると真っ白とか真っ黒になるのでアホかと思いました。3〜5秒以内に絵 が出てこないサイト(を作るようなデザイナー)は○○○ればいいのにと思いま した。 終わりです。
_ 発音中にMULを書き換えて位相ずれを起こす
こんなマニアックなテクがあるなんて、今まで気づかなかったよ……。

とは言えウェイトが必要な実機だと、タイミングは完全にシーケンス依存なので
実用は難しそうだ。レジスタ書き換えとシーケンス実行が(音源から見て)ゼロ
時間で済んでしまうエミュプレイヤー向けのネタかな。……ネタと言っても、こ
んなテクをどう活用すればいいのか全く思いつかない。単チャネルでフェーザー
効果が得られるかなぁ。


なんの話だか分からない人の方が多いと思いますが、FM音源の話です。

2009/10/16

_ 新訂版 More Effective C++ はもう少しなんとかならなかったのか
インターネットを巡回していたら「定額給付金」という文字列が見えたので思い
出したが、More はそれで買ったのだった。太郎の遺した埋蔵金は紀伊国屋へ渡る
こととなった。

内容や訳については方々で語られているので今更俺なんかが言うことは何も無い
が、他に少しだけ気になったところがある。コード片の字体だ。

Effective C++ 原著第三版ではプロポーショナルな太めの書体が使用されていて、
コメント部分もそれで統一されている。本文との見分けも付きやすく、とても読
みやすい。



一方、新訂版 More Effective C++ では固定ピッチで細い書体が使用されていて、
コメント部分は英字と日本語で書体が異なる。本文との見分けは(Effective C++
に比較すると)付きづらく、読みづらさの一因になっていると思う。



80-20規則を持ち出すならば、20% のコード片が 80% の読みづらさを作り出して
いると言えよう。

引用したこのページは特に太字と細字が入り乱れており、目がチッカチッカして
たまらんかったのです。Effective C++ に合わせる事は出来なかったのかなあと
思いました。
_ アトピーに湿潤療法を試す(六日目)
あれから何も施さずにいたところ

13日(三日目)、肌が乾燥してくる。
14日(四日目)、乾燥してカサカサになったところがひび割れてくる。
15日(五日目)、ひび割れしたところからリンパ液が……。
16日(六日目)、ラップを巻いておいたらリンパ液が漏れない程度には塞がった。

つーわけで放っておいたら駄目ですな。
その後のケアはどうするのがいいんだろう?

2009/10/12

_ アトピーに湿潤療法を試す(二日目)
写真を撮ってみた。肘から右がラップを試した箇所で、かぶれているものの皮膚
自体はだいぶ再生している。左側は、こまごまとした箇所だからラップしなくて
もいいかと放置したらカサブタになりました。

昨夜から今朝にかけてラップをしている間はものすごく痒かったが、ラップを剥
がして半日ほどすると治まってきた。もう少し様子見をするけど、大体治ったと
見て良いような気がする。少なくとも、上皮が貼った状態まではすぐに戻せると
分かったのが心強い。

飽きたので、二日坊主で終わりにします^^

2009/10/11

_ アトピーに湿潤療法を試す(一日目)
治りかけては再発するアトピーに1年ほど悩まされており、またステロイド1群
のデルモベートやダイアコートをほいほいと処方する医師にも嫌気が差したので、
湿潤療法(というよりはラップ療法かな)を試してみることにした。結果が出て
からまとめを載せたほうが良いのだろうけど、エンタテインメント性を考慮して
まぁ日記なのでリアルタイムで書いてみようと思う。

なお被験者は178cm/60kgのアラサーおっさんなので、肌の弱い小児のアトピーに
ついて調べるうちに辿り着いてしまった保護者の方は参考にしないでください。


就寝前に食品用ラップで被いマイクロポアで固定した後、6時間ほど放置する。
(つまり寝たということです)目が覚めてから剥がしてみると既に薄膜が形成さ
れており、かさぶたを経由しない経過に軽く感動した。もうこの時点で終了して
も良いような気すらしてくる。

その後ラップを貼りなおし、しばらく経つと今度は無性に痒くなる。風呂へ入る
前に剥がしてみたら、薄膜がカブレて隆起していた。シャワーを当て続けたら痒
みは緩和したが少々不安になる。元々がアトピーなので、上皮の下がどうなって
いるかは分かったもんじゃない。またラップを当てて第2ラウンドに突入する。
(つまり寝ると言うことです)

写真を撮ればよかったかなあ。明日に続くかも。

最新
2010 | 01 04
2009 | 01 02 03 04 05 06 07 09 10 11 12
2008 | 01 02 03 04 05 06 07 08 09 10 11 12
2007 | 02 03 04 05 06 07 08 10 11 12
2006 | 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