iPhone用ファームウェア2.2.1リリース

iPhone用のファームウェア2.2.1がリリースされましたね。

2.2.1

図1. 2.2.1

どうも、主にバグ修正みたいですね。さっそくインストールしてみました!

iPhone 2.2.1

図2. About画面

どこがかわったか、といわれるとよくわかりません… ^^;

WordPressで保存された履歴を削除し、さらに履歴を保存する数を制限もしくは無効にする方法

WordPressから記事をExportして、さらにImportすることがあります。WordPressでは、Exportすると
xmlのファイルになるのですが、これがサイズが大きいことがあります。中を見てみると、過去の版(履歴)も含まれています。
これは、exportしてimportしたときに、前のサイトでの編集の履歴までインポートできるので、便利な機能ではあるのですが、
記事を書いている最中にマメに「保存」「保存」とするとどんどん版がふえて、エクスポートファイルのサイズも
どんどん大きくなってしまいます。そこで、サイズの削減のために過去の履歴を削除することを考えてみます。

削除は簡単で、mySQLのサーヴァーに接続して下のコマンドを実行します。

DELETE FROM wp_posts WHERE post_type="revision";

テーブル名「wp_posts」は該当するものにかえてください。「接頭辞_posts」の形式です。重要なデータの場合は、念のため
実行する前にテーブルをバックアップしたほうがいいでしょうね。

ちなみに、あるサイトでこれを実行したところ、18MBあったエクスポートファイルが3.4MBになりました。1/6!

そもそも、なんでこんなにたくさんリビジョンを保存するのであろうか。必要あるのかしら? と思われた向きには、
保存する履歴の数を指定する機能があります。ただしWordpress 2.6以降のみ? 調査はしていません。

その方法は wp-config.phpに次のような行を追加するだけ。

define('WP_POST_REVISIONS', 数);

「数」に数字をいれると、その数だけにリビジョンが制限されます。0やfalseにするとリビジョンを保存する機能が
無効になるようです。

いやー、こんな定数があるなんて知らなかった…WordPressにはまだまだおもしろい機能がたくさんありそうです。

参考文献

  1. How to delete existing WordPress post revisions stored/saved, My Digital Life, 2008
  2. Disable and turn off post revisions tracking in wordpress 2.6 or above, My Digital Life, 2008
  3. How to store every post revisions on each auto save in wordpress with limit on versions count, My Digital Life, 2008

Blogger(blogspot.com)をよそへリダイレクトする方法

ウェブのURLを変更する場合、301リダイレクトをすると検索エンジンが「URLが変更になったんだな」と認識してくれることになっていますが、Bloggerからよそへひっこす場合、定番の.htaccessを使った方法やPHPのスクリプトを使う方法がつかえません。かわりの方法を試してみたのでメモしておきます。

手順は以下のとおり。

  1. 移転元のBloggerから、移転先のWordpressへ記事をインポートしておく。パーマリンクも同じにしておく。
  2. Bloggerの「レイアウト」「HTMLの編集」で、<header>と</header>の間に下記の2行をいれる。
    <meta content='0;url=http://your.new.blog.domain.com/newdir/' http-equiv='refresh'/>
    <meta name="ROBOTS" content="NOINDEX, NOFOLLOW"/>
    
  3. 同じくBloggerの「レイアウト」「HTMLの編集」で、「<b:section class=’main’ id=’main’ showaddelement=…」のすぐあとに以下のコードをいれる。
    <b:widget id='Redirector' locked='true' title='Blog Posts' type='Blog'>
    <b:includable id='main'>
    <b:if cond='data:blog.pageType == "item"'>
    <b:loop values='data:posts' var='post'>
    <script type='text/javascript'>
    var new_page=&#39;your.new.blog.domain.com/newdir/&#39;;
    var permalink = &#39;<data:post.url/>&#39;;
    var timestamp = &#39;<data:post.timestampISO8601/>&#39;;
    timestamp = timestamp.split(&#39;-&#39;);
    timestamp = timestamp[0]+&#39;/&#39;+timestamp[1];
    new_page = permalink.replace(/youroldblog.blogspot.com/20[0-9]{2}/[0-9]{2}/,new_page+timestamp);
    document.location.href = new_page;
    </script>
    </b:loop>
    </b:if>
    </b:includable>
    </b:widget>
    

このコードでは移転元と移転先のパーマリンクがwordpressでいうところの「/%year%/%monthnum%/%postname%.html」であるということを前提としています。ちがう場合は、timestampあたりを適当に修正してください。このコードは参考文献[1]をベースに、おかしいところを多少変更しました。

「1.」が案外むづかしい。ふつうにインポートすると、パーマリンクが保存されません。記事の数が多い場合は困るね。要検討です。

「2.」の meta http-equiv=’refresh’は正確には301リダイレクトにはなりませんが、Yahoo!やGoogleは転送前の時間が0または1の場合は301として、それより大きい場合は302として扱うそうです(参考文献[2])。なので、これでよしとしよう。

というわけで、ためしにやってみました。http://unixjp.blogspot.com/2006/05/blog-post.htmlにアクセスすると、http://narak.jp/wptest/2006/05/blog-post.htmlへリダイレクトされるようにしました。Google/Yahoo!が301扱いを
してくれているかどうかはわかりませんが….

参考文献

  1. How To Redirect Blogger Beta To WordPress.Com, laffers.net, 2007
  2. 301 Moved Permanentlyでウェブサイトを転送する方法, たんきゅうラボ, 2006

2008-2009年末年始の移動

このブログの読者の皆さん、あけましておめでとうございます。本年もどうぞよろしくお願い申し上げます。

というわけで、今年も年末年始は実家めぐりをしてきました。例によってガーミンのハンディGPSでとった移動の軌跡はこちら。

driving route: okayama - tottori - nagoya

図1. 2008-2009 移動の軌跡

いつのまにかGoogle Earthでgpxファイルが読めるようになっていたので、gpsbabelでガーミンからMacに取り込んだgpxファイルをそのままGoogle Earthに読み込まて、ゴニョゴニョしてできたのがこの画像です。青が2008年12月29日の岡山→鳥取、赤が2009年1月2日の鳥取→名古屋、オレンジが2009年1月5日の名古屋→岡山です。赤い線が琵琶湖の北から米原あたりまでとぎれているのは、ガーミンの電池がきれちゃったからです!

去年の年末年始の移動と比較すると、
多少経路がちがいますね。いちばんちがうのは愛知県から岡山県へ帰る経路で、今年は新名神が開通しているのでそちらを通りました。
経路で言うと、東名阪→新名神→名神→京滋バイパス→名神→中国道→山陽道です。新名神は設計速度がちがうので、大変快適でいいです。
去年とちがって途中で食事をしなかったのもあって、1時間以上短縮の3時間10分ぐらいで到着できました。青の岡山→鳥取は昼食込みで4時間弱、赤の鳥取→名古屋はトイレ休憩のみで7.5時間です。

ことしも鳥取では雪が降りましたが、去年と比較すると少なめ。

car and snow

写真1. デミオに雪

そんなわけで、今年は(も?)道中の積雪はまったく問題ありませんでした。しかし、今年はカメラをもって行くのを忘れたので写真があまりない! iPhoneしかなかったので…