トップ 最新 追記

2006-02-02 [長年日記]

_ ircd-hybrid の 7.2.0 と X-Chat が相性悪い

ircd-hybrid を何の気なしに上げたら

Server load is temporarily too heavy.

ってメッセージがじゃんじゃか出てくるようになった。最初は裏でコンパイルとかしてるから重たいのか?とか呑気なことを考えてたんだけど、調べてみると X-Chat が定期的に /WHO を投げてるのがよくないとかなんとか。snapshot ではもう直ってるから数日から数週間で 7.2.1 が出れば解決じゃないかみたいな話が出てたのが昨年末。まだ 7.2.1 は出ない。

irc クライアント変えれば問題ないのは確認したけど、気持ちよくない(というか新しいソフトいろいろ調べるの面倒でやだ)ので portdowngrade した。すげー便利だな、これ。

Tags: FreeBSD Net

_ PukiWiki 中身消えちゃったように見える問題再現

うちのサーバでも 4.4.2 に上げたら再現したorz 4.4.2 + 1.4.4 はアウトってことね。

そうかい分かったよ、とりあえず PukiWiki 1.4.6 のカスタマイズするよ。常時使ってるものに影響が出ちまったらさすがにやるしかあるまい。

やっぱやめた。どうもファイルの存在が分かってないみたいだなぁとは思っていたのでちょっと眺めてみたら、ページ名からファイル名を取得する encode() に使ってる unpack() で返ってくる値が変わってしまっていた。

CVS Repository - log - SourceForge: pukiwiki/pukiwiki/lib/func.php

を参考に、func.php を

246c246
<       return ($key == '') ? '' : strtoupper(join('', unpack('H*0', $key)));
---
>       return ($key == '') ? '' : strtoupper(bin2hex($key));
252c252
<       return ($key == '') ? '' : substr(pack('H*', '20202020' . $key), 4);
---
>        return ($key == '') ? '' : pack('H*', (string)$key );

にすれば ok っぽい。


2006-02-05 [長年日記]

_ 久しぶりに Fink をアップデート

fink selfupdate; fink update-all

果てしなく長いんだよな、これが。途中何かを落としてくるのにたいてい詰まるし、放置できないのもつらいところ。

Tags: OSX Fink

_ 寒いですね

身長より高い水しぶきの氷

珍しく氷点下まで冷えるようになり、めったに見られない光景が出現。道路にできた水たまりを車が跳ね上げて、それが電柱とかで凍り付いてる状態。

金属の方は保護色ですごい見にくいけど、これ、撮影してる人間(170cm)より高い。

寄って見るとこういう状態なわけ

Tags: Photo 日々

2006-02-06 [長年日記]

_ zsh + screen 環境で単に cd って打つと挙動がおかしい

  • screen を使ってないとおかしくならないので先日の zsh スクリプトの影響だろう
  • zsh 4.2.5 + screen 3.09.15(OSX)では問題ない
  • zsh 4.0.4 + screen 3.09.11(Debian 3.0 x86)で問題発生

screen の window title が空っぽになっちゃって、何をしても画面上に反応が出なくなる。current の window を閉じちゃえば使えるが、なんか食い違ってるらしく、リフレッシュさせないと画面が壊れてしまう。

cd ~

ってやれば回避できるんだけど、なんか気持ち悪いな。


2006-02-09 [長年日記]

_ クライアントとサーバで同じ言語を使えたら便利かもね

http://haxe.org/

6以降の Flash Player でも Apache module でも動く*1 ECMAScript ベースの言語。悪い言い方をすると IDE がなくて(Eclipse plugin はある)デファクトに乗っかりまくりな Curl (日本法人) みたいなもんか? ライセンスは各種オープンソース。コンパイラやライブラリなどの違いによって GPL や two-clause BSD, LGPL が選択されている。

http://www.mtasc.org/

ActionScript 2 コンパイラ。ActionScript 3 に対応するつもりはなく、上のプロジェクトに注力することになるらしい。

