Tags: 日記

日記
携帯端末対応Edit

携帯端末用のhomeを追加。ishinao.netのhomeにアクセスすると、主だった携帯電話系機種を自動判別(hnsで使っている条件判断を流用)して転送をかけるようにした。hnsはもともと携帯端末プラグイン(i-system)に対応しているんで、せっかくだからそれを活かすことができるようにということで。あと、せっかくだからi-systemからもhnsbbs2の読み書きができるようにしてみようかな。あんまり利用者がいるとも思えないから、優先順位は思いっきり低めだけど。

Published At2002-01-31 00:00Updated At2002-01-31 00:00

日記
セコワルEdit

EUCで「詳細」と出力した結果をシフトJISで見ると、半角カナで「セワコル」と表示されるのがどうしても「セコワル」に読めてしまい、そんな表示が縦に100件も並んでいるのを見ると、何となく「おまえはセコい!」「おまえが悪い!」と責められているような気になったりしませんか? なったりはしません。←自己完結

Published At2002-01-31 00:00Updated At2002-01-31 00:00

日記
セルフブラクラEdit

LIRS形式(いろんなwebページのURL、更新時刻などが列挙されている)のファイルをエディタでいじっているときに、何気なく「すべて選択」(CTRL+A)→「コピー」(CTRL+C)をした。Donut Rのクリップボード監視機能をオンにしていたのをすっかり忘れていた。数100ページ分のURLがどかどかと開かれ、Donut Rが落ちた。

Published At2002-01-31 00:00Updated At2002-01-31 00:00

日記
phplibを入れてみたEdit

このサーバーはphpが使えるんだけど、パッケージ系レンタルサーバーの常で入っているバージョンが古い。今さらphp3を使わなければならない。php3なんてこのサーバーを借りてから初めて使ったんだけど、php4に慣れた(ってほど使ってないけど)身にはあまりにも機能が少なくてきつい。標準的だと思っていた関数がないし(foreachすらない)、セッション関連の関数なんかもきれいさっぱりない。

で、そういやphp3の頃には高機能な外部ライブラリを使ってそういうのを実現する方法があったような気が……、と思って探してみたらphplibってのがあったんで入れてみた。おお、ちゃんとセッションが使えるようになったよ。

でもこれって、dbを使ってセッション情報を管理するのか。ただでさえ、textmaniaを直接dbにアクセスする方式にしちゃったんで、db負荷が気になるところなのに。セッション管理なんかでいちいちdbアクセスを発生させちゃう価値はあるんだろうか。セッション管理なしでできることしかやらない方針にした方がいいかな。

Published At2002-01-31 00:00Updated At2002-01-31 00:00

日記
新バイオノートSRX7E/PEdit

年末に買ったバイオノートSRX7の後継機種SRX7E/Pが早くも発表された。でも、噂通り基本スペックはほとんど変わらず。インテルが超省電力タイプの新しいCPUを作らない限りは、根本的に変えることはできないもんな。

で、スペック表から変更されたところをチェックすると、一番大きいのはメモリが標準で256Mバイトになったところ。しかし、オンボード256Mバイトではなく、オンボード128Mバイト+増設128Mバイトってあたりがさいてー。と言っても、うちとまったく同じ構成なんだけれど、ユーザーから128M+256Mにするという選択肢を奪っちゃダメじゃん。いくら純正で256Mバイトメモリを用意していないからってさ。

あと、OSは最上位の7だけがXP Professionalになった。これはまあ俺にとってはどうでもいい話だけれども、企業ユーザーなんかがバイオを選ばない理由が一つ減ってよろしいんじゃないでしょうか。でもまあ、企業ユーザーならばThinkPadでも買っておいた方がいい気がするけど。

Bluetoothのバージョンも特に変わってはいないみたいだね。Bluetooth PHS 633Sに対応したとか発表されてたけど、別に俺の旧機種だって普通に対応しているし。ハードウェア的にはBluetooth 1.1でひとまず安定にこぎ着けたみたいだから、あとはWindows XPが標準でBluetoothサポートするようになったり、買う気になるようなBluetooth対応PDAが出たりするのを待てばいいか。

