Pages

2005-07-31

Linkshare 登録 |Linkshare|HMV|

ぼくはクラシック音楽が好き。CD 紹介の意味も兼ねて、Amazon のアソシエイトをやっている。でも、最近 Amazon に在庫のないマニアックな CD を買うことが増えてきた。主な購入サイトは HMV。そんなわけで、HMV のアフィリエイトが出来るという linkshare に登録してみた。

linkshare は大手サイトのアフィリエイトを仲介するサイトらしい。HMV の他、DELL や TSUTAYA なんかのアフィリエイト・サービスを提供している。linkshare への登録自体は無料で個人情報さえ入力すればすぐに済む。そのあと、ここのアフィリエイトしたいサイトに申請する手続きを踏む。

それで、HMV のアフィリエイト・プログラムを申請したのだけど、呆気なくけられてしまった。必須条件に 5000 PV/月 とあったので、それが駄目だったのかな... このサイトの 7 月の PV ですら 1000 ちょっとだから... うーん、道は険しい。

2005-07-29

Google Local の検索能力 |地図|

Google Maps と一緒に使える Google Local。こいつの検索能力は侮りがたい。サービス開始直後は、ヒットしない情報もあった。でも、最近はなかなかのものになったような気がする。

Google Local を既存のウェブ地図 (例えば goo 地図) に当てはめて考えると、地図上にコンビニや金融機関などのアイコンを表示するようなサービスといえる。ただ、Google Local の革新性は、表示するアイコンをサービス側が提供せず、ユーザーに検索させるところ。指定した場所から指定したキーワードに当てはまる場所を探して、地図上にピンを打ってくれる。

これの何が便利か。

例えば、見知らぬ土地に出かけるとしよう。予定は一泊二日。普通の人なら、宿泊施設を探す。ビジネスホテルとかシティーホテルとか... そういうものは、いまでも普通の検索やウェブ地図で探せた。さて、お金を節約したい若者は少し知恵を絞る。一晩過ごすのにソファー程度の休む場所があって、飲み物の見放題。おまけに一晩 2000 円程度の 24 時間営業しているお店。そんな店はないものか。神様は、そんなぼくらの願いを聞いてくれた。

「漫画喫茶 (ネットカフェ)」!

問題はその漫画喫茶をどうやって見つけるか。土地勘のない場所で漫画喫茶を探すのは (ぼくの経験上) かなり厳しい。検索で見つかる情報だと「場所」が分からないし、ウェブ地図で漫画喫茶を表示しているものはない!

そこで Google Local。まず、Google Maps で、目的の場所を表示させ、つぎに「ローカル検索」のリンクを辿って Google Local に入る。「場所」を「以下の地図のエリア内」にし、「キーワード」に「漫画喫茶」を指定して検索ボタンを押す。すると、目的地近隣の漫画喫茶が表示されるというわけ。

Google Local のキーワードはもっと具体的な名前でもよくって、Book Off とすれば、近所のブックオフを探すことも出来る。タワーレコードと HMV のどちらかを探しているなら、キーワードを OR で区切ればいい。

タワーレコード OR HMV

Google Local の強みはこの検索のフレキシブル性にあると思う。是非、お試しあれ。

スイカで開けゴマ

昨日、JR の改札でちょっとハマった。

Suica をかざして改札を抜けようとしたら、ゲートが閉まった。Suica のチャージが足りないのが原因かと、チャージしようとするもチャージ機は不正なカードとして受け付けてくれない。二、三度チャージ機を替えて試してみてもダメ。仕方がないので、改札口の駅員さんに問い合わせた。

このカードは、もう駅に入ったことになってるよ。Suica を使わずに、改札を出たんでしょ。

なんか、詰問された。そんなの知らないし。というか、ちゃんと Suica で改札を出したし。でも、何か変な疑惑かけられてるし。

そしたら、隣にいた優しい (ぼくにはそうに見えた) 駅員さんが

Suica で入場しようとして、ゲートが閉まりませんでしたか? そうでしょう。その時、ゲートは閉まったけど、改札を通ったと記録されたんです。このまま入場してもらって、構いませんよ。

助かった。入場したのにゲートが閉まることもあるのだね。てっきり、自分が何かやってしまったのかと思った。

システムの不備を人間が補うってのは大切なことだと再認識。この駅員さんが居なくて全自動だったりしたら、ぼくは改札を通ることができなくて途方に暮れていた。どうも、ありがとう。

2005-07-28

Amazon アソシエイト・プログラムコンテスト |Amazon|

Amazonアソシエイト・プログラムコンテストの結果が発表された。アソシエイトの参考になるかと期待したけれど、参考にするにはレベルが高すぎ。情報多すぎ。何気に、見難いページばかりの気がするのは、勘違いかなぁ。少なくとも、僕にはこういったサイトは作れそうにない。

2005-07-27

新しく、ブログ始めます

今まで Blogger でブログを公開してきましたが、TypePad でもブログを公開する事にしました。ブログ名は life@aka です。内容の住み分けは、次のようにするつもりです。

clmemo@aka
コンピューター & ネット関連のネタ
life@aka
生活に関連した話題。趣味 (音楽・映画・本・映画) に関連したネタ

基本的に、clmemo@aka はフランクな文体で更新頻度高め、life@aka は少し硬めの文体で週一位いの頻度で進めるつもりです。

古いブログも新しいブログも、御贔屓を。

2005-07-26

Kinesis USB Keyboard とノートパソコン |Kinesis|

Kinesis のキーボードを使っている。詳しい事はたろかわさんのページの説明を読んでください。

さて、Kinesis のキーボードは英語キーボード。これをノート・パソコンで使おうとすると困ることがある。それは、ほとんどのノート・パソコンは日本語キーボードなのでキーボード・ドライバーを Kinesis に合わせて英語キーボード用に変更したいのだけど、Windows はキーボード・ドライバーの切り替えをサポートしていない、ということ。つまり、英語キーボードに変更すると、ノート・パソコンのキー配列が微妙に変わってしまう。言い換えれば、日本語キーボードかの二者択一をせまられる。

ぼくの使っている Kinesis は Advantage MPC USB という USB モデル。これを IBM の ThinkPad (WindowsXP) に繋いだところ、日本語キーボードの配列になってしまった。ちょいと苦労したので解決方法を書いておく。

解決方法

ThinkPad (WindowsXP) で Kinesis USB のキーボード・ドライバ設定を変更する方法。基本は Windows2000のキーボードドライバ設定を変更する方法を参考にした。

  1. [コントロール・パネル] → [プリンタとその他のハードウェア] → [キーボード]
  2. [キーボードのプロパティ] → [ハードウェア] タブ
  3. ここに「101/102 英語キーボードまたは Natural PS/2 Keyboard」と「HID キーボード・デバイス」の二つがある。「HID キーボード・デバイス」が USB キーボードの設定だけども、ここで「101/102 英語キーボードまたは Natural PS/2 Keyboard」のプロパティーを開く。
  4. [ドライバ] タブ → [ドライバの更新]
  5. ハードウェアの更新ウィザードの Windows Update は無視 (いいえ、今回は接続しません)
  6. インストール方法は「一覧または特定の場所からインストールする」
  7. 検索とインストールのオプションは「検索しないで、インストールするドライバを選択する」
  8. インストールするデバイス・ドライバの選択で「互換性のあるハードウェアの表示」のチェックを外し、「標準のキーボード」から「101/102 英語キーボードまたは Natural PS/2 Keyboard」を選ぶ。
  9. 「選択したデバイス用のドライバには、PS/2 マウス ポート デバイスも含んでいます」とあるけれど「OK」を押す (ぼくは USB マウスを使っているから問題なかったけど、PS/2 マウスの人はどうなるのだろう? 情報求む)
  10. 以上で終了。

既に指定されている (ように見える)「101/102 英語キーボードまたは Natural PS/2 Keyboard」のドライバーを上書きインストールするのがポイント。

では、Happy Typing!

2005-07-24

Blog の記事を Emacs からポストする (2) blogger の不具合? |Emacs|AtomPP|Blogger|

風の便りさん所で、 Blogger の Posting 方法の話題あり。コメントを残そうと思って書いてたら、長くなったので Blog の記事にしちゃいます。

ようは、Blogger で記事をポストする時、どんな方法があるか? 思いつく所を挙げると

  1. Compose モード
  2. EditHTML モード
  3. メール・ポスト
  4. モブログ
  5. Atom-PP (XML-RPC はまだサポートされてる?)

モブログ以外で全て試した。

個人的には、Compose モードは自分好みなテキストが作れない (タグ打ちに慣れてる弊害か?) 気がするので、全然使ってない。EditHTML モードは、ポストする HTML を一番素直に書けるので気に入っている。ただし、どちらもブラウザー上から入力するため、 T-Code 使いとしては敬遠してしまう。 T-Code の問題は、99.99 % の人達には関係しないだろうけど...

メール・ポストは題名の日本語が化けるバグがあって嫌になった。もう直ってる?

それで、最近使っているのは GNU Emacs 上の emacs-atom-api。つまり、Atom-PP (Atom API) 経由でポストする方法。 Blogger に Atom-PP 経由でポストする時にも、いくつか問題があるので書いておく。

アンパサンド問題

HTML だと、半角の<>&は < > & を使って書く事になっている。ところが、Atom-PP 経由だと & を二重重ねで入力する必要がある。つまり、全角で書くと

を入力するのに、本来なら

&

と書けばよい所、

&

と入力する必要がある。

これは、きっと Blogger のバグだよね。仕方がないので、EditHTML モードで編集し直してる。

半角スペースが入る問題

Blogger は、長い一行をタグの前で改行してしまう。つまり、

