Facebookの地図に出ている建物の話
Facebook で表示されている OSM の地図に建物を出すには、エリアとして登録しなきゃいけないんじゃないだろうか。という話。
Facebook で、新しい魚屋ができたという投稿を見て、どこにあるのか見てみたら、いくつかのことに気づいた。
ひとつは、地図に OpenStreetMap (OSM) を使っていること。もうひとつは、近くの建物の情報が妙に少ないことだ。病院や薬局、郵便局、そしてビデオCITY文京店が表示されている。ちなみにゲンキーは福井とかではメジャーなドラッグストアです。
これは単に福井で OSM に載ってるデータが少ないからじゃないの?と思って同じ場所を OSM で見てみたら、結構情報があった。
Facebook の地図で病院や薬局、郵便局が表示されているのは、比較的重要な建物だからだろう。にしてもなぜレンタルビデオショップが出ているのか。これを出すならコンビニとか銀行とかも出していいんじゃないか。
もうちょっと詳しい理由が知りたいと思って、OSM で編集画面を開いてみたら、違いがすぐに分かった。
左側の福邦銀行は、ポイントとして、右側のビデオCITY文京店は、四角いエリアとして記録されていた。おそらく Facebook で表示している地図では、エリアとして記録されている情報を表示しているんだろう。
検証のため、ポイントとして記録されていたファミマを削除して、同じ場所に作られていた無名のエリアをファミマにしてみた。そのうち Facebook の地図でファミマが表示されるようになったら成功ってことで。
沼津においでよ
沼津においでよ、ラブライブ!サンシャイン!!
静岡県沼津市の海辺の町、内浦にある私立浦の星女学院。
駿河湾のかたすみにある小さな高校で 2年生の高海千歌を中心とした9人の少女たちが、大きな夢を抱いて立ち上がる。
沼津においでよ、ビールがうまい
ベアード・ブルーイングは、 2000年にブライアン・ベアード&さゆり夫婦が沼津に設立した合資会社。 ビールへの深い愛情と、ビール醸造の歴史、伝統、文化に対する 尊敬の念から生まれた家族経営の会社である。
沼津においでよ、魚がうまい
沼津内浦漁協直営いけすやの活アジ丼
沼津においでよ、水族館が3つもある
Aqours 2nd シングル「恋になりたいAQUARIUM」の舞台は伊豆・三津シーパラダイス
恋になりたい AQUARIUM のドラマパートで2年生が行ってるのがあわしまマリンパーク
※最初、あわしまマリンパークには水族館がないと思ってて2つと書いてましたが、5/1に修正しました
- アーティスト: Aqours,伊波杏樹,逢田梨香子,諏訪ななか,小宮有紗,斉藤朱夏,小林愛香,高槻かなこ,鈴木愛奈,降幡愛
- 出版社/メーカー: ランティス
- 発売日: 2016/04/27
- メディア: CD
- この商品を含むブログ (3件) を見る
沼津においでよ、沼津御用邸記念公園
沼津においでよ、いい温泉あるよ
沼津においでよ
Open Street Map に登録したデータのライセンス
μ'sのファイナルライブでもぬけの殻になったので、少しでも回復しようとサンシャインの舞台沼津市のマッピングパーティーに参加してきました。
ゴーゴー沼津は浦の星 pic.twitter.com/87XcaOIYFS
— りちゃ (@rch850) 2016年4月8日
そこで集めたデータの扱いについて「単にデータを OpenStreetMap (OSM) に登録するだけで終わってしまうともったいないかもよ」という話が出たので、調べてみました。
まず、OSM に登録したデータは基本的に Open Database License (ODbL) が適用されるようです。
OpenStreetMap® はオープンデータであり、Open Data Commons Open Database License (ODbL) の下にライセンスされています。 https://www.openstreetmap.org/copyright
OpenStreetMapデータ は Open Database License の下にライセンスされています。 http://wiki.openstreetmap.org/wiki/JA:Legal_FAQ
ODbL そのものについては、ODbL の要約、和訳 に(原文に比べれば)わかりやすく書かれています。
表示や継承といった表現が使われていますが、これらの義務が必要かどうかは ODbL のデータの使いみちによって変わります。OSM のユースケースにいくつかのケースが書いてあります。それらは大きく2つの概念で言い表せます。
- 制作著作物:作成する際にOSMを利用して公開した著作物。「表示」が必要となる
- 派生データベース:何らかの方法でOSMのデータを基にしている、または派生したデータを含んでいるデータセット。「継承」が必要となる。
アプリのようなものを作る分には「表示」だけで済みますが、データセットを作ろうとすると「継承」しなければなりません。ここに「もったいない」があります。
Google マップに載っていないデータを集めるためにマッピングパーティーに参加しているという人もいると思います。集めたデータが Google マップに載るといいですよね。でも、集めたデータのライセンスが ODbL になると、おそらく Google マップには載りません。
Google が ODbL のデータを Google マップに表示するためには、Google が持っているデータベースに ODbL のデータを組み込むことになると考えられます。そうなると、組み合わさったデータが「派生データベース」になり、データベースを公開する必要が出てきます。Google などがデータベースを公開するかというと「???」なわけです。
ではどうすればいいかというと、データを別の場所でゆるいライセンス、例えば CC0 で公開するという手があります。 CC0 などのライセンスで公開しておけば、Google などは何の抵抗もなくそのデータを取り込めます。
まとめ:OpenStreetMap にデータを登録すれば OpenStreetMap は充実しますが、別途 CC0 などで公開しておくことでデータの活用範囲が広がります。
Docker 1.10.2 (Windows) インストール備忘録
2016/04/22 追記
以下の対処をしたら動くようになってました。
- パスが通る場所に置いてあった ssh.cmd を削除
- VirtualBox を新しくした (5.0.18)
Windows で docker 1.6.2 から 1.10.2 に上げるときにだいぶハマったのでメモ。
1.10.2 のインストーラで入った Docker Quickstart Terminal を起動してみたらこのように表示されて起動できなかった。
(default) Creating VirtualBox VM... (default) Creating SSH key... (default) Starting the VM... (default) Check network to re-create if needed... (default) Windows might ask for the permission to create a network adapter. Some times, such confirmation window is minimized in the taskbar. (default) Found a new host-only adapter: "VirtualBox Host-Only Ethernet Adapter" (default) Windows might ask for the permission to configure a network adapter. S ometimes, such confirmation window is minimized in the taskbar. (default) Windows might ask for the permission to configure a dhcp server. Somet imes, such confirmation window is minimized in the taskbar. Error creating machine: Error in driver during machine creation: Unable to start the VM: exit status 1 Looks like something went wrong... Press any key to continue...
表示されたエラーメッセージで検索すると、いくつかの issue が引っかかった。
- https://github.com/docker/toolbox/issues/383#issuecomment-182671671
- https://github.com/docker/toolbox/issues/153
default VM を消せとかホストオンリーネットワークを消せとかアドバイスが書いてあるけど、何をしても改善されない。
試しに VirtualBox から直接 VM default を起動してみたらやはりエラーが出て、STATUS_OBJECT_NAME_NOT_FOUND などと書かれていた。
これも同じくエラーメッセージで検索してみたところ、VirtualBox のフォーラムの投稿がヒットした。
sc query vboxdrv を打てば詳細が分かるってことなので、管理者権限で開いたコマンドプロンプトで試しに打ってみたところ、こうなった。
PROMPT> sc query vboxdrv SERVICE_NAME: vboxdrv TYPE : 1 KERNEL_DRIVER STATE : 1 STOPPED WIN32_EXIT_CODE : 2 (0x2) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 PROMPT> sc start vboxdrv [SC] StartService FAILED 2: 指定されたファイルが見つかりません。
どうもサービスが動いてなくて、起動しようとしても失敗するっぽい。さっきの投稿を読み進めると、STOPPED になっている場合の対処方法が書いてあって、VBoxDrv.inf を使ってドライバをインストールしろとのこと。インストールして再度サービスを立ち上げてみたところ、
PROMPT>sc start vboxdrv SERVICE_NAME: vboxdrv TYPE : 1 KERNEL_DRIVER STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 PID : 0 FLAGS :
となって無事起動できた。
これで一旦クリアな状態にして試せば大丈夫か?と思って、default VM やホストオンリーネットワークを削除し、再度 Docker Quickstart Terminal を起動してみたら、Waiting for an IP... でしばらく返ってこなくて、下記のエラーが出てしまった。
(default) Waiting for an IP... Error creating machine: Error in driver during machine creation: Too many retrie s waiting for SSH to be available. Last error: Maximum number of retries (60) e xceeded Looks like something went wrong... Press any key to continue...
どうも default VM の IP が取れないっぽい。無理やりやればなんとか取れないこともないはず。
VirtualBox で default に入って ip addr
してみたら、IP アドレスが 192.168.99.100 になっていることが分かった。もちろんこれは DHCP だから、この IP アドレスで固定ってわけではない。
ssh docker@192.168.99.100 -i ~/.docker/machine/machines/default/id_rsa
したら default VM の中に入れて、なんとかそれっぽい操作ができるようになった。
あとは Docker Quickstart Terminal を起動するだけでつながるようになればいいんだけど、ここまで調べるのでだいぶ消耗したので一旦ここで一区切り。
婚姻届受理証明書を使った話
突然ですが、昨年11月に入籍しました!
などと書いても「お前誰だよ」と言われるだけなので、入籍に関わる TIPS をひとつ書いておきます。
入籍や新婦の転居の手続きを始める前に読んでおくといいかもしれない TIPS です。
ざっくり抽象化すると、本籍から離れて住んでいる人が同棲を経ずに入籍するときに、このパターンに該当する可能性があります。
経緯
僕が入籍したときの状況は、おおまかにこうでした。
- 入籍前の同棲はせずに、入籍後に新婦が別の市から引っ越してくるパターン
- 新婦は入籍前に転出証明書を交付済み
- 新郎、新婦、ともに福井県在住。でも婚姻届の提出先は茨城県(僕の本籍地です)
- 入籍後の姓は夫の姓を選択
入籍後に新婦の転出証明書を交付するとバタバタしそうなので、入籍前に交付したのですが、これによって転出した新婦の姓が旧姓になってしまっていました。
この転出証明書を持って行って転入手続きをすると、婚姻届の提出後であっても、姓が違う2人が同居しているだけの状態となってしまう可能性があるそうです。
なぜこうなるかというと、茨城に出した婚姻届の情報が福井に反映されるまでにある程度時間がかかるからです。 新婦の姓が変わったことを知らない福井の市役所は、旧姓の新婦として処理するしかなく、 いったん旧姓で転入してから、後で姓を変えるなどの処理が発生し、戸籍をきれいな状態にできないかもしれないとかなんとか。
婚姻届受理証明書を使う
そんなわけで役所の人に勧められたのが婚姻届受理証明書の利用です。
転入の際に、転出証明書と一緒に婚姻届受理証明書を提出することで、福井でも確実に新しい姓で転入することができます。
婚姻届受理証明書は、婚姻届を提出した先の役所でのみ取得できます。受理したことの証明書なので当然といえば当然ですね。
婚姻届受理証明書の交付に際しては、交付申請書、免許証などの本人確認書類、手数料350円などが必要となります。
詳しい話は
- 婚姻届受理証明書とは?もらい方や基礎知識など│結婚塾
- 受理証明書 | 水戸市ホームページ (一例ですよ!ご自身の自治体を確認することをおすすめします)
などを見てみてください。
僕は茨城で婚姻届を出して、福井に帰ってから郵送で婚姻届受理証明書の交付手続きをしたのですが、郵送は郵便小為替や返信用封筒を用意するなど、手間がかかります。
できれば、婚姻届を出すのと同じタイミングで婚姻届受理証明書ももらえるといいですね。
Q&A
Q: 現住所に提出すれば面倒なことにならずに済む?
A: そうだと思います(役所に確認したほうがいいです)。茨城で結婚式挙げて、同日に入籍したかったので面倒なことになってしまいました。
ISUCON5の予選抜けました
出よう出ようと思っていて、毎年気づいたら終わっていたISUCON。
ついにチーム「へしこず」として出ることができました。
そして……予選突破しました!やった!
開始前は Node.js でやろうとチームで話していたのですが、
#isucon Node.js を書きたがってるんだ pic.twitter.com/GyeGtBxdwT
— りちゃ (@rch850) 2015, 9月 26
心が Node.js を書きたがってるんだ……ということで、書けずに、Ruby で戦いました。Sinatra に mysql2-cs-bind なら俺達でも分かる!
※ラップトップが4台見えますが、ひとつは観戦者のものです。
※なんで心叫かってーと、ふくもく会その8〜心がもくもくしたがってるんだ〜の会場で参戦してたからです。
最初に素の状態でベンチマークとって、200点前後だということが分かり、そこからチューニング開始。開始から2時間半ぐらい、前回のスコアが800点ぐらいだったから、次は2000点ぐらい行くかなと思ったベンチマークで、突然の3000点超えで暫定トップに。
「あれ、3000点超えてる!?」
「えっ!?他のチームまだ2000点台だし、これってそういうこと?」
と、割と混乱気味なまま、本戦出場条件の「1日目,2日目でそれぞれ指定の点数に最も早く到達したチーム」を達成て本戦出場が決まりました。
やったことはというと、
- 役割を分担して、こまめにお互いの進捗を共有
- Chrome devtools でざっとサイトのパフォーマンスの様子見
- nginx のログ出力項目増やしてベンチマーク走らせてボトルネックを見つける → GET / に的を絞る
- インデックス効いてないクエリを見つけてインデックス張る
- MySQL はスローログ取って mysqldumpslow で重いクエリを探す
- ruby のコードでもログを取って重い処理を探す
- nginx, unicorn, ruby でそれぞれチューニング
ざっとこんなところです。最終スコアは12616でしたが、そのほとんどが
の3点で稼いだスコアだと思います。
あまり元の設計を変えないスタンスでチューニングしていたんですが、20000点などに伸ばしていくには、そもそもなところを書き換えていかないといけないんだろうなーと感じました。
本戦に行っても、島村卯月チームへしこず、頑張ります!
運良く今週末には今週末の福井技術者の集いがあるので、今回の予選の話とかをしようと思います。