JavaScript でも Server-side JavaScript (Wikipedia) とか見るといろいろプロジェクトはあるみたいだけど、いちばん現実的なのは JScript.NET なのかな。

*1 standalone executable package も使えるように Introduction には書いてあるなぁ

_ PATH_INFO と <base> と Web の「完全」保存

ここんところ地味に調べていた範囲で分かったところ。

  • 動的に出力しているページは PATH_INFO のパラメータを利用するしないに関わらず、PATH_INFO 付きのリクエストが可能
  • PATH_INFO 付きのリクエストの際、クライアントがページの PATH を誤認してしまい、相対パスで指定されている画像などが正しく取得できないばかりか、この場合はすべての画像などのリクエストがスクリプト本体に集中する*1
  • つまり、画像をたくさん使っているページは、PATH_INFO 付きリクエストをしただけで軽く DoS

といった動作が起きる。つーことで、動的に生成しているページでは PATH_INFO を利用している利用していないに関わらず <base> を吐くようにした方がよい。*2面倒くさいから同じ意味を持つ HTTP ヘッダか何かないのかと思ったけど、どうやらそういうものはないらしい。

問題は <base> ってどのクライアントに対しても安心して使えるものなの?ということなんだけど、i-mode, Vodafone, EZweb, L-mode の HTML および XHTML の仕様には base 要素はありました。EZweb の proxy サーバによる XHTML → HDML 変換でもこれは生きるようです。WILLCOM では Opera か NetFront が標準と考え(超乱暴)、どの環境でも使えると踏んでいいんじゃなかろか。

で、ふと思ったのは、<base> を HTML の中に書いちゃったら、ローカルに保存してもそれが有効じゃん?てこと。試しにやってみたらバッチリ <base> の指示通り、ページが公開されていた URL に対して画像をリクエストしてくれた。警告も何も出ない。*3んー。これってどうなんだろう? Thunderbird ではプライバシーやセキュリティの観点からリモートの画像をダウンロードしない設定が可能だけど、ブラウザの場合はどういう動作するのがいいのかね。

じゃあ「完全」保存の場合はどうなるの?と思ったら、これは以下のようになった。

ブラウザ<base>の処理
IE6SP2コメントアウト
Firefox 1.0.7コメントアウト
Opera 8.5削除

どのブラウザも、ローカルに保存したファイルだけで完結するように HTML を修正している。

ついでに、「完全」てどの程度完全なのよ?と思って CSS の @import を利用しているページを保存してみた。今度は

ブラウザ@import への追随
IE6SP2×
Firefox 1.0.7×
Opera 8.5

こういう結果になった。Opera 優秀。と感じるが、Opera は注意が必要。保存したファイルは HTML も画像もすべて同じフォルダにどばっと保存される。うっかりデスクトップに保存した日にゃ大変な目に遭う。

Tags: Web PATH_INFO

*1 PATH_INFO が付いたまま画像などをリクエストするため。

*2 すべて絶対パスで指定しているか、PATH_INFO 付きのアクセスを禁止するとか rewrite するとかしてるのなら話は別だけど。

*3 とりあえず Firefox のデフォルトの設定ね。


2006-02-11 [長年日記]

_ @-moz-document が効かねぇなかった

Firefox 1.5 に変えたんだけど、URIid が使えなくなったので @-moz-document に記述を変更…したけど効かない。なんだおい。また Mac 版はバグ持ちか? ブックマークを検索しても落ちないようにはなったけどさ。

あれー、index.rdf が更新されないぞ? なんだよ、どうなってんだよ。

更新された。

moz-document は一部でもミスがあるとそれ以降全部適用されなくなることがあるみたい。

Tags: Firefox Web

2006-02-12 [長年日記]

_ スポーツ中継を見るたびに思うが

NHK は落ち着く。CM もないし、当然 CM またぎの変な煽りもないし、不必要に大勢芸能人が出てこなくて静かだし、実況するアナウンサーの力量が安定している。スポーツ中継はスポーツが主役なんだからこれが最も正しい姿だ。*1

