タグ

ブックマーク / bn.dodgson.org (14)

  • 最近もらった本: アジャイルサムライ - steps to phantasien(2011-09-13)

    いただきました. ありがとうございます. そして読んでいるうちに, どうも自分はアジャイルへの興味が失せていると気付いた. さいわい "アジャイルサムライ" は良く書かれており 感想はもうウェブ上にたくさんあるようなのでここでは保留し, かわりになぜ自分の関心が失せたのかを説明してみたいと思う. 理由はだいたい二つある気がする. ひとつはしょうもない理由: 私の参加しているプロジェクトはとても大きく, 独自の開発スタイルをもっている. したっぱの自分はそのやり方に口を出す気がなかなかおきない. 時差があり英語も苦手(これはほんと情けなくて泣ける)だからなおさら乗り気でない. 変える気がないものへの関心は薄れる. 二つ目はもう少しマシな理由. 件のプロジェクトはそこそこアジャイル風になっている. おおよそ time-boxed にリリースがあるし, 開発者の自動テストもある. リファクタリン

    nilab
    nilab 2015/04/23
    デザインパターン。「Rails 育ちのプログラマが読む GoF や PoEAA に, 残念な内製フレームワーク育ちの C++/Java プログラマがかつて感じたような感動はないだろう. 既視感があふれすぎている」Backnumbers: Steps to Phantasien
  • K のこと -- steps to phantasien t(2007-11-03)

    友人の話をしよう. 先達に敬意を表し, 仮に彼を K と呼ぶ. (イニシャルは便宜的なものだ; 向上心云々と罵ったこともないし, 恋人を寝取ってもいない.) ある時期, 私は K と一緒に働いていた. 今は違う会社にいるけれど, 互いに暇なのか, このごろもよく二人で管を巻いている. 1 K は優秀なプログラマだ. いつも敵わないと思う. 一緒に仕事をしていたこともあり, プログラマとしての私は K から強い影響をうけている. たとえば私が自動テストを始めた発端には K がいる. コードレビューもそう. この日記に出てくる話も K の影響は色濃い. 私は K のあとを追いかけるようにプログラマを続けている. K と働いてはじめて, ああ, 物事とはこう改善していくものなのかと知った. 何か問題を感じると K は試行錯誤を始める. 問題は私が諦めていたものもあるし, そもそも気付かないものも

    nilab
    nilab 2015/04/23
    「教科書どおり振舞うには能力が必要で, 能力を身につけるには訓練がいる. しかしフォーマルな訓練を受ける余裕はない」「<泥の中で一歩を踏み出す> とは, そうした制限の中で実現可能な定石のサブセットを探すこと」
  • webkit-dev 近況 - Backnumbers: Steps to Phantasien

    連載中くらいはと思い webkit-dev を購読したけれど, 案の定ぜんぜん読んでいない. 今日は一念発起して 300 通くらい目を通した(= "j" を連打した). だいたい二ヶ月ぶん. 外野にも興味深い話題がいくつかあったのでぱらぱら書いてみたい. (過労気味といいつつ野次馬は別腹でよろしくおねがいします.) まず JavaScript 関係から. ARM 用 JIT をめぐるいざこざ 4 月頃, ハンガリー Szeged 大学の面々が SquirrelFish (Nitro?) を ARM に移植中だと アナウンスした. trunk には入っておらず, 彼らの git 上で開発が続いている. その後の 6 月, Apple は独自に実装した ARM ポートを ひっそりとチェックインした. それを発見した件の大学チームのメンバが 全然オープンじゃなくてガッカリだ と不満を表明. Ap

    nilab
    nilab 2013/11/12
    steps to phantasien(2009-07-05) : Missing Design docs : Google からの大きな提案は, どれもすべからく "Design Doc" ありきなのが特徴的
  • steps to phantasien(2008-08-14) Netflix Prize 外野席

    "集合知プログラミング" というが出たらしい. 私の積読には元の "Programming Collective Intelligence" があって, 途中まで読んだまま放置していたら日語訳が出てしまった. (オライリーのアンチパターンと命名.) 悔しいのでは処分. そのうち日語版で続きを読もう.... 興味を持っていたのは推薦エンジン(協調フィルタ)だった. 私の中では検索エンジンに匹敵するウェブのハイテクという位置付けなんだけど, 草の根には普及しておらず悲しい. 検索エンジンでの Hyper Estraier や senna に相当する協調フィルタの立ち位置は デッドヒートが予想される...とだいぶ前から思ってるんだけど, いまのところ閑古鳥気味. まったく, 出し抜くだけの実力があればなあ. 先の皇帝ペンギンでは, 一章にさっそく協調フィルタが登場する. 読んでみると

    nilab
    nilab 2012/08/20
    steps to phantasien(2008-08-14) : 「Java で書かれた Taste のコードをみると, Netflix Prize に出てくるような高等なアルゴリズムは使っていない. ただデータの入出力やアルゴリズムを pluggable にするなど好感の持てる作りではある」
  • WEB+DB PRESS 総集編 / I told my code to sing - steps to phantasien(2011-10-15)

    "わたしはじぶんのコードにうたえと命じた" と題して WEB+DB PRESS 総集編 に小話を 書かせていただきました. レビューしてくれたひとありがとう. 表題は モンキービジネス 14 号 に載っていた 柴田元幸訳 ディキンスン の "わたしはじぶんの魂にうたえと命じた" から. 小話はさておき, 私にとって一番面白かったのは...目次だった. 時代の移りかわりを感じられていい. 記事体は古い方から読んでいくと楽しい. 私はふだんテクノロジの世代交代が進まないもどかしさを感じているけれど, JSP と ASP (ASP.NET ではなく) を説明した記事のおかげで 無事に滅びたテクノロジもそれなりにあったことを思いだした. そういえば SOAP もだいたい滅びたよね. 時代はちゃんと前にすすんでいる. めでたい. いま必要な新しいテクノロジーを調べるだけでなく 消えてしまったテクノ

    nilab
    nilab 2011/10/20
    steps to phantasien(2011-10-15) : WEB+DB PRESS 総集編 / I told my code to sing
  • 明日の空模様 - Backnumbers: Steps to Phantasien

    ある Mac プログラマから "WebKit ってドキュメントがすくないよね" という話を聞いた. WebKit の挙動が気に入らないので直せないかと調べたところ, Mozilla と比較した文書の少なさに呆れたという. 私としては連載枠が貰えたのもひとえに文書がないおかげだから, そこに不満はない. (むしろめでたい.) けれどコードを直したい人が不便なのは困ったことだ. WebKit に比べ, Mozilla の内部は網羅的ではないにしろそれなりに文書化されている. この違いはどこから来るのだろう. 私の印象は, Mozilla が "書き直し" プロジェクトだからというものだった. Netscape は Netscape Natigator 4.x のコードベースを捨て, ほぼスクラッチから Gecko を書いたとされている. 私の仄暗い経験によれば, 書き直しのプロジェクトは最初に

    nilab
    nilab 2009/05/07
    steps to phantasien(2009-05-03):理想と現実:設計:YAGNI:リファクタリング:結果主義と投機気質の板ばさみ:「たとえば, インターフェイスの抽出はしなしなくても具象クラスを特定する箇所(インスタンス化など)は減らしておく」
  • いまどきのデスクトップ処理系 steps to phantasien t(2006-09-22)

    いまどきのデスクトップは色々モダンになっている. ただモダン化は API の裏側で進んでいるため, あまり興味を持たれていないらしい. 一見いろいろウォッチしていそうな知り合いと話していてわかった. 利用者視点の話題では, いまどきのデスクトップというとたとえばウィンドウが ヘナヘナ揺れるといったアイ・キャンディばかりが連想される. でもそのアイ・キャンディに至るにはきっと山ほど苦労があったはず. そのへんをちょっとねぎらってみたい. 念頭にあるのは Windows Vista, Mac OSX, XGL あたり. まず共通の階層化されたアーキテクチャを想定し, ケーススタディを交えつつその層を下から上へ順にたどっていきます. 復習: デスクトップ処理系の階層構造 そもそもデスクトップの中味はどんな構成をとっているのか. ざっと眺めておこう. 典型的なデスクトップ処理系のアーキテクチャはだ

    nilab
    nilab 2008/08/25
    steps to phantasien t(2006-09-22) : いまどきのデスクトップ処理系
  • Bigtable: A Distributed Storage System for Structured Data - steps to phantasien t(2006-09-11)

    2006-09-11 近況 今月は貧乏なので慎しく暮らしている. 週末もひきこもりとしてオンラインの記事を読んで過ごすことに. ウェブを眺めているといいタイミングで Google の新作論文が出ていた. ありがとう, Google の中の人. これ. GFS, MapReduce, Sawzall とつづく Google インフラ N 部作の 4 章が幕をあげた. 実はデータベースも作ってるんだぜ, という話. BigTable という名前だけは以前から O'Reilly Radar などに登場していた. ようやく公式な文書があらわれた. BigTable は GFS をはじめとする Google インフラの上に作られた分散データベース. 少し変わったデータモデルと, 運用までワンセットのヘビーな実装を持つ. 実装の話もまあ面白いんだけれど, それよりデータモデルが印象的だった. 先にその

    nilab
    nilab 2008/02/09
    steps to phantasien t(2006-09-11) : Bigtable: A Distributed Storage System for Structured Data : bigtableの解説
  • 1975 年のプログラミング - steps to phantasien t(2007-06-17)

    少し前に Varnish という逆プロキシサーバが紹介されていた: 【レポート】高速化プログラミングの参照実装としても活用される「Varnish」 (2) vanishが採用している実装技術 : エンタープライズ : マイコミジャーナル. 気になったので資料を眺めてみる. プロジェクトの Wiki にある記事 Notes from the Architect, あとは 講演のスライド(PDF) などが概略には良さそうだ. 中味は仮想記憶やキャッシュ, SMP を有効活用して高速化しましょうという話. 仮想記憶の活用方法は二つ紹介されている. 一つ目は, "サイズに合わせて realloc() するかわりに最初からでかいサイズを malloc() しろ" というもの. 確保してもアクセスしなければ物理メモリにはコミットされないから, 拡張のたびにコピーの必要な realloc() より この

    nilab
    nilab 2007/07/25
    1975 年のプログラミング - steps to phantasien t(2007-06-17) : FreeBSDは統一された綺麗な世界だと思ってたのにorz : HTTPサーバの動きを高速化するHTTPアクセラレータ Varnish
  • Google の MapReduce: steps to phantasien t(2005-11-16)

    2005-11-16 近況 情報処理学会誌に "skeletal paralell programming" というのが載っていて, よく読んでいないのだけれど要は並列計算のためのライブラリを 作りましょうという話のようだった. MPI を土台にしているらしい. GoogleMapReduce が引用されており, そんなものがあったと思いだす. 読んでなかった. そういえば前回の ACM Queue も並列計算と CMP の特集. どうも並列計算が基技能として要求される日は思ったより近い気がしてきた. 勉強しておいた方がよさそうだ. 手始めに "MapReduce: Simplified Data Processing on Large Clusters" を読んでみた. MapReduce というのは並列計算のためのライブラリで, Google のインフラ(ファイルシステムやクラ

    nilab
    nilab 2007/03/16
    Google の MapReduce: steps to phantasien t(2005-11-16):MapReduce というのは並列計算のためのライブラリ
  • steps to phantasien t(2006-09-01)

    2006-09-01 近況 いまの余暇コードは Makefile のかわりに SCons を使っている. Scons は python 製の make alternative. (概要は Radium Software に記事があった.) "#include" によるヘッダファイルの依存関係を勝手に解決してくれるのがいい. 私は何度やっても Makefile の dep ターゲットをうまく書けない. 泣きたくなる. gcc -MD で作った .dep ファイルが どのタイミングで Makefile に incldue されるのか, 実のところ未だによくわかっていない. 少し前にやった仕事でも, 試行錯誤の末になんとなく動いた Makefile をおそるおそる使っていた. (マニュアルをぱくったんだっけ...でも sed なんて使わなかったような...) 一体何がどの順序で評価されるのかさっ

    nilab
    nilab 2006/09/04
    steps to phantasien t(2006-09-01) - rake のコードを眺める : ソースコード手本
  • レビューで手を抜く steps to phantasien t(2006-03-25)

    2006-03-25 近況 転職後, ソースコードの品質に自信が持てない. ピアレビューをしていないからだ. 一人でコードを書いているとレビュー相手がいない. 自動テストとレビューは一度慣れてしまうとそれが無い状態がかなりストレスフル. デバッガが使えない環境で仕事をするのに似ている. 最近はようやく適応してきたが, "Radium Software" に ピアレビューの話が 載っているのを見て不安がよみがえった. いい機会から, 以前私のいたチームがどんな風に レビュー(ピアレビュー)をしていたかを少し書いてみよう. なお, この方法自体は私や私のいたチームのオリジナルではなく, 社内のエンジニア達の間で広く草の根的に 発生したものだということを先に明らかにしておく. 私達のレビューのやり方は, オープンソースのレビュー様式を 企業内開発の特性に合わせて効率化したものだと考えることができ

    nilab
    nilab 2006/04/25
    steps to phantasien t(2006-03-25) - レビューで手を抜く / 私がピアレビューを始めるまで : ソースコードのレビューについてあれこれ
  • 頭痛を抱え社内の保健室(のようなところ)を訪問 - Backnumbers: Steps to Phantasien

    2004-07-20 近況 頭痛を抱え社内の保健室(のようなところ)を訪問. 偏頭痛がするんです. 偏頭痛ですか頭痛ですか. 偏頭痛と頭痛は違うんですか. 偏頭痛は締めつけられるような痛みがするの. 痛みに偏りがあるということではないんですね. 違います. じゃあ頭痛です. こうして処方されたバファリンは良く効いた. バファリンを風邪薬だと信じていた私の誤解は, 頭痛の種などない長閑な暮しの象徴に思える. やさしさを噛み締め, 顔をしかめた. 空腹時を避けて服用すること. ハードウェア化を目指すデスクトップ・グラフィクス デスクトップ・アプリケーションで使われる平面グラフィクスのレンダリング・エンジン(レンダラ)について少し調べた. 停滞しているように見えたこの分野も少しずつ進歩している. Win32-GDI や Xlib といった古典の時代はとうに去って, 今は PDF 並の描画能力を持

    nilab
    nilab 2005/09/04
    描画ライブラリの話
  • 遅いコードを貯蓄する - Backnumbers: Steps to Phantasien

    2005-08-21 遅いコードを貯蓄する 私は仕事柄, 書いたコードに実行速度を要求されることがある. 当はいつも要求されていて, たまにそれに応えるという方が正しいかもしれない... とにかく, 権力者(上司, 顧客, 同僚)から "遅いので速くしろ" というお言葉を日常的に頂く. とはいえできる範囲の高速化は既に済んでいる. 無い袖は振れない. まわりからの圧力を前にすると, 高速化の余地あるコードがある種の資産に思えてくる. 高速化の "余地" にも色々ある. 直せは確実に速くなる性質の良いもの. 複雑さ故に速くなる "かもしれない" ように見える 不確実性の高い不良債権, まだプロファイルをとっていない未公開株のストックオプション, など. そこで, 優良な財をなす投資の方法 ... つまり遅くてかつ簡単に高速化できるコードを書く方法を, いくつか提案しておく. アクセサ変数を

    nilab
    nilab 2005/08/23
    パフォーマンスチューニング
  • 1