順番抜かしをする人々

日本各地でかなり蔓延している順番抜かし。身近なところでは電車のホームでの順番抜かしが非常に多い。やり方は簡単で、列に割り込まずに列を新規作成するだけ。2列で並んでいる人が数人いた場合も3列目を作成して1番を獲得するという寸法。
このような行動を採る心理は以下のような具合か。

  1. 大前提、順番を抜かしたい。(我さえ良ければ根性)
  2. 割り込むと非難されるという予感がある。
  3. 割り込むと罪悪感を感じる。

普通は2や3のような感情から1の気持ちを抑えそうなものだけれど、どうも列を作成する行為は「割り込んでいない」とか「順番抜かしではない」といった理由付けが暗黙に働いているようだ。だから、実行者は至極当然といった顔付きだ。もう一つ付け加えると、この3列目や4列目を作成する人たちはオリジナルの列の人より先になろうとすることがほとんど。電車で言えば、到着する扉の位置に合わせて一目散に駆け寄ってオリジナルの列に並んでいた人よりも先に乗車する。
こういった光景を(毎日)見ているといつもネタかと思う。「そこの4列目の人、一人だけ立ってて不自然ですからwww」とか思ってしまう。
反論はいくらでも出来そう(込み合っている中で列を長くすると邪魔だとか、オリジナルの列を作った人の立ち位置がおかしいから正しい場所に並んだとか)だけれど、結果的に入る順番が狂えば順番抜かしになっているという事実は正直に認識したほうが良いと思う。あまりにも列を作成する人が多すぎる。
いや、気付いていない訳がないか。実際は、自分が先で当然とか思っているだけなんだろうな。悲しいことだ。

IEのアラートを2つ表示する

IEではJavaScriptのアラートを2つ同時に出せる。かなり嫌味なやり方なので実用度はゼロだけど。サンプルは以下のコードで。

<html>
<head>
<style type="text/css">
#out { border:2px solid #F0F; width:400px; height:400px; }
#in { border:2px solid #00F; width:200px; height:200px; }
</style>
</head>
<body>
<div id="out" onmouseout="alert('onmouseout')">
<div id="in" onmouseover="alert('onmouseover')">&nbsp;</div>
</div>
</body>
</html>

サンプルなのでValidなHTMLでない点はご了承を。青の四角にマウスが乗ると、内側のdivのonmouseoverと外側のdivのonmouseoutがタイミング良くアラートを連続であげる。
アラートなどのダイアログ系は完全にブラウザのスレッドを独占するものだと思っていたけれど、そうでもないみたい。やってみた範囲ではこのような挙動はIE6SP2のみで、FirefoxOperaNetscapeではアラートが2つ出ることはない。

「Wikiは時間のムダだ」は言い過ぎ

Wikiは時間のムダだ
すごい発言。彼はWikiを誰も使わないからと非難して最後にメーリングリストを勧めている。では、MLとWikiで比較してみるとそれ程Wikiより優れているのか。
検索はどちらも可能。通常のWikiはテキストでデータ管理しているので、容量が大きくなるとレスポンスではGMailなどを使ったMLの方が有利かもしれない。
WikiはHTMLを書く必要こそないけれど、Wiki記法は使い方を覚えるデメリットと装飾が出来るメリットの両方がある。
どちらも情報を共有できるが、MLは新規参入者が過去分を一括取得しなければならなかったりするので面倒。ただし、MLの方が経緯や発言者などがはっきりする。
と、比較していてやっぱり違うなと思った。用途が違う。MLの得意なジャンルはWikiには適わないし、その逆も然り。多くの人と話し合って進めたいならMLが有利だし、情報まとめるならWikiの方が有利だろう。MLは時系列に情報を共有していくスタンスだから章立てできない。過去のML内容をまとめることは勿論可能だけど、それは結局Wikiが向いている。
Wikiが高性能になりすぎて、グループウェアまがいな姿になってきたからこういう批判対象になるのだろうと思う。しかし、経緯や内容を詳しく知らない人が目的の情報を探し出すのに、過去の大量のMLから検索しろというのではあまりに不親切なのだから、Wikiの有用性を時間のムダと切って捨てるには勿体無い。
活発に活動している最中にはMLを使って、まとまってきた内容や枯れた内容についてはWikiでまとめるというスタンスが良いのでは。