アナログBS はワイドじゃないのね。ま、うちワイドテレビじゃないからそれでいいんだけど。

Tags: TV 日々

*1 今見ているのは生じゃなくて録画だけど

_ あで。FreeBSD6 で ntp が正常に動いてない。

起動してるけど listen してないなぁ。なんじゃこりゃ。デフォルトではすべてのアクセスが有効なんじゃないのか。認証周りでなんか設定増えてんのかなぁ。

ハンドブック(英語)とか読んでみても何が悪いんかピンとこない。とりあえず宿題にしておこう。

[2006-02-15 追記]udp はそもそも netstat で見ても listen とは表示されないし、nmap はデフォルトでは udp の port を scan しないというだけの話でした。で、正常に動いていないのはどうもサーバリプレイスを慌ててやったときに時計を合わせるのを忘れてただけだったらしい。くだらなすぎっていうか修行足りなさすぎ。

[2006-04-22 追記]

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

が足りなかった。FreeBSD 6 の ntpd のバージョンだとデフォルトでアクセス制限が有効なのね。あと正しく動いたあと、しばらく待つ。ntp って意外と面倒くさい。

Tags: FreeBSD Net

2006-02-13 [長年日記]

_ 結城さんRubyデビュー

Rubyに移植したTropyのスクリプトを公開

そんだけですが。

あとで中身見てみようかな。

Tags: Web Ruby

_ 無報酬時間外労働

志の高い企業、ふつうの人

あー。

どこの業界でもそんなもんだと思ってました。そして当分はこのままだろうと思っています。少なくとも中小はよほど強力な武器を持ってなけりゃそんなもんじゃないのかなぁ。

あと具体性のない根性論を持ち出す経営者は困ったものですが、具体性もあって単なる根性論ではないが現実には少し無理をし続ける必要がある、ってことは実はよくあるんじゃないかと思ったり。

つーか病んでない業界ってあんの? 病んでない事業者*1はあるだろうけど。

*1 会社にも組織にも限定しない

_ テストに対する恐怖感というか大げさ感を和らげる

テストで手を抜く

大真面目にテストを書くのは面倒くさい。だから本当に確認したいことだけをとりあえず確認しちゃえ的な話。*1

実践的なテストに関する文章で、まだ読もうという気になる長さのものってあんまり多くないし、内容が内容(妥協推奨)なのでこれはとても嬉しい。テストもコストとのトレードオフってのは当たり前ではあるんだけど、誰かに言ってもらうと気が楽になったりする。

*1 超乱暴な意訳につき取り扱い注意。

_ 世田谷区のゲーム脳講演の対応

世田谷区からゲーム脳講演について回答が届く

実際の講演がどうなるかがいちばん大事であるとは言え、紋切り型の「ご意見ありがとうございました。今後の参考にさせていただきます。」でないところは、行政の対応の早さと内容として評価できるものだと思う。

どうするどうなるゲーム脳。ガンバレ世田谷区。

Tags: Edu 日々

2006-02-14 [長年日記]

_ PHP 4.3 以降で SQLite

[2006-08-01 追記]以下の方法で入るのは SQLite 2 です。3 も 2 も両方使えるのは 5.1 以降 + PDO 環境だけのようです。

PHP で SQLite って言うと、5 で標準搭載という話題ばかりになってしまってるわけですが、実際には PECL から extension をインストールしちゃえば 4.3 以降で使えます。非Win環境では

pear install pecl/SQLite

(要ビルド環境)して extension を load するように設定を書き換えれば ok. Windows では http://pecl.php.net/package/SQLite からダウンロードしてくること。

なんだ、楽勝じゃんと思ったら OS X(Panther)の CLI版では extension の load がうまく動かず、リリースされたばかりの MDB2_Driver_sqlite がインストールできません。仕方ないので

pear install --ignore-errors MDB2_Driver_sqlite

として強行突破。

ちなみにエラーは具体的にはまず Unable to load dynamic library で sqlite.so が load できずに、pear のチェックで弾かれて MDB2_Driver_sqlite がインストールできないと言われる。これは extension_dir が適切にセットされていないから。

