memo

IE コンポーネントにおけるイベントの発生順序

一般化しづらいのですがあえて書くと,Navigate(URL) 後の基本的な流れは,こうです。 BeforeNavigate2 イベント発生 NavigateComplete2 イベント発生 DocumentComplete イベント発生 ProgressChange (Progress = 0, ProgressMax = 0) イベント発生(※) 2〜…

TWebBrowser での POST

きちんと確かめてなかったんでハマりました。 The post data specified by PostData is passed as a SAFEARRAY Data Type structure. The VARIANT should be of type VT_ARRAY and point to a SAFEARRAY Data Type. The SAFEARRAY Data Type should be of el…

TWebBrowser コンポーネントを使う

今更〜〜〜ですが,必要にせまられて作ってたら忘れそうなのでメモメモ。Delphi で IE コンポーネントを使うなら下記のサイトがまとまってます。 http://griffy.pekori.to/soft/technologies.html ま,TWebBrowser とか IWebBrowser2 とかでググると今でも結…

YAML::Lite ?

Pure Perl でライトウェイトな YAML の実装なかったっけ……と CPAN をあさってみたけど見つかりませんでした。たしか id:miyagawa さんが言及してたよなーと思いいろいろ探してみたら,一応, http://bulknews.net/lib/archives/YAML-Lite-0.01.tar.gz という…

gedit on Fedora 7 がパイプによる入力をサポートしてない

