タグ

ブックマーク / d.hatena.ne.jp (108)

  • プログラマーが世界を救う10の方法 - このブログは証明できない。

    Emacs上で動くVimを実装する。 (宗教戦争の解決) CやC++ではなく、C#やJavaを使う。 (ゴミ問題の解決) PHPをdisらない。 (差別問題の解決) ナンやライスにHaskellをつけてべる。 (糧問題の解決) 適切なクラス設計を行う。 (資源の再利用) Objectのprototypeを拡張しない。 (環境汚染の回避) マクロを作らない。 (雇用減少の防止) 松岡修造botを作らない。 (地球温暖化の抑制) Googleの背景色を#000にするGreasemonkeyスクリプトを書く。 (電力問題の解決) オライリーのPDF版を購入する。 (資源の節約) プログラミングをやめる。 (書くの放棄) プログラマーが覚えておくべき10の英語フレーズ - このブログは証明できない。 プログラマーが好きそうな邦楽77曲。 - このブログは証明できない。 プログラマーが覚えておく

    shiumachi
    shiumachi 2011/02/20
    世界平和を真剣に考えた結果生まれた、貴重な提言。書かれている解決案はどれも簡単ではないが、絶対にできないというものでもない。一人ひとりが努力することが大切
  • 第1回にこにこテキストマイニング勉強会に参加しました #nicotextmining - nokunoの日記

    というわけで参加してきました。第1回 にこにこテキストマイニング勉強会 : ATND 目的テキストマイニングについての学習のスタートアップテキストマイニング技術に関して気軽に参加・議論することができる場の提供 概要テキストマイニングとは、例えば製品の評判をweb上のテキストから抽出したり、大量のアンケートテキストを分析するために用いられる技術であり、特にマーケティングの場で多くの利用例があります。この勉強会ではそうしたテキストマイニングを題材とし、用いられている要素技術とそれに関わる課題の議論、またテキストマイニングを実務に活かす方法について考えていきます。 会場のオラクルセミナールームでは隣でPythonハッカソンが行われており、そちらにも知り合いがいたり飲み物が無料だったりして居心地の良い場所が形成されていました(入るまでが大変でしたが‥)。Python Hack-a-thon 201

  • 次世代Hadoopは10,000台にスケールアウトし、MapReduce以外のフレームワークをもサポートする - nokunoの日記

    Yahoo!のブログにHadoopに関する興味深い記事が上がっていたので紹介したいと思います。かなりボリュームのある記事で翻訳するのは骨が折れました。The Next Generation of Apache Hadoop MapReduce · Yahoo! Hadoop Blog原題はシンプルに「次世代のApache Hadoop MapReduce」です。 概要大規模データを扱うビジネスでは、少数の大規模なクラスタのほうが多数の小規模なクラスタよりも安価になります。大規模クラスタは多くのデータセットを処理し、多くのジョブと多くのユーザをサポートする必要があります。ApacheのHadoop MapReduceフレームワークはだいたい4,000台程度でスケーラビリティの限界が来ます。私たちは次世代のApache Hadoop MapReduceを開発しており、そこではフレームワークを汎

    shiumachi
    shiumachi 2011/02/16
    Y!の記事の翻訳。素晴らしい
  • Hadoopの可用性について(私訳) - developer’s delight

    この記事はClouderaのBlogの記事”Hadoop Availability | Apache Hadoop for the Enterprise | Cloudera”の私的翻訳です。Hadoopの可用性については興味のある方も多いと思いますので、読むついでに訳してみました。勢いで訳したので質に関しては責任を持てませんのでよろしくお願いします。間違いなどがありましたらご指摘いただければ助かります。(id:kkawamura)Apache Hadoopのメーリングリストでよくある質問は、可用性を保つためにどうするか?というものです。この記事では、Hadoopのコンテキストでの可用性について見ていき、進行中の開発の方向性を示します。背景Hadoopの可用性を議論するとき、人はよくNameNodeがHDFSにおいて単一故障点であるため、NameNodeから話をはじめます。そしてHadoo

  • Googleのエンジニアに必要とされるスキルセットは何か? - nokunoの日記

    以下のQuoraの翻訳です。この質問に対して、秘密主義で知られるGooglerたちが答えているのがいいですね。What are the skill-sets needed to be a Google Engineer? - QuoraGoogleエンジニアに必要とされるスキルセットは何か? 回答1ほとんどのプログラマはブラックボックスを使用しています。データベースはブラックボックスです:SQLを与えると、答えが返ってきます。コンパイラもまたブラックボックスです:ソースコードを与えると、実行バイナリ(またはエラーメッセージ)が返ってきます。たくさんのプログラマがこれらのブラックボックスを所与のものとして扱うことでハッピーになります。よりよいプログラマは、そのなかで何が起こっているのかを不思議に思い、中身を開けてみてみるのです。私が言いたいのは、Googleエンジニアに必要とされているス

    shiumachi
    shiumachi 2011/02/10
    "「抽象化レイヤーを乗りこなす」能力です。あなたは抽象化レイヤーについて理解する必要があると同時に、その抽象化がどうやって提供されているのかを知るために実装を調べる能力を必要とします"
  • TopCoderはじめました(SRM 496 Div2) - nokunoの日記

    こんなエントリを読んでしまい、TopCoderを始めたくなってしまったので始めました。Story of Your Life » Blog Archive » 社会人からのTopCoder SRM参加のススメTopCoder,Inc.事前に過去問をやって練習していたこともあり、順調に200点問題と500点問題を解いて、残り50分もあったので1000点問題に挑戦したのですが、解き方がわからないままあえなく時間切れとなりました。 200点問題アナグラムになった文字列の集合が与えられるので、文字の入れ替えによって同じ文字列にできないような入力の部分集合の数を求める問題。たとえばこんな具合。入力0: {"abcd","abdc","dabc","bacd"}出力0:1("abcd"の2種類) 入力1: {"abcd","abac","aabc","bacd"}出力1:2("abcd", "aabc"

    shiumachi
    shiumachi 2011/02/02
    今までGCJオンリーだったけどそろそろ手を出そうかと考え中
  • HadoopがJavaではなくC/C++で実装されていたらどう違っていたか? - nokunoの日記

    Quoraでこんな質問を見つけたので適当に翻訳してみました。Would Hadoop be different if it were coded in C/C++ instead of Java? How? - Quora 回答1実際のところ難しいけど、考えてみるのは楽しいね。 実行時間は速くなると思うけど、それが決定的な違いになるかどうかはわからない。 セキュリティやいくつかの機能は実装しやすくなるかもしれない 他のプログラミング言語への対応はしやすくなる。Java/Pipes/Streamingを選ぶ代わりに、コンパイルしてリンクすればいい。 コード量は非常に大きくなる。エラーチェックのためにね。 コードベースが大きくなれば、開発スピードは遅くなる。Hadoopが今のように成長したかどうかわからない。 Pigは登場しただろうか? 私にはそうは思えない。回答2は略 回答3C/C++とJa

    shiumachi
    shiumachi 2011/02/01
    "コードベースが大きくなれば、開発スピードは遅くなる。Hadoopが今のように成長したかどうかわからない"
  • 自然言語処理・データマイニング系のQuoraまとめ - nokunoの日記

    最近、Q&AコミュニティのQuoraが流行っていますね。Quoraそこで、個人的に興味のある分野のQAについてまとめておきます。 自然言語処理・機械学習系 What is the best way to analyze a corpus of text to determine the most popular phrases? - QuoraWhat is the best open source C++ implementation of a trie? - QuoraMachine Learning: What papers have shown that for machine learning, data set size is more important than the model being trained? - QuoraNatural Language Process

  • 動的計画法再入門(1) - nokunoの日記

    プログラミングコンテストチャレンジブックを読みながら、動的計画法の復習をしています。プログラミングコンテストチャレンジブックこのはコンテストの紹介とか環境構築の説明はほとんどなく、普通にアルゴリズムの教科書として優れているのでタイトルに騙されないようにしましょう(笑)。それはさておき、この記事ではp.52のナップサック問題を例に、動的計画法の考え方と実装方法について検討してみます。 ナップサック問題重さと価値がそれぞれw_i, v_iであるようなn個の品物があります。これらの品物から、重さの総和がWを超えないように選んだ時の、価値の総和の最大値を求めなさい。制約:1 1 1 <例>入力:n = 4(w, v) = {(2,3), (1,2), (3,4), (2,2)}出力:7 (0,1,3番の品物を選ぶ) 方法1最初に書いたコードがこれです。再帰による全探索で、荷物を左から順番に選んで

  • 私の開発環境 - nokunoの日記

    昨日の記事で一般的な情報整理のツールを紹介しました。今日は、開発環境について紹介したいと思います。主にWeb系の開発に使っていますが、UNIX系のOSを使っている人は大抵同じような感じではないでしょうか。それでは、開発に使っているツールとその設定ファイルをお見せします。 zshshellには最強のシェルと言われるzshを使っています。zshにはbashと比べて以下のようなメリットがあります。 ワイルドカードが強力。例えばあるディレクトリの下の.txtファイルを確認するためには、ls **/*.txt などとする。 sceeen(後述)で端末を切り替えても、コマンドの履歴を共有できる設定ファイルの.zshrcは以下。# Source global settingsif [ -f /etc/zshrc ]; then . /etc/zshrcfi# depends OSTYPEcase "${

    shiumachi
    shiumachi 2011/01/06
    実はscreenを使ったことがないので使ってみるか
  • スティルハウスの書庫

    スティルハウスの書庫

    shiumachi
    shiumachi 2011/01/06
    おめでとうございます
  • Amazon Elastic MapReduceに今さら入門してみた - nokunoの日記

    というわけで冬休み最後の自由研究として、Amazon Elastic MapReduce(EMR)を使ってみました。今なら公式ページもほぼ日語化していて楽チンです。Amazon Web Services (日語) Amazon Elastic MapReduceとはAmazon EMRは、Amazonのインフラ上で動作する仮想サーバーを使ったHadoopクラスタを時間単価で貸し出すサービスです。少々わかりにくいので、Amazon Web Service(AWS)の関連する製品群について整理しておきます。EC2 (Elastic Compute Cloud) EC2は、仮想マシンを時間単価で貸し出すサービスです。 EMRを使わずに、EC2に自前でHadoopをインストールして使うやり方もあります(EMRが出来る以前はそれしかなかった)。 EMRを使う場合でも、バックグラウンドでは自動的に

  • そろそろHadoopについてひとこと言っておくか - nokunoの日記

    もうこの手の話題は出尽くした感がありますが、最近Hadoopについて考えることが多いので、エントリにしてみます。なお、ここではベーシックなMapReduce+HDFSのことをHadoopと呼ぶことにします。 HadoopとはHadoopとは言わずと知れたGoogleMapReduce/GFSのオープンソースのクローンです。MapReduceではプログラマはMapとReduceという2つの関数を書くだけで、並列分散処理をすることができます。これは(1) データを実際に持つマシンにプログラムを配布する (2) MapとReduceをつなぐShuffleフェーズでキーをグループ化してソートする、(3) 障害時のフェールオーバーやレプリケーション、といった処理をフレームワーク側が受け持つことによって、プログラマ側の負担を減らすものです。GFSに対応するHDFSにはファイルをクラスタに分散して保存

    shiumachi
    shiumachi 2011/01/03
    Hadoopの概要、強み、弱みなどについてわかりやすくまとめている。とても短いのでHadoopって何って聞く人に読ませるのによさそう
  • 変化するIT企業とエンジニアの関係 - developer’s delight

    ここ数年で、ウェブサービスやアプリケーションを開発するエンジニアをとりまく状況は、劇的に変わったと言えるのではないでしょうか。主要なウェブサービスのデータや機能はAPIごしに利用可能になり、アプリケーションフレームワークやOSSなどの道具が多くそろい、いわゆるクラウド系のサービスのおかげで個人でインフラを用意する必要は無くなり、サービスを開発、公開する敷居がぐっと下げられました。また、AppStoreなどのプラットフォームの登場で、エンジニアは思いついたアイディアをすぐに世の中に問い、さらにそこで収益を得ることまで可能になっています。このような状況が、エンジニアと所属企業の関係を大きく変えつつあるのではないかと最近感じています。企業や組織というのは、質的には個人で成し遂げることが難しい目標を達成すために存在するのだと思います。しかし仮に同じことが個人でもできる、むしろ会社でやるより個人で

    shiumachi
    shiumachi 2010/12/29
    "今後生き残ることができるIT企業は「人を惹きつける魅力のあるビジョン(=理念)」と「エンジニアが存分に力を発揮できる環境」を持っているところだけになるのではないでしょうか"
  • アメリカのゲーム開発会社の給料、環境は?

    ボクは、ボルティモアという、日ではほぼ無名な都市に住んでいるのだけど、ここはここ数年の間、特にHunt Valleyというエリア周辺で雨後の竹の子のようにゲームの開発企業ができてきている。それがなぜなのかまでは知らないのだが、PCやXBOX等のプラットフォームを中心としたdeveloperが毎年増えてる。アメリカゲームの話題の中心地といえば西海岸で、だいたいラスベガス〜サンフランシスコ(シリコンバレー)あたりだろう。 スタンフォードやバークレイあたりを中心とした教育機関もある。では全てが西側にしかないのかというと、もちろんそんなことはなく、教育研究機関でいうなら東にはMITがあるし、工科大学なら他にもGeorgia Tech、Virginia Tech等があり、下地としてはひけをとらない。ところが、西のシリコンバレーのような、開発者(企業)が集まるような場所がなかった。ボルティモアのハ

    shiumachi
    shiumachi 2010/12/23
    2006年の記事。"最高のゲームを開発するには、楽しめる状態でなくてはならない。四六時中切羽詰まった状況であってはならない"
  • Hadoopソースコードリーディングの発表資料「検索エンジンのための転置インデックス構築」 - nokunoの日記

    Hadoopソースコードリーディング第6回 : ATND「Data Intensive Text Processing with MapReduce その2」ということで、前回に引き続きこのについて話させていただきました。Hadoopreading06 data intensive4View more presentations from nokuno.以下、他の人の発表メモです。 Hadoop World 2010報告 NTTデータ山下さん 参加者900人(去年の2倍)! BI関係が目立っていた? eBay: Ganglia, Nagios, HUE, Oozie, Mahout, Pig, Hive, SAML,... AOL: 広告、検索、コンテンツに利用。Mahoutでレコメンドとか Intelのベンチマーク:LZOやHyperThreadingの恩恵 GE:TwiterやYou

    shiumachi
    shiumachi 2010/12/18
    MapReduce本4章。面白かった。6章すごく期待
  • 長文日記

    shiumachi
    shiumachi 2010/12/11
  • 統計的自然言語処理エンジンStaKK - nokunoの日記

    統計的自然言語処理エンジンStaKK を開発しました。nokuno’s stakk at master - GitHub 以下、READMEからの引用です。 現在の機能 かな漢字変換 予測変換 または サジェスト スペル訂正 形態素解析 HTTPによるAPIサーバ Trieの直接操作現在は、StaKK は辞書として Mozc (Google日本語入力のOSS版)のデータを使っています。 リバースモードについてStaKK はノーマルモードとリバースモードの2つのモードを持っています。 ノーマルモードでは、かなを入力し、単語(主に漢字)を出力します。 リバースモードでは、単語を入力し、読みや品詞を出力します。これらの2つのモードの応用例をまとめると、次の表のようになります。 機能 ノーマルモード リバースモード Convert かな漢字変換 形態素解析 Predict 予測変換 検索ワードのサ

  • 疑似乱数の善し悪しを可聴化して耳で聴いて感じてみた - UDONCHAN

    サイコロを振って出る目が予測不可能である一方で,コンピュータの世界は予定調和で,つまるところ,同じプログラムを同じように走らせると同じ結果が得られる.じゃあ乱数はどんなんだと言われるかもしれないが,(少しプログラミングを嗜んだ程度の人ならば分かるだろうけれど),例え乱数を仕込んだプログラムに対しても同様の入力を与えた場合,往々にして同様の結果が得られるものだ.プログラムにおける乱数とはそういうもので,こういう乱数を一般的に疑似乱数というらしい.このエントリで扱う乱数は疑似乱数とする. さて,世の中には良い乱数と悪い乱数が存在しているらしく,良い乱数ほど処理コストが高く,専門家の皆様は解決に苦しんでいるらしい.僕は,乱数の専門家では無いので乱数の善し悪しをどう評価するかは知らないのだけど,なんとなく乱数が分散していた方が良いのではないのかと思った.じゃあ当にそうなのか確かめるにしても結局統

    shiumachi
    shiumachi 2010/11/06
    乱数関数・アルゴリズムの sonification。ちょっと聴いただけじゃよくわからないや
  • nokunoの日記

    nokuno Software Engineer at a Web Company. Interested in Natural Language Processing, Machine Learning, and Data Mining. Skillful in C/C++, Python, and Hadoop.

    shiumachi
    shiumachi 2010/10/27
    "新しい技術を学ぶ挑戦をするか弁解の壁に隠れるかが、情熱的なエンジニアと悪いエンジニアを区別する分かれ目です。複雑な手続きは引き伸ばしの文化に慣れた悪いエンジニアを促進します"