しかし extension_dir をセットすると今度は

dyld: /usr/bin/php Undefined symbols:
_OnUpdateInt
_core_globals
_display_link_numbers
_executor_globals

と言われて pear が起動しないという有様。

ちなみに mod_php の方では問題なく動くので

sudo cp /etc/php.ini /etc/php-cli.ini

として CLI 版用の ini ファイルを作り、そこでは

;extension=sqlite.so

とコメントアウトしたら pear が起動できるようになった。pear の起動ができないんじゃ CLI 版の意味ないんで、CLI からの SQLite の利用はとりあえず諦めるということで。(この辺の ini ファイルの扱いについてはマニュアルの 実行時設定 参照。)

FreeBSD では普通に使えているし、これは OSX 版の標準の PHP だけの挙動かも。全部 Fink で入れたらまた違うのかもしれないけど、面倒なんでやってない。


2006-02-15 [長年日記]

_ 今日のおれニュース

  • BerkeleyDB が Oracle のものに
    • なるのかな? Sleepycat が買収されるんだからまぁ間違いはないだろう。
  • 山田くんに隠し子
    • へぇ
  • nmap はデフォルトでは UDP の scan はしない
    • 今ごろ気づいたのかよ!
  • FreeBSD の NTP の問題は単に時計が狂ってただけ
    • サーバを慌ててリプレイスしたときに時計合わせるの忘れたらしい。ひどい話だ。
  • Firefox 1.5 @OSX
    • 印刷のときにヘッダとかフッタとか指定できるようになってチョー嬉しいよ
  • そう言えば日本はメダル取りましたか?
    • 予定通りオリンピック全然見てないデス

また index.rdf が更新されない…

って書くと更新されるのはなんでだろう。

Tags: 日々

2006-02-16 [長年日記]

_ 円熟を飲んでみた

KIRIN_円熟

発泡酒なんて久しぶり。

思ったよりかなりうまい。残念ながら後味がちょっと悪い気がするけど、それはいつも麦100%を飲んでるからかな。

Tags: Food 日々

2006-02-21 [長年日記]

_ Ruby リファレンスマニュアル改善計画だそうで。

Rubyist Magazine - 0013 号 巻頭言

まず、現在「ruby 1.7 feature」「ruby 1.8 feature」というのが残っている問題について。これは現状では不要であるが、Ruby 1.6 のリファレンスがないために残っている。そこで、1.6 版の最終版として、どこかの時点で凍結したものを用意し、入手できるようにしておく。そして、今後編集していく本体の方からはすべての「ruby 1.7 feature」「ruby 1.8 feature」を削除すればよいだろう。

なお、1.9 feature については、そのまま残しても構わないが、無理につけ加える必要もないので、必要に応じてつけていくことになるだろう。まずは 1.8 の安定版のマニュアルを作ることを優先するべき、という判断の元、1.9 への対応については今後の課題とする。

これ実は個人的には結構気に入っている記述だったんだけど…。

PHP のマニュアルもこんな感じになっていて、あーこの関数は PHP 4.3 からだったのかーちくしょう、とかこれは 3 から使えてたのか、へー知らなかったな、これは 4.2 から挙動が変わったのか、じゃあここはこうしなきゃダメじゃないか、てなことを思いながら参照している。

まぁ 1.6 対応のスクリプトを書くときは 1.6 用のマニュアルを見ればよいという割り切りができる方が普通は楽なのかなぁ。なんか寂しいというか、自分にとっては使い勝手が悪くなってしまうような気もして怖い。マニュアルを2つ用意しなきゃならないという面倒くささもある。1.6 の環境だけの人、1.8 の環境だけの人は別になってると楽だけど、両方使ってる自分にとってはマニュアルが分かれるのはあんまり嬉しくないような気がするなぁ。

日本Rubyの会は世の中で Ruby に触ったことのある人たちよりも絶対にベテランで、かつ環境も新しいものに結構よく追いついて行っている方だと思われるので、1.8 以降の記述に集中したいっていうのは分からなくもない。まぁ「まずは 1.8 の安定版のマニュアルを作ることを優先するべき」という課題に最短距離で向かうためには切り離した方が作業はしやすいか。そうだよな。