... Long text before Good <a href=″。。。″>HTML</a>

という文章は

... Long text before Good
<a href=″。。。″>HTML</a>

      

になる。アルファベットで書いている時は問題ない。困るのはタグの中が日本語の時。

長〜い<a href=″。。。″>文章</a>

で、a 要素の前に改行が入り

長〜い
<a href=″。。。″>文章</a>

      

となる。ブラウザーによっては改行が空白として解釈されるので、本来

長〜い文章

と見えて欲しい所が、

長〜い 文章

という風に不要な半角スペースが入り見苦しい。同様に

long text from foo (<a href=″。。。″>bar</a>)

long text from foo (
<a href=″。。。″>bar</a>)

      

と変換されて

long text from foo ( bar)

bar の前 (開き括弧の後ろ) に不要な半角スペースが入る。これも HTMLedit モードで修正可能。

ref

ハイブリッドな Google Maps |地図|はてなマップ|Google Maps|

Google Maps がハイブリッドな地図に対応した。これは衛星写真 (satellite) と普通の地図の両方を同時に表示するもの。

といっても、(この記事を書いている段階で) 日本の地図に表示されるのは県境だけ。アメリカやイギリスの地図でどうぞ。サテライトな地図上に道路や建物の名前が表示される。

ビジュアルだけなら、 スイスの地図が一番だと思うけど、 Google Maps もそれに段々近づいてるなぁ。せっかくなので、 map.search.chGoogle Maps で、同じ場所を表示させて比較しようと思ったけど、 Google Maps、スイスで普通の地図が表示されない... う〜ん、残念。 Google Maps ガンバレ。

ちなみに、日本語の Google Maps に「ハイブリッド」のボタンは、まだない。アメリカの Google Maps.comや、Google Maps API を使っている はてなマップでお楽しみあれ。

via

ref

2005-07-23

staff と stuff

短期間 (なのかな?)、新しい人達と一緒に仕事をすることになった。それでスタッフ用のメーリング・リスト staff@xxxx.xx.xx に登録してもらった。

出会いは大切。一期一会。挨拶メールを送る。

十分経過。メールが来ない。まだ、配送されてないのかな? 登録手続が済んでない? そんな疑問を胸に、 ルパン三世を見に家へ帰る。

今朝、メールをチェックすると bounce mail が届いてた。宛先を見てみたら... stuffstaff を間違えてた orz

staff
スタッフ, 杖, 職員, 人員, 職員を置く
stuff
1.〜を詰め込む, 2.がつがつ食べる, 3.材料, (漠然と)物, たらふく食べる, はく製にする, 詰める

やられた。再送したけどこの土日に、挨拶メールはスタッフの目に留まるのだろうか...

2005-07-22

ルパン三世 -- 一年に一度のスペシャル番組を見つけろ

朝刊を見てびっくり。今日の金曜ロードショーは「天使の策略 (タクティクス) 〜夢のカケラは殺しの香り〜」じゃないですか! 今夜は 21 時に帰らなくては。今朝は、ちゃんと新聞を読んでよかった〜。と、いう事が言いたいのではなくて...

こういう年に一度しかないようなレア・イベントはどうすれば見つけられるの? って話。

試しに Google News で「ルパン」を検索したらヒット。ちゃんと ニュースにはなってるみたい。ただね。他の情報も見つかるの。リンクは貼らないけど、「誤送付: ルパン三世会員アドレス」とか「電子書籍版『新ルパン三世』」とか「大野雄二、スペシャル・アルバムをリリース」とか... そんな情報要るほど、ルパン・ファンではない。ただ、一年に一度の TV スペシャルを楽しみにしている程度なの。だから、Google Alert で毎週アラート情報を送られたり、ファン・サイトをチェックする気にはならない。その程度の興味しかない。さて、こういう情報を手に入れるにはどうすればいい?

特定の、不定期かつレアなイベント情報の入手には、 Google News もアラートも RSSSBM もまだまだ無力。いつもならアイデアの一つも浮かぶものだけど、な〜んにも思いつかない。どうしたものかね。とりあえず、今夜は 21 時には帰ってテレビを見よう。先のことは、また来年考えよう。

SBM について考える |SBM|Spurl|はてな|

友達と電話で雑談してたら、Social Bookmark の話になった。彼もぼくの blog を読んでくれてるのだが、前の二回の記事で SBM の魅力が伝わっていない。まあ、それもそのはず。あれは実験的な記事で、ぼく自身 SBM がどんなものか分かっていなかった。それ以前に SBM をまだ使ってなかった。 そこで、無謀は承知。今のぼくに書ける SBM の魅力をまとめてみる! あくまで私見。対象は Spurlはてなブックマークなので悪しからず。

アウトラインは、(1) 今までのブックマークで何ができなかったか (2) SBM でどう解決されたか (3) SBMSNS 的な魅力 という感じ。

ブラウザーのブックマークの不満

ウェブ・ブラウザー付属のブックマーク機能に何が不満か。ぼくは次のような制限に不満を感じる。

  1. ブックマークがブラウザー単位で管理されている。
  2. ブックマークに保存 (or 閲覧) できる情報が少ない。
  3. 探しているブックマークが見付からない。

SBM による解決

「ブックマークがブラウザー単位で管理されている」という事は、ブラウザーの数だけブックマークがあるということ。ブックマークの追加・修正・削除作業はブラウザーの数だけ必要。ブックマークのインポート・エクスポート機能を使ってもこれは大変。それに、出張先やネットカフェみたいに「自分のブラウザー」が使えないと「自分のブックマーク」が使えない。 SBM は、ブックマークをネット上で一元管理している。だからブックマークの修正も一回で済むし、ネットさえ繋がればどこでも見る事ができる。

次に、ブラウザーのブックマークの情報量の少なさ。基本的にブラウザーのブックマークはウェブページのタイトルと URL を保存する。でもブックマークの数が増えてくると、タイトル情報だけじゃ少なすぎる。ブックマークにコメントが残せるブラウザーもあるけれど、メニューからブックマークを見る時、コメントは読めない。その点、ほとんどの SBM は残したコメントはブックマークと一緒に表示されるようになっている。さらに、 はてなブックマークは「詳細」ボタンを押せば、 はてなブックマークはブックマーク先を一部抜粋して表示してくれるし、 Spurl では snip という名前でウェブページを抜粋するフォームが用意されている。つまり、ブックマークを見返した時、「ブックマーク先」を容易に思い出せる。

そして、ブックマークが見付からない問題。干し草の中で針を見付けるのが大変なように、ブックマークの森の中から目的のブックマークを探すのは大変。その為に、フォルダーなんか作って階層化したりするけれども、それは「どのフォルダーにブックマークを入れたか?」という問題に変わってしまう。結局、目的のブックマークは見付からないまま。この問題解決には SBM が一番力を入れていて、サービスごとの違いがよく現れていると思う。

はてなブックマークは二つの方法を提供している: (1) コメント検索 (2) タグ。コメント検索は自分のコメントに対して検索がかけられるというもの。検索キーワードにヒットしたブックマークが一覧表示される。「タグ」は、 del.icio.us という SBM が始めたもので、好きなキーワードをブックマークに付けられる。タグの一覧は はてなブックマークの右サイドに置かれ、使用回数の多い「タグ」ほど大きく、最近使われた「タグ」ほど色が変わって表示される。もちろん、「タグ」をクリックすれば、その「タグ」の付いたブックマークが一覧表示される (検索キーワードを入力しない簡易検索と考えてもよいかも)。これは自分のブックマーク (ひいては自分の興味) の傾向を目で見られるので面白い。

Spurlは (1) 検索 (2) カテゴリー分け (3) タグ をサポート。検索は、タイトル・コメント・snip・本文 (キャッシュしたテキストを検索しているのか?) に対してかけられ、マッチしたブックマークが一覧表示される。カテゴリーは階層分けされたフォルダーのようなもの。カテゴリー分けというと、「どのカテゴリーに分類すべきか?」という問題があるけれども、 Spurl は複数のカテゴリーにブックマークを登録できるので (あまり) 困らない。そしてタグ。 はてなブックマークのように、よく使う・最近追加したタグを強調表示することはないけれど、複数のタグの AND 検索ができる。この他、「最もよく使うブックマーク」「最近訪れたブックマーク」「最近追加したブックマーク」の一覧がある。

SNS としての楽しみ方

上に挙げた SBM の特徴は、ブックマークを 便利に使う機能。でも、ブックマークを 楽しんで使う機能こそ、 SBM の醍醐味と言える。

SBM の面白さ、それはブックマークを公開することにある。

そこには、公開されたブックマークを見る側と見られる側のメリットがある。見る側のメリットは、ブックマークを付ける人の「個性」というフィルターのかかった情報を得られる事。それは Google のような万人向けの検索結果ではない。「音楽」と「映画」を愛する人の興味と「絵画」と「建築物」を勉強する人の興味は自ずと違ってくるはず。そんな個性の差が思わぬ発見を生み出す。共通の興味を持つ人のブックマークは、自分の代わりに良いページを見つけてくれるようなもの。

公開ブックマークを見られる側は、「見られる」などと考えず、「情報を発信する」、つまり公開ブックマークを小さなブログと考えるといい。今はトラックバック機能こそないけれど、ブックマークを見た人からのフィードバックはある (と思う...)。 SBM によって、ブックマークを非公開にもできる (少くとも はてなブックマークSpurl はできた)。

思わぬ所で、人と人が繋がるのは SNS と同じ楽しみ。

それぞれのサービスについて書くと、 はてなブックマークでは、同じページをブックマークしている人数が表示される。人数が多い程、面白いページだと考えられる。また、ユーザーのリンクを辿って同じ興味を持つ人を見つけ易い。あと、はてなダイアリーのキーワードとも連携が取れていて面白い。

