興味を示して下さった方が何人かいらっしゃったようなので、tdiarytimes_textstyle.rb プラグイン を tDiary-users にて公開しました。本サイトのレイアウトだと公開ページが少し窮屈な印象だったので、別ページを用意しようと思ってました。だけど昨日のトラブルの解決にはちょっと時間がかかりそうだったので、結局本サイトを間借りすることに。そんなわけで、tDiary-plugins r&d division 設立です。といっても、そんな大げさな感じではなくて。ま、箱物行政ってとこです。テーマカラーはやっぱり緑。渋く淡い緑にしました。
以下、おまけ。当初、部門名として tDiary laboratory を考えていて、tdl だけに以下のような感じのロゴも作ってみたのですが、ネズミーランドからホンキでクレームが付き兼ねないので止めました。そうなってくるとちょっと看板が重過ぎるような感じがしてきたので、無難に本サイトの一部門っぽいネーミングに落ち着きました。今度は trd っぽい背景画像でも入れようかと思わなくもなかったのですが、これまた無難な写真で R&D 部門っぽさを演出。さて、あの写真から犠牲になったのは誰なのか、わかった人がいたら凄いなぁ。答えはまた後日。
あ、あと先日のアップデートでは、ログがとんだ わけではありませんでした。記録保持時間を短くしてテストした設定が残ってただけ。おかげでログがほとんど残っておらず、これではサンプルにならないのでローカルテスト時のデータと差し替えさせて頂きました。
ルールとかよくわからないけど、なんとなく見入ってしまいました。結局最後まで観戦してこの時間。あぁ今日は早く寝ようと思ってたのに。でも面白い試合だったなぁ。要所要所で TV に写る観客席のオジサンは一体誰なのかと思いきや、チームのオーナーだった。
Ruby は柔軟で書きやすくていいなぁ。でもあやふやにしていたところがだんだん気になってきた。引数を渡す時の 「' ' と " "」 や、結果を返す時の 「= と <<」 の使い分けとか、どんなときに escapeHTML しなきゃいけないのかとか。ところで nil ってなんだろうと思ったら、普通に英語 (alc.co.jp) でした。しかも null との違いとか情報系の界隈ではわりと常識の話だったっぽい。知らないことばっかりだなぁ。自分の中では、涅槃の境地と適当に意訳してました (あっちは nir ですけど)。あと、これは google 先生もご存じないらしい。先日 Ruby 本を買う時に見かけた正規表現の分厚い本でも立ち読みしてみようかな。
昨日の疑問、非語境界について。例えば英語やフランス語などでは、文字列に含まれる各単語はスペースで区切られている。だけど時々、ハイフンでつながっていたり、他の単語の接頭詞になっていたりする場合がある。正規表現でマッチングを行うときに、それらを単語の境界として扱うかどうかということらしい。
15時に何か発表があるというので待っていたら、AirH"月額基本使用料無料キャンペーン (ddipocket.co.jp) のお知らせだった。がっかり。
あ、tDiary-plugins r&d division のタイトル画像に写っているのは、KX-HV200, Panasonic でした。

