memo

Mercurial 勉強中 (2) - Trac と統合

Trac を Mercurial で使えるようにして,mod_wsgi にのせてみました。といっても,TracModWSGI – The Trac Project と TracMercurial – The Trac Project に沿ったらできましたのでインスコ方法とかは略。せっかくなので Trac 0.11b1 でやってみました。ソー…

Mercurial 勉強中 (1)

Mercurial の特徴 Mercurialでバージョン管理,http://python.matrix.jp/modules/mercurial.html#id3 も参照のこと。 分散型 SCM として設計されている 各レポジトリのチェックアウトはおのおの(基本的に)独立している;独立して生きていける Subversion …

Perl の文字列の内側の記事の補足

前回の記事が期せずしてホッテントリ入りしたので,ちょっとマズいと思い。 前回の記事が難しいと思ったとしても,それは恥ずべきことではありません。 あくまで Perl の内部構造の話ですから*1。 ただ,Perl で文字列を扱う/文字コードを扱うのは難しい,…

UTF8 フラグあれこれ

UTF8 フラグについてわかってるつもりだったんですが,utf8::is_utf8 considered harmful - Bulknews::Subtech - subtech を読んで混乱したので,自分なりにまとめてみました。間違いがありましたらご指摘よろしく。 まとめ スカラー変数の内部表象の状態を…

breakttc を Perl で書いてみた

TTC ファイルを分割するためには BREAKTTC.EXE という Microsoft 製のソフトウェアがあるのですが,今は公開されてないようですし,いちいち Windows を立ち上げるのも面倒です。TTC の構造については仕様が公開されているので Perl で書いてみました。non s…

overload の rebless バグについて

きちんと追いきれなかったので結構ぐだぐだです。 そもそも bless の挙動とは #!/usr/bin/perl use strict; use warnings; package FooBar; package main; my $a = { }; my $b = $a; print $a, "\n"; # HASH(0xb8002a0) print $b, "\n"; # HASH(0xb8002a0) b…

Unicode::Numeric

Perl で Unicode Character について触る - daily dayflower で書いたように文字の数値を調べるには Unicode::UCD を使えばよかったんですが,それを知らずに途中まで作りかけていた数値変換モジュールを一通りインプリメントしたので,さらしておきます。利…

UNIVERSAL と Scalar::Util::blessed の話