Spurl は、自分のブックマークを解析して (?)、 Spurl がお勧めのブックマークを表示してくれる。ブックマークの数が多くなれば、お勧めの精度が上がるそうなので楽しみ。そして、 Spurl が面白いのは、ブックマークされた情報をベースにした検索エンジン Zniff。検索ロボットの替わりに人力を使ってしまおうという発想。昔、ソーシャル・キャッシュ・サービスを作って、キャッシュ情報を基に検索エンジンが作れないものか、と考えたものだけど、似たアイデアは実用化されていたのかとちょっと悔しい。

まとめ

まずは、マイナーで面白いページを自分でブックマークしてごらんなさい。そして、そのページをブックマークしている人の数をチェックする。他の誰からそのページをブックマークしたら、その人のブックマークを訪ねてみよう。きっとその中に、面白いリンクが見付かるはず。

SBM は他人のを見るより自分で作る方が楽しい!

ref

2005-07-21

CSS デザインのワークフロー |CSS|

CSS デザインをする人に、面白い GIF アニメーションを紹介。

というブログ記事の Designline for the Open Air blog template (879k Animated GIF)

覚え書きさんの説明が、ほとんど全てを言い表しているので引用。詳しくはリンクを辿って下さい。

このアニメーションでは、実際にブラウザのデフォルトスタイルしか適用されていない状態でページ上に記載されるべき内容を書き並べ、ソースオーダー(文書上における記述順序)を確定してから制作者スタイルを適用し始めている様子が確認できます。「文書構造ありき」のデザインフローを可視化すると、大雑把にはこれと同様の流れになるのではないかな?という意味で、なかなか興味深いです。

構造とデザインの分離については、言われ始めて久しい。でも、自分は本当にそれをやってきていたか? レイアウト・デザインの行程は行き当たりばったりではなかったか? 本当に自分が意図した通りの見た目になっているのか? そんな問いかけを、このアニメーション GIF はつきつけてくるような気がする。

このサイトも、実はこのアニメーションの行程方法を真似てフル・スクラッチで書き直してる。CSS でデザインする人も、したことのない人も一度は見て欲しい動画です。

via

ref

つぶやき

人を見る目はあるのよ!
男を見る目がないっ!

2005-07-20

LaTeX でポスターを |LaTeX|

LaTeX でポスターを作る時、一つ注意したいのがフォントの設定。これは「手元で読むテキスト」と「遠目に読むプレゼン資料」の差。一般に、プレゼンテーションで使うフォントはサンセリフ (日本語ならゴシック体) の方が目に優しいという。

というわけで、ポスター用のテキストを LaTeX で書く場合は次のおまじないを入れておこう。

\usepackage{mathptmx}
\usepackage[scaled]{helvet}
\renewcommand{\familydefault}{\sfdefault}
\renewcommand{\ttdefault}{pcr}

日本語のテキストなら、和文もゴシック体に。

\renewcommand{\kanjifamilydefault}{gt}

フォントの種類を変えると、文字の幅が変わる。上の命令を入れたら、レイアウトが崩れてないかチェックを忘れずに。できれば、本文を書くより先に上の命令を入れとくといい。

2005-07-19

Spurl 始めました |SBM|Spurl|

TEXTOCEAN 氏の 熱い Spurl 記事に触発されて、 Spurl を始めました。

Spurl はアイスランドの Social BookMark サービス。先日、 はてなブックマークこのブログの目次を作ったことから SBM をやってみようかな、という気になっていた。それで、せっかくだから はてなブックマーク以外の SBM も試してみたくて白羽の矢を立てたのが Spurl。ブックマークをタグと階層型カテゴリー分けの両方で分類できるというのが決め手。ここら辺のタグ付けについては、一つ考えを持っているのだけど、それはまた他の機会に書きます。

Spurl は公開と非公開なブックマークを分けられる。というわけで、公開用ブックマークを下の場所で公開。

@aka's spurls の位置付け

実は、僕のブックマークは ChangeLog メモを使って取っていて、2005-07-19 日現在 2192 個を数える。というのも、メイン・ブラウザーが Emacs-w3m なので、 GNU Emacs と連携できる ChangeLog メモ上のブックマークの方が使い勝手がよい。加えて、僕の日本語入力は T-Code に頼っているので、 GNU Emacs 上でしか日本語が打てない。だから、 Spurlはてなブックマークにコメントを書く時は、 GNU Emacs 上で文章を書いてからコピーしている。これは、とても面倒。

というわけで、 @aka's spurls のブックマークは ChangeLog メモにとってあるブックマークの中でさらによさそうなものを選んで入れていくと思う。

ref

2005-07-17

Blogger の目次・タグをソーシャル・ブックマークで作る |Blogger|SBM|

追記 (2006-09-07): Blogger Beta にカテゴリー (ラベル) 機能が付いたので、本記事で紹介したはてなブックマークを使ったタグ付けを止め、全て削除しました。


Blogger というブログ・サービスは、過去の記事を活かしにくい。

ぼくは、新しいブログを発見すると、ブログの作者が何に興味を持っているのか。どんな記事を書いているか。そして、自分の興味を持ってるトピックについて書いてないか。そういう過去の記事に興味が出てくる。ここで、 Movable Type を始めとしたブログ・サービスにはこんな機能がある。

  • 全文検索
  • カテゴリー・タグ検索
  • 「続きを読む」で記事の一部のみ表示
  • 最新のコメント・トラックバック記事へのリンク

Blogger がやってるのはせいぜい NavBar の Google 検索ぐらい。それも Google に記事がインデックスされないと使えない。最近、このブログも Google にインデックスされるようになったけど、最初の一か月は Google が来てくれず、検索が全然使えなくて困った。今でも、インデックスから漏れてる記事があるから少し不便。 Technorati でこのブログを検索する方が早い気がする。

カテゴリー検索は、記事にカテゴリーを予め貼っておいて、それを基に検索するもの。カテゴリーを見るだけで、作者が何に興味を持ってるか分かる。このブログでは Googleintitle: を使った 擬似カテゴリーを試している。これも Google がインデックスしてくれないと使えない。

「続きを読む」と「最新コメントへのリンク」も Blogger がサポートしてないサービス。「続きを読む」があると、インデックス・ページは目次のようになって記事の大まかな流れが見え易い。例えば、 Blogger のアーカイブに 30 も記事があるとして、それを上から眺めて行くのは嫌になるでしょ。「続きを読む」になっていると、自分のアンテナにひっかかった記事だけ探し易くなる。「最新のコメントへのリンク」は他の人がどんな記事に興味を持ってるかが分かる。つまり、ブログの中で人気な記事を見つける手段の一つになる。

SBM は如何

そこで思いついたのが SBM (ソーシャル・ブックマーク) を使ってみる方法。

SBM は、普通ブラウザーでつけてるブックマークをウェブ上に記録してしまうサービス。集めたブックマークはウェブページとして一覧表示される。ネットさえ繋がれば、環境に関係なく自分のブックマークが見られるのがメリット。例えば、家と会社で同じブックマークを使う、なんて事ができる。 SBM はブックマークを公開するのが基本だけど、他人に見せない設定を用意してるサービスもある。あと、ブラウザーだとブックマークの数が多くなると管理が大変だけど、 SBM ではブックマークに対して検索がかけられる。

さて、ここで注目したいのが、 SBM のタグ機能。ほとんどの SBM では、ブックマークにタグをつけられる。このタグはカテゴリーと同じと考えていい。

だから Blogger の記事を

  1. SBM で公開ブックマークすれば簡易目次になる。
  2. タグをつければカテゴリー検索 (タグ検索) ができる。

というわけ

どの SBM を使うか

どの SBM を使うかは、悩ましい問題。嬉しいことに、okanomail さんが どの SBM がよいか サービスごとの特微をまとめて下さってる。取り上げられた SBM は次の 4 つ。

詳しい説明は、 okanomail さんのページを見てもらうことにして、ぼくの思考経路はこう。

Furl は日本語投稿で文字化けするので却下。 BlogMarks はページのサムネイルが表示される。一般のブックマークなら面白いと思うけど、今回は自分のブログしかブックマークするつもりはない。すると、同じサムネイルが並ぶことになっちゃう。これは空しいので却下。

残るサービスは、 del.icio.usSpurl。どちらも甲乙つけ難い。

ところで、 アクセス解析の結果を見たら、 del.icio.usSpurl から来た人はいなかったけど、 はてなブックマークから来た人はちらほら居た。

というわけで、結局選んだのは はてなブックマーク

とりあえず、 clmemo@aka の目次・タグ検索ページを

に作った。リンクはサイドバーの About の欄にも付けた。

さて、タグを見ると、 Blogger の話題、 ChangeLog メモ の話題、 GNU Emacs の話題が多いことが分かったり、このページはこんな人達からブックマークされてるんだ、と気付いたり。作った本人が一番楽しんでたりして。

Blogger に限らず、カテゴリーのないブログを使ってる人は SBM で目次作りを試してみてはいかが。ちなみに、ブックマークの登録は全部手でやって、二時間位いかかったけど。

ref

2005-07-16

Blog の記事を Emacs からポストする (1) |Emacs|AtomPP|

Atom Publishing Protocol (Atom-PP) という規格がある。これは Blog 記事のポスト (投稿) に関する約束事を決める規格。少し前には Atom-API と呼ばれていた。Blog サービスは数あるけど、同じ仕組みで皆さん記事を書けるようにしましょうね、ということ。Atom PP クライアント (Atom PP を使って blog に記事を投稿するためのソフト) を作る側のメリットは、一つの規格についてコードを書くだけで複数の Blog サービスに対応できること。つまり、Atom PP クライアントのユーザーは、(もし持ってるなら) 複数の Blog を一つの操作感で編集できる。

