2007-09-30

なんか一年の半分くらい摂氏30度超えてないでしょうか。雑談。

ますます腰がやばげで家でキーボードに向かうのがおっくうになってきた。椅子買いたい。

トランスフォーマー

トランスフォーマー観た。たいへん楽しかった。へたに人間ドラマとか入れようとしないでいいからね、と思ってたら、なんと人間ドラマがまったくなかった。びっくり。すごい、よくやった。登場人物同士のやりとりは、あらすじを進めるのと設定を説明するのに必要となる最低限のもののみ。ロボットは始まって10分かそこらでさっそく登場、あとはオプティマスプライムが強くてバンブルがけなげで「スタースクリームまたしくじりおったなー」てなってほかのロボットも最後の最後まで動きまくって、おしまい。その間はただ「変形すげー」とか楽しんでいればよい。よくわかってる。ゲームのオープニングデモを超長尺にしただけのような映画です。すばらしい、これこそ観たかったものだ。ちなみに、エンブレムが反転するあの演出(アニメであったやつ)はなかった。

いやー、かなりやられた。どのくらいやられたかというと、一瞬 Rolly を買うのも悪くないんじゃないのとか思ってしまったくらいだ(やられすぎ)。

今年の終わりまでのタスク

ウェブでやることでの話。

掲示板を復活させる。
ちゃんと仕様を決めないといつまでたってもできません。悪い癖だ。途中で web.py に手を出しちゃったのが間違いだった。
RSS 的なものを置く。
もうあんまり更新してないけど、それだけにかえってそういうものを置いておいたほうがいいのではないかと最近思いました。

もうひとつくらい書いたほうが目標っぽいけど、達成できなくなりそうだし、ふたつにしておきます。

背筋を鍛える、か?

2007-09-15

更新情報的なもの

web.py の wiki サイトが移転しています。いままで、infogami 内にあったのが、webpy.org 自身でホストするようになっていますね。

というか、移転したのはずいぶん前のことで、じつは Aaron Swartz のインタビュー記事の翻訳をした時、メールでのやり取りの最後についでで、web.py 0.2 チュートリアルを訳したのだけどアカウントが作れなくて wiki にリンクが張れない、というのを Aaron に伝えていたのです。その直後に移転していたので、彼としてはそれをもって回答としたのかもしれない(メールとしてはその件については返事もらえなかった)。せっついてしまったと思うところもあって、せっかくやってくれたんだから、さっさとチュートリアルの翻訳を wiki に移さなきゃなあ、と申し訳なく思っていたのですが、なかなかできずにいたのです。

ようやく webpy.org にアカウントを作って(今回はもちろん問題なく作れた)、チュートリアルの翻訳を投げてきました。どうも wiki は苦手なので、へんになってるところがあるかもしれませんが、見つけたら修正してくださいねemptypage.jp 内の翻訳ページには移転のお知らせを付けました。でもうちのページのほうが読みやすいよね。

webpy.org の wiki は Markdown という簡易マークアップを使っています。## hoge<h2>hoge</h2> になるとか、そういうやつです。ありがたいことに記法についての日本語訳があります。

無理して覚えることはありません。チュートリアルでも見出しとリンクとコードブロックくらいしか使っていませんから。

それにしても、せっかく HTML で書いたのを Markdown に直していく作業はむなしかった。たいした量じゃなかったんだけど。

雑談

ところでその Aaron のインタビュー記事なんですが、もうおそろしいまでに反応ないぜ。たいていは、公開してひと月くらいの間に誤字の指摘とか「読みました」とかのメールの何通かも来るものなんですけど。きばったわりに空振りしてしまったようだ。

手遊びに訳してみた「生産的に〜」が分不相応なまでに広く読まれてしまい、「よしそれじゃこれもおもしろいよー」と取り掛かったのがさっぱり反応ないんだから、世間の人びとの心を読むというのは難しい。おもしろくなかった? おもしろいと思ったんだけどなあ。色気を出した罰か、それともライフハックな話じゃなかったからか。

個人のページなんだから別にマーケティングとか関係ないし、多くの人に読まれるよう必死になることはないんだけれど。

2007-09-05

こらー、上段右から二番目はお前じゃないだろ!

倉田てつをというよりほとんど南光太郎公式サイトだ。でも Black は傑作なのでみんな見るといいよ。

サーバメンテナンス

