ドジっ子巫女エンジニアがサーバーを止めた件と職業倫理

まとめ。

  • 技術者は技術的事項については社会的な責任を持つと自認すべきだよ。
  • でも独自の倫理に則り独断専行するような役割を期待されてはいないので自重すべきだよ。
  • 放置するのは社会への裏切りだけど、独断専行するのも社会への裏切りだよ。
  • 本件に関する個人的感想としては、以前からフォローしてたのにTLから消えてしまって悲しい。

参考

専門家と倫理

ばけらさん曰く、

あえて語弊のある言い方をすれば、「サービス利用者が被害を受けても、それは運営者の責任で、私は知らない」ということでもありますが、私はそれで良いと考えています

との事だが、この考え方は支持できない。専門家には、公共の福祉に対し道義的責任がある。
例えばどっかの病院が経営判断で薬の代わりに砂糖玉を処方すると決めた時に、医師が「それは運営者の責任で、私は知らない」等と抜かして処方したらどうなるのか。調理師が一見して衛生状態がヤバい肉を、オーナーの指示だからと客に出したらどうなるか。安全設計が明らかにまずい原発を、上司が決めたんだからとそのまま稼働させておいたらどうなるか。弁護士が事務所の方針とかで、費用を回収できる見込みが無いからと適当な所で調査を打ち切ったらどうなるか*1。金を出してる施主がリスク飲むからGoと言えば個人住宅を違法建築してもいいのか。
そして残念ながら、運営者が、社会的に容認される(正しい)結論を出すとは限らない。
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%89%E3%83%BB%E3%83%94%E3%83%B3%E3%83%88#.E6.AC.A0.E9.99.A5
自動車の不具合が命を奪う事もあるように、個人情報の漏洩は時として被害者の社会的生命を奪う事だってあるわけで、単純に経営的問題に帰していいものではないと思う。結局はケースバイケースだけど。


Yuzu_nさんは

ITという技術や業界が、沢山のユーザーに対する「社会的な被害」よりも、技術者個人やその業界内の会社への「自分への被害」を優先して考えるようになったら、それはその技術や業界が「反社会的」になることだと思うし、少なくとも自分がそうならないようにするのが私の技術者としての矜持です。
http://togetter.com/li/136949

技術者としてのスタンスとかについては、私の個人的な師匠(?)の受け売りに近いんですけどね、実は。
http://togetter.com/li/136949

「技術者」と「社会」という枠組みでこの事件を捉え、自らの技術者倫理に従って行動している。

問題点

ただ、Yuzu_nさんの行動が全面的に正当化されるかというとそんなこともない。
まず、一般にITエンジニアが独自の判断でサーバーを停止する権限があるとは考えられていないし*2、法律上そんな規定も無いんじゃないかと思う。という事は、無許可でサーバーを落とす事は、医者が患者の許可も無しに勝手に盲腸手術しちゃうようなもの。もしくは調理師が健康を考えて勝手に減塩するような。これはこれで技術者倫理に反するし、ITエンジニア全体の信頼性失墜にも繋がる。
加えて、個人情報の漏洩も、サービスの停止も、社会的に損失である事に変わりはない。極端な話、いきなりサービスが止まったら経営が立ち行かなくなってクビを吊る人が出る事だってサービス内容によってはあり得なくはない。
最後に、利害関係が複雑な問題の緊急性や重要性を、当事者ひとりだけで判断するのは危険すぎる。専門家は、自分の専門分野の問題が大きい物であると判断する傾向がある。これは人間が普遍的に備えている傾向なので、能力、専門知識、人格とは関係ない構造的な問題。

最後に

Togetterのコメント等で「責任は経営者の側にあるのだから技術者は諾々と命令に従ってればいいんだよ」系の言説が多く、専門家としての責任について語る人が少なかったように思ってたので書いてみた。
最後に再掲。

ITという技術や業界が、沢山のユーザーに対する「社会的な被害」よりも、技術者個人やその業界内の会社への「自分への被害」を優先して考えるようになったら、それはその技術や業界が「反社会的」になることだと思うし、少なくとも自分がそうならないようにするのが私の技術者としての矜持です。
http://togetter.com/li/136949

こういうシステムが標準的になれば素敵な社会だと思うし、今後世の中はそちらに動いて行くだろう、とも思う。けど、今はまだそうなっていないし、技術者の方もその責任を担う準備ができていないと思う。

*1:いや、国がフォローしてくれてるから大丈夫なんだけど

*2:契約上あったかは分からないが、あったら最初からそう主張するだろうし、無い気がする

えっ、私のテストカバレッジ、低すぎ…?

まとめ

  • テストの「カバレッジ」には、C0, C1, C2の3レベルが存在する
  • 一般的なカバレッジ測定ツールはC0しか測定できない
  • C0だろうがC2だろうが、カバレッジは目安にしかならない
    • とはいえ、他に目安になる物は何もないので、見ないよりは見た方がいい

しばらく前のShibuya.js*1が面白そうだったので指をくわえながらIRCで後輩に一席ぶった「テストカバレッジの罠」について書いておくよ。

FizzBuzzのテスト

以下のようなコードを考えよう*2

<?php
function fizzbuzz($i){
    $return = '';
    if( $i % 3 === 0 )
        $return .= 'Fizz';
    if( $i % 5 === 0 )
        $return .= 'Buzz';
    if( $i % 3 !== 0 && $i % 5 !== 0 )
        $return = $i;
    return $return;
}

なんの変哲もないFizzBuzz*3。さて問題、このコードのカバレッジを100%にするにはどうすればいいだろう?

C0カバレッジ;命令網羅

