都市の道路が向いてる方角を調べられるインタラクティブ地図

Road Orientations Interactive Mapは、都市の道路の方角を円形のヒストグラムにまとめたインタラクティブ地図です。 360度を64分割し、それぞれの方角を向いた道路の長さをカウントしていくと、表示中の都市がどの方角に向いた道路をどれぐらい持っているか、が右上に表示されます。 東京都心部を表示すると、こんな分布に。どの方角にも同じぐらいの長さの道路が存在する、つまり、特に方角など気にせず、ランダムに近い方角に道路が伸びているというのがわかります。 対して、京都を表示してみるとこんな結果に。ほとんどの道路は東西・南北に向いていて、それ以外の方角に向いた道は非常に少なそう。 こちらは札幌。札幌も碁盤目の街という印象でしたが、こちらは京都と違って東西南北の向きには向いてないのですね。また、場所によって四方の方角が異なっていて、集計結果としては多い方角は8つ出てくるのがわかります。 右下の検索ボックスで、世界中のどの場所でも表示できるのがいいですね。 この地図、OpenStreetMap のデータを使ったMapboxのサービスを使って描画されています。表示されている地図の範囲の道路データから方角と距離を取り出し、集計するのはコンパクトな JavaScript で済んでいます。 # 作者はMapboxの中の人のようです 作者のウラディミール・アガフォンキンさん(Vladimir Agafonkin)は、アメリカの主要都市について同様の円形ヒストグラムをまとめたVizual Statistix

HomeCourt – バスケットボールのシュート結果を画像認識で自動記録するアプリ

HomeCourtは、スマートフォンのカメラを使ったバスケットボールの練習支援アプリケーションです。打ったシュートをリアルタイムで追跡し、結果をまとめてくれます。 シュート練習が映っているアプリの画面の右上に、シュートの企図回数や成功数、コート内でのシュート位置がリアルタイムで更新されていますね。 このアプリ、コートの外側に三脚でスマートフォンを固定設置して、3ポイントラインやゴールなどを認識させると、その後に打ったシュートの位置や結果が判定されます。また、シュート時の動画をスローモーションで見返したり、それをコーチと共有する機能もあるそう。 こちらが統計結果の表示画面例。コートのどの地点からシュートを試みて、その結果がどうだったかがわかりやすく表示されていますね。距離や角度ごとの成功率や、成功率が経時でどう変化してきたかも出てくるので、得意・苦手の把握や自分の成長の度合いの確認に使えそうです。 ラインの線の色、背景に木などが無い屋内コートが良い、ボールは標準的な色、十分な明るさ、など、より良い認識のための条件はいくつもあるものの、こういった結果が画像/動画認識技術の進歩によってスマートフォンレベルで動くようになったのはすごいですね。 ウェブサイトには利用者として大学チームのロゴも多数表示されていて、実際の練習に使われているようです。効率よく上達を目指すために、こういった支援ツールが中高生の部活などにもどんどん普及していくかもしれないですね。 https://itunes.apple.com/app/apple-store/id1258520424?mt=8 via

州境が違ってたらアメリカ大統領選の結果はこう変わっていた? という地図

Random states of Americaは、州単位で代議員数を奪い合うアメリカ大統領選挙の過去のデータを使った思考実験です。 アメリカの大統領選挙は、2大陣営(まれに第3陣営)が争う部分は簡単でわかりやすいものの、州ごとに争って州の代議員を勝った方が総取りするところはわかりにくく、実際に全得票が少ない方が勝ったりすることもありますね。 このインタラクティブ地図では、群の集まりからランダムに新しい州を作り、合衆国をその架空の州で分割しています。州の形が異なると、その州の中での民主党・共和党の強弱も史実とは別の結果になってしまったりして、得られた代議員の数も変わります。 # 州の名前は中に含まれる群の一つを使っているそうです。なお、首都ワシントン特別区・ハワイ・アラスカに関しては、他と孤立しているとしてそのまま使っています。 実際に結果大差がついたドール氏やケリー氏の負けが覆るようなことはありませんが、ランダムな区割りを何度か繰り返すと、アル・ゴア氏やヒラリー・クリントン氏が勝利していたケースが簡単に出てきます。 [追記] と思っていましたが、下のように最近6回とも民主党が勝っていた区割りも生成されました。区割りが選挙結果に与える影響は、かなり大きいんですね。 ただ、実際の選挙運動では、今ある州の中の情勢を見てどこに予算や応援などのリソースを投入するかを選択し、その結果として接戦州が多数出てきているわけで、もし本当にこのような州の再編があったとしても、そこで行われる大統領選の結果はこの地図で予測したようなものにはならないでしょうね。 この地図、群の集合から新しい州分けを提示する、というアイデアのところが面白いですね。日本でも市町村単位で組み替えて同様の県境を表示してみると、いつもの見慣れた列島がなんだか知らない別世界の国に見えたりするかもしれません。 via Maps

