<?xml version="1.0" encoding="utf-8" ?>
<rss version='2.0' xmlns:atom='http://www.w3.org/2005/Atom'><channel><atom:link href='http://oldtype.sumibi.org/get-rss/kiyoka' rel='self' type='application/rss+xml'></atom:link
><title>kiyoka::* kiyoka [img]  オープンソース系好奇心先行型プログラマ。関数型プログラミングにハマりぎみ。</title
><link>http://oldtype.sumibi.org/show-page/kiyoka</link
><description>* kiyoka [img]  オープンソース系好奇心先行型プログラマ。関数型プログラミングにハマりぎみ。</description
><lastBuildDate>21 Nov 2008 15:18:22 +0000</lastBuildDate
><docs>http://blogs.law.harvard.edu/tech/rss</docs
><generator>OldType version 0.3.7</generator
><item><title>kiyoka::* kiyoka [img]  オープンソース系好奇心先行型プログラマ。関数型プログラミングにハマりぎみ。</title
><description>&lt;pre&gt;&lt;h2&gt;kiyoka [img]  オープンソース系好奇心先行型プログラマ。関数型プログラミングにハマりぎみ。
&lt;/h2&gt; English page is here kiyokaE
ブログはこちら !kiyoka.blog
    [img] 
 
 
&lt;h3&gt;プロジェクト
&lt;/h3&gt;- Sumibi ( 新感覚日本語入力メソッド )
    &lt;img src=&quot;http://www.sumibi.org/sumibi_org_WASHIlogo.png&quot; height=40 /&gt;
- OldType ( OldTypeのためのWikiシステム。GaucheベースのWikiClone )
    [img] 
- R@eply.org ( iモードメール専用Webリーダー )
    &lt;img src=&quot;http://r.eply.org/eply_org_icon.gif&quot; height=40 /&gt;
- Predoc ( 軽量ドキュメントフォーマット )
    &lt;img src=&quot;http://www.netfort.gr.jp/~kiyoka/predoc/img/img_close.png&quot; height=40 /&gt;
- TzWatch ( Lingr用の時刻表示アプリ )
    &lt;img src=&quot;http://farm4.static.flickr.com/3043/2924809497_52f5ce4524_o.png&quot; height=40 /&gt;
- Oneliner ( Emacs shell mode )
- Cmmi (configure ; make ; make install)
- Sxmlcnv (SXML &lt;-&gt; XML)
- WhatsNewプロジェクト (WebSite 変更箇所表示プログラム)
- Sewnn (Simple eWnn Client)
- Emulin (Javaで記述したLinux Emulator)
 
&lt;h3&gt;ドキュメント
&lt;/h3&gt;- OldType.プレゼン資料.GaucheNight2008
    [img]  [img]  [img]  [img]  [img]  [img]  [img]  [img]  [img] 
- 世界の果てから漢字変換 Sumibiの開発 2006(jus関西での講演資料)
    &lt;img src=&quot;http://farm4.static.flickr.com/3061/2933706649_ff5fa3f707_m.jpg&quot; height=40 /&gt;
- Jcodeを使おう (Kansai.pmでの講演資料)
- perl.TMTOWTDIの謎を探る
    [img] [img] 
- Emacsカスタマイズ入門 (LILO LMSでの講演資料) /『PDF版』
- 軽量ドキュメントフォーマットPredocの紹介(LILO LMSでの講演資料)
 
&lt;h3&gt;日記など
&lt;/h3&gt;- !kiyoka.blog
- kiyoka日記 (古い日記)
- kiyoka at WiLiKi (WiLiKi上に書かせてもらっているページ)
 
&lt;h3&gt;プロフィール
&lt;/h3&gt;- Kiyoka Nishiyama
- email:kiyoka at sumibi.org ( at を @ に読みかえて下さい )
- mixiID: kiyoka
- hatenaID: id:kiyokap
 
&lt;h3&gt;その他
&lt;/h3&gt;- 猫: kiyoka.ささみ
    [img] 
&lt;/pre&gt;</description
><link>http://oldtype.sumibi.org/show-page/kiyoka#24</link
><guid>http://oldtype.sumibi.org/show-page/kiyoka#24</guid
><pubDate>12 Oct 2008 13:30:13 +0000</pubDate
><author>kiyoka</author
></item
><item><title>OldType::オールドタイプのためのWikiシステム。GaucheベースのWikiClone。</title
><description>&lt;pre&gt;オールドタイプのためのWikiシステム。GaucheベースのWikiClone。
UNIXのミニマリズムをWikiに応用したもの。CodeReposで開発中。
 
[img] 
 
&lt;h2&gt;特徴
&lt;/h2&gt;- Subversionでコンテンツを管理する。
- 大量の更新はSubversionで、少量の更新はWebから行う。
- プラグインの開発が簡単に行なえる。
 
