タグ

2011年4月24日のブックマーク (14件)

  • Nokiaが3年で地に堕ちた理由(3) ~グローバルカンパニー~ « for what it's worth

    たとえ、山ほどの人材を持っていようとも、愛がなければ、無に等しい 前の二つのエントリーにも共通して言えることだが、とにかくNokiaには無駄が多いのだ。そしてその無駄を無駄にして終わっているのだ。このエントリーも一言で言えば無駄に対する指摘なのだが、その対策が異なる。 Nokiaは10万人を越える社員を抱え、そのサイトは世界各地に広がっている。まるで同じ部屋にいるかのようにビデオ会議ができるシステムや、何百人も同時に参加できるVOIPカンファレンスシステムなどが整備され、会議といえばオンラインが当たり前だ。しかし、11日の発表はオンサイトのみで行われるという異例の通達がでており、社員の間でも様々な憶測を呼んでいる。 それは置いておいて、とにかくこのオンライン会議が毎日ある。理由はプロジェクトが世界中に分散しているからだ。正確に言うとより細かいレベルで担当者が世界中に分散しているのだ。例えば

    raimon49
    raimon49 2011/04/24
    >例えば、日本の企業の場合(少なくとも任天堂では)、他部署にメールを送るときにはまるで社外とやり取りでもするかのごとく気を遣う。
  • Nokiaが3年で地に堕ちた理由(1) ~ソフトウェア開発事業のファブレス化~ « for what it's worth

    粗末なアーキテクトによる車輪の再実装に膨大なリソースを浪費した 私はNokiaに入社するとN-Gageプロジェクトに配属された。N-GageとはNokiaの携帯上のゲーム用プラットフォームで、スペックの基準を満たした対応端末上でゲームをダウンロード購入して遊べるというものだった。ゲーム内課金や、ネットワーク対戦機能など、クオリティは低かったものの機能と仕組みはあった。 私の任務は当時は主流だった3Dアクセラレーターの載っていない端末上でも3Dゲームを動かせるようにソフトウェアのOpenGLES1.1スタックの実装することだった。しかしこれは自前でエンジンを実装、サポートすることがプロジェクトにとってナンセンスであり、HIのエンジンをライセンスするべきであるという度重なる主張が退けられた挙句に渋々受け入れたもので、会社の判断としては非合理的だと思った。当時はソフトウェアレンダラを書くのは自分

    raimon49
    raimon49 2011/04/24
    ファブレス化 ハードウェアとソフトウェア
  • こてさきAjax:Stream APIで、カメラの映像をWebSocket ライブ配信 - livedoor Blog(ブログ)

    ずっと、待ち焦がれていたAPIが、ついにテスト実装されました。ブラウザから、カメラのライブストリームを取得するStream API (仕様はWHAT WGのサイトに記載)です。 この機能により、Webアプリのポテンシャルが飛躍的に向上すると期待されます。例えば、ビデオチャット。 カメラから取得した映像データを、Websocket で相互に交換すれば、ブラウザのネイティブ機能だけで、簡単に実現できます。 この機能が、実装されたのは、Opera mobileのテクニカルプレビュー(for Android)。以下のサイトの[Android build]からインストール出来ます。 http://my.opera.com/core/blog/2011/03/23/webcam-orientation-preview また、詳しくは以下のブログ(WebOS Goodies)で紹介されています。是非、ご

  • CPANソムリエになる方法 - tokuhirom's blog.

    最終更新日をみる モジュールには最終更新日が表示されています。最終更新日が古いものは、忘れさられた古きモジュールである可能性が高いので使わない方がいいでしょう。具体的にいうと、2004年以前のモジュールについては注意した方がいいです。

  • Gitを使ってみて感じたことなど - 偏った言語信者の垂れ流し

    メモ。仕事でGitを使う必要があったので2、3日使ってみた感想など。 Subversion, Mercurialと比べてdiffとstatusの意味が違う(stageとかindex/work-treeとかが絡んだりするし) Gitの1リポジトリはMercurialのローカルリポジトリ2個あるような状態か MercurialとGitのブランチは意味が違う(チェンジセットのツリーなのかポインタなのか) はじめのうちから覚えないといけないコマンド/オプションが多い(Mercurialのローカル2リポジトリ運用できるぐらいの知識が最初から必要) lessがインストールされてない環境でlogやdiffが正常に動作しなくてハマった。(PAGER設定などで解決できるが) Mercurialを3年ほど使ってるので、分散リポジトリの運用方法自体はほとんど変わらないので、それは気にならなかった。 コマンド省略

    Gitを使ってみて感じたことなど - 偏った言語信者の垂れ流し
    raimon49
    raimon49 2011/04/24
    >はじめのうちから覚えないといけないコマンド/オプションが多い(Mercurialのローカル2リポジトリ運用できるぐらいの知識が最初から必要)
  • PythonとDjangoを使うときに押さえとくと良いもの - 偏った言語信者の垂れ流し

    社内向け。 tokibitoの知識が偏ってるので、もっといろいろ知りたいなら社内チャットで他の人にも聞くこと。 Python easy_install setuptoolsかdistributeというパッケージで使えるコマンド。 @aodag 曰くsetuptools使わずに、distribute使えという話。 インストールはこんな感じ。 $ curl -O http://python-distribute.org/distribute_setup.py $ python distribute_setup.pyWelcome to Distribute’s documentation! — Distribute documentation pip パッケージのインストールに使う。後述のvirutualenvとかを使うならこれ。 インストールスクリプトで入れるか、easy_installなど

    PythonとDjangoを使うときに押さえとくと良いもの - 偏った言語信者の垂れ流し
  • FirefoxのJavaScriptデバッガ拡張Firebugの進化がすごい

    Firefoxのデバッグ拡張ことFirebugですが、Firefox4よりFirebugとは別にWeb Consoleという機能が入りました。 しかし、Firebug自体もさらに便利になっているので、少し紹介します。(Firebug1.7 –1.8 の範囲で) 現在のFirefox4に正式対応しているのはFirebug1.7xで、Firebug1.8xはAlpha版として公開されているのでまだ不安定な部分もあることに注意して下さい。 特に注意書きしてない部分はFirebug1.7の項目だと思って大丈夫だと思います コマンドラインに履歴ボタン コンソールパネルでのコマンドエディタ(でかい方のコマンドライン)にHistoryボタンが新たに追加されました。 過去に実行したコマンドをポップアップから選択して挿入することができます。(以前はCtrl+ZでUndoし続ける必要があった) コマンドライン

    FirefoxのJavaScriptデバッガ拡張Firebugの進化がすごい
    raimon49
    raimon49 2011/04/24
    Javascript Deminifier minifyコード展開
  • [ウェブサービスレビュー]見栄えのいいフロー図を簡単に作図できる「Cacoo」 - CNET Japan

    内容:「Cacoo」は、フロー図やワイヤフレームをオンラインで作成できるサービスだ。さまざまな図形やコネクタがあらかじめ用意されており、ドラッグ&ドロップにより誰でも簡単に見栄えのいい図を作成できる。 「Cacoo」は、フローチャートや機器構成図、ワイヤフレームやUMLをオンラインで簡単に作成できるサービスだ。目的ごとにさまざまな図形やコネクタが用意されており、ドラッグ&ドロップで見栄えのいい図を作成し、画像データとしてエクスポートしてビジネス文書に貼り付けて使うことができる。 ビジネス文書、なかでもプレゼンテーション資料などに不可欠なチャート図などを作成するのに最も簡単な方法は、ExcelPowerPointなどのオートシェイプを使うことだ。しかし登録されているのは基的な図形だけで、ちょっと凝った図を作ろうとすると不自由さを感じることも多い。Visioのような専用ソフトであれば多数の

    [ウェブサービスレビュー]見栄えのいいフロー図を簡単に作図できる「Cacoo」 - CNET Japan
  • 即時関数(function(){ ... })()の別の書き方いろいろ - 泥のように

    JavaScriptでよく使われるコード片に即時関数というものがあります。無名関数を宣言して即実行することで、ブロックスコープの存在しないJavaScriptにおいて擬似的にブロックスコープを再現します。 var a = "global"; (function(){ var a = "local"; alert(a); //local })(); alert(a); //global 一番有名なのはこの(function(){ ... })()の形式なのですが、なぜfunctionの外側にカッコが必要なのか不思議に思ったことはないでしょうか? ためしにfunction(){ ... }()と書いてみると、Syntax Errorが発生します。 なぜfunction(){ ... }()はSyntax Errorなのか JavaScriptにはfunction文とfunction式があって、

    即時関数(function(){ ... })()の別の書き方いろいろ - 泥のように
    raimon49
    raimon49 2011/04/24
    voidは確かに読み易い。
  • Google ChromeでMS PゴシックをArial+メイリオに置換する

    最近のブラウザではWebフォントの利用を可能にする@font-faceをサポートしており、使われているサイトもよく見かけるようになった。@font-faceはWebフォントの利用に限らず、ローカルのフォントの再定義にも使えるので、ユーザースタイルシートで利用すればMS Pゴシックをメイリオに置換することが出来る(Chromeでも)。これに留まらず@font-faceデスクリプターのunicode-rangeプロパティを利用すれば、英数字はArialで日語部分はメイリオで置換するなどというわがままなことが出来る。 unicode-rangeプロパティはグリフのコードを範囲指定することによってsrcプロパティで指定されているフォントのどの部分を利用するかを決定するもの。つまりArialから英数字(PDF: Basic Latinと呼ばれる範囲)を取ってきてMS Pゴシックを置換する場合はGo

    Google ChromeでMS PゴシックをArial+メイリオに置換する
  • Python でファイルを直接イテレータとして使うのが適切でない場合 - methaneのブログ

    Pythonでサブプロセスと対話する - 西尾泰和のはてなダイアリー Python のファイルは、通常のファイルの読み込みの効率を考えて大きめ(8192バイト)のバッファリングを行っているので、ソケット通信やパイプで問題になるケースがある。 問題になるケースの一つがファイルオブジェクトをイテレータとして使って行単位の処理をする場合で、 for line in fileobj: do_something(line) のようなコードを書くと、実際には fileobj の中にあるCのFILEから一気に読み込み、その中から改行文字を探して切り出していくので、8192バイト読み出せるかファイルの終端に到達するまでブロックしてしまう。 一方、 file.readline() は、改行を見つけるまで getc() を繰り返すか、(UnixでUniversal Newlineを使わない場合は)fgets

    Python でファイルを直接イテレータとして使うのが適切でない場合 - methaneのブログ
    raimon49
    raimon49 2011/04/24
    ソケット通信やパイプで大きめのファイルを扱いたければ素のファイルオブジェクトではなくiter(fileobj.readline, '')を
  • VimのCSS3シンタックス・ファイルみたいな何か

    VimCSSを書いていると、最近のCSS3プロパティでもやもやした感じになるのはまぁしょうがないかな……と見ないふりをしていた。が、@mediaでブロックを作った時に最初のセレクタのハイライトに失敗するのとかにムキーとなって、もうこれは駄目だと思ったので、既存のCSSシンタックス・ファイルをCSS3に対応させた感じにする追加シンタックス・ファイルを作成した。はじめてのVimシンタックスファイル(もどき)。 Media Queriesでブロック化した時に以下のような感じで最初の行のハイライトが失敗する。 最初のセレクタだけなのだけど、どうも落ち着かない。これを、 とMedia Queriesの条件式も含めてちゃんとハイライトされるようにする。 他はHTML5の新しい要素やCSS3のプロパティや、値のキーワード、calc()やhsla?()などの関数などになんとなく対応させただけ。確認は十分

    VimのCSS3シンタックス・ファイルみたいな何か
  • 大人と恐怖心とウェブ - シニア現場の隅っこ。was使いやすさを考えてみる。(アクティブシニア・シルバー層の現場から)

    大人になるということは、怖いということを知ることだ、というのは、自分認定自分の名言である。 失敗を恐れるようになれば大人、ということである。 偉人の名言などには、「一歩踏み出すことの大切さ」がよくあるが、それだけ、一歩踏み出せない大人が多いのだろう。 ▼ インターネットをしているシニア層の方がよく言う。 「ここ、クリックしてもいいの?」 「この中でどこをクリックすればいいの?」 失敗をしたくないなあという気持ちが、とても強い。 だから、「どうしてそんなところをクリックするの?」「どうしてそこをクリックしないの?」ということが多発する。 失敗するのが怖い、だからやらない、というのを凌駕できる二つのポイントは好奇心と崖っぷちである。 崖っぷちは分かりやすい。 ここ1カ月、インターネットを学びたいというシニア層が急増している。 そして、老若男女TwitterやFacebookを学びたいという人

    大人と恐怖心とウェブ - シニア現場の隅っこ。was使いやすさを考えてみる。(アクティブシニア・シルバー層の現場から)
    raimon49
    raimon49 2011/04/24
    >「えっ。私は駅の情報とか、地震の情報が知りたいだけだから」「無駄な情報が入るのは嫌なの」「デマとか来たら怖いでしょ」そうして、ここで終ってしまう。 / これは根深い問題
  • Angry BirdsのRovioはなぜ任天堂ではなくDisneyを目指しているのか - coconutsfine's blog

    Angry Birdsが世界的にムーブメントを起こしていて、Rovioはポップカルチャー新時代の象徴みたいに祭り上げられているのだけれど、そのゲームメーカーRovioが目指しているのが任天堂ではなくDisneyだというから面白い。その理由を今日考えていたのだけれど、これからはキャラクタービジネスの時代になってくるのかなと思った。 エンターテイメント業界を「プラットフォーム」「コンテンツ」「プラットフォーム + コンテンツ」に分けたとき、最近はコンテンツを提供するプラットフォームが昔よりも増えてきて、iOSやAndroid、facebookやらYouTubeまで、いろいろなコンテンツの提供手段が増えた。いちいち水を汲んできて売るよりも水道管を作って利用料をとる方が大きなビジネスができるため、プラットフォーム群雄割拠みたいな時代になり、その中でも世界に大きくアピールできるプラットフォームが増え

    Angry BirdsのRovioはなぜ任天堂ではなくDisneyを目指しているのか - coconutsfine's blog