2003年9月アーカイブ

え~と、実はまだUTF-8環境での文字化けの不安は残りますが、Version 1.3を公開しました。
talk to oneself 2 の太鉄さんが作成されたMT4iを改造してiMode対応してみました。
iMode用URLはこちら→http://valium.oops.jp/i/
以下のような改変を施しました。
・Berkley DB に対応(かなりいい加減な対応ですが・・・)
・iModeアクセスキーに対応

北海道で大きな地震が起きました。地震の後片づけ中に車にはねられて亡くなられた方もいるとのことです。ご冥福をお祈りします。時間がたつにつれ、被害状況が続々と報道されています。家屋の損傷、道路の寸断や液状化も起こっています。まだ余震が続く中、これから夜を迎え、被災地の方々はさぞ不安なことでしょう。願わくば、さらなる被害のでませんことを。

そんな中、talk to onself 2さんで、MTで作られたページをi-mode向けに変換するスクリプト「MT4i」の新バージョンがリリースされました。被災時における情報伝達の準備を進める中、MTを携帯電話から見れるようにするのが課題の一つだったため以前より注目していたのですが、Berkley DBに対応していないのが悩みの種だったのです。(i-mode向けですが、実際にはj-skyでもez-webでも見れるはず、です。ここ1、2年の機種なら大丈夫かと。Berkley DBとは、MySQLなどのSQLデータベースがサーバーに用意されてなくても使えるデータベース、だと思います。SQLデータベースをサポートする低価格レンタルサーバーは少ないので、MTで一番利用されてるのはBerkley DBなのでは。)

それがなんと、人生迷い箸さんでBerkley DBに対応させる改造を行ったとのこと。それを受け、talk to onself 2の太鉄さんは改造部分を取り込む意向を示されました。

前のエントリーでの「被災時向けの機能」について質問をいただきましたので、どんなものかを書きます。コメントに書いてたら長くなってしまったので、改めてエントリー。


私は東海地震で大きな被害が想定される地域に住んでいるため、私の言う「被災時」の主な想定は地震災害です。
大きな地震が起これば通信状態が確実でない状態になることが予想されます。
そんな状況で、情報を確実にエントリーするための機能がまず一番の課題です。エラーが出たら通知する、成功したら通知する、というのが一番簡単な方法でしょうか。ただそれらがトラフィックの過度な増大につながってはいけませんから、ほんとにこの機能をつけて良いのかどうかは悩むところです。短い通知メールぐらいなら大丈夫だとは思いますが。

mail2entryを改変してみた

今回の改変の目的は
・PingのOn/Offをメールで制御できるようにする。
 →スケジュールなどの更新はPingサイトに知らせたくない。ただそれだけ。
・エントリーの内容(body)だけでなく、追記(extend)も書けるようにする。
 →思いのほか長い文章になることがあるので、分けられるとうれしい。
・署名部分の自動削除
 →「---/n」の行より後ろは自動的に削除。ただし署名の先頭行が「---」じゃないとNGなわけですが。ボク仕様なのでOK(笑)

穴水版mail2entryの改変情報です。個人的には署名部分の削除機能にひかれます。追記のも重宝しそうですね。mail2entryを使い出すと、普段のエントリーをすべてメールで済ましてしまいたくなりますもん。取り込んじゃおっかなぁ・・・

メーラーの挿入する自動改行を取り除く機能が個人的にすごく欲しい今日この頃。でもとりあえず、被災時向けの機能の実装が先かなぁ。

先輩の依頼を受けて、液晶ディスプレイの購入をお手伝いしました。店頭で購入し、持ち帰り、そのまま設置。コードをつないで、画質調整して、おしまい。
赤い常時点灯が画面中央付近にあったのですが、しばらくすると消えました。・・・自力で直るものなんでしょうか。最近のは有機物質で作られてるのか?びっくりです。

そのまましばらく話していると、近々ADSLを導入するとのこと。現在はISDNのダイアルアップ接続です。ウィルス対策ソフトも導入していないし、WindowsUpdateのことも知りません。まあ、普通の人は知らない事柄ですよね。

