タグ

ブックマーク / postd.cc (13)

  • 製品ロードマップの使用をやめて、GISTプランニングを試すべき理由 | POSTD

    何年にも渡り、私は相応量の製品戦略、ロードマップ、プロジェクトガントチャートを作成しました。しかし、もうこれらの資料を作ることはありません。以下に説明する優れた代替策を見つけたからです。 まず、以前のやり方はこちらです。 注釈: 戦略 ロードマップ プロジェクトプラン 実行 アジャイル このプランニング方式だと膨大な仕事が必要です。株主全員の同意を得るだけでも大変だと言うのにROIはかなり低くなります。プランはあっという間に現実と一致しなくなり、期間が長いほど、乖離も大きくなります。私の作ったすてきなロードマップやプロジェクトガントチャートが公開する時点で既に古くなっていると気づいたのは、少し経ってからでした。このプランニングもウォーターフォールのひとつなので(有名な ウォーターフォール・モデル とは異なります)、即応性はほとんど期待できません。トップで変更があると、それが波及しボトムでの

    製品ロードマップの使用をやめて、GISTプランニングを試すべき理由 | POSTD
    Drunkar
    Drunkar 2018/06/12
    アジャイルと違う気がするのは、マイルストーンを事前に設定して各イテレーションで消化するのでなく、アイデアがオープンでプロジェクトの上位に位置することだと思う。あとから良いの思いつくしなあ
  • PythonとKerasを使ってAlphaZero AIを自作する | POSTD

    自己対戦と深層学習でマシンにコネクトフォー(Connect4:四目並べ)の戦略を学習させましょう。 この記事では次の3つの話をします。 AlphaZeroが人工知能AI)への大きなステップである2つの理由 AlphaZeroの方法論のレプリカを 作って コネクト4のゲームをプレイさせる方法 そのレプリカを改良して他のゲームをプラグインする方法 AlphaGoAlphaGo Zero→AlphaZero 2016年3月、DeepmindのAlphaGo(アルファ碁)が、囲碁の18回の世界王者、李世乭(イー・セドル)との五番勝負で、2億人の見守る中、4-1で勝利しました。機械が超人的な囲碁の技を学習したのです。不可能だとか、少なくとも10年間は達成できないと思われていた偉業です。 AlphaGo 対 李世乭の第3局 このことだけでも驚くべき功績ですが、DeepMindは、2017年10月、

    PythonとKerasを使ってAlphaZero AIを自作する | POSTD
  • 映画制作におけるPython | POSTD

    Python は、近年、映画を作成する上で不可欠なものになってきているプログラム言語の1つです。スクリーンに絶大な効果を与えることになるPythonを活用していない長編アニメーションやVFXを用いた映画はほとんどないと言っていいでしょう。 映画について考える際、プログラマは映像を生み出す芸術性について考えることがあります。しかし、映画業界の技術面を気にする人はほとんどいません。 そのようなこともあり、これまで幸運にも私が携わることのできたいくつかの有名な映画でどのようにPythonを使用したかを記事にまとめ、ブログに投稿してきました。これにより、Pythonがどれだけ映画全般に貢献しているかを示すことができれば幸いです。 また、最近私は、アーティストに Python For Maya(Mayaで使うPython) のオンライン講座を udemy に公開しました。この業界でのスキルの重要性が

    映画制作におけるPython | POSTD
  • OCaml入門の手引 | POSTD

    OCamlを学ぶには、まず何から手を付けたらいいでしょうか? あなたなら何をしますか? 私はこれまで、恐らく10数回はOCamlを覚えようとしました。そして手を付けては諦め、また付けては諦めの繰り返しで、ついには数えるのをやめてしまったくらいです。 でも、今回は続いています。ひょっとすると、コミュニティそのものに何か根的な変化があったのかもしれません。 私にとって功を奏したのが実際は何だったのか、以下に考察してみたいと思います。 役に立つは? 『 Real World OCaml (以下、RWO)』がお勧めです。というよりも、 それ以外にお勧めはありません 。RWOは、私の生涯の中でも1、2を争うことができるくらいのコンピュータ言語解説書です。 ちなみに、その他にも解説書はありますが、大体が不正確な内容を含んでいるか、あるいはフランス語で書かれているかなので、 読まない 方がいいでしょ

    OCaml入門の手引 | POSTD
  • くだらないAPIなんていらないよ – 2016年のウェブスクレイピング事情 | POSTD

    ソーシャルメディアのAPIとそのレート制限は、あまり気分のよいものではありません。特にInstagram。あんな制限つきAPIを欲しがる人がいったいどこにいるんでしょうね? 最近のサイトは、スクレイピングやデータマイニングの試みを阻止するのがうまくなってきました。AngelListはPhantomJSすら検出してしまいます(今のところ、他のサイトでそこまでの例は見ていません)。でも、ブラウザ経由での正確なアクションを自動化できたとしたら、サイト側はそれをブロックできるでしょうか? 並行性を考えたり、さんざん苦労して用意した結果として得られるものを考えたりすると、Seleniumなんて最悪です。あれは、私たちが「スクレイピング」と聞いて思い浮かべるようなことをするためには作られていません。しかし、賢く作り込まれた今どきのサイトを相手にして、インターネットからデータを掘り当てるための信頼できる

    くだらないAPIなんていらないよ – 2016年のウェブスクレイピング事情 | POSTD
  • 私たちはいかにして環状線で”悪さをする列車”を捕まえたか | プログラミング | POSTD

    文:Daniel Sim 分析:Lee Shangqian、Daniel Sim、Clarence Ng ここ数ヶ月、シンガポールのMRT環状線では列車が何度も止まるものの、その原因が分からないため、通勤客の大きな混乱や心配の種となっていました。 私も多くの同僚と同じように環状線を使ってワンノースのオフィスに通っています。そのため、11月5日に列車が止まる原因を調査する依頼がチームに来た時は、ためらうことなく業務に携わることを志願しました。 鉄道運営会社SMRTと陸上交通庁(LTA)による事前調査から、いくつかの電車の信号を消失させる信号の干渉があり、それがインシデントを引き起こすことが既に分かっていました。信号が消失すると列車の安全機能である緊急ブレーキが作動するため、不規則に電車が止まる原因となります。 しかし8月に初めて発生した今回のインシデントは、不規則に起こっているように見えるた

    私たちはいかにして環状線で”悪さをする列車”を捕まえたか | プログラミング | POSTD
  • 大学院生のためのLLVM | POSTD

    (注:2017/07/06、いただいたフィードバックを元に翻訳を修正いたしました。) この記事は、 LLVM コンパイラ基盤を使ってリサーチをする人のための入門書です。これを読めば、コンパイラに全く興味のない大学院生も、楽しみながらLLVMを使って優れた功績をあげられるようになるでしょう。 LLVMとは何か? LLVMは非常に優れていて、ハックしやすく、C言語やC++のような”ネイティブ”言語向けの、時代の先端を行くコンパイラです。 LLVMの素晴らしさに関しては他にも様々な話を聞くのではないでしょうか(JITコンパイラとしても使えるとか、C言語系列以外の様々な言語を強化できるとか、 App Storeからの新しい配信形態 であるとか、などなど)。もちろん全部当のことですが、今回の記事の目的としては、上述の定義が重要です。 LLVMが他のコンパイラと差別化される理由には、いくつかの大きな

    Drunkar
    Drunkar 2016/12/25
  • どうすればPythonをJuliaと同じくらい速く動かせるのか? : 様々なやり方で計算の高速化を図る | POSTD

    どうすればPythonJuliaと同じくらい速く動かせるのか? : 様々なやり方で計算の高速化を図る JuliaPython 科学技術計算には、Pythonなどの言語よりもJuliaを使った方がいいのでしょうか? http://julialang.org/ に載っているベンチマークを見ると、どうしてもそんな風に思ってしまいます。というのも、Pythonなどの高水準言語は、スピード面で大幅に劣っているのです。けれども、これは私が最初に感じた疑問ではありません。私が気になったのは、「Juliaのチームが書いたPythonのベンチマークは、Pythonに最適なものだったのか?」ということです。 こういった多言語の比較について、私の考えを述べましょう。まずベンチマークというのは、実行するタスクによって定義されるものです。よって、そのタスクを実行するための最適なコードを、各言語に精通した人々が最

    どうすればPythonをJuliaと同じくらい速く動かせるのか? : 様々なやり方で計算の高速化を図る | POSTD
  • Pythonや機械学習、そして言語の競争について – 極めて主観的な見地から | POSTD

    (訳注:2016/1/5、いただいた翻訳フィードバックを元に記事を修正いたしました。) よくある主観的で痛烈な意見を題名に付けたクリックベイト(クリック誘導)記事だろうと思われた方、そのとおりです。以前指導してくれた教授から教わったある洞察/処世術は、些細でありながら私の人生を変えるマントラとなったのですが、私がこの記事を書いたのはそれによるものです。「同じタスクを3回以上繰り返す必要があるなら、スクリプトを書いて自動化せよ」 そろそろ、このブログはなんだろうと思い始めているのではないでしょうか。半年振りに記事を書いたのですから。ツイッターで書いた Musings on social network platforms(ソーシャル・ネットワークプラットフォームについてじっくり考える) はさておき、この半年の間書き物をしていないというのはうそです。正確には、400ページの を書きました。

    Pythonや機械学習、そして言語の競争について – 極めて主観的な見地から | POSTD
    Drunkar
    Drunkar 2015/10/05
    「最も使い勝手のいい言語はよくデザインされたものではなく、人気があることが条件になります。」
  • あなたにWebSocketは必要ないかも | POSTD

    (訳注:2015/8/4、いただいた翻訳フィードバックを元に記事を修正いたしました。) 題に入る前に強調しておきます。WebSocketは優れた通信プロトコルです。実際私はこの RFC6455 を、 Fanout のサービスで使っている( Zurl や Pushpin といったパーツで採用しています。Fanoutではまた、 Primus (異なるリアルタイムフレームワーク間での通信を可能とするラッパー)を利用し、 XMPP-FTWインターフェース を介したWebSocket通信をサポートしています。 しかしながら私はこれまで、多くの広く普及しているアプリケーションにかなりの時間を費やし、おかげでRESTやメッセージングパターンについては多少なりとも理解が深まってきた今、実はWebSocketを実装した典型的なWebアプリケーション(もしくはWebSocketライクな抽象化レイヤ)の大部分

    あなたにWebSocketは必要ないかも | POSTD
  • 30日間で300回のプログラミング面接をしてわかったこと | POSTD

    プログラマの採用方法を改善するため、1カ月程前にTriplebyteを立ち上げました。昔から変わらず、履歴書、コードをホワイトボードに書かせるプログラミングテスト、そして直感など、これらを判断基準に面接を行う企業が多すぎます。私たちは、より良い採用方法について最初に考えたアイディアを マニフェスト に記しました。それから1カ月と少しが経過し、この30日間で、300回の面接を行いました。私たちはアイディアを実行に移し、どの方法が有効で、どの方法が有効ではないかを確認し、そのプロセスを繰り返すということを始めたのです。この投稿には、300回の面接を通して私たちが学んだことを書いていこうと思います。 投稿では、細かい内容についての説明が多くなりますが、キーとなる発見は以下の通りです。 私たちが作ったオンラインのプログラミングクイズの結果を見れば、高い確率でプログラミング面接の結果を予測できる。

    30日間で300回のプログラミング面接をしてわかったこと | POSTD
  • Dockerを用いたGUIアプリケーションの実行 | POSTD

    私はこのところしばらく仕事でVMやコンテナを扱っていましたが、大学のいくつかのプロジェクトJavaのコードを書かなければならないときは未だにvimを使用せず、新たに格的なIDEをインストールしなければなりませんでした。これにはいつもイライラさせられていましたが、ついに今週、Dockerコンテナ内でNetBeansを実行できるようになったのです。それによって普段使用しないJavaのコードを書くための膨大な環境をパソコンにインストールしなくて済むようになりました。 Dockerコンテナ内でGUIアプリケーションを実行する場合には、いくつかの方法があり、 X11転送を行うSSH や VNC を使用します。しかし私が発見した最もシンプルな方法は、X11のソケットをコンテナと共有して、直接使用するというものでした。 このアイデアはとてもシンプルで、以下の Dockerfile を開始点として使用

    Dockerを用いたGUIアプリケーションの実行 | POSTD
  • Go言語がダメな理由 | POSTD

    私はGo言語が気に入っていますし、多くの場面で使用します。現にこのブログもGoで書いています。Goは便利な言語ですが、優れた言語とは言えません。つまり、悪くはないけれど、十分ではないということです。 満足できない言語を使用する際は注意が必要です。注意を怠ると、その言語を次の20年間使い続ける羽目になるかもしれないからです。 私のGoに対する主な不満を文にまとめました。既に何度も指摘されていることも含まれていますが、中にはこれまでほとんど話題になっていない指摘もあります。 これから列挙する全ての課題には既に解決策があることを示すため、私が優良な言語と考えるRustやHaskellと比較して説明します。 汎用プログラミング 課題 誰でもさまざまな事柄に幅広く対応できるコードを記述したいと考えます。例えば数のリストの合計を求めるために定義した関数が、小数、整数、またその他の合計を求められるもの

    Go言語がダメな理由 | POSTD
  • 1