2006年 01月 26日

lighttpd, 特定ディレクトリで CGI を実行させない

こう、Apache の .htaccess は偉大だなぁってちょっと思った。いちいち再起動させるのは面倒くさい。

$HTTP["host"] == "temp.test.lowreal.net" {
$HTTP["url"] =~ "^/source" {
dir-listing.activate = "enable"
cgi.assign = ("")
mimetype.assign += (".rb" => "text/plain")
}
}

cgi.assign = () って最初書いたけどパースエラー。少なくとも一つ値を書かないとだめらしい。

CSS for Sage

Sage 用の CSS を書いてみた。画像も data スキームで埋め込んであるので、コレだけダウンコすれば使える。

あんまり変な事はしてない。:after とかも使ってない。

うーん。2カラムのほうがいいなぁ。気が向いたら :after とかじゃんじゃん使って別のを書いてみよう。

2006年 01月 20日

ソフトウェア

考えたことのメモ書き。

ソフトウェアを作る人、特にプログラムを書く人にはたぶん2種類の人間がいて、一方は「入力と出力が仕様どおりに動けばいい」とだけ考え、もう一方はさらに「美しくあれ」と考え、場合によっては仕様さえ変えようと考える、気がする。あるいは人間の分類ではないかもしれない。ただの仕事でやっている (ただの仕事って謎な表現だけれど) 義務的でつまらないプログラムと、理想を持ってよりよい実装を考えるプログラムはそれぞれ違うだろうから、プログラムが2種類なのかもしれない。

ソフトウェアでは理想をある程度実現できる。そこで必要な道具は自分自身の思考とコンピュータだけでいい。「ある程度」と書いたのは、そのままの意味だけど、完全には実現できないということ。その必要な道具のうち、コンピュータ自体はハードウェアであり現実であるから、理想的にプログラムを書こうとして壮絶に富豪的なプログラミングをしても、まともに動いてはくれない。動かなくていいなら自分自身の思考だけでいい。でも、そういうのは現実逃避と云うやつで、非生産的なわけだ。現実でできるだけ理想なものを作るために、プログラムを考える。理想が現実になるから面白い。理想の現実のバランスを考えるのは難しい。

即物的にただプログラムを書ける人をとても良いとは思えない。でも、実際はそういう人のほうが役にはたつんだろうな、とも思う。コードの美しさなんて気にしない人のほうが、とりあえずプログラムを仕上げるのは早いだろう。仕上げるのが早いのはいいことだ。動作が正しければ問題ない。仕事として何かを作るなら、美しさなんて忘れたほうがいい。自分のポリシーなんてなくていい。人の役に立つことをポリシーにすればいい。

でも、そういうポリシー無しでただコードを書く人間の意思ってどこにあるんだろう。そういう人間は何かしら新しいものを作り出せるんだろうか。いや別に作り出せるとかではないんだけど、上手く書けない。

なんか面倒くさいし、どうせどう書いたって同じだから、もっとハッキリいうと、ただコードを書けるだけの人間が嫌いなんだ。演算子の両脇にスペースを入れるかとか、インデントにタブを使うかスペースをつかうかとか、そういうことを考えないやつが嫌いだ。そのプログラム自体じゃなくて、プログラムを通して見える人間が嫌いなわけ。ある小説があって、一行すごくアレな文があって、それで作者の人格疑っちゃうぐらいね。ちなみにその小説 (ライトノベル) は序章だけ読んでやめた。割と面白い作家だったから残念。関係ない。

仕事って実際にはすごく面白い仕事もあるんだろうけどさ、そんなの少数の例外だろうな、って思う。いや本当に例外かどうかはわからない。だって俺は別にソフトウェア・プログラミング畑 (謎) の住人じゃないから。

もともとこれは「Java ができる人ではなく Ruby ができる人を採用する。Ruby ができる人は理想と現実をよく考えている人が多い。Java で即物的なものを作る人より、そういう人を採用したい」みたいな記事を読んで、そのときからずっと考えていたことを文章化してみようと思って書き始めた。で、すごくバラバラに考えていたから、いつその記事を読んだのか覚えてない。んで、その記事の URL もわからなくなってしまった。誰かのブックマーク経由だった気がするんだけど、既に流れてしまったらしく見つけられなかった。自分でブックマークしなおさなかったのが悪いんだけど、どうも気になる。

2006年 01月 02日

application/rdf+xml and Fx