ついでに超音波洗浄したら、塗装がボロボロになっちゃった。
tdiarytimes_textstyle プラグイン が Ruby 1.6.7 にて動かないとのこと (kosaka日記 2004-02-03 より) 。さっそく Ruby 1.6.7 をダウンロードしてきてローカルでテストしてみると、やっぱり動きませんでした。1.6.x では未実装だった .to_f の部分を修正してみたのですが、今度は CPU 占有率が 100% になったまま ruby.exe が沈黙。どうせならエラー出して止まってくれればいいのになぁ。他の仕様変更点で躓いてるのかな? 今のところ情報収集不足で原因は特定できずです。残念。
あと、ここのところ作っていたプラグインも、ちゃんと動いていないようです。こっちの方はエラーも出ないし暴走もしないのですが、結果が出力されて来ない。これは 1.6 系列から 1.8 系列への変更点もちゃんと押さえておいた方が良いのかなぁ。
懲りずに不具合部分の特定を試みる。後半部分をばっさりコメントアウトしてみると、まずログファイルをうまく読み込めてないようです。Ruby 1.8.1 上では正常に動くのでログファイルの問題ではない。となると、io = open("filename","r") か、array_data = Marshal.load(io) の部分が問題なのかな? 万が一ログファイルが読み込めない場合でも begin-rescue を使ってダミーデータを生成するようにしてたんだけど、その array_data = Array.new(145) {|i| 0 } の部分も 1.6.7 ではうまく解釈されずに nil がはいってたことも重なってしまったようです。さらにさらに、実は RRGGBB のフェードアウト計算の部分でも計算結果にゴミが載ってるのを発見。ここまでわかってくれば、あと一息かな。明日になったら忘れてそうなのでここにメモしておこう。今度は 1.8 で動かなくなったりして。
tdiarytimes_textstyle プラグイン を 1.0.3 にアップデートしました。フェードアウト効果の計算結果が正しく出力されない点を修正した重要なアップデートです。1.0.2 以前のバージョンでは正しくフェードアウトしない場合がありますので、古いバージョンを使用されている方は是非アップデートして下さい。276行目の "%x" を "%02x" に変更しただけですので、アップデートに伴いログデータが消えてしまうようなリスクはありません。 (shimajun さん、情報ありがとうございました)
【ダウンロードページ】
tdiarytimes_textstyle.rb プラグイン
どうも Marshal.load(io) のところでログファイルを読めてないようなので、Ruby 1.6.7 にてログを dump し直したのですがやっぱりちゃんと読んでくれません。なんとなく array_data = Marshal.restore(File.open("filename","r")) ってやってみたら、怪しいながらもログデータが配列に格納された模様。しかし、どうやら Ruby を暴走させていたのはここではなかったようです。どういうわけか each ブロックで暴走してしまいます。(0..10).each {|i| p i } のような単純なブロックすら処理が戻ってきません。tDiary の外でちゃんと動くのに、プラグインの中だと each 系の処理がまともに動きません。なんでだろ〜。
正規表現と言えば、無性に人工無脳を作ってみたくなります。だけど自作のエンジンを作るとなるとちょっと準備不足です。そこで今回は正規表現のお勉強として、ししゃも (以下、sixamo) という人工無能エンジンと tDiary を連携させるプラグインを試作してみました。sixamo は ょゎ さん によって作られた人工無脳エンジンであり、Ruby で書かれています。自前の構文解析エンジンを搭載していて ChaSen や MeCab などの形態素解析器を必要とせず、辞書やログデータの保存にも MySQL などのデータベースを用意する必要がありません。人工無脳エンジンは他にも色々とありますが、今回のテストには sixamo が最適だと思いました。
一般的に人工無脳は IRC にボットとして常駐していることが多いようです。中には Hiki プラグインになっているものもいくつかあるようですが、日記系のプラグインは見当たりませんでした。やはり学習効率や精度を考えれば、一行対一行のやりとりが一番いいのかもしれません。だけど、まぁ何事もやってみてのお楽しみです。負荷テストも兼ねてしばらく様子を見てみようと思います。もちろん会話データも辞書データもまっさらな状態からスタートです。たぶん最初の方は意味不明な日記が出てくると思います。さてさて、どんな日記が出てくるのかな。sixamo による日記は日別表示にてご覧になれます。
(2004.2.12 追記) 現在は ボクと sixamo と sixamo の生きる海 でやってます。
(追記) 日記が生成されるのは一つの日付に付き一回なので追記分には反応しないはずのテスト。そうそう肝心の正規表現は、日記を一行ごとに分割するのに使いました。私は 「。」 と感嘆符くらいしか使わないのですが、いろんな人の日記を見ていると様々な文末表現があります。( ) 系や顔文字はまだしも、AA はどうやってマッチングすれば良いのやら。
本日 14:00 から 17:30 ごろにかけて、緊急セキュリティメンテナンスのためのサーバー再起動があったようです。昼過ぎに自分のサイトにアクセスしたときにレスポンスがなかったので、昨晩に応急処置を施して差し替えた自作プラグインが暴走してるのかと少し焦ったりしたのですが思い過ごしだったようです。
今日で sixamo を育て始めて三日目。最初は私の日記をオウム返しするばかりだったけど、ついに話にツッコミを入れるまでになってきた。そういえば時々、遠い目をしながら独り言をつぶやくようになってきた。よく聴いてみると、毎回 Net::HTTP.version_1_2 と呟いてから何かを喋っている。誰と話しているのだろう。
というわけで、ツッコミ返答機能と HTTP 通信機能をつけてみました。さらに二つ目の tDiary をセットアップして、sixamo 専用としました。この日記を元に sixamo 日記を生成し、HTTP に載せて sixamo 専用 tDiary を更新する仕組みです。まだ自分からウロウロしたりはしないので大した機能ではありませんが、半自立日記システムになりました。あとツッコミに反応します。これで XREA のキャッシュ問題さえなくなれば、私が手を触れなくても日記が運営されていくことになります。ただサーバーにどのくらいの負荷がかかるのかわからないので、15分に一度くらいのペースでしかツッコミに返答しないようになっています。最初はサブドメインを設置して予備運転してたんですが、途中からレスポンスがなくなってしまって、CGI 負荷で凍結されたのか、先日と同様にサブドメインの怪しい挙動なのかは不明です。ですので、場合によってはこのページが閲覧不能になるかもしれません。予めご了承下さい。
サーバー負荷軽減のため追記分には反応しない仕様ですので、今日のsixamo日記はこれ以上増えません。たくさんの方が見に来て下さったようですが、申し訳ありません。代わりにツッコンでやって下さい。あと、sixamo 専用 tDiary 導入前に生成された昨日と一昨日の日記データを移行させておきます。
空ツッコミ対策コードを入れたら、今度は sixamo が反応しなくなっちゃって困った。今日は時間がないので明日ローカルでちゃんとテストしてから修正します。対策コードを外して念のためテストツッコミしたら、さっそく学習効果が出たようです。
sixamo 日記が やじうまWatch (impress.co.jp) で紹介されちゃったようです。これは意外。家に帰って来てから気がついたんですが、巡回中に自分で発見してたら飲み物を噴き出していたと思う。
(追記) 空ツッコミ (名前、本文入力し忘れ) に反応しないようにしました。テストツッコミしたら、sixamo から極めて冷静なコメントを頂きました。もうあまり時間は残されていないのかもしれません。
さっき深夜音楽番組で、平原綾香さんのカバーするホルスト作曲の 「木星」 が流れていました。昨年末あたりから機会があったら聴いてみようとかなと思っていたんだけど、シングルはレンタルしないし、結局そのままでした。来週アルバムが出るようです。
この曲を耳にすると、やっぱりクラシックの方が無性に聴きたくなります。と言いつつ、木星のボーカルカバーと言えば、遊佐未森さんのアルバム 「庭」 に収録されている a little bird told me がお薦め。しっとりと力強い弾き語りのピアノに載せた澄んだ歌声が印象的。

