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

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

The Guts Game – お腹に飲み込んだ温度センサーを調整して相手と競うゲーム

まだ試作段階のようですが、新しいUI(ユーザーインタフェース)を追及しているという Exertion Games labs による他にない入力方法のゲームが、小さな温度センサーを飲み込んで競う、胃腸温度ゲーム The Guts Game 。 飲み込んだピルの温度センサーで測った温度が、お互いのスマートフォンアプリに表示されます。ピルの長さは23mmということ。腰回りにはピルからの温度情報を電波で受け取る中継器を巻く必要がありますが、体の外側で計る温度計などに比べると、日々の行動や運動などによる測定エラーや温度の誤差を少なくできたということ。 スマートフォン上のゲームでは、この体内温度を上げたり下げたりする目標が提示されて、対戦する二人のプレイヤーのどちらがその目標温度に近づけられるか、を競います。 ピルが胃にあるまでは、温度操作は比較的簡単だそうです。温めたければ温かいものを食べればいいし、冷やしたければ冷たいものを飲めばいい。 しかし、腸に入ってくると、その方法では温度調整ができなくなります。運動や、サウナ・プールなど体全体を違う温度に置かないと、腸の中の温度は変えられないのだとか。 https://www.youtube.com/watch?v=KuMZ9-dN8ic これまでに協力者を含めて14名がプレイしたそうです。今のままのゲームではそこまでやってみたい人は増えないようにも感じますが、体内の温度センサーを入力に使う、という前例から、今後アイデアをうまく使ったゲームやサービスを考える人が出てくるかもしれませんね。 via Exertion Games

Ruby on Rails に影響を受けたPHPフレームワーク(2005)のその後

ブログの過去記事 Ruby on Rails の PHP 移植プロジェクト で、「Ruby on Rails を PHP で」という触れ込みで2005年当時に売り出していた3つのフレームワークを紹介していました。 その3つのフレームワークが現在どうなっているかを調べました。 CakePHP 13年後の今も健在ですね。最初のとっつきやすさから人気が出たのと、日本語に紹介する人が多く熱心だったこともあって、一時期は一番人気のPHPフレームワークでした。今は PHP

それがサイボウズラボである必然性は?

景気が良かろうが悪かろうが、よい人材を獲得する必要性は変わらない。サイボウズラボでは、「日本でもトップクラスの技術者を集め、世界に挑戦する」ことを目標としているが、言うだけなら誰でもそんなことは言える。また、よい技術者を集めている会社もたくさんある。

では、あなたの技術力を高く評価してくれる会社が複数あったとして、なぜそこからサイボウズラボを選ぶべきなのか? 思うところを書いてみる。

現在の日本に、ソフトウェア製品で海外に打って出よう、という会社はどれぐらいあるだろうか?

僕が3年半前、できてまもない米国 Cybozu Corporation に転職したのも、ローカライズ(現地語にソフトウェアを移植すること)エンジニアのほとんどが、「英語から日本語」への翻訳を仕事にしている中で、「日本語から英語」という方向の開発が非常に珍しく、面白いと思ったからだ。

ソフトウェアでの「タイムマシン経営」というか、多くのパッケージソフトウェアはまず米国で普及し、その日本語版が半年から一年ほど遅れて出るのが普通だった。唯一ゲーム業界では日本発のソフトウェアがそれなりの地位を占めているが、PC 向け、ビジネス向けソフトウェアでは輸入品がほとんどを占める。

そんな逆風の中、米国に英語版を売りに行こう、という豪気さに感銘を受け、合流したものだ。

サイボウズ/サイボウズラボには、

– 会社に熱意がある。支えるだけの資金がある。
– 現役プログラマーでもある社長が、技術者中心の会社を作っていく。
– 日本で数少ない、世界に行く気のあるソフトウェアパッケージ会社である。

正直、できるプログラマーに取っては他の選択肢もたくさんある。技術で売っている会社としては、たとえば NaCl であったり、はてなであったりが存在する。(もちろん他にもあるだろう。上の二社は僕がすごいと思っている。特にこの会社がすごい、見習うべき、というのがあればぜひコメントで)

そういった技術指向の先輩会社からは学ぶところが多いし、チャンスがあればぜひ協同させていただきたい。ベイエリアにあるような、いろんな技術者が会社の枠を越えて勉強しあうような雰囲気を作ることができれば、と思う。まだ東京に居てすらいないのにこんなことを書くと偉そうだが。そして、それらの会社に興味があるような人には、ぜひサイボウズラボも検討対象としてみてほしいと思う。

ラボの問い合わせ用アドレスでは、どんどん質問を受け付けている。

僕は今米国支社の閉鎖手続き等で忙しく、ラボ開設の反響等を十分チェックできていないが、8月には東京に移る。興味があるし話を聞いてみたいが、いますぐ転職とか公式な面接とかはまだちょっと、という人がいたら、ぜひ秋元を指名して問い合わせアドレスから連絡してほしい。

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

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

USB 経由での Windows 乗っ取り

eweek の記事より、USB ドライバ経由で Windows を乗っ取れる

USB ドライバをバッファオーバーフローさせることで、任意のプログラムを Windows に実行させることができる脆弱性が見つかった、というもの。まだマイクロソフトには報告が行っておらず、これが本当かどうかは確認されてないということだが。

USB メモリを挿しただけで破壊やデータ吸出しツールを送り込めるのであれば、外部からの訪問者や出入りの掃除業者などがちょっとした時間で PC を乗っ取ることができそうだ。スパイ映画みたいな話だが。

USB メモリによる企業情報持ち出しを防ぐために、USB ソケットを無効化するプログラムが開発された、というニュースを前に読んだ気がする。挿すだけで簡単に使える、という利便性が、管理側に新たな負担を強いているということなんだなあ。そして、その対策を事業にする人が出てくると。

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

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

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