ここの RSS1.0は application/rdf+xml で送信してるんだけど、なぜか Fx 1.5 でアクセスすると application/vnd.mozilla.xul+xml になってしまう (Page Info の Type: のところのやつ)。なんでだろう?

2005年 12月 29日

素直シュールと SQLite

ちょっと似ていると思いませんか? 言葉の響きが。

SQLite + Ruby をしたいのでインスコ。on cygwin

  • SQLite Download Page から、sqlite-source-3_2_8.zip をダウンロードして展開。
  • cd sqlite-3.2.8 ; ./configure ; make でどーん。
  • sqlite3.la.lib/sqlite3.a/lib にコピー
  • RubyForge: SQLite-Ruby から sqlite-ruby-2.2.3.tar.bz2 をダウンロードして展開
  • sqlite3.h とかを sqlite3-ruby-1.1.0/ext/sqlite3_api にコピー
  • ruby setup.rb

インスコだけ。

というか XREA で SQLite 使えるだろうか。

ニャー速。:新ジャンル:素直シュール

女「クチャクチャ」
男「・・・」
女「クチャクチャ」
男「俺にもちょうだい」
女「クチャクチャ」
男「ガムちょうだい」
女「・・・」
男「・・・」
女「噛んでるふりでした」
男「・・・」
女「ガム噛んでるとおもった?」
男「・・・」

これやばいと思うんだ。久々に捉まれた気分。いや本当にやばいと思うんだよ。

2005年 10月 18日

Fx x CPU 100%

for(;;) window.status = ""; がブラクラ。Firefox 1.0.7 と IE6 にて。Firefox はステータスバーを書き換えを許さないようにしたら死なない (スクリプトが遅い警告が出る) けど、他にもあるんじゃねぇの的な。

あと for(;;) alert(""); もある意味ブラクラ。止める方法が存在しない (するのかもしれないけど見つけられない)

Javascript 実行中ブラウザが止まるのはアレだなぁ? Gecko だと仕方ないのかなぁ? まぁ IE もだけどさ。

どうでもいいし関係ないけど俺は Bugzilla-jp が苦手だ。なんか雰囲気がおかしく感じる。何を基準に「おかしい」なのかはさておき、バグ報告したくない。報告しただけで怒られそう。ってか前報告したときなんか怒られたし。INVALID とか言われたとき「ハァ?」とか思ったと同時に諦めた。まぁそのときは他の人がフォローしてくれたけどさ。なんであんな「お前の報告が間違ってる」っていう感じをヒシヒシと出してくるんだろ。まぁどうせ100%俺の考えすぎなんだろう。被害妄想で申し訳ありません。

あーちなみに while (true) じゃないのは for (;;) のほうが可愛いから!

2005年 09月 04日

MSN Messenger 広告消すとか

MSN Messenger カスタマイズ

複数起動できるようになるので、7 の Now Playing を複数のアカウントで共有できます。

2005年 02月 04日

UTF-8 対応の IRC クライアント

思うところあって (使わないけど) UTF-8 対応なのが欲しいけど、なんかイマイチよろしいのが見つからない。とりあえず Chatzilla を使ってみるけど……使いにくい

  1. チャンネルごとの charset 変更
  2. UTF-8 と iso-2022-jp 使えればいい。
  3. Limechat の固定チャンネル番号相当の機能。(Ctrl+[0-9] でチャンネル切り替え)
  4. いろいろ
2005年 02月 02日

Fx Extension

何度やっても環境構築でつまずくっていうかデバッグできる状況までいかないので諦める。なんてか Fx をインスコして以来何度かやろうとしてる罠。別に特別作りたいわけじゃないけど弄ってみたいじゃない? なんかもう完全面倒臭そうなので見るだけにしよう。

どういうシステムで拡張が管理されてるかの最新であることが保証されてる日本語のドキュメントが欲しい。無理なんだけど。

2004年 12月 07日

xyzzy io-mode

io-mode.zip, io-mode.l

簡単そうなので作ってみる。殆ど c-mode のパクりなわけだけど……結局インデントレベル計算するところしか作ってないわけで、そしてそれも括弧しか使わない Io では数えるだけなわけで的な。とはいえアフォだからかなり詰ったんですけども orz

ioServer の Regex て何か変じゃありませんか。nextMatch と firstMatch が全く同じ挙動名気がする。つーかマニュアル書くなら効果的なサンプルと一緒に書いて欲しいなって思う。戻り値も書いてないこと多すぎ。むしろ最初から String replace に正規表現とれるようにしれと。正規表現がデフォで使えないとかキツすぎて死にます。

io-mode readme, iolanguage