タグ

ブックマーク / kzr-2.hatenadiary.org (8)

  • Cuckoo Hashing - Radium Software

    ハッシュテーブルからエントリーを検索する処理は,一般に定数時間で済むとされている。つまり,どんなにエントリーが増えても検索の速さは変わらない,ということ。データ構造の教科書には必ず載っていることだね。 でも実際には,ハッシュの衝突が起こった場合に,速度の低下が発生する可能性がある。例えば,一般的なチェイン法(オープンハッシュ)だと,衝突したエントリーに関して線形検索を行うことになるから,衝突が多ければ多いほど,定数時間からは遠のいてしまう。 この速度低下を防ぐ方法はいろいろある。なかでも cuckoo hashing (カッコウ・ハッシング)は仕組みが面白い。こいつは,エントリーの検索を必ず定数時間で済ませてくれるという優れものなんだ。 Cuckoo hashing では,2つのハッシュ関数と,2つのテーブルを用いる。ここでは,2つのハッシュ関数をそれぞれ h1, h2 として,2つのテー

    Cuckoo Hashing - Radium Software
    tyru
    tyru 2011/08/10
    libdatastructで使われてたのはこれか。頭いいなー
  • oscpack - Radium Software

    oscpackはOpen Sound Control(以下OSC)パケットを扱うためのC++ライブラリだ。このライブラリにはパケット操作のほかに、UDPソケットを使った送受信の機能も用意されている。OSCを使うのに必要な機能はこれだけでほぼ全て揃うという、とても便利なライブラリだ。 僕はtouchOSCのクレジットの中にoscpackの表記があったことから、このライブラリの存在を知った。このライブラリは他にも様々なソフトウェアにおいて利用されており、OSCを使うためのライブラリとして代表的な存在となっているらしい。 oscpackの使い方はiostreamのそれに似ている。例えば、アドレス/foo/barに値0.45を送信するには、次のように記述する。 myOscStream << osc::BeginMessage("/foo/bar") << 0.45f << osc::EndMess

    oscpack - Radium Software
  • オープンソースなアルバム、発売します - Radium Software

    M4TC:Derived アーティスト: Denkitribe出版社/メーカー: LOiD発売日: 2010/08/11メディア: CD購入: 40人 クリック: 383回この商品を含むブログ (9件) を見る 遂にと言うか、とうとうと言うか……Denkitribe名義でのソロアルバムを発売します。題名は"M4TC: Derived"、発売日は8/11、LOiDレーベルからのリリースになります。 このアルバムを制作するに至った背景については、ASCII.jpの記事の方によくまとめられていますので、そちらに目を通していただくのが良いかなと思います。 ASCII.jp - CDにする前の音楽データ、無料でどうぞ Denkitribeさんの挑戦 ボーカルとして一十三十一(ヒトミトイ)さんに参加して頂いたり、SaitoneさんやSEXY-SYNTHESIZERさんといった雲の上的存在の方々にリミッ

    オープンソースなアルバム、発売します - Radium Software
  • CD-ROM ドライブの独創的な使用方法 - Radium Software

    The Daily WTF: Open Sesame ある日のエマニュエル氏の職場の出来事。ドアのオートロックが故障してしまった。どうやらカードキーの読み取りがうまくいかなくなってしまったらしく,内側からは開けられるけれど,外側からは開けることができないという状態になっている。 オフィス管理者は鍵屋に即刻電話したが,その返答は「留守電は満杯です」という素っ気ないものだった。今夜は誰かが泊まって,明日の朝,内側から鍵を開ける役割にならなきゃならないかもしれない。 しかし幸運なことに,エマニュエル氏はいいアイデアを思いついた。ようは内側から解錠ボタンを押すだけの,ロボットか何かがあればいいのだ。彼はおもむろにダンボール箱をドアの前に持ってくると,その上に1台のPCを載せた。 翌朝,社員の1人がエマニュエル氏にドアを開けてくれと電話をかけてきた。エマニュエル氏はコーヒーカップをテーブルに置くと,

    CD-ROM ドライブの独創的な使用方法 - Radium Software
  • アポロ11号のソースコード - Radium Software

    Google Code Blog - Apollo 11 mission's 40th Anniversary: One large step for open source code... アポロ11号の月面着陸から40周年ということで,最近やたらとアポロ計画関連の話題を見かける。そんな中,アポロ計画にちなんだ話題として Google Code Blog に投稿されたのが上のエントリー。 Google Code 上で公開されている Virtual AGC and AGS プロジェクトの中に, NASA のハードコピーから転記された物の AGC (アポロ誘導コンピュータ)のソースコードがありますよ……とのこと。 このソースコードには,オリジナルのアセンブリコードに記されていたラベルやコメントまでしっかり転記されている。それらの記述に目を通していると,そのコードを書いた人の考えや気持ちが伝

    アポロ11号のソースコード - Radium Software
  • 5分間オーディオプログラミング:ChucK入門 - Radium Software

    オーディオプログラミング言語 ChucK のチュートリアル的デモ。画面が見難いのは仕様。Mac でスクリーンキャストをするには何を使うのがいいんだろう? 一点だけ補足。このデモでは miniAudicle という統合環境を使っている。ChucK を単体でダウンロードしてもコマンドラインツールしか入ってなくて面倒なので注意。miniAudicle には元から ChucK が同梱されているので,これさえインストールすればすぐに遊ぶことができる。

    5分間オーディオプログラミング:ChucK入門 - Radium Software
  • オーディオプログラミング言語 ChucK - Radium Software

    オーディオプログラミング言語 ChucK を使って組んでみたサンプルプログラムの映像。 最初のプログラムは,1度,短3度,5度,短7度の音(つまりマイナーセブンスコードの構成音)からなるランダムなシーケンスを延々と鳴らし続けるもの。 二番目のプログラムは,構成音は最初のプログラムと同じだけど,ただランダムに鳴らし続けるのではなく,簡単な繰り返し構造を持たせるようにしたもの。最初のプログラムよりも,いくぶん音楽的な要素が加えられていると思う。 ChucK は,こういった類の実験を行うには非常に適した言語だと思う。上の二番目の例では,プログラムを動かしている最中に変更を加え(繰り返しの構成を変えてみている),それを「オン・ザ・フライ」で再実行している。同様のことは SuperCollider などでもできるけれど, ChucK は仕様の簡潔さと,統合環境 (miniAudicle) の手軽さが

    オーディオプログラミング言語 ChucK - Radium Software
    tyru
    tyru 2009/01/29
    やっぱこういうのあったんだ / コンパイルするとwavが作れると面白そう
  • Hexspeak! - Radium Software

    IBM Crash - dead beef! (Flickr) Wikipedia: Hexspeak Hexspeak とは,16進数を使った英語のスペリングのこと。恐らく最も有名なのは 0xDEADBEEF ("dead beef") とかで,未初期化メモリをマーキングするマジックナンバーなどに使われているのをよく見る。あとは,たしか Java のクラスファイルのマジックナンバーが 0xCAFEBABE ("cafe babe") じゃなかったっけな。 Hexspeak を使ったマジックナンバーは,まったく意味の無いマジックナンバーと比較すると目に付きやすいので,デバッグの際などに役に立つ。また, 0xDEADBEEF のように「絶対値の大きな負数の int 値」は,通常の処理の過程では生じにくいものなので,ユニークな値としての意味もある。さらに, 0xDEADBEEF のような奇数の

    Hexspeak! - Radium Software
  • 1