> 結城浩の日記 > 2004年4月 | 検索 |
プロフィール | 日記一覧 | 日記ダイジェスト | Twitter | RSS |
|
はちこさんの 『バウンダリーズ』の本文の翻訳が終わった模様。お疲れ様です! この働きが主に用いられますように!
そういえば 映画『パッション』が明日から公開になる。 この映画が、人間の思惑を超え、 広く・深くイエスさまに用いられますように!
私もどこかで家内と一緒に見る予定。
tDiaryの作者、ただただしさんによる、拙著『結城浩のWiki入門』への書評が出ました。 いつもていねいな文章をありがとうございます。
たださんが書いていらっしゃることはおおむね的を射ていると私も思っていますが、 この機会に私自身の整理を兼ねて少しお返事してみることにします。
まず言えることは、『WikiWay』を読んだ人は必ずしも読む必要のある本ではない。
そうですね。私もそう思います。 『Wiki Way』を読んでもう十分分かった方、 Webを見て、Wikiってどんなもの?というイメージがはっきりつかめた方、 あるいはWebの情報だけでさくさくインストールして試せる方には必要がないかもしれません。
『WikiWay』の厚さに挫折しちゃった人が再チャレンジしたり、 職場やグループにWikiを広めたいと思っている人が布教のために使うのにはうってつけ。
ええ、これは大きな意味を持つと思っています。 特に、Webにアンテナを張っていない人に対するWikiの認知度を上げるために。
そのため、
「結城のWiki本一冊とWindowsマシンがあれば、Wikiを実際に自分のパソコンで試してみることができる」
という一点が非常に重要だと結城は判断しました。 インストールの解説に紙面を使ったのもそのためですね。 確かにあのインストールの説明を不要とする読者も多いでしょうが、 あのインストールがあるゆえに知ってくださる読者というのも、 とても重要な層だと思っています。 あの部分がないと「オハナシ」ばかりになってしまう危険性も高いです。
ところで、聞くところによると、 拙著が出てからWiki Wayのほうの売れ行きも伸びているそうで、 結城のWiki本を読んで、 もっといろいろ知りたいと感じた読者さんもいらっしゃるのかもしれません。 その話を聞いて、私はとてもうれしくなりました。
一方、Wikiエンジンはツールの表層的な使い方は単純だが、 応用範囲が広いから、目に見えないノウハウがすごく多い。 ... もうちょっと運用寄りに振った本が出せたんじゃないかなー
なるほど。
確かに、そういうチョイスは可能でした。
でも、世界で二冊目のWikiの本(^_^)
では、
そこまでやるのはやりすぎだ、と結城は判断しました。
つまり、薄くてさらさらと読めて、 Wikiのことがまずは大枠わかってもらえる。 オハナシだけではなく実際に試せる。 どんなものなのか実感してもらえる。 仲間にWikiのことを説明するときの材料として使ってもらえる…。 私はそういう本を出したかったのですね。
拙著を通して、まずは「Wikiというもの」を知っていただき、 BitChannelでも、 FreeStyleWikiでも、 MobWikiでも、 PukiWikiでも、 WalWikiでも、 YukiWikiでもよいので、 自分で試し、気に入ったツールを導入してもらえたらよいなあ、 と思っています。
Wikiの「運用寄りに振った本」は、また、別の本になるのでしょう…。
きっとどなたかがPukiWikiを題材にして、
いま書いているのではないかしらん…(根拠はありませんが(^_^;
)。
というか、そういう本も出てきてほしいな、と思います。
前回の暗号本のときも、 ただただしさんにはすばらしい書評を書いていただき、 著者として本当に光栄です (すばらしいというのは、ほめてくれるという意味ではなく、 本の本質をきちんと読み込んで評してくださるという意味です)。
今後ともよろしくお願いいたします。
この日記へのリファラを見ていて、 はてなアンテナからの捕捉が非常に多いことをいまさらながら知る。
みなさま、捕捉&ご愛読ありがとうございます。
先ほどはプライベートアンテナも含めてリンクしていましたが、 読者から上記の「結城浩の日記を含む公開アンテナ」のリンク方法を教えていただいたので、入れ替えました。 アドバイス感謝します!
tDiaryのスタイルシートをお借りして、
tDiaryサンプラー版声のかけら。
を作ってみました。
ページの頭にある「スタイルシート選択」のところでスタイルシートが選べます。
tDiaryのスタイルシートのバリエーションが体験できます。
でも…声のかけら。はtDiaryのスタイルシートに最適化しているわけではないので、
あちこちレイアウトがくずれます。
スタイルシートの作者さん、ごめんなさいっ! (>_<)
声のかけら。の次には、Wikiの、 という話を書こうとしたところで、 次男から「ごほん読んで」と言われたので中断。
(一時間後)
『おやすみなさいフランシス』と『マザー・グース』を読んだところで次男はおねんね。
ええと、さっき何を書こうとしたんだっけ。
声のかけら。の次には、Wikiのほうの整備もしたいけれど、 編集長からいわれている本を書かなければ。
というところで、 yomoyomoさんからメールが来て、 UNIX MAGAZINEの2004年5月号にYukiWikiの話題が出ているという情報をいただきました。 山口英さんの記事だそうです。 情報感謝します。 私は本屋さんで読む機会はあるだろうか。
spamフィルタの準備として、
とりあえずprocmailの整備をしてみようかと思ったが、
これがバッドノウハウのかたまり…。 (^_^;
まずは、procmailのスクリプトを自動生成するグッドラッパーを…。
って、どんどん話がメタ化している。
まあいいや、今晩はだらだらしよっと。
おや、気がつくともう木曜日だ。ぜんぜん日記を更新していなかった。
最近spamが尋常じゃない量に増えてしまっている。 ちょっとメールを取りに行くのをさぼると、 すさまじい量がサーバにたまってしまう。 POPFileはすばらしい成果を上げていて、 選別そのものにはまったく困らないのだが。
現状を整理してみる。
改善案のようなものいろいろ。
やはり、まずはサーバ側に良質のspamフィルタを入れるのが重要かな。 Red Hatで動く、 設置が簡単で良質のspamフィルタはあるでしょうか。 と教えてクン状態。
今月は、 ほぼ毎日のように「声のかけら。」というCGIをリリースしてきました。 「毎日アップデートされるから、いつダウンロードしたらいいかわからないよ!」 というお便りもいただきました。ごめんなさいね。
現在入れたい機能はほぼ入ったので、0.9.0としてリリースいたします。
致命的なバグがなければ、しばらくリリースすることはありません。
ぜひダウンロードしてお試しください。
連休中にCGIで遊ぶ人 (^_^;
はぜひ。
次回のリリースは5月末を予定しています。 そのときまでに見つかったバグやお送りいただいたご意見を元に、 1.0版としてまとめたいと思っています。
声のかけら。は、先月末ninjinさんのRandomNoteに触発されて作り始め、 1ヶ月ほどでこんなに成長しました。 ninjinさん、 サイトに書き込んでくださったみなさん、 毎日のアップデートにめげず、 ものすごい速度で追従して「髭のはえぎわ。」を作り、 フィードバックを送ってくださったharo(髭)さん、 本当にありがとうございます。
たとえば、ダウンロードしたものを、 無料ホームページAAA!CAFEに設置してみました。
おはようございます。
今日もみなさんの上に、神さまの祝福が豊かにありますように。
(^_^)
編集者さんから 「Wiki入門、これから書棚に並ぶ本屋さんもあるみたいですよ」 という情報と共に「bk1で4位、書泉グランデで19位ですよ〜」 というお知らせをいただきました。
応援してくださるみなさんに感謝します。Wiki Wayともども、 Wikiを多くの人に理解していただく一助となればうれしいです。
長男「お父さん、問題出して!」
結城「科学では、自然界の法則について「仮説」を立ててそれを「検証」するという方法が使われている。」
長男「ふんふん。」
結城「ではその「検証」を行うために、科学者は何をする?」
長男「うーんとね。「実験」!」
結城「すごいっ! よくわかったね。」
長男「へへー(得意げ)。」
結城「そう。科学者は自分の仮説が正しいかどうかを実験で検証しようとする。でもね、実験によって仮説が「正しい」ことは証明できない。「間違っている」ことは証明できる。」
長男「どうして? 待って…(考える)…そうだね。」
結城「そう。」
長男「でも、その実験の範囲では正しいということはいえるよねえ。」
結城「確かに。でも、法則っていうものはある程度の一般性が大事なんだ。ある場所のある時間でしか成り立たないというのは、法則としてはあまり便利じゃない。」
長男「ふうむ。」
結城「実験というのはその性質上、ある場所のある時間で行うしかない。だから、仮説が「正しい」ことは言えない。」
長男「ふうん。可能性が無限にあるからだね。」
結城「その通り。一般的な法則が正しいことを、少ない事実だけで証明することはできない(もちろん、蓋然性は増す)。」
CGIを使うと、URLに、
http://www.example.com/kakera/?20040420070958
のように'?'が含まれることが多い。 すると「いかにもCGIです」という感じがするし、 検索エンジン最適化(SEO)としてもよくない(らしい)。
そこで、
http://www.example.com/kakera/20040420070958.html
というHTML風のURLで、
http://www.example.com/kakera/?20040420070958
へアクセスできるようにしたい。次の手順でできる。
(1) 自分のApacheでmod_rewriteが使えるようにする
自分で設定できる人は、httpd.confを次のように修正する。
#LoadModule rewrite_module modules/mod_rewrite.so
↓
LoadModule rewrite_module modules/mod_rewrite.so
(2) .htaccessを書く
Options ExecCGI FollowSymLinks AddType application/x-httpd-cgi .cgi DirectoryIndex index.cgi RewriteEngine on RewriteRule ^([0-9]+)\.html$ ?$1
以下、 Googleで探して参考にしたページ。
先日のこと。
玄関先に詰まれた生協の食材。我が家の食べ物、数日分になる。
私は次男に声をかける。「ねえ、冷蔵庫まで運ぶの、手伝ってくれるかなあ」
「おてつだい」や「じぶんでできるもん」が最近の最大関心事である4歳の次男は、嬉々として手伝ってくれる。 自分の体ほどもある大きな発泡スチロールのケースを両腕を伸ばしてかかえ、よたよたしながらも運んでくれるのだ。 中には牛乳や、冷凍食品や、野菜・果物が詰まっている。
次男「よいしょ、よいしょ」
結城「ありがとう。とっても助かるよ」
次男「よいしょ、よいしょ」
結城「重いのに、よく持てるねえ」
次男「よいしょ、よいしょ。かみさまが、ちからをくださったから」
私と家内は、次男のこの言葉 —— かみさまが、ちからをくださったから —— に心打たれて、思わず顔を見合わせる。
結城「そ、そうだねえ。神さまが、あなたに力をくださったんだよねえ」
私たちは生きている。
まがりなりにも、よろよろしながらも、生きている。 誤解されたり、自分の考えたようにはできなかったりするけれど、生きている。
神さまは私たちを愛しておられる。 イエスさまを賜ったほどに、私たちを愛しておられる。
今日、生きる力を、私たちに与えてくださる。 神さまは、私たちに、必要な力をすべて与えてくださる。
よいしょ、よいしょ。
かみさまが、ちからをくださったから…。
声のかけら。に最近流行のベイジアンな機能(?)はつかないかな、 と思いながら、Algorithm::NaiveBayesの練習をする。 bulknewsの ベイジアンなRSS Aggregatorをちらちらと読んでから、 Algorithm::NaiveBayesをダウンロード。それからINSTALLの指示に従って10分ほどでインストール完了。
perldoc Algorithm::NaiveBayes を読んで、サンプルコードを書いてみる。 こういうときの表示にData::Dumperは手軽で便利。
use strict; use Algorithm::NaiveBayes; use Data::Dumper; my $pool = Algorithm::NaiveBayes->new; $pool->add_instance( attributes => { money => 3, offer => 2, special => 2, selected => 1, }, label => 'spam', ); $pool->add_instance( attributes => { perl => 10, strict => 1, print => 4, eval => 3, }, label => 'work', ); $pool->train; my $result = $pool->predict( attributes => { perl => 1, money => 1 } ); print Dumper($result);
すると、次のように表示される。
$VAR1 = { 'spam' => '0.692617134051451', 'work' => '0.721305417710386' };
ふむふむ。なるほど、なるほど。
別にこれを使って 声のかけら。のスパム書き込みを見つけたいわけではないです。 かけらのカテゴリ分けをしたい、 あるいは「おとなりかけら」を見つけたいわけですね。
おはようございます。
今日も神さまの祝福がみなさんの上に豊かにありますように。
(にっこり)
Jcode::Unicodeを使おうとしてエラーになるという件は、Jcodeの問題ではなく、 CGI::Carpが古かったという問題のようでした。 情報をお寄せくださったみなさんに感謝します。
sub ineval { $^S }
は、最新版では
sub ineval { $^S || _longmess() =~ /eval [\{\']/m }
になっていました。 このように修正したら解決しました。
RSS 1.0形式のデータをHTTPで送るときのContent-typeは?という結城の質問に対して、さっそくコメントをいただきました。 荒川さん、北村さん、たださん、ありがとうございます。 いただいた情報を元に、結城が理解した範囲で整理します。 情報提供者とは違う意見も書いており、以下の文責は結城にあります。
一般的なXML文書であることがわかる。
普通のユーザが読める。
ただし、
Content-type: text/xml;
のようにcharsetを明記しないと、US-ASCIIとみなされる(根拠: RFC3023)。
(ふうむ)
一般的なXML文書であることがわかる。
文書がRSSであることが明確になる。 正式なMIME typeとしては登録されていない。 text/xmlやapplication/xmlにしか対応していないUser Agentでは理解されない。 (当然か) Internet Explorer, Mozillaは未対応らしい。
文書がXMLで書かれたメタデータであることが明確になる。 RFC3023に登場するが、以下のように 「RDFに対応するcontent typeは登録されていないのでそれまで使うべきじゃない」 と書かれている。
RDF documents identified using this MIME type are XML documents whose content describes metadata, as defined by [RDF]. As a format based on XML, RDF documents SHOULD use the '+xml' suffix convention in their MIME content-type identifier. However, no content type has yet been registered for RDF and so this media type should not be used until such registration has been completed.
参考リンク
結城なりの結論:
みなさん情報感謝します。
で、結局「声のかけら。」ではどうしたかというと、
HTMLのRSS autodiscoveryのところには、 application/rss+xml と書いて、実際のRSSを配信するときには application/xml としたのでした。
ところで、Googleで調べてもうまく分からなかったので、 どなたか詳しい方、以下を教えていただけませんか(教えてクン状態…(^_^;)。 できればその根拠となるWebサイトなども。
質問1
RSS 1.0形式のデータをHTTPで送るときのContent-typeって…
質問2
Jcode (0.83)について。
JcodeのドキュメントやJcode.pmのコードそのものを読んでみると、
XSが使えないときには自動的にJcode::Unicode::NoXSが使われるようなのですが、
結城のサーバではどうしても、Jcode::Unicodeを使おうとしてしまう(そしてエラーになる)のです。
現在は、Jcode.pmの中で強制的に $NOXS = 1;
にするという愚かな対処法を行っています。
どなたか原因/対策をご存知の方は情報をお願いします。
Jcode.pmのload_moduleという関数はこうなっています。 sub load_module{ my $pkg = shift; return $pkg if $PKG_LOADED{$pkg}++; unless ($NOXS){ eval qq( require $pkg; ); unless ($@){ carp "$pkg loaded." if $DEBUG; return $pkg; } } $pkg .= "::NoXS"; eval qq( require $pkg; ); unless ($@){ carp "$pkg loaded" if $DEBUG; }else{ croak "Loading $pkg failed!"; } $pkg; } load_moduleは次のようにして使われます。 sub ucs2{ load_module("Jcode::Unicode"); euc_ucs2(${$_[0]->[0]}); }
Jcode::Unicodeをrequireしようとして失敗したらJcode::Unicode::NoXSをrequireしに行こうとする。
結城のサーバにはJcode/Unicode.pmは存在せず、Jcode/Unicode/NoXS.pmは存在する。
$NOXSが0のとき、utf8の変換を行おうとすると、Jcode::Unicodeがロードできないというエラーになる。(これが解せない)
$NOXSが1のとき、utf8の変換を行おうとすると、正しく実行できる。
もちろん、Perl 5.8でEncodeモジュールを使うのがより正しい解決法なのでしょうけれど。
加筆は進む。 プログラムも直さなくては。 今週中はつらいかな。
lilyや変なもの(Wema)を作ったkanさんのblogを見ていたら、
「はてなアンテナへ追加する」というリンクを見つけたので、
私の日記にもつけてみることにした。
http://a.hatena.ne.jp/append?https://www.hyuki.com/diary/
でできるらしい。
はてなユーザがこのリンクをクリックすると、
(確認をとった上で)
ユーザのアンテナに結城の日記が登録されることになる。
声のかけら。にRSS機能を入れた。RSSのautodiscoveryにも対応。 いくつかのRSSリーダで呼んでみて、それなりに動いていることを確認した。 声のかけら。ユーザからもRSSリーダで読めました/読めません情報をいただく。 ありがとうございます。
ある方が使っていたRabbit Tickerというツールが面白かった。 ウインドウからはみでたうさぎのキャラクタがちょっとかわいい。 RSSの情報を電光掲示板みたいに流して表示してくれるツール。
最近、時間が流れるのが速いような気がします。
連載原稿は無事メール。感謝。
編集長から(笑)がついた催促メールが来ているので、がんばって仕事せねば。ぼちぼちと加筆をしたり、プログラムを見直したり。今週中くらいにはまとめよう。
それはさておき、声のかけら。をリファクタリング。 Yuki::Kakeraというモジュールを作り、声のかけら。の大半のコードをそちらに移動する。 つまり「かけらエンジン」ですね。 そのようにすると、1つのYuki::Kakeraという1つのモジュールを複数のCGIから利用することができる。 たとえばこの間試しに作ったクローバー版声のかけら。も同じモジュールを利用できるかも。 それから「かけらエンジン」を利用した簡易blogツールもできるかも。 書き込みを制限する必要がありますけれどね。 次回のリリースくらいから、HTML::TemplateとJcodeの両方をバンドルすることにしてみよう。 Perlで書くのは楽しい。
ところで、 ディレクトリ構成まで含めてリファクタリングすると、 CVSがあまり役に立たなくなってしまうのは何とかならないものでしょうか。 ええ、もちろん、CVSのリポジトリをぐいっと移動させちゃうという荒業は理解できているのですが、 それをやってしまうと、今度は過去のディレクトリ構成に戻せないわけですよね。 この機会にSubversionsの練習をするか?
というわけで「かけらエンジン」Yuki::Kakera+HTML::Template+Jcodeというパターンをまとめてリリース。 例によってまだまだどんどん変わりますので、利用する方はそのおつもりで。
がんばって連載原稿を書いております。
『結城浩のWiki入門』は、先週のbk1のコンピュータ部門週間ランキングでは7位だったようです。 ていねいなコメントやフィードバックを送ってくださる 読者さんも何人かいらして、ほんとうに感謝です。
「もっと技術的に突っ込んだ内容を書いてほしかった」というご意見もある一方で、 「バランスよく書かれていて技術的なことが苦手な自分にもよく分かった」という意見もありました。 それから「個人的なメモ代わりに長いことWikiを使っています」という情報もけっこう多くいただきました。 とてもうれしかったのは「自分はもうWikiのことはよく分かっているけれど、 まだピンと来ていない上司にWikiを紹介する道具としてこの本は良いですね」という意見です。 なるほど。
私は、これからもいろんなトーンを持った本にチャレンジしていきたいです。 そのためには、 多くの人からいただくフィードバック(甘口のものも、辛口のものも)は とても大事なものだと思っています。 今後ともよろしくお願いいたします(ぺこり)。
復活祭おめでとうございます。
人質となった3人の無事をお祈りします。
昨日は出版社のインプレスさん主催による『結城浩のWiki入門』の出版打ち上げがあり、 おいしいお食事をごちそうになりました。ありがとうございます。 ごちそうもさることながら、興味深いお話をたくさんお聞きできたのがうれしかったです。 ところで、クーリエフォントの話であれだけ盛り上がるとは思いませんでした…。
日記を更新していないのは、忙しいからでございます。ばた。
思わずほほえんでしまうほど可愛らしい猫が忙しさのあまりふらふら歩いてからバタと倒れるアスキーアートがここに入る(省略)。
先日の「Wikiばな」でご主人と共にお会いしたサナイさんから、 拙著『結城浩のWiki入門』の感想をいただきましたので、 許可を得てご紹介。
結城さんこんにちは。 今、『結城浩のWiki入門』を読んでいるところです。 コンピュータ音痴の私でもわかりやすくて とっても嬉しいです。 ありがとうございます(^^)!! 前回の「Wikiばなタイム」には、Wikiのことを全く知らないのに 無理矢理参加させていただいたのです。 (皆さんとお会いしてみたいという理由で……) で、話の内容は分からないまま、何となく「場」の雰囲気を 楽しんでいたのですけれど。(実際楽しかったのですけれど。) 本を読んで、あそこで語られていたことがようやく チラホラと分かりかけてきました。 「うーん、Wikiって、そしてWikiばなタイムって、とっても おもしろかったのね〜。今まで知らなかったのが、もったいない!」 と思うようになりました。 結城さんの本のおかげです。
感想をお寄せくださり、ありがとうございます。
Wikiについておしゃべりしよう、という「Wikiばな」については、 freedomcatのshinoさんが「Wikiばなソコダネット」というサイトを立ち上げていますので、 そちらへどうぞ。
Wikiといえば先日、ふと通りかかったサイトで 「場所の離れた旧友たちとのコミュニケーションの場としてWikiを使う」 という話題を見つけました。 BBSでもなく、ブログでもなく、Wikiなのだそうです。
この方はFreeStyleWikiを使っていらっしゃるらしいです。
長男「お父さん、何か問題出して!」
結城「じゃあね…、円の定義は?」
長男「ある点があって、その点から同じ距離にある点の集合。」
結城「はい、正解です。あ、いや、厳密にはちょっと違うけれどね。」
家内「え、どうして?」
結城「厳密には、「平面上にあって」という条件が必要になる。」
家内「そうか、球でもいいわけだものね。」
結城「あの…それが次の問題だったんですけれど。」
家内「あら。」
結城「まあいいや。それでは。空間の中にある点があって、その点から一定の距離未満にある点の集合って何でしょうか。」
長男「ええ? うーん、球の…なんていうの? 内側?」
結城「球の内部、かな。じゃあ今度は別の問題。楕円って知ってる?」
長男「うん、知っている。」
結城「楕円の定義は知ってるっけ?」
長男「知らない。」
結城「平面上に二つの点があって、その二つの点からの距離の和が一定である点の集合。」
長男「ふーん。」
結城「この二つの点のことを焦点という。焦点。」
長男「しょうてん。焦げる点、って書くんでしょ。」
結城「そう。笑点ではないよ。チャンチャチャ、チャチャチャチャンチャン♪」
長男「チャンチャチャ、チャチャチャチャンチャン♪」
結城「いま、大きな楕円の形に壁ができているとする。焦点の1つに人が立って耳をすます。もう1つの焦点で別の人がささやくと…。」
長男「どうなるの?」
結城「ささやき声なのに相手に聞こえる。」
長男「ふうん。」
声のかけら。というツールを作っている。
テンプレート(HTML::Template)でHTMLの骨格をカスタマイズし、 スタイルシートでデザインをカスタマイズできるようにしてある。 ロジックを作っているCGIは変更する必要がほとんどない。 テンプレートのディレクトリを指定するだけ。
せっかくそんな風にカスタマイズが容易なように作ったので、 既存の有名なデザインを利用した「別デザインの声のかけら。」を作ってみたくなった。 となったら、まず試してみたくなるのが、豊富なtDiaryのテーマですね。
ギャラリーに並んだテーマをずっと見て、 やはり代表的な一品として、ただただしさんの'clover'を選んでみました。
2時間ほどで作った「クローバー版、声のかけら。」です。ご覧ください。 あちこちちょっと変なのは、結城の合わせこみがまだ甘いからです。ご容赦。
もちろん、書き込まれたデータは共有していますので、 これまでの「声のかけら。」からでも、「クローバー版、声のかけら。」からでも、 自由に書けます。
Enjoy!
次は「はちみつ版、声のかけら。」かな(冗談)。
『結城浩のWiki入門』の「前書き」と「目次」と「第一章」の内容をPDFで「立ち読み」できます。 第一章の内容は「すべて」読めます。 書籍の内容の雰囲気がつかめると思いますので、ぜひご覧くださり、 ご購入の判断材料にしてください。
bk1.jp(bk1.co.jpではなくbk1.jpのほう)では、 書籍ページでトラックバックを受け付けている。 『結城浩のWiki入門』のページを見てみると、 私がwww.textfile.orgから送ったトラックバック以外に、 2つのトラックバックが増えていた。
声のかけら。のスクリプトをダウンロードできるようにしました。
HTML::Templateを使っています。 DB_Fileを使っています。 ドキュメント整備されていません。 今後どんどん変わる可能性あります。 …ということで、まあ、ご参考にどうぞ。
RandomNoteに触発されて作り始めた声のかけら。ですが、 声のかけら。はRandomNoteと方向性がだいぶ変わってきたように思います。
ところで、声のかけら。はさておき、 RandomNote(Ruby)のPerl版をどなたか作らないかなあ... RandomNoteは便利だからPerl版を作ると受けると思うのだけれど。
そういえば、 ブログツールのblosxom(Perl)のRuby版として、 lilyというのができていることを知りました。
blosxomでMakeWebの記法が使えるのは(私にとっては)とてもうれしい。 ところで現在の問題点は…。
blosxomでは1エントリが1ファイルになっている。 私はこれをたくさんのエントリを1ファイルにしたい。 なぜなら、upftpでファイルをftpするときに新規ファイル数が多いと面倒だから。
解決案1: upftpを改造して、ローカルな特定ディレクトリ以下のtxtファイルをすべて転送する。 でもこれはあまりやりたくない。公開したくないtxtファイルをうっかり転送してしまう危険性があるから。
解決案2: 1ファイルの中の適当な区切り記号でエントリを仮想的に分割して、 blosxomに対してあたかも複数のファイルが存在するかのように見せる。
解決案3: 1ファイルの中の適当な区切り記号でエントリを実際に分割して、 複数ファイルに自動的に分割する。 blosxomのプラグインを作ってサーバ上で行う方法(3-a)と、 ローカルに分割する方法(3-b)の二つが考えられる。
…と書いてくると、わたしがほしいのは3-aのようですね。
(A), (B)はすでに私は持っているし、 (D)は昨日つくったので、あとは(C)を作れればOKかな。 礼拝から帰ってきて、お昼寝した後に考えてみようかな。
まだblosxomについてはよくわかっていないけれど、 インストールしていじってみている。 テキストで書けばよいといっても、結城は現在MakeWebで日記を書くのに慣れている。 そこで、MakeWebをblosxomのプラグインに書き換えてみようと思った。 一時間ほどで完成。MakeWebのスクリプト(makeweb.pl)に対する修正点は、以下の3箇所。
1. はじめの部分に、以下を挿入。
#################################### # Search for 'blosxom' to find out changes. # # <insert-for-blosxom> # Blosxom Plugin: makeweb # Author: Hiroshi Yuki <hyuki@hyuki.com> # Version: 2004-04-03 (v0.0) # License: Same as Perl package makeweb; # </insert-for-blosxom> ####################################
2. mainを呼び出してexitするところをコメントアウト。
#################################### # <delete-for-blosxom> # # &main; # # exit(0); # # </delete-for-blosxom> ####################################
3. それからプラグインのインタフェース部分。
#################################### # <insert-for-blosxom> sub start { 1; } sub story { my ($pkg, $path, $filename, $story_ref, $title_ref, $body_ref) = @_; my @input = map { "$_\n" } split(/\n/, $$body_ref); my $out = &do_lines(undef, @input); $$body_ref = $out; 1; } # </insert-for-blosxom> ####################################
RandomNoteに触発されて先日から作っている「声のかけら。」もずいぶん変わりました。 個々の「かけら」(書き込んだトピック)に色が付くようになりました。 色がつくとずいぶん印象が変わるものだと思いました。
『結城浩のWiki入門』を出版していただいたから書くわけではありませんが、 iNTERNET magazineの2004年5月号はとても興味深い。
「最新Blogツールをセットアップ」ではblosxom 2.0のセットアップが特集されている。 Movable Type, Nucleas, tDiaryもあるけれど、とりあえず私はblosxomを読む。 tDiaryといえば、ただただしさんのネクタイにはtというマークがついているらしい(冗談)。
それに、検索エンジン最適化(SEO)を診断するという連載では、 アマゾンとbk1のSEO対策の落差が分かりやすく書かれていた。 本当にすごい落差がある。 たとえば芥川賞の『蹴りたい背中』をグーグルで検索するとする。 第1位はもちろんアマゾン。bk1は30位にも入らない。 『蹴りたい背中』だけではなく、 『バカの壁』『蛇にピアス』『萌える英単語』 すべてでアマゾンが1位、bk1は30位にも入らないという。 bk1では、クッキーを利用できないuser agentを拒否してしまうが、 Googlebotくんも拒否しているらしい(!)。
…と、ここまで書いてきて、 アマゾンのアフィリエイトリンクでiNTERNET magazineにリンクしようと思ったら、見つからない。 アマゾンでiNTERNET magazineって買えないの?
今年はいろいろありましてエイプリルフール企画はできませんでした。 でも、せっかくですからあと40分間だけ、 エイプリルフールのwww.hyuki.comトップページ。
BitChannelの作者、 青木峰郎さんが日記で拙著『結城浩のWiki入門』に対してていねいなレビューを書いてくださったのでご紹介します。 ありがとうございます。
ninjinさんのRandomNoteで遊んでいるうちに、 自分もCGIを作ってみたくなって「声のかけら。」を作りました。 使い方(?)などはおいおい書きますが、 とりあえずはいろいろと遊べます。
すきま時間で簡単に「使い方」を書きました。 制作メモも。
あなたのご意見・感想をお送りください。 あなたの一言が大きなはげみとなりますので、どんなことでもどうぞ。