タグ

ブックマーク / satoshi.blogs.com (70)

  • NTTの株価総額が世界一だった時に、Microsoftに転職した理由

    「6年勤めたNTT退職しました」という記事が、注目を浴びているようですが、この筆者が NTT を辞めた理由が、私が32年前(1986年)に NTT を辞めた理由とあまり変わらないのに、少々驚きました。 私が NTT を辞めた件に関しては、これまで色々なところで話しては来たのですが、まとまって文章にしたことがなかったので、これを機会に書くことにしました。普段ならメルマガ(週刊 Life is beautiful)の読者限定で書くところですが、今回だけは、出来るだけ多くの人に読んで欲しいので、ブログ記事として公開します。 当時、NTTは電電公社から民営化したばかりで、1985年に入社した私は、NTTとしては第1期生でした。大学は、早稲田の理工学部電子通信学科で、修士課程まで行きました(当時は、情報学科はまだ独立しておらず、電子通信学科がソフトウェアとハードウェアの両方をカバーしていました)。

  • Life is beautiful: 恋の連立方程式、「パートナー探し」の最適化アルゴリズムに関する一考察

    「自分にできるだけ相応(ふさわ)しいパートナー」を見つけることは、我々人間にとって、人生の最も重要なのテーマの一つでもある。しかし、そのプロセスである「恋愛」や「お見合い」に関して、なぜか今までシステマティックな考察がされて来なかったように思える。そこで、今回はその「パートナー探し」のプロセスをモデル化・数値化することにより、最適なアルゴリズムを見つけようと思う。 まずは、「自分にできるだけ相応しいパートナーを探す」というあいまいな問題を、もう少し明確にモデル化された問題に単純化する。もちろん、単純化するとはいえ、あまり現実とかけ離れていては役に立たないので、現実味を壊さない程度の単純化を行う。 [モデル化された問題] 結婚適齢期の女性が、これから10人の男性と順番にお見合いをして、その中から結婚相手を見つけることにしたとする。相手の意思は無視して良く、「この人と結婚したい」と宣言した時点

    a2ikm
    a2ikm 2016/04/21
    だんだんハードルが下がっていくのがいい
  • 心に響く言葉:あなたが倒れた時...

    電子書籍の基型を開拓する者が現れれば、iPad電子書籍で溢れかえるであろう。MovableType(TypePad)がblogの基型となってweb の発展に寄与したように、電子書籍の基型を開拓する有志がいれば、タブレット端末は皆が潤う。これは受け売りの論であるが、至極もっともな意見であ gomenn nasai . Nakajima sann nara dou omoi masuka?

    心に響く言葉:あなたが倒れた時...
    a2ikm
    a2ikm 2012/12/11
  • node.js と thread hog の話(1)

    ここ数日、 node.js で色々と作りはじめているのだが(node.js が一番力を発揮するのは、xmpp server や、push notification server のようにソケットを開きっぱなしにして非同期通信をするケースだと思うのだが、それについては来週のメルマガで詳しく解説する)、これで思い出すのが Microsoft 時代の「"thread hog" 退治」だ。 "thread hog" とは私が作った造語で、"memory hog" (メモリをやたらと使うプログラムのこと)と同じように、thread を不必要に作るプログラムのこと。 最初に出会った thread hog は、Microsoft が作っていた proxy server だった。コネクションが1000を超すとやたらと遅くなり、しまいには落ちてしまうという欠点を持っていたため、一時は「出荷出来ないところか、

  • node.js で「サラリーマンの朝」をプログラムしてみる

    先日の「node.js と thread hog の話」には、たくさんのコメントをいただいたが、やはり「イベント駆動型」のプログラミングには抵抗がある人も多いようだ。そこで、JavaScript の無名関数を使ったイベント駆動型のプログラミングの可読性が悪くないことを示すために、「朝7時に目覚まし時計をかけて眠りにつき、朝ご飯をべ終わったら会社に行く」という典型的な「サラリーマンの朝」をイベント駆動型のJavaScriptで記述してみた。 注目して欲しいのは、素早く出来る「着替える」「顔を洗う」などの動作は割り込み不可な動作なので、通常のプログラミングと同じようにシーケンシャルに実行するが、時間のかかる「朝ご飯をべる」「駅まで歩く」などの動作は割り込み可能な状態で実行し、"complete" のイベントを受けてから次の動作に移る点だ。 ちなみに、目覚まし時計は 「スヌーズボタン」付きな

  • UIEという会社のミッション

    先日の「UIE Japan 新オフィス紹介」というエントリー。あのエントリーを書いた一番の目的は人材募集だったわけだが、狙い通り続々と採用応募の問い合わせが入っている。やはり持つべきものはブログだ。 もう一押しするために、UIEが現在どんなビジネスをしているか紹介しよう(UIE設立のプロセスとか、スクエニによる買収の経緯などは別途メルマガに書く予定←こっちはメルマガの宣伝)。 会社のビジョン(目指すべき世界)に関しては、ここでも何度も述べて来た様に「これからは私たちの身の回りのものすべてがネットに繋がる。そんな時代にはアプリのダウンロードだとか、ブラウザーでサーフィングなどとはまったく別の形で、テレビのチャンネルを変えるぐらいに簡単に、携帯電話から冷蔵庫のドアに至るまであらゆるところで、アプリケーションやサービスが自在に使えるようになるべき」というもの。この点に関しては、2000年の創業以

  • Google+Motorola: Microsoftは「当て馬」だった

    先週、「MotorolaがWindows Phone陣営に乗り換える可能性を示唆」というエントリーに書いた通り、あの手のアナウンスメントにはだいたい何か裏の事情がある。 そして今日、GoogleがMotorolaの携帯電話部門を買収することがアナウンスされ(参照)、その裏事情が何であったかが明らかになった。あれは、MicrosoftGoogleを競争させて価格をつり上げるための牽制球だったのだ。 Microsoftが実際どの程度Motorolaとの話をしていたかは不明だが、1ドルでも高く売りたいMotorola側としてはGoogleから買収の話が来た時点でわざわざMicrosoftを「当て馬」として引きづり出して競争させようとするのは当然。あのアナウンスメントは、Microsoftに向けたラブコールでもあり、Googleに対する「早く良い条件で結婚を申し込んでくれなきゃ、他の人と浮気しち

  • 計算言語 neu

    先日も述べた様に iPad 用の計算アプリを作っているのだが、「電卓のように手軽に使えるけど、Excelで普通の人がすることの80%は出来てしまう」という目標をを達成するために、色々な工夫をしている。その一つが、計算言語の定義だ。特に名前は付けていないが、仮の名前として neu と呼ぼう。 ご存知のように、電卓に 1 + 2 = と打てば、3という答えが出て来る。 1.5 sin = と打てば、sin(1.5)を計算してくれる。厳密な意味での「プログラミング言語」とは呼べないかも知れないが、「あるシンタックスに従ってキー入力すれば、何らかの計算をしてくれる」という点では、広い意味での「言語」とも読んでもバチは当たらないだろう。 では、さっそく計算言語 neu の定義をしてみる。 "+"の様に右と左に置かれた二つの数値にから一つの数値を導き出すものをオペレータと呼ぶ。"-"、"x"、"÷"、

    a2ikm
    a2ikm 2011/08/14
    リストの掛け算はベクトルの内積みたいな感じだ
  • iモードふたたび

    先日、NTTドコモは「今冬にはiモード課金コンテンツをスマートフォンでも利用できるようにする」計画を発表した(参照)。iPhoneAndroid端末に既に親しんで意いる人たちから見れば「今さらiモード?」という感覚だろうが、実は日のモバイル・コンテンツ・ビジネスにとっては死活問題が絡んだとても重要な話だ。 というのも、年間7500億円もある「ガラケー」向けのコンテンツ・ビジネスがスマートフォンへの切り替えとともに消滅の危機にあるからだ。 ご存知の通り、日のモバイル・コンテンツ・ビジネスは「一度申し込んだら、使っても使わなくても電話料金と一緒にコンテンツ・サービス料が引き落とされる」という「月額課金」に支えられて来た。 しかし、去年あたりから、急激に「解約率」が増えはじめたのだ。一番の原因が、「スマートフォンへの切り替え」である。従来型のガラケー間の乗り換えの場合は、月額課金サービスは

  • 東京電力を破産させられないような国ではベンチャー企業は育たない

    ウォールストリート・ジャーナルは、「自由主義経済の国であれば、東電は破産させた上で被害者を救済するのが当然なのに、東電という会社を救済しようとしている日はやはり社会主義」と痛烈に批判している(参照)。 私自身、昔から「日は自由主義経済の衣をかぶった社会主義」だとは思って来たが、この何かというと「大企業や既得権者を守る」姿勢が、「大企業の正社員とそれ以外」という社会の二重構造を生み、経営陣の「逃げ切りメンタリティ」を助長し、来ならば国の発展の原動力となるべき「ベンチャー企業」の活躍を阻止していることは注目に値する。 日政府は、ときどき思い出した様に形だけの「ベンチャー支援」のようなものをするが、ベンチャー・ビジネスを活性化するのに最も大切なものは、国からの支援なんかではなく、「自由競争」である。日では、既得権者が官僚と癒着して、さまざな規制や免許制度で市場への参入障壁を高くしてベン

    a2ikm
    a2ikm 2011/05/19
    「自由主義経済の国であれば、東電は破産させた上で被害者を救済するのが当然なのに、東電という会社を救済しようとしている日本はやはり社会主義」大失敗したんだから破産は当然だよなぁ
  • この危機的状況にブロガーとして出来る事は何か

    今朝、「AMNの徳力氏からAMNというブロガーネットワークとして何ができるか」というメールが届いていたので、それについてここ数日考えて来たことをまとめて見たいと思う。 私はそもそもあまりボランティア活動とかには積極的に参加するタイプではないが、さすがに今回は「自分に何ができるだろう」と考えさせられた。 そうは言ってもあまり大それたことを考えても思考停止に陥ってしまいそうなので、まずは自分が一番得意とすること(=理科系うんちく)を活用して、福島原発危機に関しての解説をFacebookページで始めた(参照)。 最初は、「もっと何か直接役に立つことができるはず」と考えながら書いていたのだが、訪れる人のコメントを読んでいるうちに、実はこれ(=情報の提供)が私にできる最も有用なことだ、と気がついた。 人にはそれぞれ得意なことがある。人並みはずれた体力を持ち、災害救助で10人力の働きが出来る人。被災地

    a2ikm
    a2ikm 2011/03/18
  • JavaScript HTMLテンプレートエンジン SNBinder 公開

    先日予告したSNBinderのオープンソース化、GitHubに簡単なREADME付きでアップロードしたのでご覧いただきたい。 https://github.com/snakajima/SNBinder SNBinderは、ひと言で言えば「ブラウザー上でView(テンプレート)とData(JSON)を結合して HTML を生成するテンプレートエンジン」である。 90年の半ばから急速に広まったインターネット。サーバー側でダイナミックに生成したHTMLページをブラウザーで閲覧するだけ、というシンプルでエレガントなアーキテクチャゆえの成功だ。しかし、ブラウザーの高機能化に伴い、JavaScriptを駆使して使いやすさを向上しようという試みが色々なウェブサイトで行われている。GMail、Google Docs、Facebookなどは良い例だ。 その方向性を究極にまで突き詰めると、サーバー側は(MVC

  • UIEngine、自動車に載る(Toyota Entune)

    今回のCESではいくつもの発表があったが、その中でも私として一番うれしかったのが、Toyotaが発表したEntune。米国のトヨタ純正カーナビには、bing(検索)、Pandra(インターネットラジオ)、MovieTickets.com(映画情報)、OpenTable(レストラン予約)などの「アプリ」が走るのだが、そのアプリとアプリのローンチ画面のUIを担当するのがUIEngineなのである。 UIEvolutionは、私が2000年に「これからはいろいろなデバイスがネットに繋がり、その結果、さまざまなプラットフォームが乱立する戦国時代に突入する。その問題を一気に解決するのがUIEngine。携帯電話から、テレビ・自動車・冷蔵庫までいろんなデバイスにUIEngineを載せて組み込み機器のUIの開発を大幅に簡単にする」というビジョンを掲げて起業した会社だが、10年たってようやく自動車に到達。

    UIEngine、自動車に載る(Toyota Entune)
    a2ikm
    a2ikm 2011/01/10
    UIEngineは、すでにAndroid、iPhone、Flash、Linux、Windows、Windows Mobile、BREW、Java(J2SE)、J2ME/MIDP、J2ME/DoJa、Symbian、などの各種プラットフォームの上に移植済み。UIEngineの上で作ったアプリはUIEngineさえ載っていれば、どんなデバイス
  • 2011年はソシアル・アプリ元年か?Facebookユーザー向けグループウェアFruence

    11〜12月にかけて、3連続してGoogle App Engine上のアプリを作ったので、かなりDatastoreにも慣れて来たし、ライブラリも充実してきた。これならば、小さなアプリなら2〜3日で開発+リリースする事も十分に可能だ。ということで、正月休みの間に「書き初め」として何か自分の日々の仕事の役に立つものを作ろうと思い立ったのが1日の夜。 そこでまず候補として思いついたのが、オンラインの「to-do リスト」サービス。ここのところ、の執筆、雑誌のコラム、CloudReaders、neu.Notes、neu.Draw、neu.Annotate、neu.Journal と複数のプロジェクトに同時に関っているため、記憶やメモに頼って作業するのは不可能になって来た。そこで、どのデバイスからでも簡単にアクセスできる「オンライン to-do リスト」が欲しいと思ったのだ。 ただ、単なる「オン

    2011年はソシアル・アプリ元年か?Facebookユーザー向けグループウェアFruence
    a2ikm
    a2ikm 2011/01/06
    パスワード管理とかをFacebookに一任できるのは手軽だよなぁ。こういうアプリがもっと増えたらいい/あぁ、自分で作ればいいのか
  • neu.Notes for iPhone へのフィードバックに一気に返答してみる

    前にもここに書いたが、iTunesストアへのコメントに答える方法が無いのがちょっと不便。読んでいただけるかどうかは分からないが、ここで返事をしてみる。今日は、neu.Notes for iPhoneへのフィードバック。 使いやすい♬♫ - ★★★ by Manako9 - Version 1.4 - 28 November 2010 すごくぃぃアプリ‼ カメラロールに保存できないのが残念 保存出来たら星五つにしたいぐらいです+.(○´∀`ノノ♬♫ ありがとうございます。カメラロールへの保存は1.5(現在、アップルによる審査中)で入ります。 Useful♪ - ★★★★★ by pinky1わん - Version 1.4 - 28 November 2010 操作性も良くてとっても使い易く、かゆい所に手が届くという感じです。 添付書類や写真のオーバーライトや、描いた物をメールで添付できたり

    a2ikm
    a2ikm 2010/12/02
    丁寧なフィードバック、お互いに
  • google appengine に関してひと言

    ここ数日、Twitter上で appengine に関する発言をたくさん目にする。それを見る限り、「注目をされてはいるが、手を出しかねている人が多い」というのが現状だろう。そこで、私からもひと言。 App Engine は純粋なソフトウェア・エンジニアにとっての天国 私自身、色々な開発環境を試して来たが、私のようにプログラミングが大好きで、新しい言語や環境を学ぶのが楽しくて仕方が無いエンジニアにとっては、「App Engineは天国」というのが正直な感想。SQLRailsのように一見開発効率を良くしてはくれるが、直感的に実行効率とかが把握できない「補助輪付きプログラミング」と違い、App Engine上でのプログラミングは、ちょっと手を抜くとすぐに実行効率の悪さとして跳ね返ってくる「一輪車プログラミング」。 新しい言語を学ぶのが苦ならApp Engineは避けた方が良い 現時点で、Pyt

  • Google App Engine入門:フレームワークの選択

    Google App Engine向けのアプリを作る際に最初に悩んだのはフレームワークの選択。Google App Engineにはwebappという最低限の機能を持ったフレームワークが付いて来るが、Python使いの人たちの間では、DJangoというフレームワークが広く使われているらしいし。かといって、あまり大きなフレームワークを使うと、パフォーマンスのチューニングとかもしにくくなるし、フレームワークそのもののバグや制限に悩ませられる可能性もある。 そんな中で増井君が見つけてくれてまず試したのが、Junoというフレームワーク。DJangoと比べると遥かに小さく、WebappよりもURLのルーティングのメカニズムとかが充実している。 そこで一旦はアプリをJunoの上で作り始めたのだが、Junoのソースコードを見ているうちにいろいろと気に入らないところが出て来た。不必要にオプションが多いし、

  • Python入門:デコレータとは

    前から常々思っていることだが、何かについて勉強する一番効率的な方法はそれを誰かに教えること。人に教えようとすると、それなりに準備をしなければならないし、自分の頭の中を整理しなければならない。また教える過程でするどい質問をされたり間違いを指摘されて、さらに勉強を強いられることもある。 私がこの手の「入門編エントリー」を書くのは、ほとんどの場合「自分自身の理解をより深めたい」ことが一番の目的であるが、ブログの場合、教室などと違って「その道の達人」みたいな人たちがツッコミを入れてくれるケースもしばしばあるので、そのメリットは何倍にもなる。 先日のクロージャに関するエントリーなどは良い例で、「そんな用途にはmemoizeというデコレータが便利」などの指摘がいただけだけであれを書いた価値があるというもの。 そこで、今日はPythonのデコレータに関して。デコレータがPythonという言語に導入された

  • Google App Engine上のベスト・プラクティス、その1: Datastore

    Google App Engine上でアプリを作りはじめて約二ヶ月。いろいろと分かって来たこともあるので、自分へのメモも含めてまとめてみる。まずは、Datastoreの話から。 なによりも大切なのはデータベースの設計 あたりまえと言えばあたりまえの話だが、App Engine上でアプリを作る上でもっとも大切なこと(=頭を使うべきところ)は、データベースの設計である。特にリレーショナル・データベース(RDB)上でのアプリ作りに慣れた人には、大きな「発想の転換」が必要なので、ここは注意が必要。 特に絶対にやっては行けないのは、 将来RDB上へ移行できるようにレイヤーを作って、その上にアプリを作る RDB上に作ったアプリをデータモデルを大幅に変更せずにApp Engine上に移植する RDBを前提に設計されたフレームワークをApp Engine上に載せて、その上にアプリを作る など。App En

  • iPadアプリ開発日誌: 順調な滑り出しのneu.Draw

    先日リリースした neu.Draw、なかなか順調な滑り出しだ。特に日では、瞬間風速とは言え、無料iPadアプリのトップの座に輝くという快挙。エンターテイメント部門での部門トップは狙えると思っていたが、総合トップとはとても喜ばしい。 ユーザーからのフィードバックもおおむねポジティブ。例えば、これ(英国のユーザー): Excellence - ★★★★★ by Tekked - Version 1.0 - 23 October 2010 Absolutely brilliant! This is amazing, showcasing a huge amount of SVG's functionality and giving incredible control! I've tried several of the *paid* vector apps out there but the

    a2ikm
    a2ikm 2010/10/29
    「ユーザーにこちらからコンタクトできないのが、iTunesストアの欠点」