ADSLで常時接続となると、ウィルス対策ソフトはともかくとして、WindowsUpdateはしておいた方が良いと思い、勝手にガシガシといじり始めます。OSはWindows Me。まあ、その、苦手なOSです。

一度もアップデートした形跡がないようなので、ダウンロードサイズはかなりのものになります。それも、一度パッチを当てるとそれに対応した新しいパッチがさらに登場したりして、もう、いつまでたっても終わりません。

ISDNですよ。64kbits/sですよ。なんだかんだで計3、40MBytesくらいダウンロードしたのではないでしょうか。時間かかりすぎです。これはもう、罪ですね。ADSLなら大したこと無いですが、ウィルスはISDNでだって感染するわけですし、ワームだって、何だって。修正にかかった時間分だけせめてなにかしらの謝罪が欲しいものです。

お金を取って売っている商品に欠陥があったわけですから、どこかに一言「ごめんなさい」と欲しいですよ。「申し訳ありませんが」とか「すいません」とか、そういうニュアンスではなく、素直に、一言。


もちろん、ウィルスやワームといった、人に迷惑をかけるものを作る人の方が悪いです。それがなければ、OSメーカーだってそれに対処する時間と人材を他のもっと有意義なことに使えるんですから。消費者の不利益しか生みません。


でもやっぱり、消費者から見て気になるのはOSメーカーの対応なんですよね。時間をかけて修正パッチをダウンロードして、その間何も出来ず(ダウンロードしながら作業したらOS落ちそう)時間を浪費してしまうのですから、せめて一言「ごめんなさい」と言ってもらいたいです。

WindowsUpdateサイトのどこかに「ごめんなさい」と表示されたとして、それがたまに「ごめんなちゃい」とかに変わったら、ちょっといいかも。いらいらする瞬間にこそ、ユーモアがあったらうれしいですね。

タイミングが悪いと機器の破損につながりかねませんけどね(物理的な)。

※最新版が公開されていますので、このページからのダウンロードは出来なくなりました。こちらへ

名前、変えた方が良いですかね。Joi Itoさんのと混同されないように。んー

えー、ver.0.2.0です。rebuild_indexも合わせてダウンロードしてください。
Download mail2entry.cgi(ダウンロード後、拡張子.txtを.cgiに変更)
Download rebuild_index.cgi(ダウンロード後、拡張子.txtを.cgiに変更)

追加機能、改良点を更新履歴より以下に引用します。

  • 更新通知pingを発信できるようにしました。それに伴い、Setting節に$flagpingを新たに設けました。1で発信、0で発信しません。
  • ブラウザからmail2entryを実行した場合の結果表示が文字化けする問題に対処しました。
  • 2通以上のメールを処理すると、前のエントリーへのナビゲータがうまく付かないことがある問題に対処しました。この問題に対処するため、rebuld_index.cgiも更新されています。でも、メールを送った順番とエントリされる順番が逆転してしまう場合などにはまだ現象が出ます(逆転してしまうのも原因不明)。なお、rebuld_index.cgiへBlogIDをmail2entryから受け渡すようにしたため、今までのようにrebuld_index.cgi内でBlogIDを指定する必要が無くなりました。perlのパス以外はそのままで使えると思います。

更新通知のpingが問題なく送れるようになったようなのでバージョンを0.2まで上げました。また少しまともなスクリプトになった気分(笑)
リビルドのあたりのコードが少し変わりました。blog->saveが新登場。いまいち使い方分からず使ってます。こうしたらいいとか、ここが変とか、どしどしご指摘くださいませ。

アップデートするときの注意点。


  • 更新履歴にもありますが、Setting節に$flagpingが新たに加わっています。一番下に追加しましたので、それ以降のソースをカットアンドペーストしてください。ソース自体を改造されてる方は申し訳ありませんが前バージョンと見比べながらアップデートしてください。どこを書き換えたかもう分からないです・・・
  • rebuild_index.cgiもアップデートされています。今回のアップデートで、blogIDの指定をしなくて良くなりました。perlのパスにだけ注意して、今までのものに上書きするだけで大丈夫だと思います。

