たつをの ChangeLog : 2016-04-27

二地点の緯度経度から距離を得る必要が出てきたので、調べてみるとヒュベニの公式というのが簡単でよいみたい。
ということで、「やまだらけ」さんによるJavaの実装[1]を Perl に移植しました。
使っている測地系は GRS80(世界測地系)のみです。

■コード (latlong-distance.pl):
#!/usr/bin/env perl
use strict;
use warnings;
my ($lat1, $lng1, $lat2, $lng2) = @ARGV;
my $d = calcDistHubeny($lat1, $lng1, $lat2, $lng2);
print "$d\n";
sub calcDistHubeny {
    my ($lat1, $lng1, $lat2, $lng2) = @_;
    my $PI = 3.14159265358979; # atan2(1,1)*4;
    my $a = 6378137.000; # $GRS80
    my $e2 = 0.00669438002301188; # $GRS80
    my $mnum = 6335439.32708317; # $GRS80
    my $my = (($lat1 + $lat2) / 2.0)  * $PI / 180.0;
    my $dy = ($lat1 - $lat2) * $PI / 180.0;
    my $dx = ($lng1 - $lng2) * $PI / 180.0;
    my $sin = sin($my);
    my $w = sqrt(1.0 - $e2 * $sin * $sin);
    my $m = $mnum / ($w * $w * $w);
    my $n = $a / $w;
    my $dym = $dy * $m;
    my $dxncos = $dx * $n * cos($my);
    return sqrt($dym * $dym + $dxncos * $dxncos);
}

■実行例: サンプルデータは[1]より。
./latlong-distance.pl 36.10056 140.09111 35.65500 139.74472
58502.4589312411
./latlong-distance.pl 35.65500 139.74472 33.59532 130.36208
890233.06430987
./latlong-distance.pl 35.802739 140.380034 35.785796 140.392265
2180.94846976372

出力の単位は m(メートル)です。

参考文献


キンドルで扱われているプログラミング書籍から特におすすめの3冊を紹介します。




Code Complete


1冊目は「Code Complete」。

上下巻あってかなりのボリュームですが、プログラマーなら一度は目を通してほしい基礎的な内容の本です。
「基礎」といっても「簡単」というのではなく、この先のプログラミング活動に「重要」だという意味です。
大学院のときに有志で輪講しましたが、読後はプログラミングに対する姿勢が変わりました。

【電子合本版】Code Complete 第2版 完全なプログラミングを目指して 電子書籍: Steve McConnell

この電子書籍は、「Code Complete 第2版 完全なプログラミングを目指して」の上下巻を1冊にしたお得な合本版です。
Code Complete 第2版 上 完全なプログラミングを目指して

ソフトウエア開発の方法論を幅広く網羅した入門書。上巻は設計やプログラミング、下巻はテストやデバッグを扱う。
計1200ページを超える大部だが、ソフト開発プロセスを建築設計にたとえるなど、難解になりがちな内容を分かりやすくまとめている。

プログラミングでお金を稼いでこの先生きのこるためにぜひ。

なお、私は書籍版を捨ててキンドル版を書い直しました。

ピープルウエア


2冊目は「ピープルウエア」。

IT技術者として健康的に効率的に楽しく働くためのあれこれについて。
仕事環境の重要さが説かれています。
学生のうちはピンとこない点もあるかもしれないですが、働き始めると「ああ、なるほど」と思うこと多々。

ピープルウエア 第3版 [Kindle版] : トム デマルコ;ティモシー リスター, 松原 友夫;山浦 恒央;長尾 高弘

開発プロジェクトで技術よりも何よりも大事なもの——それは「人」。一人一人の人格の尊重、頭を使う人間にふさわしいオフィス、人材の選び方・育て方、結束したチームがもたらす効果、仕事は楽しくあるべきもの、仕事を生み出す組織づくり、という6つの視点から「人」を中心としたプロジェクト開発の大切をユーモラスに語っている。1987年の初版発行以来、多くのソフトウエア・エンジニアの共感を呼んだ名著の改訂第3版。

最近、初版のときの読書メモを公開しましたのでご参考に。
リンクとメモの一部を載せておきます。
  • 「ピープルウエア」の読書メモ蔵出し[2016-04-26-1]
    意外なことに、残業の真の目的は、仕事の量をこなすことよりも品質向上のためなのだ。(略) まともな仕事をするには、朝早くオフィスに来るか、夜遅くまで残っているか、あるいは会社の喧騒を避けて一日中自宅にこもるしかない。
    オフィスの騒音が仕事にならない程ひどくなると、みんなが静かな場所を見つけて雲隠れする。会議室を予約して中にこもったり、図書館へ足をむけたり、はては、コーヒーを飲みに行くと出かけたまま戻らなかったりという具合だ。(略) ただ、仕事に集中するために身を隠すのである。
    ソフトウェア開発部門では電話のベルがうるさくて仕事に没頭できないことがわかった。そこで、スイッチOFFやティッシュペーパー作戦など電話のベル対策をアドバイスした。(略) しっかりと頭の中に叩き込んでほしいのは、かかってきた電話のすべてに対応しなくても、全く何の問題もないということだ。それともう1つは、会社での自分の時間(もちろん量だけでなく質もあるが)をもっとだいじにすることである。
    研究者に勝手に研究をやらせるという考えは、あるコピー機会社であったように逆効果をもたらすことがよくある。その会社にいた優秀な研究員は、自分達がパロアルト研究センターで考えたアイデアを、会社が一向に商品化する気がないとわかって、会社をやめた。

