Monthly Archive for July, 2003

ruby で moblog

もうすぐサークルの夏合宿です.そこはケータイが届くか微妙な地帯であり,いわんやネットをや,という島です.でも,合宿に行かない人とを結ぶなんかないかなーと考えてて,写メールならなんとかなるかと思ったのです. で,はやりの moblog ですよ.ひらたさんのサービスでもいいんですが,せっかくだし自分でこしらえてみようと.早速やってみました. Ruby + Postfixです. こちら

流れとしては,

  1. あるアドレスに写メールを投げる
  2. Postfix -> .forward -> mail2entry.rb
  3. メールのヘッダ情報(From, Subjectなど)を取得,MIMEから本文と画像を取得
  4. 本文を画像を含むように修正
  5. XML-RPCに各パラメータをセットしてmt-xmlrpc.cgiに送る

たったこれだけ.なんて簡単なんでしょう.って言えるのは,Rubyのライブラリが充実してることに大きく起因します.ライブラリ制作者な方々に感謝.思いついてから仕様を調べ,実装してテストしてひととおり動くようになるまで2時間ほどでできました.いつもこれくらいのスピードでお仕事できればねぇ…

このアプリのいいとこは,誰でもある特定のメアドにメールを投げれば画像付きエントリができちゃうとこです.でもそれだけじゃ,ほんとに誰でも投稿できてしまうので,荒らし対策が0です.なので,本文にちょこっとパスワードみたいなのをしのびこませなければならないような仕様にしてみました.

さぁ,合宿でみんなで moblog だ~,と.そのためには啓蒙しなくちゃですが. 果たしてどうなることやら.

参考リンク:

カールな英語

今日はカールの日. カールといっても腹巻き巻いたヒゲおやじのアレではなく,新しめのコンテンツ言語の Curl です.アメリカの curl.comから,founder であり Chief Architect である Robert H. Halstead 氏が講演をされたのです.当然英語(°Д°)…

内容は,

  • 現在のwebの問題点
  • curlができること
  • curlのしくみ
  • curlのデモ

なでした.

内容は面白かったのだけど,実際にこの言語を使うとなるとコーディング量が多そうだなという印象. あと,基本コンセプトが FLASH に似てるかなーと感じたので,質問タイムで思いきって聞いてみることに.

(どきどきどき) はいっ (挙手)

「I think Curl is a client-side application framework. But Macromedia FLASH is based on similar concept, and it is very famous in the world.So, which points are better that Curl has than FLASH?」(ぜぇぜぇはぁはぁ)

な質問.なんと拙い英語なのかと鬱になりました. でも氏はちゃんと丁寧に答えてくれました.ありがとうございました. でも,FLASHと比べられるのはあまり嬉しくなさそうな感じを言外に受けたり. まぁ要するに住み分けの問題だと.

海外からの人の講演のときはいつもそうなのだけど,最初はゆっくり喋ってくれるのです.分かりやすいように.でも,だんだん講演に熱が入ってくると,勢いづいてきてふつーに喋り出しはる,と.まぁこれは自分が発表するときも一緒なのですが. 気をつけないと.

でも,1時間半の英語講演になんとかついていけたわけで,これも最近やってるNHKラジオ英会話のおかげかなーと思ったり. とりあえず聞くのだけは増しになってきたのかしら.

MT-comments rss

MovableTypeはサイト更新を通知するためにRSSというしくみをデフォルトで提供しているわけですが,新しいコメントを受け取ったときにはそこに反映されません.なので,サイト管理者以外は,新しいコメントが投稿されても分からないわけです.これは,議論やなにかを行うサイトの場合,自分のコメントに誰かがコメントをしてくれたのに気付かない,という状況を生みます.

というわけで,最新のコメントを通知するRSSを書いてみました.

やりかた:

MovableTypeの管理画面の「Templateの編集」 -> 「新しいIndex Templateを作る」に行きます.<br/> で,Templateの名前は「RSS comments」とかにし, 出力ファイル名は「comments.rdf」, Index Templateを Rebuild するときに自動的にこの Template を Rebuild する はチェックをオンにしておきます. この Template をリンクするファイルは空のまま, Template の中身には,以下をコピペします.


<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:cc="http://web.resource.org/cc/"
    xmlns="http://purl.org/rss/1.0/">

    <channel rdf:about="<$MTBlogURL$>">
        <title><$MTBlogName encode_xml="1"$> - Comments</title>
        <link><$MTBlogURL$></link>
        <description><$MTBlogDescription encode_xml="1"$></description>
        <dc:language>ja</dc:language>
        <dc:creator></dc:creator>
        <dc:date><MTComments lastn="1"><$MTCommentDate format="%Y-%m-%dT%H:%M:%S" language="en"$><$MTBlogTimezone$></MTComments></dc:date>
        <admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=<$MTVersion$>" />
        <MTBlogIfCCLicense>
            <cc:license rdf:resource="<$MTBlogCCLicenseURL$>" />
        </MTBlogIfCCLicense>

        <items>
            <rdf:Seq><MTComments lastn="15" sort_order="descend">
                    <rdf:li rdf:resource="<MTCommentEntry><$MTEntryPermalink encode_xml="1"$></MTCommentEntry>" />
            </MTComments></rdf:Seq>
        </items>
    </channel>

    <MTComments lastn="15" sort_order="descend">
        <item rdf:about="<MTCommentEntry><$MTEntryPermalink encode_xml="1"$></MTCommentEntry>">
            <title><MTCommentEntry><$MTEntryTitle encode_xml="1"$></MTCommentEntry></title>
            <link><MTCommentEntry><$MTEntryPermalink encode_xml="1"$></MTCommentEntry></link>
            <description><$MTCommentBody encode_xml="1"$></description>
            <dc:subject><MTCommentEntry><$MTEntryCategory encode_xml="1"$></MTCommentEntry></dc:subject>
            <dc:creator><$MTCommentAuthor encode_xml="1"$></dc:creator>
            <dc:date><$MTCommentDate format="%Y-%m-%dT%H:%M:%S" language="en"$><$MTBlogTimezone$></dc:date>
        </item>
    </MTComments>
</rdf:RDF>

これで Saveし,Index を Rebuild したら完成です. コメント通知のURLは,[http://サイトのURL/comments.rdf] になります. おしまい.

MT取説 半分くらい?

細々と続けている,MovableTypeマニュアル日本語訳ですが,なんとか Template Tag のところを半分くらい終えました. ここが一番量多いのよね.そして一番レファレンスとして見るとこなのよね. というわけでがんがってやっております. ここさえ終われば,あとはちょいちょいちょいのはずなのです.