ポテトチップスの空気量を調べたインフォグラフィックス

How Much Air is in Your Bag of Chips?(チップスの袋の空気量)は、14種類の有名なポテトチップスを購入し、その袋の中のどれぐらいが空っぽか、というのを計った調査と、その結果のインフォグラフィックスです。 59%が空気というチップスから、19%が空気というものまで、14品種のポテトチップスの空気の割合が並べられています。平均は43% ということで、スーパーでポテトチップスを買っても、半分近くは空気だということですね。 それぞれのパッケージの価格や内容量もあるので、空気が多いものが量が少ないというものではないでしょうけど、袋を開けてみてがっかりするのが嫌なら、空気率の低いブランドを選ぶのがいいのかもしれません。 測定方法は、同じ商品を2セットずつ買って、水に沈めて水位の変化でパッケージの体積を計測、次に空気を吸いだしたものを同じく水に沈めて計測、2回の平均を取った、ということです。 ヘンリー・ハーグリーブスさん(Henry Hargreaves)が2015年に同様の調査を公開していたそうで、今回のインフォグラフィックスも参考にしたそうですが、二つの調査結果を比べると、70%が空気だった2015年の調査からすれば、今回の空気の割合は43%と、だいぶ改善したようです。もし、これらの調査結果が報道されたことで、空気を増やし続ける動きにブレーキが掛かったのだとすれば、消費者にとっては良い調査でしたね。 via Bored

「機械に解雇された」人の体験談

The Machine Fired Meは、イブラヒム・ディアジョさん(Ibrahim Diallo)がブログに綴った、突然会社から解雇された時の体験談です。 3年契約で半年以上働いていた会社で、突然以下のようなことが起こったということです。 ある朝、現職を紹介してくれた転職業者から「大丈夫か?」とメッセージ 社員証がオフィスの入り口でエラーになった(なじみの守衛に通してもらった) 翌日、駐車場のゲートが社員証で開かない(係員のカードで入った。翌日からはUberで通勤に) 上司に壊れた社員証の再発行を依頼。臨時の当日社員証を印刷してもらう JIRA にログインできなくなる。同僚は入れて、自分のユーザー名に(inactive)と表示されてることに気づく。上司は驚き、アカウントの復旧をどこかへ依頼 転職業者から「あなたが解雇されたというメールを受け取った」と連絡 翌朝、臨時社員証が発行できなくなった、と守衛に言われる。上司下まで迎えに来る 部長に「自分は解雇されたのか?」と訊く。部長は笑ってどこかへ電話、今日中にはすべて直ってるので仕事するように、と 自席のWindowsが自動で再起動され、ログインできなくなった。仕事用のCentOSマシンで作業する 部長は「明日も出社するように」と言ってくれたが、翌朝は自分のLinuxマシン以外のあらゆるアカウントにログインできなくなる ランチ時に、顔なじみの守衛2人がやってきて、無理やり社外に追い出される 上司も部長も、ディアジョ氏を建物外へ出せ、という脅しのようなメールを受け取る 続く三週間、自宅から上司や部長よりもっと上の人たちがやりとりするメールの議論をCCで受け取り続けるが、誰もこの問題を解決できない 3週間経った後で、転職業者から「また出社できるようになった」と連絡を受けますが、3週間家にいた分の給料は無し。 会社の説明では、一度解雇プロセスに入ってしまうと、システムが次々と解雇のための手続きを自動的に進め、カードを無効にしたりアカウントを止めたりするようになっているということ。一つの処理が次の処理を呼び出し、途中で止めることはできなくなっていると。 止められたアカウントを復旧する方法もないので、ディアジョ氏は「新しい契約社員」として採用されなおすことに。最初の入社時に書かされたあらゆる書類を、もう一度書く羽目になったそう。 解雇のプロセスが決して止まらない自動作業だったことは置いておくにしても、なぜそれが誰も問題にしていないディアジョ氏に襲い掛かったか、という点については、採用直前にこの会社がより大きな会社に合併された際の、レイオフされた前任のマネージャーの作業放置の結果、ではないかということだそうです。 ディアジョ氏は結局、良く貢献もし周りから感謝もされていた職場で、捕まった泥棒のようにビルから追い出されるという体験をしました。その影響で、なぜそんなことになったかという経緯を周囲に説明したり、一部の人たちからは距離を置かれたりしたりして、最終的にはしばらくしてその会社を退職、今の会社に移ってしまいました。 昨年身の上に降りかかったこの一連の体験をやっと落ち着いて話せる気分になったそうで、今回ブログで公開した、ということです。 What I called job security was only an illusion.