闘うプログラマー


3冊目は「闘うプログラマー」。

闘うプログラマー[新装版] ビル・ゲイツの野望を担った男達: G パスカル ザカリー, 山岡 洋一

1980年代にMS-DOSをもってデスクトップ型のパソコン市場を制したマイクロソフト社は、90年代、高性能コンピューターのための「本物」のオペレーティング・システムを開発するプロジェクトを立ち上げます。本書は、同社の世界戦略を担ったOS「ウィンドウズNT」の開発物語です。ウィンドウズNTは後にウィンドウズXPの基盤となり、信頼性の高いOSとして世界中のユーザーに使われることになります。
このプロジェクトのため、同社に「伝説のプログラマー」が呼び寄せられました。彼の名はデビッド・カトラー。形容する言葉も見つからないほど強烈な個性を持つこの男を主人公に、開発者たちの壮絶な人間ドラマが展開します。100人を越える関係者とのインタビューに基づき、凄絶なソフトウェア開発の実態が赤裸々に描き出されています。本書は、単なる企業内の開発ストーリーという範疇を超えた、ノンフィクションの名作と評価されています。

強烈ですが、プログラマーなら一度は読むべき読み物。
一緒に働きたくはないけど、開発の方法論など参考になります。
こういう壮絶ストーリーには良い面も悪い面もある、ということで。

私の感想文(2005年)もどうぞ:
  • 読書会で「闘うプログラマー」[2005-11-20-1]
    仕事中毒スーパーハッカー猛烈マネージャーのカトラーが Windows NT を開発する物語です。強烈です。部下も憑かれたように仕事に熱中してます。
    家庭も崩壊です。すごすぎ。プロジェクトXのような感動が得られますが、なんというか、やはりこういうところでは働きたくないですね。
    とは言え、見習うべきところ、参考にすべきところは多い本です。

渋谷区の子供科学センター「ハチラボ」に新しい展示物として、偏向板を使ったものがありました。
2つ紹介します。

まずは偏光板の虫眼鏡で覗くと宝石みたいにキラキラするやつ。



仕掛けはというと、白い紙にセロハンテープがランダムに貼られているだけ。
光の反射具合が変わるんでしょうね。

そして次は、何かが入っている入れ物。
フタが偏光板になっていて、くるくる回すと中身が見えたり消えたり。



以上、簡単ながら驚きのある展示物でした。
面白いですよね、偏光板。

ハチラボの展示物


2016年4月27日のヲハニュースをお届けします。

クジラ雲がたくさん!わいわい

Yahoo! JAPAN 20周年を記念して、1996年当時のYahoo! JAPANトップページを再現しました - Yahoo! JAPAN
20年前のヤフーのトップページ。
ノスタルジー。

地震雲を不安に思う方への雲研究者からのコメント(参考画像追加) - Togetterまとめ
面白い!
そして、著書「雲の中では何が起こっているのか」が気になる。


【要注意】トイレの中に怪しい物を発見→盗撮カメラだった「マジかよ分かんないよこんなの」色々ありすぎて一同困惑 - Togetterまとめ
これ怖いよね。
トイレで見つけたらべりっと剥がしちゃおっと。

ようやく日本人のエビデンス登場 糖質制限食vsカロリー制限食|カラダご医見番|ダイヤモンド・オンライン
ふむふむ。

アトピー性皮膚炎、ワセリンで発症を予防できる可能性:朝日新聞デジタル
そりゃまあ保湿をちゃんとやれば発症を予防できる可能性は高くはなるでしょうねえ。
なにはともあれ保湿は大切ですね。

もうバッテリーがないとは言わせない。バケモノ級の大容量ポータブル充電器登場! : ギズモード・ジャパン
巨大なモバイルバッテリー。

平成10年生まれ「何で平成一桁生まれの人たちって、がんばってフリック入力でTwitterしてるんですか?」 - Togetterまとめ
お、おう。

中国、スマホの中の「女神」たち 私生活さらし月収200万円 - Yahoo!ニュース
動画中継で稼ぐ!

秘密のアキラさん | 川邊明 | 本 | Amazon.co.jp

香港、タイ、日本を行き来しながら、最高級ホテルで生活。 一流料理店やエルメスのVIPとして充実したプライベートを送る一方で、 国内外で手掛けたビジネスを次々と成功させる、敏腕実業家としての顔も持つ。 億万長者として優雅に生きる「アキラさん」だが、 スタートは「究極の貧乏暮らし」、そして10年以上にわたる借金地獄だった——。 闇金に追われる超ブラックな日々を一転させ、 今や香港でブラックカードを手にしているアキラさん。 その成功の礎となったのは、自身が定めた「45のルール」だった。
献本いただきました。ありがとうございます。

これからの世界をつくる仲間たちへ | 落合 陽一 | 本 | Amazon.co.jp

人呼んで「現代の魔法使い」。世界が注目する異能の研究者が語る「すべてが変わる近未来」-「ほんとうの21世紀」がやってきた今こそ、知っておくべきことがある。
献本いただきました。ありがとうございます。
魔法の世紀」の著者ですね!
いまKindleで読んでいるところです。

たつをの ChangeLog
Powered by chalow