2008-02-27

できた [was: tracのロードマップにリンクを張りたい]

いろきゅう.jp ~Programmable maiden~ Tech sideのエントリ「tracのロードマップにリンクを張りたい」より:

'マイルストーン' へリンクを張る wiki 文法は用意されているものの、そのマイルストーン一覧が表示される「ロードマップ」のページへのリンクの張り方がいまいちわからず。


0.11でしか試してないけど。
[/chrome/../roadmap ロードマップ]
静的リソースがマップされるディレクトリchromeを介して、相対パスで親ディレクトリから通してみる。ちゃんとリンクしているし、レンダーも問題なし。
でも、なんかTracLinksの仕様が変わってるなぁ。/で始まるリンクは、プロジェクトのrootからの相対パスになるっぽい。

追記 (2008-02-27 16:10):
[htdocs:../../roadmap ロードマップ]の方が妥当か。

追記 (2008-03-03 18:08):
#6884でバグに上がってるのと、類似っぽい。

2008-02-26

Shame in you

ヒラリーたんがオバマたんを非難する演説を見ていて "Shame on you" というフレーズがあったんだけど、ついうっかり "Shame in you" と空耳。 Alice in Chains の曲にそういうのあるのよ。何か引っ掛かったので、辞書を引くと:
Shame in you
恥ずかしい思いをしている。
Shame on you
恥を知れ
全然、意味違うのね。
Shame in you.

2008-02-18

故郷とは遠くにありて

