2007-02-09

Blogger のバックアップを取る方法

Google Operating System に、Blogger に投稿した全ての記事をバックアップする方法が紹介されていた。

このエントリーを読んで、年/月ごとに全ての記事をバックアップする方法を思いついた。まず、その方法を紹介して、その後補足的に Google Operating System さんのまとめを付け加えませう。

なお、このバックアップの方法は、新 Blogger に移行していないと使えない。悪しからず。

年間記事バックアップの取り方

年間記事のバックアップを行なうには、新 Blogger の新レイアウト方法で「Archives (アーカイブ)」ウィジェットをサイドバーに表示させる必要がある。

Blog Archive「アーカイブ」ウィジェットを表示させると、スクリーン・ショットのやうになる。ここでは、2005 年度の全ての記事をバックアップしませう。その手順は以下の通り。

まず、アーカイブの中で「2005」の部分 (赤丸で囲んだところ) をクリックする。すると 2005 年度の記事が新しい方から 50 件表示される。ここでアドレス・バーに注目。URL は

となっている。

ここで、URL の末尾 max-rusults=50 の数値を記事の数にまで増やす。記事数はアーカイブの年の隣に出ている数。つまり、スクリーン・ショットの場合は 328。大雑把に 330 にしてもいい。つまり、このように書き換える。

さあ。これで、一つのページに 2005 年度の全ての記事 328 本分が表示される。後は、このページを保存すればいい。

月間記事バックアップの取り方

月間記事の場合は、上と同じ手順で、アーカイブの「年」の部分じゃなくて「月」の部分を選ぶ。月間アーカイブの URL は

  • http://at-aka.blogspot.com/YYYY_MM_01_archive.html

という形式で一定だし、記事数の制限もないので、アクセスし易い。

毎月、月の頭に前月の記事バックアップを取っておくと、安心かもね。

全ての記事のバックアップ方法

ここからは Google Operating System さんのエントリーのサマリー。

全ての記事のバックアップを取る場合は、ブログの URL の末尾に search?max-results=N をくっつける。ここで、最後の N は総エントリーの数。この数はダッシュボードから確認することもできるし、アーカイブの年間記事数を足し算してもいい。計算違いがこわければ、一寸大きめの値を選んどくといいかな。

今、clmemo@aka は、千本以上 1100 問以下の記事を書いてるから、全エントリーを取得するにはこんな URL にアクセスすればいい。

  • http://at-aka.blogspot.com/search?max-results=1100

記事数が多すぎるので、恐くてアクセスしてないけれど ^^;

写真もバックアップしたい

Firefox extension 「DownThemAll」を併用する。

XML 形式で全記事バックアップ

XML フィードを使って、全記事をバックアップする方法もある。こちらの方が、データベースなどに流用する場合は便利でせう。上の例をもう一度使うと、以下の URL にアクセスすればいい。

  • http://at-aka.blogspot.com/feeds/posts/default?max-results=1100

Blog の名前と記事数は、自分のサイトに併せて変えられたし。

年間記事・月間記事の XML フィードは取得できるのかな? ちょっと分からない。

コメントのバックアップ

コメントも XML フィード形式でバックアップが取れる。

  • http://at-aka.blogspot.com/feeds/comments/default?max-results=1100

コメント数の合計を調べる方法がないのが、ちょっと痛い。まあ、一つのエントリーに何本コメントが入っているかで予想はつくかな。大低のブログなら、記事数と同数。余裕を見ても、その倍の数を設定しておけば大丈夫じゃなからうか。もし、駄目ならトライ & エラーで頑張って!

Emacs の Org-mode で T-Code 入力

Emacs 22 からは、超強力 Outline モードと言われる Org-mode がデフォールトでついてくる。

このモードを知ったのは、二年か三年位い前だったはず。当時は、T-Code による日本語入力ができなくて、利用を諦めた。面白そうなパッケージだけど、日本語入力ができないとねぇ...

それで、先刻 reddit を見たら、Org-mode の紹介ページが上位に来てた。

Org-modeはCarsten Dominik氏が作成したEmacsのOutline-modeを大幅に拡張したアウトライナーのLisp(マクロ)である。Org=organizerという名のとおり、アウトライナーの域を超えて、プロジェクトやTODOを管理したり、スケジュールを組んだりするオーガナイザーである。

OrgMode - Emacs上のアウトライナー より引用

面白そう! 二年も経ってるから、もう日本語入力できない不具合も直ってるでせう、と使ってみるも、やっぱりダメ。でも、ここまで熱が上がったら、後には引けない。で、色々調べてみたところ、次の一行を .emacs に追加すれば Org-mode でも T-Code が使えるようになることが分かった。