と、こんな感じです。でもまだなにか書き忘れているような・・・
実験用コードですので、ご利用に際してはくれぐれもご注意ください。ログが吹っ飛ぶようなことはないと思いますけど。

pingの問題を追求してたら、関係ないところのバグを見付けました。

useがいっぱいあるところのすぐ下のこの文を、

print "Content-type: text/html; charset=$to_jcode?n?n";

下のように変えないと、ブラウザからmail2entry.cgiを直接実行した場合に文字化けして表示されてしまうことがありました。エントリー自体はちゃんとされますが、気持ち悪いので修正。

my %printJcode = ( "euc" => "EUC-JP", "sjis" => "SHIFT_JIS", "jis" => "ISO-2022-JP",
"ucs2" => "UCS2", "utf8" => "UTF8");

print "Content-type: text/html; charset=$printJcode{$to_jcode}?n?n";

・・・UCS2って何?(汗)

2003/9/23追加:
"utf8" => "UTF-8" (ハイフンが入る)が正しいです。板屋かえでさんありがとうございました。

mail2entryの更新通知pingですが、あのコードだけだとうまく動かないようです。PING.BLOGGERS.JPのようにサイト名だけ表示してくれるところですと問題は出ないのですが、Myblog japanのようにRSSまで読み込んで表示するところだと、前回のエントリーのRSSを読んでしまうようです。

現在板屋かえでの覚え書きさんで鋭意調査中の模様です。続報を待ちましょう(人任せ(汗))

といいつつも、同じ現象が出るかどうか実験するためのエントリーだったりします。どうかなぁ。

今まで英語版のUSBコンジットを流用するなどして日本語版PalmDesktop4.0を使ってきましたが、このたび英語版への移行を果たしました。最新版の4.1です。

日本語版だとなぜだかHotSyncに失敗することが多かったのですが(つながりにくかった。HotSyncボタンを押しても開始されない)、英語版にしたらもう、一発です。何でか分かりませんがミス無しです。Windows版を使っていたとき以来の快感。そう、これでこそHotSync!あきらめてMissingSyncを買おうかと思っていたのですが、とてもラッキーでした。

iSync愛用者であればPalmDesktopが英語版でもさして困らないと思うので、これはなかなかおすすめです。それでも英語版そのままだと予定表などの日本語データが文字化けしてしまうので、ちょっとだけ対処します。
MMT's BlogさんのMacOSX版Palm Desktop4.1を日本語対応にするを参考にしました。/Applications/Palm/PalmDesktopのパッケージを表示し、Contents/Resourcesの中にあるEnglish.lprojを複製して、Japanese.lprojとリネームします。
これだけで日本語がちゃんと表示されるようになりました(メニューが微妙に化けてる気もしますが気にしません)。MMT's Blogさんではこの作業の前にFontの指定をしてらしたようですが、私の環境では必要ありませんでした。とっても楽チン。もちろん、日常的にPalmDesktopを使っているわけではないので、いろんな不都合が隠れてるかもしれませんが、HotSyncが出来ているのでよしとします。

穴水版mail2entryではいままで、せっかくエントリーしても更新通知pingは発信されませんでした。ver.0.1.3以降では出来るようになります。まだ0.1.3を公開するまでに少し作業をしたいので、とりあえずその部分のコードだけをご紹介します。

※最新版が公開されていますので、このページからのダウンロードは出来なくなりました。こちらへ


14:50修正:

Download mail2entry.cgi(ダウンロード後、拡張子.txtを.cgiに変更)