&lt;h2&gt;目次
&lt;/h2&gt;- OldType
- OldType.書式
- OldType.書式サンプル
- OldType.開発の経緯
- OldType.デザインメモ
- OldType.アイデア集
- OldType.バッチ処理プラグイン
- OldType.バッチ
- OldType.パーサ
- OldType.Webから更新
- OldType.アカウント管理
- OldType.セットアップ
- OldType.案の検討
- OldType.連携できそうな外部ツール
- OldType.TODO
- OldType.DONE
- OldType.リリースノート
- OldType.プレゼン資料.GaucheNight2008
- oldtype-mode
- oldtype-mode.インストール
- oldtype-mode.基本操作
- oldtype-mode.応用
 
&lt;h2&gt;会議室
&lt;/h2&gt;- OldType.会議室.2008年.1
 
&lt;/pre&gt;</description
><link>http://oldtype.sumibi.org/show-page/OldType#22</link
><guid>http://oldtype.sumibi.org/show-page/OldType#22</guid
><pubDate>17 Nov 2008 11:35:54 +0000</pubDate
><author>kiyoka</author
></item
><item><title>OldType.プレゼン資料.GaucheNight2008::GaucheNight 2008でのライトニングトークのプレゼン資料です。</title
><description>&lt;pre&gt;GaucheNight 2008でのライトニングトークのプレゼン資料です。
2分30秒でこのスライドを使って、残りOldTypeサイトを使ってコンテンツ更新のデモをしました。
当日見れなかった方のために、雰囲気を感じられる様に紙芝居にしてみました。
 
- 表紙
[img]  オールドタイプ向けWikiエンジンを紹介します！
- テーマ
[img]  テーマはこれ
- 定義の確認
[img]  オールドタイプの定義はこれ。こんなイベントに来る人はたぶんみんなオールドタイプだよね。
- これまでのWikiの問題1
[img] 
- これまでのWikiの問題2
[img] 
- オールドタイプの定理を使え
[img]  オールドタイプにはオールドタイプなりの冴えたやり方があるんじゃないか？
- 結論1
[img]  そうだ、バックエンドDBのSubversionを直接編集すればいい
- 結論2
[img]  そして開発したのがこれ。OldType。
- デモ
[img]  それではデモやりまーす。
- 最後に
気にいった人はアカウントを取ろう。
# OldTypeサイト.アカウント申請方法
# OldTypeサイト.Subversionで更新
&lt;/pre&gt;</description
><link>http://oldtype.sumibi.org/show-page/OldType.%e3%83%97%e3%83%ac%e3%82%bc%e3%83%b3%e8%b3%87%e6%96%99.GaucheNight2008</link
><guid>http://oldtype.sumibi.org/show-page/OldType.%e3%83%97%e3%83%ac%e3%82%bc%e3%83%b3%e8%b3%87%e6%96%99.GaucheNight2008</guid
><pubDate>10 Mar 2008 11:52:20 +0000</pubDate
><author>kiyoka</author
></item
><item><title>perl.TMTOWTDIの謎を探る::TMTOWTDIの謎を探る(調査報告：単純さと複雑さの関係とは？)</title
><description>&lt;pre&gt;TMTOWTDIの謎を探る(調査報告：単純さと複雑さの関係とは？)
 
 この資料は、オリジナルは2002/05/10にkiyokaが書いた文章で、OldTypeに移してリンク切れ等をメンテナンスしたものです。
 オリジナル:TMTOWTDIの謎を探る(調査報告：単純さと複雑さの関係とは？)
 kiyokaはこの少し後にPerlに影響を受けた処理系Gaucheと出会い、Gaucheをメインに使っています。
 
&lt;h2&gt;イントロダクション : 調べようと思ったきっかけ
&lt;/h2&gt;-  Perlって他のコンピュータ言語よりもなんか複雑じゃない？
個人的にはC言語よりもスラスラ書けるようになるまでの時間が長かったように思う。
- それは、Perlの言語設計の哲学と関係があるんじゃないか？
そういえば TMTOWTDIと関係がありそうだ。調べるてみるとやっぱり関係ありそうだということになった。
- TMTOWTDIというPerlのスローガンの本質が世間で理解されているんだろうか？
(少なくとも僕は、調べるまで本質を知らなかった。)
- 調べて、自分なりの結果を発表してみよう。
違うと思った方は、つっこみお願いします。
 
&lt;h2&gt;結論 : スローガンTMTOWTDIの本質って？
&lt;/h2&gt;皆さん、TMTOWTDIがThere&#39;s more than one way to do itの略だということは御存知だと思います。「やり方はひとつではない」というスローガンです。
Perlの世界ではcoolとされている哲学をスローガンとして掲げたものです。
 
&lt;h2&gt;シンプルなほうが良いんじゃないの？
&lt;/h2&gt;&lt;h3&gt;Q.でもなぜ？やりかたが少ない方がシンプルで良いんじゃないの？
&lt;/h3&gt;- A.それが違うようなのです。
Perlの設計者のLarry Wallは言語はいろんな対象をシンプルに記述するためには言語をある程度の複雑を持っている必要があると信じています。
次のような文章を見つけました(オープンソースソフトウェアという書籍からの引用です「努力、忍耐、謙遜」の章)
 「我々がよく知っていることだが、現実とは乱雑な状態を指す。実際、人類の
 言語が複雑なのは、それが現実を扱わざるを得ないためである。」
