2007-02-01

御大です。わお。

社会の問題について、「そもそも」から考え直すよう迫る人は、アメリカでは無政府主義者などとみなされ危険視されたりするようですが、この国ではめんどくさい人として鬱陶しがられるだけでとりあってもらえずに終わる。

周囲の人に署名を頼めば、みんな喜んで名前を書いてくれるだろうけど、かれらがそうする理由は、趣旨に賛同するからじゃなくて、依頼人のあなたがお友達(あるいは家族)だからだ。説明したところで、「なるほど、勉強しているね」で、半日後にはなにについて署名したかも思い出せなくなるのがふつう。

あることについて、だれかに「その人自身の意見を持たせる」ところまで持っていかせるのは難しい。話を聞いてもらうのより難しい。脳はカロリーをたくさん消費するらしいので、だから人間は考えさせられるのを極力避けるのかもしれない。

今回の短いエッセイについても、何人かが「はてなブックマーク」に入れたりして、当座の読みものとして一部の人の興を満たして終わるだけなのかもしれません。しかしそういう人たちはこの話題についてはもう相当の議論に目を通している面々というような気がします。つまりあんまり意味ないのではないかと。

また英語圏には英語圏流の理屈の進めかたというのがあるので、これがそのまま日本で「知的財産」について考える入門としては向かないのかもしれないし、だれか詳しい人がそういうやつの「日本版」を書いてくれたりしたらいいのになあ、と思ったりもします。

そうはいっても、これが発表されてから二年たつというのにいまだに翻訳されていなかったというのは、ちょっと意外でした。なにもないよりは、少しでも議論の踏み台があったほうがいいだろうとも思いますし、そういうわけで……。

更新情報

リチャード・M・ストールマン (Richard M. Stallman) さんの Did You Say “Intellectual Property”? It’s a Seductive Mirage の日本語訳、「『知的財産』だって? そいつは砂上の楼閣だ」を公開します。公開前にレビューをしてくれた友人に感謝。

2007-01-27

雑談というか告知というか。

「さくら Python」で改訂したいところ

『さくらのレンタルサーバ』で Python 外部モジュールを使う」が参考になっている方々が少なからずいるようで、書いた者としてはやってよかったと思っています。(べつにページの有用さ具合を測る尺度にはならないけど)はてなブックマークに入れている人もいるし、web.py (作ったのは Aaron Swartz だ)を導入したり、Trac を動かす(!)などの参考文献として参照してもらってるようです。

ただ、そこで書いた user モジュールを使って sys.path をいじる方法を気に入ってしまった人が思いのほか多いようなのが心配になってきた。あのやり方はよくないと思います。

あの節を書いている時点では、なんとなく、直感的に、「これはどうなのか」というサインが頭の片隅に浮かんでいただけの状態で、理論的にそれを説明することには及ばなかったのでそのままタイプを進めてしまったのですが(その感触があったせいで、今の版でもそれほどプッシュはしていない)。その後、考えも整理できてきた今では、はっきりと「これはよくない」と考えています。改訂したら、この箇所は削除するか、ちょっと触れる程度にしたい。

なぜか? CGI に限らず、プログラミングをよくしている人なら当然すぐにそう考えたはずのことなのですが……。文章にすると時間がかかるので(そしてそれをやるならここじゃなくて「さくら Python」の記事でやればいいわけで)、以下思いつくままに箇条書き。

  • プログラム(ここでは CGI スクリプト)を書くときに意識しなければいけないこととして、どこまで可搬性(ポータビリティ)を持たせるか(移植性、といってもいい)、ということがある。
  • 自分しか使わないスクリプトなら、ファイルのパスでもログインパスワードでも、スクリプトにハードコードしてかまわない。
  • しかしこうしたスクリプトはよそで動かす(便利なものは遅かれ早かれそうしたくなる)ときにコードを書き換えなくてはいけない(「さくら Python」の当該節も文脈はそういう流れ)。
  • そこでプログラマは環境に依存しない部分と、状況に応じて変更する必要がある部分とを分ける。前者をモジュールにしたり、後者を設定ファイルにしたりする。
  • 可搬性の境界ははっきりしておいたほうがよい。つまり、「このファイル群は何も考えずによその環境へうつせる」し、よその環境へ移したら「あのファイル群(だけ)を書き換えればよい」という状況にしておくべきだ。
  • つまり環境依存部分は「分ける」のが肝心なので「隠す」のはまったくよくない。
  • sys.path を追加するのはもちろん環境依存のプライベートな話。つまりこれが書いてあるファイルは環境依存のファイルということになる。
  • しかしある CGI スクリプト foo.cgi からそれを追い出して、代わりに import user したところで、foo.cgi に可搬性ができたといえるのか。いえない。なぜなら import user とはプライベートな用途の最たるもので、これはモジュールのパスを追加するための仕組みでもなければ、CGI のための仕組みですらないimport user してるスクリプトというのはプライベートの領域に属するファイルとみなすべき。
  • .pythonrc.py で何が行われるのか、import user している側からは、それは想像もつかない。自前の関数で range をオーバーロードしてるかもしれない。
  • どうせスクリプトがプライベートなままなのなら、sys.path.append(...) と直接書いても移植性は(移植性がないことに)変わりないし、むしろそこで何をすべきかがわかってよい。はじめから「これは環境によって書き換えるファイル」と考えておけば、sys.path が通ってないから云々という問題に悩まされることはかえって少なくなる。
  • ほんとうに foo.cgi に可搬性を持たせたいなら、設定ファイルを作って、それを読み込むようにするべき。これで foo.cgi はポータブルになったけど、総ファイル数は増えている(のでよく考えよう)。