そういや、さりげなく変更されている部分として、HDDのフォーマットがFAT32からNTFSに変わっている。バイオノートみたいなものが標準フォーマットとしてNTFSを採用するようになるってことは、Windows系では今後ようやくNTFSが標準フォーマット化されるってことかな? ほかのOSを入れたい人には迷惑な話かもしれないけど。

Published At2002-01-31 00:00Updated At2002-01-31 00:00

日記
実体参照になっているかわからん文字列を実体参照にするEdit

教えて、正規表現のえらい人! いや、正規表現の普通の人でも答えられるのかもしれないけど。

えっと、cgiからhtmlとして出力したい文字列があるとするじゃないですか。で、その文字列は&とか>とか<とかが実体参照で表現されているかどうかがわからないわけですよ。で、ちゃんと実体参照で表現されている場合はそのまま、実体参照で表現されていない場合は実体参照に置換したいわけですね。その条件判断は、正規表現を使ってどう書けばいいんでしょうね? 一部を日本語で書けば、

  • “&”で始まる文字列のうち「/&(amp|lt|gt|#[0-9A-Fa-f]+);/」という表現にマッチしないものがある
  • 「/<|>|"/」にマッチする文字列がある

の二つの条件のどちらかを満たすものがあった場合は実体参照置換をかける、って感じだと思うんだけど、それをうまく一つの条件式に書けないんだよなー。考えれば考えるほど、正規表現ってよくわからない。

Published At2002-01-30 00:00Updated At2002-01-30 00:00

日記
今日は早く帰るEdit

今日はオクサンが飲み会なんで、俺はムスコを保育園に迎えに行くために、早めに帰らないといけないんだよー。ってことで、帰ろう。

Published At2002-01-30 00:00Updated At2002-01-30 00:00

日記
ムスコ バージョンアップ記録 Ver.1.07Edit

  • 相変わらず基本的に「ママ」「マンマ」「ワンワン」レベルの音声出力しかできない。最近唯一増えた語彙は「いないいないばー」。しかし使い道を間違えて覚えており、絵本を読んでいるときに、ページをめくりながら「いないいないばー」と発声する。
  • 人が言っていることの意味はわからないままに、「うん」「いやいや」と首を振る。最初のうちは何にでも「いやいや」と答えるように設定されていたが、「いやいや」と答えるよりは「うん」と答えた方が、いいことが多いと気がついたのか、ちょっと前から何にでも「うん」と答えるように設定が変更された。しかし、それはそれでときどきまずいことがあるとも気づいたらしく、最近では再び基本設定が「いやいや」となった。ただ、乏しい判断能力ですら何かいいことがあると判断できた場合(=目の前に食べ物があるとき)は、「うん」と答える確率が高い。
  • まだバージョン1.07程度のくせに、サスペンド開始時間は0時過ぎとなるのが珍しくない。下手すると2時過ぎまでサスペンドに入らない。レジューム時刻は8時半に設定されているのだが、最近夜中の4時5時に一時的にサスペンドから復帰したり、朝6時には起動してしまったりする。夜は9時頃から朝8時頃までの安定したサスペンド希望。
  • 水分廃棄処理時に、所定の場所に廃棄することに成功することが少しずつ増えてきた。しかし、所定の場所への固形物廃棄処理に成功したことは、まだない。
  • さいたまの水が体に合わないのか最近肌が荒れており、新品だった頃の接触インターフェースのなめらかさは失われつつある。
  • 以上バージョン1.07における主な更新内容でした。

Published At2002-01-30 00:00Updated At2002-01-30 00:00

日記
自作日記スクリプトを振り返ってみるEdit

web日記を書き始めたのは1997年2月のことだったらしい。それからしばらくの間は、テキストエディタで手打ちもしくはホームページビルダーの昔のバージョンで静的HTMLを作っては、FTPでアップロードしていた。

最初のweb日記管理システムを作ったのは、2000年になってからだったらしい。これは動的HTML生成するシステムではなかった。web上の管理画面から日記本文を投稿すると、それを適当にHTMLタグで修飾しつつ、最新HTMLの上部と月ごとの過去ログHTMLの下部に挿入し、さらに目次HTMLを更新する仕組み。更新処理にだけcgiを使うもの。各記事の前後にはユニークID付きヘッダ&フッタをつけてあったんで、一応特定の記事削除・更新とかの処理もできたんだけど、あんまり良くできた管理ツールじゃなかったんで、複雑な編集処理はいったんHTMLをダウンロードして、手で直してから再アップロードしていた。

それじゃ管理の手間が大変だと思って、2000年後半に作ったのが、2代目web日記管理システム(これはまだ一部機能が細々と動いている)。これはやたらと高機能を目指して作ったんだけど、データ管理部分(dbmを複数使ってdbっぽく管理していた)がタコだったため、いまいちパフォーマンスが悪く、途中で機能拡張をあきらめた。でも、動的HTML生成にも静的HTML生成にも対応していたし、管理や検索(パフォーマンスが悪かったんで一般には非公開)もいろいろできた。特にその頃の仕様で捨てがたいのが、「出版システム」。ある特定の検索条件で選択された記事を、設定したテンプレートHTMLを元に、設定したファイル命名規則に則って、静的HTMLとして出力する仕組み。これは便利だった。

で、その2代目web日記管理システムで最初に、日記と連動するbbsを作ってみた。bbs部分はとてもできが悪い自作の2ch type bbs(これも一部残骸がまだ残っている)だったんだけど、各日記記事に「この日記にコメントする」リンクを用意し、そこからbbsに投稿した場合は日記システムとbbsとが相互に連携するようにしていた。ただし、連携といってもお互いに直接対応する記事/スレッドにリンクが張られるレベル。

そして3代目web日記管理システム。今big-netサーバーで動いている日記とかで使っているもの。これは、日記とbbsの連携をより密にしようということで、いわゆるtDiaryなんかの「ツッコミ機能」っぽく、日記とbbs投稿が同時に表示されるようにした。ただし、静的HTML出力した側ではbbs側の本文までは表示していない。

ちなみに、3代目web日記管理システムではバックエンドのデータ管理にPostgreSQLを使っている。といってもbig-netはそんなサービスは用意していないので、家サーバーでPostgreSQLを動かし、そのデータをhttp経由でbig-netに渡して使うという仕組み。なんで、家サーバーが落ちているときは更新ができなかったりする。家のネット環境がSo-net ADSL 8M with Fujitsu Modemになってからは、家サーバー(っつーか回線)の信頼性が低くなったせいで、いろいろ不便になった。

で、本当はこのサーバーに引っ越してからは、4代目にMySQLとばりばり連動して動くweb日記管理システムを作ろうと思っていたんだけど、なかなか制作に取りかかれなかった。一つのweb日記システムで、非常にさまざまなコンテンツを同時に扱えるような、柔軟なデータフォーマットが思いつかなかったからだ。

で、そんなときにほかのweb日記システムをいろいろ見て回ったところ、hnshnfにちょっと感動した。複数のtextフィールドの意味づけを状況に応じて変えて使い回すことでなんとかしよう(でも仕様制定も運用も面倒くさそう)という方向に凝り固まっていた俺には、hnfのような一つのフィールド(本文)+シンプルなコマンドルールでいろいろなコンテンツが実現可能な仕組みは思いつけなかった。

hnf的なアプローチは、俺が最近考えている「マンマシンインターフェースにおいて、ある程度以上に複雑で流動的な要素は、コンピュータではなく人間に吸収させた方が効率が良い」 という思想に合致している(のに、なぜ自力で思いつけなかったのか……。視野狭窄を起こしていたんだろうな)。

一瞬、hnfの思想をぱくって自作システムに組み込もうかとも思ったけれども、すでにここまで完成しているhnsと似たような仕組みを自前で作り直すのはバカらしい気がしたので、結局4代目開発計画は破棄し、hnsを使うことにした。まだたいした日数使っているわけではないけれども、hnsの機能・性能・使い勝手は十分に気に入っているんで、サーバー環境などの事情で使えなくなったりしない限りは、今後も使い続けるつもり。

といった話の中で、ウムイ「ツッコミ日記システムが流行ってる?」に絡めた話も書こうと思っていたんだけど、無駄に話が長くなっちゃったし、この記事に混ぜると論点が拡散しそうなんで、そっちについては後で別項目で書こう。

Published At2002-01-29 00:00Updated At2002-01-29 00:00

日記
ウムイ「ツッコミ日記システムが流行ってる?」Edit

ということで同時期に似たような仕組みを実装した理由を考えてみるとテキストサイト論的な考察になるんじゃないかと思ったんだけど、うちで実装した理由は、やっぱり読者からの要望だった。

私の場合は、日記ページ中にbbs(ツッコミ)の本文まで埋め込まれるようにしたのは、去年の後半の話だったんで、本当の意味では同時期に実装したわけではないんだけど、ひとまずそれはおいておくとして……。

ひとまず結論を先にいう。「ツッコミ日記システムに最大の影響を与えた存在は2ちゃんねるである 」説を唱えておこう。

動的web日記システムの前身となるのは、web掲示板(bbs)システムだろう。cgiスクリプトとしての基本的な機能はほとんど同じだ。初期の動的web日記システムとしては、bbsシステムを流用したものが少なくなかった。今でもbbs用のcgiスクリプトをそのままweb日記システム的に使っている人は珍しくない。

最近ではそうでもないだろうが、一昔前はbbsといえば、minibbsだった。時系列逆順にベタに書き込みを並べていくだけのシンプルなbbs。ひとまずあれを設置し、カスタマイズし、web掲示板cgiの基本を身につけた人は少なくないだろう。

しかし、minibbsのようなシンプルなbbsにはいくつかの欠点がある。複数の話題が並立した場合、どの書き込みがどの話題に関するものなのかがわかりにくい。また、ある程度以上話の流れが早いとログが流されてしまうため、ページを切り替えて続きを読んだり、あるいは最悪読んでいないログが消えてしまったりすることもある。

そこで、スクリプト書きは考える。「俺ならもっと使いやすくて高機能なbbsが作れる」と。

さまざまな人がさまざまな高機能型bbsスクリプトを書いた。私も、非常な複雑怪奇な内部仕様&シンプルな外部仕様を持つツリー構造型bbsを某所で作ってみた。それなりに使いやすいものから、非常に高機能だが高機能すぎて使いにくいものまで、いろんなbbsが作られた(今でも作られているだろう)。

しかし、スクリプト書きの高機能への志向とは裏腹に、一般ユーザーは高機能を求めなかった。それは古くはぁゃιぃのminibbs系、そしてあめぞう、2ちゃんねるのマルチスレッドフロート型bbs。階層構造などで話の流れ情報を管理する高機能なbbsよりも、シンプルに時系列で記事を並べるbbsの方をユーザーは支持したのだ(あめぞうや2ちゃんねるも、それぞれのスレッド自体は非常にシンプルな単機能bbs)。

そして、現在もっとも利用者が多い2ちゃんねるの形式が、現状においてもっともユーザーが支持するbbsの仕組みだということになる。2ちゃんねるの形式というのは、1にそのスレッドの主旨が書かれてあり、1の下にさまざまなコメント(レス)がつく形式。そしてヘッドラインとして、複数のスレッドの1+最近のコメントいくつかがまとめて表示される形式。これはまさしく、ツッコミ機能付きweb日記システムと同一の構造を持っている。

つまり、web日記システムにおけるツッコミ機能というものは、2ちゃんねる的な仕組みをユーザーが支持し、そういう現実からのフィードバックをスクリプト書きが反映し、という、とてもまっとうな機能拡張の流れを受けて、流行りつつあるのではないかと、まあそういう論旨なわけですけれども、なんかもう文章が長すぎてまじめにまとめるのがいやになっちゃったよ。

ちなみに、高機能型bbsの末裔としては、セガ伝言板とかスラッシュドット ジャパンとかが今でも残っているけれども、なんでこれらのbbsがいまだに高機能方向で残っているのかというと、そこに集まるのがある種のマニア なんで、高機能bbsの敷居の高さがさほど苦にならないからなんじゃないかなー、などとも思ったりするわけですよ。あと、bbs系の話題を出したならば一応触れておいた方がいいのかなと思われるYahoo!掲示板ですけど、なんであんなに使いにくい掲示板にあれだけのユーザーがいるのかというと、それはYahoo!だからってだけのことでしょうね。俺はあんな使いにくい掲示板は絶対使う気になれないな。

Published At2002-01-29 00:00Updated At2002-01-29 00:00