バージョンがちまちま上がっていきます。前バージョンからの変更点は、


  • 前回分のエントリーをリビルドするように修正。
  • 画像を保存するディレクトリを、$image_dir/西暦年/月(いずれも2桁)という形にした。$image_dirは準備しておく必要がありますが、下層のディレクトリは自動生成します。
  • メール無しの時やその他のエラー時にInternal Server Errorにならないように修正(たぶん)。エラー内容が(ある程度)ブラウザに出力されるようにしました。
  • 設定項目の最下部に、新たに$myblog_idを作りました。メールでエントリーする対象のブログIDを指定してください。今まではスクリプト中にmy $blog = MT::Blog->load("1");という形で直接書き込んでいましたが、変数に代入することにしました。これで、バージョンアップ時にはSetting節以降を置き換えるだけで良くなりました。たぶん。
  • 設定項目に、新たに$flagresizeを作りました。$resize_widthで指定した幅より大きな画像を添付したときに、リサイズするかどうかを0か1で示します。0なら「しない」、1なら「する」です。デフォルトは0です。Image::Magickがインストールされていない場合にリサイズしようとしてエラーが出てしまうことに対する対処です。
  • $flagmessageの宣言場所をSetting節から動かしました。バージョンアップの際は、「# POP3サーバへのログイン」の前に、my $flagmessage = 0;を挿入してください。(もしかしたらすでにSetting節から動かしていたかもしれません)

バージョンアップ方法は、Setting節以降(# [/Setting] =====のある行より下)を、新バージョンのものに置き換えてください。このスクリプトに手を出すぐらいの方ならおわかりでしょうが、# [Setting] =====と# [/Setting] =====の間まで置き換えてしまうと、せっかく設定したものが台無しになってしまいます。
また、新たに$flagresizeと$myblog_idという設定項目が増えています。下記の#########で挟まれた部分をSetting節に書き加えてください。デフォルトではそれぞれ0と"1"になっているので、上記変更内容を参考にしてブログに合わせて変えてください。

#############
#画像のリサイズをするときは1、しないときは0
my $flagresize = 0;

#ブログIDの指定
my $myblog_id = "1";
#############

Ver.0.1.2のソースと見比べながら切り張りすると分かりやすいと思います。

設置方法自体は前バージョンから変わっていませんので、穴水版mail2entry公開。為 被災時にはMoblogで。 を参照してください。rebuld_index.cgiとindex.cgiについても同様です。

リンクだけ張っておきます。
Download rebuild_index.cgi
Download index.cgi


なにか不具合があったり、新機能の要望等あればお知らせください。修正も機能追加もお約束できませんが、まだ不完全なスクリプトなのでもうちょっと成熟させたいとは思っています。

DSC01537.jpg
ぼけ日記では頻繁に話題にしていますが、わたくし、知的障害を持つ人たちとの交流を目的としたイベントを企画するボランティアをしたりしてます。最近は災害ボランティアなるものにも関わりを持つようになりましたが、メインはこちら。

で、「交流」というキーワードと、「夏」というキーワードがドッキングすると、やっぱり「キャンプファイアー」となるのです。
そんなわけで、13、14日と、愛知県青年の家に行ってキャンプファイアーをしてきました。(他にもカレー作ったりブドウ食べたりしてますが長くなるので割愛)

こういうボランティアをやる人間というのはだいたいお祭り好きでして、なにをやるにも派手になります。もちろんキャンプファイアーも趣向を凝らして大騒ぎ。火の粉が飛び散り大騒ぎ。

大騒ぎにはやはり音楽が付き物です。その音楽を奏でてくれたのが、NX80V。メモステに音楽を詰め込んで、標準のAudio Playerでガンガン鳴らします。バックライトのおかげで、暗闇での操作も不便がありませんし、分かりやすいインターフェースのおかげで誰に音楽担当を任せても大丈夫。指でタッチするだけというのは、直感的で分かりやすいです。さらに大きな液晶は心理的にも使いやすさを感じさせてくれます。

そろそろCLIEな話題に戻りましょう。リナザウにも戻りましょう。
mail2entryはちまちまと改良してますです。設定が難しそうに思えるのか需要もないようなのでのんびりと・・・地震がくるまでにもちっとまともになればいいなぁ。(設定画面でも作ればいいんでしょうけど)

NX80Vに欠かせないソフト、いや、私にとってPalm機である以上欠かせないソフトがあります。その名もQuickDatebookたくじさん作)

