hirax.net::Tech-logs::2009-10

2009-10-07[n年前へ]

さくっとRails on Google App Engineをはじめる「Rails on GAE」 

 さくっとRails on Google App Engineをはじめる「Rails on GAE」

 Rails on GAEはRuby on RailsをGAEで動作させるために必要なタスクを予めインストールすることで、後は順番に従って進めるだけでJRuby on Railsができるようになっている。元々はRubyではじめつつもGAEに対応させようと思ったら、即座に切り替えることができるのだ。
 ここまで手軽になるとJRuby on Railsをはじめない訳にはいかなくなってきてしまう。無料で使えて、スケーリングも考えずに使えるGAE…ぜひRuby on Rails開発者の方もはじめてみて欲しい。

2009-10-08[n年前へ]

Snow LeopardのGCDサポート Rubyのコンパイルや並列処理対応、MacRuby最新ベータ登場 

 LLVMベース、Snow LeopardのGCDサポート Rubyのコンパイルや並列処理対応、MacRuby最新ベータ登場

 MacRuby 0.5以降では、ThreadクラスはネイティブのPOSIXスレッドに対応し、各スレッドは個別のVMインスタンスを持つという。また、MacRuby はSnow LeopardからMac OS Xに導入された並列処理API「Grand Central Dispatch」(GCD)にも対応する。(中略)MacRubyではRubyのブロックが使える。つまり、低レベルのスレッド処理のことを意識せず、ブロックを書くだけで並列プログラミングによるマルチコアの恩恵を受けやすいというわけだ。
 パフォーマンス重視で開発を進めているMacRubyでは、並列処理だけでなく、ネイティブコードへのコンパイルも可能としたという。実行時最適化のJIT(Just-in-Time)と、事前コンパイルのAOT(Ahead-of-Time)の双方をサポートする。

2009-10-09[n年前へ]

OpenCV 2.0 関連記事 

 最近のOpenCV 2.0関係の情報を集め、メモしてみた。「OpenCV 2.0 入手、ダウンロード、インストール、環境設定」「Snow LeopardにOpenCVをインストールする」「OpenCV2.0ReleaseをCMakeを使ってビルドする」「OpenCVをSnow Leopardでコンパイルできた!カメラも動いた! 」「OpenCV 2.0を試してみた」「VC++とOpenCV2.0を使ってUSBカメラの映像を表示させる。」「【OpenCV2.0】C++/CLIによるサンプルプログラム(Ver2.0対応版)」「EclipseでOpenCV 21:35 EclipseでOpenCV」「cocoaでopencv

2009-10-12[n年前へ]

「最強の改造サービス」シリーズが帰ってきた 

 ある種の人たちには、とてつもない魅力を感じるはずの「最強の改造サービス 」が帰ってきた。

 「最強のx60/s x61/s 改造サービス H-IPS SXGA+ t9300 対応 」「最強の x60t x61t 高解像度改造サービス H-IPS  SXGA+ 最強の x60t x61t 高解像度改造サービス H-IPS  SXGA+ 」「最強のx31 x32 改造サービス H-IPS SXGA+ 最強のx31 x32 改造サービス H-IPS SXGA+ 」などなど、軽量。小型・超高解像度のノートPCを使いたい人は必見かも。

2009-10-13[n年前へ]

電界分布の動画撮影用カメラが登場 

 「駆け出しのアナタにも電波の動きが見える,電界分布の動画撮影用カメラが登場」というニュース。現状の2万フレーム/秒での撮影では、「電波の動き」というと少し違うような気もしてしまうけれど、将来的には面白いニュース。

 今回のカメラは,単結晶のZnTe(テルル化亜鉛)の屈折率が電界によって変化することを利用する。その仕組みは以下の通り。ZnTe結晶の上に,観察したい回路を置く。回路に由来する電界により,ZnTe結晶の屈折率が部分的に変化する。ZnTe結晶の窓の下から波長780nmのレーザ光を照射してその反射光をCMOSセンサで撮影することで,ZnTe結晶の屈折率の変化をコントラストの変化として記録し,画像処理してモニタに表示する。デモンストレーションでは,電界(+,-),強度(絶対値),位相を白黒で表示して見せた。

2009-10-14[n年前へ]

声優の身長・体重・生年月日・スリーサイズ 

 声優の身長・体重・生年月日・スリーサイズが掲載されている「声優データ倉庫

 ここは声優に関するデータを掲載しているサイトです。 本やネット等で得たデータなので、古かったり間違っている可能性があります。当サイト内のデータを使用して何らかの不都合が生じても、責任は負いかねますので、ご了承下さい。

2009-10-15[n年前へ]

