タグ

ブックマーク / bellflower.dodgson.org (5)

  • 死んでしまったOSたちへ

    自分はの草稿に誤字脱字探しをしつつ好き勝手言う係としてちょっとだけ手伝った。せっかくなので宣伝してみる。 このはコード読みブログやアーキテクチャ解読ブログをまとめたような体裁になっている。といっても各章バラバラではなく、としての連続性はある。そして OS というものを包括的に解説するかわりに Android の特徴的なところ、たとえば GUI フレームワークや VM のランタイムなど、をつまみいしている。これは正しいアプローチだと思う。伝統的な OS の話をしだすと Android ってだいたい Linux だからね。Android に限らず、この「伝統的な OS の上にあるプラットホームのレイヤ」の中身を説明したは少ない。 そこが面白い。 このの欠点は文章がけっこう slippery なところ。悪い意味でブログぽいというか同人誌ぽい。ただそれは「支える技術」シリーズに共通する

    死んでしまったOSたちへ
  • TensorFlow Paper 感想

    当方機械学習素人につき大して興味はなかったものの、実は Jeff Dean 案件だと気付き whitepaper くらいは読むことにした。 ぎもん: Jeff Dean といえば MapReduce や GFS を作った Google の神話級プログラマ。そんな分散インフラの達人がなぜまた深層学習に手を出したのだろう。 わかったこと: TensorFlow は、行列(というかテンソル)に特化したデータフロー・プログラミングの分散実行処理系だった。 データフロー・プログラミングとは、データを受け取り何か計算して結果を誰かに渡す、という単位のオブジェクト(ノード、カーネルなどと呼ぶ)をつなぎ合わせてグラフをつくり、より大きな計算を表現する抽象化のパターン。最近はリアクティブの文脈で目にすることが増えた。 そして MapReduce/Hadoop も今はデータフローの枠組みでコードを書くことが多

    TensorFlow Paper 感想
    dowhile
    dowhile 2015/11/27
  • Android らしい Java - 3. 薄い抽象

    Android プラットホームの API はひどい。 プラットホームというもの一般の API デザインが時代にあわせ少しずつ良くなる中、Android は時代を10年くらい巻き戻した感がある。深い継承。でかいクラス。ヒラより多いマネージャたち。コンサーンもレスポンシビリティもテスタビリティも何もない。 モバイルデバイスには従来の Java が気にかけなかった様々な制約がある。同じように行かない。それはわかる。でもねえ。 過去にもひどい API のプラットホームはあり、人々は大きく二つの方法で立ち向かった: 一つ目は、プラットホームを無視して自分で再発明する方法。Qt や XUL, Swing みたいなクロス OS のツールキットはだいたいこの路線。二つ目は抽象化レイヤをかぶせて隠す方法。Windows API に対する MFC, WTL や SWT. あるいは DOM に対する jQuer

    Android らしい Java - 3. 薄い抽象
  • 持たないプログラマ

    仕事で成果を挙げたいのなら、何かをオウンしろという。 たとえばモジュール。機能。ライブラリやフレームワーク。まとまったコードを書いて、あるいは引き取って、自分の持ち物にする。バクを直し、人のコードをレビューして、持ち場の面倒を見る。 何かをオウンするのが、自分はあまり好きでない。なにしろめんどくさい。 コードをオウンするのは家を買うようなものだろうか。持ち家に憧れローンを組む人はいる。コードの対価として重責を引き取る人もいる。気持ちはわかる。自分にも憧れがあった。でも今は月々の返済に追われない身軽さが勝る。我ながら気が弱い。 オーナーシップには副作用もある。自分の所有権を守りたい心理が働く。領土を壁で囲いたい誘惑に駆られる。執着と責任の磁場に包まれて正気と勇気を保てるのか。 何もオウンせず働くのは借家暮らし。あるいは居候。部屋をひとつ間借りする代わりに家主の仕事を手伝う。コードから虫を追い

    持たないプログラマ
    dowhile
    dowhile 2015/10/14
    草枕の冒頭みたいな文章だ
  • Android らしい Java - 1. 非同期性

    仕事Android アプリのコードを触り始めはや数ヶ月。少しは理解が進んだ。 今の仕事のコードは、残念ながらそれほど素晴らしくない。その昔 Android Java にまだ慣れていなかった人々が書いたであろう古いコードが目につく。そして古いコードの昔ながらな残念さは、従来の Java とは違う Android Java の「らしさ」を描き出す。そんな話を数回にわけて書いてみたい。 第一回は非同期性のはなし。 Android のアプリはメインスレッドをブロックしてはいけない。だから色々と非同期に書く。ところが従来の Java は非同期がさほど得意でない。多くの API がブロックする。 ブロックする処理は別のスレッドに追い出せばいい。ただし結果はイベントループを通じてメインスレッドに戻さないといけない。これを綺麗に書くイディオムが、Android では最近まで確立されていなかった(Asy

    Android らしい Java - 1. 非同期性
  • 1