タグ

ブックマーク / blog.bulknews.net (45)

  • 学校では教えてくれないエンジニアリング英語 #6: red herring: blog.bulknews.net

    学校では教えてくれないエンジニアリング英語 #6: red herring 何もなかったようにしれっと2年ぶりにシリーズ更新してみるテスト。 Red herring あるアプリケーションがエラーを起こしたとき、ユーザの期待通りに動いていないときなど、エラーログなどをあさってその原因がどこにあるかを突き止めようとします。コードが期待通りに動いていない訳ですから、なにか想定していない入力があったり、テスト環境ではインストールされていたライブラリがプロダクションでは入っていなかった、バージョンが違った、などといったことが原因として考えられますね。 そんな中、そのエラーと実は関係ないのだけど、同一のタイムラインで起こっているよう(にみえる)エラーがみつかると「これが原因なんじゃないか?」と疑わせてしまいます。とくにソフトウェアエンジニアとネットワークオペレーションのエンジニアがそれぞれ分担している

  • ITPro Challenge 2008 で講演しました&資料公開: blog.bulknews.net

    ITPro Challenge 2008 で講演しました&資料公開 日経BP さんのイベント ITPro Challenge! にご招待いただきまして、Why Open Matters という話で講演させてもらいました。 Why Open Matters It Pro Challenge 2008View SlideShare presentation or Upload your own. (tags: itprochallenge) 他の皆さんの話もとてもおもしろくて、とくに奥地さんのかわりのきかないエンジニアになる話、金子さんのシミュレーションプログラミングは興味深かったです。Winny の技術 にサインしてもらおうとおもったんですが引っ越しのごたごたでどこにいったか見つけられず、かないませんでした。 懇親会・2次会も楽しめました。会場に来ていたオライリージャパンのWさんが ELL

  • Re: Macworld Expo 2008 の真打ちはApple TVだった: blog.bulknews.net

    Re: Macworld Expo 2008 の真打ちはApple TVだった MacWorld Expo 2008の真打ちはApple TVだった:江島健太郎 / Kenn's Clairvoyance - CNET Japan 最初に結論から言ってしまうと、Apple TVはかなりイケてます。これはデジタルコンテンツ視聴の未来を感じさせるデバイスだと思います。今回はそういう話をしたいと思います。 ブックマークのほうにも書いたんだけど、ちょっと長くなりそうだからこっちにも(久々ですね。。英語のほうは Vox で書いているのでそちらもどうぞ。 日にいるころから僕がテレビっ子であることは知ってる人は知っていたとおもうけど、アメリカに来てからもあまりそれは変わっていない。2007年の春先に56" の Samsung 1080p ハイデフTVを $1600 ぐらいで購入(安いよね)。このテレビ

  • Web::Scraper プレゼン@YAPC::EU: blog.bulknews.net

    Web::Scraper プレゼン@YAPC::EU YAPC::Europe でウィーンにきています。1日目の夕方に Web::Scraper のプレゼンをしました。 時間が20分なのに前半に時間をかけすぎて尻きれトンボになってしまいましたが、いろいろフィードバックをもらえたのでよかったです。 ウィーンを観光する時間はとれなそうですが、ドナウ川の周りを散歩してみて、古い建物が見事に街中にとけこんでいて、道路も広いしいろんなものが美しい街です。まわりがテラドイツ語で1人で店とかに入ると大変ですが、また機会があったらきてみたいですねえ。

  • Time to ditch encoding.pm: blog.bulknews.net

    Time to ditch encoding.pm Perl でソースコードにマルチバイトなリテラルを埋め込む場合には encoding プラグマを使うのが定石でしたが、 use encoding 'utf-8'; my $name = "宮川達彦"; こうすると STDIO まで utf-8 でエンコード・デコードされるという問題があり、また encoding.pm はファイルスコープで動くのでレキシカルに一部分だけバイト列として扱いたい(という需要があるかどうかは微妙ですが)というときにうまくいかず、イマイチ encoding プラグマを全面採用できず、decode() を使ったり \x{XXXX} で書いたりってことが結構ありました。 が、Juerd と RGARCIA が encoding::source と encoding::stdio (もとは encoding::split

  • 学校では教えてくれないエンジニアリング英語 #5: crufty, kludge, janky, ghetto: blog.bulknews.net

    学校では教えてくれないエンジニアリング英語 #5: crufty, kludge, janky, ghetto エンジニア仕事はコードを書くことですが、いつもいつも仕事で書くコードが「美しい」コードとは限りません。複雑なユースケースを処理するための変なコードが入ったり、リリースに間に合わせるために質的でないその場しのぎのフィックスを入れたり。 今回はそういうときにつかえる形容詞や名詞をいくつか紹介します。 "crufty" は英辞郎にはのっていませんが、Urban Dictionary でひくと、"Generic derogatory term for something that is hacked together, badly designed, shabby or otherwise substandard. Often used in the description of s

  • 学校では教えてくれないエンジニアリング英語 #4: Works for me

    学校では教えてくれないエンジニアリング英語 #4: Works for me 高林さんの学校では教えてくれないバッドノウハウ英語 シリーズに追い越されそうになってきましたが、第4回です。 今回は "Works for me" をとりあげます。Bugzilla や Trac などのバグトラッキングシステムになじみの深い人であれば、日常的によく目にしているフレーズかもしれません。"僕のところでは動くよ" という意味です。 "This bug is not reproducible. Works for me." (このバグうまく再現できないな。僕のところでは問題なく動いてる) Bugzilla や Trac などではバグを reject する理由の1つとしてこの Works for me があり、worksforme という単語になっていたりします。wfm と略す使い方もあるみたいですね(僕の

  • 学校では教えてくれないエンジニアリング英語 #3: You might want to ...: blog.bulknews.net

    学校では教えてくれないエンジニアリング英語 #3: You might want to ... しばらく間があいてしまいましたが、短いのをいくつかあげていこうかとおもいます。 今回はエンジニアリングに特化したフレーズではないのですが、コードレビューや実装のアイデアを話し合うときなんかによくつかう "You might want to ..." というのを紹介します。 最初 IM で "You might want to ..." といわれたときは直訳して「~ したくなるかも」と受け取っていたのですが、すぐにこれは慣用句で「~するといい」というアドバイスに使うフレーズだということがわかりました。「~するといい」には他にも You'd better ... とかの言い方がありますが、You might want to ... はあまり押し付けがましい感じがしないのでよく使える表現だとおもいます

  • SF 到着・第9回 XML 開発者の日に出ました: blog.bulknews.net

    SF 到着・第9回 XML 開発者の日に出ました 先週の金曜日 17 日に米国に入国して、SF オフィスで勤務開始しました。以前に何度も出張できているのでこれといって新鮮という感じはしませんが、やはり気分的にはやるぞという感じがしますね。 さっそく Thanksgiving で4連休なわけですが、初日の今日は XML 開発者の日 に参加してきました。当初は Windows のリモートアシスタンス + Skype で参加予定でしたが、よりよいリモートプレゼンツールとして Macromedia (Adobe) の Breeze を試してみました。ビデオ・音声チャットにファイル共有(PPT をアップロードして同期プレゼン)など、必要な機能はほとんどそろっていて、かなり使える感じですね。Six Apart でもライセンスを持っているので、これから日と会議などのときにはぜひ使ってみようと思います。

    ziguzagu
    ziguzagu 2006/11/25
    Breeze
  • 日本の総理大臣の演説をタグクラウド化: blog.bulknews.net

    の総理大臣の演説をタグクラウド化 US Presidential Speeches Tag Cloud が面白かったので日の総理大臣版を3分ハッキング。コード自体は15分くらいでかけたんだけどデバッグやらデータの解析やらに時間がかかってトータルでは2時間くらいか。 Japanese Prime Minister Speeches Tag Cloud 首相官邸ホームページ からリンクをたどって HTMLをダウンロード、HTML::TreeBuilder で as_text して Text::MeCab にわせ、名詞(代名詞などをのぞく)の頻度を YAML データとしてつっこみ、HTML::TagCloud でタグクラウド化しました。スライダーの JS などは元の US Presidential のほとんどパクリです。 IE だと行間がかなりつまってるのは HTML::TagCloud

    ziguzagu
    ziguzagu 2006/11/06
    HTML::TreeBuilder, Text::MeCab, HTML::TagCloud
  • svk を当社比100倍高速化する方法: blog.bulknews.net

    svk を当社比100倍高速化する方法 svk を使っているときの最大の不満は、ローカルのミラーレポジトリが大きくなるにつれ各種操作、とくに checkout と commit が遅くなってくること。 既知の問題だとおもっていたんですが、plagger のリリースに15分くらいかかるようになったのでたまらず #perl6 で clkao をつかまえてクレーム。「そんな遅いはずはないので Devel::DProf で dprofpp の結果おくってよ」とのこと。さっそくやってみるとほとんどが Data::Hierarchy の _ancestors 関数でした。 というわけで clkao が Data::Hierarchy 0.32 をリリースしてくれた。Changes に "Workaround various performance issues. The real fix will b

    ziguzagu
    ziguzagu 2006/11/04
    Devel::Dprof
  • Shibuya.pm Tech Talks #7: blog.bulknews.net

    Shibuya.pm Tech Talks #7 Shibuya.pm #7 おわりました。お疲れ様でした。 自分は Test::Base についてプレゼン しました。資料アップしときます。ちょっと時間が5分ではおさまらなかったので、もうちょっとしゃべりたいことありましたが、便利そうかな? というのが伝われば、あとは使ってみてよさがわかるとおもうので、ぜひ使ってもらえるといいかなと思います。あと Ingy の去年のオリジナルなスライドは こちら から。 途中でお知らせしましたが、L-1 ビザを取得して11月からUSのサンフランシスコオフィス勤務となりました。Shibuya.pm のリーダーは竹迫さんに引き継ぎましたが、これからも機会があればリモートなり日なりで Shibuya.pm には参加したいと思ってます。今後ともよろしく。

  • HTML::Selector::XPath をリリース: blog.bulknews.net

    HTML::Selector::XPath をリリース CSS Selector in Perl とか subtech - Bulknews::Subtech - CSS selector to XPath あたりで議論していた CSS 2 Selectors to XPath コンパイラなモジュールをつくって、CPAN に HTML::Selector::XPath としてリリースしました。 使い方は naoya さんが先に書いてますが、HTML から正規表現を使うことなくスクレイプするのに便利。たとえば Mixi にログインしてマイミク最新日記と、1件目のタイトル、文を抜き出すコードが、以下のようにかけます。 #!/usr/bin/perl use strict; use warnings; use utf8; use Encode; use HTML::Selector::XPat

    ziguzagu
    ziguzagu 2006/10/04
    HTML::Selector::XPath
  • 学校では教えてくれないエンジニアリング英語 #2: Push the code

    学校では教えてくれないエンジニアリング英語 #2: Push the code 第1回はなかなか好評 だったようで、若干プレッシャー感じたりもしていますが、早速第2回いってみましょう。週1くらいでできるといいですねえ。 そういえば、何十回とたまったら書籍化なんかいいですね。始まったばっかりでいきなりそれかよ、って感じですが、こういうってなかなかまとまってないので面白いかも。 コードのリリース 今日のテーマは「ソフトウェアのリリース」。このリリースにはいろんな言い方がありますが、ライブのサービスでよく使うのが "Push" という言葉です。例文から。 "We just pushed the 2.1 code to the production. Test it away and let me know if you find any problems." (2.1 のコードを番環境にリリ

    ziguzagu
    ziguzagu 2006/09/16
    code push, roll out, release。gm。
  • CPAN::Mini で CPAN のミラーをローカルに: blog.bulknews.net

    CPAN::Mini で CPAN のミラーをローカルに DECON で話してきたネタですがちょっと詳しく。 飛行機やら電車の中やらでオフラインハックするときに(たまに)問題になるのが CPAN モジュールの不足です。「あぁ、このマシンにはあのモジュール入ってねぇ~」とかでハックが滞るのは萎えます。というわけで minicpan。CPAN::Mini というモジュールで、CPAN モジュールの最新版だけを持ってきてミラーをつくることができます。 導入は簡単で、CPAN から install CPAN::Mini すると minicpan というコマンドが付属してきます。コマンドラインから使うには、 > minicpan -r http://ftp.funet.fi/pub/languages/perl/CPAN/ -l ~/minicpan とかすれば finet から HTTP で同期で

  • DECON 2006 で講演してきました: blog.bulknews.net

    DECON 2006 で講演してきました Shibuya.JS DECON で講演してきました。 私のタイトルは "Hacking Vox and Plagger" で、Xen や yum/rpm を使った Vox のアプリケーションデプロイネタとか、Plagger のオープンソース型開発モデルとテストドリブン、リグレッションテストやスモークテストなどの話をしてきました。発表資料はこちらにおいておきますのでご参考まで(一部発表内容と異なるスライドがありますがご了承を)。 発表資料 (PDF)

    ziguzagu
    ziguzagu 2006/09/10
    cpan mini。
  • 学校では教えてくれないエンジニアリング英語 #1: blog.bulknews.net

    学校では教えてくれないエンジニアリング英語 #1 ソフトウェアエンジニアリングの現場で使うような英語って、たまにクセがあったりしてわかりにくかったりすることってありますよね。年に半分程度US出張も含めて外資系で1年半やってきた経験から、エンジニアの日常会話で使う英語を解説していくシリーズを不定期連載してみようかとおもいました。 よく海外在住の日人ブロガーの方が同じような企画やってますが、エンジニアリングに直結したのは少ないかなとおもったので。あと当然ですが、僕はネイティブじゃなく、業務やら日常会話やらで覚えてきた内容をもとに書いているので間違いがあれば指摘は歓迎です。 第1回の今日は、記号の読み方。最初、結構とまどったんですよね。 "-" "-" をなんと読むか。日人だとハイフンが多いでしょうか。アメリカ英語では、"dash (ダッシュ)" と読みます。"minus (マイナス)" で

  • Test::Perl::Critic で PBP 準拠なコードを自動テスト: blog.bulknews.net

    Test::Perl::Critic で PBP 準拠なコードを自動テスト Perl Best Practices 日語版発売記念ということで、Plagger のユニットテストに Test::Perl::Critic を組み込んでみました。 Perlベストプラクティスposted with amazlet on 06.08.24Damian Conway クイープ オライリー・ジャパン (2006/08/24) Amazon.co.jp で詳細を見る 組み込むといっても実装は簡単で、t/99-perlcritic.t なファイルをつくって、以下のように書き込むだけ。 use strict; use Test::More; eval { require Test::Perl::Critic; Test::Perl::Critic->import(-profile => "t/perlcri

  • svk でオフラインコミット: blog.bulknews.net

    svk でオフラインコミット 30日に OSCON から帰国しました。 Plagger のプレゼンもまずまずうまくいったし、Dojo project の Alex, Open ID の人、それにもちろん YAPC でもおなじみの Perl コミュニティのみんなと再会できたので楽しかったです。Six Apart がシルバースポンサーだったのもあって Ben, Anil, Artur をはじめとして大きなプレゼンスをアピールできたのもいい感じでした。 行きと帰りの飛行機では svk を使ってオフラインハック。オフラインになったところで svk cp && svk switch svk cp //mirror/plagger/trunk //local/plagger-trunk svk switch //local/plagger-trunk/plagger これで //local にうつった

    ziguzagu
    ziguzagu 2006/07/31
  • Rabin Karp アルゴリズムでコード重複の検出 blog.bulknews.net

    Rabin Karp アルゴリズムでコード重複の検出 YAPC::NA で会った Fotango の Norman Nunley がつくってる Algorithm::RabinKarp モジュールが面白げです。 Rabin Karp 文字列探索アルゴリズム (wikipedia) を使って文字列のハッシュ(ダイジェスト)をチェックし、同一の値を示す部分を重複しているとみなしてレポートしてくれます。つまり、プロジェクト内のコードのコピーペーストを検出するツールとして使えるというわけ。 ためしに Plagger で試してみた結果は rabin.txt のようになりました。プラグインの register_hook や CustomFeed での Feed オブジェクトの生成など、イディオム的に使う部分が大半になってしまっていますが、いくつか実際コピペで再利用しているコードが検出できています。 c