蘇民祭でライトを消して猥褻物陳列罪回避とかのニュースを観て、何となく。伝統がどうとか、セクハラがどうとか、文明の衝突がどうとか、いろいろ面倒そうね。と、いちいち注目せざるを得ないのも、嫁の実家がそばであれこれ予備知識を授けられるからなんですが。
俺的には全く問題ないと考えるが、たぶんこれは文明フィルターがかかってる。なぜって、わが故郷には田縣神社というのがあって一応氏子のようなのだ。検索すれば分かるけど、ここの豊年祭というイカレてる祭りが幼少時のイノセントな心に深いゆがみを与えているに違いない。
神輿を担ぐのは42厄男だけど(記憶がはっきりしないけど、たぶん巫女は33厄女)、これはある意味ほんとうに大厄である。普通に考えれば恥ずかしいだろう。それもあってか、厄男は朝からがぶがぶ飲酒し、神輿を担ぐ時点では完全に酔っぱらっている。猥褻物陳列罪というよりは、騒乱罪という方が妥当じゃないだろうか。で、その酔っぱらったまま、餅投げを始めるからえらいことになるのである。本当に昔は屋根に登って撒いたそうだが、俺の記憶ではベランダのようなところから投げている所しか記憶にないので、ずいぶん昔に変わったのだろう。酔っぱらいが屋根に登ると危ないし。まぁそんな訳で、おれにとっての祭りというのは:
  • 酔っぱらい大量発生
  • 外人も大量発生
  • で、大暴れ。
  • 「だしもの」いっぱい(w
という感じなのだ。うん。変。
とは言っても、豊年祭は平日だろうが容赦なく決行されるので、子供は通常神輿が練り歩くのは観ない。神輿を担ぐのがだいたい12:00くらいで、まだ学校にいるのである。で、餅投げが16:00くらいだったので、これには行く。現地の子供の間では餅を拾いに行く祭りのような感覚であった。あののぼりとか飴とかはアレだったが。(と言っても20年近く前の話よ。) 最近は氏子の数も減って、神輿は氏子じゃなくても厄男じゃなくても担げるよう。祭り好きのアナタは一生の思い出に一度はどう?カメラマン付きで。たぶん、現地の現像屋じゃないとモザイクまみれになるけど(w

やはり故郷は遠くにありて想う程度にしておいた方がよさそうだ。
でも、今年は休みの日に豊年祭のようなので、見に行きたい人がいたら案内してもいーよ(嘘)

2008-02-16

Time Machineでどこまで戻るか?

Case-Sensitiveなファイルシステムにすべく、OSの再インストールをした。ついでなので、Time Machineでディザスタリカバリがどこまでいけるのか実験。いざって言うときに何が消えるのか把握してないと、役に立たないし。
手順はざっくり:
  • Time Machineでバックアップ
  • OSを再インストール (Case-Sensitiveでファイルシステム再作成)
  • 初回起動画面でTime Machineからリストア

結果から言うと、完全にロストしたデータはなし。でも、戻らないのもあるので注意は必要。Time Machineからのリカバリ以外に、手を加えなければ行けなかった作業を列挙しておく:
  • OSやバンドルパッケージのソフトウェア更新
  • Xcode, DashCode等オプションのインストール
  • /usr/localは無傷だったが、/Library/Pythonの配下にインストールされたPython-eggが復元されなかったので、再度easy_install
  • HoloGitのファイルは復元されたが、PhotoBoothの設定ファイルが元に戻っていたので、作り直す
  • iTunesのコンピュータ認証つけ直し。でも認証台数は上らなかったので一安心

とりあえず、ファイルはホームディレクトリに置いておけばなんとかなることは分かった。

2008-02-14

Case-sensitivityにはまる

無知とは恐ろしいものよ。MacOSはUnixベースになったとは言え、まだデフォルトでは大文字小文字を区別しない(=Case-insensitive)のね。そんなことも知らなかったMac初心者のgjoです。
Leopard serverでは、Case-sensitiveなのがデフォルトになっているけど、デスクトップ版ではCase-insensitiveというちょっとねじれた状態のようです。Darwin kernel自体はどっちでも気にしないっぽいので、単純にファイルシステム(HFS+)を作るときのオプション次第ということらしい。
かつて、この問題にApacheが引っ掛かったらしく、"mod_hfs_apple"を導入するとか、httpd.confを書くときにCase-insensitiveであることを意識しないといけないようです。(デフォルトでは対処済みだけど、設定を変更するときは要注意ってことね)あと、ファイルシステムがCase-sensitiveだと、Photoshopが動かなかったりする(らしい)点も要注意か。
ということで、何かしら講じてCase-sensitiveな環境を作らないといけない訳ですが、さすがにオンライン状態でファイルシステムを作りなおすのは無理だろうなぁ。エンタープライズ級のマシンならともかく民生機だし。
Google様にお伺いを立てたところ:
  1. OSを再インストールするときにファイルシステムのオプションを変更する
  2. BootCampアシスタントとかでパーティションを割って、Case-sensitiveファイルシステムを作る
  3. Case-sensitiveなファイルシステムでディスクイメージファイル(*.dmg)を作り、ログイン時に自動マウントするようにする
という解決方法を授けられたので、かかる手間と得られる効果をはかりにかけて、といったところ。最終的にはTime Machineのリカバリを試しがてら、再インストールに走るんだろうなぁ。と思いつつ、さしあたってはディスクイメージを作って回避ですかね。

超越

「あなたにコンパイルされたい。」よりも「あなたに.appndChild()されたい。」の方が洒落にならないと言う結論に至った。

2008-02-10

Mac OS Xでのパッケージ管理

趣味のコーディング環境をVMのUbuntuからMac OS Xに移動するにあたって、考えどころはパッケージ管理。VMを介さずともPOSIXネイティブコードが動く環境を手に入れた代償に、Ubuntuの「aptだけでほぼ完結」という、メンテナたちの不断の努力の成果を手放さなければならないのだ。Mac OSでのアプリケーション配布はいろいろ形式があるようだ:
*.pkg
いわゆるインストーラ。でもアンインストールの機能はない。/Library/Receipts配下にインストールログっぽい証跡が残るので、*.domをlsdomコマンドに通すと削除すべきファイルは分かるようになっている。でもパッケージによっては何も残してくれない。
*.mpkg
*.pkgを束ねたものっぽい。メタパッケージみたいなものか。
*.app
アプリケーションバンドル。実体はディレクトリで、その下にバイナリとかリソースファイルが転がってる。/Applicationsにそのままコピーするとインストール完了。アンインストールも基本は削除だけっぽいが、ものによっては/Libraryとか~/Libraryの配下にファイルを残しているので、それも消さないとだめっぽい。
*.dmg
ディスクイメージ。実行するとマウントされる。中をみるとたいてい*.m?pkgか*.appが入っている。
なんとどれもアンインストール機構を備えていない。この辺は強く改善を要望したいところ。別にインストール厨じゃなくても、パッケージのバージョンアップとかは普通に必要になるし、この辺は確実にできる仕組みが備わってるのが「現代的OS」じゃなかろうか。

で、ことPOSIXなアプリケーションであれば、アンインストール機構まできちんと備えたパッケージングシステムがサードパーティでメンテナンスされている:こういうのは、メンテナとパッケージの数が多い方が強いので、さしあたりMacPortsを選択。多勢が決したら乗り換えるかもしれないけど。MacPortsはLeopardなら先にXcodeを入れて、X11をXquartsの配布でアップデートしろと言ってるので、その通りやった。この辺の手順は検索すればいつでも出てくるので書かない。

ちょっと困ったのが、Pythonのライブラリ。MacPortsだと/opt/local配下にインストールされるので、OSに標準でついてくるPythonから読ませるためにはPYTHONPATHを変更しなきゃいけないし、2.5向けのパッケージで致命的に抜けているのがあったり、結局tracは開発版を使うことになるので、どこかでPython-eggとかで手で入れなきゃいけないのが出てくるし、そうするとportで完全にアンインストールできなくなるし。中途半端に一元化するのはあとあと面倒ということで、Pythonは当面OS付属のを使うことにする。
MacPortsのメンテナンスが強化されるか、自分がメンテナンスに乗り出すかすれば、Portsを使うことにすると思うんだけど。

標準で入っているPythonは2.5.1で、/System/Library/Frameworks/Python.framework/Versions/2.5へのシンボリックリンクになっている。setuptoolsとか、Subversionバインディングとかは、件のディレクトリに入ってる状態。easy_installすればたいていのものは揃いそう。インストール先は件のディレクトリでも/usr/lib/python2.5/site-packagesでもなく、/Library/Python/2.5/site-packagesになる。ここはPython-eggs専用らしい。またコンソールスクリプトは/usr/local/binにインストールされる。システムにビルトインされているのと、自分が入れたのが明確に分離されるというのも、標準のPythonで何とかなると思った理由だったり。うーむ。python setup.py bdist_mpkgでせっかくパッケージが作れるのに、アンインストール機能がパッケージャについてないのは残念だなぁ。

とりあえず、easy_installで入れたパッケージ達:
  • Mercurial
  • hgsvn
  • Pygments
  • pytz
  • Genshi -- trunkから
  • Trac -- trunkから

2008-02-03

巨大なメカ動物

Gizmodo Japanのエントリ「格好良すぎ! 動く巨大メカ動物たち in フランス(動画あり)」より:

080130squidsy.jpg

ナントまあ!

フランスの都市、ナントにて「Les Machines de l'ile de Nantes」という、ギズモーディアン垂涎もののイベントが催されているようです。
このイベントは巨大なメカ動物をこれでもかと展示しているというもの。写真を見る限りは、イカ、ゾウ、魚などがある様子。小さいころ読んだ「海底二万海里」を髣髴させるちょっとレトロでスタイリッシュでアートな、ド迫力作品です。
しかもこれ、全部乗れるんだとか。


スチームパンク萌えなメカヲタにはたまらんですね。象が歩くのもいいけど、烏賊ロボのフォームが何とも言えんです。ちょうどLEGOのアクアレイダース作ってるとこだし。でも、がきに「行きたい」と言わせてもなお、フランスまで行くのは無理そう。どこか出資して全世界巡業してくれないものか。

2008-01-28

初段のつっかかり

最近のOSはよくインプリされているので、初回起動でもたいして困ることはないのだけれど、それでもゼロではない。Leopardではとりあえず2点ばかし。

MACアドレスがわからん
LANインタフェースのMACアドレスのことね。Apple的には「AirMac ID」となってる。大人気ないとも思うがまぁ気持ちは分かる。
ノートPCだとたいてい底にシールが貼ってあるけど何もなし。起動すればわかるけど、初回起動のダイアログで確認する術はない。
一回立ち上げてから改めて設定すればいいんだけど、こういうのはインストーラのダイアログで設定できるべき。アクセスポイントでMACしばりをかけてると、ちょっと戸惑う人がいるんじゃないかな。

キーボードショートカット
インストーラでもう一つ困ったのがIME切り替えとかの基本的なキーボードショートカット。
メニューバーにアイコンでガイドが出てるけど、これが分かりづらい。四葉のクローバーっぽいのがcommandキーなのはいいけど、キャレットっぽいのがcontrolに気付くまでに15sec程度かかった。上向き矢印がshiftで、バックスラッシュっぽいのがoptionってこれ一般人には分からんだろ。不覚にも日本語入力ごときで10min停止。
英語キーボードにしたのがいかんのかな? 日本語キーボードだと刻印してあるのだろうか。
いずれ、入力の切り替えに3キーストロークは面倒すぎるので、caps lockをIME切り替えに割り当てた。

そういえばcontrolが左にしかないな。Emacsのキーバインドは変えないとつらいかも。(caps lockキーにはLEDがついているので、やはりIMEにしておいた方が良さそう)

2008-01-24

Starting my life with Mac

自宅で使っているパソコンが最後の大改修から4年たったので、そろそろ買い替えようと思ったのが半年前。
とりあえずMacが欲しいと思った訳ですよ。なぜって:
  • 自宅で仕事向けの勉強とかしなくなったから、Windows動かなくても困らない。
  • 趣味のコーディングはVM上のLinuxだけど、やっぱり時々Xとかを動かしたくなる。
  • でもCygwinはパーミッションとかを馬鹿正直に変えてくれるから、バックアップアプリケーションと干渉していや。
  • かと言ってVMのコンソールでXあげてるととろいし、ホストOSとクリップボードのやり取りとかが面倒。
  • かと言って、さすがにネイティブでLinuxだとDVD観たりとか、外の世界とのやり取りがまだまだ怪しい。
  • じゃ、Macでいーじゃん。新しいことしよう(w

きっと可動部品は相当いたんでるんだろうなと思いながらも、半年前はLeopard待ち。Time machineがものすごく良さげに見えたから。で、その後はMacWorldExpoでリアルモバイルなのが発表というのがまことしやかに語られ始めていたので、様子見。
結局、その後、購入に至ったのですが、無印MacBookにしました。「空気のように軽い奴」はいろいろ妥協が必要なので:
  • Wirelessなのはきっと問題なし。マウスはBTだし、デジカメの取り込みとかは今年主流のインクジェット複合機ならネットワーク経由でいけそう。iPodもtouchにしちゃえばきっとだいじょぶでしょ。
  • バッテリーが5HってSSDでカタログスペックでしょ、きっと。ハードディスクで実測したら、もっと少なくなりそう。
  • でもSSDはまだ高杉。3年くらいすれば主流になってると思うけど。それまではスピンドルでがんばるしか。容量も現状を考えると120G玉は最低必要。
  • にしても1.3kgってなんか中途半端。だったらX61sにするでしょ。でもMac OS Xが使いたいの。
  • under 300k JPYくらいにしたい。

そんな訳で、Keynoteのあとで無印をクリックしようと思ったら、Apple Careが選べないようになっていたので何日かウォッチ後、やっとこさご購入できたのですよ。
本日ご到着されました。午後休を必死でこらえて定時ダッシュで帰宅。
ちまちまいじり始めましたが、勝手が違うって新鮮で素敵だなぁ。コピペのやり方もIMEの切り替えもわからない。今のところフィーリングで操作できないところは、GUIのメニューでやってます。
と、書いていたら、同じような時期に買った人がいた。