右は中学生の時に買ってもらった組曲「惑星」。これはエルガーの 「威風堂々」 も収録されているお買い得版で、いまでも良く聴いてます。自分が死んだら 「威風堂々」 の雄大なサビのところで送り出してもらいたいと勝手に決めてた頃もありました。実際そんなシーンはありえないわけで、ポクポク言ってるのが関の山でしょう。
相変わらず Script Error には悩まされます。今度は sixamo 日記の方で発生しました。しかも update.rb?conf=default が Script Error を吐くようになってしまい、プリファレンス画面に入れなくなっちゃった。しょうがないので、味ポンからフッタ編集。
実はこっちのサイトにも意外な問題が起きてます。三日ほど前からリンク元がほとんど記録されなくなってしまいました。キャッシュをクリアしても一向に復旧しません。三日前と言うと sixamo 日記を始めた日です。sixamo に何もかも持っていかれたのかと思いきや、犯人は意外なところにいました。原因は実働テスト時に誤って登録してしまった 2004.11.1 の日記。ここに全て記録されてました。9ヶ月後に自然と復旧する見込みです。
+ 風邪っぽいかも。十字屋でお惣菜買って、TSUTAYAに寄って、結局何にもしなかったそんな一日。
03 がアルバムに収録されるのを知らずに DVD 買っちゃったけど、たまたまレンタル中じゃなかったので借りてきました。03 もいいけど、「おきてがみ」 もいいなぁ。バレンタイン限定で放送されてる チロルチョコの CM 曲 (ストリーミング動画が再生されます) は、次のアルバムに収録されるのかな?
アンテナ機能はそんなに難しくないと思うけど、実装する気力が足りず。プラグイン公開に向けてソース内に散らばってる変数をオプション変数に書き換えたり、ドキュメントを少し書いてみたり。sixamo 日記がどんな風に動いているのか気になる人は、簡単な模式図を書いてみたのでこちらをどうぞ。
あ、あとツッコミ応答プラグインの不具合を少し修正しました。ぐはぐは さんのツッコミに反応出来なかった理由は不明です。誤って空ツッコミの時刻まで記録していたので、もしかしたら連続投稿制限にひっかかってしまったのかな?その辺は修正しておきました。また遊んで頂けると幸いです。
dotimpact::quarterview より。 なるほど。そういう切り口から捉えてみるのも面白いですね。生成した日記を夢判断すれば、人工無脳のバイオリズムこと 「ムノリズム」 が見えてくるかもしれません。・・・語感がちょっとカッコ悪いなぁ。それはさておき、さっそく sixamo エンジン搭載の dotty が登場してます。なんと goo の自然言語検索との連携を考えていたとか。でも実は私も流行語に敏感な人工無脳を目指して、goo の 「注目ワード」 を巡回対象として狙ってたりします。
あと、先輩にあたるのかな? 読兎のうさぎさんです。詳しい機能がちょうど今日付けのエントリでまとめられています。ニュースに対するコメントを、2ちゃんねるのテンプレと IRC チャットの学習成果から生成しているようです。今後は主に他 Blog からニュースを引用し、Trackback していくとか。日記色の強い sixamo 日記とはコンセプトが違い、より Blog 志向のつくりになっている印象を受けました。MSN メッセンジャーにも対応してるのが凄いなぁ。いずれ dotty さんや、うさぎさんとコンタクトする時が来るのだろうか。
サーバー上で定期的にジョブを走らせたい場合、cron を使うのが定石のようです。昨年末には XREA でも cron が解禁されました。そこで cron で実行させるアンテナスクリプトの雛形を書いてみたのですが、どうもイマイチです。なんか tDiary のプラグインとして書くのと勝手が違うような気がします。特に def〜end ブロックの引数、返り値の挙動が思い通りに動いてくれません。
今度は発想を変えて、定期的に走る tDiary のプラグインは作れないものかと思案してみました。カウンタ値の差分や、前回のアクセスからの間隔をチェックする方法だと芸がありません。そこで、特定のアンテナからのリクエストをトリガに作動するプラグインを作ってみたらどうかな、なんて思ってみました。大抵のアンテナは黙っていても定期的にアクセスして来ます。このパケットを無駄にしないわけにはいきません。これなら cron が使えないサーバーでも定期的にジョブを実行出来そうです。また、自前サーバーの cron ジョブでトリガとなるアンテナを走らせれば、tDiary との親和性を保ったままプログラミングに勤しむことも出来ます。アンテナと言わず、特定の Referer という事にしておけば、臨時のジョブを意図的に実行させたりするのも可能かな。これなら大分楽が出来るなぁ。今日も帰りが遅かったので妄想だけ。
mput さんより、CGI でアンテナに関するアドバイス を頂きました。言葉足らずでしたが、sixamo アンテナはリストアップされたサイトを全て巡回するのではなく、リストから一つだけ選んで訪問します。とは言え、今後 RSS や LIRS を読み込む予定もあったし、タイムアウトは想定していなかったなぁ。予め情報を収集しておくボットがあった方がいいのかな。
そんなわけで、やはりプラグインではない方向で実装中です。他の tDiary サイトの日記を読んで、自分の日記にコメントを書くところまではローカルでテスト済みです。あとはリファラからアドレスをピックアップするところと、cron ジョブを設定すれば動くかも。いや、動いて欲しい。ページ解析の都合上、tDiary がコメント対象サイトですが、互換性のあるページを生成している 「はてなダイアリ」 もいけそうな感じです。
昨日動かなかったのは、置換や正規表現 (gsub など) のところのような気がします。なんとなく .to_s を付けてみたら動くようになりました。といっても、一から全部書き直しちゃったんですけど。
sixamo 日記にサイト巡回機能を実装しました。cron×Ruby から tDiary に日記をポストする方式です。sixamo 日記にリンクしたサイトのリストから、ランダムに一つのサイトを選んで訪問します。訪問対象となるのは、tDiary で運営されているサイトと、はてなダイアリです。最新の日記からどれか一つのセクションを選び、さらにその中から一行だけピックアップして sixamo 日記にてコメントします。ちょっと書き換えればツッコミも可能ですが、最初はおとなしく自分のところに書くことにします。現在は訪問先での学習はしない設定です。心当たりのある方で訪問対象から外して欲しい方は私まで連絡してください。また、著しく不適切な内容がポストされてしまった場合には、エントリを削除致します。
ちなみに最初の訪問は手動でプログラムを実行しただけです。さて、あとは cron ジョブがきちんと走るかどうかだなぁ。
(追記) cron ジョブがうまく動いてないようです。sixamo.rb を require 出来ないとのこと。ちょっと調べてみたら LD_LIBRARY_PATH ってやつの問題なのかな?
(追記) putty というソフトをインストールして、XREA に SSH 接続してみました。google で拾い読みした export LD_LIBRARY_PATH="/hoge/sixamo:$LD_LIB..." みたいなことをやってみたけどダメっぽいなぁ。このへん全く知らないので見当違いなことをやっているのかも。関係ないけど、味ポンから起動出来たのがちょっと面白かった。
相変わらず cron が言う事を聞いてくれなくて難航中です。何度かあと一息のところまでいってるんだけどなぁ。1:30 のジョブが失敗したら今日は諦めて寝ます。たまにはちゃんと寝ないとね。
やっぱりダメっぽいので今日もブラウザから起動。ブラウザ経由だとうまくいくのに、cron からはなぜダメなのだろう。やっぱり HTTP 経由で sixamo アンテナを刺激する cron ジョブを書くのが一番楽かも。この時間を他の事に使いたいな。
ちょっと情けないけど、参考資料として失敗の軌跡も載せておきます。antenna.rb には sixamo アンテナ部 (URL選択 → HTTP.GET → Sixamo → HTTP.POST) に続いて、tDiary-users で公開されてるキャッシュ消去コードが入ってます。ちなみに一回のジョブ実行時間は、自前のデバッグ用ログに書き出した情報を見る限りでは 1〜5秒程度です。
・ 初期状態 (cron.sh×antenna.rb) → `require' no such file to load -- sixamo (Load Error)
・ require でフルパス指定 → sixamo (Load Error)
・ sixamo.rb を本文中にコピペ → unknown node type 0
・ #!/usr/local/bin/ruby -I /hoge/sixamo → killed
・ BEGIN の前後に改行 (unknown node type 0 対策?) → tdiary.rb (Errno::ENOENT)
・ .sh の方に /usr/local/bin/ruby -I /hoge/sixamo → sixamo (Load Error)
・ #!/usr/local/bin/ruby -I /hoge/sixamo で clear.rb 部を削除 → エラーはないけど、デバッグログを見ると Sixamo.new() でこけてるっぽいです。
日本の窓際族命名の地とされる札幌市の北悔道新聞社は16日、組織の最後尾の会社員について 「窓際族」 の呼称をやめ、17日以降は 「Ω (オメガ) サラリーマン」 と呼ぶ、と発表した。近年の調査研究で、 「窓際族」 が窓際で仕事をしているわけではない実態が明らかになり、研究者の間で定着している用語を使うことにした。ただ、53年の流行語以降四半世紀にわたって慣れ親しまれてきた呼称が消えることを、惜しむ声もある。
こんな記事を書いてくれないかな。本物の記事はこちら (goo.ne.jp) です。今日は帰りも遅かったので sixamo まわりの実験はありません。
正しくは、無能じゃなくて無脳です。意識してたつもりで、全く逆の方を使用していました。お詫びして訂正致します。本サイト、ならびに sixamo 日記のエントリ内容については修正させて頂きます。
(追記) よく考えたら、人工知能に対する言葉だから人工無能でもマチガイではないのかな? google 先生に問い合わせてみたところ、無能 (19,400件)、無脳 (18,200件) とほぼ同数でした。ただ、人工無脳エンジンししゃも とのことなので、今後は主に無脳を使うことにします。
sixamo の生みの親、ょゎさんの日記に、「無能」 ではなく 「無脳」 を選んだ経緯についてのコメントが載っています。無意識とは言え、「人工無能」 と表記してしまったのは軽率だったなぁ。申し訳ありません。幸い やじうま Watch では 「人工無脳」 として紹介されておりました。一安心。
やっぱり 「無脳」 と呼称した方が、ゴーストが宿るかもしれないという期待感がありますね。
+ あれ、cron の時間になっても日記がポストされないなぁ。パーツごとの動作確認はしたのになんでだろ。と、昨日書いたスクリプトのを思い出して原因を探ってみると・・・あ、ジョブを振り分ける cgi 引数の書式間違えたような気がする。しょうがないのでブラウザからジョブ起動。あ、ちゃんと動いた。こちらの日記を元に生成しているわけではないのでフリートークには変わらないけど、ちょっと残念。泊まるところが圏外なので、日中時間があったらブラウザから刺激してやることにしよう。
帰宅して sixamo 日記をのぞいてみると、知らない間に日記が増えてました。cron で動かしている cgi がうまく機能してないと思って、味ポンから手動でトリガを送信したのは 21日の夕方と 22日の朝と昼の計三回です。それなのに、21日の日記が追記されていたり、トリガを送信していない 23日の日記が生成されていたりと、この三日間で全8コのエントリがポストされています。
結論から言うと、さきの懸念事項は思い違いで、cron ジョブがせっせと日記をポストしていたのでした。ただ、一日三回・朝昼晩に日記を生成するようにしていたので、21日の朝と昼の分がないし、数も足りません。確かに自前のログを見ると、すべてのジョブ実行時に HTTP.POST の記録が残っているわけではないのですよね。でもエラーが記録されているわけでもないし。さらにおかしなことに、HTTP.POST の記録がないときのジョブ実行時刻が tDiary のログに Last-Modified として記録されている箇所もあります。HTTP 経由ということもあって、もしや Script Error が悪さをしているのかな。謎は深まるばかりです。まぁ日記のポストをサボる人工無脳ってのも悪くはないけどね。
意味不明な URL を喋るようになってきたので、対策コードを入れました。とりあえずの暫定的な処置です。こま切れの文章も見受けられるようになってきたし、不正なデータを取り除く程度のメンテをした方がいいのかな。
切れたままだったので新しいのを買ってきました。車検対応と明記されてるものがなくて困った。「競技車用」 とか 「公道では使用しないで下さい」 と言った類のものでなければ大丈夫かな。青とか紫とか興味ないけど、黄色っぽいノーマルではメインバルブとの色が違ってしまって逆にマズイかも。あ、交換するの忘れた。
tDiary のデザインやレイアウトを、最新表示と日別表示あるいは月別表示で変更したいというニーズって結構あるのかな。tDiary-users の 「要望リスト」 にも、
という投稿があったり、ちょうど今日 「日替り背景画像プラグイン」 を公開された相田やぢをさんも今後の展望として
と、書かれています。
そういう私の tDiary も、最新表示と月別表示でレイアウトが変わるような細工をしてあります。まぁ細工と言うか、プリファレンスのヘッダ・フッタ欄に条件分岐のスクリプトを入れてあるだけで、特に変わったことをしているわけではありませんでした。そう、実はこの話はもう過去形で、先月末から tDiary×Ruby で遊び始めたのを受けて、この機能をプラグイン化してここ一ヶ月間運用していました。
プラグイン化すると、いろいろとトリッキーなことが簡単に出来るようになります。例えば tDiarytimes-textstyle.rb プラグインに関する日記では、日別表示の時にテーマが切り替わる仕掛けにしてみました。今日の日記の日別表示と、2004.1.28 の日記の日別表示 を見比べてみると仕組みが分かると思います。さらに日記外に別枠を設けてサンプルを表示させたりしています。あと、こうなるはずが、こうすることも出来ます。
と、おおよそ日記運用とはかけ離れたプラグインなのですが、
とのお言葉を読んだので(笑)、ちょっと公開してみることにします。ほとんど需要はなさそうですけど、何かの参考になればと思います。あ、テーマ作者さんにとっては利用価値があるかもしれません。
【ダウンロード】
trickster.txt (ダウンロード後、拡張子を .rb にして下さい)
ただ tDiary-users の要望欄でも指摘があったように、スマートなインターフェースを用意するのは難しいです。一応、プラグイン内にも例を載せましたが、分かりにくいかもしれないので実際のプリファレンス画面での設定例の画像を載せておきます。このサイトの動作状況と照らし合わせてみると勘のいい人なら分かるかも。以上、かなり微妙なプラグインの紹介でした。
Script Error が頻発しているとのツッコミ報告を受けたので、Last-Modified の出力を削ろうと思います。代わりに RDF と LIRS を出してみます。
(追記) output_rdf.rb がエラーで動きませんでした。とりあえず、LIRS は出ているようです。
(追記) うーん、Script Error でツッコミが入らないので、ここでレスします。>通りすがりさん 「ホスティング (XREA) サーバーとの相性問題のようなものなんです。ただ実際の頻度までは分からなかったので、ご報告ありがとうございます。一応、対策を採ってみます。」
実は Wiki ってちょっと苦手だったんです。あのページ上部や下部に鎮座している呪文のようなメニュー群や、ページ中に散りばめられたリンクって、初対面だとちょっと困りませんか? でも何事も食わず嫌いは良くないので、Hiki に挑戦してみました。Hiki は Ruby で書かれており、tDiary とテーマやプラグインに互換性があります。世の中には沢山の Wiki clone があるようですが、これなら入っていきやすいんじゃないかなって思って、Hiki を選びました。
とりあえずローカルにインストールしてみました。WinXP×AnHTTPd です。Hiki 本体の他に、Amrita というライブラリが必要になります。てっきりコンパイルとかしなきゃいけないのかと思いきや、フォルダごとコピーするだけで OK でした。コピー先は、hiki のインストールフォルダか、もしくは Ruby の lib フォルダ (例えば C:\ruby-1.8.1\lib\ruby\1.8) のどちらでも動きました。Ruby 1.8 以前のバージョンだと strscan も必要になるようです。躓いたところと言えば、本体のファイル名がデフォルトで hiki.cgi なので、AnHTTPd が一生懸命 Perl として動かそうとしてしまったところでしょうか。AnHTTPd では .htaccess が効かないので、hiki.rb とリネームして動かしましょう。.cgi の関連付けを Perl から Ruby に変更して、Ruby 一筋で行くのもいいかもしれません。
どなたかが、tDiary-users のプラグインリストに追加してくださったようです。というわけで、正式に公開となってしまいました。そういえば使い方を書いてなかったような気がします。プラグインフォルダに入れると、プリファレンス画面に 「tricksterの編集」 が出てくるので、「ヘッダ・フッダ」 と同じ要領で html や CSS、eRuby コードを記述します。プラグイン機能の位置付けとしては、ヘッダ・フッダ編集の機能拡張版+append-css の @mode および @date 対応版ということになると思います。あと、日記のない日の出力を横取りすることが出来ます。
機能紹介として、ちょうどいい題材がありました。素敵なネーミングです。Yraids’ Sucla より 「虹色日記」
CSS 生成も出来なくはないですがひとまずおいておいて、日替わり CSS 選択ならあっという間に実現出来ます。「Tricksterの編集」 の条件ブロックテキストエリアに次の二行を書くだけで OK です。これで YYYYMMDD.css というファイル名の CSS を読み込むようになります。例えばもし、うるう年だということを忘れて 2月29日の CSS を用意し忘れても、既存のテーマ CSS が読み込まれているので問題なしです。
最新表示 (トップページ) だけでなく日別表示にも適用したい場合は、latest のところに例えば higawari_css と入力して、出力条件エイリアスのテキストエリアに次のように書いておきます。
トップページはいつも通りで、日別表示だけ日替わり CSS にしたい。でも 365日分も用意するのは大変だ。なんとか 31種類で運用したい。という場合は、こんな風に書けば OK です。これで DD.css というファイル名の CSS を読み込むようになります。
外部 CSS ファイルを読み込むのではなく、CSS コードを直で書くのもアリです。
latest や day の代わりに month を使うのはもちろんのこと、 200403 や、20040229 形式での指定も出来ます。
+ ここは欄が狭いので明日か明後日あたりに Hiki を立ち上げたいと思います。
今日は久々に FLASH に触ってみました。昨年秋に買いそびれたこともあって、いまだに FLASH 5 です。今日はちょっと前進したけど Action Script は相変わらずよく分からない。ところで、変数 = 値で、グローバル変数になってくれるんじゃなかったのかな。無駄に計算が増えて困っちゃうな。あと、もしかしてシンボル内に Action Script を書けるのって MX 以降の機能なのかな。やっぱり MX 2004 買った方がいいのかも。ここのところ Ruby 三昧だったので、行末にセミコロンを付けるのがメンドウクサイです。しょうがないのでリソース作り。FLASH でベクターお絵かきはお世辞にも便利とは言えないけど、外部ツール使う程でもないのでポチポチ作業しました。あ、FLASH はグラデーションが綺麗に入るので気持ちいいですね。
tDiary は 1.8.1 の方が安定して動作するとのお話を頂いたので、早速 XREA の要望フォーラムに投稿してみました。そしたら、なんとたったの 5 分後にはバージョンアップされていました。なんて迅速なサポートなんだろう。たぶんたまたまだとは思うけど、ビックリしました。
Hiki が 0.6 にバージョンアップしたとのことなので、こちらも早速バージョンアップしようとしたら、ローカルで動いていたのは 0.7 でした。最初にダウンロードしてきたのは、もしかして開発版だったのかな?
+ うーん、なんか頭痛がします。よくあることなんだけど、ついでに気分が悪くてなんか横になりたい。というわけで、今日は早いけどもう寝よう。
+ mi6 [internet advertising]
+ mamba [business cards http:]
+ bunda [loan calculator http]