まず、$i = 1, 3, 5という入力が考えられる。このとき、コード内の全ての行が一度は実行されている。一般的なカバレッジ測定ツールでは、100%のカバレッジと判定するだろう。
全ての命令を網羅しているので、このカバレッジを「命令網羅カバレッジ」と呼ぶ。
さて、このテストは十分だろうか?まあ、十分ではない、という人が多いだろう。結果は「Fizz」「Buzz」「数字そのまま」「FizzBuzz」のどれかになるわけで、テストが3つというのは明らかに少ない(ちなみに、「FizzBuzz」になるケースが抜けている)。これを十分というのは少し無理がある。

C1カバレッジ:分岐網羅

コードを見直してみよう。このコードには分岐が3つある。という事は大雑把に言って、2^3=8通りの結果がありそうな事が予想できる。この8通りの可能性を全て網羅する、というのは割といいテスト戦略に思える。
表に書き出すとこんな感じ:

3の倍数である 5の倍数である 3の倍数でなく、かつ5の倍数でもない 代表的な値
-
× -
× -
× × 3, 6, 9
× -
× × 5, 10, 20
× × 1, 2, 4
× × × 15, 30, 45

(「代表的な値」が「-」になってるのは、その条件を満たす入力が論理的に存在しない場所)
検討の結果、8通りのうち4通りの可能性はあり得ない事が分かったので、結果としては3通りから4通りになっただけだが…ともあれ、有効な条件群は上から順に「Fizz」「Buzz」「数字そのまま」「FizzBuzz」に相当する。この基準を採用してテストを考えると、先ほどのように「FizzBuzzになるケースがカバーできていない」というケースが無くなる訳だ。
このような網羅率を「C1カバレッジ(分岐網羅カバレッジ)」と呼ぶ。テストケースが同じなら、常にC0カバレッジ=

C2カバレッジ:条件網羅

さて。さっきの条件の中に「3の倍数でなく、かつ5の倍数でもない」というAND条件が入っていた。分岐網羅カバレッジは「全分岐を一度舐めればOK」という事だったので、この条件は「○か×、成立するか成立しないか」でしか見なかったが、この条件はバラせる。つまり、この最後のif文だけを見ても

  • 3の倍数でなく、5の倍数でない
  • 3の倍数であり、5の倍数でない
  • 3の倍数でなく、5の倍数である
  • 3の倍数であり、5の倍数である

という4条件まで見ないと、なんとなくこの条件分岐をコンプリートできた気にならない。このような見方が「条件網羅カバレッジ(C2カバレッジ)」だ。最初のif文の条件をA, 二番目をB、三番目をC&&D、と見て、ABCDそれぞれの成立/不成立を網羅するので、検討する可能性は2^4 = 16通りになる。
今回の場合、たまたまAとC、BとDの条件が互いに裏返しの関係になっている、つまり「3の倍数であり(A)、かつ3の倍数ではない(C)」があり得ないので、最終的に必要となるテストケースはC1カバレッジ100%の時から増えないが。

網羅されていないケース

C2以上に網羅率の高いカバレッジは(多分)存在しない。という事はC2カバレッジを満たすコードを書いていけばバグが無いのか、というと、勿論そんな事は無い。
追記:コメント欄にて「ワシのカバレッジは七式まであるぞ」との旨コメントいただきました。コメント欄参照。

ある程度経験値のあるプログラマーなら0や負の数がテストされていない事にすぐ気づくだろうし、ぺちぱーなら「数値として解釈できる文字列」「浮動小数点」など、より大量の確認すべきケースに思い当たるだろう。数値でないものが渡ってきた時の挙動も試していない。
カバレッジ計測しながらテストをする事で測定できるのはあくまで「プログラマーが書いたつもりのコードがちゃんと書けているか」であり、それが仕様通りなのかとか、あるいはそもそも仕様に問題が無いのか、といった事は保証されない。ユニットテストの網羅性の扱いについて - 千里霧中で挙げられている「構造網羅」「仕様網羅」の問題だ。

結論

というわけで、(C0)カバレッジが完全であってもロジックにミスがある可能性は残るし、かといってC2カバレッジまで網羅したとしてもバグがなくなるわけじゃない。
それでも、

  • 機械的にコードを網羅できるカバレッジの考え方は、堅牢なプログラムを作る上では大事だし、
  • C0は機械的に測定しやすい=自動テストに組み込んで確認しつつコードを書ける、というメリットがある。
    • たとえC0が「FizzBuzz」すら逃すようなザル基準であったとしても。

というわけで、テストカバレッジは目安にしかならないので依存してはいけないが、目安程度にはなるし、他に目安になる物もないので、気にはしましょう、というお話。

For More Information

C1やC2カバレッジのような水も漏らさぬテストは確実性が高いけど、代わりに実行時間が指数関数的に跳ね上がっていく。というわけで、完全性を諦めた上で、経験則に基づいて網羅すべき条件を間引いていく技術、というのが存在する。「ペアワイズ法」とか呼ばれるものなのでこの辺でぐぐれ。
また、今回の記事はコードの中身を知っている前提のテスト(ホワイトボックステスト)だったけど、コードの中身を知らない人がどう網羅的に、かつ現実的なテスト量で不具合を発見するか、という方法論もある。こちらは書籍が山のようにあるのでパス。

*1: さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料 - 2nd life

*2:PHPなのはブクマ数が伸びやすいからだ

*3:中カッコを取っ払うのは個人的には好きじゃないのだが、サンプルコードなので見やすさを重視した

グルーポンというアイデア

グルーポンおせち問題とか二重価格問題とかでグルーポン界隈が大炎上している。個人的な感想を言わせてもらうと、今の国内のプレーヤーの大多数は「グルーポンの皮を被ったhotpepper以下の何か」に過ぎないので、とっとと淘汰されるべきだと思う。

本来、グルーポンとは何か

グルーポン社の公式資料か何かだと思うけど、この動画を見るのが手取り早い。英語が分からなくても、まあフィーリングでなんとかなる。

ここが新しい:情報伝播経路

