思ったより早かったですね。これで安心して冷蔵庫の中の蒟蒻畑を消費できますwwww
どうも、記録によると SuikaWiki の歴史が始まったのは2002年2月2日のようです。*1 ということは、まもなく SuikaWiki は7周年を迎えます。
単なる自画自賛ですが、変化の激しいこの Web の世界で、7年間もずっとこうして存在し続けられているのは、すばらしいことだと思います。スクリプトを作るのに協力してくださった方々や、記事を書いてくださった方々に感謝せずにはいられません。
今月の初めに数えた時点では SuikaWiki の頁数は 13000 を超えていました。 13000 といわれてもすごいのかすごくないのかわからないので、 7 × 12 × 30 で割ってみたら、答えは 5 でした。つまり、 SuikaWiki の頁数は1日5頁ずつ増えていっているということです。もちろんその5頁には、たいして中身のない頁だとか、もっといえば spam だけの頁なんかも含まれているわけですけれども、でも、5頁ずつ増えていっているだけではなくて、既存の頁が更新されたりもしているのですから、やっぱりすごい。自画自賛ですが。
既存の頁が更新といいましたが、もちろんすべての頁が更新されているわけではなく、ずっと前に書かれたきり、ずっとそのままになっている頁もあったりします。その理由は、既に十分な内容があるからだったり、忘れ去られたからだったり、飽きたからだったり、いろいろでしょうが、理由はともあれ、古い記事を見つけると埋蔵文化財でも発掘したような嬉しい気持ちになります。電子メイル関係の記事が古いやつの宝庫みたいですね。
今まで見つけた中では、2002年6月更新になっているのが、更新日 (頁の最後に書いてあります。) 付きの記事では一番古いみたいです。ただし、すごく昔の記事は更新日が記録されていません。いつから更新日がつくようになったのかはよく調べないとわかりませんが、おそらく2002年6月くらいでしょうね。だから更新日がない記事を見つけるというのは旧石器を発掘するようなもんでしょう。*2 ちなみに、 SuikaWiki の記事は CVS で保存しているので、更新日が最近であっても昔の記事のソースを見ることもできます。でも一番古いのでも2002年7月くらいみたいです。ちょっと残念です。
犬にも猫にも鼠にも虫にも変身できるスーパー動物(謎)アニーたんと家に帰る・・・という夢を見ました。
机、というかちゃぶ台、というかテーブル、というかなんというのか知りませんが、それの脚の付け根? がなんかすこし曲がって上の台が斜めってきてることに気付きました。
いつも上にひじとかついて体重掛けた状態でニコニコ動画とか見てるせいでしょうかねw
買い物に行ったとき、1円玉を出そうとして、うっかり間違えて5豪セント硬貨*1 を出してしまいましたorz 色が同じでサイズも近いんで、一瞬わかんなかったんですがw*2 ちなみに題名の500ウォンは今 35 円くらいみたいです。こっちも安くなりましたねw
携帯電話に C メールで架空請求が来ました。携帯を持つようになってもう長いですが、はじめてこういうのがきました。とってもうれしいです。
そういえば、カードキャプターさくらの最終回あたりの話の展開って全然覚えていません。前に再放送で見たときも、その前に見たときの最後あたりの記憶が全然ありませんでした。これは偶然とは思えません!!!11! 何か不思議な力が働いているに違いありません。きっと最終回には見てはいけない何かが含まれていて、それを覚えていられると困る方々が記憶を消していったんでしょう。
7分間に CSS 2.0の特性名を何個書けるか? このシリーズは意外と難しい。全部で122あるうち、38個も書けませんでした。時間より記憶力が。*1
もう5年以上経ってしまったと思うのですが (!)、 SuikaWiki*1 に新しく追加した機能の1つに「名前空間」がありました。プログラミング言語や XML などでしばしば耳にする「名前空間」ですが、 SuikaWiki では、頁を識別する文字列である WikiName の階層化を意味していました。それまでの SuikaWiki では頁にはそれぞれ「愛」や「名前」といった WikiName が与えられていたのですが*2 、名前空間に対応した SuikaWiki では、「XML//名前」、「XML//空白」、「HTML//空白」といったように、「//」で区切ることによって階層構造を持った WikiName を使うことができるようになりました。 SuikaWiki では頁の内容を記述する際に「[[単語]]」のように括弧を使って括ることで他の頁へのリンクを作成できましたが、「XML//名前」という頁で「[[..//空白]]」と書くと「XML//空白」へのリンクになる、という相対参照の仕組みも導入されました*3 。
この名前空間の機能は、当時の先進的な wiki engine のいくつかが既に似たような形で実装していました*4 し、名前空間がない wiki engine を使っていても、「WikiNews」や「HTMLの仕様書」のように頁の名前の一部を名前空間的 convention を定めて用いていることが多いようだったので、その導入は必然であるかのように思えました。
ところが、 SuikaWiki における名前空間は思ったほどうまく働きませんでした。その大きな理由は文化的なものと技術的なもの、2つを挙げることができると考えられます。
まず文化的なものというのは、 SuikaWiki のごっちゃにカオス的編集方針との親和性です。 SuikaWiki には Web 関連、電子メイル関連、ローカル・ネタ、アニメ関連、暦関連など、色々な分野の話題が明確な境界なしに混在しており、むしろそれが好ましいと考えています*5 。ところが、名前空間が提供する機能はこの理念と正反対のことを実現するためのものです。名前空間ごとに記事を整理してしまっては、混在によるカオス感が減っていってしまいます。
もう1つの技術的なというのは、こういうのを「技術的」というのかは知りませんが、名前空間の導入によって WikiName がキーワードからファイル名へと変質していったことに問題があります。例えば「HTML//注釈」から「XML//注釈」へリンクしたいとすると、「[[XML//注釈]]」のように「//」が含まれる WikiName を書かないといけません。あるいは、「HTML」から「HTML//注釈」へリンクするには「.//注釈」と書かないといけません。*6 そもそもの wiki が持っていた、キーワードが簡単にリンクなって、ファイル名のようなものを覚えておく or 調べる必要がない、という特徴がこれでは失われてしまいます。リンクはハイパーテキスト・システムとしての wiki の根幹ですから、この手軽さは決して捨ててはならないものですが、名前空間はそれを危うくしました。
更に、名前空間は様々な実装上の複雑さをもたらしました。 WikiName は元々は単純な文字列だったのですが、名前空間区切子「//」を導入したことによって、色々な処理の前に構成部品毎にばらすか、予めばらしておいて文字列の配列で保持しておくか、いずれにせよ処理が圧倒的に多くなりました。また、 WikiName 全体が「//」な場合や WikiName が「//」で始まる場合や WikiName が「//」で終わる場合、といったように、それまで不要だった例外処理が必要になりました。「//」を含む WikiName を作れなくなったので、「http://suika.fam.cx/」という名前の WikiName を作れなくなりました (「http:」に属する「suika.fam.cx/」でよければ作れますが)*7 。何らかの escape 構文を導入してそれを可能にしようと検討したこともありましたが、それ以上の複雑化は避けるべきだと判断し、断念しました。また、 WikiName はファイル・システム上の記事データベースのファイル名としても (多少の変換は行っていますが) 使っていました。*8 そのため、名前空間の構造の変化に応じたディレクトリの作成・消去や CVS を使った履歴管理機能におけるディレクトリ内の再帰的な処理などの場面で、ディレクトリの階層構造が存在することによる処理の複雑化が起こっていました。その複雑化がバグの温床ともなることは言うまでもありません。このように、名前空間は害こそあれ、有益性をもたらすことはありませんでした。
最近寒いですね。なんか風邪ひいてる人沢山いますね。気をつけないとですね。。。
なんか知らない人に、俺昔同じクラスだったよ、といわれました。そういわれるとそうかも。そんな夢を見ました。
最近マリオカート Wii 実況がニコニコによくあがってるんですが、やばいですね、欲しくなりますね。 Wii もってないけど。あとアイマスも欲しい。 X 箱もってないけど。やっぱ実況やばい。思う壺だwwww
なんかまた Atom フィードの生成に失敗してます。
この日記システム、設計が古くて杜撰なうえにつぎはぎなんで、何かあってもいじりにくいんですよね。。。いじるとむしろ壊しそうで。。。
そろそろ再設計して作り直さないと駄目かなー。
この日記システムはある電子メイル・アドレスにメイルを送ると、その本文が記事になるという仕組みになってます。メイルが鯖に届くと、 Postfix が設定に従ってプログラムを起動して、ごにょごにょして更に別のプログラムで・・・なんてことをやってます。この辺の設計がてきとーかつつぎはぎでよくない。どこかで問題が起こっても、それがどこでどういう問題が発生したのか、記録がどこにも残らないのでさっぱりわからない。困ったことです。
ところで、全然話は変わりますが、たまに、デバッガーになにを使っているか、と聞かれることがあります。そういう時は決まって、「print デバッグさいこー」と答えます。 print とか printf とか document.write とか alert とか WScript.Echo とか MsgBox とかその辺があれば、大抵の問題はそっこーで解決しますよね。*1
何がいいたいかというと、こうやって内容のない記事を書きながらデバッグしているということです。
どう考えても、プログラムを直すのに必要な時間より、この無駄な記事を書くのに必要な時間の方が多いです。無駄ですねwwwwww
ちなみに、結局原因は必要なモジュールを require するのを忘れていたというごくごく単純だけどありがちなミスだったのですけれども、なんで今まで動いていたのかが謎ですね。たぶんどこかで間接的に呼ばれていたのがなにかの弾みwで呼ばれなくなったんでしょうけど。。。