2006年02月 17日
本家サイト トップページ復帰
前回宣言した通り、本家サイトのTOPページを復帰させました。index.rdf を PHP で読み込み、更新4つを自動的に表示させています。
既にカテゴリーおきの RSS 生成は完了しているので、後はその RSS を PHP で読み込んで各コンテンツを更新する枠組みを設計すれば、完全復活です。結局、作業に着手するまで1年かかったヨ。
2006年02月 13日
本家サイト自動更新化に向けて
以前、blog に書いた内容を整形して、そのまま本家サイトに自動反映する、と言うことをやっていました。これは MT Category の Template を blog 用と本家サイト用の2つ用意して実現。実は「更新順」「名前順」「更新逆順」ソート機能なんてのも用意していて、それぞれ別 Template。つまりひとつの Category に4つもファイルを生成していたわけです。
自宅サーバーが動作しなくなって、Berkley DB のレンタルサーバー(http://1-man.net)に臨時引越し中のため、こんな重い状態をそのまま使うわけにもいかず。そこで、XML-RPC & PHP で、本家サイト側から Entry をひっぱってくるのはどうだろう?と。サンプルコードもあったのですが、この案は、レンタルサーバーさんの PHP には XML-RPC module がインストールされていないことが分かり、却下。
今考えているのは、各カテゴリーやトップページを XML ファイルで生成しておき、それを本家サイトの PHP がパースして HTML を整形するやり方です。これなら生成ファイルが増えなくて良さそう。と言うことで、PHP で XML をパースする方法を調べてみたところ、下記にとっても良いサンプルがありました。
早速、利用しているレンタルサーバー上で試してみたところ、おお、動いた動いた!DOM じゃなくてもいけるのね、XML の読み込みって。ソースを読みきれていませんが、シンプルなコードになっているため、すぐに理解できそうです。これは大変ありがたいサイトを発見しました。PHP に関する入門を始め、PHP にまつわる様々な内容が揃っているようです。
材料としてはそろってきたので、いよいよ、サイト自動更新の実装確認と検討フェーズです。
2006年02月 09日
Similarity Search 復活!
以前利用していた、Similarity Search (個別エントリーの右側に表示されています)、 ドメイン変更後、ぜんぜん動かなくなったなぁ、と思っていたのですが、 今日、突然動き出しました!
なんだったんだろう? Bulkfeed Smilarity Search のサーバー側がおかしなことになっていたのかな?
無事に jscache も動作しているようです。良かった良かった。
2006年02月 07日
日付ブラウジング修正
ほとんど気がつかれないと思いますが、実は各エントリー上部にある ○○年○月 ○日 の部分はリンクになっていて、月別アーカイブ、日別アーカイブにジャンプします。いや、単に僕が後で月別・日別とブラウジングしやすいようにそうしていたのです。
ですが、MT3.2 になって、日付アーカイブへの URL がちょっと変わったみたいでリンク切れになっていました。で、今日ようやく修正しました。一歩ずつ元に戻して行きましょうか。
2006年02月 03日
ecto 1.8.8 をインストール
しばらくサボっていましたが、去年の9月に 1.8、12月に 1.8.8 がリリースされていたようですので、インストールしてみました。
相変わらず結構バグありでリリースされています。日本語環境ではほとんど確認されていないのでしょう。ぱっと見ただけでも以下のようなバグがあります。
- メニューが表示されない
(表示がないだけで、クリックは出来る) - メニュー上のいくつかのアイコンが表示されない
- 日本語が(やっぱり)変
- OK が apply を兼ねていない
(結構不便) - アップデート ping の設定がオプションに移った
(これは分からなかった)
とは言え、以前のように例外エラーで落ちたりするようなことはずいぶん減ったように見えます。細かいところは、またバグレポートを出してみようかな。
ちなみに、これらローカライズバグよりは、英語の方がマシ、と言う方は、インストールしたフォルダ内の 『ja』『ja-JP』と言うフォルダ名を適当に変更してしまえば、英語版として実行されます。
2006年01月 30日
携帯ページ復活
もろもろ引越し後、上手く動いていなかった携帯サイト、復帰しました。
例によって、MT4i と言う CGI を用いています。後は Similarity Search と本家サイト自動更新部が復帰できれば完全復帰なんですが。実は1年近くも完全復帰できていないと言うw
2005年11月 10日
MT Ver. 3.2-ja-2 の SPAM filter
凄いですね、Movable Type 3.2 に標準で搭載されている SPAM Filter。性能の良さに感激です。 SPAM 判別されたコメント・トラックバックは DB 登録はされますが、ビルドされないため、削除も高速。ほとんどこれだけのために 3.2 に Update しても良いぐらいですね。
Update の方法は手順どおりです。mt.cfg は mtconfig.cgi と言うファイルに取って代わったようですが、mt.cfg でも対応できます。ので、特に手を入れずに mt.cfg を使ってしまって OK の模様です。
mt template 周りで多少、厳密にチェックするようになったみたいで、凝ったことやっている人の中には以前通っていた template が使えない可能性があるかも知れません。少なくとも私はそうでしたが、普通に修正できる範囲でした。
3.0 の導入時の印象は、2.0 と大して変わらないな~と言うのがぶっちゃけ本音でしたが、3.2 はなかなか感動できる出来栄えになっています。メジャーバージョンアップ扱いで 4.0 って言っても良いんじゃないかと思うぐらいです。やりますねぃ。
2005年11月 07日
MT Ver. 3.2-ja-2 導入
とりあえず、導入してみました。今しがた再構築に失敗したっぽい?後ほどレポートします。
2005年02月 23日
ecto for Windows 1.5 RC1 使用感
Blog エントリーを Windows アプリケーションからポストできるようにするツール、ecto for Windows 1.5 RC1 、想像以上になかなか good です。
ちょっとエントリーが増えちゃった Blog サイトだと、エントリーの Post に時間がかかって仕方ないと思うのですが、ecto 1.5 では、新規エントリー作成 Window と Post 作業が別スレッドで実行できるので、Post 作業をさせている間に、他のエントリーを書くことと言うことが可能です。これが大変便利!勿論、新規エントリー用 Window は複数開くことが可能です。ですが、前のエントリー Post が終了する前に、続けて Post すると動作が怪しいので気をつけてくださいな(このあたりが、ぜんぜんアマアマな感じ)。
プレビュー機能もローカル上で実行してくれるのはうれしいですね。各 Blog に合わせて HTML を適用可能です。ただ、どうせならタブ形式にして欲しかったところですが。
サポートしているサービスも増やしているようです。が、日本のサービスはさすがに検証されていないと思います。とはいえ、Movable Type や TypePad 以外でも XML-RPC をサポートする Blog サービスなら、恐らく動くでしょう。また、作者の Alex さん、バグ・レポートするとかなり必死で対応してくれたりします。つたない英語でも結構くみとってくれて、僕的には高感度アップアップw ので、ぜひ、いろいろためしてあげて欲しいところです。
その他、画像アップロードの UI が相当改善されています。以前のバージョンでは日本語環境下ではツールボックスの配置が崩れてしまっていて使い物になりませんでした。ただ、相変わらず、UI まわりで、「あれ?」と思うような部分があります。Apply ボタン押さずに OK ボタンで閉じると設定が適用されない、とか。トラックバック設定ウィンドウの反映が、×ボタンで閉じる仕様とか。また、予め用意されている HTML テンプレートが貧弱すぎです。自分で HTML テンプレートをがんがん追加できる人向き。
と言うことで、まだまだ、パソコン慣れしていない人が使うには、ちょっと敷居が高そうです。が、Movable Type に直接 Post するよりは、ずーっと気軽に Post できるようになりますよ。そのうち、Help ファイルを翻訳して公開しようと思っています。
2005年02月 18日
Movable Type 3.151-ja 導入
いつもながらのさりげなさで MT 3.151-ja へアップグレードしました。2005/2/7 付けでリリースされていたのですが、ばたばた忙しくて対応できていませんでした。
Movable Type 日本語版サイト: Movable Type 3.151日本語版の提供を開始
脆弱性の問題修正と、ダイナミックページに関するバグ修正が主らしい。更新履歴によると、5.15-en 同等にした、で片付けられてしまっているため、脆弱性問題の詳細不明。いつもどおり、アップグレード自体はきわめてスムーズで、ものの10分作業でした。
2005年02月 17日
ecto for Windows 1.5 Release Candidate 1
Blog エントリーを Windows アプリケーションからポストできるようにするツール、ecto for Windows が 2005/2/14 付け(なんとバレンタインデー)で 1.5 RC1 となったようです。正式リリースではまだありません。
ユーザーインターフェースが大幅に変更となっているようです。このエントリーは ecto for Win 1.5 RC1 でポストしていますが、大きく変わったのは新規エントリーの作成が別 Window になり、今までのエントリーを参照しながら書き込めるようになった点のようです。なお、旧バージョンの設定は引き継がれないようなので、HTML テンプレートの類は Backup をお勧めします。また、簡単に使ってみた感じ、やっぱりまだまだバグは少なくない模様で、そーっと使わないと結構落ちてしまいますw その他使用感はまた別途。
2005年02月 05日
トラックバック SPAM が来た
う~む。ゴンノさんを悩ませたトラックバック SPAM、うちにも来てしまいました。ゴンノさんのところほど悪質ではなく、一件ぽろっと入っただけですが。オンライン書籍販売サイトからの広告トラックバックでした。これが先のコメント SPAM 並みに入ってきたら、貧弱なウチのサーバーは間違いなく落ちます。で、前もって対策をとることにしました。以下のサイトに書かれている対策を施しています。
MTスパム対策 - スパムコメント、スパムトラックバックをNGワードで拒否
これはトラックバックがあった場合に呼び出される CGI (mt-tb.cgi)に対して、予め設定された NG ワードがあった場合はその場で弾く、と言うものです。コメント SPAM 対策版もあります。
問題は NG ワードの設定で、一度遭遇すれば対策も打てるのですが、最初の一回目はどうしても避けられないところでしょうか。MT-Blacklist で対応できない以上、現段階の最善解かなぁ、と。
それにしても、こんなトーシロサイトを狙うとは。う~む。
2005年01月 29日
本格的にコメントスパム対策
IIS で禁止 IP を設定したり、MT-Baysian を入れてみたりしてきましたが、5分間隔で数時間、かなり広範に IP を変えて連続ポストするコメントスパムに最近あっています。これはスパムと言うよりは殆ど攻撃っちゅうヤツで、サーバー落としかねない悪質さ。
一番の解決策は MT-Blacklist なるコメント内の URL / メールアドレスからもスパムを検出、弾くことができる plug-in を利用することらしいのですが、どうにも IIS サーバーでは動かず。readme にも Unix サーバー前提と書いてあるし。
で、業を煮やして mt-comment.cgi に手を入れる対策を採りました。下記サイトで紹介されている方法です。アップデート時に問題になるため、本当は CGI に手を入れたくなかったんですが。
注意点は、上記サイトの Perl ソース、シングルクォート『'』とダブルクォート『"』は全角になっているので半角に変更してくださいね。mt-comment.cgi 側の追加改変は、ほんの4行程度の追加です。とは言え、MT のアップデート時はチェックを忘れないようにしましょう。なお、mt-comment.cgi は2004年5月から変更ないようです。
この仕掛けは簡単です。まず、コメント書き込み時に隠れたパラメータをセットするようにコメント関係のテンプレートを変更しています。コメント書き込み要求があった際、mt-comment.cgi には各種データが送られるわけですが、その中に隠しパラメータがない場合はその場で終了するようになっています。この工夫がコメントスパム対策に効果的なワケは、一連の連続ポスト型コメントスパムが自動ツールを使って mt-comment.cgi に対して直接パラメータ呼び出しをしていることに由来します。自動ツールには隠しパラメータはついていないので、その場で弾くって寸法です。
対策まで例の勢いでコメントスパムが書き込まれていたのですが、対策後は全く書き込まれなくなりました。ふぅ。このアイディアのご提供にはとても感謝!
2005年01月 26日
Movable Type 3.122-ja 導入
またもやさりげなく MT 3.122-ja へアップグレードしました。なんでも mt-comment.cgi には脆弱性があるとかで、スパムメールをはくようになる可能性があるんだとか。そりゃまずいだろって言うんで、アップグレードしてみました。
例によってアップグレード作業はここにある通りでバッチリ。悩まず mt フォルダへ上書きアップロードして mt-upgrade31.cgi を実行すれば終了。見た目上は可もなく不可もないな~、相変わらず。
2004年12月 19日
IIS で禁止 IP を設定する
コメントスパム、すごーいの来たですよ。何が凄いって1分に一回くらいの間隔で 69.41.166.xxx 及び 69.41.168.xxx の IP アドレスを微妙に変化させながら5時間以上に渡ってバンバン書き込む。スパムどころかサーバー落とす気かって感じの勢いでした。こりゃタチが悪い。ちなみにこれら IP は以下のネットワークサービスが提供しているものらしい。
OrgName: 1-800-HOSTING, Inc. OrgID: 1800H Address: 3509 Oak Lawn Ave City: DALLAS StateProv: TX PostalCode: 75219 Country: US NetRange: 69.41.160.0 - 69.41.175.255 CIDR: 69.41.160.0/20 NetName: 800-NET1 NetHandle: NET-69-41-160-0-1 Parent: NET-69-0-0-0-0 NetType: Direct Allocation
IIS マネージャから、ディレクトリ セキュリティ→ IP アドレスとドメイン名の制限にある『編集』ボタンを押して、必要な拒否 IP アドレスを追加します。今回は 69.41.166.xxx なので、追加時、『グループ化されたコンピュータ』としてネットワーク ID 欄に 69.41.166.0、サブネットマスク欄に 255.255.255.0 を入力。これで 69.41.166.xxx からのアクセスを一網打尽に拒否できます。…できますが、上記サービスを利用している一般人からのアクセスも拒否しちゃいますw いや、だって仕方ないじゃんか。全世界からの影響数、最大で256×2で512個のIPが影響。大したことない、大したことない…。
2004年11月 17日
MT-Blacklist IIS6 環境下で動作せず…
助けてくれ~っ。どうやら MT-Blacklist は IIS6 上では動かない模様。サポートフォーラムを見るとこんなアーティクルが。
Installation Problems on IIS, Getting script errors, path problems
最近、コメントスパムが削除するのが面倒なほど物凄い量になってまして…。上記アーティクルがかなり良い線までトラブルシューティングしているみたいなんですが(PATH 名のエラー。IIS + Perl では良くある。)、回答でておらず…。どなたか何かわかりませんか~?
2004年11月 10日
MT 3.1 ダイナミック・パブリッシングの怪
MT 3.11-ja へのアップグレード。しまった、うっかりはまってしまった…。今日はこのあたりで寝ますが。MT 3.1 の『売り』であるダイナミック・パブリッシングについて、現段階まで分かったこと。
- PHP の include を利用していると上手くいかない。
- どうやらバグもあるらしい。
詳細は下記エントリーに詳しいです。
HINAGATA:MT3.11-jaとダイナミック・パブリッシング
このサイトでは PHP の include を多用しまくってしまっているため、テンプレートの見直しがえらく大変そうであるというのと、バグまであるんじゃってんですっかり萎えてしまいました。う~ん。がっかり。
個人的に思うのですが、いわゆるダイナミック・ページ(閲覧時、動的に DB からエントリーを取得、生成するというもの)が本質的な解法でははなく、全てのエントリーを XML にして、XSL/XSLT で HTML を(クライアントで)生成する、と言うのが正しいのではないだろうか、と思い始めてしまっていたりして。JavaScript と言う手もあるけど。いや、この場合は Flash でも良いんですが。その作りであれば、MT 2.x あたりでぜんぜんコト足りるわけで。ただ、ブラウザが最新である必要がありますけど。あ、Flash の場合は Plug-in で解決できるか…?
Movable Type 3.11-ja 導入
さりげなく MT 3.11 にアップグレードしてみました。
MT 3.01D からのアップグレードはこちらの説明通りでモノの10分作業でした。本当に大丈夫なんかな。例によって何が良くなったのかは調べずに勢いだけでアップグレードしているため、なんだか良く分かってませんがw しばらく使った後で、良くなった点、悪くなった点をレポートするナリ。これを人柱と言うw
2004年10月 11日
MT Ping Timeout 値の変更
他のサイトへ Trackback を送るとき、どうしても Timeout が出がちではありませんか?そんなとき、mt.cfg 内の下記設定値を大きくしてみてください。
PingTimeout 60
僕は60で指定していますが、もうちょっと大きめでも良いかもしれませんね。ちなみに default は20のようです。
2004年10月 06日
i-mode 携帯対応
moblog はじめたので、持っている i-mode 携帯からサイトを見ることができないとツライな、と思い。作りましたw
http://www.idea-tech.net/mt/mt4i.cgi
MT4i と言う Movable Type から i-mode で閲覧可能な HTML を生成する CGI を利用させて頂きました。その後いろいろ探していたら、MT4i Tonkey Ver. と言う MT4i をチューニングした CGI が存在することを知り、現在はそちらを使って携帯版アイディア&&テクノロジーサイトを実装しました。いや、これは本当に簡単でした。(CGI を設置した経験のある人ならば、)難しげなところはほとんどなかったです。
強いて言うなら、と言うところで IIS の場合はディレクトリ指定を相対アドレスを避けて下記のようにフルパスで設定してください。
my($MT_DIR) = 'C:/Inetpub/wwwroot/mt/'; # MTホームディレクトリ
まぁ、このあたりは IIS で毎回出てくる話なので、問題ないでしょう。なお、元祖 MT4i ではなく、MT4i Tonkey Ver. を使っているのは、Tonkey Ver. の方がコメント書き込みに関する自動承認機能があるためです。元祖 MT4i には内部のエントリーへのリンクを最適化する機能があって、それはそれで欲しかったのですが、まぁ、i-mode 閲覧は飽くまで『オマケ』なので。
2004年10月 03日
moblog 始めます
…始めますったって特に何かするわけでもないんですがw moblog カテゴリーを始めました。もはや今更感満載ですが、moblog について知らない方もいるかと思うので一応概略を。
moblog とは携帯電話で撮った写真を添付(iショット)して、メールを送ることで blog にエントリーできると言うものです。これで街角からエントリー可能に。mobile web log で moblog。
今や blog と言って知らない人はいない?いやいなかった?最近は Movable Type でせっせと blog する人も減ったからな~って言う余談はともあれ、blog 界の超大御所 hirata さんによって昨年4月、日本に紹介された機能です。hirata さんがご提供されている moblog gateway によって、Mobable Type を利用している方であればどなたでも、大きな変更なく、moblog することが出来ます。設定に関する細かな 注意点、tips を続きに書いてみます。
***
大枠の設定そのものは、hirata さんによるエントリーを読めばほとんど完璧です。ちょっと注意したいのは、予め moblog 用に別アカウントと moblog 用カテゴリーをご自身の Movable Type に予め用意しておく必要がある点ですかね。実はアカウントを別に用意しなくても動くんですが、後で述べるように、それだとセキュリティ上多少難点が多いでしょう。また、エントリーできるカテゴリーは一つだけです。
moblog gateway に登録すると送られて来るメールアドレスに、写真添付でメールを送ると moblog エントリーしてくれるわけです。なお、Subject はエントリーの題名、本文は写真のキャプションとなります。また、キャプションには caption、写真には photo と言う名前のスタイルシートが割り当てられているので、配置を考えたいときはそれぞれのスタイルを指定すれば OK です。なお、gateway の段階でこのタグ割り当てそのものを変更できるようなのですが、直接日本語のドキュメントはない模様。ああ、そうそう、gateway は JPEG/GIF のみ対応とのことです。つまり、PNG を採用しているカメラ付き携帯では moblog できないとのこと。
このエントリー用メールアドレスは moblog gateway が受け取って、MT XML-RPC を用いてエントリーする枠組みとなっています。つまり、唯一メールアドレスの文字列だけがセキュリティとなっています。これが知られてしまうと、他人がどれだけでもエントリーできるわけで、moblog 用ユーザーは別にして、あまり多くの権限を与えるべきではないでしょうね。
ご存知の通り、既に一部サービス系 blog、ソーシャルネットワークでは同じ機能が実現されていて、イマサラなんですがw メールを使う、って言うのはなかなかのアイディアでしたね。
2004年09月 20日
ecto for Windows 1.0.8 updated
ちょいと出遅れましたが、04/09/16 付けでブログ・クライアントソフトである、ecto for Windows が 1.0.8 に update されています。
観測気球さんによる Bug レポートは修正された、とあります。どうやら修正されているようですね。
その他 1.0.7 からの修正は下記通り。1.0.x 最終 ver. とのことで、アップデートを強く推奨しているようです。
- 日付を設定してのポストができない件を修正
- 『ポスト後下書きを削除』設定をしているとエラーとなる件を修正
- ポストリスト更新時にエラーが発生する件を修正
- Create Link Dialogbox で URL を編集できない件の修正
- 設定画面で設定された HTML Template の内容がドロップダウンリストに反映されない件の修正
- E-Mail Notification 画面における不具合修正
- サーバーからのメッセージがない場合における Atom Error メッセージの修正
- アップロードが成功した際に Warning Message を閉じるよう修正
- CTRL + Shift + P を Post Entry に割り当て
- 設定画面を OK / Cancel / Apply とした(こりゃ正しいw)
- サムネイル用ファイル名に関する prefix suffix の両設定を可能にした
- その他 UI 修正
おそらくここに書いていない修正がありますね、随分安定したように思います。…ただ、Alex さん、突然修正を入れてしまったり、無茶するからなぁ…。普通、ソフトウェアのエンジニアってそうそう変更かけたりしないんですけどね。他の大きなバグを生んでしまったりしますから。preview 版をテストリリースする形式が良いと思うんですが、バグレポートを送ってくれた人限定でリリースするみたい。その時も version 名変えずにバンバン上書きリリースするのには恐れ入りましたw こっちはレポートの際『何月何日の何時リリース版』とか言って対応すると言うw すごいなぁ、会社じゃ考えられないや。
2004年09月 19日
MT 3.01D Comment 書き込み時のエラー修正(その2)
MT 3.01D Comment 書き込み時のエラー修正 の追記で掲載したように、Windows Server 2003 (IIS6.0)にしてから大丈夫かと思っていたのですが、相変わらず再現していたようです。エラーの内容から、Perl Script が途中で落ちてしまって、http プロトコルが正確に終了できていなかったみたいです。で、やっぱり先の mt.cfg 設定を元に戻しました。
LaunchBackgroundTasks 0
今のところ再現しなくなったように見えるけど、もし、まだ再現するようでしたら、こちらまでご連絡ください。
2004年09月 15日
index.rdf の MIME type って何が適当?
ちょっと分からないことがあって。先日のエントリーで書いた index.rdf の MIME type の件。考えてみれば馬鹿正直に
application/rdf+xml
と書かずに rdf と言う拡張子のファイルを XML ファイルに見せたいんだから、こう書いてしまえば良いんじゃないか?
text/xml
こうすれば、多分 IE でも index.rdf を XML として扱ってくれる…筈だよね?したら万事解決ではないのかな。まぁ、わざわざ修正するほどの内容でもないとは思うけど。(と言う認識も間違っているのかなぁ)
2004年09月 13日
こっそりレイアウト&実装改善
以前、PHP の include は多用できない、と書いていたのですが、Windows Server 2003 の IIS6 新機能、CGI キャッシュが非常に良く効いているのか、PHP 5.0.1 で随分良くなったのか、どちらのお陰か分からないのですが、何しろ PHP の include 文が軽快に動くようになりました。調子に乗って、Header 部、Calender 部、Link 部、Copyright 部、その他すべて別ファイルとして PHP include 呼び出しで実装しました。これで随分サイトの再構築が早くなりました。また、ちょこっと改変のつもりが全項改変のような悪夢から解放。次は本家サイトの XSLT 表示化だなー。
今回はアーカイブ連動カレンダー初めとする、過去ログ ブラウジングのための UI 設計に力を入れています。入れていますが、『僕が使い安い』ことに主眼を置いているため、サイトとして良くなったかどうかは微妙と言うw
今回のサイト改変履歴は下記通り。
- アーカイブ連動カレンダーの実装
- ヘッダ表示を別ファイル化
- カレンダー表示を別ファイル化
- カテゴリーリスト、アーカイブリスト表示を別ファイル化
- リンク表示部を別ファイル化
- Data-Based Archive と Individual Entry Archive からRecent Entries 表示を削除。
- Data-Based Archive に Archive 内の全 Entry 表示を追加。
- 各 Entry の年月日表示から各 Archive へのリンクを追加。
- Birthday Blog サービス終了?に伴い削除。
- ガチャガチャBlog を追加:-)。
2004年09月 12日
MT アーカイブ連動カレンダー テンプレート
月間移動可能なカレンダーはすでに提案されているのですが、カレンダーでそのまま Archive をブラウズできる方が僕的にはうれしいなぁ~と。で、作ってみました。
このサイト左上にあるカレンダーがそのサンプルなんですが、今表示している Entry 郡の月別アーカイブへリンクされています。前月・次月アーカイブへもリンクされています。これを各日別・月別アーカイブに載せれば、閲覧している人がカレンダーを使って各アーカイブを自由にブラウズできるようになるってわけです。
Data Based Archive テンプレートに下記を追加することで実現できます。スタイルシート等は各サイトによって違うと思いますので適宜改変くださいませ。ちなみにこの色で表示されたところが主に必要な部分です。Data Based Archive でカレンダーを付けるための工夫も入っています。
<!-- カレンダー -->
<div class="sidetitle">
Calendar
</div>
<div align="center" class="calendar">
<table width="160" border="0" cellspacing="2" cellpadding="0"
summary="Monthly calendar with links to each day's posts">
<caption class="calendarhead" >
<MTArchivePrevious archive_type="Monthly">
<a href="<$MTArchiveLink$>">«</a>
</MTArchivePrevious>
<a href="<$MTArchiveLink archive_type="Monthly"$>">
<$MTEntryDate format="%B %Y"$></a>
<MTArchiveNext archive_type="Monthly">
<a href="<$MTArchiveLink$>">»</a>
</MTArchiveNext>
</caption>
<tr>
<th abbr="Sunday" align="center">
<span class="calendar" >
<font color="#990000">Su</font></span></th>
<th abbr="Monday" align="center">
<span class="calendar" >Mo</span></th>
<th abbr="Tuesday" align="center">
<span class="calendar" >Tu</span></th>
<th abbr="Wednesday" align="center">
<span class="calendar" >We</span></th>
<th abbr="Thursday" align="center">
<span class="calendar" >Th</span></th>
<th abbr="Friday" align="center">
<span class="calendar" >Fr</span></th>
<th abbr="Saturday" align="center">
<span class="calendar" >
<font color="#0033CC">Sa</font></span></th>
</tr>
<MTCalendar month="this">
<MTCalendarWeekHeader>
<tr>
</MTCalendarWeekHeader>
<td align="center"><span class="calendar" >
<MTCalendarIfEntries>
<MTEntries lastn="1">
<a href="<$MTEntryLink archive_type="Daily"$>"
title="Last entry is[<$MTEntryTitle$>]">
<b><$MTCalendarDay$></b></a>
</MTEntries>
</MTCalendarIfEntries>
<MTCalendarIfNoEntries><$MTCalendarDay$>
</MTCalendarIfNoEntries>
<MTCalendarIfBlank> </MTCalendarIfBlank></span>
</td>
<MTCalendarWeekFooter>
</tr>
</MTCalendarWeekFooter>
</MTCalendar>
</table>
</div>
Main Index のテンプレートはちょっと書き方を変えなければいけません。続きに示すようにしてください。
<!-- カレンダー -->
<div class="sidetitle">
Calendar
</div>
<div align="center" class="calendar">
<table width="160" border="0" cellspacing="2" cellpadding="0"
summary="Monthly calendar with links to each day's posts">
<MTArchiveList archive_type="Monthly" lastn="1">
<caption class="calendarhead" >
<MTArchivePrevious>
<a href="<$MTArchiveLink$>">«</a>
</MTArchivePrevious>
<a href="<$MTArchiveLink$>">
<$MTDate format="%B %Y"$></a>
</caption>
</MTArchiveList>
<tr>
<th abbr="Sunday" align="center">
<span class="calendar" >
<font color="#990000">Su</font></span></th>
<th abbr="Monday" align="center">
<span class="calendar" >Mo</span></th>
<th abbr="Tuesday" align="center">
<span class="calendar" >Tu</span></th>
<th abbr="Wednesday" align="center">
<span class="calendar" >We</span></th>
<th abbr="Thursday" align="center">
<span class="calendar" >Th</span></th>
<th abbr="Friday" align="center">
<span class="calendar" >Fr</span></th>
<th abbr="Saturday" align="center">
<span class="calendar" >
<font color="#0033CC">Sa</font></span></th>
</tr>
<MTCalendar>
<MTCalendarWeekHeader>
<tr>
</MTCalendarWeekHeader>
<td align="center"><span class="calendar" >
<MTCalendarIfEntries>
<MTEntries lastn="1">
<a href="<$MTEntryLink archive_type="Daily"$>"
title="Last entry is[<$MTEntryTitle$>]">
<b><$MTCalendarDay$></b></a>
</MTEntries>
</MTCalendarIfEntries>
<MTCalendarIfNoEntries><$MTCalendarDay$>
</MTCalendarIfNoEntries>
<MTCalendarIfBlank> </MTCalendarIfBlank></span>
</td>
<MTCalendarWeekFooter>
</tr>
</MTCalendarWeekFooter>
</MTCalendar>
</table>
</div>
上級技として
ここまで作ると Individual Entry Archive テンプレート(個別の Entry)にもカレンダーを載せたくなるのですが、まっとうな方法では実装できません。各アーカイブへの URL が Data-Based Archive 以外では生成できないからです。上級技として実装の指針も書いてみます。
- カレンダーだけを自動生成する新しいアーカイブテンプレートを作成する。
- ウェブログの設定 → アーカイブの設定で、「月別」として登録。
- 生成 file 名を calender_<$MTArchiveDate format="%Y_%m"$>.html などとする。
- PHP の include か、MTInclude を使ってcalender_<$MTArchiveDate format="%Y_%m"$>.html を各 Individual Entry Archive から読み込むようにする。
個人的な見解ですが、iframe タグを使って読み込む方法は IE 以外のブラウザでは不具合を起こすため、あまりお勧めできません…が、そのあたりを開き直れるのであれば。なお、これらの検討は以下のエントリーに詳しく書いてありましたのでご参考まで。
nlog(n): カレンダーを MTInclude するには
2004年09月 10日
index.rdf が公開できてなかった!
同じ Windows なのに種類を変えると毎回いろいろあるナー。Bulkfeeds Similarity Search が上手く働いていないなぁ、と思っていたら、index.rdf が外部からアクセスできない状態となっていました。Similarity Search は My Blog 等への更新 ping のタイミングで 登録された RDF ファイルを以って「似たサイト検索」を行っています。僕が登録している RDF ファイルは index.rdf (RDF1.0)だったので、これが公開されていないので動かないわけですわ。
Windows Server 2003 ではアプリケーションとして登録されていない拡張子は公開できないことになっていて、rdf と言う拡張子が default では非公開だった模様。
IIS マネージャから既定の Web サイトを右クリックしてプロパティを開き、HTTP ヘッダータブ、MIME の種類ボタンを押して .rdf に対して application/rdf+xml を追加する。これで公開されます。
WindowsXP SP2 でいつの間にか rdf 拡張子がブラウザ(IE)には XML ファイルとして認識されなくなったみたいで。ので、上記 MIME type 指定は IE 的に単なる「得体の知れないファイル」として認識、ダウンロード dialogbox が表示されます。ので、txt/plane とか書いても多分問題ナシ。要は公開されていればヨシ。とは言え、ちゃんと MIME type を理解するブラウザも多数あると思うので、ちゃんと書いておく方が良いでしょうね。
2004年09月 07日
ecto for Windows 1.0.7 updated
ブログ・クライアントソフトである、ecto for Windows が 1.0.7 に update されています。
リリースノートに注目! ↓↓
Improved Japanese translations from Gucchiy.
へへへ~。詳しくはこちらのエントリーで書いている翻訳そのままですので、もしお気に召さなかったらコメントなり付けて下さいな。すっかり ecto の回し者となったワタクシw
今回のアップデートでは、ユーザーインターフェースに多少の思い切った変更がかかっています。ので、前バージョンで切り替えタブとなっていた Trackback や ping 項目、および text formatting の選択等が、proper button (HTMLテンプレートの右隣り)を押すと表示される proper dialogbox に移っています。
バグがないわけではありませんが、大きな問題はほぼ修正されています。明日あたり、日本語版ヘルプを書き始めてみようかと思っています。
Windows Server 2003 (IIS6.0) 上に Movable Type
Windows Server 2003 (IIS6.0) 上に Movable Type をインストールする場合の注意点を。そのままではサイトを構築できません! Permission Error が出ると思います。Windows Server 2003 は Web User に対して Default ではファイルの改変・追加・削除を許していないのです。ので、予めサイト用フォルダ、(仮に blog と blog/archives)に対して Web User にフルアクセスを設定すること。IIS マネージャーから各フォルダを右クリック→アクセス許可 として『インターネットゲストアカウント』にアクセス権をすべて有効にする。このとき、詳細設定ボタンを押して表示される『インターネットゲストアカウント』も同様な変更を行っておく。なお、blog フォルダ、blog/archives フォルダ各々設定してやる必要あり。Movable Type の CGI 本体フォルダは特に変更しなくて OK です。と言うか、CGI のあるフォルダに不用意なアクセス権を与えると、それこそセキュリティ的に難あり。このような状況なので、IIS 6.0 上で Movable Type による blog を作成する場合、予め各エントリー作成フォルダは作成しておく必要がある。
このあたりはみんな悩む模様なんですが、誰もちゃんとトラブル・シューティングしてませんな。
2004年09月 06日
ecto .NET framework 1.1 SP1 上での不具合
ブログクライアント ecto は、.NET framework 1.1 SP1 がインストールされているとサーバーと同期できない模様です。SP1 はアンインストールできませんので、.NET framework 1.1 ごとアンインストールして、Windows Update 等で .NET framework 1.1 をインストールしなおすととりあえず問題は修正されます。バグレポート を ecto forum に post 済み。
--- 2004/09/06 追記
なーんと。本件はサーバーが IIS を用いている場合でのみ再現する問題であることがわかりました。私が使っていたのは WindowsXP Professional に付属している IIS 5.1 だったわけですが、ecto がその制限にひっかかってしまう模様。なので、上記はほとんどの環境では再現しないはずです。
MT 3.01D Comment 書き込み時のエラー修正
MT 3.01D で Comment を書き込む際、Perl モジュールが落ちてしまうことがあります。IIS(Windows)の場合は例外エラーが Assert されていますが、その他サーバーでも Perl Error となるケースがあるようです。これを解決するためには、mt.cfg に下記行を追加してください。
LaunchBackgroundTasks 0
…実はずいぶん悩んだのですが、以下の MT Forum の書き込みを参考に修正しました。何を意味するのかはかなーり不明w
Support Forum: error posting moderated comments
--- 2004/09/07 追記
上記は IIS 5.1 のように帯域、接続数の制限が厳しい WWW サーバーソフトで再現する模様です。Windows Server 2003 、IIS 6.0 上では再現しませんでした。恐らく Apache でも再現しないでしょう。
2004年09月 05日
Movable Type 3.01D 導入
見た目は何も変わっとらんやんけ、と言われればその通りなのですがw 一応、内部では Movable Type 3.01D となりますた。3ヶ月以上前にリリースされていたわけですが、ちょっと静観していまして。あまり大きなメリットがあるわけでもないのですが、ecto のテストも最新環境でないとイカンな、と。
アップグレードに関する情報はこちら 『Movable Type 3.x 導入手順: 6.MT2.6xからのアップグレード』 に詳しいですが、多少情報が古いかも知れません。3.01D は MT Template の編集がほぼ必要ないようです。1時間かからずにアップグレードできてしまいました。
BlogWrite も試してみる
さて、ecto の開発についてもいろいろ始めているわけですが、他のブログクライアント(こんな言い方があったとわ知らなんだ)も試してみよう、と。
で、今回利用試しているのが BrogWrite と言うクライアントソフトです。日本謹製なので、結構品質は高い感じ。シェアウェアで\2000-です。HTML の編集関係の自由度がちょっと弱いかな?もうちょっと ecto のようにいろいろタグ設定が出来るとうれしいかも。
.NET framework を利用していないため動作速度は速い模様。まずはこちらもテスト。
2004年08月 29日
ecto の開発者に日本語訳を提案しよう!
本人多忙につき、ちょっと対応が遅れてしまったのですが、Windows アプリケーションから MovableType や TypePad の blog エントリーを直接ポスト出来るツール『ecto』の開発者とコンタクトが取れています。かなーり偶然なんですがw
大分バグは修正されてきているものの、どうしてもやっぱり変な日本語。日本語化されていないところもちらほら。イケテル日本語を提案してみましょうプロジェクトです。このエントリーは開発者の一人であります、Alex さんに entry を見て頂きましょう!まずは僕のセンスで書きますが、広く提案を募集します。可能な限り、comment は英語だとうれしいです。
なお、カナ(半角カナのことかな?)エントリーがポストできない問題について、再現するの?と Alex さんから聞かれています。日本語の blog を読めと言うのはちょっと酷と言うものなので、ぜひそのあたりの情報をお持ちの方からのご連絡をお待ちしております。
なお、提案頂いた内容に関しては無償提供を条件とさせてください。私も無償でやってますからw 提案頂いた内容から随時この Entry をアップデートして行きます。盛り上がればカテゴリーにしてみます。
--- in English
I am now contacting with Alex-san who is developer of "ecto". ecto is the Windows Application which make us easy to post entry(MobableType or TypePad. I am sorry to be late to post this entry, because I am so busy now..
So many bugs are fixed on latest ecto, but Japanese words are so strange for us. So, let's suggest correct Japanese! Please write your suggestion on this entry as comment.
Alex-san sais, ecto has the bug which cannot post entry including Kana(byte-kana?). Please teach me about that bug, if you know more details.
[Suggestions]
1.The Entry Tabs
![]()
| English | Old (Now) | Suggestion |
| Advansed | その他 | 拡張 |
| Misc | 雑用 | その他 |
2.Settings
2.1.Changing Suggestion
| English | Old (Now) | Suggestion |
| Misc | 雑用 | その他 |
| done | 行う | 設定 |
2.2.Translation Suggestion
| English | Suggestion |
| You can modify the Preview template blow to suit your blog's template. | 以下の Preview Template をご自分の Blog Template に合わせて変更できます。 |
| Automatically update preview when text changes (may be slow) | text の変更に合わせて自動的に更新(動作が遅くなる可能性があります) |
2.3.Other - User Interface Suggestion
Apply button on setting window should be located beside of Done button.
2004年08月 18日
Windows Server 上での jscache 動作不具合の修正方法
先日、Similarity Search の高速化で利用した jscache ですが、Win + IIS で実行しようとすると、パラメータが多い場合に動作しなくなると言う不具合を発見しました。暫定ながら jscache の 68 行目(0.01/0.02両Ver.とも同じです)を以下のように変更すると修正できます。
my $cache_file = cache_for(substr($url,0,100));
jscache は cache file の名前を 与えられたパラメータから生成しますが、Windows Server の場合、ファイル名は256文字(だと思う)を超えると全部切り捨てられてしまいます(しまうようです)。今回、AdSense 用パラメータが増えてファイル名が256文字をどうやら越えてしまった模様。で、jscache は cache file を検索出来なくなってしまったわけです。この修正で cache file 名は予め100文字で切りそろえますので一応解決します。
想定される問題は、100文字を越える entry file 名を作ったりしたケースで cache file 名が各 entry 用で同じになってしてしまうケースですが、んなことはよっぽどないでしょう。本質的には cache file 名テーブルを作ると言う設計が正しいわけですが、個人的に Perl 苦手だしあんまりオリジナルに手を入れたくないしで俺は御免。誰かやってw って言うか Windows Server っていろいろ難儀。
ecto 1.0.6 updated
例によって人柱のように。Windows アプリケーション上から Blog へ Entry を直接ポストできるアプリケーション、ecto が 1.0.6 にupdate されていたのでインストールしてみました。1.0.4 であった上書きインストールすると今までの設定情報が削除されてしまう問題は修正された模様。Fixed Bugs の一番トップに書いてあったw そりゃみんな迷惑だわな。
1.0.3 はホント、どうしようかと思うぐらい品質が悪かったのですが、相当安定してきているようです。少なくとも 1.0.4 から例外エラーで落ちることはなくなりましたってふつーだ、その程度の品質はw 無茶な日本語は見える限りはあまり修正されていない模様。まあ、ぜんぜんわからない日本語でもないからね。
いえ、多少悪く書いていますが、この ecto、なかなか悪くないアプリケーションです。少なくとも Movable Type の貧相な UI からポストするよりは3倍よろしい。WYSIWYG には設計されてないですけど、巷の Web ツールでさえ正確に WYSIWYG を実践できていないことを考えれば相当いけているんじゃないでしょうかね。…と言う感じなので、簡単な HTML ぐらいは理解できる人向きです。HTML ってなんじゃい、って言う方はおよそ利用は無理でしょうね。
まだ機能の全てを理解していないので、使い倒して調べてみる予定です。なお、1.0.4 では画像のアップロード機能がイマイチ使えない感じでした。日本語だとフォントが各入力ボックスがダイアログボックスからはみ出していて(まぁ、フリーウェア等ではよく見かけるバグ)、入力自体できなかったのです。修正されているかなぁ。
2004年07月 04日
ecto 1.0.4 updated
先日インストールした ecto が update されています。早速インストール。相変わらずナゾの日本語ですw 何点か注意事項。
- 上書きインストールは(どうやら)可能
- でも諸々の設定は引き継がれない
- HTML テンプレートとかは export 出来ない模様
- ので『手作業で』バックアップしておくと吉
少しはバグ減ってきている…と良いなぁ。ちなみに exto for Windows 1.0.3 は慣れると悪くないw って言うか、ecto のバグを踏まないように気をつけて使うとそれなりイケてる感じでした。うーむ。1.0.4 も後々レポートします。
2004年06月 24日
ウェブログの歴史
日本のウェブログの歴史(詳細版) [はじめてのウェブログ [weblog for beginners]]
うぉぉ、これはとても詳細だぁ(徹夜明けで大分ランナーズ・ハイかも)。超有名サイト、『はじめてのウェブログ』で掲載されている内容です。実は僕、パソコン通信の時代は分かるのですが、そこから2ちゃんねるの誕生までの間が空白になってまして。当時パソコン通信サービスの王様だった Nifty Serve (現@Nifty)に固執しちゃったのも影響しているかも。2ちゃんねる前たる BBS の歴史ってこんなだったんですねぇ。
2004年06月 17日
MT エントリー作成 Windows アプリケーションを導入
Movable Type のエントリーを Windows アプリケーションからポストできるツールを導入してみました。日本円で2000円強ぐらい。
Mac OS X 用のものがそれなり話題になっているツールですが、うーん、Windows 版はどうだろう?バグがかなり多いし。恐らく Managed Application なのでパフォーマンスも決して良くはないし。一応、日本語環境下にインストールするとちゃんと日本語で表示されるのは良いのですが、『DONE』ボタンを『行う』ボタンってアナタ。これじゃ海外製パチモン電化製品っすよ。
Movable Type にエントリーをダイレクトに書くよりは はるかに良いですが(と、言うのも MT は事実上 HTML タグをごりごり書き込まないと綺麗に整形されたエントリーにすることができないため)、実際はタグ入力機能付きの簡易 HTML エディタと言うところですね。せっかく xml-rpc 使って遠隔ポストできるんだから、もうちょっと WYSIWYG な GUI に凝って欲しいところ…って言うか、俺作ろうかな。わー作りたいもの満載。でも時間なし。と言うのは言い訳。うーん。
2004年06月 04日
Google AdSense に参加
反 Web 広告派だったのですが(実際、Amazon アソシエイトプログラムも商売っ気ない使い方しかしてない)、ページの内容から最適化された広告を出すと言うクールさで惹かれてしまい、Google Adsense に参加してしまいました。Google AdSense ってなーんとなくブロガーって感じじゃないですか。って例によって俺だけかもしんないがw
2004年05月 30日
『全員から嫌われてる上司の行動を淡々と記録するよ』
そんなに嫌うほどの上司だったのかどうか、実はこの Blog の文面だけだと分からないのですが、多分仕事中にこそこそ書いている筆者の姿を思うと、たまらない魅力のある Blog。電車男さんに繋がるものがあるかも。 ご本人が転職(ないし単なる職場変え)に伴いこのほど終了。新転地でのご活躍を願ってやみません。なぜなら、私もあなたの目撃者ですから。
Headline-Reader を使ってみる
RSS/Atom対応 Feedリーダー『Headline-Reader』の紹介
なにを今更、と言われてしまいそうですがw 著名な RSS Reader の一つである Headline-Reader をインストールしました。以前この手の RSS Reader は使っていたのですが、(どれとは言わんけど)イマイチ使い勝手が良くなくてしばらく遠慮していたんですよね。が、この RSS Reader はそもそもがタブ・ブラウザとしてよく出来ています。更に検索や翻訳(!)サイトとの連携も用意されています。なかなか快適。
2004年05月 27日
トラックバックセンター
う~ん。ちょっと不思議な試み。以下、サイトより引用です。
通常の新着更新リストのあるサイトでは、自分が見たいblogを見つけるのにかなり苦労していると思われます。 このために当サイトでは「カテゴリ別」のトラックバックページを用意して、皆様のトラックバックを集め、 皆様がいち早く自分と合ったblogを探し出すことができるようにしました。
うん。まあ、やりたい事は分かるんだけど。オートリンク集ね。でも、トラックバックってサイトとサイトが繋がってこそのような感じもしていて。間に分岐点が入るのってナニかなぁ、などと。おかしなこと言ってるかな、俺。
2004年05月 23日
blog 設計、次の課題
いろいろ新しいことをやりたいのですが(特に Similarity Search 応用のシェアウェアとか設計したくて仕方がない)、プライベートで考えることも少なくなくって、今ひとつノリきれていないかも。実装って始めると楽しいのだけど、計画の段階で悶々としちゃうんだよなぁ。何はともあれ、先日の本家サイト更新自動化(PartⅡw)をやっつけるべく、なぜか慶應大学の講義資料がウェブに落ちていたのでそれを読んで試したりしている最中。これ、文系一般教養向けだと思うけど、結構良くまとまってるよ。JavaScript らしきものはほとんど出てこないのに なぜか講義名が JavaScript になっているけどw (代わりに DHTMLについて記述。なぜ? IE 以外動かないじゃんか。) それにしても一流大学って良いなあ。僕は情報通信工学系の大学行ったのにソフトウェアのほとんどが独学だったヨ。もし通っている人が見ているようだったらちゃんと勉強しなさいよ、学生なんだから(とか言う歳になってきてしまったよとほほ)。
余談なのだけど、この blog、どちらかと言うと Google なりからの検索で閲覧されることの方が多いのですが、最近一番人気は下記アーティクル。
…。
深くは語らない。
(やぶへびになりそーなので)
2004年05月 08日
スタパ齋藤氏の Blog
果敢な物欲魂と軽妙な製品コラムで知られるスタパ齋藤氏の Blog をほんとに偶然に発見してしまった。GW 入ったあたりから更新中の模様。要チェック!
#真偽の程は各々確認のことw
Similarity Search 高速化!
Similarity Search の総本山、Bulknews 様から Trackback 頂いた (感涙) jscache を実装しました。Similarity Search は圧倒的に高速化!結果を自宅サーバー側に cache することで高速化しています。これ、アイディアだなぁ。そうそう、こういうの必要だったんですよ!
blog.bulknews.net: Similarity Search の負荷軽減に jscache
関連して CPAN から LWP と言うモジュールをインストール。
C:\>perl -MCPAN -e shell cpan>install LWP
ちなみに Windows サーバーによる CPAN の設定方法についてはこちら。
同様に Birthday Blog のリスティングも高速化してみました。いやー。痛快。
2004年05月 07日
Trackback できてませんでした↓
先日のコメントでりささんに指摘されるまで気がつかなかったのですが、このサイト、Trackback できませんでした。指摘された時はそーんな馬鹿なって思っていたんですが、本当でした。Win2K サーバー+IIS の時は大丈夫だったのに…。WinXP にした途端、です。Google で検索してみたところ、下記 Entry を発見。
WEBFACTORY ::: BLOG : トラックバックの問題解決
以下、サイトより引用です。なぜ失敗するかはリンク先を参照くださいませ。
(1) インターネット サービス マネージャを開き、BLOGを設置しているドメインのディレクトリのプロパティーを見る。(2) ディレクトリタブにある構成をクリックしてCGIの項目をダブルクリックして、ファイルの存在を確認するのチェックを外す。
(3) IISを再起動して完了。
うおぉぉ、Trackback できたー!素晴らしい!!!よくぞこのような複雑怪奇な設定を発見してくださいました!!!!WEBFACTORY 様の方角へはもう足を向けて眠れません!!!!ありがとうございました!!!
「念力」系
いやもう…馬鹿馬鹿しくってw 念力ブログ、よくこういうの思いつくなぁ。これってさ、哲学だよ。何もコンテンツはないのに、Comment や Trackback に人が集まってくる。でも、きっと何もない。みんな知ってる。それでも人は集まっている。不思議、不思議。
Similarity Search
Bulkfeed Smilarity Search をサイトに実装してみました。Similarity Search の詳細は下記 URL を参照くださいませ。
blog.bulknews.net: Bulkfeeds: Similarity Search リリース
Indivisual Entry の右横にその Entry に『似ている』と想像される Entry が表示されます。⇒ こんな感じ。amazon アソシエイト・プログラム系のエントリーが書かれた blog へリンクが張られていますね。これらを自動的に行う機能です。
ちょっと表示に時間がかかるかも?ので、一番右側においやって最悪でもコンテンツは参照できるように工夫してみました。ちなみに、2004年5月2日以前の Entry の Similarity Search はちょっと状態がおかしくなっています。これは過去の Entry ID との不整合によるものです。仕方ないかなーこれくらいは。もともと1ヶ月以内の Entry しか見ないみたいなので、鮮度の高い間だけの不具合ですし。
ちなみにこの Similarity Search ないしは 『類似度検索』ですが、多分、形態素解析と TF・IDF 法の応用です。いずれも文脈理解の研究分野で定石とされるような手法のようです。理屈は結構シンプル。
あるページとあるページの似ている・似ていないを検出する場合、ページに出てくる単語でマッチングをかけてやれば良い、と言うのがスタート地点。
が、文章の中には『です』とか『私』とかあまり重要でない単語は取り除いて評価したい。ので、形態素解析を用いてまず名詞、固有名詞抽出を行う。これではまだ不十分でそれら名詞のうち『重要』と想定される重みを算出するのが TF・IDF 法。あっちこっちでよく出てくる単語はあまり重要でない、そのページだけに出現する単語の重要度は高い、と言うポリシーの理論です。
実は僕、この理論の信憑性を疑っていたのですがw かなりばっちりヒットするなぁ。
2004年05月 06日
MyblogList 効果
MyblogList を表示するようになってかなーり面白くなってきました。良いね、ゆるーく繋がっている感がありますね。文章読むの大好きなのではまりそうです。しかしさ、Myblog のアクセス情報さ。以下が僕のアクセス数履歴なんだけど。

…。
これ、ありえない。
アクセス数多くカウントされすぎ。500は超えないよ、このサイトは。せいぜい 30~100ぐらいだと思う。フリーウェアをリリースして紹介記事がメールマガジンで出た時、3日くらいは日に1000超えたことあったけどさ。
で、試しにリロードかけてみると見事に1アクセス増えましたw
理由の一つは、僕がクッキー等のセキュリティ値を最大まで上げていることで、カウンタ側が個人を特定できないからでしょう。加えて 5/4 はサイト構成更新でリロードしまくっていたからだと思う。なんだかアクセスランキングに載っちゃったみたいだけど。似非(えせ)です。いや、別に正直に申告するこたぁないかw
後、全ページから MyblogList を参照しているのも影響しているんでしょうね。まぁ、カウンタを増やしたい方は参考にしてみてくださいな。でも、そういうのってすぐばれると思うけど。
2004年05月 05日
amazon アソシエイト・プログラム
amazon の アソシエイト・プログラムに参加してみました。自由に商品へリンクできて、1クリックで数10円とか貰える。blog をあちこち見るにつけ結構みんなやってるんだなーと思っていたのですがなんとなく面倒でw が、予想以上に簡単にウェブ上からサインアップできてしまって。早くやっときゃよかったw
PHP の include は多用できない
Mobable Type ユーザーの中には PHP の include を使って MT の負荷を下げている人も多いようなのですが、PHP の include (外部文書をページに取り込む機能です)文はかなり PHP に負荷をかけてしまうようです。5つの文書を読み込ますともうアウト。MT の自動生成は軽くなりますが、肝心の閲覧が辛くなってしまうのです。いや、もしかすると僕が Internet Information Service を使っているからかも知れないけど。実際、このサイトの右側リンクは別ファイルから PHP の include で呼び出しているのですが、結構表示に時間がかかっていませんか?実は Calender とか Recent Entries とか一つ一つパーツにした方がメンテナンス性が高いかな、と思ってやってみたんですが、表示が遅くて見るに耐えられない程になってしまいました。
--- 2004/09/13 追記
この記事を書いている時、WinXP + IIS5.1 + PHP4.3.1 だったわけですが、その後 Windows Server 2003 + IIS6.0 + PHP5.0.1 にした途端、PHP の include は十分早くなりました。どの Update が効いたかは不明ですが。
IIS6.0 + PHP
Archive にも Calendar を!
Movable Type の Default design がどうなっていたか忘れちゃったんですがw あまり活用されていない MTCalender、どうあってもぜひ使いたくて。いや、なんか blog って感じがするじゃないですか(俺だけかも知んないけど)。しかも最新の月じゃなくて、表示しているエントリーの月を表示して欲しい。結構簡単。以下の属性をセットするだけ。
<MTCalendar month="this">ちなみに何月の表示は $MTDate じゃなく $MTEntryDate を使う。MTEntry××って今作ろうとしているエントリーに対する操作だったんですねー。
2004年05月 04日
Recent Trackback の作り方
Recent Trackback は簡単なようで実はそれほど簡単でもない。いえ、知っていれば簡単。実は Plug-in が必要なのです。下記 URL よりどうぞ。
#BLOG: MTの「最近のTrackback」にエントリーのTitleとPermalinkを!
すご~く丁寧な解説付きですので、手順に従ってインストール&MTタグをいじくれば完成。丸写しでもぜんぜん動きますが、カスタマイズしたい方は Mobable Type の日本語ユーザーズマニュアルもお手元にどうぞ(でも微妙にまだ未完成の模様です)。
Recent Comment を作る
最近書かれたコメント、つまり Recent Comment を Movable Type で実装する方法は下記 URL にサンプル付きで掲載されています。困ったときの BLOG質問箱。本当、とても助かってしまいます。
ちなみに Recent Comment の頭出しとセットでご参考くださいませ。
2004年05月 01日
目の中にピアス
今スマステ3を見ていたらやっていた衝撃的なピアス。既に9人が手術しているとか。いや~~~痛いそうだよ、普通に。ぞっとしない。
でも、もっと凄いのが blog の世界。とっくに古いネタなのねぃ。
2004年04月 28日
Google API
Google API とは、外部から Google 検索を行うための SOAP インターフェース。Google API を利用するためには Google Account を取得して API 用の License Key が必要です。
なんだか MT にはこれを使って Google 検索ができるんだとか聞いてやってみることに(ろくすっぽ調べもせずにw) MT タグ的には <MTGoogleSearch>と言う名前らしい。
2004年04月 26日
MT 通知メールの文字化け対処法
MT からの更新通知メール、どうやっても日本語化けるなー、と思っていたのですが、簡単な対処法がありました。こちらのページの一番下にある『MIME::Base64』の手順に従ってメールエンコードモジュールをインストールしてやれば OK。
本家サイト更新自動化に向けて - Part Ⅱ
現状、本家サイトのいくつかのページは MT の HTML (PHP) 自動生成によって成り立っています。例えばこちらのページ。さまざまソーティングしたい、と思っていたため、昇順、降順、目次表示と3つのソート方法を提供してみています。
が、実は各ソートおきに一枚ずつ別ファイルを自動生成してましてw 大分アーティクルが溜まってきたため、MT 更新に時間がかかって仕方がない。当時は MT では固定ファイルしか作れない、と思って諦めていたのです。
ちょーっとよく考えてみたのですが。
考えてみればこれらカテゴリー表示は XML 文書で一枚自動生成して、本家サイトからは XSL なりでソートしてやればいいわけじゃないですか。これで数は3分の1になります。
…と、言いつつ XSL だか XSLT だかをいじった事のない僕なのでしたw 目標ね、飽くまで。って言うか先日の目標はいつ達成されるんだろw
2004年03月 28日
コメントスパム・フィルタをインストール
ゴンノブログさんに教えていただいたコメントスパム・フィルタを(よーやく)インストールしてみました。mt-baysianと言うMovable Type用Plug-inです。英語が苦手なので(げ)ちょちょいとぐぐってみると、ありましたありました。日本語のインストール解説。
KANWAKYUDAI::Blog: ベイジアンフィルタ for MovableType
うーん、なかなかイケてますね。自動判別より、コメント一覧削除機能だけでも十分使えます。ご紹介しているサイトには日本語対応モジュールのインストールも簡単にリンクがありますが、僕のトコのコメントスパムは英語ばかりなので、まだインストールしていません。いや、『英語だったら必ずスパム』といっても過言ではないw
ところでこのベイズ理論、最近コンピュータ業界ではかなり流行っている理論で、論理学と確率論を足して2で割ったような感じ。推論規則を確率論含めて展開しているものです。多分このPlug-in、元ネタは、bsfilterと言うオープンソースのスパムメール・フィルタかな?ベイズ理論の応用についても同サイトに結構わかりやすく解説されています。このフィルタ対策スパムメールと言うのも存在していたようでw あ、じゃあ安心できないのかw
2004年03月 27日
Baidu百度と言うサーチエンジン?
最近、コメントスパムを対策するのも面倒で相変わらずBlog更新をサボって会社で仕事していてヤバイいやそっちの方が正常か。皆様如何お過ごしでしょう?
アクセスログの Referer を見ると、なぜか中国のサーチエンジンと思しき『Baidu百度』と言うサイトからの閲覧を多く見ます。しかも『nhk』と言うキーワードで検索している模様?なんでだろ?そもそも日本語って中国でそんなに一般的な外国語なのかなぁ。
2004年03月 10日
コメントスパム再び
なんだか、携帯の迷惑メールのように、一つ入ったら次から次へとコメントスパムが。これがまた毎回 IP が違う。なので、上手いかわし方がないなぁ。URL はさすがに変えたくないしなぁ。困ったなぁ。
2004年03月 02日
コメントスパム
んな人気の無いサイト狙ったって仕方ないだろうになぁ。コメントスパムがうじゃうじゃと。IP 吊るし上げ。えいやー。とりあえず、アクセス拒否かけてみたけど効果あるのかなぁ。
IPアドレス 64.159.65.78
メールアドレス amelie@hotmail.com
以下、IP ドメインサーチの結果。
Level 3 Communications, Inc. LC-ORG-ARIN (NET-64-152-0-0-1)
64.152.0.0 - 64.159.255.255
Neucom, Inc. NEUCOM-64-159-64-0 (NET-64-159-64-0-1)
64.159.64.0 - 64.159.91.255
CandidHosting Inc. NEUC-CH-64-159-65-0 (NET-64-159-65-0-1)
64.159.65.0 - 64.159.65.255
# ARIN WHOIS database, last updated 2004-02-29 19:15
# Enter ? for additional hints on searching ARIN's WHOIS database.
2004年01月 06日
今のやることリスト
今自分の頭にあるサイト構成を全部やろうと思うとかなり量が多いことがなんとなく分かってきて。とりあえず現時点のやることリストをまとめてみようかなーと。いや、完全に自己満足なんですが。こうやって書き出してちょっとずつこなさないと睡眠時間が減ってしまいそーで。
- MyBlog List の表示
- BlogPeople 登録リストの表示
- 3カラムデザインの再検討
(2カラムの方が見やすいような気がしてきた) - RSS アイコン表示の再検討
こんなところかな?順次やって行こう!
全blogページPHP化計画
どうにも MovableType のテンプレート・タグだけでは僕のやりたい構成の半分もできやしない感じがしてきて、全ページ PHP で記述したくなり。とりあえず MT の自動生成ファイルの拡張子をぜーんぶ php にしてしまいました。ぼちぼち google も検索に引っかかるようになったので(狙ったわけではなかったのですが、トラックバック先が期せずして人気サイトだとこちらの google ウェイトが上がるようです)、元あった html ファイルを php ファイルにジャンプするよう手入力w。
2003年12月 29日
MT 2.65 パッチ充て完了
先日宣言した通り、MovableType 2.65 パッチ充て完了しました。うーん、日本語パッチとパッチ充ての方法を詳細にご紹介くださっている MT Blog 界でもはや知らない人はいないみらの様にとても感謝!
Milano::Monolog: MT2.65用日本語パッチをリリースしました
…ところで 今回のパッチでお目見えした atom.xml ってなんなのだろう?RDF とかは一通り勉強したんだけども。
PHP を結局利用
本家サイト MT による自動更新の試み、結局 PHP を利用することにしました。最初は MT テンプレートのタグだけでなんとか実装しようと思ったのですが、なかなか難しく。と、言うのもモノによって昇順にしたかったり降順にしたかったり、名前順にしたかったりで。JavaScript と言う手もあるにはあったのですが、JavaScript はオフにする人がいるしなぁ、と。だいたい実装完了。昇順、降順、タイトル順を並べ替え可能に(実装状態はこちらのページなどを参照ください)。MT タグを PHP に取り込む場合、下記のように encode_php 属性を指定する必要があるようでした。詳細は MT マニュアルを参照くださいませ。
<?
$archive_title = '<$MTArchiveTitle encode_php="q"$>';
?>
2003年12月 28日
3カラムテンプレート
Movable Type を使ったサイトには多くはないものの最近は3カラム式のサイトが増えてきました。ちょっとした流行。blog ページは3カラムにしようと MT のテンプレートをいじっていたのですが、上手くいかず。blog はなぜか最新の XHTML 1.0 を使うのが主流なのですが、ブラウザまわりにバグが多いのです。じゃあ、検証済みのものを使ってしまえ、って言うことで、下記ページで公開している3カラムテンプレートを頂いています。
なかなかの見栄えの良さに感動中。
Myblog japan に登録
Myblog japan にも登録。
こういうのってよくよくカテゴリーを指定しなくちゃいけないんですが、blog って日記のようなものだからカテゴリー自体はあまり特定できない感じも。アーティクルの属性(カテゴリー)を共通化・仕様化してディレクトリ分けするのは価値あるように思うのですが。こういう発想はSemblog(Semantic Weblog)とかそういうのに通じるのかな。
2003年12月 27日
MT カスタマイズ リンク集を発見
Movable Type のテンプレートをがんがんカスタマイズ中。document を見ているのですが、なかなか難しい。そこでググって見たところ、カスタマイズに関するリンクがとても良くまとまっているサイトを発見しました。
ブロッグ崩し: [Movable Typeカスタマイズ] ジャンルの過去記事
まずはプロジェクトページをなんとか MT 自動生成にしよう。
カテゴリーのファイル名
本家サイトのいくつかのページを Movable Type の自動生成ページとマージしようと思っています。やり方はカスタマイズしたカテゴリー別ファイルとリンクするやり方で。Movable Type のカテゴリー別にまとめた HTML 文書のファイル名はカテゴリー名をそのまま使っているワケですが、日本語の blog の場合これは困ります。実際、cat_aabbccdd.html のような形になってしまって悩ましい。具体的な弊害を被ったことはないんですが被ることもあるみたい。気になったので修正することに。google で検索して、カテゴリー ID なるものをファイル名にするようカスタマイズすることにしてみました。他にも方法はある模様。詳細は下記エントリーを参照くださいませ。
2003年12月 25日
MT2.65用日本語パッチ
03/12/23 付けMovable Type 2.65 のリリースに伴い、日本語パッチが即効
リリースされています。凄い。実働2日です。ちょっとしたソフトウェアの会社でもこんなに迅速ではないかも。
Milano::Monolog: MT2.65用日本語パッチをリリースしました
バージョンアップの主な内容はXML-RPCのセキュリティ・ホールに関する修正とのこと。カメラ付き携帯買って、モブログしようと思っているので、今週末にはパッチ充てようっと。
BlogPeople に登録
ブログピープルなるサイトに登録してみました。
blog 更新情報を集めているサイトだと思うのですが、まだそれ以上何が出来るのか良く分かってなかったりして。でも、MT の更新通知が使えるみたいなのでとりあえずやってみようかな。と。
2003年12月 21日
BLOGNAVIでサーフィン
BLOGNAVI に登録してみました。
凄いね、世の中もはやこんなにブロガーがいるんだ。なんだか、ディープで女性的な文化も花開いているようですね。今日見つけたサイト。
ロリィタ と 洋服 だゾ☆ | ロリータファッション: レースへのこだわり
昔の知り合いが似たようなファッション、好きな子だったんだよね。ちょっと懐かしく思い。以前のようなエンジニアリングのみがあるような状態ではなく、いろんな趣向がブログの世界で台頭していくのかも知れない。と言うか、事実そうなりつつあるんだなぁ、と。PC どっぷりな筈なのに巷に疎いな、俺。 そう言えば、米国ではブロガーの半数以上が女性なんだとか。
はじめてのウェブログ [weblog FAQ]: 統計1-01:ブログ白書――ブログの氷山
本当、旧 Nifty Serv (現@Nifty)の時代からパソコン通信やってた僕には時代の変化にちょっとびっくり。
2003年12月 19日
僕がblogを始めたワケ
blog については下記ページがとても参考になります。
兎に角、Internet Explorer のお気に入りを整理したかった、と言うのがコトの発端です。お気に入り、とりあえず階層化してみたりするのだけど、巡回サイト以外は調べ物する度に際限なく増えてしまって。だいたい、階層化ってあまり人間の脳みそにしっくりこないんだよね。テーマを絞らないサイトも多いので階層化自体無理がある。例えば、インターネット技術⇒JavaScript と、インターネット技術⇒Perl と言う2つのフォルダを掘っても、意外と両方扱うサイトが多くてままならない。
『超整理法』に習えば、人間は時間軸に沿って記憶するものなんだそうで、そういう意味では IE の「履歴」機能が役に立つ…ようで役に立たない。あまり自分の興味を引かなかったサイトも履歴として残っちゃうからです。まず一つは自分の興味をもったサイトに限定した履歴を残すツールが欲しかった。それも見やすく表示される履歴をね。
もう一つはプロジェクトページと日記ページの違いに疑問があって。そもそもプロジェクトページの内容を日記に書き込んじゃうこともあって、後々自分でも収拾付かないコト多々。要は両方単なる行動履歴のメモなんだから、後は種類でソーティングできれば全部日記の中にあって良いな、と。まだ、MovableType のテンプレート、全部が全部自分のやりたいようにカスタマイズしきれていないのですが、このテンプレートを上手くカスタマイズすることで現状サイトにも結構マージできます。カテゴリー毎に別の HTML ファイルを生成してくれる。そうすると、僕は単純にカテゴリー付きの日記を付けるだけで、今までやってきた内容は全部自動生成できてしまう。って言うか、もともと blog みたいなスタイルだったんだよね。僕のやり方が。
僕の考えのまとめ方が blog と似ていたから、と言うのがblogを始めた平たいところなんでしょうね。コメントとかトラックバックと言ったフィードバックが得られるような内容がないので、コミュニケーション的な意図はまだあまり実感がなかったりします(ので、ぜひぜひコメントお待ちしてます、と言う催促(^^;;;)。
2003年12月 17日
MovableTypeとの格闘
以前、日記ページを完全に今のサイト形式に持っていこうと随分テンプレートをいじり倒していたのですが、挫折しました。途中まで作ってみたのですが、結構良く出来ていたと我ながら思う。
日記ページ MT 化のトライアル
でもね、MT は XHTML 1.0 ベースの UI を前提としていて、いわゆるブログ UI を大きく逸脱するのはあまり得策でないように感じはじめて。そもそも 最近の W3C 勧告によると、フレームページはあまり推奨されるものではないようですし。そんなようなことを考えて、結局今のように別枠ブログページ+現行ページへのちょっとマージと言うスタイルにしてみました。後、2×UP CSS と言う3カラムのスタイルシート、テンプレートがとてもよく出来ていたのに触発されたところも。ブログについてはあまりデザインに懲りすぎるも何かな、と言う感じもしていて。MT はそれでなくとも多少特異な UI だから、実用性重視。現行ページへマージする際にデザインを変更する形で行こうかな、と。そんな良い訳。
でもホントは自宅サーバー側でブログしたかったから大きく機能を分けた、と言う噂も(^^;
2003年12月 15日
MovableType マニュアル
MovableType のマニュアルが日本語訳されています。
MovableType Documents:Transition
2003年11月 27日
MTへインポート
Movable Type からアーティクルをエキスポートするのは割合簡単なのですが、インポートにはちょっとノウハウがいります。MT がインストールされているフォルダに import と言う名前のフォルダを作成し、そこにエキスポートされたファイル(*.txt)を適当な名前で置きます。その上でパスワード項目のみを入力してインポートを実行します。『BLOGの設定』はエキスポート・インポートできないので、予めエキスポート元の設定と同様にしておく必要あり。諸説明は下記 URL を参照。
Movable Type インポートフォーマット
2003年11月 16日
ライブラリ追加
mt-check.cgi で状態をチェックすると、あれこれ Perl ライブラリがないよ、と言われる。その場合、ActivePerl の PPM と言う機能を用いて言われたモジュールを一通りインストールする。PPM を用いればネットワークから自動的にライブラリをダウンロードしてインストールしてくれる。PPM は http でモジュールを取得しますが、プロクシを自動設定してくれないので環境変数に HTTP_proxy = http://proxy.xxxx.xxxx.ne.jp:8080 を追加(プロクシ経由でないとアクセスできない場合)。システムのプロパティ→詳細設定→環境変数で設定できます。後は PPM を起動して、install DBI とか install DBD-Mysql などとすればライブラリが追加されます。
MovableType (MySQL/SMTP)で必要なライブラリは DBI、DBD-mysql、Mail-sendmail、Image-Magick です。
MovableType 、MySQL の設定
MovableType の設定はこちらに事細かに書いてあります。mt.cfg もこちらにある通りに設定。 MySQL を MovableType から扱えるように root パスワードを設定し、「mtblog」などのように DB を作成しておく。
D:\mysql\bin>mysql -u root mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.0.18-nt
type 'help;' or '\n' for help. Type '\c' to clear the buffer.
mysql> SET PASSWORD FOR root=PASSWORD('new_password');
Query OK, 0 rows affected (0.04 sec)
mysql> CREATE DATABASE mtblog;
Query OK, 0 rows affected (0.04 sec)
mysql> exit;
Bye
D:\mysql\bin>
MySQL に関して mt.cfg には以下のように追加。
CGIPath http://www.idea-tech.net/mt/ ObjectDriver DBI::mysql Database mtblog DBUser root
加えて、mt-db-pass.cgi に DB の root パスワードを記述する。 sendmail は XP Pro で扱えないので、mt.cfg の SendMailPath はコメントアウト。代わりに SMTPServer に so-net SMTP アドレスを追加。
MovableType インストール
blog と言えば MovableType と言うことで、MovableType をダウンロードしてC:\Inetpub\wwwroot\mt 以下に置く。これだけだと日本語化されていないので、日本語パッチを充てる。加えて Jcode.pm を充てる。流行なので EUC-JP ではなく UTF-8 にしてみた。
ActivePerl 設定
ActivePerl はなぜか cgi / pl ファイルへのマッピングが(XPだと?)上手く行かない。そこで、手作業でマッピングする。コントロールパネルの管理ツールを開き、インターネットインフォメーションサービス→Webサイト→規定のWebサイトを右クリック、プロパティを表示。ホームディレクトリ・タブから、実行アクセス権を「スクリプトおよび実行可能ファイル」を選択して、構成ボタンで pl / cgi ファイルの設定を追加する。追加時の項目は以下の通り。
- 実行ファイル: C:\Perl\bin\Perl.exe %s %s
- 動詞: 「制限」にチェックを入れ、「GET,POST」と入力
サーバー構築
blog 用と言うか勉強がてら Web サーバーっぽいことを行いました。WinXP Pro に IIS (Internet Information Service)をインストール。IIS は元々 Visual Studio .net をインストールすると必要なのでインストール済み。かっこつけてちゃんと DB を使うことにする。MySQL をダウンロード、インストール。MovableType は Perl で書かれているので ActivePerl 5.6 をダウンロードしてインストール。なお、ActivePerl 5.8 だと Image::Magick と言うサムネイル生成ライブラリがインストールできない。