じっさいに改訂したら、こんな理由までこまごまとは書かないと思いますけど、まあ考えの経緯はこんな感じです……。最初に感じてた「どうなのか」サインを、記事を読んだ人も持ってくれるかなあ、というのをあてにしてたということもあったのかもしれない。そもそも import user じたいが暗黙的で Python らしくないですよね。

ここに書いたって読む人はほとんどいないから、一刻も早く改訂しないと……。

2007-01-14

雑談。

あけましておめでとうございます。今年もよろしく。

年末年始は、ひたすら本読んでました。このこと自体はよいのですが、掲示板はほとんどいじれなかったし、「さくら Python」にも手をつけなかった。しかし翻訳がひとつ出てくるかもしれません。それにしても、これの翻訳がされてなかったというのはいまだに信じられないのですが、ググって見つからなかったし、ないと思っていいんだろうね……。

何週間もあくと、あけましてとか言いにくくなるので、ひとまず。

2006-12-28

とくに用ないだろう、と踏んでいてもなにかとやることが出てくる年の瀬。今年はもう更新できなさそう。掲示板をもうちょっといじりたかったな。あと「さくらPython」で改訂したいところもあるし。年末年始にどこまでできるかな。

ともあれみなさんよいお年を。

街の宵

2006-12-20

雑談。

2006年について

あんな翻訳を公開したりしておいてなんなのですが、2006年は、個人的にはひじょうに生産的でない年にしてしまった気がする。生まれてからの四半世紀ちょっとの間でもっとも生産的でなかったとさえいえるかもしれない。せっかくやろうと立てた目標を、あとから考えると自分でも信じられないような理由でくじけたり、どうにも気分が晴れず引きこもりのようになってしまったり。

来年はこんなことにならないようにしたいけど、じゃあどこをどのように変えたらよろしくなるのかというとさっぱりなのよね。

今年の10枚、と、俺ラジオ

泣きごとだけだとつまんないので、今年出た音楽について。今年は Cat Power, Erase Errata, Peaches, The Red Krayola, Sonic Youth, Xiu Xiu, Yo La Tengo, etc. と、自分の好きなアーティストが軒並みアルバムを出したのでした。まあこれは今年のよかったことかも(自分関係ないけど)。今年出たわけじゃない CD もたくさん買ってる(というかそのほうが多い)から、今年の〜枚みたいなのでそんなにいくつも出せるかな、と思ったけど、いま iTunes のライブラリを見たら、今年のだけで 10 枚くらいは選べそうだった。ので、自己満足のために、書く。順位はつけない。そんなの決められませんのでね。アルバム名アルファベット順で(ソートが楽だから)。

  1. C.Y.S.L.A.B.F. – Mika Miko
  2. I Am Not Afraid Of You And I Will Beat Your Ass – Yo La Tengo
  3. Impeach My Bush – Peaches
  4. Introduction – The Red Krayola
  5. Let’s Get Out Of This Country – Camera Obscura
  6. Nightlife – Erase Errata
  7. Rather Ripped – Sonic Youth
  8. Standing In The Way Of Control – The Gossip
  9. The Air Force – Xiu Xiu
  10. Unanimous Bangers – The Punks

絞るのきびしいが、心を鬼にして10枚だ。半数が Kill Rock Stars という偏りぶり。すばらしいレーベルですよ、まったく。

ここを読んでいる人で、こんな偏った音楽の趣味を持った人はいないと思うけど、もし怖いもの見たさで覗いてみたいという人があったら、Last.fm のプロフィールも見てくださいね(日本語版に切り替えてはいけない――理由は後述)。一か月間だけ登録ユーザーになってみたので、Personal Radio(その人が聞いた曲から選曲されるネットラジオ)が聞けます(左側のプロフィール写真の下、「Play Personal Radio」をクリック)。Last.fm はいまやブラウザだけでラジオ聞けるようになったんですよ。日本語版はまだラジオないけど(エキサイトさん、「秋」とかいってませんでしたこと?)。

ちなみに自己顕示欲を満足させる、そのひと月のお値段は350円なり。