箱の効果

箱は実用的な面以外に覆うという効果を持っている。中を隠すということが中身の価値を高めているのだろう。だから、世の中のいいもので箱に入っているものは多い。
物語などでは箱にびっくりするようなものが入っていることが多い。ドラクエの宝箱なんかは中身を期待してドキドキしてしまう。はぐれメタルが宝箱を落としたときなどは、なかなかAボタンを押せない。
この効果は高価値なものだけに発揮するわけではなく、びっくり箱でもミミックでも良い。箱に入っているというワンステップが素敵なだけ。
そんな箱もひとたび蓋が開いてしまうと価値を失う。箱の蓋が既に開いている状態で手渡されたらどうかを考えれば解る。「玉手箱、って何かもう煙出てるし!」とか「パンドラ箱、って既に空いてるよ・・・」とか。
重要なのは密閉されているかではなく、隠れていることだろう。だから、スケルトンの箱はあまり意味がない。
こうして箱のことを考えていると頭に浮かぶのはこれ。

魍魎の匣 (講談社ノベルス)

魍魎の匣 (講談社ノベルス)

京極ファンならずともお勧めできる名作。最初は内容よりも本の厚さが気になるけれど、すぐに慣れるので時間のある方は是非。

Microsoft Officeは高機能なのに

PowerPointで雛形をつくるときにスライドのマスタを作ると便利。デフォルトで記載しておきたい内容はこのマスタで足りるけれど、各スライドで別の文言を設定したい場合などに困る。PowerPointはその性質上、文字を書きたい場合にもテキストエリアなどのオブジェクトを置く必要があるので、スライド毎にオブジェクトを置くことになってしまう。
マスタにオブジェクトを置けば良さそうだけど、あくまでマスタ用なので各スライドでは参照できない。でも、これが出来る特別な存在としてプレースホルダというものがある。これはスライドのデフォルトで個定数で設定されていて、消せるけれど増やせない。
Microsoftの製品っていつもこうゆうもどかしさがある。できそうでできない。オプションで設定できそうでできない。そんなこんなをやっていたら、先輩から素晴らしい突っ込みを頂いてしまった。
PowerPointはプレゼン資料を作るためのものであって、仕様書を作るためのものではありません」
ぐうの音も出ない。WordとかExcelにしても当初の目的からすれば高機能すぎて、それゆえにもう少しこうだったらという意見を持ってしまうのだろうな。

違法コピー損害額はニセ科学?

日本の違法コピー率は28%、損害額は約1,800億円
この調査の算出方法自体の真偽は棚上げした上で、この手の損害額というのは損害賠償請求の考え方だと思う。つまり、違法コピーに数に対して損害額(販売価格)を掛け算すれば算出できるという考え方。
今、違法コピーを使っている人が仮に絶対に違法コピー出来ない世界に行ったとしたら、仕方ないなと言って購入するだろうか。「ただで使えるなら」という動機の人を「本来は買っていた人」と想定するのはいかがだろう。
これは音楽CDでも同じ。以下の式で考えるのは、かなりの強気だと思う。

販売数 + 違法コピー数 = 本来の販売数

個人的には違法コピーの利用者は「本来は買ってない人」がほとんではないかと思っている。つまり、完全に違法コピーの制限が出来ていたら、それだけ世の中に広まらなかっただけと。ファミコンスーパーファミコン時代のゲームソフトは人との貸し借りが横行していたけれど(コピーはしていないけれど対価を払っていないという点で)、そのお陰で世の中に広まって次回作品を購入してくれたりした人は多かったのではと思う。何とかコピーすること自体を前向きなビジネスとして成立させる方法はないものか。
因みに「だから違法コピーはするべきだ」という意図はなくて。違法を合法にするために戦うことは素敵だと思うけれど、違法自体が良いと言ってしまえば法がいらなくなるので。あくまで違法コピーの損害額って実はあまりないのでは?という話。どうしても大袈裟に被害者振っているように見えて仕方がない。