(略)
 「そしてPerlは、それを可能にさせてくれる新しいツールなのである。私が英
 語を使って現実を単純化できるのは、英語が乱雑な言語だからである。英語は
 乱雑だからこそ、我われが現実と呼ぶ、これまた複雑な世界をうまく描写する
 ことができる。同じように、Perlも(できるだけ精密なやり方で) 乱雑になる
 ように設計されている。」
なるほど、スローガンTMTOWTDIの本質はここにあったんですね。
&lt;h2&gt;解説 : 僕なりにかみくだいてみました
&lt;/h2&gt;「さっきの例え話はわかったけど、もうちょっと説明してよ。」という方のために次のようなグラフを作ってみました。
&lt;h3&gt;得意分野を扱った場合
&lt;/h3&gt;まず、それぞれの言語が得意とする分野の問題を記述した場合。これは、言語の設計者が意図した使い方の範囲に収まった問題とも言えるよね？
[img] 
 
この場合、どの言語もたいして複雑にならないということは分かるよね？
だって、それぞれの言語は最初は、ある特定の問題を記述するために設計したはずだから。
 
&lt;h3&gt;現実を扱った場合
&lt;/h3&gt;それぞれの言語が得意かどうかにかかわらず、その言語でいろんな問題を記述しなければならない場合。つまり現実に対処しなければならない場合ね。
これは、言語の設計者が想定していた範囲を大きく超える問題を扱った場合とも言えるね？
例えば、tclやBASICで文字列のパターンマッチングやリスト処理やデータフォーマット変換なんかをやろうと思ったらキツいのは想像できるよね？
でもそれをやらないといけない状況が発生したと仮定すると？
[img] 
 
なんとなく理解していただけましたか？
Perlのコードを日々書いている方は、Perlがどんな問題を扱うにしてもそこそこの許容範囲のコードで解決できることは経験的に知っているはずです。それって cool ですよね？
また、母国語(日本語) ならもっと、扱える範囲が広いことも知っているはずです。身近な例で言うとマイクロソフトなんかは強力な「それは仕様です」というコードを持っていますからね。これは Perlでは書けないですが、母国語ならシンプルに書け、扱う範囲の大きさもかなり広いです。(極端な例かもしれませんが...)
母国語は真の言語だけれどもPerlもなかなか良い線いっているんじゃないかな？
 
&lt;h2&gt;まとめ : TMTOWTDIはカッコいい
&lt;/h2&gt;TMOTOWTDIのスローガンはなんとなくカッコいいと思っていたけど、これでカッコよさの意味がわかってきました。
Rubyにもこの哲学は引きつがれているので、Rubyも同じ考えかたが通用するのはうれしいですね。
TMOTOWTDIはカッコいいんです。自信を持ってカッコ良さを自慢しましょう。
 
&lt;h2&gt;参考資料
&lt;/h2&gt;&lt;h3&gt;書籍等の資料
&lt;/h3&gt;- 書籍名: Perlプログラミング第3刷
 著者:Larry Wall and Randal L. Schwartz
 訳者:近藤嘉雪
-- 「はじめに」iiiから引用
 「そして、ある操作を行なう方法がただ１つだけ存在すべきだと信じるミニマ
 リストにとっては、Perlはまるで悪夢のように冗長で派生的であると感じられ
 るかもしれない。ともかく、UNIXのミニマリズム的なツールボックス哲学の枠
 から大きく踏み出すことによって、Perlは小規模から中規模の仕事に最適なツー
 ルとなり、再びツールボックスにしっくると収まるようになった。Perlは、新
 しいツールを作り出す工具職人の作業台であるということができるだろう。」
(略)
 多くの面で単純である反面、Perlが奥の深い言語であるのもまた事実であり、
 学ぶべきことは山ほどある。Perlの全能力を自分のものにするためにはかなり
 の時間がかかる。」
-- P12から引用
 「いずれにせよ、あなたの好きなように書けばよい。もしあなたがＣ言語に通
 じていて、その上でPerlを学ぼうというのなら、あなたの書き方はシェルスク
 リプトやBASICやRPG IIから入った人とは違っていることだろう。それでいい
 のだ --- 他人があなたと同じ書き方をすると期待してはいけない。Perlには
 *正しい*書き方というものは存在しない。Perlは、多様性に関してきわめて寛
 容な言語である。(Perlのスローガンを思い出そう) --- Perl の世界では、ま
 あまあ読めて、ボスにクビにされないうちに仕事を片づけられるものが*正し
 い*プログラムなのである。」
 