Tags: Ruby

_ RWiki ってすごい?

Rubyist Magazine - Rubyist Hotlinks 【第 13 回】 関将俊さん

咳 まずは。ふだんもう立ち上げっぱなしで。

須藤 えーっ。そうだったんですか。

咳 irb 端末が一個。

一同 (笑)

笹田 じゃあ、Ruby がどうのっていうわけじゃなくて?

咳 Smalltalk の workspace みたいなかんじで繋げっぱなしで、例えば今のイテレーションの状況とかって計算するときに irb から直接 RWiki に繋いで結果ばーって。

笹田 あー、なるほど。すげーかっこいい。

須藤 かっこいい。

角谷 かっこいい。

かっこいい。分かんないけどかっこいい。

前の方にも書いてあるけど RWiki は RD → HTML ということだけではなくて、Ruby のオブジェクトを保存しているイメージなんだそうだ。中身見る気力があるかどうか分からないけど、動かすだけ動かしてみようかな。ひょっとするとものすごく便利かもしれない。*1記法の問題は残るけど(結局それか)。

[2006-02-22 追記]動かす方が気合い要りそうだったのでやめた。

Tags: Wiki Ruby

*1 前から細かくメタ情報が残ってて便利だなとは思ってたけど。


2006-02-22 [長年日記]

_ 0.5pt くらいの破線が引きたい

NeoOffice も Pages も表の罫線を破線にできないんだけど、こういう需要ってあんまりないのかしらん。線の太さも 1pt からって太すぎるんだよなぁ。

なんつーか、CSS の方が細かく制御できるじゃんと思う時代がくるとはちょっと想像してなかった。

Tags: Tool

_ Mac でも PDF の結合

PDF reDirect 便利そうだなぁと思いつつ、探してみる。

PDF結合 (ぐだぐだ日記)

なるへそ。

PDFLab 使ってみた。結合した PDF を生成する前に PDFLab 上でプレビューを見れないのがちょっと残念かなぁ。機能的にはそれ以外はあんまり不満はなさそう。(本当はしおりの機能がほしいんだけども、まぁ置いておこう。)

Tags: PDF OSX

_ lighttpd + fastcgi + php4

ports では CGI版と mod_php版が併用できないので別な機械で実験。(すでに mod_php で動いているので。)

結論としてはとりあえず動かすだけならとても簡単。ports で入れたからかどうか分からないけど、lighttpd の設定ファイルに PHP を fastcgi で動かす場合の設定がコメントアウトされた状態で入っていたので、それを外しただけで動いてしまった。

しかも拡張子との関連づけで実行するバイナリが決まっているので

  • permission にルーズでいい
  • shebang を書かなくていい

という mod_php でのメリットがそのまま生きる。ステキ。肝心の速さはまだよく分かっていない。とりあえず phpinfo を出してみただけ。


2006-02-23 [長年日記]

_ その他の雑酒2を飲んでみた

プレミアムモルツを箱買いした客にこれを試飲でプレゼントするのって、ものすごいセンスだと思うんだけど、もらったものはとりあえず試してみる。

すげー。ビールの風味が全然ない。

果汁系の味のしないチューハイとして飲めばこんなもんかなと思うけど、これで第3のビールって売り方はないだろ。

Tags: Food 日々

_ 高林さん引っ越したのか

いやなブログ: 0xcc.net

RSS を読んでて全然エラーとか出ないから気づかなかった。(つーか上のエントリ見落としてるんだけど。)

なんで分かったのかというと、見慣れないリファラがあったから。

Tags: Web

2006-02-25 [長年日記]

_ svk って Panther に入らないなぁ