これがホントのドレスコード

https://twitter.com/jessie__wu/status/887440669102551041 柄に使われているコードはminify された Lodash らしいです。 redditによると、このミニスカートを含めた同ブランド monokai の服やグッズは naughty {gits] というオンラインショッピングサイトで売られていて、上のミニスカートは $44.95

担当者を責める404ページ

emailcenter404 Not Found ページが英語圏の巨大掲示板 reddit で話題となっていました。

「この受け入れがたい失敗に関して、我が開発チームの誰かに罰が与えられるべきです」

というメッセージと共に、Lukeさん、Jamesさん、Martinさん、Chrisさんの4人の誰を責めるべきか選んでくれ、というボタンが出てきます。

誰か一人を選ぶと、

選んだ人に「おまえは解雇だ!」というメッセージと、うなだれた当人の写真に。選ばれなかった3人がいい顔してますね。

「彼は暇な時間がいっぱいできたから、クリンゴン語検定の勉強がはかどるね」と。ここのメッセージも選んだ人によって変わります。

# なお、このエラーページは responsive デザインで、ページ幅が少ないモバイル端末等では、このネタは表示されません。PC で見てください

reddit のコメントで出てた、同じ種類の他の404ページも紹介します。

What Uni?404ページ。4人並んでるところといい、だいぶ上の例と似てますね。「誰を責めるか?」でボタンを押すと、その社員の失業に絡めたネタのメッセージが出るのも同じ。

スポーツ・イラストレイテッド404ページでは、

「どうしてこんなことに? エドがまたやらかしたからだ」というメッセージと共に、エドさんの写真が出され、「解雇」「もう一回チャンスをあげる」を選ぶボタンが表示されています。

3つのサイトとも、ユーザーが満足できなければ「解雇」しちゃう、という作りになっているところ、もちろん本当に解雇するわけもないんですが、ジョークとしてはキツイですね。そういうジョークをやっても大丈夫な会社・社風なんだよ、というアピールもあるのかもしれませんが。

via reddit

米ドミノピザ、くずれないピザのために道路の穴を直す事業を始める

Paving for Pizza (ピザのための舗装)は、ドミノピザがアメリカで始めたキャンペーン。

「道路の穴、ヒビ、凸凹などは、あなたがドミノピザを家に持ち帰る際にピザに修復不可能なダメージを与えることがあります。ピザの上のチーズが片方に寄ってしまったり、トッピングが落ちたり、ピザが裏返ってしまうことに、私たちは耐えられません。これらの悪路からピザを守るために、全国の街で舗装をお手伝いすることにしました。」

サイトのトップでは、路面の状態の4段階のひどさにあわせて、運ばれるピザがどのようなトラブルに合うかを、ボックス内カメラで撮影したものを見ることができます。

すでにプロジェクトは始まっていて、カリフォルニア州バーバンクテキサス州バートンビルデラウェア州ミルフォードジョージア州アセンズで、自治体と協力して道路を補修したそうです。

工事の車にドミノのロゴが。

直した個所にもロゴ。宣伝効果もあるのかな。ピザを運んでるドライバーからは見えないような気がするけども。

サイトから「自分の街も直しに来てくれ」と依頼を投げられるようになっています。この補修チームが直せる道路の量なんてたかが知れてると思いますが、本来自治体がやるべきだが予算が無かったりして荒れているところに、大企業が宣伝の形で手伝うという形、自社の宣伝をしつつ社会問題にも注目させるという意味ではいいキャンペーンなのではないでしょうか。

ピザのために道路を直す、という無理のある動機も、笑い話としてソーシャルで伝搬しやすいかもしれません。

via Jalopnik

ニュージーランドがない世界地図

blocks で公開されたスニペットMaps with New Zealand(ニュージーランドのある地図)は、ページの右下に常にニュージーランドを表示するというJavaScriptコードです。でもなんのために?

ニュージーランドのない地図(Maps without New Zealand on them) という名前の reddit 掲示板があり、ここではニュージーランドを描き忘れている世界地図の事例を、様々な人が報告しています。

「日本で見た」というのもいろいろと出てきます。

日本だって端っこの島国なので、仲良く両方ないケースも。