&lt;h3&gt;ネット上の資料
&lt;/h3&gt;- 以下ラリー・ウォールの章「努力、忍耐、謙遜」からの引用
 我々がよく知っていることだが、現実とは乱雑な状態を指す。実際、人類の言
 語が複雑なのは、それが現実を扱わざるを得ないためである。我々はみな、な
 んとかして現実に対処しなければならない。そこで、物事を単純化して考える
 のだが、単純化しすぎることがよくある。コピュータ言語の設計者の多くは、
 言語を単純化しすぎて、この世の複雑なところの面倒をすべてプログラマに押
 し付けている。実は、あなたの脳はPerlをプログラミングするようにできてい
 るのである。私はたったいま英語を使って現実を単純化しようとしているが、
 人は誰でも複雑なことを単純にしたいという強い要求を持っている。そして
 Perlは、それを可能にさせてくれる新しいツールなのである。私が英語を使っ
 て現実を単純化できるのは、英語が乱雑な言語だからである。英語は乱雑だか
 らこそ、我われが現実と呼ぶ、これまた複雑な世界をうまく描写することがで
 きる。同じように、Perlも(できるだけ精密なやり方で)乱雑になるように設計
 されている。 Perlのカルチャーでは、ほとんど何も禁止されていない。この
 世はすでに禁止事項であるれている。
 
- Rubyのまつもとさんのセッションの記録より
(本資料はリンク切れで探しきれませんでした。Wikipediaには、下記のような文章はもうありません。まつもとさんの昔の定義だと思われます)
Ruby哲学
## UNIX主義
## 簡単なことは簡単に、難しいことは可能に
## やり方はいろいろある
 
- 真・コンピュータ用語辞典
以下引用
 てぃむとぅでぃTMTOWTDI
 【法則・真理】There&#39;s More Than One Way To Do It.
  - 「それのやり方は色々ある」と、Perlで使われるスローガン。
  - 多くの場合、この法則を当てはめる事が出来る。が、メーリングリストな
    どで質問はしたものの、「自分の『「期待する回答』が一つだけ、ポコっ
    と出てくる事」を期待して待っている人間にとっては酷な事。
  - つまり、「複数の選択肢からの制約・状態に応じた最善策の判断」を否定
    し、新たな価値観を取り入れる余地も気も無く、伝承に基づいた価値観を
    唯一の拠り所とする事で、自己の存在を保っている人間には、永遠に理解
    できないものであろうもの。
 
- 英語がわかるスクリプト言語『レボル』 | WIRED VISION
以下、上記URLから引用
 Perlの作者、ラリー・ウォール氏は、レボルを、役に立つことを実行する「ま
 た他のやり方」だとみている。「私は、選択肢が多いことはいいことだと言っ
 ている。Perlのスローガンは、それをやるには他のやり方もある、というもの
 だ。レボルが役立つものにはレボルで、Perlが役立つものにはPerl でという
 具合に使われると素晴らしい。どうすれば両者が連係できるか、調べてみたい」
 と言う。
 
- Natural Language Principles in Perl (ja)
Perlの設計哲学が書かれています。さすが言語学者の視点です。
 
&lt;h2&gt;コメントお願いします。
&lt;/h2&gt;[comment]
 
&lt;/pre&gt;</description
><link>http://oldtype.sumibi.org/show-page/perl.TMTOWTDI%e3%81%ae%e8%ac%8e%e3%82%92%e6%8e%a2%e3%82%8b#130</link
><guid>http://oldtype.sumibi.org/show-page/perl.TMTOWTDI%e3%81%ae%e8%ac%8e%e3%82%92%e6%8e%a2%e3%82%8b#130</guid
><pubDate>17 Jul 2008 14:59:57 +0000</pubDate
><author>kiyoka</author
></item
><item><title>!kiyoka.blog::kiyoka日記。OldType、Sumibi.org、日々の出来事など。</title
><description>&lt;pre&gt;kiyoka日記。OldType、Sumibi.org、日々の出来事など。
[img] 
最新10件!kiyoka.blog   過去記事一覧!kiyoka.blog.list
&lt;hr&gt; 
 
&lt;h2&gt;kiyoka.2008_11_18[Life][携帯] iPhone買うのを断念…
&lt;/h2&gt;残念だけど、家族と親戚の同意が得られないので(涙;)
これが、意外とメールの到達時間とかTV電話とか普通の人は非常に重要視するらしい。
でもOldTypeをiPhone対応にしたいので、iPod touchにしようと思っている。
当面はSafariが動けば良いので、これで1年くらいは我慢するのだ。
携帯電話ではヘビーにブログを読むので、N905iμの型落ち品を狙おうかな。(今はN902i)
&lt;img src=&quot;http://www.iphone13.com/images/iphone2.jpg&quot; /&gt;
でも、何かパッとしないなぁ。
 