[2006-08-01 追記] いつの間にか svn も svk も、fdclone も mccc も Rails も Fink に入ってる!

  • svn はバイナリがあるんだけど、svk はバイナリがない。
    • Tiger でしかまともに動かないっぽい。
  • Fink でやってもエラーが消えない。
    • 達人はなんとかできるんかもしれんけど、分かりまへん。
  • よく考えたら svk は Perl の svn-mirror モジュールを使ってるだけだし、svn そのものに mirroring と同等に扱える機能があるんじゃないか?

つーことでもうちょっと svn そのものを勉強せないかんちゅーことか。ruby-svn でなんとかならんかと思ったけど、Fink にも gems にもなかったんで結局手作業の予感。

※ Tiger にすれば解決する問題でもあるんだけど、上げられない機械があると思いねぇ。


2006-02-27 [長年日記]

_ wiki-study

wiki-study

あとで申し込むメソッドを日記でやるテスツ。

GMail アカウントあればどこからでも申し込みできて便利かなぁ。Gmail Invite もついでに please してみるテスツ。

※ 自宅サーバに IMAP ってのは ToDo には入ってるんだけど、そんなに強く必要性を感じないし面倒くさいので進んでません。

Tags: Web 日々

_ それ実は考えてた。

Web2.0時代のコメント機能の条件

……と、ここまで書いてたんだけど実は今ならはてなブックマークに全部丸投げでもいいかもね。APIで全コメントを取得してページのフッタにべろっと展開して、ブログの画面のコメント入力欄のように見えるフォームは、実はb.hatena.ne.jpにポストするという。

実はコメント欄のない splash star を見て、「ぶくまでも始めるか」と思っていた。でも本家にコメント欄がつくならそれ使おうっと。

でも何に対してコメントつけようと思っていたのかはもう忘れた。

Tags: Web

2006-02-28 [長年日記]

_ 春を感じるきっかけ

車が汚い

車の汚さが目につくほど日が差すようになり、同時に地面や空からの水攻撃が減り、乾いた跡が目立つようになってきている証拠。

洗車してないのかって? 北陸の人間が冬の間に洗車なんかするわけないでしょ。そんな無駄なこと。

Tags: 日々

_ PukiWiki のパーサだけ取り出せないか

PukiWiki/1.4.6読み込み - PC説教講座

ちゅーことで読み始めてみた。まだ目と grep だけで追ってるので漏れてる可能性おおいにあり。今のところパーサの動作とリンクの生成とページの生成がうまく切り離せていないので必要なファイルがやたら多そうに見えるけど、切り離せればもう少し減らせると思う。

最終的にはパーサの動作だけを取り出して markdown みたいに独立したライブラリとして利用できる形を目指したいんだけど、どこまでできるかな。今思っているのは

  1. PukiWiki のパーサだけでテストが書けるようにしたい
  2. PukiWiki のパーサを自作のツールで利用したい
  3. markdown など著名なテキスト整形ライブラリと同じ API を用意する
  4. 本当に独立したライブラリにできたらどっかプロジェクトとして登録して自分以外の誰かに管理してもらいたい
    • 先に登録するって手もあるけど、成果が出るかどうか分からないのでまだ保留
  5. PukiWiki のパーサを他の Wiki や blog ツールなんかで利用したい

4 から先までの道のりはちょっとヘビーだなと思っている。(その前にたぶん 2 まで行く辺りで一度飽きるだろう:-)何しろ汎用のツールとするにはあまりに global な名前空間を汚してしまっているからだ。(一応あまりに多くの変数に分かれていたのを、ハッシュにして数を減らす方向でバージョンは上がっているんだけど。)

あと、5 を本気で自分でも思っているのかというと実は疑問。*1たぶん 2 を実現したらあとは放り投げて他の人が適当にいじって管理してくれたら嬉しいなくらいにひどいことを考えている気がする。

ていうかスタート段階で「自分よりやる気のある人がいたらおれは喜んでお手伝いに回るよ」とマジで考えているので、どこまでできるかはまったくの未知数です。

*1 ただ、切り離しておくと GPL 汚染を回避したいプロダクトは作りやすくなるよなとは思っている。基本的に pukiwiki のパーサは同梱せずにモックのパーサをつけておけばいいんだから。