タグ

ブックマーク / 0xcc.net (27)

  • ソフトウェアの肥大化について - bkブログ

    ソフトウェアの肥大化について 肥大化したソフトウェアというとリソースいでメンテナンスがしづらい厄介ものというイメージがあります。しかし、広く使われているソフトウェアは多かれ少なかれ肥大化しているように思えます。ソフトウェアの肥大化はよくないことなのでしょうか。 結論からいえば、必ずしも悪いことではありません。この話題は Joel Spolsky 氏がストラテジー・レターIV:ブロートウェアと80/20の神話で書いています。私が付け加えられることはあまりありませんが、最近、知人との間で話題になったので、少し書いてみたいと思います。 数年前、 Alan Kay 氏の Squaek についての講演を聞きにいったとき、途中でコードのサイズが話題になり、Squeak のコードはこんなに小さい(具体的な数字は忘れました)といって、何千万行もある Windows NT を引き合いに出して、Squaek

    otsune
    otsune 2010/10/18
  • ある程度の年齢を迎えたプログラマが抱える悩み - bkブログ

    ある程度の年齢を迎えたプログラマが抱える悩み ある程度の年齢を迎えたプログラマが抱える悩みに、「若手のプログラマと比べて、どうやって価値を出していくか」という問題があります。これは言い換えれば「同じような生産性であれば、相対的に給料の低い若手のプログラマに置き換えられてしまうのではないか」という悩みです。 この問題のひとつの解決策は、プログラマ以外の仕事のポジション(たとえば管理職など)に移ることですが、他のポジションには向いていない、まだまだ現役でプログラマをやりたいという場合にどんな戦略があるか考えてみました。なお、後述するように、以下に挙げた戦略は相反するものではなく、組み合わせが可能です。 エキスパート戦略 この分野ではトップクラス、というレベルの専門性を身につけ、その分野に特化してキャリアを築くという戦略です。たとえば、ネットワークやセキュリティといった分野で一流と認められる専門

    otsune
    otsune 2010/09/22
  • Unicode の雪だるま - bkブログ

    Unicode の雪だるま Unicode Snowman for You というサイトを知りました。Unicode の雪だるま (U+2603 SNOWMAN ☃) が表示されるだけのサイトです。が、ソースを見ると font-face で EOT 形式のウェブフォントが使われていることに気づきました。 この EOT (Embedded Open Type) 形式のウェブフォントは IE しか対応していないようです。IE で表示するとこのような雪だるまが表示されました。これはおそらく Arial Unicode MS の雪だるまです。ちょっとこわいような。。 一方、他のブラウザで表示すると、このような雪だるまが表示されました。これは私がデフォルトのフォントに設定しているメイリオの雪だるまです。これはかわいい。意外なところにも力が入っています。

    otsune
    otsune 2009/12/25
  • 設定ファイルの整理 - Emacs 編 - bkブログ

    設定ファイルの整理 - Emacs 編 zsh に続き、Emacs の設定を整理しました。Emacs の設定もかなり垢が溜まっていることが予想されます。 Emacs を使い始めたのは 1996年頃だったと思います。zsh と同様、emacs の設定ファイルもここ数年は放置状態でした。ひさびさに見てみると、やはり垢だらけでした。 (defun support-color-p () (or (eq window-system 'x) (>= (string-to-number emacs-version) 21))) (when (support-color-p) (cond ((eq window-system 'x) (set-face-foreground 'region "DarkSlateBlue") (set-face-background 'region "#ddccff") (

    otsune
    otsune 2009/11/23
  • 設定ファイルの整理 - zsh 編 - bkブログ

    設定ファイルの整理 - zsh 編 以前からやろうと思って気になっていた、Unix環境の設定ファイルの整理を行いました。まずは zsh からです。 zshを使い始めたのは2000年頃なので、ほぼ10年使っていることになります。最初のうちはよく設定をいじっていましたが、ここ数年はほぼ放置の状態が続いていました。ひさびさに ~/.zshrc を見ると、だいぶ垢がたまっていました。 export LV='-Ou8' export PAGER='lv' 以前は Shift_JIS, EUC-JP, UTF-8 など、いろいろなエンコーディングのファイルが混在していたので、lv を愛用していました。が、最近のファイルは UTF-8 だけになったので less でよくなりました。 LANG=ja_JP.UTF-8 のように設定しておけば、 less で UTF-8 のファイルを表示できます。というわけ

    otsune
    otsune 2009/11/22
  • BK通信 - ブラウザのバッドノウハウ コンテンツ編 - bkブログ

    WEB+DB PRESS Vol. 48に「BK通信」の第5回「ブラウザのバッドノウハウ コンテンツ編」を書きました。Content-Type と Content-Disposition ヘッダにまつわるBKを取り上げました。あまりにバッドすぎて、通常2ページのところ今回は4ページに膨らんでしまいました。 今号は田中哲さん、太田一樹さん、森田創さんによるデバッグに関するエッセイや、最新のJavaScript エンジンの技術解説、スクリプト言語のモダンプログラミングなど、読み応えのある記事が満載でした。 個人的には田中哲さんのデバッグ記事に畏敬の念を覚えました。 WEB+DB PRESS Vol.48posted with amazlet at 08.12.23WEB+DB PRESS編集部 編 技術評論社 売り上げランキング: 236 Amazon.co.jp で詳細を見る

    otsune
    otsune 2008/12/24
  • yak shaving で人生の問題の80%が説明できる問題 - bkブログ

    yak shaving で人生の問題の80%が説明できる問題 つい最近、 yak shaving (ヤクの毛を刈る)、という言葉を知りました (原典)。これは「一見無関係に見えるけど、真の問題を解くのに必要な問題を解くのに必要な(これが何段階も続く)問題を解くのに必要な活動」という意味の言葉です。 yak shaving は、ようするに「ある問題を解こうと思ったら別の問題が出てきて、それを解こうと思ったらさらに別の問題が出てきて…」ということが延々と続く状況を表しています。ちなみに、ヤクとは毛が長い、牛の一種です。 yak shaving は、以前に覚えた bikeshed と同じくらい便利そうな表現です。というもの、プログラムを書いていると yak shaving 的な状況がすぐに発生するためです。 たとえば、「Amazon のほしい物リストを CSV 形式に変換して Excel で読み

    otsune
    otsune 2008/06/24
  • BK通信 - JavaScript のバッドノウハウ - bkブログ

    BK通信 - JavaScript のバッドノウハウ WEB+DB PRESS Vol. 44から「BK通信」という2ページの連載を始めました。第1回は JavaScript のバッドノウハウを3つほど取り上げました。「これはバッド!」とか「これはオレもはまった!」などと共感して楽しんでいただければと思います。

    otsune
    otsune 2008/04/25
  • Unicode の文字列をエスケープする JavaScript - bkブログ

    Unicode の文字列をエスケープする JavaScript Unicode の文字列を \uXXXX (UTF-16) と \xXX (UTF-8)、&#DDDD (数値文字参照)、Base64, Quoted-printable、 URL などの形式でエスケープする JavaScript です。

    otsune
    otsune 2007/09/25
  • C++ の設計と進化 - いやなブログ

    C++の設計と進化 しばらく前からのろのろ読んでいた『C++の設計と進化』を読み終えました。C++ の設計者、Bjarne Stroustrup 氏による著作です。 C++は多様なスタイルを許す C++にはCから受け継いだポインタ、構造体、マクロといった機能に加えて、リファレンス、クラス、テンプレート、例外、ネームスペースといった新たな機能が追加されています。 この結果、C++のプログラムは、昔ながらのC、クラスベースのオブジェクト指向プログラミング、テンプレートによるジェネリックプログラミング、など、さまざまなスタイルで書くことができます。これらを混在させることも可能です。 私が以前から疑問に思っていたのは、なぜ C++ はこんなにいろんな書き方ができるのか(コーディングスタイルもまちまちだし)、ということです。書の第一章にまさにその答えがありました。 C++の設計の多くの部分が、強制

    otsune
    otsune 2007/07/16
  • 浮動小数点演算ではまった話 - bkブログ

    浮動小数点演算ではまった話 浮動小数点演算のありがちな問題ではまりました。 いろいろ調べているうちに x86 特有のちょっとおもしろい 現象に遭遇したので紹介したいと思います。 パーセンテージの計算 簡単な C のプログラムでパーセンテージを計算しようと思い、 次のようなコードを書きました。 int x, y; ... int a = (double)x / y * 100; int a = x * 100 / y としないのは、 x が大きい場合に x * 100 が オーバーフローを起こす (INT_MAX を越える) ためです。 このコードは一見、期待通りに動いていたのですが、 しばらく使っていると、手元の環境では x = 53, y = 100 のときに a は 53 ではなく 52 になることに気づきました。 これは次の理由によります。 式の最初の (double)53 / 10

    otsune
    otsune 2007/03/01
  • いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl

    スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。 私は C, C++ でプログラムを書いているときはデバッガ (主に GNU/Linux 上の gdb) を頻繁に利用します。しかし、スクリプト言語ではそれほどでもありません。これはおそらく次のような理由によります。 ビルドが不要なので printf デバッグが容易 (ある程度大きい C++ のプログラムではビルド時間が長いので printf の挿入はしんどい) 異常終了時にスタックトレースが表示される (Ruby, Python なら自動、Perl の場合は use Carp; $SIG{__DIE__} = \&Carp::confess; など) オブジェクトのインスペクトが簡単 (Ru

    otsune
    otsune 2007/02/11
  • Binary 2.0カンファレンス2006 - bkブログ

    Binary 2.0カンファレンス2006 Binary 2.0 カンファレンス2006 を 2006年12月15日に開催します。 当日はビデオストリーミングによるライブ中継を行う予定です。 主催 - Binary 2.0 カンファレンス実行委員会 (協力 Shibuya.pm)日時 - 2006年12月15日 (金) 18:30-21:00 (18:00 開場)会場 - 神保町三井ビル 17F 株式会社インターネットイニシアティブ (IIJ) 大会議室参加費 - 無料事前登録 - 定員100名 ((定員に達したので締め切りました)ライブ中継: i-revo, Loocプログラム 内容・順番・時間などは予告なく変更する場合があります。昨年の概要 無事に終了しました。当日の模様は発表資料とレポートをどうぞ。 ブログラム概要Inside Binary Hacks - 高林哲Hello, bin

  • 鵜飼本がコンピュータ書籍ランキングの上位2位を独占 - bkブログ

    鵜飼がコンピュータ書籍ランキングの上位2位を独占 書泉グランデによるコンピュータ書籍ランキングの 2006年12月5日分の上位2位を鵜飼さんのが独占していました。 1位の Binary Hacksはこのブログで何度も紹介しているです。鵜飼さんは著者の1人です。私も執筆に携わっています。正直なところ、著者もオライリーの人も誰もこんなに売れるとは予想していませんでした。2週連続で1位とのこと、ありがたいかぎりです。 2位の Write Great Code (Vol.2) は以前に紹介した Write Great Code の続編です。鵜飼さんは監訳者の1人です。今回はコンパイラがどんなマシン語コードを生成するかがメインのテーマとのことで、非常に楽しみです。正月にでも読もうと思っています。監訳者の1人の八重樫さんによる紹介が参考になります。 上位2冊が低レベルのプログラミングであるとこ

    otsune
    otsune 2006/12/07
    >今年も Binary 2.0 カンファレンスを昨年に続き開催したいと思います。12月15日の夜という日程は決まっていますが、詳細はまだ未定です
  • Binary Hacks のサンプルPDFを公開しました - bkブログ

    Binary Hacks のサンプルPDFを公開しました Binary Hacks のサンプルPDFを公開しました。このファイルには「書に寄せて」「はじめに」および書籍に収録された Hack 5に加えて、書籍に収録できなかった Hack が2、入っています。 詳しい内容は オラの村の記事をどうぞ。

    otsune
    otsune 2006/11/02
  • いやなブログ - 文字列操作の比較表: Ruby, Python, JavaScript, P...

    文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)

    otsune
    otsune 2006/10/23
  • WEB+DB PRESS vol. 35 - bkブログ

    WEB+DB PRESS vol. 35 WEB+DB PRESS vol. 35の「小飼弾Alpha Geek に逢いたい」というコーナーに 弾さんとのインタビューが掲載されました。 インタビューは3ページで、 前半は Binary 2.0 および Binary Hacks について、後半は深追いや興味のある技術などについて話しています。ぜひ読んでみてください。 ちなみに、インタビューの最後のページに Binary Hacks の表紙が載っています。Hacks シリーズは伝統的に道具の写真が表紙に使われていますが、 Binary Hacks では他の Hacks とは一風変わった道具が使われています。 なお、Binary Hacks の発売日は、諸事情により、以前にお知らせした 10月下旬から 11月に延期となりました。

    otsune
    otsune 2006/10/21
    話の噛み合なさ必見
  • 自転車置場の議論 - bkブログ

    自転車置場の議論 人が集まると、なぜかどうでもいいようなことほど議論が紛糾してしまう傾向がありますが、このような現象のことを、FreeBSD のコミュニティでは自転車置場の議論 (bikeshed discussion) と呼んでいることを知りました。 この、「瑣末なことほど議論が紛糾する現象」はパーキンソンの法則というの「議題の一項目の審議に要する時間は、その項目についての支出の額に反比例する」という法則として知られています。 このの中で著者は、原子炉の建設のような莫大な予算のかかる議題については誰も理解できないためにあっさり承認が通る一方で、市庁舎の自転車置場の屋根の費用や、果ては福祉委員会の会合の茶菓となると、誰もが口をはさみ始めて議論が延々と紛糾するというストーリーを紹介しています。 このように、「瑣末なことほど議論が紛糾する現象」はパーキンソン氏によって見事に説明されているの

    otsune
    otsune 2006/10/15
  • いやなブログ - スルー力カンファレンス (スルカン) 開催決定!

    スルー力カンファレンス (スルカン) 開催決定! ものごとをやり過ごしたり見て見なかったことにしたりすることを「スルーする」と呼ぶようになって久しい今日この頃ですが、このたび「スルー力」、すなわち、スルーする力に関する、 ITエンジニアのためのカンファレンスを開催することになりました。ユニークな下でおなじみの某社CTOをはじめとする豪華なスピーカ陣による講演が行われる予定です。 「人生の大半の問題はスルー力で解決する」とはスルー力研究の専門家の間では共通のコンセンサスですが、昨今頻発するネット上での炎上事件、人間関係上のストレス問題、あるいは仕事上での燃え尽きの多発などの事情から、スルー力に対する社会的、特にITエンジニアの間での認知度が足りないのではないか、という問題意識が今回のカンファレンス開催の背景にあります。 現在、スピーカは調整中の段階にありますが、スルー力のベストプラクティス

    otsune
    otsune 2006/10/05
  • http://0xcc.net/pub/decon2006/