----&lt; sion &gt;----
もろもろ考えて、それが正解。
と自分に言い聞かせてみる。
----&lt; kiyoka &gt;----
そうですね。ありがとうございます。
1年先延ばしの予定が2年、3年にとかならなければいいのですが...
今はこれが正解。と思っときます ^_^;
----&lt; ほげほげお &gt;----
iPhone 使ってますが、メールがすぐに届かないのは致命的ですし、
IME がフリーズしまくり＆落ちまくるのも致命的。
結局 Docomo のパケ放題も解約できずじまいです…。
----&lt; kiyoka &gt;----
ほげほげおさんのコメントを読むと、iPod touchとdocomoの組み合わせでも悪く無い気がしてきました。凄く参考になります。
ブログリーダの ByLineを使ってブログを読むようにすれば、docomoのパケホーダイも解約できないかなぁと思っています。
ByLineの紹介記事はこちらです。http://iphoneapplication.jp/?p=144
なかなか良さそうです。
comment please =&gt; kiyoka.2008_11_18
&lt;hr&gt; 
 
&lt;h2&gt;kiyoka.2008_11_09[OldType] 関連ページへのリンクをサポート
&lt;/h2&gt;&lt;h3&gt;とりあえず関連ページへのリンクを付けた。
&lt;/h3&gt;他のWikiページからの被リンクを並べてみた。
単順に他のWikiページからの被リンクを並べただけでは、あまり重要でないページが最初に来て使いにくかった。
 
&lt;h3&gt;ページランク
&lt;/h3&gt;どんな見せ方をすると使いやすいのかなと思いつつも、いいアイデアが出なかった。
放置して数日。この本を読んでたら答えが書いてあった。ラッキー。
 &lt;img src=&quot;http://images.amazon.com/images/P/4873113636.09.MZZZZZZZ_.jpg&quot; height=80 /&gt;  ビューティフルコード: Brian Kernighan, Jon Bentley, まつもとゆきひろ, Andy Oram, Greg Wilson, 久野 禎子, 久野 靖
第4章、Tim Brayの『ものの見つけ方』にページランクの話が書いてあった。これだ。
ページランク順にリンクを並べればいいのだよ。
(といっても、ここでのページランクは単に参照数の多いものがページランクが高いという程度の計算なので、Googleが付かっている本当のページランクではない。Wiki程度だとそれで十分機能する)
ページランクの大きいものは大きなフォントで表示しよう。
やったぞ。うまくいった。
 &lt;img src=&quot;http://farm4.static.flickr.com/3135/3014693100_9bf880781b.jpg&quot; /&gt;
この本をこのタイミングで買って読んでいるとは。これがセレンディピティというやつか。
 セレンディピティ - Wikipedia
 セレンディピティ（英: serendipity）とは、何かを探している時に、探して
 いるものとは別の価値あるものを見つける能力・才能を指す言葉である。何か
 を発見したという「現象」ではなく、何かを発見をする「能力」のことを指す。
 （平たく云えば、ふとした偶然をきっかけに、幸運を掴む事。）
 
これで、前から欲しかった『各blogエントリページからblogのトップページ(!kiyoka.blog)へのリンク』も同時にサポートできた。
 
----&lt; とおりすがり &gt;----
Sumibiのアクセス統計のページが403になってます。
----&lt; kiyoka &gt;----
&gt; Sumibiのアクセス統計のページが403になってます。
ありがとうございます。
暇をみて直しておきます。
comment please =&gt; kiyoka.2008_11_09
&lt;hr&gt; 
 
&lt;h2&gt;kiyoka.2008_11_08[Jazz][音楽] ビル・エヴァンスのpianoの音
&lt;/h2&gt;なぜピッチベンド機能の無いpianoで1/4音階が聞こえる気がするのか。
特にビル・エヴァンスのpianoからそんな音が聞こえる。
半音違いの鍵盤を同時に押さえているような気もする。メロディーの途中で、時間にすると一瞬だけどキャリーンという感じで重なるタイミングがある。
クラッシックでいうと、ショパンのpiano曲でも『別れの曲』などでそう聞こえる事がある。ピアニストにもよるのかも知れないけど。
何かの錯覚を利用しているのかな？
このDVDを見ながら、改めて不思議だなあと思った次第。
 &lt;img src=&quot;http://images.amazon.com/images/P/B000JLQQ76.09.MZZZZZZZ_.jpg&quot; /&gt;  Oslo Concerts: Bill Evans Trio
絶対マッコイ・タイナーのピアノからはそんな音は聞こえないものなぁ。
Jazzマニアがいたら理由を教えて欲しい今日このごろです。
 
comment please =&gt; kiyoka.2008_11_08
&lt;hr&gt; 
 
&lt;h2&gt;kiyoka.2008_11_06[OldType][Kahua][RSS] RSS feedの本文をHTML全文配信にした
&lt;/h2&gt;&lt;h3&gt;RSS feedのdescriptionをHTML全文配信に
&lt;/h3&gt;(kiyoka.2008_06_15 RSSのdescritptionを概要配信にするか全文配信にするか論争)で概要配信でとりあえず良いのでは無いかと書いたが、結局全文配信にした。
きっかけはGoogle Readerだった。
最近Google Readerを使い始めたのだが、imgタグも入ったHTMLの全文配信が便利ということがわかった。
 本ブログのRSS feedをGoogleReaderで見た画面
 &lt;img src=&quot;http://farm4.static.flickr.com/3155/2988547409_fe36dfae0b.jpg&quot; /&gt;