予定のひな形を作っておいて、タップだけで予定表に登録できるという優れものです。準備は予定の内容と開始・終了時刻をあらかじめ登録しておくだけ。予定を記入する必要が生じたら、QuickDatebookを起動し、日付もしくは曜日と登録しておいた予定を選んで予定表に登録ボタンをタップするだけです。

「何度もある予定で時間もいつも同じなのに、曜日が不定」こんな場合にとても威力を発揮してくれます。繰り返しの予定などでカバーできない変則的な予定は、標準の予定表ではちまちまと入力していくしかありませんでしたから。私の予定はそんなのばかりなので、ほんとうにありがたいソフトです。たくじさんありがとうございます。Muchyさんでは4つ星のようですが、私にとっては5つ星です!

穴水版mail2entry.cgi、早速不具合発覚です(汗)
オリジナルコードにはあった前回のエントリーをリビルドする部分を、理解できずにコメントアウトしていたら、そのことすらすっかり忘れて公開にあたって消してしまっていました。
あひるさんから指摘して頂きました。ありがとうございます~!
前回分のエントリーもリビルドしないと、上部のナビゲーション(<< タイトル | Main | タイトル >>)が書き換えられないということです。こんなことにも気づかないとは・・・素人が手を出すもんじゃないですねぇ。

そういうわけで、今日の午後7時頃までにダウンロードした方がいらっしゃいましたら、

# エントリーのリビルド
$mt->rebuild_entry( Entry => $entry )
or die "Rebuild failed: entry";

というコードの下に、下記のコードを付け足してください。

# 前回のエントリーのHTMLをリビルド これをしないと上部ナビゲーションに反映されない
$mt->rebuild_entry( Entry => $entry->previous )
or die "Rebuild failed: previous entry";

凡ミスしましてすいませんです。
最新バージョンは0.1.1になってます。他にもなにかありましたらご指摘お願いします。

※最新版が公開されていますので、このページからのダウンロードは出来なくなりました。こちらへ

Moblogスクリプトである穴水版mail2entry.cgi(Ver.0.1。あひるさん作Ver0.5.0改造品)を公開します。実験用コードですので、使用は自己責任でお願いします。なにが起きても責任は持てません。
以下の2つのファイルをダウンロードして、末尾のtxtをcgiに変えてご利用ください。基本的な設置の仕方はあひるさんのコードと同じですので、WEB-YATAIさんを見てください。スクリプト内での設定項目は、スクリプト内で説明してあります。Settingの節以外にはblog-idの設定が必要です。rebuild_index.cgiにもblog-idの設定が必要です。アクセス権は普通は700でいいはずです。
Download mail2entry.cgi
Download rebuild_index.cgi

使用法は、ブラウザからmail2entry.cgiを開くだけです。エントリーとリビルドに成功すれば本文などが表示されます。
いちいち開くのが面倒な場合は、cronに登録するか、こんなコードを書くといいでしょう。mail2entryの冒頭に書かれているのをいじったものです。
Download index.cgi
前回更新時から5分たっていると、メールサーバーに問い合わせをしてメールがあればエントリーとリビルドをしてからトップページを表示します。ただし、トップページを開くのがちょっと遅くなります。
blogのindex.htmlと同じディレクトリに置きます。普通のサーバーならindex.htmlよりもこのスクリプトの実行を優先するはずです。アクセス権は700で。

スクリプト内の注意事項などにも目を通してください。author詐称も可能なスクリプトですので、複数人で使用するにはさらなる改造が必要です。私の場合は、スクリプト内にもあるとおり被災時の使用が前提のため、詐称できるくらい緩い設定でないと困るのでこうなってます。

コード自体もこのエントリーもごちゃごちゃしてしまいました。美しくなくてすいません。
もしさらに便利に改造したら、ぜひ教えてください!

2003/9/8 am8:45追記:
* 大事なことが抜けていました・・・
* すてきなコードを公開してくださったあひるさん、sekiさん、mail2entry.cgiの詳細な設定方法を公開されているWEB YATAIさん、本当にありがとうございます。