Snow Leopard on ThinkPad T60 

 「ThinkPad T60でSnow Leopardが走る夢を見ました

 Thinkpad T60 (Core Duo:T2500(2.03GHz)/4GB)でUSB接続の外付けHDDからSnow Leopardが起動する夢を見ました。どこからか種を拾って来るのではなく、MacBookPro用に購入したSnow LeopardのDVDから導入用のイメージを作成して導入する夢でした。(中略)読み進めてこの手順通りに作業することでUSB接続のHDDからSnow Leopardが立ち上がるという夢を見ることができました。
 画面のサイズに関しては、/Library/Prefarences/SystemConfigurationの下のcom.apple.Boot.plistに Graphics Mode
1400x1050x32
を追記することでフル画面に変更することができました。

2009-10-16[n年前へ]

自作ラップトップ式「PS3 Slim Laptop」 

 「PS3 Slimなんか目じゃない! 海外ファンが作った「PS3ラップトップ」の完成度が高すぎる件」に掲載されていた、自作ラップトップ式「PS3 Slim Laptop」に見とれた。こういったモノを作る技術を身につけたいものだ。

 こちらの「PS3 Slim Laptop」は、新型PS3をベースに海外のファンが自作し、自分のサイトにて公開したもの。サイズは新型PS3より少し大きい程度ですが、本体をパカッと開くと17 インチ液晶モニタ+ステレオスピーカーが出現。電源さえあれば、モニタいらずでどこでもPS3が楽しめるという優れモノです。

2009-10-17[n年前へ]

並列化テンプレートクラスライブラリ「Intel Threading Building Blocks」入門 

 「オープンソース化された並列化テンプレートクラスライブラリ「Intel Threading Building Blocks」入門

 C/C++で並列アプリケーションを実装する手法として、並列化したい処理をOSのAPIを用いてマルチスレッド化する、もしくは並列プログラミングの規格である「OpenMP」を利用する、といったものが知られている。これらについては以前の記事でも紹介しているが、マルチスレッドを利用した実装は柔軟性がある一方で手間が掛かり、OpenMPは比較的手軽だが柔軟性に欠けるなど、それぞれに長所と短所がある。
 これらの問題を解決し、C++での見通しの良い並列処理実装を可能にするのが本記事で紹介する「Intel Threading Building Blocks」(以下、TBB)である。

2009-10-18[n年前へ]