2005 年 7 月現在、Atom PP は未完成。それでも、ベータ仕様ながら Atom PP をサポートしている Blog は...

emacs-atom-api

さて、 GNU Emacs 用の Atom PP クライアントを Erik Hetzner 氏が公開してる。名前は emacs-atom-api 。Pure EmacsLisp なソフトで、Blog の投稿・編集・削除をサポートしている。日本語や proxy も OK。というか、 clmemo@aka の記事は 2005-05-07 からずっと emacs-atom-api で書いてる。対応してる blog サービスは Google 社の Blogger だけ。 Six Apart 社の Movable Type にも近く対応する、と思う。

emacs-atom-api は 2005-05-03 に初めてウェブに姿を現したソフトで、まだ新しい。正確には、公式リリースされてない。それに Atom PP 規格が未完成ということもあって、パッケージ名・関数名を含めて、これから変わる所も多いはず。バグを見つけたら、是非 Hetzner 氏に報告を。英語が苦手な人は、 ぼく宛にメールを送ってくれてもいいです。

インストール手順

emacs-atom-api は、 GNU Emacs 21.4 と 22(CVS) で動作確認されてる。また、 emacs-atom-api は EmacsLisp だけで動くけど、次のパッケージが必要。

  • url パッケージ
  • nxml パッケージ

url パッケージのインストール

url パッケージは、HTTP や FTP でファイルを転送するための EmacsLisp。確か、 Emacs/w3 の一部として開発が進められていたはず。Emacs にはバージョン 21 で取り込まれ、公式ツールの一つになった。

ただし、 emacs-atom-api は開発版の url パッケージでないと動かないかもしれない。Hetzner 氏が Emacs21 のために emacs-atom-api 用にチューンした url パッケージを公開しているので、もし失敗するようらこちらを使う。

url.tar.gz を展開して、load-path の通った所に置けばいい。

Emacs22 (CVS) を使ってる人は、上のパッケージはインストールする必要はない。

nxml パッケージのインストール

nxml パッケージは、投稿する記事が valid (XML 的に正しい) かどうかをチェックするのに使われてる。本来は、XHTML などの XML テキストの入力支援ツール。

nxml の最新版は次のサイトに置いてある

ダウンロード後、make をかけてシンボリック・リンクをはる。

$ tar xzvf ~/download/nxml-mode-*.tar.gz
$ cd nxml-mode-*
$ make
# ln ../nxml-mode-* /usr/local/share/emacs/nxml

最後に .emacs に設定を追加。

