RHELのリリース番号を調べる

RedHat系ディストリビューション(RHEL4, CentOSなど)では,リリースパッケージの識別用にRPMパッケージが導入されている.このリリースパッケージは,"redhat-release" をProvideしている.RHELであればこの識別子を調べることで,そのシステムのリリース番…

RPMマクロ

便利に使えるRPMのマクロたち %define foo bar %fooをbarに定義するマクロ.cpp(1)の#defineみたいなもの. 後から上書きできる. %define foo 1 %define foo 2 %foo # => 2 %{?name:expr} nameが定義されていたらexprを評価.cpp(1)の#ifdefみたいなもの. …

PAM設定ファイルは,どれが読み込まれるのか?

Linux-PAM(pam(8))が入っているような,いまどきの普通のシステムでは,/etc/pam.dディレクトリ(または/etc/pam.confファイル)が存在する.各プログラム(デーモンなど)が認証処理を行う必要があるときに,ここから設定ファイルを読み込んで,PAMを通じて必要…

freebsd-updateを使いたければRELEASEにしとかないとだめ

freebsd-update(8)を使ってシステムをアップデートしたい人は,セキュリティブランチ(RELENG_7_0等)でcsupしてビルドしましょう.freebsd-update(8)はRELEASEのみをサポートしているので,うっかりSTABLEをビルドするとはまります. いきさつ RELEASE-6.2な…

portsnapを使ってportsツリーを更新

csupを使うかわりに,portsnapを使ってportsツリーを更新することにしました. 手順は以下の通りです.「BSD にくびったけ - portsnap」にすばらしい解説記事があるので,ここを参考に作業しました.ほとんどこの記事の通りです. 手順 使い始める時にやるこ…

WWW::Mechanize(Rubyの)で一部のフォームが取れない問題

