hirax.net::Tech-logs

2010-04-19[n年前へ]

「たまに行う大量なバッチ処理」にはAmazon EC2のクラウドサービスを使う 

 「クックパッドのデータ処理、たった5万円 時間も200分の1以下に短縮、わざわざ米国のサーバを使う理由

 検索ログの解析で問題となるのは処理に要する時間である。なにしろ、クックパッドは毎月900万人近いユーザーが利用するサービスだ。「たべみる」のサービスが対象とするのは、1年分の検索ログであり、そのデータ量は膨大になる。
 同社では、社内のデータベースサーバを利用して、この処理を実施した場合、7000時間はかかると見積もった。しかし、米AmazonのIaaS型のクラウドサービスであるEC2を活用し、50台のインスタンス(仮想マシン)を同時に立ち上げ、分散処理のフレームワークである「Hadoop」を利用したところ、わずか30時間で完了した。
 この際、同社が利用したAmazon EC2のインスタンス・タイプは、スタンダードプランの「ラージ・インスタンス」。1時間あたりの利用料金は、0.34ドルだ。Amazon EC2では、メモリサイズやCPUのコア数に応じて、8種類のインスタンス・タイプを用意しており、その中で2番目に安い。従って、同社がこの膨大なログの解析処理に要したコストは、0.34ドル×30(時間)×50(台)=510ドル(約4万8000円)となる。

2010-04-18[n年前へ]

「IronRubyとSQlite3でRuby on Railsを動かしてみました」 

 「IronRubyとSQlite3でRuby on Railsを動かしてみました。

 それはともかく。

また、“Ruby”の公式実装の安定版「Ruby」v1.8.6との互換性も高く、Webアプリケーションフレームワーク“Ruby on Rails”を利用することもできるという。

 「できるという。」ってなんだか無責任な書き方ですよね。ほんとにできるのかヨ。というわけで、実際に試してみました。

2010-04-17[n年前へ]

太陽光追尾システム色々 

 「自作の太陽光追尾システム探しています。

2010-04-16[n年前へ]

「IronRuby 1.0」リリース 

 「IronRuby 1.0」リリース開発開始から3年、初の安定版

 マイクロソフトは12日、.NET Framework上で動作するRuby実装「IronRuby 1.0」をリリースした。
 IronRuby 1.0は、Ruby 1.8.6とのコンパチビリティをターゲットとし、.NET 4.0版と.NET 2.0 SP1版が用意されている。.NET 4.0版では最新の.NET 4.0の機能をサポートしており、.NET 2.0 SP1版は、オープンソースの.NET実装「Mono」と互換性がある。

 IronRuby 1.0 リリース

IronRuby 1.0はRuby 1.8.6と互換性がある。現在の計画によると、IronRuby 1.0が1.8.xをサポートする最後のバージョンとなり、1.1以降はRuby 1.9.xをターゲットにするようだ。

 IronRuby 1.0とRubyにはどれほど互換性があるのだろうか? 最新のテスト実行結果がironruby.infoにある。この大きな疑問に対する回答は「イエス(互換性はある)」だ。例えば、IronRubyはversion 2.3.5までのRailsを動かせる

2010-04-15[n年前へ]

落書きから写真を合成する「Sketch2Photo」が日本で発売へ 

 落書きから写真を合成する「Sketch2Photo」が日本で発売へ

 Sketch2Photoは、手描きの絵とそれに付けたテキストを元に、似た画像をデータベースから検索・合成できるソフトウェア。中国の清華大学などが開発した画像処理技術で、「SIGGRAPH Asia 2009」で注目を集めた。
 「フリー提供の画像を使って面白いことができないか」と考えたのが開発のきっかけだという。現存の写真編集ソフトは専門的に学んでいないと利用するのが難しいと、子どもでも使えるようなインタフェースを目指した。現在利用できるのは清華大学が用意したデータベース内の画像のみだが、「将来はWeb上のフリー画像を使えるようにしていきたい」(エム・アイ・エス・テクノロジーの石佳希さん)としている。

2010-04-14[n年前へ]

