タグ

2014年5月20日のブックマーク (3件)

  • What is the optimal algorithm for the game 2048?

    I have recently stumbled upon the game 2048. You merge similar tiles by moving them in any of the four directions to make "bigger" tiles. After each move, a new tile appears at random empty position with a value of either 2 or 4. The game terminates when all the boxes are filled and there are no moves that can merge tiles, or you create a tile with a value of 2048. One, I need to follow a well-def

    What is the optimal algorithm for the game 2048?
  • プログラミングの生産性を上げるには - 聞かれてもいないことを喋る

    Yak Shaving の誘惑に打ち克つ ソフトウェアを作っている途中で、「これを作るのを効率化するためには ○○ が必要だ」と思い、来やっていた作業の手を止めて ○○ を作り始めてしまうことは往々にしてある。 しかしその作り上げた ○○ が最終的に当に(長期的にみて)効率化に役立ったケースは、自分の経験からいって 10 個のうち 1 つくらいではないかと思う。 効率化のための努力をするなということではない。大事なのは、アイデアを寝かせることだ。 人はゴミみたいなアイデアでも、気付かずにこれこそが素晴らしいアイデアだと信じこんでしまう。自分の考えたアイデアには愛着が湧くものだ。 そのアイデアが当に優れているかどうか客観的に判断するには時間が必要だ。最低でも 1 晩、できればもう 2, 3 度は同じ必要性を感じてから作るのがいい。 1 回しか必要性を感じたことのないものをその場の勢いで

    プログラミングの生産性を上げるには - 聞かれてもいないことを喋る
  • Node.jsを使ってJenkinsのビルド結果を取得してOSCで転送する - yzgwyskw

    Jenkinsのビルド結果をOSC(Open Sound Control)という通信プロトコルを使ってネットワーク越しに送信する方法を示します。OSCはTCP/IPやUDP/IPなどの上に構築されたプロトコルであり、電子楽器やコンピュータの間でデータをやり取りするために作られました。OSCはMIDIの代替として知られており、音響合成のための言語/環境であるPureDataやSuperCollider、映像合成言語/環境であるvvvvなどでサポートされています。また、音楽と関係のないソフトウェア同士の通信や、Arduinoなどのマイコン間の通信においても利用されることがあります。 はじめに Jenkinsにはたくさんの素晴らしいプラグインがあり、IRC通知、Skype通知やTwitter通知が可能です。 しかしながら、これらはJenkinsのプラグインとして実装されているため、Jenkins