カリフォルニア大火災の前後を衛星写真で見比べるサービス

カリフォルニア州サンタ・ロサで発生した大規模な山火事、40人以上の死者を出し、一週間経ってもまだ完全に収束してはいないということです。約10万人が避難し、多くの家が焼けてしまったということで、被害の映像もいろいろと入ってきています。 10月12日、火事の後の衛星写真を使ってRobin Kraftさん(@robinkraft)が作ったのは、この被害地域の衛星写真を火災前と後で一つに並べ、マウス操作でオーバーレイされた二つの画像を見比べることができるサイトです。 左にスライドすると、火事の後の写真が見られます。デフォルトで表示される地域は、地域中の家が燃えて灰となってしまっていますが、画面の左端のあたりでは、延焼が止まって家々が残っています。 赤いところは木々の緑が赤方向にずれているためで、赤外線カメラでの撮影による影響ということです。家が次々と燃えても、家の間の木々は結構残っているものなんですね。 こちらのニュース記事には、山火事が起こった領域が地図に描かれていますが、複数の離れた箇所で発生し、それぞれが大きく燃え広がっていることがわかります。 画像比較スライダー(image comparison slider)などと呼ばれる、比較的新し目のUI、ニュースサイト等でもよく見るようになってきましたが、このような事件で被害の深刻さを見せるには大きな威力を発揮するようです。 via Maps

Comino – 暖房にもなる暗号通貨マイニングサーバ