Ruby拡張ライブラリの罠 

 「Ruby拡張ライブラリの罠

 ここ数日Ruby専用DLLである「拡張ライブラリ」なんてものに手を出しているわけですが割と呆然とする問題に遭遇したので書いてみる。
 fclose関数が(#define fclose(f) rb_w32_fclose(f)により)得体の知れぬ(msvcrt-ruby18.libもしくは関連dll中にあるだろう)rb_w32_fcloseなる関数に置き換わり、さらにその中でエラーしている、というわけです。

2009-10-19[n年前へ]

何かしらつくるときに、誰かとかぶる(Ruby and GCD) 

 「Ruby and GCD

Snow Leopard から搭載されてる Grand Central Dispatch (GCD) を Ruby で使えるようにしたら、お手軽並列プログラミングできたらいいよね。なので、ちょっと取り組んでいた。
 半分くらいできて、 CRuby の GIL をどう回避するかなーと考えていたところに MacRuby 0.5 beta 1 で GCD をサポートしたよ、とさらりとアナウンスされる。何かしらつくるときに、誰かとかぶる。いつもタイミングが悪い。あるいはいつも出遅れている。

2009-10-21[n年前へ]

ボケ風味画像を画像処理で作り出すFinePix F70EXR 

"> 一眼レフカメラのようなボケのある写真が撮影できる! 富士フイルム「FinePix F70EXR」

 ボケが大きくなりやすい一眼レフカメラと比べ、撮像素子の小さなコンパクトデジカメやカメラ付きケータイは大きなボケを得にくい。ボケの大きな写真を撮影するのは、コンパクトデジカメユーザーの憧れだろう。

 その課題を画像処理で解決しようという新機能が、富士フイルムの「FinePix F70EXR」(以下、F70EXR)が搭載した「ぼかしコントロール」だ。シーンモード内に新たに加えられた。シャッターを切ると自動的に2枚の写真を連写し、その画像を基にしてメーンの被写体と背景の距離を計算。画像処理によって背景のボケだけを強調する仕組みだ。

2009-10-22[n年前へ]

「Windows 7の数式入力パネル」で手書き数式処理プログラムを作る…!? 

 Windows 7を試用してみよう、と思います。理由は、「Windows 7ソフトウェアレビュー - アクセサリの数式入力パネルで楽々数式入力編」で遊んでみたいからです。

 Windows 7で新たに追加されたツールに数式入力パネルがある。その名前の通り、ポインティングデバイスで、手書きで入力した数式を、自動認識してくれるというツールである。

 以前、数式処理プログラムMathematicaの世界戦略統括責任者であり、開発者Stephen Wolframの弟でもあるコンラッド・ウルフラムに、「手書き(Tablet)Mathematicaをなぜ出さないのか?」と尋ねたことがあります。

 その時は、「そういう試作品はすでに作った。しかし、未だ市場ニーズがない」というような答えを聞いたように思います。それは、決して「Wolfram AlphaのiPhoneアプリ」のような今一つ感にも・割高感にも溢れるものでなかったのでは?と思っています。

 「欲しいものがなければ、作ろう」というわけで、Windows 7の数式入力パネルを試してみるつもりです。もちろん、Mathematica PlayerのMathematica カーネルと組み合わせてみよう、というわけです。AutoHotoLinkやAtokとの組み合わせにチャレンジした後は、当然「手書き数式処理をしてみよう」というのが、当然予期されるだろう自然な流れ、ですよね。

2009-10-23[n年前へ]

g++でOpenCVコードをg++でMakeする方法についての情報 

opencvをg++で

今までVisual Studioでコンパイルしてたんだけど、だんだんしんどくなってきた。まぁWindowsマシンのスペックが低いのが原因なのだが... とにかく、これからはgcc/g++でやるとしよう。
というわけで、g++でOpenCVコードをg++でMakeする方法についての情報

2009-10-24[n年前へ]

【iPhone】カメラアプリ系の画像処理をする 

 iPhoneで画像処理プログラミングを思わずしたくなる「【iPhone】カメラアプリ系の画像処理をする

2009-10-25[n年前へ]

通常のPCにOSXをインストールするソフトウェアの試用版公開 

 Mac OS XのプレインストールPCを販売しているPsystarから、通常のPCにOSXをインストールすることができるようにするソフトウェアRebel EFIが販売開始された(参考記事)。

 Psystarによれば、Rebel EFIはIntelの「Core 2 Duo」と「Core 2 Quad」「Core i7」「Xeon Nehalem」CPUを搭載したマシンに対応するという。
 ユーザーはRebel EFIをダウンロードした後は、それをCDに焼いて、画面に表示される指示に従うだけでよいと、Psystarは述べる。ハードウェア機能の制限が全くないRebel EFIスイートのフルバージョンは、49.99ドルで販売されている。
 ちなみに、使用時間限定等の制限がついた試用版は、ここにisoイメージがある使い方FAQ)。

 インストール・メンテナンスに使う時間・手間を考えると、結果的には純正品のApple MacBook Pro でも買ったほうがずっとお得だと思う。しかし、コンピュータをいじる・改造すること自体が目的・趣味だという人々にとっては、この試用に一回は挑戦してみたくなるかもしれない。ちなみに、Mac OS X 10.6 Snow Leopardなどは別途必要なので、(持っていない人は)2,937円ナリを支払ってインストール用ディスクを購入する必要があります。

2009-10-26[n年前へ]

楽天、分散キー・バリュー型データストア「ROMA」のソースコードを公開 

 楽天、分散キー・バリュー型データストア「ROMA」のソースコードを公開

 楽天は2009年10月24日、同社が独自開発した分散キー・バリュー型データストア「ROMA」をオープンソース・ソフトウエアとして公開した。
 ROMAはデータを「キー」と「値(バリュー)」の組み合わせとして保存するキー・バリュー型データストアであり、キーに応じてデータを複数のノード(サーバー)に分散・複製して保存できる。そのため、サーバーの台数を増やした分だけデータ容量やスループットが向上するほか、データの複製を複数のノードで保存することから耐障害性も高い。ノードに障害が発生した場合も、ROMAが障害を検出して自律的に障害を復旧できる。
 ROMAは分散メモリー・キャッシュ「memcached」互換のAPI(アプリケーション・プログラミング・インタフェース)を備えるほか、独自に開発したコマンドやストレージ・システムなどをプラグインによって拡張できる。

2009-10-27[n年前へ]

ハイスピードカメラ「EX-F1S PC制御基本開発キット」 

 ハイスピードカメラ「EX-F1S PC制御基本開発キット」で開拓する業務用市場

 カシオ計算機が昨年から販売している「HIGH SPEED EXILIM EX-F1」は、秒間60コマの高速連写や1,200fpsのハイスピードムービーが撮影できるデジタルカメラ。従来高価な業務用機器でしか撮影できなかったハイスピード写真の世界を、一般消費者レベルでも手軽に味わえるようにしたものだ。
 カシオが9月から法人向けに販売を開始したのが、「EX-F1S PC制御基本開発キット」だ。これは、EX-F1S(※)をPCから遠隔操作するソフトを制作するための開発環境(SDK)で、ハイスピードカメラを利用した画像系のシステムを構築することが可能になる。

 ※EX-F1に遠隔制御機能を追加した法人向けモデルで、カメラとしてのスペックはEX-F1と共通。「EX-F1S」「PC制御基本開発キット」ともにオープン価格だが、販売代理店における実勢価格は「EX-F1S」が20万円前後、「PC制御基本開発キット」が30万円~40万円)
 なお、SDKを利用して開発したソフトウェアは、法人向けモデルの「EX-F1S」でないと動作させることはできないが、既に購入済みのEX-F1をEX-F1S相当のソフトウェアにアップデートする有償サービスも用意する予定だ。