(add-hook 'tcode-ready-hook
   '(lambda ()
      (setq tcode-input-command-list
     (cons 'org-self-insert-command tcode-input-command-list))
))

これで、ようやく org-mode を使うことができる。これから、org-mode で遊ぶつもり。もしかしたら、今後 org-mode 関連のエントリーを書くかもね。

2007-02-07

Subversion で Berkeley DB のエラー (とその対処)

Fedora Core 2 で管理している Subversion のリポジトリーを、Ubuntu 6.10 に移したところ、エラーが出て svn checkout が出来なかった。原因は、Berkeley DB のバージョンが違ったことにあるらしい。対処法をメモしておく。ちなみに、Fedora Core 2 の Subversion はバージョン 1.0.2。Ubuntu 6.10 は 1.4.3。

まずは、やったこととエラー・メッセージ。tex-symb というプロジェクトのリポジトリーをコピーした。

from.machine$ tar czvf tex-symb.tar.gz ~/repos/svn/tex-symb
from.machine$ scp tex-symb.tar.gz to.machine:~/
from.machine$ ssh to.machine
to.machine$ cd ~/repos/svn
to.machine$ tar xzvf tex-symb.tar.gz
to.machine$ cd ~/program/2007
to.machine$ svn checkout file:///home/ataka/repos/svn/tex-symb/trunk tex-symb
--- Error Message ---
DB_VERSION_MISMATCH: Database environment version mismatch
svn: bdb: Program version 4.3 doesn't match environment version
...

対処

Subversion の FAQ に答えが載ってた。

こちらを参考に。svnadmin recover を実行後 db/ ディレクトリー下の __db.00* ファイルを削除した。

$ svn recover ~/repos/svn/tex-symb/
$ rm ~/repos/svn/tex-symb/db/__db.00*

FAQ には「svnadmin list-unused-dblogs /path/to/repeository で表示されるログ・ファイルも削除する」と書いてあるけど、ぼくの環境ではログ・ファイルは一つも表示されなかった。

これで、古いレポジトリーも新しい環境で checkout できるようになった。

蛇足: Ubuntu への Subversion 1.4.3 のインストール

Ubuntu へ Subversion 1.4.3 をインストールする方法は、ひげぽんさんのサイトを参考にした。

Bazaar 0.14 のインストール & Bazaar 小史

分散型バージョン管理システム Bazaar の最新版 0.14 をインストールした。インストール・メモを書いておく。

インストール・メモ

ダウンロードは、こちらから。最新 0.14 を入手。

展開したら、root になって、python 2.4 でインストール・スクリプトを実行。それだけ。

$ tar xzvf ~/download/bzr-0.14.tar.gz
$ cd bzr-0.14
# python2.4 setup.py install

Bazaar-NG 0.8 系からのアップデート

Bazaar の最新情報のチェックをさぼっていたので、今回は 0.8 から 0.14 へと大きなアップデートになってしまった。これだけバージョンが開いてしまうと、いくつかトラブルが発生する。その対処法のメモ。

まず、Bazaar の設定ファイル ~/.bazaar/branches.conf の名称が ~/.bazaar/locations.conf に変更された。

mv ~/.bazaar/branches.conf ~/.bazaar/locations.conf

Bazaar のユーザー名 (Log に書き込まれる) などの設定はこのファイルで行なう。一応、locations.conf のサンプル。

[DEFAULT]
email=Masayuki Ataka  <ma.sayuki.ataka@yahoo.com>

それから、0.14 をインストールして bzr コマンド (何でもいい) を実行すると、こんなエラー・メッセージが表示されるようになる。

Unable to load plugin 'conflicts' from '/usr/lib/python2.4/site-packages/bzrlib/
plugins'
bzr: ERROR: exceptions.ImportError: No module named parsers.expat

これは、Bazaar 0.14 では使われなくなった xml.py というファイルが残っているのが問題らしい。同様に、plugins/conflicts.py というファイルもエラーを引き起こす。この二つのファイルは削除する。

# rm /usr/lib/python2.4/site-packages/bzrlib/xml.py*
# rm /usr/lib/python2.4/site-packages/bzrlib/plugins/conflicts.py*

Bazaar 小史

Bazaar は半年位い前までは、Bazaar-NG と呼ばれていたツール。もともと GNU Arch というバージョン管理ツールがあり、そこから Bazaar というソフトが分岐した。そして、もっと先進的な取り組みを行なうために、Bazaar-NG がフルスクラッチから書かれた。その成果は Bazaar へとフィードバックされるはずだった。

しかし、Bazaar-NG は (旧) Bazaar より素晴らしかったらしい (ぼくは旧 Bazaar を使ったことがないので、比較はできない)。Bazaar-NG は Bazaar と名を変え、旧 Bazaar は、Baz もしくは Bazaar-1.X もしくは Baz-1.X と呼ばれるようになった。

ref

2007-02-06

chalow.org スタート

chalowChangeLog メモを HTML に変換してくれる Perl スクリプト (一種のブログ・ツール!?)。ChangeLog メモを提唱した山下達雄氏によって開発が行なわれている。

たつをの ChangeLog メモによると、今日、chalow のオフィシャル・サイトが chalow.org に移転したとのこと (内容は旧サイトから変化なし)。

ChangeLog メモ (clmemo) は、ぼくも 5 年近く使い続けてる、素晴らしいメモ形式だと思う。このブログのタイトルも clmemo から取っている。ぼくは ChangeLog メモの内容を、 chalow ではなく Blogger を使ってブログ化しているけれど、chalow に興味がないわけではない。今後の動きにも注目しやう。

ref

Subversion Quick Start

バージョン管理システムの Subversion を使い始めた。今まで、Bazaar やら darcs やら GNU Arch に手を出していたけれど、バージョン管理ホスティング・サービスの多くが Subversion ベースな状況を鑑み、潮時かなと観念した次第。

Subversion 公認のこちらのサイト (文献) を参考に勉強を始めてる。

クイック・スタート

とりあえず、今、tex-symb.el という単独のファイル (このファイルは今までバージョン管理はしていなかった) を Subversion で管理したい。新規のプロジェクト 作成の手順をメモしておく。

リポジトリの作成

~/svn/tex-symb を、tex-symb.el のリポジトリーにする。

$ mkdir ~/svn
$ svnadmin create ~/svn/tex-symb
インポート

/tmp に、とりあえず tex-symb/{branches,tags,trunk} の三つのディレクトリーを作り、trunk ディレクトリーに tex-symb.el をコピーする。複数のファイルがある場合も、全て trunk ディレクトリーにコピー。

そして、その /tmp/tex-symb 以下をリポジトリーにインポートする。

$ mkdir -p /tmp/tex-symb/branches/
$ mkdir -p /tmp/tex-symb/tags/
$ mkdir -p /tmp/tex-symb/trunk/
$ cp ~/tex-symb.el /tmp/tex-symb/trunk
$ svn import /tmp/tex-symb file:///home/ataka/svn/tex-symb -m 'initial import'
Adding         /tmp/tex-symb/trunk
Adding         /tmp/tex-symb/trunk/tex-symb.el
Adding         /tmp/tex-symb/branches
Adding         /tmp/tex-symb/tags

Committed revision 1.

trunk, branches, tags の三つのディレクトリーは、後でブランチを切ったり、タグを付けたりする時に使うらしい。

作業ディレクトリーの作成

ぼくは、プログラムの作業ディレクトリーを年ごとに分けている。つまり、~/program/2007/PROJECT という感じ。こうしておくと、古いプログラムを見なくて済む。ちょっとした Tips。

で、その ~/program/2007 以下に tex-symb を checkout する。

$ cd ~/program/2007/
$ svn checkout file:///home/ataka/svn/tex-symb/trunk tex-symb
A  tex-symb/tex-symb.el
Checked out revision 1.

checkout の時、file:///.../trunk まで含めること。

ファイルの追加とコミット

ChangeLog ファイルがないことに気付いたので、touch してリポジトリーに追加する。

$ touch ChangeLog
$ svn add ChangeLog
$ svn commit -m 'Add ChangeLog file'

ファイルを編集した時も、svn commit。

$ vi tex-symb.el
$ svn commit -m 'Edit foo'

コミットしたら、アップデートしてログを確認。

$ svn update
At revision 2.
$ svn log
------------------------------------------------------------------------
r2 | ataka | 2007-02-05 17:43:34 +0900 (Mon, 05 Feb 2007) | 1 line

Add ChangeLog file
------------------------------------------------------------------------
r1 | ataka | 2007-02-05 17:31:38 +0900 (Mon, 05 Feb 2007) | 1 line

initial import
------------------------------------------------------------------------

今日はここまで。

Wikipedia 中国語版の orz (失意体前屈,くずおれる男) が充実してる

satomi さんに教えてもらったんだけど、Wikipedia 中国語版 (zh.wikipedia.org) の「orz (失意体前屈 もしくは くずおれる男)」の解説が充実している。

「orz」の亜種・変種が沢山いる! 数字の「520」だけで、右向き orz だなんて思もよらなかった。個人的には「oΩ (背部隆起的)」がお気に入り (ベルセルクに出てきた赤ちゃんに似ているような気もしないではないけれど)。

中国語が読めないんで、細かい突っこみが出来ない。誰か、これを日本語に訳してくれないかしらん ;p

ref

2007-02-05

Conversational Index 2007

Covnersational Index の復習

一年前、Conversational Index (CI) なる用語が流行った。これは、Stowe Boyd がブログの評価指標の一つとして提案したもの。計算式はこうだった。

CI = ブログの記事数 / (コメント数 + トラックバック数)

「人気なブログは、他との対話 (Conversation) 率が高いはず。だいたい CI 値が 1 より小さければ、人気ブログと言えるのでは?」というのが彼の主張。CI 値の計算が、それほど敷居も高くないことから、色んなブログがこの Conversational Index を計算していた。

今日、この Conversational Index の話題を取り上げたのは、一年前のちょうど今日、当ブログで Conversational Index のことを取り上げたから (rtm でリマインダーを打ってあったんだから!)。

というわけで、一年前と今の値を比較してみる。

※ CI 値の計算で使う、記事数・コメント数・トラックバック数を Blogger で調べる方法は前記事を参照のこと。

CI 2006 vs. 2007

まずは、基本の CI 値の比較。今日までの総記事数は 1034 本。コメント数は 827。トラックバック数は 132。コメント・トラックバックは、スパムを除いて数えた。

CI[2007] = 1034 / (827 + 132) = 1.078
CI[2006] =  378 / (179 +  39) = 1.734

おおっ。グッと 1 にまで近づいて来た。clmemo@aka も、ようやく人気ブログかな?

ところで、コメントの半分はぼくの返事コメント。外から入ったコメントは全体の半分と考えると、CI 値は結構上がる。CI[2007] = 1034 / (423 + 132) = 1.833 (cf. CI[2006]=2.93)。

そうそう、去年はトラックバックの代わりに「外からのリンク数」を使う方法も試してみた。外からのリンク数は、Technorati で調べられる。Technorati 曰く191 ブログから 485 個のリンクがあるさうな。この値を使って再計算。

CI'[2007] = 1034 / (827 + 485) = 0.788
CI'[2006] =  378 / (179 + 109) = 1.312

うん。1 を切った。スゴいぞ。

あとがき

一年前と比べると、記事数・コメント数・トラックバック数が格段に増えた。いや、去年のデータはブログ開設 10 か月後のもので、今年は 22 か月後。単純に数の比較は出来ないけれどね。でも、この一年で clmemo@aka も人気が出てきたのかなぁ、なんて思う。来年も、CI 値を計算してみよう!

The Best Blonde Joke, Ever

一足遅れの感もあるけれど、紹介しませう。

いやー。笑せてもらいました!

映画の予告編をまとめてフィード・リーダーで見る

Going My Way さんが、こんなことを書いてらっしゃる。

トレーラーをまとめてビデオ Podcast として配信してもいいかもしれません。

Going My Way: 映画の予告編などをビデオ Podcast の CM としていれたらいいかも より引用

トレーラー (Trailer, 映画の予告編) なら、Google Video で配信されている。Google Video に行って、7 番目のカテゴリーが、そのものズバリ「Movie Trailers」となっている。

Google Video Movie Trailers

Google Video は RSS も用意している (スクリーン・ショットの赤丸で囲んだ所ね)。このフィードをフィード・リーダーに登録すれば、映画の最新トレーラーのチェックが簡単に出来るようになる。欠点は、予告編が全て英語 (日本語字幕はつかない) なことと、国内の予告編が配信されていないことかな。まあ、海外の映画に興味のある人は、このフィードを登録しても損はないと思う。

フィードは、いわゆるメディア・フィード (ビデオ・フィード)。対応したフィード・リーダーで購読すると、フィード・リーダーの中で Google Video のプレーヤーが起動する。ぼくは、Google Reader, Bloglines, livedoor Reader の三つのフィード・リーダーを常用しているけれど、メディア・フィードに対応しているのは Google Reader だけだった。Bloglines と Livedoor Reader では、ビデオのスクリーン・ショット (画像) しか見えず、サイトに跳ばないとビデオを再生することは出来なかった。

なお、Google Video では、更に「Now Playing (上映中)」「Comming Soon (近日公開予定)」「New and Comming Soon to DVD (近日発売予定の DVD)」の三つのカテゴリーを用意している (ただし RSS は見当たらない)。興味があれば、こちらもどうぞ。

ref