どうも,well-formedじゃないHTMLの場合に,フォームの一部を取れないみたい.例えば,以下のようなフォームがあるときにbarが取れない(WWW::Mechanize#page.forms.first.field('bar').nil? == trueになる). <p> <form> <input name="foo"> </p> <input name="bar"> 検索してみたけど情報が無い.みんな困って…

Twitterの自動follow返しをRubyで

Twitter でイチイチ follow するのが面倒くさい んだけど自前でメールサーバも立ててない - Djangoへの片思い日記 関連.Rubyだとこんな感じかな? 以下,付属ライブラリのみ使用. 自前のIMAP4サーバに対してしかテストしてないけど,たぶんGmailでも動くん…

flow-tools 0.66用パッチ

Linux (Debian SargeとかCentOS)にてflow-tools 0.66(NetFlowコレクタ)のコンパイルが通らなかったので,いくつか修正してパッチファイル作った.直したのは,ANSI C非互換のキャストの使い方をしていた部分と,ブロックの最後にラベルがあるとエラーになる…

リストのリストから,ハッシュのリストを作る

「怠慢はプログラマの美徳」というけれど - kなんとかの日記 を見て, 例えば、スクリプト言語で次のような Hash や Dict を書いたとする。 data = [ {'name'=>'Foo', 'age'=>20, 'email'=>'foo@mail.com'}, {'name'=>'Bar', 'age'=>21, 'email'=>'bar@mail.…

テイルズ・エール・ハウス

ピンクの象さんの看板でお馴染みの,テイルズ・エール・ハウスに行ってきました.このお店は,やたらとクオリティの高いベルギービールが飲める,とても危険なお店です.店内の様子はこんな感じ お店に着くや否や,最初からロシュフォール10をオーダするだめ…

SMTP-AUTH用の証明書を作る

酔っぱらった日は証明書のメンテナンスに限る.ということで,デフォルトで入ってたSnakeOil証明書に甘んじていた我が家のPostfixを,もう少しましな感じにしようかなと決意する.結局,第四種オレオレ証明書だけどね. 作業手順 /etc/ssl/demoCAができてる…

VMware上のUbuntuでMozilla Trunkビルド環境を作る

VMware上にUbuntu 7.10環境を構築し,Mozilla Trunk(Minefield)のビルド環境を構築するためのメモ. 環境 Ubuntu 7.10 (Gutsy Gibbon) Desktop CDを使いGNOME環境を構築する. 事前にisoイメージを適宜入手しておく. 作業手順 (Ubuntuセットアップ) VMware…

WEBrickをちょこっとだけ触ってみる

デバッグ用にちょっとしたWebサーバを作ってみたくなったので,WEBrickを触ってみた. #!/usr/local/bin/ruby require 'webrick' require 'pp' class MyServlet < WEBrick::HTTPServlet::AbstractServlet # Process GET Request # # _req_:: WEBrick::HTTPRe…

Smartyをちょこっとだけ触ってみる

ほとんど忘れていたPHP5の復習がてら,Smarty触ってみた.とりあえずサンプルコードから適当にコピペしてでっちあげる.動く.全く簡単だ(動かす分には). メモ {$var|escape:"htmlall":char_set}はhtmlentities($string, ENT_QUOTES, $char_set)相当 defaul…

バレンタインデー

チョコもろた.

syslog.confチートシート

毎回syslog.confの文法を思い出すのが面倒になってきたので,チートシートを作ってみました.syslog.conf(5)は読みにくいし.とりあえずDebian Sargeのsyslog.conf(5)を参考に作成した. ■syslog.conf cheat sheet (for Linux) 1行1ルール.selectorにマッチ…

Amazon S3登録してみた

カード番号入れて,次はどうすれば……と思っている間にビールが空き,酔っぱらったので,今日はここまで.とりあえず,Firefox機能拡張 S3foxとEC2UIは入れた.

恵方巻き

:zu様のところの恵方巻きのエントリに反応.我が家でも,今年初めて恵方巻きを食しました.感想: 「恵方の方角確認するのとか何か面倒くさいけど,うまいからゆるす」こうして内地かぶれしていくのだろうか…….

炭火串焼き 飯田橋「萬集」

http://r.gnavi.co.jp/g896306/評価は,5段階で4.焼き鳥がうまし.

our変数の動作とか

Perlのmy, local, ourの違いについて,はてブ方面で盛り上がっていましたので,私も5年ぶりぐらいにPerlを触ってみましたが,ourの検証でのっけからはまりました.まず,「ourはレキシカル変数だ」と思って,次のようなコードを書きました. #!/usr/local/bi…

MH形式フォルダをMaildirに変換

必要にかられ,MH形式のフォルダをMaildirに変換するスクリプトを書きました.Rubyで.MHからMaildirに移行する場合に便利に使えると思います.Googleなどの検索エンジン経由で見つかるmh2maildirというツールもあるようですが,以下の点がいまいちに感じま…

MH形式のおさらい(メモ)

MH形式フォルダのおさらい. 1メール1ファイル メールは「UNIX From行」がつく場合もある "From nospam@example.com Tue Mar 14 11:13:50 2000" こんなの MTA/MDAがメール配達時にEnvelope Fromの情報を格納するために使う Maildir形式に変更するときは,Ret…

複数のMaildirをひとつにマージするスクリプト

複数のMaildirに格納されたメールを,ひとつのMaildirに統合するスクリプトを書きました.Rubyで.バックアップからMaildirをリストアする時などに使えるかもしれないので,公開しておきます. 概要 指定された2つのMaildirに格納されたメールを,ひとつのMa…

Domain-0上の物理ディスクをDomain-Uからマウント

Domain-0からアクセス可能な物理ディスクのうちの2つを,Domain-Uから直接mountしたくなったので,いくつか設定の変更を行った. 設定手順(Domain-0) (1) Domain-Uの設定ファイルに以下を追加 disk = [ 'file:/home/xen/domain-u.img,hda1,w', 'file:/home/x…

フィボナッチ数で遊ぶ

日曜プログラマとしては,フィボナッチ数(wikipedia)を生成する関数くらいは呼吸するかのごとく書けるようになりたいと思ったので,書いてみた.Rubyで.これがまだdoukaku.orgに投稿されていないのは不思議だなぁ……. イテレイティブに書いた版 はじめに,w…

grepの-fオプションは便利

grep(1)に-f FILEオプションを渡すと,パターンを-eで渡すかわりにFILEから拾ってきてくれる.FILEの中身は,1行に1パターンを書いておく.もちろん-vもちゃんと効く. % cat pattern foo bar baz % grep -v -f pattern file.to.grep上記を実行すると,file.…

その他(どうでもいい話)

昔,私の管理していたSMTPサーバでは,SPAMメールを送りつけてくるようなMTAに対して「550 F*** you spammer!」とか返していたのは,ここだけの秘密です.でも,きっとみんな同じようなことをしていたに違いない.

もし自分がTrackBack/1.02だったら

ステータスコードで不快感を表現したいを読みました.ここで,「もしも,自分がSPAM Trackbackを行うユーザエージェントを作る立場だったら」という想定をしてみました.SPAM Trackbackを行うユーザエージェント(以下,botと記述)の目標は,「よりたくさんの…

Rubyめも

Mutex#synchronize synchronizeの途中でnextを使うとイテレータブロックを抜けるが,breakと動作の違いがあるか気になったため検証したところ,どちらも同じ動作(単純にsynchronizeブロックを抜けて次の行に行く)となった.ただし,プログラムの見た目的には…

XPathめも(兄弟関係を表す軸)

following-sibling::* 自分のノードの後続する兄弟.ほんとは4番目の要素を指したいけど,3番目の要素にしか名前(classとかidとか)が付いてない! みたいなときに便利. following-sibling::*[2]とやると,自分より(document order的に)2つ後の兄弟を指す. p…