;;
;; nXML mode
;;
(load "rng-auto")
(when (boundp 'magic-mode-alist)
  (setq magic-mode-alist
      (cons '("<\\?xml " . nxml-mode) magic-mode-alist))
)

emacs-atom-api のインストール

最新の emacs-atom-api は以下の場所にある。

展開して、load-path の通ってる所にコピーするだけ。.emacs には次のコードを追加する。

(autoload 'atom-api:entry/edit "atom-api" "Prompts for an entry to edit, opens in new buffer." t)
(autoload 'atom-api:entry/new "atom-api"  "Create a new entry." t)
(autoload 'atom-api:entry/delete "atom-api"  "Prompts for an entry to delete." t)

Blogger に投稿してみよう

投稿用の原稿を書くには M-x atom-api:entry/new

投稿するには M-x atom-api:entry/publish

う〜ん、手抜きな説明だ。スクリーン・ショットもどうぞ。

emacs-atom-api screenshot

Proxy 対策と Basic 認証

Atom PP は Basic 認証を使う。せっかくなので、こちらの設定もしてしまおう。要るのはユーザー名とパスワードを一続きにした文字列。ユーザー名 foo、パスワード bar の場合、次の操作 (のどれか) で認証文字列が手に入る。

% echo -n 'foo:bar' | base64 -e
% echo -n 'foo:bar' | openssl enc -e -base64
% echo -n 'foo:bar' | nkf -MB
% echo -n 'foo:bar' | perl -MMIME::Base64 -ne 'print encode_base64($_)'

得られた認証文字列が "BASICFOOBAR12345"、そして Proxy が "foo.bar.proxy"、Port が 8080 とする。

(setq url-http-real-basic-auth-storage
      '(("foo.bar.proxy:8080"
  ("Blogger" . "BASICFOOBAR12345"))))
(setq url-proxy-services
      '(("http" . "foo.bar.proxy:8080")
 ("https" . "foo.bar.proxy:8080")))

ref

2005-07-15

html-fold.el alpha3 -- Emacs-w3m で HTML ソースを見る |HTML|Emacs|

お知らせ。html-fold.el alpha3 を公開しました。

Emacs-w3m でソースを見ている ( \ or M-x w3m-view-source) 時に、fold した文字列の中にステップ・インできないバグを直しました。

Emacs-w3m の view source

テキスト・ブラウザー Emacs-w3m は、閲覧しているページの HTML ソースを \ ( M-x w3m-view-source) で見られる。バッファーに対して incremental search や occur が使えるので便利。更に、html-fold をかけられる。

Emacs-w3m で view source する時だけ html-fold-mode を ON にできれば、と思ったけど、(試した限りでは) Emacs-w3m 起動時から M-x html-fold-mode していても問題なさそう。要素を折り畳みたくなったら、 C-c C-o C-b で大丈夫みたい。不具合があればコメント下さい。

追記: view source したバッファーに html 関連の font-lock をかけたい。どうすればいいのだろう。

ref

Google Maps and Local |地図|

Google Mapszenrin の地図を使って Street Map に対応した。加えて、Google Local の日本語版もスタートした。

地図検索も日本語をサポートした。試しに大阪の「OAP タワー」を検索したら...

http://maps.google.co.jp/maps?q=OAP+%E3%82%BF%E3%83%AF%E3%83%BC&spn=0.083916,0.202869&hl=ja

香川県に飛ばされた Xp

OAP タワーの住所「大阪府大阪市北区天満橋 1-8-30」を入れると成功。

http://maps.google.co.jp/maps?q=%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E5%A4%A9%E6%BA%80%E6%A9%8B1-8-30&spn=0.002606,0.006340&hl=ja

郵便番号検索にはまだ対応してない。

ところで、検索結果の「OAP タワー」から一番近い駅を探したい。そこで「ローカル検索」を使えばいいのかな? とりあえず、「以下の地図のエリア内」から「駅」を検索したけれど「大阪市立 桜ノ宮駅有料自転車駐車場」とかが見付かる。「駅」という検索キーワードがいけないのかな?

とりあえず、今後に期待。

via

2005-07-14

つぶやき

One Log to rule them all, One Log to find them
One Log to bring them all, and in the darkness bind them.

Snapshot ブランチを切る |GNU Arch|

スナップショット用のブランチを GNU Arch で作る方法についてメモ。サンプルは、html-fold.el

初めてのスナップショット

$ tla make-log
$ ls ++log.*
++log.html-fold--mainline--0.1--ataka@milk.freemail.ne.jp--2005-elisp
... エディターでログを編集 ...
$ tla tag -S -l ++log.* log html-fold--mainline--0.1 html-fold--snapshots--0.1

-S オプションは、初めてブランチを作る時のおまじない。 -l オプションで、スナップショット用のログ・ファイルを指定する。これがないと、 tag of ataka@milk.freemail.ne.jp--2005-elisp/html-fold--mainline--0.1--base-0 というサマリーがつく。

スナップショットを追加する

$ tla make-log
$ ls ++log.*
++log.html-fold--mainline--0.1--ataka@milk.freemail.ne.jp--2005-elisp
... エディターでログを編集 ...
$ tla tag -l ++log.* log html-fold--mainline--0.1 html-fold--snapshots--0.1

初めての時とやる事は同じ。 tla tag コマンドから -S オプションがなくなっただけ。スナップショット・ブランチへは、最新のパッチが追加される。

他のリビジョンをスナップショットに加えたい場合 (例えば、最新のパッチが patch-13 で、スナップショットへは patch-12 を加えたい)、バージョン番号を明示すればいい。

$ tla tag -l ++log.* log html-fold--mainline--0.1--patch-12 html-fold--snapshots--0.1

スナップショット・ブランチの名前を忘れた

$ tla branches
html-fold--mainline
html-fold--snapshots

で既存のブランチ名を確認できる。

スナップショット・ブランチのログを見る

$ tla revisions -s html-fold--snapshots--0.1
base-0
    tag of ataka@milk.freemail.ne.jp--2005-elisp/html-fold--mainline--0.1--base-0
patch-1
    tag of ataka@milk.freemail.ne.jp--2005-elisp/html-fold--mainline--0.1--patch-4

GNU Arch の用語とコマンドを理解しきってないので、間違ってることあるかも。まだまだ分からない事が沢山。例えば、 前回 -l オプションなしでスナップショットを作ったから、変なサマリーがついちゃった。修正したいのだけど、ログの上書きってどうすればいいの? 分かる人いたら教えて下さい。

ref

2005-07-13

html-fold.el alpha2 -- quickurl との連携 |HTML|Emacs|

最初にお知らせ。html-fold.el alpha2 を公開しました。

M-x html-fold-inline (及び M-x html-fold-dwim) で閉じタグが fold されないバグを直しました。

quickurl.el とは...

さて、HTML でリンクを入力するのに quickurl.el を使うと便利という話をむかし書いた。簡単に復習すると

clmemo-!-

という状況で (-!- はカーソルの位置)、 M-x quickurl (or C-c q) すると

<a href="http://pop-club.hp.infoseek.co.jp/emacs/changelog.html">ChangeLog メモ</a>

clmemo に対応するリンクへと変換される。

quickurl との連携

更に html-fold を組み合わせれば、上のリンクは

[a:ChangeLog メモ]

と見晴らしがよくなる。でも、怠惰な人間は考える。 quickurl したら、すぐに html-fold をかましたいと。考えたなら、やってみましょう。advice を使えば簡単に実現できる。下のコードを .emacs に追加して、

(defadvice quickurl-insert (after fold-html-if-available)
  "Fold inserted url if fold-html-mode is t"
  (when (and (boundp 'html-fold-mode) html-fold-mode)
    (html-fold-inline)))

(eval-after-load "quickurl"(ad-active 'quickurl-insert) を加える。具体的には、こんな感じ。

(eval-after-load "quickurl"
  '(progn
    (defun quickurl-mode-format-function (url-list)
       (let ((url  (quickurl-url-url         url-list))
       .... この関数は 
        quickurl の導入で定義したもの。
    (ad-activate 'quickurl-insert)  ; この一行を追加する。
))
      

さあ。リンクは楽に入力できるし、沢山入力しても見苦しくない。よいでせう。

ref

darcs でパッチを送る |darcs|evolution|

darcs で管理されてるプログラムのソースを取得して、手元で修正を加えた。

分散管理システム ( darcs もその一つ) のよい所は、手元に自分用のレポジトリを作って (分散と云われる所以ね) 管理ができる所。つまり中央レポジトリへの write 権がなくても、自分好みに開発ができる。自分用の (あまりに自分専用すぎて他人には公開できない) パッチを作ってる人とか、所用でネットに繋げないけど開発を続けている人とか、一回のコミット単位が大きすぎて中央へのコミット前に手元でも何回かバージョン管理したい人とかに便利。

閑話休題。手元のパッチを、オリジナルの作者に送ろうと思う。その為に darcsdarcs send というコマンドを持っているのだけど、デフォールトでは動かなかった。何でだろ。マニュアルを読むと、 evolution を使ってメールを送る方法が書いてあったのでメモ。

% darcs send --sendmail-command "evolution \"mailto:%T?subject=%S&attach=%A&cc=%C&body=%B\""

好みを言えば、 Mew をコマンドラインから呼び出せるとよいのだけどなぁ。誰か、そういう事やってる人いる?

ref

2005-07-12

RD の目次を作る rd-hindex2.rb |RD|Ruby|

Ruby には RD という簡易マークアップ言語があって、 RDtool で HTML へと変換できる。RD の特微はシンプルな構造。いいかえれば、可読性の高いドキュメント。例えば、ドキュメントのヘッダーは次のように書く。

= ヘッダー 1

== ヘッダー 2

=== ヘッダー 3

==== ヘッダー 4

+ ヘッダー 5

++ ヘッダー 6

読み易いし、書き易い。HTML のタグ打ちに嫌気がさして文章に注力したい人は是非使ってみて欲しい一品。詳しくは、RD フリークを自認する「るびきち」氏が 「Ruby を 256 倍使うための本 魔道編」で一冊かけて説明しているので、そちらを参考されたし。

目次

使い易い RD なのだけど、いくつか制限がある。その一つが、デフォールトで目次 (Table of contents) 作成に対応していないこと。そこで、 rd-hindex2.rb の紹介。RD ドキュメントから、ヘッダー部分を取り出して ul 要素を使った目次を作成してくれる。

$ rd-hindex2.rb foo.rd > foo.toc.rd

目次を入れたい所に include で toc ファイルを埋め込むだけ。

<<< foo.toc.rd

次の Makefile は、 GNU Arch説明を書いた時に使ったもの。よければ、 SRC = gnu-arch の部分を適当に変えてお使い下さい。

RD2 = rd2
RD2HTML = $(RD2) --require=rd/rd2html-lib --html-lang=ja
RDHINDEX = rd-hindex2.rb --base-level=1
SRC = gnu-arch
CSS = $(SRC).css

all: html

html: $(SRC).html

$(SRC).html: $(SRC).rd $(SRC).hindex.rd
 $(RD2HTML) --html-title="Rendez-vous GNU Arch" --with-css=$(CSS) $< > $@
$(SRC).hindex.rd: $(SRC).rd
 $(RDHINDEX) $< > $@

rd-hindex2.rb のオプション

上の Makefile で、 --base-level というオプションが見える。実は、rd-hindex2.rb はレベル 2 (HTML でいう所の h2 要素) 以下のヘッダーの目次を作る。つまり、レベル 1 (h1 要素) のヘッダーは目次に含まれない。普通の人なら、レベル 1 のヘッダーはドキュメントの題名を入れるだろうから、この仕様は納得できるものだ。ただ、愚かなことに、gnu-arch.rd はそういう事を考えずに文章を書いてしまったので、レベル 1 のヘッダーも目次に含めて欲しかった。 --base-level はそんな人のためのオプション。このオプションで指定した数字より小さなレベルの目次が作られる。

ドキュメントによっては、第 6 レベルのヘッダーまで書く人もいるでしょう。でも、深いレベルの目次は欲しくない。せいぜい、レベル 3 程度に留めて欲しい、という人もいるかと思う。そんな人には --max-depth オプション。このオプションで指定した数字より大きなレベルの目次が作られる。

最後に

rd-hindex2.rb は、るびきち氏の rd-hindex.rb を森川氏が改良したもの。オプション関連のコードを、ぼくが不躾に森川氏に送り付けて今の形になった。素敵なツールを作って下さった両氏に、感謝の意をここで表したい。

ref

るびきち
アスキー (2001/03)
売り上げランキング: 5,698

2005-07-11

GNU Arch quick start |GNU Arch|

GNU Arch は、最近お気に入りのバージョン管理システム。かなりクセのあるソフトなので、僕自身、 簡単な説明を書いてる。ただ、新規にファイルを GNU Arch で管理しようと思った時、先の文書は冗長に過ぎる。せっかくだから、メモとして残しておきましょ。

html-fold.el というファイル一つを GNU Arch のバージョン管理に (初めて) 置いた時のコマンドを例に。

$ tla archive-setup html-fold--mainline--0.1       ; アーカイブ名の設定
$ tla init-tree html-fold--mainline--0.1           ; カレント・ディレクトリーを対象に
$ tla add-id -i elisp_html_fold_main html-fold.el  ; 新規ファイル登録
$ tla inventory --ids --source                     ; これはファイル登録の確認 (任意)
$ tla make-log                                     ; Emacs 等で新規のログを書く
$ tla import                                       ; アーカイブに登録

登録作業は、以上でお終い。cvs checkout に当たる作業は次の通り。

$ cd ..                                            ; 一つディレクトリーを戻って
$ tla get html-fold--mainline--0.1 html-fold-0.1   ; 先程のアーカイブを checkout
$ cd html-fold-0.1                                 ; html-fold-0.1 という directory が出来てるはず。

スナップショットの作成

どのバージョンを公開したかを覚えるのに、スナップショット・ブランチを使う。html-fold は base-0 (一番最初のリビジョン) を公開したので、これを snapshots--0.1 ブランチに保存する。

$ tla tag -S html-fold--mainline--0.1--base-0 html-fold--snapshots--0.1

-S オプションは、初めてスナップショット用のブランチを切る時に使う。二度目以降は要らない。例えば、patch-12 というリビジョンをスナップショット・ブランチに入れるには次のようにする。

$ tla tag html-fold--mainline--0.1--patch-12 html-fold--snapshots--0.1

2005-07-10

html-fold.el alpha1 |HTML|Emacs|

Ralf Angeli 氏の tex-fold.el を改良して、 html-fold.el を作ってみた。何ができるかというと、 HTML テキストの要素 ( <a>とか <script> とかの所謂タグね) の折り畳み表示。左が html-fold 使用前で、右が html-fold 使用後。

html-fold off html-fold on

折り畳んだ文字の中にカーソルを持っていくと、自動的に展開される。そして、展開部からカーソルを出すと再び (自動的に) 折り畳まれる。

html-fold は minor-mode なので、 GNU Emacs に標準で付いてきている HTML モードはもちろん、 YaHTMLnxml-modepsgml なんかとも一緒に動く。きっと、 HTML が書かれていればどこでも動くんじゃないかしら。

HTML のソースを手打ちしてる人に喜こんでもらえるんじゃないかと思ってる。特に、 BloggerMovable Type といった Blog ののテンプレートを書く人に使ってもらえると嬉しいな。

ダウンロード

インストール

html-fold.el を load-path 下に置いて、以下のコードを .emacs に追加。

(autoload 'html-fold-mode "html-fold" "Minor mode for hiding and revealing elements." t)

利用方法

まず html-fold を使用するバッファーで初期化 ( M-x html-fold-mode) をする。とりあえず使ってみるなら、 C-c C-o C-b (M-x html-fold-buffer)。HTML の要素が fold される (折り畳まれる)。

用意したコマンドは以下の通り。

C-c C-o C-b ( C-c C-o b)
バッファー全体の folding (unfolding)
C-c C-o C-r ( C-c C-o r)
リージョン内の folding (unfolding)
C-c C-o C-p ( C-c C-o p)
パラグラフの folding (unfolding)
C-c C-o C-o
文脈に応じた folding/unfolding
C-c C-o C-e
Block 要素の folding
C-c C-o C-m
Inline 要素の folding

html-fold は font-lock のように自動で動かないので、新しい要素を入力したら手で再描画の必要あり。逆勧めは、何も考えずに C-c C-o C-bC-c C-o C-o

カスタマイズ

html-fold には、現在、2 つの fold type がある。一つはブロック要素を対象にしたもの。もう一つは、インライン要素を対象にしたもの。

html-fold-block-list

この変数に列挙した要素 (とその中身) は、 [要素名] という形で折り畳まれる。設定例は次の通り。

(setq html-fold-block-list '("script" "style" "table"))
html-fold-inline-list

この変数は、 ((リスト) (リスト) (リスト)) という形になっていて、 (リスト)の書式は、次の通り。

("置き換え文字" ("要素1" "要素2"))

例えば、a 要素は [a: という形に、abbr 要素と acronym 要素は [ab: という形に折り畳む場合、次のように設定する。

(setq html-fold-inline-list
      '(("[a:"  ("a"))
        ("[ab:" ("abbr" "acronym"))))

今の所、インライン要素を C-c C-o C-o ( M-x html-fold-dwim) で unfold しようとすると終了タグが unfold できない。困ったもんだ。

Tips

M-x html-fold-mode を打つのが面倒なら、hook を .emacs で設定するのも吉。下の例は、html-mode に入った時に、自動的に html-fold-mode を実行する設定。

(add-hook 'html-mode-hook 'html-fold-mode)

tex-fold について

tex-fold は、Ralf Angeli 氏が開発した Elisp で、 AUCTeX と一緒に配布されている。 AUCTeX のページに スクリーンショットがあるので興味があればどうぞ。tex-fold に関する日本語のドキュメントは、ほとんどないみたい。よければ、 私の書いた説明もお読み下さい (大した事、書いてないけど...)。

2005-07-09

つぶやき

One foreign physicist asked about the sand pattern in HoNen-In,
How often do they form this pattern? Once a day? Or, once a week?

A Japanese physicist answered,
It's self-organized.

2005-07-08

はてなマップ |地図|

はてなが Google Maps API を使って、 はてなマップという地図サービスを始めた。 Google Maps と同じように衛星写真を使った地図で、緯度・経度から表示位置を指定できる。もちろん、Ajax のスクロール地図。

goo 地図Infoseek 地図Zenrin の地図を使って、 Livedoor 地図Increment P Corp の地図を地図を使っているのと同じように、 はてなマップGoogle Maps の地図を使っていると考えてもよいのかな。 zenrinIncrement P Corp が契約を結んで他社に地図を提供しているのに対して、 Google は API の提供で地図を自由に使わせている。地図会社も真っ青だね。 Google Maps 自体が、日本にそれほど特化していないのがネックだけど、これは時間が解決してくれそう。

はてなマップのウリは、

  • 地図上にコメントが残せる
  • 地図上に写真を残せる

サービスが始まって、日も経たないというのに沢山のコメントが寄せられてる。

地図にコメントが残せるサービスといえば、 livedoor が地図にトラックバックを打てるサービスをやっていた。 Livedoor 地図は、地図の詳しさで一足リード。ただし、 はてなマップは、一応世界対応。イタリアにコロッセオのコメントがあったりと面白い。

ちなみに、路線検索との連携とかルート検索とかグルメ情報の抽出とかの機能はない (これは Google Maps と同じ)。コメント文に対して検索をかけられるとか、コメントにタグを打ってカテゴリー分けするとかしたら面白いかもね。

via

ref

2005-07-07

Goto-line in Emacs22

行番号ジャンプ系コマンドのキーバインドが Emacs22 (CVS) で変更・追加されてるのでメモ。Emacs 22 の ChangeLog によると、[2005-04-19] に変更されたとある。

M-g g or M-g M-g
goto-line (指定行へジャンプ)
M-g n or M-g M-n
next-error (次のエラーへジャンプ)
M-g p or M-g M-p
previous-error (前のエラーへジャンプ)

goto-line については、今までキーバインドされていなかったのが不思議な位い。

next-error は、 C-x ` にバインドされているけど、 バッククォート・キー (`) の位置はキーボードによって違うから M-g n へバインドされるのはよいかも。C-x ` よりはよっぽどまし。 (習慣で C-x ` ばかり使いそうな気はするけど...)。

previous-error も、Emacs22 で始めてキー・バインドされた関数。Emacs21 では、M-x previous-error なんてやらなきゃいけなかった。

2005-07-06

関連するメモのスレッド表示 (3) |ChangeLogメモ|Emacs|

、link タグを使って ChangeLog メモ のスレッド表示をする話をしてきた。今回は、リンク・タグ挿入の補助ツールについて。

初めてリンク・タグを入力するには、関数 clmemo-tag-link-insert ( C-c ( l) を使う。では、二回目以降は? clmemo-tag-link-insert を使って、記憶を頼りにタグを入力してももよいけれど、入力したタグ一覧を見ることができた方がよいよね。というわけで関数を書いた。

(defun clmemo-tag-list-link ()
  "List all the latest link tags."
  (interactive)
  (let (link list)
    (save-excursion
      (goto-char (point-min))
      (while (re-search-forward "^\t\\((link: .+)\\)" nil t)
 (setq link (match-string 1))
 (unless (member link list)
   (setq list (cons link list))))
      (setq list (nreverse list)))
    (pop-to-buffer "*tag-link*")
    (delete-region (point-min) (point-max))
    (insert "  ==clmemo-tag==\n\n")
    (insert (mapconcat (lambda (l) l) list "\n"))
    (goto-char (point-min))))

ChangeLog メモファイルの中で、 M-x clmemo-tag-list-link すると、別ウィンドウが開いてリンク・タグの一覧が表示される。目的のタグを見つけたらコピーする。

時間ができたら、リンク・タグの一覧の上で RET するだけでタグを挿入するようにしたい。

P.S. clmemo-tag-link-insert にバグがありました。[2005-07-05] にコードを修正しました。[2005-07-05] 以前のコードをコピーされた方は、もう一度コピーし直して下さい。

ref

2005-07-05

後置型サイドバー |HTML|

ただの日記で後置型のサイドバーのすすめが書かれている。 後置型サイドバーとは、 「本文より後にサイドバーが定義されているような HTML 構造」。このページも、後置型サイドバーで書かれている。

後置型に対して、 前置型というのもある。サイドバーの定義が本文よりも前に書かれているものがそう。 ただの日記では、以下の理由を挙げて後置型サイドバーを勧めている。

  • 視覚障害者が使う音声ブラウザで最初に本文を読み上げてもらえる
  • CSS を解釈しないテキストブラウザでも最初に本文を読むことができる
  • 劣悪なネットワーク環境 (含・携帯) でも、まず本文を読むことができる

この他にも、SEO 的に有利とか、サイドバーの HTML にバグがあってもに本文が影響を受けない、とか色々利点があると思う。

このブログで何度か書いた通り、ぼくは Emacs-w3m というテキスト・ブラウザー使い。だから、前置型サイドバーで書かれていると欝陶しくてしょうがない。昨今のブログは、テキスト・メインなものも多いので、テキスト・ブラウザーで事足りてしまう。ところが下手すると、本文よりも前置型サイドバーの定義の方が長い場合もあって、そんな時、テキスト・ブラウザーだと本文が前置型サイドバーとフッターにサンドイッチされる形になる。すると本文がどれなのか分からなくなってしまう。これは、前置型サイドバーだけじゃなくて、ヘッダー部が大きくても同じことだけど、とにかく本文がすぐに読める形でブログを提供して欲しいなぁ、と思う。

蛇足ながら付け加えると、サイドバーはできれば右側につけて欲しい。というのは、ブラウザーの幅を狭くしていると、本文を「横スクロール」しないと読めないから (可変幅のサイトなら問題ないけど、ほとんどのサイトは固定幅)。例えば、 HMV のサイトとか、横スクロール必須なので因ってしまう。読みたいのは、本文で、サイドバーは補助的な役割と割り切って欲しい。

2005-07-04

GNU Arch お試し記事、書き途中 |arch|

GNU Arch というバージョン管理システムがある。かな〜り使い勝手にクセのあるソフトなので、簡単な使い方の流れを書いてみた。

自作のソフト、 blgrep を開発した時の流れをまとめたもの。多分に書き途中だけど、参考になれば幸いです。

GNU Arch の特徴

  • CVSSubversion のような集中管理ではなく、ソース・レポジトリを個別に持てる分散管理システム。
  • コミットはファイルごとではなく、ソース・ツリー単位で行ない、これをチェッジセットという。
  • アーカイブ名そのものが、バージョン番号・ブランチの情報を含んでいる。

GNU Arch のインストール

インストールのドキュメントが見つかりにくいので、簡単に書いておく。

$ tar xzvf tla-1.3.3.tar.gz
$ cd tla-1.3.3/src
$ mkdir =build
$ cd =build
$ ../configure --prefix=/usr/local
$ make
$ make test
# make install

ちなみに、ドキュメントは、src/docs-tla/build/install.txt。configure で prefix を指定しないと、src/=build/=install 以下にバイナリーがインストールされる。zsh などの shell を使っている場合は、=build の先頭の = を \ でエスケープする必要がある。./=build でもいいけどね。

2005-07-03

ReMoved |ChangeLogメモ|

要らないテキスト、どうしてますか?

プログラムの要らなくなったコード。アドレス帳の使わなくなったアドレス。設定ファイルの使わなくなった設定。もう二度と開かないかもしれないファイル。そういったものを、みんな、どうしてるだろう。消してしまいたいけど、もしかしたら、万が一、また使うかもしれない。そんな不安を持ちながらファイルを消したり、コメント・アウトしたりしてませんか?

一つの解答は、バージョン管理システム ( RCSCVS) を使うことだと思う。コードやファイルの見た目は綺麗に保てるし、万が一の時にも復元は簡単。欠点を言えば、小さなコードやファイルにバージョン管理は大袈裟だということ。

そんな時におすすめなのが ChangeLog メモ。ぼくは、ReMoved というタイトルで、要らないデータを保存している。

2005-05-17 (Tue)  Masayuki Ataka  <ataka@milk.freemail.ne.jp>

 * ReMoved (.forward): メールは全部 Gmail へ。
 \ataka,

2005-03-07 (Mon)  Masayuki Ataka  <ataka@milk.freemail.ne.jp>

 * ReMoved (init-tex.el): 古い設定を削除。
 (howm: 20050307-120711.howm)

2004-07-09 (Fri)  Masayuki Ataka  <ataka@milk.freemail.ne.jp>

 * ReMoved: 興業収入について
 >> boxoffice.txt
 興行収入関係の記録
 [2002-05-03] スパイダーマン (米) Opening 3 Days $114,844,116
 [2002-11-15] ハリー・ポッターと秘密の部屋 (米) Opening 3 Days $87.69 (約 105 億円)
 [2002-11-16] ハリー・ポッターと秘密の部屋 (日) 先々行オールナイト 4.5 億円
 [2002-12-18] ロード・オブ・ザ・リング 二つの塔 (米) Opening Wed. $26
 [2002-12-18] ロード・オブ・ザ・リング 二つの塔 (米) First Weekend $47.2
 [2002-12-18] ロード・オブ・ザ・リング 二つの塔 (米) Opening 3 Days $61.5
 [2002-12-18] ロード・オブ・ザ・リング 二つの塔 (米) Opening 5 Days $101.5
 <<

上から順に、使わなくなった .forward ファイルの中身、TeX 関連の設定 (かなり削ったので quasi-howm で別ファイルに)、そして興行収入の記録を書き出そうと思っていたけど、結局書かなくなった boxoffice.txt ファイルそのもの。

捨てようかどうしようか、迷っているテキストがあったら、是非一度お試しを。悩むストレスが減ります。

Technorati Search in Emacs-w3m |Emacs-w3m|Technorati|

[2005-07-01]、 Technorati.jp の正式サービスが始まった。

テクノラティは、ブログ界で何が起きているかを確認することができるリアルタイム検索エンジンです。

ようはブログ検索サービス。 GoogleYahoo! みたいな検索サービスは、インデックスの更新がだいたい一か月おき (?) なので、最新の情報を集めるのには不向き ( そこで Google News というのは置いといて)。 Technorati は、RSS や PING 情報を基にして最新のブログ検索を行っている。だから、1 時間前のポストも、すぐに検索結果に反映されてたりする。

Technorati で面白いのは、ブログに対する逆リンクも調べられる事。検索キーワードの替わりに、 ブログの URL を入れるとそのブログにリンクしているページが、 permalink を入れるとそのポストにリンクしているページが分かる。これは Technorati がチェックしているブログからのリンクのみを調べてるから、漏れてるブログもある。でも、トラックバックを打ってないけど、リンクしているページなんかを見付けるのに便利。

Technorati in Emacs-w3m

そんな検索サービスがあるなら、 Emacs-w3m からも使ってみたい所。以下のコードを .emacs に含めると、 Emacs-w3m のサーチから、 Technorati の検索ができるようになる。

(add-to-list 'w3m-search-engine-alist
   '("technorati"
     "http://www.technorati.jp/search/search.html?query=%s&language=ja"
     utf-8))
(add-to-list 'w3m-search-engine-alist
   '("technorati-en"
     "http://www.technorati.com/search/%s"
     utf-8))
(add-to-list 'w3m-search-engine-alist
   '("technorati-tag"
     "http://www.technorati.com/tag/%s"
     utf-8))

最後の設定: technorati-tag は、 Technorati がサポートしているタグを検索する。タグは Flickr のタグや Movable Type のカテゴリーに対応している。日本語サポートもサポートされている (けど、 Technorati Japan には説明ページがない...?)

ちなみに Technorati の検索結果は Emacs-w3m で見ても、 Google と同じ位い見易い。難を言えば、ヘッダーが場所を取り過ぎてることかな?

ref

2005-07-02

関連するメモのスレッド表示 (2) |ChangeLogメモ|blgrep|Emacs|

に「今日の戯事」さんのページで鋭いツッコミが入った。

でも #1 は,いらないような気が・・・
ここで言う #1 は、リンク・タグの番号のこと。復習すると、リンク・タグの書式はこう。
(link: [2005-07-01] foo #1)

この番号、実は、なくてもいい。 ChangeLog メモは時系列順に並んでるから、番号がなくても物事の順序は明確。だから要らない。そして、途中で このメモはこのスレッドに含めといた方がいいかなとメモを挿入すると番号をずらさなきゃいけなくなる。バグの温床だね。

一つ言い訳させてもらうと、このリンク・タグを考えた時、スレッドの分岐を考えてた。メールのやり取りでも、スレッドが二つ三つに分かれることがあるから、そういう時にどうするか。そこで思いついたのが、 RCS のサブバージョン番号の方法。

1
↓
2
↓
3
↓     ⇓
4.1.1 4.2.1
↓     ↓
4.1.2 4.2.2
↓     ↓
4.1.3 4.2.3

こんな感じに、スレッドが分岐したら、小さな番号を付けて管理すればいいと思った。

リンク・タグを個人的に一年間使っての感想: 実際、スレッドの分岐なんてほとんど起こらない。起きたら、そのスレッドが分かれた時に新しいリンク・タグを用意した方がスッキリしてて分かり易い。

そんなわけで、今はリンク・タグの番号に必要性は感じてない。

こんな時に番号があると楽になるのでは? とか、番号はない方がイイ、とか御意見・コメント下さい。とりあえず、番号なしリンク・タグ用の elisp です。

;
; link
;
(defun clmemo-tag-link-grep ()
  (interactive)
  (let (query beg end)
    (setq beg (progn (beginning-of-line) (skip-chars-forward " \t") (point))
   end (search-forward ")" nil t)
   query (regexp-quote (buffer-substring-no-properties beg end)))
    (if (fboundp 'clgrep-item)
 (funcall #'clgrep-item query)
      (occur query))))

(defun clmemo-tag-link-insert ()
  (interactive)
  (concat "["
    (save-excursion
      (clmemo-backward-entry)
      (buffer-substring-no-properties
        (point) (progn (skip-chars-forward "-0-9") (point)))) "] "))

(setq clmemo-tag-list
      '("link" clmemo-tag-link-grep clmemo-tag-link-insert))

[2005-07-05]: Fixed bag.

ブックマーク・ツールバー |firefox|

Firefox のツールバーに、デフォールトで「最新ニュース」とある部分。 Blogger の 「Blog This!」なんて bookmarklet をくっつけておく、あの部分。一体何て言うんだろう? こういう時、ウェブの検索って使えない。用語が分かんないから調べたいのに...

結局、 firefox のメニューから [表示] → [ツールバー]。そこに出ている「ナビゲーションツールバー」と「ブックマークツールバー」のうち、「ブックマークツールバー」のチェックを外したら、目的の部分が非表示になった。そうか、この部分は ブックマークツールバーっていうのか。

ぼくは、ブックマークツールバーを bookmarklet を置く場所だと思ってた。この機能を知ったのが、 Blogger 「Blog This!」 bookmarlet だったから。以降、 FlickrMovable Type の bookmarklet もここに付けてる。しかし、bookmark toolbar ということは、bookmark も置けるのだね。こんな単純な事にも気づかず... せっかくなんで、 Gmail へのブックマークを追加。う〜ん、ワン・クリックで移動できるのって便利だ。

さてさて、これが bookmark toolbar という事は、「ブックマークの管理」でも設定ができるという事ですね。管理ウィンドウを開いてみると、確かに「個人ツールバーフォルダー」という名前でブックマークツールバーの中身が入ってる。そこから、プロパティをいじればブックマークレットの名前も簡単に変更できちゃう。 Flickr のブックマークレットの名前を変えるために、 いろいろやったけど、「ブックマークの管理」のプロパティで一発じゃん。というか、ブックマークツールバーで右クリック、[プロパティ] でも出来るし。ちょっとショック。

せめてもの救いは、ブックマークツールバーの名前が分かったことと、ブックマークツールバー上で右クリック (or ブックマークの管理) でプロパティを見たり新規フォルダーが作成できるのが分かったこと位いかな。

関連するメモのスレッド表示 |ChangeLogメモ|blgrep|Emacs|

ChangeLog メモは基本的にテキスト・ファイルなメモ形式だから、流れのあるメモ同士 (スレッド?) を繋げて表示する機能はない。そこで、一工夫してスレッド表示する方法を紹介してみる。ちなみに、このアイデアは chalow ML (非公開) に一年以上も前に投稿したもの。

方法は簡単。

  1. スレッド固有の文字列 (リンク・タグ) をメモに埋め込む。
  2. clgrep で「スレッド固有の文字列」を検索して一覧表示させる。

リンク・タグ

スレッドに固有の文字列は、リンク・タグと呼ぶことにしてる。書式はこう。

(link: [2005-07-02] foo #1)

上の例は、foo というスレッドを 2005-07-02 に作ったということ。スレッドが続けば、末尾の #1 の番号を上げていく。キモは、固有の文字列にスレッド開始の日付を含めること。一日のうちに、同種のスレッドを立ち上げることなんて滅多にないし、仮にあったとしても一日のうちだったら名前がバッティングしてもすぐ気付く (はず)。

リンク・タグ (link: [2005-07-02] foo # に対して clgrep をかければ、リンク・タグを含むメモだけが取り出せる。

使用例

以前このブログに書いた HMV のアカウントに入れない件について、メモしたスレッドを例として表示させてみよう。

2005-06-10 (Fri)  Masayuki Ataka  <ataka@milk.freemail.ne.jp>

 * Blog: HMV のアカウントに入れなかった件についてブログに書いた。
 同じようなトラブルに遭った人がいたら、ということで。
 (link: [2005-05-29] hmv #5)

2005-06-08 (Wed)  Masayuki Ataka  <ataka@milk.freemail.ne.jp>

 * HMV: 新アカウント登録。で、再び使えるようになった。
 (link: [2005-05-29] hmv #4)

2005-06-02 (Thu)  Masayuki Ataka  <ataka@milk.freemail.ne.jp>

 * HMV: アカウントにログインできない件について返答。
 > 新パスワード確認メールを見て、再トライしてくれ。
 その確認メールが届かないんだけど...
 (link: [2005-05-29] hmv #3)

2005-06-01 (Wed)  Masayuki Ataka  <ataka@milk.freemail.ne.jp>

 * HMV: ログイン用のメール・アドレスを教えて欲しいとサポート・センターからメール。
 (link: [2005-05-29] hmv #2)

2005-05-29 (Sun)  Masayuki Ataka  <ataka@milk.freemail.ne.jp>

 * HMV: HMV にログインできない件について
 メールで問い合わせた。
 (howm: 20050529-045054.howm)
 (link: [2005-05-29] hmv #1)

カテゴリー検索で同じような事もできるけど、もっと細かく一連の作業・手続き・話の流れをピックアップできるのがいい所。もし上の例で「HMV」に対して検索をすると、HMV で買い物をした話とかが出てきて情報が絞り込めない (もちろん、HMV でのお買い物は別のスレッドで管理してて、CD の購入・入金・発送・到着なんて 4 つ以上のメモが繋がる)。

clmemo hacks

#2 以降のリンク・タグは、コピペで入れればいいとして、一番最初のリンク・タグの生成と、リンク・タグの検索が面倒ですな。次のコードを .emacs に入れると幸せになれるかもしんない。

;
; link
;
(defun clmemo-tag-link-grep ()
  (interactive)
  (let (query beg end)
    (setq beg (progn (beginning-of-line) (skip-chars-forward " \t") (point))
   end (search-forward "#" nil t)
   query (concat (regexp-quote (buffer-substring-no-properties beg end))
   "[0-9.]+)"))
    (if (fboundp 'clgrep-item)
 (funcall #'clgrep-item query)
      (occur query))))

(defun clmemo-tag-link-insert ()
  (interactive)
  (concat "[
    (save-excursion
      (clmemo-backward-entry)
      (buffer-substring-no-properties
        (point) (progn (skip-chars-forward "-0-9") (point))))
  (insert "]  #1")
  (backward-char 3))

(setq clmemo-tag-list
      '("link" clmemo-tag-link-grep clmemo-tag-link-insert))

リンク・タグを入れたい所で C-c ( l するとタグが挿入される。そんで、リンク・タグの上で C-c RET するとリンク・タグを含むメモだけが抽出される。ただし、リンク・タグの中のインライン日付で C-c RET すると、その日付へのジャンプになっちゃうので注意。

2005-07-01

「clmemo@aka」の Trackback Policy

此の儀、内容に合わせて言葉改め致す。

トラックバックにも、色々な解釈があるといいます。 言及リンクのないTrackBackの何がいけないのか によると

まとめると、トラックバックの解釈には

  1. トラックバックは、相手のサイトに言及しリンクしたときに送るものである
  2. トラックバックは、相手のサイトに言及もリンクもしないで送るものである

という2つの文化が現に存在していて、本来は前者の使い方をするものであったのが、 日本ではいつの間にか後者の勢力が大きくなっているようだ。

とのことです。自分がどちらのサイドにいるかを明言しておくことは、トラックバックを打つ人達への配慮になるでしょうから、立場を明確にしておきます。私は「言及リンクを送る」派です。

ただし、真琴さんが 主張するように、時系列が逆のトラックバック (ポスト後に書かれた記事に「既にこういう記事を書いています」という主旨で送るトラックバック) は言及リンクがなくてあたり前と考えています。この場合、言及なしのトラックバックを打ちます。

また、このブログでは、「続き記事へのリンク」という観点から、自サイトに対してトラックバックを打ちます。

以上、御諒承下さい。

トラックバック・ポリシーを作ろう。ルールやマナーに悩む人のための作成ガイドを参考に、clmemo@aka のトラックバック・ポリシーを次のようにします。

基本

  • このサイトへのトラックバックは完全フリーです
  • トラックバックは関連記事からであればうれしいです
  • 内容に関係があってリンクもしている記事からは、トラックバックを遠慮せずにできるだけしてほしいです
  • ここで挙げたポリシーは自分自身にも当てはめます。自分が消すようなトラックバックは他人に送信しません

礼儀・挨拶

  • トラックバックする前に事前連絡は必要ありません
  • 知らない人にいきなりトラックバックを送るのは問題ありません
  • トラックバックをする場合に事前に許可を求める必要はありません
  • トラックバックをしましたとコメント欄に書く必要はありません
  • トラックバックをいただいた場合、相手記事にコメントをすることもあります
  • トラックバックへのトラックバック返しは必要ありません
  • トラックバックを受けたとき、トラックバック返しはすることもあります
  • こちらからのトラックバックに対する挨拶やお礼は必要ありません
  • 多重トラックバックの削除依頼はできたらください

削除対象

  • 当方が受けたトラックバックは基本的に削除しません
  • texas holdem などの機械的・大量のトラックバック spam 広告は削除します
  • 内容は関係がなく、当方へのリンクのない記事からのトラックバックは放置します
  • 内容は直接関係ないが、文中で参照リンクの貼られている記事からのトラックバックは放置します
  • 内容は関連しているが、当方へのリンクのない記事からのトラックバックは歓迎します
  • 内容が関連しており、当方へのリンクのある記事からのトラックバックは歓迎します
  • 当方へのリンクはあるが、一行コメントなど情報量があまりにも少ない「うなずき系」記事からのトラックバックは削除しません
  • 当方へのリンクだけで、まったくコメントのない記事からのトラックバックは放置します
  • 当方へのリンクがなく、誹謗中傷など悪意ある記事からのトラックバックは放置します
  • 当方へのリンクがあるが、誹謗中傷など悪意ある記事からのトラックバックは放置します
  • 当方へのリンクがなく、反対意見・反論が書かれている記事からのトラックバックは歓迎します
  • 当方へのリンクがあるが、反対意見・反論が書かれている記事からのトラックバックは歓迎します
  • 当方へのリンクがなく、こちらからトラックバックやコメントをつけられないサイトからのトラックバックは削除しません
  • リンク元サイトの性質によってトラックバックを削除することはありません
  • こちらの記事内からのリンクがあるにもかかわらずトラックバック返しされた場合、削除しません
  • 匿名の人のブログからのトラックバックはそれだけの理由では削除しません
  • トラックバックのエラーによる重複は削除することもあります
  • トラックバックツールが原因でサイトの表示が乱れる場合は削除することもあります
  • トラックバック元にアクセスできない場合は削除することもあります
  • 商売サイトからの宣伝トラックバックは削除することもあります
  • アフィリエイトが主たる目的のサイトからのトラックバックは放置します
  • その他、管理人が削除しようと思ったという理由以外の理由なく削除することがあります

ref

つぶやき

バグは現場で生まれてるんじゃない。
会議室で生まれてるんだ!

バージョン管理システム darcs のインストール |darcs|

バージョン管理システムの一つ、 darcs をとある事情でインストール。使い方なんて全然分かってないけど、インストールに少し手こずったのでメモを残しとく。

darcs

darcs は、新しめのバージョン管理システム。同種のソフトだと、 RCSCVSSubversionGNU Arch なんてのがある。 GNU Arch なんかと同じく、分散管理ができるみたい。巷では、パフォーマンスが低いとか、まだベータ・バージョンなんて風評も聞く。ちょっと使った感じでは、個人使用ならこれはいい、かもしれない。特にログの書き方が面白い。もう少し使ってから、使用感を書きます。

darcs のソースコードは Haskell というマイナー (失礼!) な言語で書かれている。なので、インストールの手順は次のようになる。

  1. Haskell のコンパインラーのインストール
  2. darcs のインストール

ghc -- The Glasgow Haskell Compiler

ghc -- The Glasgow Haskell Compiler というのが、事実上 Haskell の標準コンパイラーのよう。[2005-06-30] の最新版は 6.4。

configure があるので、 configure; make; make install で一発かと思いきや、configure でコケる。

configure: error: GHC is required unless bootstrapping from .hc files.

最初、このエラーを見た時は意味が分からなかった。文章は読めるけど、理解ができないってやつね。

ghc のページを見てみたら、不吉な問言を発見。

The source distribution needs an installed GHC 5.X or 6.X to build.
If there isn't a binary distribution for your platform (any version), then you'll need to consult the section on Porting GHC in the Building Guide.

うわぁ。ここは、素直にバイナリーを頂きます。ちなみに、用意されてるバイナリーは、Linux (x86, x86_64, PowerPC, PowerPC 64), Windows (x86), FreeBSD (x86), OpenBSD (x86), MacOS X (PowerPC), AIX (PowerPC)。

バイナリーをインストールしたら、ソースからのコンパイルも出来た。ただ Pentium4 2.8G でも、コンパイルに 1 時間以上かかった。やる人は気合いを入れて。

darcs のインストール

darcs インストールの最大の山は、 The Glasgow Haskell Compiler なので、後は楽。

./configure; make test; make install

でお終い。

オマケ

darcs でソースが配布されている場合:

  1. ソースの取得: darcs get http://foo.bar.org/fofofo/bababa/
  2. ソースの更新: darcs pull

ref