グルーポンと普通のクーポンの違い、ひとつめはソーシャルネットワークによる伝播
普通のクーポンというのは「事業者が情報を流し、その情報を目にした人が購入に来る」というモデル。これは旧来の広告宣伝や折り込みチラシに近い。
グルーポンは、「口コミによる情報伝播」を極めて重視している。いかにユーザー自身に宣伝させるか、に徹底的にフォーカスした宣伝手法、と言っても構わない。
グルーポンの特徴をひとつずつ見ていくとこれがはっきり分かる。

まず最低成立数が存在する点。ある程度の人数購入者がいないと、注文がキャンセルされ、クーポンは一枚も出て行かない。これは集客という点では明らかにマイナスだ。
1枚でも2枚でもクーポンを多く発行すれば、その分客数は増える。集客効果を考えるのであれば、ボーダーを切る必要はどこにもないはずだ。不思議に思った事は無いだろうか?
この仕組みは、口コミの促進のために存在する。「このクーポンがどうしても欲しいんだけど、成立数まであと10人足りない」となれば、客の側が自分の周りに宣伝して回る事が期待できる。近所のスーパーの「卵1パック100円」を隣の奥さんにも教えるのは人付き合いや仲間意識が動機なわけだけど、グルーポンの場合、利己的な動機(自分も買いたい!)が加わる。

最大数が限定されている点や、期限が短い点も重要。どんなにお得なクーポンでも、期限が長いと「まあ、何かの話のついでに覚えてたら教えてあげればいいか、どっか他所から聞くかもしれないし、もう知ってるかもしれないし」となってしまう。これが「あと1時間!」という状態になると、「私が教えないと、あの人がこの情報を知らないうちにキャンペーンが終わってしまうかもしれない!」となる。要は、情報の伝播をさせなければいけない、という使命感や責任のような物が客側に生まれてくる。

なんで口コミによる伝播を重視してるかというと、客は自分の周りの、クーポンに興味を示しそうな人に集中的に働きかけるから。つまり、物凄く目の細かいマーケティングを勝手にやってくれる。また、通常の宣伝とは違う経路で情報が流れるので、広告では捕まえられないような層にも情報が届く。

ここが新しい:リピーター重視

で、もうひとつの特徴はリピーターを重視している事。はやりの言葉で言えばカスタマーリレーションシップの重視
動画中では、サービスのポイントとして、客の連絡先情報について言及している。クーポンはあくまで最初の一歩で、その後も繰り返し店に足を運ばせるための施策が打てますよ、という事だ。収益を来店当たりの客単価で捉えるのではなく、その後の長い付き合いを視野に入れて、顧客生涯価値ベースで考えろ、という事。
クーポンは単なる飛び道具で、きっかけに過ぎない、1回で利益を出すという思考ではない。クーポン発行数は控えて質を上げ、より細分化された(常連になってくれそうな)対象にオファーする。

クーポンで安い蟹を食いにきた客に馬鹿高い刺身を売りつけるのは、カスタマーリレーションシップを捨てて来店当たりの客単価を上げ、いちげんの客相手に利益を上げようという戦術。
そういう「焼き畑農業」も、ビジネス的にはアリなのかもしれない。けど、前述のように、グルーポンというのはバイラルマーケティングの世界の手法。来た客に惨めな思いをさせると、口コミで情報を広めた客(マーケティングな人が使う用語で言うとインフルエンサーだ!)の信頼を損ねる事になる。金の卵を産む鶏を焼き鳥にするようなものだ。

ちなみにこれは「各店舗が信頼を損ねておしまい」という話ではなく、グルーポン事業者自体の信頼も損ねる事になる。酷いクーポンを発行するグルーポン事業者はインフルエンサーに見切られるのだ。グルーポンサービスが雨後の筍のように増えている日本だと、groupon.com一人勝ちのアメリカよりもこの傾向が強いかも知れない。

5x3と3x5は違います。

概要

  • バツをつけたくらいでガタガタ抜かすな
  • 算数=数学+国語
  • 「正しい答えが出る式」は「正しい式」とは限らない
  • 義務教育の使命は「落ちこぼれを作らない事」
  • 数式で意図は表現できるし、表現すべきだ

参考サイト

おおむねどこの議論も堂々巡りなので
http://kita.dyndns.org/diary/?date=20101113#p02
http://b.hatena.ne.jp/entry/togetter.com/li/68853
とブクマコメあたりを参考に論点をひとつひとつ潰していくよ。

算数=国語+数学です

「数学の世界に国語を持ち込むな」とか言っている人がいるけど、算数とはそもそもそういうものです。「りんごが3つ、おさらが5まい」という日本語から「3x5(もしくは5x3)」という式を立てる、という過程は「国語か数学か」と言われれば国語でしょうが、「国語か算数か」と言われれば算数です。「算数」の守備範囲には、「実際の問題を数式に変換する」部分も含まれています。算数の指導要領には「日常の事象について見通しをもち筋道を立てて考える能力を育てる」と明記されています。
数学と算数の違いが大前提なので、最初に述べておきます。この文章では「数学」と「算数」の使い分けを意識的に行なっています。

交換則は関係ありません

で、「代数的には 5*3 も3*5も同じ」とか言っている人が多いけど。
算数では「正しい答えに行き着く数式である事」は「正しい式である事」を意味しません。大事な事なのでもう一度言います。算数の世界では正しい答えが出るからと言って、その式が正しい事にはなりません
立式というのは、数学にとっては「解を求めるための過程」に過ぎません。ですから基本的には解さえ合っていればすべてが肯定されます。現実には、ヤマカンで答えた訳じゃなくて計算をしたんだ、という証明のために式を要求されますが、その程度です。
ですが、算数にとっては違います。算数とは

  • 日本語(または絵図)から式を作って
  • それを数学規則に則って計算し解を出す

