タグ

ブックマーク / higepon.hatenablog.com (19)

  • Tech Lead(TL/テックリード)の役割 - サンフランシスコではたらくソフトウェアエンジニア - higepon blog

    Tech Lead(TL/テックリード)の役割。聞きなれない名前かもしれない。リードプログラマやテクニカルリードと呼ばれることも。過去にいくつものチーム(最大で10人以上)の Tech Lead をやってきた自分の経験を踏まえて書いてみる。 Tech Lead の主な役割 Tech Lead はエンジニア班長と言いかえるとイメージがわきやすいかもしれない 顧客に提供したい価値(プロダクトゴール)を正しく理解する エンジニアチームの生産性を可能な限り最大化。プロダクトマネージャ・デザイナと顧客に価値を提供する Product の Launch に責任を持つ Product の Launch 後のメンテナンスに責任を持つ エンジニアを過負荷から守る ときにはマネージャ、プロダクトマネージャのアイデア、スケジュールに NO を言う。代替案を提示する チーム内のテクニカルデザイン、採用技術などに責

    Tech Lead(TL/テックリード)の役割 - サンフランシスコではたらくソフトウェアエンジニア - higepon blog
  • 毎朝5時に起きてコードを書くソフトウェアエンジニア - higepon blog

    毎朝5時に起きて出勤前にコードを書くという習慣を始めた。2週間経ったのでまとめてみようと思う。この記録が小さい子持ちの30代パパ・ママエンジニアに役立つとうれしい。多分独身で若い人には役に立たない。 始める前に抱えていた問題 好きなコードを書きたい。勉強したい。そう思っても以下の理由により以前とは比べられないほどに時間がとれなくなってしまった。 子供に可能な限り時間を使いたい。結果的に自分の時間は減る コードを書く自由時間が極端に少ない 1人になれる時間がほとんど無い 家で10分以上集中できない。こどもが遊ぼう!って誘ってくるとか 子供に話かかられたり質問されたら出来る限り応えたい とにかく疲れやすい 以下のような典型的な1日。 朝は 6:30 頃に早起きの息子に起こされる。1人で起きて絵などを読める歳だが、静かに起きることは稀だ。トイレに行きたいとか。何かが見つからない。何だかんだで同

    毎朝5時に起きてコードを書くソフトウェアエンジニア - higepon blog
  • Growing Object-Oriented Software, Guided by Tests - higepon blog

    xUnit Test Patternsで2007年のテスト事情まで追いついた。Growing Object-Oriented Software, Guided by Testsは2009年末に出版されているので更に最新のテスト事情が分かるだろうと思って読んだ。Cybozu Developers Conference にて id:t-wada さんと @kakutani さんにご講演いただいたときに推薦されていた。 個人的には xUnit Test Patterns をスキップして書を手にとっても良いと思う。網羅性はないのだが、良いタイトルからも分かるとおり実践的な例を通してテストと実装がどうやって進むかを示してくれる。オークションに参加するアプリケーションを一から構築して行く。学習用に都合の良い例だが手抜きはない。end to end テストから始まり、サーバーとの通信部分は非同期、G

    Growing Object-Oriented Software, Guided by Tests - higepon blog
  • 電子辞書 EX-word(エクスワード)XD-SF6200 購入 - higepon blog

    最近英語技術書や論文を定常的に読むようになってきた。単語を調べるのに英辞郎オンラインや英辞郎を使っていたのだが数ヶ月続けてみて限界を感じた。 特に不満を感じていたのは 検索の速度 を読んでいる途中に調べるのに PC の前にいる必要がある ついつい別のページを見てしまう の 2 つ。 複数の人から電子辞書を薦められたので調べて購入した。 購入したのはこれ。 CASIO Ex-word 電子辞書 XD-SF6200GD シャンパンゴールド 音声対応 100コンテンツ 多辞書総合モデル 5.3型液晶クイックパレット付きposted with amazlet at 09.08.18カシオ (2009-01-23) 売り上げランキング: 10380 Amazon.co.jp で詳細を見る 調査 電子辞書の選び方は重要。実際に店頭で色々と比較した検討結果。 qwerty キーボード 携帯用の小さな

    電子辞書 EX-word(エクスワード)XD-SF6200 購入 - higepon blog
    hajimepg
    hajimepg 2009/10/18
  • 「今日のあなたのアウトプットは原稿用紙何枚?」 Outputz をリリースしました - higepon blog

    日 Outputz というサービスを公開しました。 Outputz は「自分がインターネットにどれくらいアウトプットしているか?」を自動的に記録し、その結果をグラフで見ることのできるサービスです。 使い方 Outputz に行き、Firefox アドオンをインストールしてください。やることはこれだけです。あとは自動的に Outputz があなたのインターネットへのアウトプット量を記録してくれます。 アドオンをインストール後、ステータスバーに以下のようなアイコンが表示されます。クリックすると今までのアウトプットの集計を見られます。 どのサイトに多くアウトプットしているか?、どの時間帯が多いか?、アウトプットの量を文学作品で例えるとどれくらいか?など多彩な集計情報が提供されます。 背景 私たちの生活において、インターネット利用の比重は高くなってきています。GoogleYahoo で検索

    「今日のあなたのアウトプットは原稿用紙何枚?」 Outputz をリリースしました - higepon blog
  • 技術書を読むときにやってはいけない、たった1つの事 - higepon blog

    当は理解できていないのに、自分をだまして分かったふりをする事。そのまま読み進め最後までたどり着き、自分はこのを読んだと勘違いしてしまう事。 分からないなら分かるまであきらめずに何度も読む。もしくは「分からなかった」と心の中に留めておく事が大事だと思う。 そのままにしておくと、読んだ時間が無駄になる。を読んで勉強したのに手応えもないし成長した気がしない。という状態になってしまう。 最近ようやくこのことに気付いた。

    技術書を読むときにやってはいけない、たった1つの事 - higepon blog
  • Mosh 0.0.4 をリリースしました - higepon blog

  • Scheme 処理系 「Mosh 0.0.1」 をリリースしました - ひげぽん OSとか作っちゃうかMona-

    インタプリタの名前を変更しました サイボウズ・ラボのブログでも告知しましたがこちらでも。 これは何か? R6RSという Scheme の新しい言語仕様に準拠することを目指している高速な Scheme インタプリタです。 何が出来るの? PerlRuby で行っているような実用的なプログラミングができます。(現時点ではもちろん機能は限られますが) 例えばサンプルとして Mosh で書かれた Wiki が動いています。 なぜ Scheme なの? Scheme という言語が柔軟で素晴らしい言語だからです。 Scheme について知りたい方は、計算機プログラムの構造と解釈やプログラミングGaucheなどを読まれると良いでしょう。 ダウンロードとインストール Google Code からソースコードをダウンロードして下さい。 ソースコードのビルドにはGauche が必要です。 ./confi

  • Emacs 22.1 on Ubuntu Gutsy 用の日本語入力設定 - higepon blog

    僕は日本語入力uim.el を使っていて以下の設定で正しく動いています。 sudo apt-get install uim uim-anthy uim-el .emacs (require 'uim) (uim-mode-on) ;; for Edgy (global-set-key "\C-o" 'uim-mode) (setq uim-default-im-engine "anthy") (uim-mode-off) ;; for Edgy (setq uim-candidate-display-inline t) ;; uim-mode で C-h を有効にするため (uim-reset-keymap) ;; uim-mod ;; ON/OFFでカーソルの色を変更。 ;; ON時に必ず日本語入力モードにする (defadvice uim-this-command-keys (ar

    Emacs 22.1 on Ubuntu Gutsy 用の日本語入力設定 - higepon blog
  • 小黒さんのSchemeにおける glint + Emacs + flymake を試してみた - ひげぽん OSとか作っちゃうかMona-

    id:koguro:20080309:1205012807 で公開されている小黒さんの glint を試してみました。 昨日の Gauche.night で発表されていたのものですがこれを待っていました!。 こんな便利なものを作ってくれ小黒さんに感謝。 何ができるか? glint は Gauche 用に書いたソースコードの syntax チェックをしてくれます。 これと Emacs の flymake (Emacs22 からは標準で付属)を組み合わせるとソースの編集中に syntax エラーが分かります。 インストール Gauche 0.8.13 をあらかじめインストールしておいてください。他のバージョンでは動作しない可能性があるので注意してください。 wget http://homepage.mac.com/naoki.koguro/prog/codecheck/codecheck-0.

    小黒さんのSchemeにおける glint + Emacs + flymake を試してみた - ひげぽん OSとか作っちゃうかMona-
  • Gauche(Scheme) でデバッグをする4つの方法 - higepon blog

    Gauche でコードを書いているときにコードが意図どおりに動かないことがあります。そのような場合にデバッグする方法を4つ紹介します。 前提 まず Gauche はリリースされている最新版を使った方が良いでしょう。Linuxのディストリビューションによってはパッケージが古い場合あります。 またScheme は関数型言語なので、デバッグの単位は関数(手続き)ごとに行うことが多いです。一つ一つの手続きが意図どおり動いているのか?を調べながら進めるのが基になります。 方法1 print デバッグ Gauche には今のところデバッガがありませんから基的には print デバッグがメインとなります。単純な print デバッグから見ていきましょう。 以下のような sum という手続きで print デバッグしてみましょう。 (define (sum n) (if (= n 1) 1 (+ n

    Gauche(Scheme) でデバッグをする4つの方法 - higepon blog
  • デブサミ - higepon blog

    Joel氏 はさすがにプレゼン上手い。著書の口調そのままな感じ。 通訳の女性が予想以上にしっかりと言葉を選んで通訳していて分かりやすかった。 何となくメモ MS プレゼンツのセミナーなのに MS とか Windows を冗談でけなしまくってた ユーザーは自分が外界のコントロールをできないとストレスがたまる 主導権をユーザーに与えよう ユーザーに主導権を与える UI の例としてAmazon のショッピングカートが挙げられていた。届け先の変更も支払い方法の変更もユーザーが自分の思う順番で可能。 1秒後のフィードバックは遅い、0秒が良い Linux(Unix) も皮肉ってコンソールに Panix と書いてあった(まちがいだった。当は→PANIX - Wikipedia) 建築に無駄な装飾をとりのぞくモダンアーキテクチャという流派があるが、ソフトウェアはまだその段階に達していない。ユーザーは装飾

    デブサミ - higepon blog
  • 自由人生活79日間のまとめ - ひげぽん OSとか作っちゃうかMona-

    明日から社会人復帰なので、退職してから今日までの79日を振り返る。 背景 もしも仕事を辞めることがあったら試したいことがあった。自分の人生から「仕事」が無くなったときに 自分は何をするのか? 自分は Mona のコードを今までどおりに書き続けるのか? 自分はどこまで気コーディングを続けられるのか? 自分の能力のリミットは? などを知ること。 これらを早い段階できちんと知っておかないと、今後の人生の分岐点で核心を持って正しいと思える判断ができない。 自分に甘い楽観的な予測であれば立てられるが、それが合っている保証はない。試してみるほかない。 例えば、最悪想定の悲観的なシナリオでは 仕事の反動や課外活動としてしか Mona をやれない 気づけば毎日ダラダラしているだけ 自分は自分が失望するほど能力がない という可能性があるわけ。 結果 概ね満足できる結果だった。 Mona のコードを書きつづ

    自由人生活79日間のまとめ - ひげぽん OSとか作っちゃうかMona-
  • 机の上に紙とペンを広げられるかで勝負が決まる - ひげぽん OSとか作っちゃうかMona-

    そういえば昨日の飲み会で誰かが言っていて同意したのがプログラマの机の話。 机の上に紙とペンをどれだけ広げられるかで勝負が決まる。 せまい机に押し込まれて隣の人と触れ合うほど、近かったりするともうだめ。 デュアルディスプレイで得られる効率はコーディングの効率なのだけど、机に広げたノートで得られるのは考えをまとめる効率。 脳の中に展開できない何かをノートに展開ですよ。 紙とペンとか言うと、うげー古いぜとか思うかもしれないですが僕より若い優秀なエンジニアは良く紙に何か描いているなあ。(上の世代は言うまでもない)。 今使っているノートとペンを教えてくれたのは僕よりずっと若い id:kambara氏 だし。

    机の上に紙とペンを広げられるかで勝負が決まる - ひげぽん OSとか作っちゃうかMona-
  • はてな退職のお知らせ - ひげぽん OSとか作っちゃうかMona-

    日*1をもちましてはてな退職することになりました。 お世話になったみなさん当にありがとうございました。 僕は、はてなRSSや Rimo などまとまった大きなサービスから、ダイアリーのメール投稿機能など小さな機能まで、はてなのいろいろな部分に関わらせていただきました。 その過程で 実際にサービスを使ってくれるユーザーのみなさん はてなアイデアを通じてアイデア投稿や不具合報告をしてくれるみなさん 告知日記のブックマークコメントで喜んでくれるみなさん 日記で感想や要望を書いてくれるみなさん など、当に多くのユーザーの方といろいろな形でコミュニケーションをとらせていただきました。 そのみなさんとのやりとりが、より良いサービスを作りたいというモチベーションになったり、日々の僕自身の楽しみやはげみになったりと、たくさんの力をいただきました。(当はユーザー id を挙げてお礼が言いたかったので

  • ひげぽん OSとか作っちゃうかMona- - Subversionの話

    Subversion を使うようになって数年が経ちますが、最近 svn diff/status/log/merge などのコマンドに熟達してきた。 気軽に ブランチを作る マージする コードを元のバージョンに戻す 問題となるコードを diff で調べる などができるようになって、作業効率が上がったり、こまめにコミットさえしておけば、あとからどうにでもなるので精神的にもかなり楽になった。 この「気軽に」ってのがとても重要。 以前だって、マージの概念やいつでも好きなバージョンに戻せること、diff を表示することが出来るのは知っていたし、たまに使っていたりもした。 ただ使う場合は コマンドをWebで調べる おそるおそる試してみる 失敗して check out しなおしで時間をロス などがありストレスがたまりがちで、結果的にこれら有用な機能を使うのを無意識に避けていたなと、振り返ってみると気づく

    ひげぽん OSとか作っちゃうかMona- - Subversionの話
  • ひげぽん OSとか作っちゃうかMona- - Subversionを ssh 経由で使おう(ApacheもWebDAVも必要ないよ) - masatobito さんのコメント

    Subversionをローカルだけでなく格的にサーバーで使おうと思うといつも障害になるのが以下の誤解だ。(というか今日まで誤解していた) Apacheで難しい設定をしなくてはならない ⇒Apacheの使用は必須ではない。インストールにaprというApache由来のライブラリが必要なだけ。 WebDAVとかいうよく分からない仕組みを理解しなければならない ⇒同じく必須ではない svnserverとかいうサーバを常駐させる必要がある ⇒同じく必須ではない 結局すべて、誤解でだった。 個人で使うならば、もっと簡単(?)というか親しみやすい方法があり、それが「ssh経由でアクセス」である。 自分的に ssh の理解も怪しかったのであわせて手順メモを残しておきます。 subversionのインストールは yum でやっていますが環境に合わせて下さい。 1.ssh設定 以下ユーザー名は higepo

    ひげぽん OSとか作っちゃうかMona- - Subversionを ssh 経由で使おう(ApacheもWebDAVも必要ないよ) - masatobito さんのコメント
  • ひげぽん OSとか作っちゃうかMona- - ハッカー養成塾:ハッカーへの遠回り

    オープンソースマガジン2007年1月号に向けて書いた記事の元の原稿です。 前回のアルファギーク舘野君から、バトンを渡されたひげぽんです。 Mona OSというオープンソースOSを開発しています。 僕はハッカーと呼ばれるには実力不足ですが、知り合いのスゴ腕ハッカーに少しでも追いつこうと日々実践していることをいくつか紹介します。 ハッカーに学ぶ オンラインでもオフラインでも構いません、自分よりも優れているハッカーを探してお手とすることから始めましょう。 彼(または彼女)が何を勉強し、発言し、考えているかを観察することで多くのことを学べるはずです。 周りにハッカーがいなければ、勉強会・カンファレンスに参加したり、ブログを利用してコミュニケーションをとるのもひとつの方法です。 「ハッカーに交わればハッカーになる」とまではうまくいきませんが、周りは自分より優秀な人ばかりであるという環境を作り上げる

    ひげぽん OSとか作っちゃうかMona- - ハッカー養成塾:ハッカーへの遠回り
    hajimepg
    hajimepg 2007/04/02
  • find -name "*.cpp" | xargs grep 'hoge' - higepon blog

    find -name "*.cpp" | xargs grep 'hoge' find -name "*.pm" | xargs grep 'hoge' find -name "*.h" | xargs grep 'hoge'というコマンドがやっと手に馴染んできて良く使うようになったので .zshrcに function として以下のように登録した。 function fxg() { find -name "*.$1" |xargs grep "$2" }引数を受け取るのは alias では出来ないっぽいので function にしています。 このように使います。 fxg "cpp" "hoge"拡張子限定にするか迷ったのですが使うケースがほとんど拡張子きっかけなので上の様になっています。 追記 Mona プロジェクト用 function fxgm() { cd ~/monaos/mona

    find -name "*.cpp" | xargs grep 'hoge' - higepon blog
    hajimepg
    hajimepg 2006/10/10
  • 1