毎度和訳お疲れ様です>hio-san 逆にいまいちわかんないのが UNIVERSAL まわり。isa類を関数として使うのはよろしくないで, メソッドとして使ってね&blessされているかも確認したかったら Scalar::Util の blessed (オブジェクトの時)か reftype (なにかHAS…

Samba の builtin account にまつわるエラー

[2007/12/19 17:03:49, 0] auth/auth_util.c:create_builtin_administrators(792) create_builtin_administrators: Failed to create Administrators [2007/12/19 17:03:49, 0] auth/auth_util.c:create_builtin_users(758) create_builtin_users: Failed to…

Samba & winbindd での valid users の指定方法

ads & winbind なセッティングで,HOGE ドメインの Domain Users にのみアクセスを許可したい共有フォルダを作る方法。私の環境では,全体設定として [global] security = ads workgroup = HOGE idmap domains = HOGE idmap config HOGE:default = yes idmap…

mod_extract_forwarded を改造

mod_proxy_http を使うかどうかでソースを書き換えなくちゃいけないのは面倒なので,APR の DSO 関数とか使ってがんばってみました。本来は関数の hook は register_hooks callback stage で登録するのが筋なんですが,ap_pre_config hook で登録するという…

automake の check ターゲットの操り方

あんまし日本語のドキュメントがみつからなかったので試行錯誤のあとを書いてみます。まぁ,Support for test suites - automake に書いてあるんですが。Makefile.am に TESTS という変数を定義しておくと,make check したときに実行して結果を教えてくれま…

svk によるレポジトリ分割の作業記録

前回は svnadmin dump を利用してレポジトリの分割を行いましたが,今回は svk をレポジトリ操作ツールとして使用し,レポジトリの分割をおこなってみました。svndumpfilter に比べるとやや柔軟性が落ちますが,ことレポジトリの分割ということに焦点をおく…

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

以前の記事: Timekeeping in VMware Virtual Machines を読み解く (1) - daily dayflower Timekeeping in VMware Virtual Machines を読み解く (2) - daily dayflower だいぶ間が開いてしまいましたが,今回は原典の pp.6-9 を読み解きます。Host OS, Guest …

VMware Server 1.0.4 on Core2Quad で guest の時刻が進みまくり

今まで時刻が遅れるというのはよくあったんですが,x86_64 で CentOS 5.1 をインストールしたら時刻が進みまくりで困ってます。時には倍速近い。host の vmware.log から Dec 06 18:04:09: vmx| KHZEstimate 600000 Dec 06 18:04:09: vmx| MHZEstimate 600gu…

CentOS 5.0 と 5.1 のパッケージのバージョン番号を比較してみた

5.1 のリリースノートと併せて読むと趣深いかも。 CentOS 5.0 ⇒ $releasever を 5.0 に置換して yum update CentOS 5.1 ⇒ yum update の比較です。なるべく最小限にインストールしたものなので参考程度(どれくらい変更があるか)に。i386 で比較すればよか…

CentOS 5.0 のままアップデートを続ける場合

/etc/yum.repos.d/CentOS-Base.repo からの抜粋です。 [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/up…

レポジトリ分割の作業記録

とりあえず新規レポジトリを作るまでもないけど作業履歴をとっておきたい,という場合,わたしは Sandbox というレポジトリに全部つっこんでいます。 /Sandbox /project1 /project2 /foobar 各サブプロジェクトごとに trunk 等を切ることもありますし,そう…

CentOS 5 に ZABBIX をインストールした

ZABBIX の特徴 (Cacti ほどではないが)Nagios より見映えが洗練されている Nagios と異なり Web UI から管理項目を追加したりできる Cacti よりリモートエージェントが軽い,と思われる 警告通知にメールだけでなく Jabber プロトコルが使える*1 ざっくり…

CentOS 5 で xfs モジュールがいつのまにか extras レポジトリに入っていた件

いままで centosplus の xfs カーネルモジュールを使ってたんですが,これを使おうと思うと kernel も centosplus レポジトリから入れないといけないんですよね。つまり,メインラインでカーネルのバージョンがあがっても centosplus 版のカーネルがあがるま…

Drupal でメッセージを隠せるようにする

Drupal 5.x は昔と比べて見目麗しくなったので,最近ちょこちょこ遊んでいます。ページの追加とか管理作業とかすると上部にメッセージボックスがでるんですが,これをクリックすると消えるようにしたいと思いました。activeCollab*1 だとそういう挙動なんで…

GNOME Terminal で screen の hardstatus 等をタイトルバーに表示

screen のステータス等,ウィンドウのタイトルバーに表示するには, hardstatus string "screen(%n): %t%h"みたく,%h をいれとけばいけるっぽいんですが,GNOME 端末ではうまくいきませんでした。んで, % echo $TERM xterm-colorあ,そうなんだ。というこ…

Delphi 6 で XP Style に対応する

Delphi 7 以降を買えという気もしますが,未だに Delphi 6 Personal 版を愛用している人もいるかと。俗に manifest 書けばできるよ(⇒ Windows XP の Luna スタイルに対応しよう)といわれていますが,TPageControl とか対応してないコントロールがあったり…

TWebBrowser を実行時に生成する

使ってる人には常識的な話でしょうけど。TWebBrowser は COM コンポーネント側に Parent という(IDispatch 型の)プロパティを持っています。で,これが VCL の Parent プロパティを隠してしまうので,実行時生成しようとすると困ります。 FWebBrowser := T…

Compiz Fusion での Window Rule の指定の仕方

see ⇒ http://forum.compiz-fusion.org/showthread.php?t=1768 type xprop | grep WINDOW_TYPE | cut -d _ -f 10 以下のいずれか: any, unknown, combo, desktop, dialog, dnd, dock, dropdownmenu, fullscreen, modaldialog, menu, normal, notification, p…

TDateTime のナゾ

ほとんどの VCL オブジェクト は TDateTime 型を使って日付値と時刻値を示します。TDateTime 値の整数部は西暦 1899 年 12 月 30 日からの経過日数を示します。小数部はその日の経過時間(24 時間制)です。 んーなぜ 1899/12/30 からなんでしょうね。でもそ…

110Gd (IT8718F) のためにカーネルモジュール it87.c をビルドする (2)

110Gd (IT8718F) のためにカーネルモジュール it87.c をビルドする (1) - daily dayflower の続きです。その後の奮闘(昨日の記事の追記参照)で insmod を使った場合に it87.ko がきちんと ITE8718F を認識されるところまでは来ました。あとは,modprobe で…

110Gd (IT8718F) のためにカーネルモジュール it87.c をビルドする (1)

(1) といいつつ,時間がないのでたぶん続きません。 NEC Express 5800 / 110Gd には ITE の 8718F というセンサモジュールが搭載されてます。ですが,これは rhel の 2.6.18 系のカーネルではサポートされていません*1。なので lm_sensors で測定不可能です…

trac のレポジトリブラウザで Delphi のコードを syntax highlighting

trac のレポジトリブラウザでソースコードに色付けをするには,下記の2つのコンポーネントのうちいずれかをインストールする必要があります。 SilverCity GNU Enscript ただ,後者は別プロセスを立ち上げるので重そう。前者を使うことにします。SilverCity …

クロージャの持つ関数ポインタを得るには @ 演算子を使う

type THogehoge = class public procedure Dummy; end; var cl: procedure of object; fp: procedure; begin fp := @cl; // 関数ポインタだけ取り出し if @cl = @THogehoge.Dummy then // クロージャの関数ポインタと THogehoge の Dummy 関数が等しかったら…