カリキュラムです。式は単なる解を求める手段ではなく、「式を立てる」事自体が評価対象となります。
3x5と5x3が交換可能というのは式を立てた後の世界の話です。問題は「5枚の皿に林檎が3つずつ」という問題を式に起こす際の過程の話、国語か数学かで言えば国語の世界の話です。

学校教育はバカのためのものです

5枚の皿に林檎が3つずつ、という問題で5x3を式として立てる人は大雑把に分けてこんな感じ。

  • よくわかんないけど、問題文に出てくる数字を適当に組み合わせておけばいいんじゃないかな」という子
  • 5皿x3つずつ、のほうが、3つずつx5皿、よりも自然に感じる子
  • 5x3と3x5が等しい事を理解しているので順序に無頓着な子

義務教育で最優先でカバーしなければならないのは最初の子です。そもそも義務教育とは国民の最低レベルを中卒レベルに引き上げるための制度であり、優れた子に英才教育を施す事よりも、おばかな子をまともな子にしてあげる事が優先されます。
最後の子が数学嫌いになる云々と抜かす方もいるようですが、心配しなくとも本当に賢い子は「式は"ぼくはわかっている"という事を先生に分からせるためのものなんだ」というルールをかなり早い段階で見抜きます。また、「自分にとって自明な事でも過程をすっ飛ばさず、万人に分かるようにギアを落として1から説明する」というのは理不尽でもなんでもなく普通に生きていくために必要なスキルなわけで、早いうちに叩き込んでおく必要があります。

式とは言語です

これは算数の問題を越えている。いかに採点者の気持ちを汲んだ解答を作れるかというコミュニケーション能力を計っている
とあるブコメより、前半はともかく、後半は正解です。コミュニケーション能力を測っています。数式はコミュニケーションの手段です。可換なものを、どのような順序で並べるかという部分で、計算者の意図を表現します。
数式の立て方が文化に依存する事がその証明でしょう。英語圏では「5枚の皿に林檎が3つずつ」は、日本とは逆に5x3です。数式が「ことば」だからこそ文化圏に依存するのです*1
「式で思考過程は表現できない」などと主張する人も多いようですが、「文章で人の気持ちは表現できない」「テストで頭の良さは計れない」と同レベルの話でしょう。

バツはたいした問題ではない

バツをつけると子どものやる気をくじくとか、ちょっと微妙だけどバツにまでする必要はないとか、マルかバツかをさも重要な問題であるかのように語っている人も多いようですが。
巫山戯るなボケ!
私はこういう考え方が学校教育を駄目にする元凶だと考えています。他の人たちは意見が対立しているだけなので許容可能ですが、この主張をする人たちだけは真剣に死んで欲しい。
バツというのは「これは採点者が事前に意図していた回答とは違う」程度の意味しか持たないはずです。不服なら異議申し立てをすればいいし、そこから新たな学びが生まれる事だってあるでしょう。答案返却の際、微妙な裁定でバツになった問題をマルにしようとするやり取りの中で新たな事を学ぶ、なんてのはよくある事でしょうし、一度バツをつけられた方が印象に残って以降間違えなくなる、なんてのもよく聞く話です。
試験の点数がちょっと低くなったから、だからなんだと言うのですか?定期試験のスコアで一喜一憂するなんてのは、ミニスカートの丈を競う女子高生以下でしょう。目的は学びであり、点数は目安に過ぎません。
バツをつけると子どもが数学嫌いになる」なんて妙な社会的圧力を教育の現場にかけるから、教師がどんどんバツをつけなくなり、バツの深刻性が無駄に増していくのです。
マルかバツかなんて、どうでもいい

返信

b:id:kurusupa s:id:Carnots1824 s:id:MarriageTheorem s:id:Sokalian s:id:mobanama

式を立てる過程自体に複数の正解がある。5×3は正解なので×をつけてはいけない。線引きが厳しい甘いの話ではなく、でたらめな線が引かれていると言う話だから○×の話は一番大事な論点だ。

私は「5×3は間違いである」と主張していますが。

b:id:ka-ka_xyz s:id:Sokalian s:id:OkadaHiroshi

「算数」の世界の中だけであればそれでいいと思うが、そうやって叩き込まれた思考法が、子どもが「代数」(数学)へ移行するときの躓きの元になってる気が。あと、数学的理解の上で順序を無視する生徒への説明不足。

b:id:hk2mr_hu s:id:MarriageTheorem s:id:tdam s:id:hatesenID s:id:coleus

×をつけられたからではなく、×をつけられた理由を説明してもらえないから、説明されたとしてもそれに納得できないから、生徒はやる気をなすくのでは?

前者:前半、カリキュラムとしての妥当性・効率性に関しては議論の余地があると思いますが、興味が無いので本項では触れません。後半ですが、問題を教師の質に摩り替えないでください。
後者:勝手に第三者の意見を表明する人は好きではないので「私ならやる気をなくす」とか言って欲しいものですが。前者と同様に、教師の説明の上手さや生徒の理解能力や性格までは責任をもてません。納得できるまで説明すればいいし、説明を要求すればいいと思います。

b:id:usataro s:id:kurusupa s:id:Carnots1824 s:id:Sokalian (x2) s:id:mobanama

「「採点者が事前に意図していた回答とは違う」程度の意味しか持たないはず」甘い。それは所詮問題作成者の論理。バツの生徒が異議申し立てをするとは限らない。/そもそも粗雑な作問だったことに問題があるのだが。

前半。3x5を5x3と入れ替えるか否かだけでブロゴスフィア(笑)がこれだけ炎上するのだから、何の反応も返ってこないというのはあり得ないと思いますが。問題の子は少なくとも親には話している(だから画像がアップロードされている)わけですよね。
後半。それはその通りで、あの問題はちょっと雑(もしくは要らんところで難易度が高い)だと思います。