テキストファイルのバイナリ文字は邪道?

CSVXMLMovableTypeのエクスポートファイルなどテキストファイルというのはそのフォーマットに工夫がいる。制御に使いたいものも全てテキストで表現すると、そのテキストを内容に使われたら困るということになるから。
例えばCSVであればカンマ、XMLであればタグ文字の対策をしていないと、システムが区別できず意図した処理を行うことができない。
対策の王道はエスケープかと思う。でも、エスケープすると少々ファイルが読みにくかったり、プログラムもややこしくなったりする。これを回避するためにテキストの範囲外の文字を使うのは邪道だろうか。
最近目にしたファイルでは、バイナリエディタで「02」になる文字を頻繁に利用してファイルの制御とテキストを区別していた。合理的である気はするけれど、改行コードなどの慣れ親しむ制御文字以外を利用するのに少し抵抗もある。テキストはテキストでありたいという心の抵抗だろうか。

楽譜XMLを策定する 2 (音程)

前回は楽譜の横軸について考えてみたので、今回は縦軸について。
楽譜では縦軸を音程と考えて線一本分が一音という間隔となる。間に入れると半音階。ということで、半音階を基準にXMLで持てば良いことになる。ではどのように表現するのが好ましいのか。
MIDIでは基準の音を決めてノート名+オクターブ数という表記となっている。「C3」が中心で「E1」とか「F5」といった具合。ただし、これは音名表記であってシステム的には「C3=60」となっていて数字で管理されている。
そもそも楽譜では音程の限界がない。紙面の許す限り上にも下にも無限に音程を表記できる。これをシミュレートするなら基準音からプラスマイナスが現実的かと思われる。つまり、ト音記号の楽譜で中心のドといえばピアノではここという位置付けが決まっているので、そのポイント(MIDIでいうC3)を0として、あとは半音階にプラスマイナスで表現する。
例えば、中心のドから始めてミ・ソ・ドと上昇で続く場合は以下のような具合。

0  >  4  >  7  >  12
C  >  E  >  G  >  C

逆に下降での場合は以下の具合となる。

0  > -5  > -9  > -12
C  >  G  >  E  >  C

これならばシステム的に見てもIntegerのキャパだけの音程を保持できるので実際の楽譜とほぼ同等の機能を提供できる。
只、この案を採用するとXMLを見たときにどの音程か直感的にわからない。常にツールか対応表かで変換を行わないと理解できない。これは問題だと考える。では、MIDIの「C3」という表記のような発想で、中心を0にすればどうか。仮に上の下降の例を表現してみると以下のようになる。

C0 > G-1 > E-1 > C-1
C  >  G  >  E  >  C

判り難い。マイナスなのかハイフンなのか判らない。ノート名と音程は別に切り分けたほうが良いかもしれない。例えば、以下のようなXMLで表現してみる。

<note name="C" octave="0"/>
<note name="G" octave="-1"/>
<note name="E" octave="-1"/>
<note name="C" octave="-1"/>

これでは半音階が表現できないので、シャープ・フラット・ナチュラル(ダブルシャープやダブルフラットも同様の要領なので今は割愛)に相応する変化記号を別の属性として持つ。上の下降の例を半音上げで表現すると以下のようになる。

<note accidental="#" name="C" octave="0"/>
<note accidental="#" name="G" octave="-1"/>
<note name="F" octave="-1"/>
<note accidental="#" name="C" octave="-1"/>

フラットは「b」で良さそうだけど、ナチュラルをどのような文字で表現するべきか判らない。只、まだまだ概念レベルの話なので文字コードの選択は保留するとして、この要領でいけば同音でもシャープなのか調に沿っているので変化記号が不要なのかというような区別がつくし、XMLを直接みても判りやすい。音程をプラスマイナスで表現することにはどうしても違和感があるけれど、代替案が今のところ思い付かない。