2009-10-28[n年前へ]

Mathematica からRuby on Railsのモデルを使う 

  Using Ruby on Rails Models with Mathematica

Mathematica lets you connect to databases using DatabaseLink. When this feature was introduced it was a very exciting feature. You no longer depended on text files to get you data into Mathematica. In recent years, a new web development framework called Ruby on Rails has been gaining popularity very fast. Rails includes a component called ActiveRecord which allows you to get access to your data and define relationships without need to write SQL.

 When you want to do complex analysis of your data using Mathematica you may benefit by accessing your data from your ActiveRecord models instead of the bare database.

2009-10-29[n年前へ]

MacRuby 0.5ベータが登場。 

 MacRuby 0.5ベータが登場。JIT、AOT、GCDサポート、GILの削除を実現

 MacRuby 0.5の最初のベータがリリースされた。現在のところ、Snow Leopard (MacOS X 10.6) マシンでのみ利用可能になっている。
 最終的なMacRuby 0.5のリリースは、LeopardとSnow Leopard上で、32ビットモードと64ビットモードのどちらでも動くようになる予定だ。

 「MacRuby」 - ひさしを借りて母屋を乗っ取るか? Mac OS Xの新たなRuby環境

 Leopardの登場以降、Mac OS Xではスクリプティング言語環境のサポートが活発だ。(中略)Rubyに関するものとしては、RubyからCocoaを含む様々なフレームワークへのブリッジを提供する、RubyCocoaが標準でインストールされている。

 そして去る2月28日に、新しいRuby環境が登場した。MacRuby である。MacRubyの動機として挙げられているのは、RubyCocoaが抱えている問題を解決する、というものだ。RubyからCocoaへアクセスするという目的はRubyCocoaと同じものだが、その実装のアプローチはかなりユニークで意欲的なものになっている。
 なんと、RubyのルートクラスたるObjectクラスが、Objective-CのルートクラスであるNSObjectを継承しているのだ。(中略)それに加えて、RubyのString、Array、Hashといった基本的なクラスは、さらに特別な階層が割り当てられている。それぞれ、CocoaのNSString、NSArray、NSDictionaryというクラスから継承されているのだ。
 通常の言語間のブリッジであれば、Rubyの文字列からCocoaの文字列へと変換を行わなくてはならない。だが、MacRubyではすべてのRubyオブジェクトはCocoaのオブジェクトであり、Rubyの文字列はCocoaの文字列である。従って、変換のコストなしでこの呼び出しを行えるのだ。

2009-10-30[n年前へ]

Mac OS X で IronRuby 

 「OS X で IronRuby その1

OS X で IronRuby を動かして遊んでみようと、ちょっくら試行錯誤してみました。まずは Mono の入手から。知らない間に 2.4 になってる。ダウンロードページから、OS X Intel 用 Mono 2.4.2.3 Framework の dmg を落としてきて、インストールした後、動作確認。

 「OS X で IronRuby その3

 .NET Framework が入っている Windows 環境では、何にも気にせず実行できる ir.exe は、OS X 環境では、当然、mono コマンドから実行しなければならない。うーん。いちいち面倒。ということで、mir に変えちゃった。

 「OS X で IronRuby その2

 これぞ IronRuby のスクリプトパワー。後付けで簡単にサクサクWindows.Formを拡張できる。

2009-10-31[n年前へ]

Rubyの「宝石箱(gems)」更新 

早朝、RubyでWEBアプリをひとつ書きました。hirax.netを稼働させているサーバ上で動かすために、サーバに上でgemsでsoap4rをサーバにインストールしようとしました。すると・・・恐ろしいことに、gem(Ruby)は800MBものメモリ-を浪費し始めて・・・CPUはいつまでたっても100%の負荷のままなのです。実メモリをパンクした状態が長い間続きました。

 これは、gemのバージョンが古いのが原因だろう、というわけで、

gem install rubygems-update
update_rubygems
と、gemのアップデートをサーバで行いました。
update_rubygems
にはパスが通っていないのかフルパス指定で動作させたり、そもそも、gemのアップデートをするために、つまりは、メモリ不足で動作させることができないようなことがないように、他のプロセスはすべて止めよう・・というわけで、hirax.netサーバを60minほど停止させました。

 というわけで、またひとつ「思いつきWEBアプリ」をひとつ動かし始めることにしました。詳細については、明日書こうと思います。