b:id:MarriageTheorem s:id:Sokalian s:id:nabesems s:id:k3akinori s:id:foreseti

これはひどい, これはひどい, 教育, 社会, 科学 この件って「「立式」を問うなら単位付きで式を書かせろ」で終了だろうに何故頑なに単位の無い3×5と5×3を「違う」と主張したがるのか/「3枚の皿にりんごが3個ずつ…」に「3×3=9」と回答したら正解?不正解?

ひとりで複数同じタグを入れる、なんて芸当が可能なんだ、初めて知った。タグ出現数をひとりで操作できたりするのかな。
表現力は文章>単位つきの数式>単位なしの数式、です。単位つきの数式を強制しない理由は、文章をいちいち書くことを強制しない理由の延長線上だと思います。そして、3x5と5x3は単位などの表記が無くとも「違う」という主張は上記の通りなので割愛します。
ちなみに私は単位付きで式を立てる事も多かったです([個]とか[人]とか横に単位を併記するやり方は、確か中学辺りで知りました。標準的かまでは知りませんが通じなかったことは無いです)。
後半ですが、正解です。よかったですね。

スター多かったで賞(12個)人のエントリに言及しておく。
http://d.hatena.ne.jp/Sokalian/20101116/1289928627
先に言っておくと数学的な正しさや行列演算には特に興味が無いです。自然数の掛け算を問題にするのに集合論まで話を広げる必要があるなら仕方ないですが。

百歩譲って仮にそんなものが必要だとしても、「『かけられる数』を前に書く」という見るからに不格好で美しくない「ルール」、「かけ算とは、同数累加の略記法である」という冴えない「定義」は所詮、「前置修飾という日本語の構造」という、「日本の学校」特有の事情から生まれた便宜上のものに過ぎず、工事現場の足場のように、用が済んだ後は取り払われるためだけのものなのである。

同感です。用が済んだ後は取り払われるものでしょう。用が済んだ後は
「前置修飾という日本語の構造」という、「日本の学校」特有の事情から生まれた便宜上のものなのは確かです。学校教育で使う言語が日本語で、日本文化を前提としたカリキュラムなのだから妥当な選択だと思います。「日本語の文章から式を立てる」という過程自体が「日本の学校特有の事情」なのだから、日本ローカルルールはいかんというのであれば文章題を出題することを禁止すべきではないかと思います。

実際、交換法則の導入と共にこのような「ルール」は実は「『かけられる数』を後ろに書く」「どちらを先に書いてもよい」と全く等価であることは自明となり、全く無用の長物であったことが明らかにされる。数学に強い大人ほど「かけ算の順序」などという話に反発を覚えるのはこのためである。立派なビルが既に建っているのに、工事の時点で足場が東側にあったのか西側にあったのかなど無意味な議論だ、どちらからでも建てられるのだから、と。

はい。完成品しか見ず、建築過程を考慮しないのであれば工事の時点で足場が東だろうと西だろうとどうでもいいでしょう。同意します。今回の議論で問題になっているのはまさに建築過程だと思いますし、少なくとも私はそう書いていますが。

あ、TBも来てるのでそっちも。

自慢ではないが、私がそのことを理解できるようになったのは二十歳を過ぎてからである

適切な指導教員に恵まれずご愁傷様です。

あなたが記事中で書いた「巫山戯るなボケ!」という台詞をそのままお返ししよう。「ミニスカートの丈を競う女子高生」は幼稚に見えるかも知れないが、当人にとってはアイデンティティを賭けた闘争かもしれない、その程度の想像力がなぜないのか!まし、掛け算を習う小学校2年生はその「女子高生」の半分程度しか人生経験がないというのに!

幼稚だから「幼稚だよ」と切り捨てているのですが。自分の子ども相手でも「幼稚だよ」と切り捨てるでしょう。幼稚なものを助長するよりは幾分マシな教育方針かと思いますし、試験の点数にアイデンティティを感じているようなガキがいたら、掛け算の順序などよりもそちらをどうにかするほうを最優先すべきでしょう。「バツがつくとやる気をなくす」事に対する対策は「100点しか取れないようなテストを作る」事ではなく、「バツがついてもやる気をなくさないようにする」事で、つまり「バツが妥当なときはサクサクとバツをつける」ことだと思います。

何が「コミュニケーション能力」か。学術上の「コミュニケーション」とは、学問の対象から離れたものをできるだけ排除して、できる限り客観的視点だけで黒白をつけられるような禁欲的態度を指す。そのような場に「空気読み能力」のような不純物を持ち込むものこそ、真っ先に「トンデモ」扱いされて排除されるべきものである。

アカデミズムを問題にした記憶は無いですし、アカデミズムは無関係だと思います。「お皿の上にリンゴがみっつ」にはアカデミズムをかけらも感じないですし。

*1:3x5と考える思考過程を子どもに押し付けていいのか、というのは確かに微妙だとは思います。思いますが、どれかひとつの考え方を選択しないと教えようが無い以上、必要悪でしょう

1分で過去の全web閲覧履歴を検索可能にする(ために悪魔に魂を売る)方法

結論

────────ここまでで1分────────

概要

「ああ、この話は前に見たぞ。あの時見たページはどこだったかなー」と自分のはてブを漁る事がよくある。で、はてブし忘れていた事に気づきファッキンシット、という事がよくある。で、ファッキンシットな確率を下げるために、「迷ったらとりあえずブクマしとく」みたいな不毛な運用をしてた。
ゆっくりと改めて考えると、「ブクマみたいな形じゃなくて、自分のweb履歴をとにかく全部記録して、その中から検索できたら便利じゃね?」という結論に達した。
21世紀なんだから、こういう問題にはGoogle様が適切なソリューションを提示してくれるはず*1、と思って見つけたのが「web履歴」機能。

紹介