emptypage.jp をホストしてるサーバが、9月13日(木)の7:00から10:00の間で90分ほど、さくらインターネットのメンテナンスでしばらくアクセスできなくなるそうです。困る人はいないでしょうが、wz2chbbs 巡回してる人(推定3名、自分含む)はびっくりしないでね。

FreeBSD の 4.1 から 6.1 になるそうで。もっとも、管理者じゃないからそれでどうにか便利になったりするわけじゃないんですけど。

更新情報

拡張子付きのコマンドが実行できなくなっていた不具合等を修正した、cmdlinex 2.18 を公開します。情報をいただいた大田黒さん、ご協力ありがとうございます。

以下雑談。

このマクロは、もともとはもう六年以上前に書いたものが土台だけど、それにしてもそのコードのひどさにはわれながらあきれる。おそろしいのは、書いてた時はこれがわかりやすいと思って書いていたに違いないということで、それが今見たら中学生が書いたもののように見えるという。紆余曲折で今では使われていないルーチンとか、仕様変更で間を削ったせいで意味のない条件分岐とかが残ってしまっているのも、アホっぽさに拍車をかけてます。

時間を置いてコードを見返すと、取り組んでいた問題の現実の複雑さを忘れてしまっているせいで、もっとシンプルに書けるはずと思い込んでしまうという誤謬もありますけどね。

コーディングスタイルも、今とぜんぜん違う。昔は if ( cond ) と書いていたのだけど、今は if (cond) と書く。比較しようとして代入してしまう誤りを防ぐための、if (3 == x) という書きかたを愛用してたけど、これもいまはやらない。数値比較をわかりやすくするために、if (0 < b) と、いつでも小さいほうを左側に書くようにしていたけど、今は場合によっては if (b > 0) と書いてもいいという考え。要するに、普通になった。ひねくれ者は、普通になるまでにものすごい遠回りをしなきゃいけないのです。

マクロのコンセプトとしても、今ならリダイレクトを自前で解析したりとかはしないだろう。指定されたコマンドラインにテンプレート処理をして、あとは cmd.exe に丸投げするだけにすると思う。当時は気持ちがはやっていて、至れり尽くせりにするべきだと思い込んでいた。しかしその代償は未だにコードが完成していないという事実。

数年前に自分の書いたコードを目にしたとして、今書いてもやはりこれと同じコードになるであろうという感覚を覚える日は来るんだろうか。いや、たんに成長が止まっただけかもしれないから、そんな日は来なくてもいいかもしれない。

数年前にも同じようなことを書いたような気がするけど。

しかしたった(?)六年で、こうまで考えが変わってしまうんだから、何年か前に言ってたことで、今も同じ意見でいるものなんてなくても不思議じゃない。

2007-09-01

雑談。r の付く月がやってきましたね。

ソフトを捨てる

ソフトウェアの「ライセンスを購入している」という形態だと、なぜかハードウェアと違って捨てるのをためらってしまう(ハードウェアだってなかなか捨てられないけれど)。Windows 98 でしか動かないやつとか、何年も前に会社もろともなくなってしまったようなやつとかを再びインストールしてみようなどということはもう絶対ないはずなのに。Windows 95 の FD 20枚とか、明らかにいらない(これは捨てよう)。あとダウンロード販売のシリアル番号とか、こういうのも思い切って抹消するか。

しかし VZ の FD はなんか捨てがたい。これがいけないんだけどねえ。だいたい DOS はもう使わないでしょ、と。いやモバイルギアが……、ってモバももう使わないでしょ、と。どうもこういう往年の名機的なブツ(とそれをハックするようなソフト)はセットで保存しておかなければいけないような気がしてしまって困る。

そういえば Explzh が最近フリーウェアになったそうで。ずいぶん長くお世話になってきたけど、今は使わなくなってしまいました。ノート PC を新調した時に、移さなかったんだな。

デスクトップアプリケーションを売って食ってる会社は、気がつくとメジャーどころはマイクロソフトとアドビだけになってしまったような。なんか寂しいっすね。Mac でも、いいのを作ったってすぐ次のバージョンの OS X でアップルにパクられちゃうしね。

Numbers

どうでもいい話だけど、Numbers って頭悪そうな名前です。「わーい すうじが いっぱいだー! だけど ぼく あんまり むずかしい けいさんは にがてだよ」とか言いそうで。

もう絶対どこかで誰かが言ってるだろうけど