毎日のように投稿があるのがすごいですね。毎日世界のどこかで、ニュージーランドを忘れた世界地図が見つかっている。それぐらい忘れられている(笑)。

この reddit グループについてはBBCニュースも過去に取り上げています。このreddit掲示板を元ネタに、イギリスの街頭で人々に「この世界地図に欠けている国があります。さあどこでしょう?」というクイズを出す様子を伝えているのですが、とてもイギリスっぽい企画。

さらには、ニュージーランド政府自身のサイトで、存在しないページを表示しようとすると、エラーページとしてこんなのが表示されます。

「申し訳ありません。何かが足りないようです…」 一緒に表示されるのは、ニュージーランドのない世界地図…

忘れられることが多すぎるから慣れちゃっているのか、忘れられてしまうような遠くて小さな存在であることを逆に特徴として楽しんでいるのか。やたらに怒ったり抗議したりするのとは一味違う対応ですね。

via Maps Mania

人が見ていると恥ずかしがってちゃんと動かないソート関数

Lynnさん(@chordbug)がツイッターで公開したデモがこちら。

https://twitter.com/chordbug/status/1005701513719754752

「見てる時だけちゃんと動くソート関数を書いてみた」

JavaScript で書かれた sort() という関数に配列を与えて呼び出しています。

カメラに正面から顔が映っている状態では正しくソートされた結果が返ってくるのに対して、横を向いたリ顔を隠したりした状態で呼んだ時には、結果は毎回異なる適当な順番になっています。

もう一つの動画もあって、こちらは逆に「見ていると緊張して正しくソートできない」関数のデモ

https://twitter.com/chordbug/status/1005703638323429377

リプライでの質問に対して、Lynnさんはこのウェブページのソースコードを公開してくれています。

tracking.jsという人の顔を認識するライブラリのサンプルをベースに、顔が認識されている時のフラグを用意して、フラグがオンの時だけ正しくソートし、そうでない時はランダムに並べていることがわかります。

ブラウザのカメラ入力を許可し、JavaScriptコンソールで同じように sort() を呼び出すと、手元でも動かすことができました。

手近にあった顔の映った写真を使いました。仕組み上は視線の向きは関係ないので…

ブラウザ上のカメラ入力からの顔認識、こんなに手軽に使えるようになっているんですね。今回の「顔が映ってたら画面を見てることにする」というアイデアだけでなく、これまで無かったページ上のギミックが考えられそうです。

スマートスピーカーで銃を撃たせるアート

テクノロジー系アーチスト、アレクサンダー・レーベンさん(Alexander Reben)の、Google Home を命じて銃(おもちゃの銃ですが)を撃たせる、というだけのアートが YouTube で公開されています。

スイッチで動くものは、スマートスピーカーからスイッチを入れることができるので、何だって起動できるのは当たり前で、そりゃ銃だって大砲だって大陸間弾道弾だって発射できるだろうとは思いますが、それでもやはり兵器(おもちゃですが)を起動するという絵面のせいか、そこそこの注目を引いたようです。コメント欄などでも議論が続いています。

同じレーベンさん、これ以前にも人間の命令ではなく自分で人を刺すロボット first lawというのを公開しています。

first law(第一条)は、アシモフのロボット三原則の一番目「ロボットは人間に危害を加えてはいけない。人間が傷つくのを見過ごしてもいけない」のことを指していますね。

これも近づいたら刺すという、仕組みとしては極めて単純なロボットです。

ここから「いずれロボットが人類を…」みたいな話に持っていって心配したりするのはどうかと思いますが、これらのアートがメディアでも取り上げられているようなのは、そのあたりをなんとなく心配する人たちに受けるという面もあるんでしょうね。

via TheNextWeb

ソースコードコメント – 引継ぎ者への警告


// Dear maintainer:
//
// When I wrote this code, only god and
// I knew how it worked.
// Now, only god knows it!
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 25


// 引き継いだ人へ:
//
// これを書いたとき、なぜこれが動くのか理解してるのは神と自分だけだった。
// そして今、知っているのは神だけだ!
//
// このコードを「最適化」 しようとし、それがどんなに愚かな間違いだったか
// 気づいたときは、下のカウンタを増やして次の担当者への警告とすること
//
// ここで_無駄にした_時間 = 25

こんなコメントの入ったコードが回ってきたら嫌だなあ。

GitHub に、このtotal_hours_wasted_here が含まれるソースコードが結構あって、書かれてる時間も1から200超までいろいろとあるようです。

via QDB and reddit

akky's work blog