web履歴機能をフルに使っていると、こんな情報が見られる。自分が見た全ページの一覧、要は、ブラウザの「履歴」相当の内容が全部Google側に記録される。


で、当然のことながら、この履歴の中から検索がかけられる。はてブとは違い、本文全文やリンクワードも検索対象になるし、「アイドルマスター」と「idolM@ster」を同一視してくれる、といった謎機能ももちろん有効になる。「以前Android上でのテザリングの話題について調べたな、あの時見たページはどこだっけかな」という時に、再度調べ直す手間が大幅に省ける。


便利なのは、Google検索関連の記録。検索結果からどのページに飛んだかもきちんと記録されている。検索クエリだけ見ていても、その日どんな事をしていたのかが自分には大体分かる。
と言っても他人には便利さがあまり伝わらないと思うので補足する。たとえばこの日の俺は『えびボクサー』というB級映画と、ロマサガ3のキャラ「ボストン」との関係性について考察するという知的活動を行なっていた。まず、社内で『えびボクサー』の話題が出た*2ので映画について検索して公式サイトを眺めた。その後「この映画、元ネタロマサガ3のボストンじゃないのか?」と思い、「えびボクサー ボストン」で検索している。飛び先がないのは検索結果ページから得られる情報で満足したからだ。その後の二回目の「えびボクサー」検索と「ロマンシングサガ3」の検索は、どちらが新しい作品だったのかを確認するためだ(だから公開日時が記載されているであろうwikipediaに即飛んでいる)。表示される情報は断片的だが、そこから引っ張り出せる記憶情報というのが意外に多いのだ。

使い方

https://www.google.com/history/ に移動しログインすると設定のOn/Offが切り替えられる。Onにすると、恐ろしい事に「Onにする以前の情報」まで表示される*3。便利だ。
これだけで「Google検索クエリの履歴」と「そこから直接飛んだページ」は全部表示され、検索対象になる。
Google検索結果を介さずに表示したページまで履歴に含めるには、Googleツールバーをインストールする必要がある。FirefoxIEならこれでいいのだが、ChromeにはGoogleツールバーが存在しない。web履歴の機能は「あるページのPageRankを取得するAPIを呼んだ時」に記録されるので、PageRankを表示する拡張機能をインストールすれば使えるようになる。稀に上手く動かない拡張があったりするのだが、とりあえずPageRank Statusという拡張では正常に動作する。

最後に

というわけで、対価として個人情報をGoogle様に捧げることで、ブラウザの履歴機能とはてブが合わさった最強の環境を手にする事ができる。プライバシーなんぞ知った事か、という方にお勧めである。

*1:ちなみに20世紀には「個人用のプロキシを立ててキャッシュを全文検索する」という手があった

*2:一部上場企業としてはごく日常的な話題だと思う

*3:多分、設定に関わらず履歴は匿名情報として記録されていて、Onにするとその匿名データと個人アカウントが紐付くんだろう

ニコニコ動画の見るCGMの未来

ライブ事業戦略発表会も出たところで、会議直後に書いて、公開を控えていた記事をちょっと加筆・修正して公開するよ。

はじめに

ニコニコ大会議の生放送を見ながら、記者の人たちは「記者発表と言われて来てみたのだが、ユーザー同士で楽しんでいるイベントにしか見えない、これのどこが『記者発表』なのか、ドワンゴは記者を馬鹿にしているのか」とか思っているのだろうなぁ、と思っていた。確認していないが、そんな認識のまま帰ったライターの方もいたのではないかと思う。一月ほど経過し*1、一時の熱狂も落ち着いてきたので、私の目から見た「ニコニコ大会議とは何だったのか」「運営は何を考えているのか」を書こうと思う。

kawango曰く…なんて言った?

というわけで、明日というか今日からのニコニコ大会議全国ツアーファイナルは必見です。これ見ないでネット業界とコンテンツ業界の未来を語る資格はない、と、ほんとそう思います。いや、まじで。

http://twitter.com/kawango/status/9296150591

大会議前日、ドワンゴの川上会長*2によるポスト。大会議では、ネット業界とコンテンツ業界の未来を示す、との予告である。
しかし、実際にはネット業界の未来どころか、ニコニコ動画の戦略すら言及されることはなかった、kawango氏による壮大な釣りではないとすれば、彼の言う「ネット業界とコンテンツ業界の未来」はどこに示されているのだろうか。
私はこう考える。「ネット業界とコンテンツ業界の未来を示す」事は、発表や発言の形では示されていない。ニコニコ大会議というコンテンツ自体が、ネット業界とコンテンツ業界の未来を示している、と。

ニコニコ動画とライブコンテンツ

