未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

宴会君の思い出

YLUG (横浜Linux Users Group)ができたのが、1999年1月で、カーネル読書会の記念すべき第一回は同年4月28日だ。

http://www.ylug.jp/modules/pukiwiki/index.php?history

当時、宴会の参加登録受付はメーリングリストでやっていて、幹事が出した案内に参加したい人がリプライを出す、その時、自分の名前をリストの最後につけたす、という極めて素朴な方法というかアルゴリズムでやっていた。下記の例参照。

宴会のおしらせ
  日時:吉日
  場所:どっかの居酒屋

参加希望者は下記に自分の名前を書いてください。
1 よしおか(幹事)
2 linus
3 rms
4 ほげほげ
5 参加希望者は名前を付けくわえてください。

まあ、参加者の10人とかぐらいだと、これはこれで全然かまわないのだけど、当時は常時接続とか定額(低額)のインターネット環境とかあんまりなかったので、主にダイアルアップでピーヒャラしていたので、番号がかぶることが多々あった。たとえば先の例では5番を複数の人がゲットしようとして、メーリングリストに前後して、同じ番号を違う人がリストに加えて、コリジョンが発生することがあった。*1

その場合は、メーリングリストに後から書いた人が整列しなおしたリストを再度流すというアルゴリズムで対処していた。典型的な楽観的直列化である。厳密な直列化の実装だと、クリティカルリージョンには一人しかはいれないようにすればいいので、実世界では例えば、幹事にメールでしらせて、幹事が番号をふるというのがあるが、それだと不必要に幹事に負荷がかかってしまい、たかが宴会の幹事にそこまでやらせるというのはバザール的ではないということで、このいい加減なアルゴリズムで一年以上宴会とかカーネル読書会の調整をしていた。

誰かが、これって典型的な駝鳥(ダチョウ)アルゴリズムだよねと言って、そうだよね、宴会なんて毎日あるわけではないし、別にコリジョンおこってもたいして問題ないし、それを厳密に解決しようとしたら、すげーコストかかるし、放置でいいじゃね、ということで駝鳥アルゴリズムという言葉も覚えたし、皆それぞれハッピーな感じであった。

なかなか牧歌的な時代であった。

開けて2000年。世間では2000年問題ということで、世の中ITバブルのまっさかりで、大晦日も正月もないという人がYLUGにも少なからずいたりした。2000年の新年会をやろうということになり、上記の駝鳥アルゴリズムで出欠をとっていたのだが、そのころはそこそこメーリングリストの購読者も増え、新年会の参加者も20人を越えることになった。そうすると、さすがに新年会の参加登録のメールがあふれかえって、若干、そろそろ考えないといけないよね的な空気がただよってきた。その時、一人の若者が参加者登録システムのちに宴会君という名前で呼ばれるシステムを作るよ宣言をした。で、5月23日にhttp://utage.org/enkaiがデビューし、それはさっそく、第7回カーネル読書会の登録に利用された。それが松田さんが作ってくれた宴会君なのである。

その飲み会というかカーネル読書会はTLUG (東京Linux Users Group)と合同でやることになって、参加者も50人を越え、大規模宴会になったのだが、その後ろに松田さんが作ってくれた宴会君が提供した参加者登録インフラの機能をわすれてはならないと思う。ちょっと大袈裟だけどね。

8年前は参加者登録を手作業でやっていて、それを自動化した宴会君があって、その宴会君のおかげで幹事の作業コストがぐぐっと下って、宴会の調整や勉強会の参加者調整コストがほぼゼロになったというのは、今から思うと、たかがそんなことと思うかもしれないけれど、そーゆー地道な改良が、目に見えないことかもしれないけれど、幹事にとっては大変助かっているということをあらためて再確認したいと思った次第である。

宴会君は、誰でも自由に使っていいよというスタンスでYLUGだけではなく、いろいろなイベントの参加者登録システムとして今でも利用されている。カーネル読書会あるいはYLUGの宴会を出発点としていたということは、われわれとしても幾許かの誇りというか、そーゆーものを感じたりする。

勉強会はいろいろな人の知恵と工夫と汗によってささえられているのである。

*1:10年くらいまえだからまだADSLとか光とか全然一般的ではなかったのだ