SL-C760のカスタマイズが一段落し軌道に乗ったので、先日の防災訓練で課題となっていた、メールによるサイトの更新を実現すべく作業に入っていました。そんなわけでここ数日更新がさっぱりでした。すいません。でも成果たくさんです。(私的には)

NX80Vでの写真、今度はスナップ(?)用途です」を見て頂いた方はおわかりかと思いますが、私が担当している「湖西災害ボランティア」のサイトの基本構成はほとんどMobile-bozuと同じです。あちらもMovableTypeを使用して、更新作業がなるべく簡単に出来るようにしているんです。
それでも東海地震発生時ともなれば、使用できる通信回線も限られ、おそらく発生当初しばらくの間、良くて携帯電話程度の回線しか確保できないと思われます(現時点では衛星電話の使用を想定しています)。そんな状態だと、MovableTypeの管理画面ですらも重いんです。被災時における外部への情報伝達が最大の使命だったりもするので、それでは困ったちゃんです。

そこでメールを送るだけで情報を書き込めたら便利だ、ということになるわけですが、これがなかなか大変でした。MovableTypeでメールによるエントリーの追加(いわゆるMoblog)を可能にするプログラムのひとつに、mail2entry.cgi(あひるさん作)があります(WEB-YATAIさんの設置方法解説ページ)。

設置方法に従ってやればすぐ動くかと思いきや、ホスティング会社のサーバーには必要なPerlのライブラリが無いとかでエラーでまくり。telnet出来るのを幸いに自分で勝手にインストールして何とかクリアしたら、今度は原因のはっきりしないエラーに遭遇。ちょっとした表記の違いが許容されないみたいでした。Perlのバージョンが低いからかなぁ。もー、大変。Perl初心者にはきついです。2日がたち、コードを全部理解するぐらいになってようやく設置が出来ました。ふーっ。いい勉強になります。

SL-C760、買いましたよ。コメントをいただいたりしてシグ3と非常に迷いましたが、結局リナザウに走りました。

基本的にはゆっくり動くデバイスという印象ですが、遅くていらいらするわけでもなく。打ち易いキーボードのおかげで、十分快適です。長文も書けます。もちろん近くにiBookがあればそちらを使うにきまってますが、そうじゃない状況では大活躍です。はっきりいうと、トイレで作文できます。すばらしい。これぞまさに時間の有効活用。

とりあえず、私家版携帯端末考さんを参考にしながら、基本的なカスタマイズをして使っています。作文に欠かせないテキストエディタにはZEditorを選びました。ランチャーとしてKeyHelper Appletを。HTMLのタグもこれをつかって入力しています。日本語入力は、最初は標準のものを使っていましたがなかなか慣れることができなかったので、どうせこれから慣れなきゃならないなら、と思ってモバチキさんを参考にしてQPOBoxを試しています。

単語登録をまめにしていけば、比較的短期間で使い勝手がみるみる向上していきますね。以前Palm端末で使ったときはどうしても慣れなかったのですが、これもキーボードがある効果でしょうか。

それと当然のこととして無線LANとAirH"を導入しました。無線LANにはCLIE用のPEGA-WL110を使ってます。

湖西災害ボランティアのホームページに、NX80Vで撮影した写真がいくつかのっています。リサイズされてますけど。参考になればと思いご紹介します。9月1日分の写真はすべてNX80Vで撮影したものです。

で、なんでそんなことを知っているかと思いますと、私が湖西災害ボランティアのホームページ担当なものですから。

今日静岡県下では各地で防災訓練が行われました。
私も災害ボランティアに入っている関係で、市のメイン会場で災害ボランティア通信訓練に参加してきました。

どんなことをするかというと、本来は被災状況をホームページにアップして外部へ伝えたり、支援物資を求める情報を書き込んだりと、いろんなことが考えられるわけですが、訓練ではそこまで細かい想定が(災害ボランティア内で)まだ出来てないので、今日のところは訓練の模様を撮影してコメント付けてアップしました。

My status

BlogPeople

apple

気になるサイト覚え書き

ウェブページ

Powered by Movable Type 4.1

このアーカイブについて

このページには、2003年9月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2003年8月です。

次のアーカイブは2003年10月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。