「『ブログやめました』始めましたブログパーツ」とか「はてなブックマークのエントリページのブックマーク数表示スクリプト」とかもご一緒にいかがですか? 枝葉末節ばっかり膨らませていつまでたっても本題に入れない者どもよ。人を褒めるのもツールがないとできないっていうのは情けないね。メール書けメール。

2007-08-26

だいたい、日本人の尊敬の意識は個人に対する理解の成熟によって発展してくるものであるよりも、恐怖に始まり、畏怖→畏敬→尊敬→敬愛→親愛→愛狎(あいこう)→軽蔑というような道を通ることが多く、根本的には恐怖が意識の底にあると考えられる。

大野晋『日本語の文法を考える』

リポジトリでウェブサイトを管理しています。実際のサイトを、コミットするたびに自動的に更新させるにはどうすればよいでしょう?

原文: I’m managing a website in my repository. How can I make the live site automatically update after every commit?

こうしたことは昔から行われていて、post-commit フックスクリプトをリポジトリに加えるのが定石です。第5章のフックスクリプトの項を参照してください。基本的な考えとしては、実際のサイトをたんなる作業コピーにしておいて、post-commit フックスクリプトでその作業コピーに対して svn update を実行します。

運用時に注意すべき点がいくつかあります。post-commit フックスクリプトを走らせるのは、コミットを処理するサーバとなっているプログラム(svnserve なり Apache なり)自身です。このことは、そのプログラムが作業コピーを更新するのに適切な権限を持っていなければならないということを意味します。言い換えると、svnserve や Apache を走らせているのと同じユーザーが作業コピーの所有権も持っていなければならない、あるいは、少なくとも作業コピーのほうに適切な権限が設定されていなければならないということです。

サーバプログラムに所有権がない作業コピー(たとえばユーザー joe‾/public_html/ 内など)を更新させなければならないのであれば、更新を実行する +s 付きのバイナリプログラムを作成するという手があります。Unix では、スクリプトは +s 付きにはできないのです。次のような C プログラムをコンパイルします。

#include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
int main(void)
{
  execl("/usr/local/bin/svn", "svn", "update", "/home/joe/public_html/",
        (const char *) NULL);
  return(EXIT_FAILURE);
}

そしてできあがったバイナリに対して chmod +s して、その所有者が joe になっているのを確認します。そうして、post-commit フックにこのバイナリを実行する行を加えるのです。

フックを動かすのに問題が生じたら、“Why aren’t my repository hooks working?” を参照してください。

また、ふつうは Apache に実際のサイトとなる作業コピーにある .svn/ ディレクトリを公開させたくはないでしょうから、httpd.conf に次のように追記します。

# Disallow browsing of Subversion working copy administrative dirs.
<DirectoryMatch "^/.*/¥.svn/">
    Order deny,allow
    Deny from all
</DirectoryMatch>

さくらのレンタルサーバでは

DirectoryMatch ディレクティブは .htaccess では使えないので、上掲のノウハウはさくらのレンタルサーバでは使えない。ちぇ。

ThinkPad X60s のパームレストが熱くなる

ウェブでもけっこう言われているようだけど、AC 電源で使っていると、右側パームレスト(ここには無線 LAN のカードが収まっている)がいやな感じに熱を持つ。最近のラインでそれ以前のから改良が加えられたりしているようですが、自分のはどっちなんだろう。改良されててこんなに熱いってのはないのかな。なんにしても、気が散るのでよろしくないです。いままで ThinkPad でこんなことはなかったぞ。

それにしても、「X60s – ThinkPad X60s/X40/X31 メモ」というページはすごい。読み応えある。

チェア

チェアっていうか、椅子。帰宅してからもパソコン叩いたり書き物をしたりと怪しい作業に没入する生活なので、椅子に座っている時間が長いのです。その割にはちゃんとした椅子を使っていたことがない。今家のデスクで使ってるのは CCH-L001OR ですが、これだって昔働いてたとこからのもらい物です。これになるまでは折りたたみの小さくて硬い椅子をずっと使ってた。なんだ自分、苦学生かよ。

腰痛になることもしばしばだし、いいかげんちょっとまともな椅子を買ったほうがいいかもしれない。アーロンチェアとまではいかなくても、長時間きくやつを。下に車輪が付いてるやつと付いてないやつと、どっちが疲れにくいとかあるのかな? 先日人とそういう話をしましたが結論が出なかった。