調べてみると、はてなダイアリーもHTMLで全文配信していることがわかった。
Geekが使うBlogエンジンはこっちが主流になりつつあるということか。
OldTypeはGeekがターゲットなのでそちらに合わせておいて間違い無いだろう。
 
&lt;h3&gt;KahuaでHTML入りのRSS 2.0を配信するには
&lt;/h3&gt;CDATAでくくる必要があると思っていたが、その必要は無かった。
こんなコードで、RSS 2.0がfeedできる。
 
;; define elements for RSS 2.0
(define-elements channel rss description lastBuildDate docs generator item pubDate author guid atom:link)

;; get-rss entry
(define (gen-rss/ base-url index-page entry-pages)
  (let* ((wikiname       (name-of index-page))
         (entry-pages    (if (null? entry-pages)
                             (list index-page)
                             entry-pages))
         (build-date-utc
          (last
           (sort
            (map
             (lambda (e)
               (utc-of
                (get-latest-log
                 (timeline-of e))))
             entry-pages))))
         (build-date-utc
          (- build-date-utc (* 60 5))))  ;; build date is 5 minutes ago from latest entry
    (rss/ (@/ (version &quot;2.0&quot;)
              (xmlns:atom &quot;http://www.w3.org/2005/Atom&quot;))
          (channel/
           (atom:link/
            (@/ (href (string-append base-url &quot;get-rss/&quot; wikiname))
                (rel  &quot;self&quot;)
                (type &quot;application/rss+xml&quot;)))
           (title/                (string-append wikiname &quot;::&quot; (oldtype-first-line index-page)))
           (link/                 (string-append base-url &quot;show-page/&quot; wikiname))
           (description/          (oldtype-first-line index-page))
           (lastBuildDate/        (oldtype:utc-&gt;RFC822-date-string build-date-utc))
           (docs/                 &quot;http://blogs.law.harvard.edu/tech/rss&quot;)
           (generator/            (string-append &quot;OldType version &quot; *oldtype-version*))
           (map/
            (lambda (e)
              (let* ((timeline (timeline-of e))
                     (lineno   (- (last (get-latest-lines timeline)) 5))
                     (uri      
                      (string-append base-url &quot;show-page/&quot; (uri-encode-string (name-of e))
                                     (if (&lt; 1 lineno)
                                         (string-append &quot;#&quot; (number-&gt;string lineno))
                                         &quot;&quot;))))
                (item/
                 (title/            (string-append (name-of e) &quot;::&quot; (oldtype-first-line e)))
                 (description/
ポイントはココ。
&lt;pre&gt;&lt;/pre&gt;で囲んでHTML化している。
KahuaがRSSを出力する段階では、descriptionの中身はエスケープされているので&lt; &gt;は &amp;lt; &amp;gt;の様に実態参照に変換されるが、Google ReaderやSafariブラウザ、はてなRSSではちゃんとHTMLのタグとして認識される。
                  (string-append
                   &quot;&lt;pre&gt;&quot;
                   (string-join (get-rich-list e) &quot;\n&quot;)
                   &quot;&lt;/pre&gt;&quot;))
                 (link/             uri)
                 (guid/             uri)
                 (pubDate/          (oldtype:utc-&gt;RFC822-date-string
                                     (utc-of
                                      (get-latest-log timeline))))
                 (author/       (committer-of (get-latest-log timeline))))))
            entry-pages)
           ))))


(define-entry (get-rss wikiname)
  (let1 oldtype-page (oldtype:load-page (kahua-site-root) wikiname)
        (when/ oldtype-page
               (gen-rss/ 
                (format &quot;http://~a/&quot; (oldtype:get-arguments &#39;fqdn))
                oldtype-page
                (filter-map
                 (lambda (x)
                   (oldtype:load-page (kahua-site-root) (cdr x)))
                 (get-rss-entry-pages oldtype-page))))))
 
&lt;h3&gt;KahuaでRSS feedにCDATAで括ったHTMLを挿入する方法
&lt;/h3&gt;とはいっても、ココログ等のように、RSSの本文をCDATAで括ってHTMLのタグがエスケープされないように配慮しているサービスも存在する。
理由は不明。昔はこのようにしないとちゃんとHTMLとして認識しないRSSリーダーがあったのかも知れない。
いつか、CDATAにしたい場合があるかも知れないので、一応そのやりかたをメモしておく。
下記の方法はKahua 1.0.7.1で動作したが、将来のKahuaでも動作するとは限らないので注意。
 
# define-elementsで no-escape/ タグを定義しておく
;; define elements for RSS 2.0
(define-elements channel rss description lastBuildDate docs generator item pubDate author guid atom:link no-escape)
 
# no-escape ノードを実装する
 このコードは Khau 1.0.7.1のserver.scmでコメントアウトされていたコード。
 自分のkahua アプリケーションのソースコード上で定義する。
;; Added no-esacpe element to Kahua framework
(define-element no-escape (attrs auxs contents context cont)
  (cont (list (apply make-no-escape-text-element contents))
        context))
ちなみに、no-escapeが一度実装されたが、思いなおしてコメントアウトされた経緯はcut-seaさんのページGaucheFest:cut-seaに情報がある。たぶんコレだと思う。
 
# RSSのdescriptionの箇所をno-escape/ で括ってエスケープされないようにする
                 (description/
                  (no-escape/
                   (string-append
                    &quot;&lt;![CDATA[&lt;pre&gt;&quot;
                    (regexp-replace-all #/\]\]&gt;/ 
                                        (string-join (get-plain-list e) &quot;\n&quot;)
                                        &quot;&quot;)
                    &quot;&lt;/pre&gt;]]&gt;&quot;)))
 
comment please =&gt; kiyoka.2008_11_06
&lt;hr&gt; 
 
&lt;h2&gt;kiyoka.2008_10_25[Life][SF] 世界金融危機とSF小説
&lt;/h2&gt;昔から、SF小説では政治や経済は人類には手に余る問題なのでコンピュータに任せてしまおうという思考実験が行われる。
うまくいくか、いかないかの結論は作家の好みによって様々に分かれるけど、今回のサブプライムローンから始まった金融危機を見ていると、やっぱり人類の頭脳では扱い切れない問題なんじゃないかと思う。
 &lt;img src=&quot;http://www.nikkei.co.jp/news/main/20081024AT3K2400M241020081F.jpg&quot; /&gt;
今は無理だけど、将来はコンピュータに任せてしまう(もしくはかなりの部分サポートしてもらう)方がいいのではないかな。
久々に、そういう小説を読んでみたくなった。
コンピュータが『人類は滅ぶしかない』という結論を出してしまうパターンと、コンピュータと人類がうまく共存している様を絶妙に描写しているパターンの両方読んでみたい。
どんな小説があるか探してみようと思う。
多分これを現実逃避というんだろうけど、個人にできることはあまり無いと思う。
この時期にそういうSFを読むのも一興だろう。
他にも、日経平均ETFを買って値上がりを待って楽しむという方法もあるが、長期間低迷したらそれもしんどいので今回はパスしよう。
 
comment please =&gt; kiyoka.2008_10_25
&lt;hr&gt; 
 
&lt;h2&gt;kiyoka.2008_10_24[Life][育児] 睡眠時間
&lt;/h2&gt;育児をしていると、睡眠時間が少なくなる。
今やっと赤ちゃんが寝た。毎日5時間位しか寝れないのは正直キツイ。
そのせいで、昼間はあまり深い思考ができてない気がする。
いつになったら落ちつくのだろう...
 &lt;img src=&quot;http://farm4.static.flickr.com/3177/2881757622_01b7fe515e_m.jpg&quot; height=80 /&gt;
 
----&lt; shiro &gt;----
3年経っても落ち着きません…
休めるチャンス (親が来てしばらく子供の相手をしてくれてるとか) が少しでもあったら肉体的・精神的に休みを取るのがよろしいです。

----&lt; kiyoka &gt;----
3年経ってもですか...
私の友達連中も、3年経ってもあまり変わず休めないと言ってました。
一番助かるのは、家事を手伝ってくれるとかよりも子供の相手をしてくれることですよねぇ。
育児をやって初めてそれがわかりました。


comment please =&gt; kiyoka.2008_10_24
&lt;hr&gt; 
 
&lt;h2&gt;kiyoka.2008_10_17[音楽] 私が初めて買ったCD
&lt;/h2&gt;最近音楽DVDを買いあさっているけど、思えば好みは変わってないなーと気が付いた。
高校生の時、初めて買ったCDは多分これ。いまだに聴いている。
 &lt;img src=&quot;http://images.amazon.com/images/P/B000002GKZ.09.MZZZZZZZ_.jpg&quot; /&gt;  Nothing Like the Sun: Sting
もう20年弱も経っているのか。その後もStingのファンで有り続けている。
他にもこんなCDを買ったなぁ。
 &lt;img src=&quot;http://images.amazon.com/images/P/B000000WH4.09.MZZZZZZZ_.jpg&quot; height=80 /&gt;  Porcelain: Julia Fordham
 &lt;img src=&quot;http://images.amazon.com/images/P/B000050XNS.09.MZZZZZZZ_.jpg&quot; height=80 /&gt;  Love Deluxe: Sade
うわー、どれも今でも聞いているCDだ。
音楽の好みってあんまり変わっていかないものなんだね。
 
そういえば、Jazzが好きになった最初のキッカケもStingだった。
またそのうちJazzの話も書きます。
 
comment please =&gt; kiyoka.2008_10_17
&lt;hr&gt; 
 
&lt;h2&gt;kiyoka.2008_10_16[オープンソース] オープンソースソフトウェアの布教活動もライブが基本？
&lt;/h2&gt;ミュージシャンの活動とOSSの布教活動の共通点に気がついた。
OSSを黙々と作っても、なかなか使ってもらえない。
その前にまず認知されるまでが大変。そこでライブの必要性が出てくる。
ミュージシャンがライブで新曲を披露するのと同じ。
OSS開発者もLightning Talk等のチャンスを使ってプレゼンする必要があるし、効果は非常に大きい。
実際に私も、Lightning Talk等をやった直後に実際にユーザが増えるということが過去に何度もあった。
 
この本に同様の事が書いてある。OSSでは無いが顧客とISVのギャップを埋めるという部分だ。
この本では、小さなISVは雑誌に広告を出すより展示会に出展すべきという話が書いてあるので参考になる。
 &lt;img src=&quot;http://images.amazon.com/images/P/4798117501.09.MZZZZZZZ_.jpg&quot; /&gt;  Eric Sink on the Business of Software 革新的ソフトウェア企業の作り方
 
インターネットの時代になって、情報が洪水の様に人々に押し寄せる様になった。
要するに、昔よりも人々のアテンションを得ることが難しくなっているということだと思う。
ライブはそのアテンションを得る一番有力な手段だと思う。
最近、Lightning Talkやってないなーと自戒を込めて。
 
comment please =&gt; kiyoka.2008_10_16
&lt;hr&gt; 
 
&lt;h2&gt;kiyoka.2008_10_15[OldType][tDiary] tDiaryのデータをOldTypeに変換した(4)
&lt;/h2&gt;2007年分の記事もOldTypeに登録完了。これで全てのブログ記事をOldTypeに移行できた。
過去の日記 kiyoka日記はいつ閉じてもいい状態になった。
実際に過去記事を一件一件、目で確認して手なおししていくと、量の多さに驚く。(今日までで 493エントリもある)
毎日コツコツ続けるとすごい量になるんだなあと実感した。
Rubyのまつもとさんの『1日1ハックが目標』が達成できたら本当にかなりのことができるんだろうなと思う。時間的にできないけど。
それができる環境にある人は、その時間を大切に使ってください。
 
 
comment please =&gt; kiyoka.2008_10_15
&lt;hr&gt; 
 
&lt;h2&gt;kiyoka.2008_10_12[OldType][tDiary] tDiaryのデータをOldTypeに変換した(3)
&lt;/h2&gt;変換したもののうち2006年分の記事をOldTypeに登録完了。残すは2007年分が未登録。
!kiyoka.blog.listの表示形式も変更して月刊の過去ログにもたどれる様にした。
 &lt;img src=&quot;http://farm4.static.flickr.com/3189/2931972710_b6f5f49d19_o.png&quot; /&gt;
やっぱりサムネイルのおかげで全体的にかっこよく見える気がする。
デザイン力がない場合はサムネイルに頼るのが楽なのだ。
 
comment please =&gt; kiyoka.2008_10_12
 
&lt;/pre&gt;</description
><link>http://oldtype.sumibi.org/show-page/%21kiyoka.blog#14</link
><guid>http://oldtype.sumibi.org/show-page/%21kiyoka.blog#14</guid
><pubDate>21 Nov 2008 15:23:22 +0000</pubDate
><author>oldtype</author
></item
><item><title>kiyoka.ささみ::* kiyokaん家のネコ</title
><description>&lt;pre&gt;&lt;h2&gt;kiyokaん家のネコ
&lt;/h2&gt;『ささみ』といいます。よろしく。
sasami - a photoset on Flickrで公開している写真を使っています。
 
- テレビを見るささみ
 &lt;img src=&quot;http://farm2.static.flickr.com/1238/610865447_e31d8776c6_m.jpg&quot; /&gt;
 
- まどろみ状態のささみ
 &lt;img src=&quot;http://farm2.static.flickr.com/1168/610887659_06fbb0281c_m.jpg&quot; /&gt;
 
- 予防接種をした日のささみ。ぐったり。
 &lt;img src=&quot;http://farm2.static.flickr.com/1056/611327692_609fb4724d_m.jpg&quot; /&gt;
 
- あおむけで寝るささみ。ぼんやり。
 &lt;img src=&quot;http://farm2.static.flickr.com/1247/611376524_90d45e1083_m.jpg&quot; /&gt;
 
- ブラッシングしてもらうささみ。 
 &lt;img src=&quot;http://farm2.static.flickr.com/1394/610881747_5b318ed06a_m.jpg&quot; /&gt;
 
- 手のアップ
 &lt;img src=&quot;http://farm2.static.flickr.com/1143/611361336_4b586bcce4_m.jpg&quot; /&gt;
&lt;/pre&gt;</description
><link>http://oldtype.sumibi.org/show-page/kiyoka.%e3%81%95%e3%81%95%e3%81%bf</link
><guid>http://oldtype.sumibi.org/show-page/kiyoka.%e3%81%95%e3%81%95%e3%81%bf</guid
><pubDate>24 Sep 2008 11:29:48 +0000</pubDate
><author>kiyoka</author
></item
></channel
></rss
>