そもそも、ニコニコ動画は元々「ネット上でユーザー同士がライブのような一体感を感じるサービスを作れないだろうか」と考えて作られたサービスである(経緯はdwangoのサイトなどに詳しい http://info.dwango.co.jp/recruit/story/01_01.html)。

つまり、「なんでニコニコ動画がライブイベントに手を出しているの?」というのは、疑問自体が間違っている。最初からライブはニコニコ動画のゴールのひとつなのだ。ニコニコ動画が最近ニコニコ生放送に注力していることも、この流れを理解していれば自然である。

(余談:私がニコニコ動画に興味を持った最大の要因は、時系列方向への拡張現実としての「疑似同期システム」*3の存在や、疑似同期で「祭」に乗り遅れる事を防ぐ人に優しい仕組みだったので、ライブへの回帰は内心微妙ではあるのだが)

CGMの未来:音楽とは

大会議に出演したメンバーは基本的にみんな素人。歌い手もそうだし、演奏者もユーザーから出ている。彼らは上手いと思うけど、残念ながらプロのクオリティには達していないのだろうと思う。音楽の事はよくわからないけど。
それでも、あの最後の「Smiling」で鳥肌が立たなかった人はいなかったと思う。「歌ってみた」をまったく聞かず、Smilingという曲を耳にするのが初めてだった俺ですら感動したし。会場にいた人はもう何がなんだか分からないうちに泣いていたと思う。
あの楽しさは、多分参加する楽しさで、場を共有する楽しさ。みんなで一体となって音楽を、鑑賞するのではなく「楽しむ」楽しさなんだと思う。
「REMIX」という本( asin:4798119806 )に書いてあったのだけれど、昔の「音楽」文化とはアマチュア文化であり、当人たちが参加する事に重きを置いていたらしい。
放送もレコードも無い時代の音楽は、聴衆と縁者の距離が心理的にも物理的にももっと近くて、演者によってレベルがマチマチで、同じ曲を演奏してもみんなに個性があって、そんな中だからこそ各地にアマチュア演奏家がいて、プロの作る音楽の周辺に文化や創造性が生まれ、新しい音楽文化が花開いていったんだって。
ところが、レコードの登場と、何より放送(ラジオ)の登場によって、この状況が変わる。「本物の」「プロの」レベルの高い音楽が誰にでも届くようになり、アマチュアリズムは廃れた。音楽というのは週末に集まってみんなで歌ったり、街角で生まれたりする物ではなく、ハリウッドで生まれて、電波の向こうのスタジオで一握りのプロが奏でるものを鑑賞する文化になった。
あんまり引っ張っても仕方ないのでこの辺で打ち切ろうか。
レコードが生まれて150年。ラジオが生まれて100年。プロによる作品を「鑑賞」するものだった音楽は ──インターネットの隆盛、ニコニコ動画という場*4の誕生、ツールの普及、リアルタイムな場の共有、もしかするとプロによる音楽シーンの衰退によって── 再び「参加」するものに戻った。
あの「Smiling」で私たちが感じた気持ちは多分、150年前にレコードに封じ込められて、100年前に電波の向こうに隠されてしまった、本来の「音を楽しむ事」が持つ楽しさなんだと思う。
大事な事なのでもう一度言おうか。いま、音楽は、150年ぶりの大革命期を迎えている。その先頭に立つのは、ニコニコ動画という場であり、そこにいるユーザーだ。

Smiling together
Will be together
そんな悲しい顔は似合わないよ
一緒に歌おう

http://dic.nicovideo.jp/v/sm9078182

片岡Pという存在

ライブ事業の仕切り役として登場した片岡P。この人は実はとても特異なポジションにある。ここまで書いたように、ニコニコ動画とは「ネットにライブを持ち込もうとした」プロダクトであり、ドワンゴ/ニワンゴの社員も当然そういう人間ばかりである*5
しかし、片岡Pの出自は演劇であり、ネットは全くの門外漢。一言で言うと人種が違うのだ。彼がしようとしている事は「ライブ(演劇)をネットの世界に持っていく事」であり、つまりドワンゴとはゴールこそ共有しているが、出発地点がまったく逆なのである。
数字周りの認識やゴールイメージも大きく違うと思われるが、その辺の具体的な話には詳しくないのでノーコメントとしておく。軽く一点だけ触れると、例えばチケットの価格。ネットのイベントと考えると高いが、片岡P自体が言っていたように、あのチケットは「演劇としては」破格の安さなのだ。

で、彼にも知己の劇団なんかは当然あるだろうし、興行的にはオーディションなんてやる必要はまったくないはずだ。にも関わらず彼がオーディションを行ないユーザーを巻き込んでいるのは、もしかすると彼もあの「Smiling」同様に、銀幕の向こうに隠されてしまった「演劇の楽しさ」をこちら側に引っ張り出そうとしているんじゃないか、そんな気がする。
それがどの程度困難なものなのかは分からないし、成功の見込みがあって動いているのかも分からないけれど、もしこの予想が正しくて、この試みが成功したら、その時はきっと、こういう事になる──「TVドラマなんてつまらない。映画なんて下らない。芸能人を舞台から引きずり下ろして、自分たちで舞台に立とう。それが一番面白い」。

よく、なぜ大会議なんかやっているのか、どういう狙いなんだと尋ねられるが、なにかのために大会議をやっているんじゃなくて、大会議のために仕事をやっているというのが正しい。ここが終着駅、そして出発点。なぜ、ここから歴史が生まれているということに気づかないのかね?と思う。

http://twitter.com/kawango/status/9296008610

*1:執筆当時ね

*2:公式にはこのtwitterアカウントは謎のネットの妖精であって、会長ではないそうですが

*3:動画の1:00の地点にコメントを書き込むと、1年後に他の人がその動画を見たときも、1:00の位置にコメントが表示される、というニコニコ動画の基礎システム。ライブ性(同期性)を擬似的に再現するから疑似同期なのだろう

*4:勿論、サービスだけではなく、かといってユーザーだけでもなく、みんなひっくるめて。

*5:ちなみにドワンゴ社のキャッチコピーは「ネットで生まれ、ネットでつながる」である。いや、外に出ようよ

東京リアル脱出ゲーム vol.5 「マジックショーからの脱出」

http://realdgame.jp/v/event/index.php/001_2
行ってきました。油断して敗北。


舞台はお台場の「東京カルチャーカルチャー」という店。イベントスペースとしても使えるバーのようで、ロフトプラスワンみたいなものなのかな。Niftyのものらしく、デイリーポータルZ関係の催し物がよく行なわれているようです。今度また何か行こうかな。
知り合いと行ったけど注意力不足で合流できず。目が合ったらしいんだけど記憶に無い…
チケットを渡すと、もはやお約束になりつつある招待状とチームのマークが描かれた首から下げるタイプのIDカードを渡されます。席(というより丸テーブル。椅子は無し)に案内されるとそこにはチームメンバーと…謎の紐。
「三回目なんですよー」「私たちは2回目です」「初です」みたいな会話をしているとスタッフの方がやってきて、互いの手を紐で拘束。みんなで輪になっている感じです。紐にはそれぞれ謎の筒、謎の目盛り、南京錠、ダイアルロックがついている(錠のものは錠で連結されている。残りの1本の紐は付属品なしの数合わせ)。これは謎を解くと鍵が開けられてその部分の紐が外せるのかな?マジックショーって脱出マジック的な何か?プリンセステンコー?スッパテンコー?


ゲームマスターの加藤さん登場。「みなさんの足元にアタッシェケースがあると思います」あ、ホントだ。「それは爆弾です!」へー。「…反応が鈍いですね、もう一回やりましょうか。…それは爆弾です!」「えー!」「うーん、もう一声。それは爆弾です!
「「「ェエーッ!!!」」」
一瞬で空気を解きほぐす加藤マジック炸裂。

以下、ルール説明

  1. アタッシェケースの爆弾を止めるのが今回のミッション(勿論というか、アタッシェには鍵がかかっている)
  2. テーブルには常に最低ひとりいないといけない
  3. 第一のヒント群は、アタッシェとは別途配布されるケースに入っている。更なるヒントが隣のキッチンにある(キッチンに行くにはチームを分割せねばならず、つまり先にケース内の手がかりを使って手錠の鍵を両方とも外す必要がある)


   *


で、ここからゲームなのですが、熱中してしまって写真を取れてません(えーっ!)。
ケース内の謎(色んなパズル)を解いて行くと「クロ?バ?ヲタノ?」というキーワードが浮かび上がる(?はパズルが解けなかった箇所)。クローバーを頼め、かなーとみんなで相談。でも頼むってどうやって?
加藤さん「皆さんには5分おきにヒントを流しているのですが、大きすぎて誰も気づいていない様子です」流す?大きすぎ?会場にあるプロジェクターのこと(2枚目の写真参照)?プロジェクターを眺めていると、会場中継からVTRに映像が切り替わる。見覚えのある女性(スタッフ)が登場。配布されたヒントの中にあったケータイで、ある操作をしているようだ。その通りやってみるとウェイトレスさん登場。「ご注文は?」「クローバーをお願いします」。鍵1ゲット。
しかし、もうひとつの鍵(4桁数字錠)が解けない!


   *


チームのみんなであーでもないこーでもない、何か見落としたヒントがあるんじゃ、と議論している中、私はちょっとアレな行動に出る。
(このヒントの「4つのカードを小さい順に並べて」が錠の暗証番号だよな。という事は、暗証番号は小さい順に数字が並んでいるわけで、数字の重複もないと仮定していいだろうし、案外総当たりでなんとかなるんじゃね?*1
というわけでガチャガチャいじっていると、開いちゃいました。[これはひどい]。俺「えーと、開いちゃったんですけど」一同「…」


   *


過程はなんかアレだし、未解決の謎が机の上に残ってるけど、手段は問わず結果が全て!開いたのであればチームを分割可能=キッチンへ移動できるので情報収集へ。長居はせず、目についた情報だけを持って一旦戻る。謎を解くとあっさりと浮かび上がる3桁の数字。アタッシェケースのロックは3桁数字錠なのでそれをセットして一方が開く。もう一方が開かない!
未解決のものの中にヒントがあるんじゃ?と、みんなで試行錯誤していると(例によってブルートフォースアタックを試みようとする酷い人約一名)マジックショー開始。マジックショー内で提示されたヒントを元に(割と簡単な謎解き)3桁の数字を入手、セットするとアタッシェケースの鍵が開いた!



アタッシェケースの中には三色の導線。正しい線を切ればいいんですよね分かります。こういう「ベタなお約束」を出して来るのがいいなぁ。以前の「リアル脱出ゲームの作り方」講演でお話しされていた、みんなが共通知識として持っているけど、誰も実体験した事はないイベント、って奴ですね。
で、爆弾解体。同じく中に入っていた数字がヒントになっていた。チームメンバーが速攻で気づいて解読。
赤の線をチョッキン。
「終わったー!」「分からなかった謎でも解き直しますか?せめて手錠の番号くらいは…」


   *


そのうちゲームセット。ふはははは、我々の勝利だ!
解説をウキウキしながら聞いていると・・・あれ、線を切った後にまだ続きがあったのか!チームメンバーみんな気づかず=脱出失敗、爆死エンド。どかーん。
だってー、導線切ったら爆弾って普通止まるでしょー!

手錠の謎と、あとがき

解説を聞き逃したのか、数字錠の謎は解けず。後で参加者同士で情報交換しようかなー、と思ってたらチームメンバーがスタッフに質問。「あの、これヒントが分からないのですが、もしかして手がかり抜けてたりしません?」
我々のテーブルには、いくつかのパズルの解(数字錠の解錠番号を含む)を出すために必要なアイテム「トランプ」が手違いで欠けていた事が発覚*2。そりゃ解けませんよねー。
まあ、(力技で)解けてたので結果オーライだし、加藤さん直々の謎解説も頂いたので、ちょっと得した気分。

というわけで、脱出には失敗したものの、個人的には楽しめました。
謎が回を経るごとに小振りになっている気がするのがちょっと気になる。人数が大きくなってきたし仕方ない所なのかなー。
ペンシルパズルもいいけど、せっかく「リアル脱出ゲーム」なのだから、もう少し身体を動かして仕掛けを解きたい所。

次回告知

東京リアル脱出ゲーム6「夜の遊園地からの脱出」公式告知きた!
http://realdgame.jp/v/event/index.php/001_4
夜の遊園地!舞台装置が最強極まりない!

*1:振り返って考えてみると、考えられるのは10C4通り=210通り。実際余裕で何とかなりますね

*2:トランプが無い事はチームで気づいていたけど、私は何かの謎を解くともらえるものと思っていた