下記で gedit と書いて思い出したんですが,ヘルプ等みると, $ ls -l | gedit とかできるよ,みたいに書いてあるんですが,(Fedora に限らず)実際には動かなくて悲しいです。妙に歴史の深いバグですし(⇒Bug 121891 – implement input from command line …

PAM について考える。pam_ssh.so とか。

以下の文書は様々なセキュリティリスクについてアセスメントしてないんで参考程度にとどめておいてください。 PAM の auth の流れ ステート図については⇒【http://corvus.kek.jp/~manabe/pcf/pam.htm】を参照。書式についてはいっぱいころがっているので省略…

Fedora 7 で Broadcom bcm43xx を使う

Fedora core 6 時代にそこそこ安定していた Broadcom BCM4306 チップが,Fedora 7 にしてからうまく動かなくなりました。苦闘の末 core 6 時代と同様に動くようにできました。 前説 Broadcom の無線 LAN チップは残念ながら仕様がオープンになっていませんし…

Timekeeping in VMware Virtual Machines を読み解く (2)

高精度タイマによる補正 前回はちょっと簡略して書きました。VMware にも関連のあることなので,ほとんど推測に基づくものですが,少し詳しく書きます。Linux のシステム時刻(時計)において秒針*1を進めるのは,PIT による割り込みです。ただ,割り込みだ…

OpenOffice.org の UI が文字化け on Linux

普通に立ち上げると,UI の日本語部分が空白になってしまい,使い物にならないのでいろいろ調べてみましたが,ちょっと古めの文書によく書いてある「Andale Sans UI」をフォント置換すればいける,という tips が通用しません。あれこれ調べてわかったのは,…

Timekeeping in VMware Virtual Machines を読み解く (1)

検証は,おもに, CPU CeleronD 341 (2.93 GHz; Single core, EM64T capable, HT non-capable, VT-x non-capable) Chipset Intel 3000 Host OS CentOS 5.0 x86_64 (Linux 2.6.18-8.1.8) VMS Virtual Server 1.0.3 Guest OS CentOS 5.0 i386 (Linux 2.6.18-8.…

SPNEGO

ちょっと時間がなくなってきたので,自分用メモメモ。 SPNEGO 認証にまつわる RFC RFC 4559 - SPNEGO-based Kerberos and NTLM HTTP Authentication in Microsoft Windows RFC 2743 - Generic Security Service Application Program Interface Version 2, Up…

Q965 一進一退

だましだまし CentOS 5 x86_64 で使っている Compaq dx7300 (Q965 + Core2Duo) ですが,Fedora 7 がリリースされたことだしいっちょいれてみるか,と Fedora 7 x86_64 をインストールしてみたところ,特に工夫することなくインストールでき,快適に使えまし…

E7221 (on SC420) で OpenGL を使いたい(FC6)

E7221 のグラフィックスコアは i915 と同等なんですが,Fedora core 6 の環境で compiz / beryl がうまく使えません。で,あれこれやってたら一応でけました。今時の Linux で compiz / beryl を使うためには, AIGLX が有効(もしくは NVIDIA の場合 GLX)…

UNIVERSAL::isa($hoge, 'Huga') を使うべきではない

ことの理由と出典をいつも忘れてしまうので,メモメモ。 if ($obj->isa('Huga')) { ...... } みたいなコードはよく使うんですが,$obj が bless されたオブジェクト(か,クラス名の文字列スカラー)じゃないとエラーを吐くので,一時期,以下のように書いて…

CPANPLUS 0.79 が Crypt::OpenPGP を要求する。

んで,Crypt::OpenPGP のインストールが結構困りものなので自分用メモ。まっさらな Perl-5.8.x な環境があったとして,まずは cpan で(気休めとして)Math::BigInt, Math::BigRat, bignum の最新版をいれておきます。そして Math::BigInt::GMP をインストー…

自宅ノートの ACPI まわりを自分好みにチューニングした for FC6

Fn+F4 でサスペンドさせる /etc/acpi/events/sleep.conf というファイルを作り, event=button/sleep.* action=/usr/sbin/pm-suspendという内容にしました。 リジューム後にネットワークを再始動させる ネットワークはワイヤレス LAN (bcm4306) なんですが,…

Encode.pm 最近の雑感

2.19 から ISO-2022-JP の encode() が custom fallback に対応(CHECK をきちんと CHECK するようになった)とのことでめでたい。miyagawa ++で,どこ変わったの?とみてみたら, @@ -49,7 +49,7 @@ # empty the input string in the stack so perlio is ok…

cacti でローカルサーバの監視

全然つかいこなせないです(;>_ローカル環境をスクリプトで監視する場合, Data Input Methods へ監視に使う Data Input Method(Script/Command)を登録する Data Sources に様々な Data Input Method を指定した Data Source を登録する Graph Management …

C++ スタイルのコメントを除去

JavaScript のコメントは C++ と同じようなスタイルなんですが,// や /*〜*/ を単純に正規表現で除去しようとすると,クォーテーションされた文字列リテラル内にコメントを含んでいる場合にうまくいきません。んで,苦し紛れに考えたコード。 my $text = sh…

Fedora core 6 で Savage を使う

特に工夫しなくても Fedora core 6 で Savage は使えてたんですが,一応 3D アクセラレータついてるんだよね,と思って調べたところ,今時の mesa だと一応 GL のアクセラレーションが効くらしいです。私のノートには Savage/IX-MV というモバイル用のチップ…

YAML::Syck とアンカー・エイリアス

途中経過の覚え書きです。 my $o = [ {} ]; $o->[1] = $o->[0]; みたいな構造があったときに, $o->[0] = 'hello'; とすると,$o->[1] は {} (空ハッシュリファレンス)のままです。ところが, use YAML::Syck; my $o = [ {} ]; $o->[1] = $o->[0]; $o = Lo…

SVN::Repos::create

「svn ほげほげ」というクライアントコマンドに対応するモジュールは SVN::Client だけど,「svnadmin create レポジトリ」に対応するのは, use SVN::Core; use SVN::Repos; SVN::Repos::create('ディレクトリ', undef, undef, コンフィグ, プール); コンフ…

仮想化まわり(主に OpenVZ)

あとで書く,かもあとで書いた。OpenVZ(や Linux-VServer) は FreeBSD の jail ぽいもの?でした。おおもとのサイトに Virtualization の分類が書いてあります(日本語では Z 手帖さんの記事にあります)。んで,下記は OpenVZ の仮想化技術の解説から引き…

C10K

なんかいろいろ読んでもやもやしたんで,自分なりにまとめてみたんですがやっぱりもにゃもにゃしたままです,すいません。 沢山の人がアクセスすると大変だよ(C10K) 特にチャットとかだと人数以上にリソース食って大変だよ Ajax 使ったり,通信モデルを Co…

SpeedyCGI のプロセスの癖

以前作ったモジュール(SpeedyCGI と module reload - daily dayflower)でたまにモジュールファイルの変更を検知できないことがあったんですが,理由がわかりました。SpeedyCGI の挙動をおさらいすると, frontend が backend を探す。いればよし backend …

テンポラリファイル

id:shag さんの日記(Perl での secure な一時ファイルの取り扱い - shag の日記, IO::File::new_tmpfile() - shag の日記)と perlfaq5 をベースに私家版まとめ。 テンポラリファイルの作り方 3 選 IO::File の new_tmpfile(割と昔からあるらしい?) open…

DBIC 0.7 で has-many な nested multi-step prefetch がうまくイカネ

'author' has-many 'books' 'book' has-many 'chapters' みたいなありがちな DB で 2 authors each author has 2 books each book has 3 chapters みたいなテーブルを作ってMulti-step-prefetch をためしてみたんですけど, my @authors = $db->resultset('a…

素直なグラフィックカードが欲しいのに

HP の Core 2 Duo 搭載のマシンを会社で買いました。すんげえ静かで素晴らしいです。メモリをできるだけ多くとりたいのでオンボード VGA は利用したくない,で,せっかく静かなんで PCI-Express ファンレス Low Profile TurboCache や HyperMemory がない パ…

Email::Valid 0.177- fails

sub _is_domain_label { my ($self, $string) = @_; return unless $string =~ /\A [A-Z0-9] # must start with an alnum (?: [-A-Z0-9]* # then maybe a dash or alnum [A-Z0-9] # finally ending with an alnum )? # lather, rinse \z/ix; return 1; } 追…

POE おぼえがき

TIMTOWTDI なことがいっぱいで POE のことがよくわからなかったのですが,Cookbook とリファレンスを読んでなんとなくわかってきました。 POE::Kernel が POE システムのコアで唯一神 POE::Kernel->run()run() とも書けます">*1 を実行するとイベントループ…