最後に、若者がよく使う「LOL」の派生語を紹介します。

Lolcano
LOLとvolcanoが組み合わさっていて、噴火している火山のように声を出して笑う”という意味

LOLz
LOLの複数形

Megalolz
LOLの複数形を使って、「爆笑する」という意味

Lolling
LOLの現在進行形

LMAO
「laugh my ass off」の略で、LOLより面白いことを示すが、少し失礼な言葉

ROFL
「rolling on the floor laughing」の略語で、LMAOと同じ意味だか、失礼な言葉ではない

緊急地震速報の誤報とシステム設計の話

機会学習とか情報検索には、再現率と適合率というのがある。

  • 再現率とは、本当の答えのうち、システムがどのくらいの割合、正解できたかということ。

    緊急地震速報でいうと、本当に地震が起こった時に、緊急地震速報がすべて出ていたら再現率100%。
    ちょっとでも可能性があれば、緊急地震速報を出したら、再現率は高くなる。(誤報多め)

  • 適合率とは、システムが出した答えのうち、正解がどのくらい含まれているかということ。

    緊急地震速報を出した時に、本当にすべて地震が起きたら適合率100%。 相当に確信が持てるときだけ緊急地震速報を出したら適合率は高まる。(誤報少なめ)

両者を同時に高めるのが目的なんだけど、その2つは一般的にトレードオフ(どっちかを高めたらどっちかが下がる)である。
誤報を出して、システムを改善するのはもちろんなんだけど、恐らくシステムの方針は再現率を高める方向になっていると思う。 (つまり、誤報は多少あれど、地震が起こる可能性はあるのだから、みんな警戒したほうがいいという設計)

誤報の経済的な損失はあるが、人間の命の値段は無限だというのが社会通念なので、速報を出さないで被害が拡大するよりは、少々の誤報があってもみんなが危機に備えるほうが良いはずである。

なので、誤報ばっかでクソシステムだという批判はあれど、むやみに叩かずに、ある程度はしょうがないと思ったほうがいい。

ただ誤報ばっかだと、オオカミ少年式にみんな警戒しなくなるので、それはそれで問題がある。こっちは、啓蒙することでどうにかなる範囲はあると思う。

(実際の適合率と再現率がどうなのかはよく知らないです)

emacsclient + automatorで快適

僕は普段macでemacsを使っている。あんまりテキストファイルを書くことがなかったので、あんまり不便を感じてはいなかったのだけれども、最近、markdown形式でドキュメントを書くようになって、Finderからemacsで開けると便利なことが多くなってきた。

そこで、Finderから、一発でターミナルで起動しているemacsにファイルを開けるような環境を作った。
emacsclientと、Automatorがあればお手軽にできます。

手順1 emacsclient の設定

普通に設定する。

emacsclientを使おう

ここらへんを参考にさせてもらった。

emacsclient -n test.txt

とかで開けたらおk。

手順2 emacsclientでファイルを開くアプリを作る

automatorを起動して、新しいアプリを作成する。

左のUtilsから、Run Shell Script を右のエリアにドラッグしてアクションを作成。

Pass input は、 as argument に。

for f in "$@"
do
    /usr/local/bin/emacsclient -n "$f"
done

コマンドはこんな感じに。
僕はhomebrewで入れてるemacsを使っているので、フルパスで、 /usr/localの下のemacsclientを指定した。

アプリをEmacsclient.app とかの名前にして、 Applications に保存

手順3 拡張子別のデフォルトアプリに

これはちょっと手順戸惑ったんだけど、右クリックして、開くアプリを選ぶときに、先ほど作った Emacsclient.app を選択して、常に開く設定にする。

ただ、これだけだと、そのファイルしか対象にならない。ファイルを選択して、 Cmd + i で開く、情報ウィンドウで、この種類のファイルをすべてEmacsclient.app で開くように設定するとよい。

*.md *.txt *.json らへんを設定して幸せです。

chromeで、console.logとかに別名つけて呼ぶと怒られる。

TypeError: Illegal invocation

って初めてみた

追記: 厳密にいうと、コンテキストがconsoleかどうかをチェックしてるってことですね。

log = console.log.bind(console);

とすれば大丈夫。

chromeで、console.logとかに別名つけて呼ぶと怒られる。

TypeError: Illegal invocation

って初めてみた

追記: 厳密にいうと、コンテキストがconsoleかどうかをチェックしてるってことですね。

log = console.log.bind(console);

とすれば大丈夫。