最近立ち上げられたベンチャーファンド Exantech が、一件目の投資先として選んだのは、仮想通過のマイニングマシンを制作販売するロシア企業 Comino 社です。1000万ドルを投資したその製品は、最近はやりの暗号通貨を生成するためのマイニングサーバ。 イーサリアム(Ethereum)やその他の暗号通貨を掘ることができるという Comino サーバは、ハイエンドのグラフィックカード8枚を搭載し、GPUでマイニングを実行するそうです。 $4999 という値段がついたこのデバイスは、現在一日あたり約10ドルを稼ぐことができるということ。そのために必要な電気代のほうはというと、その4分の1ということ。「ロシアは電気代が安い」とも記事には書いてあるので、他の先進国へ持って行っても同じだけ儲かるわけではなさそうですが。 「寒い時にはヒーターとしても使えます(and use it as a heater in

マジック・ザ・GIFニング – 面白動画を載せたMtGのカードを生成するプログラム

カードゲーム「マジック・ザ・ギャザリング(MtG)」のデータを使ったネタプログラミングが Hacker News で話題となっていました。 Pythonで書かれ、GitHubで公開されているこのツールは、MtGのカードのタイトルに合った内容のアニメーションGIFを埋め込んで、MtGのパロディカードを生成するというプログラム。 生成したカードを定期的にツイッターにつぶやく bot 機能も持っていて、作者自身によるデモアカウント@MTGIFening では、6時間おきに一枚、新作カードが自動投稿されています。 ハウル・フロム・ビヨンド(彼方からの雄叫び)というカード名から生成されたのが、こちらのカード https://twitter.com/MTGIFening/status/913993793052880897 なるほど、雄たけんでるように見えなくもない。 仕組み Readme/ソースによれば、このツールの仕組みはこんな感じ。 カードデータの入手 MTG JSONで提供されている、全カードのJSONデータを取得する。そんなデータが有志によって管理されているんですね。これもGitHub上で管理更新されているようです。日本語データファイルもありました ここからJSONファイルをダウンロードし、それを前処理のスクリプトで必要なレコードのみのcsvを作り、それを使って動いています。 ネタになるアニメーションGIFの入手 アニメーションGIF版 YouTube、みたいなサイトGIPHYにAPIが提供されていて、その中にキーワード検索APIもあるので、ランダムに選んだMtGのカードのタイトルを食わせています。タイトルによってはGIFが見つからない場合もあるみたいですが、その時は見つかるまで繰り返しています。 MtGで検索して最初にでてきたのがこれ。 オリジナルのカード画像に、GIFをはめ込む MtG公式からカード画像を取得し、MoviePyライブラリで、動画の各フレームを書き換えているようです。カードの世代によって画像の位置やサイズが違うので、世代にあわせて埋め込み座標を変えたりもしています。 ツイートする PythonでTwitterを読み書きするTwythonを使い、生成されたGIFをツイッターに投稿させています。 これらをパッケージする Docker ファイルも置いてあり、自分の環境で簡単に再現できます。ツイッターに投稿するところは動かしませんでしたが、ローカルで動かしてみてできた画像がこちら。 [video width=222 height=310 mp4=http://developer.cybozu.co.jp/akky/wp-content/uploads/2017/10/mtg_gif.mp4][/video] コードも完結で短く、データやAPIを組み合わせてうまく作ってるなと思いました。 via

人間の顔を、世界地図の「図法」で表すとこうなる、というコード

Projection face! は、人間の顔を世界地図の上に描いて、図法を変えたらどう歪んで見えるか、というのを見せてくれるウェブサイトです。 図法というのは、メルカトルとかモルワイデとかいうアレですね。代表的なものは社会科で習ったと思います。 D3.js を使って63もの図法で表示してくれますが、ソースコードも公開されています。 一個ずつ選択するのではなく全部を並べて見たい人のために一ページにおさめられたものがこちらになります。 球の表面を二次元で表そうとした時の図法、こんなにたくさんあってそれぞれ名前がついているんですね。 顔をマップしてみるというのは、元々は、1921年に書かれた論文 Elements of Map Projectionに描かれていたものが初出だそうです。100年近く前ですから、この時のプロットは当然手書きでしょうね。 geojson形式のデータを用意すれば、別の絵についても簡単に同様のプロジェクションが作れます。さまざまな図法の違いの体感もできるし、架空の世界の地図で、真東がどこになるか、等距離の場所はどこになるか、等を考えるのに使えたりするかもしれません。 via

イギリス中の自転車事故などを地図上で一望できるwebサービス

Bikedata は、イギリスにおける自転車に関するデータを地図上にプロットした、インタラクティブな情報地図です。 この画面では、道路のどの場所で自転車事故が発生したことがあるか、が、ピンクのマーカーで示されています。 通勤やツーリングの計画を立てる時に、事故が頻発するところを知って避ける、といった使い方もできるでしょうね。スマートフォンアプリなどで、事故の多い場所に近づいたら注意をうながす、みたいなものを作ったりもできるかもしれません。 サイトでは、事故の他にも、交通量、自転車の盗難、駐輪場、サイクルレーンの写真、など、様々な自転車に関するデータを表示することができます。 さらに、このサイトのソースはGPLv3 で公開されています。 元データは国によるもの イギリス政府のデータ公開サイトに、道路の安全データ(Rode Safety Data)というのがあり、ここではSTATS19 という書類で報告された2005年から2014年までの事故のデータが公開されているようです。 100Mぐらいあるデータを見てみたら、こんな感じで緯度経度や日時、事故の状況を表すフラグを持つレコードが大量にあるCSVファイルでした。 こういったデータが公にされているのはいいですね。このデータを API 化して自転車事故について Cyclestreets.net が提供し、それを Google Maps APIなどを使って可視化したのが今回のサービス、ということになります。 via Maps

Corporate Gibberish Generator – 企業名からIT企業のそれっぽすぎる紹介文を作るジェネレーター

Corporate Gibberish Generatorは、社名を与えるとその会社を紹介する「たわごと(gibberish)」を生成してくれるジェネレーターサービスです。Andrew Davidsonさんの作。 適当な社名を入れると、一瞬で英語で会社の紹介文を書きあげてくれます。出てくるのはこんな感じの文章 勇敢に未踏の地を拓き、(未来のある時点で)激烈に進化する企業 サイコイン社はリアルタイム統合品質管理における業界リーダーです。業界標準用語「eテーラー」の意味するところは何でしょうか? eサービス無しにはあなたの会社はメソドロジーを欠いたままでしょう。我々は、加入者コミュニティのキャパシティを再目的化することで進化させます。再仲介のための予算は反復のコストの10分の1以下になるべきです。わたしたちは、貴社がパートナーシップの許容量を変化させることに介在します。開発の要素はたった一語、「定着」でまとめることができます。「説得力がある」仲介とはどのような意味でしょう? 簡潔に言うと、新規テクノロジーを監視する革新的な計画を貴社は所持しているのか?です。最先端の考え方をしましょう。SVG と Apache の融合を想像してください。私たちが、ユーザーの隠れた能力を解き放ち生成します。 A company that can whiteboard courageously

Bloglines にトラブル発生中?

Bloglines にログインしたら、自分の登録したフィードが全部消えてしまってるんだけど。。。。

と思ったらPlumber おじさんに切り替わっていた。データベースクラッシュだそうで。規模の大きなネットサービスはたいへんだなあ。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

イベント + 地図 = 追っかけ支援サイト

EVMapper は、イベント名で検索するとイベントを地図上に表示してくれるサイト。

アクセスすると、サンプルとして エルビス・コステロの名前が入っているので、検索をかけると全米での彼のコンサート開催位置がわかる。自宅の近場のコンサートを探すもよし、全米おっかけツアーを組むもよし。

“Blog” で検索すると、 Blog 関係の催し物が出てきた。興味のあるアーチストや用語で検索してみると面白い。

各種イベント(コンサートやカンファレンスなど)情報を集積する EVDB.com と、Google Map API を組み合わせたもの。

EVDB のほうは、 meetup.com などからもイベント情報を収集しているようだし、API を公開して主催者にもイベント情報を登録することを奨励しているようだ。iCal や RSS も吐いている。

日本にもほしいねこういうイベント情報サイト。マイクロフォーマットで自動収集されるようになるのはまだまだ時間がかかりそうだし。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

regist という英語は無い

さて、サイボウズラボの立ち上げプレスリリースが出たこの瞬間、とりあえずこのブログを見に来る人も多いと思われる。そんなチャンスに、このブログを読んだ人、特に日本のソフトウェア技術者に一番訴えたいことってなんだろう? と考えた。

それは、日本人プログラマーだけが使う謎の動詞 registについてである。そんな単語は存在しないから、ちゃんと “register” を使おう。

出てくるのは日本語のサイトばっかりである。拡張子を”.jsp” や “.asp” にしても同様だが、とにかくこの「存在しない単語を使ったファイル名」のなんと多いことか。

register = 「登録する」 は、名詞でもあり動詞でもある単語だ。”-er” がついた単語は「○○する人」の意味のことが多いため、”er” をはずした “regist” が動詞だと勘違いしてのことだと思う。

これに比べれば、たまにスラッシュドット.jp や技術系のメーリングリストで話が出てくる、 warning や alt の正しい読み方なんて小さい問題だ。

この存在しない動詞 regist 、仕事でだけでも過去に3回見たことがある。そのうち一回は、”regist” を “register” に直すだけで1年半かかった。

あるプロジェクトに途中から入ったとき、外部への公開 API を読んでいたら、なんか違和感を感じた。登録用の関数の関数名 “regist” を辞書で確認してみると、そんな単語は無い。「登録」なら “register” だ。

天下の○○○が、間違った英語を API に含めて出してるのはまずいと思ったので、会議の際に議題にあげてみたのだが、どうも反応が薄い。「すでにその名前で呼び出している他のプログラムがあるので」とか、「関数名を変えてビルドすると全部再試験になるので」(そのプロジェクトには、自動ビルドとか自動テストという概念は無かった)とか、まあとにかくいろんな理由で、直さないという決定になったもんだ。

結局、regist を register に直せたのは、メジャーアップデートのタイミング、気づいてから一年半後だった。

ソフトウェア技術者として、英語は避けることができない要素だし、「名前重要」が身についているなら、常に書いている英単語が正しいかどうか、辞書でチェックすべきだろう。

今このエントリを読んで、「おお、そういわれると間違っていたかも」と思って自分の過去のソースをチェックしよう思ったなら、それが技術英語を身につけるための正しい態度だと思う。

正しい英語名をつけることに気を配っていると、その場その場では余計な時間が取られるような気がするだろうが、「英語で変数名や関数名をつける能力」は簡単に伸びるものなのだ。

帰国子女でもないし海外留学もしたことがない僕が、アメリカでアメリカ人に指示を出す仕事ができたのは、日本にいたときでもそういう細かい作業の積み重ねをしていたからであると思う。

とは言っても、辞書を引くのも適切な単語を調べるのもたいへんなことだ。アプリケーションやウェブサイトを使って、さっと簡単に調べるにはどうすればよいか、どんな道具を使っているかについては、次回に(いつか。すっかり忘れていた)述べたいと思う。

[2006-10-06 追記]

Googleのソースコード検索が出たので、“regist”を使っているソースを検索してみた。件数は3万件でるが、先のページをみても全14件しか出てこない(バグ?)。14件のコード中の署名などから、”regist”を使った人の国籍を推定してみたのが以下。

日本人 7人
不明 3人
フィンランド人 1人
スウェーデン人 1人
ドイツ人 1人
アメリカ人(カリフォルニアの大学、ということで英語ネイティブかどうかは不明) 1人

半数は日本人だった。圧倒的じゃないか。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

サイボウズラボのブログ開始

最初のエントリーということで、軽く自己紹介をさせていただく。

新しくできるサイボウズラボのプログラマー。2005年7月末まで、アメリカの子会社 Cybozu Corporation にて研究開発を担当。つまり、これを書いている時点ではまだアメリカ在住ということ。

得意技は英語での技術調査とビルド管理。一番好きな言語は Java。あと使えるというレベルではないが Ruby が気になってしょうがない。

Cybozu Corporation での「日本語製品の英語化、国際化」の経験についても、近いうちに書きたいと思っている。

以後お見知りおきを。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

akky's work blog