iPhone OS 4にみる、アップル本気の『どくさいスイッチ』 

  iPhone OS 4にみる、アップル本気の『どくさいスイッチ』

 「アップルのビジョン」のレールからはみ出そうとするものは、前フリ無しで容赦なく切られる。その姿勢をあらためて明確に表現したのが、今回のiPhone OS 4と言えると思います。
 ドラえもんの「どくさいスイッチ」は「独裁者をこらしめるための道具だった」というオチでしたが、はたしてアップルはこの姿勢を貫き通し理想の世界にたどりつけるでしょうか。

2010-04-13[n年前へ]

iPadを含むスマートフォン用のアプリをRubyで開発できるRhodes 1.5  

 「iPadを含むスマートフォン用のアプリをRubyで開発できるRhodes 1.5

 Rubyを使って多くのスマートフォンプラットフォームのネイティブアプリケーションを開発することのできる、Rhodesフレームワークを推進しているRhomobileが、Rhodes 1.5をリリースした。Rhodesアプリケーションは一度コードを書けば、ほぼ全てのスマートフォンプラットフォームで動作させることができる。現在、iPhone、BlackBerry、Windows Mobile、Symbian、Androidがサポートされており、将来IntelとNokiaのMeeGoや、PalmのWeb OSもサポートする予定である。

2010-04-12[n年前へ]

Kindle Development Kit (KDK) で NES エミュレータ 

 電子書籍Kindleの開発キットを、公開を待ち切れず、ドキュメントから(をもとに作り出し、

 ちなみに KDK は Javadoc がすでに公開されています。世の中にはいろんなものが落ちていまして codavaj という Javadoc リバースエンジニアリングツールが存在します。codavaj ? Javadoc の逆かい!素敵なネーミングセンスです。
 codavaj は Javadoc を読み込んで Java プログラムのスケルトンへ変換することが可能です。KDK が手に入らないのなら自前で実装します!
 さらに、その開発キットを使いファミコン(NES) エミュレータを実装してみたという、とてもワクワクさせられる話。
 新しいプラットフォームが出たら、まずしなければいけない一番大事なことを忘れていました…orz
 そうです、 NES エミュレータを移植することです。

2010-04-11[n年前へ]

コウモリの超音波レーダは混信を防ぐ機能が付いている 

 コウモリの超音波、周波数変え衝突回避

 コウモリの中に、障害物の多い森などで超音波の周波数帯域を発信ごとに変えて衝突を回避している種類がいることが、同志社大生命医科学部の力丸裕教授や飛龍志津子助教、米ブラウン大の共同研究で分かった。超音波の周波数を変えて自分の反射音同士の混信を防ぎ、いつ発した音なのかを聞き分けて、周囲の状況を正確につかんでいるという。
 コウモリの超音波の周波数を調べると、連続して発信する際は、2~3ミリ秒(ミリは1000分の1)という極めて短い超音波の周波数を少しずつずらしていた。各回の反射音を聞き分けることで、障害物の位置などを正確につかんでいるとみられる。

2010-04-10[n年前へ]

VHDLで"Hello World"!? 

 スラッシュドットの「人気のプログラミング言語、Cが4年ぶりに1位に返り咲く」中のコメント「Re:群雄割拠と言う感じ」から、WikipediaのVHDLの説明を読みに行く。

 …VHDLのコード例が「Hello World」と「フィボナッチ数列」というWikipediaのエントリは、VHDLの説明として間違っているとしか思えません…
 VHDLの説明中の一番最初のコード例が"Hello World"というのは、それをネタとして眺めてみれば、とても面白い。
-- VHDL example programme: hello.vhd
 
use std.textio.all;
 
entity hello is
end entity hello;
 
architecture Wiki of hello is 
    constant message : string := "hello world"; 
begin
     process is
        variable L: line;
    begin
        write(L, message);
        writeline(output, L);
        wait;
    end process; 
end architecture Wiki;

 ちなみに、英語版のWikipediaのVHDLの説明を眺めにいくと、そこには現在VHDLが使われる用途を意識した、単純な例が並んでいる。