2012/04/09

Learning Core Audio Kindle版を購入

Core Audio関連の本が出版されたのでKindle版を早速購入。
Core Audioについて書かれた本は多くないので期待してたけど、自分の知りたかった項目についての記述はなかった。Core AudioのAPIは非常に広範囲に渡っているので仕方がないとは思うけどちょっと残念。

著者のBlog記事の方が、場合によっては参考になったりする。
サンプルコードを以下のサイトからダウンロードできるので、ざっと見てみて自分の関心のある項目が書かれているようなら購入してもいいかも。

2012/03/12

xcode-select: Error: No Xcode folder is set. ってエラーが出たので


Xcode 4.3インストール後にgit diffしたらこんなエラーが出た。

$ git diff HEAD
xcode-select: Error: No Xcode folder is set. Run xcode-select -switch
Error: /usr/bin/xcode-select returned unexpected error.
external diff died, stopping at hoge.rb.

以下コマンドを実行すればOK

$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

2012/02/26

Mac OS X LionにGitLab 2.2をインストール

Install Log (Mac OS X Lion 10.7.3, Xcode 4.3, GitLab 2.2)

システム関連
Xcode 4.3をinstall
Command Line Tools for Xcodeをinstall
Homebrewをinstall

SSHを有効に
システム環境設定 > 共有 > リモートログイン にチェックを入れる
gitユーザを作成


以下、gitユーザーで作業
$ su - git
SSHキーをパスワード無しで作成
$ ssh-keygen -t rsa -N ''
Ruby 1.9.2
RVMをinstall
環境再読み込み(たぶんこれでOK。実際には再ログインしちゃった)
$ source ~/.bash_login
Ruby 1.9.2をinstall
$ rvm install 1.9.2 --with-gcc=clang 
Gitolite
Gitoliteをinstall
$ cd
$ git clone git://github.com/sitaramc/gitolite
$ gitolite/src/gl-system-install
パスを通せ、と言われるので一時的に通す
$ export PATH=/Users/git/bin:$PATH
Gitoliteセットアップ
$ ln -s .ssh/id_rsa.pub GitlabAdmin.pub
$ gl-setup -q ~/GitlabAdmin.pub 
sshで接続できるか確認する
$ ssh localhost
PTY allocation request failed on channel 0 # <= こんな風になればOK 
gitolite-adminリポジトリに接続できるか確認
$ git clone git@localhost:gitolite-admin 
GitLab
GitLabをinstall
$cd
$ git clone -b stable git://github.com/gitlabhq/gitlabhq.git 
Bundle実行
$ cd gitlabhq
$ bundle
エラーになったので、必要なモジュールをインストール
$ brew update
$ brew install icu4c
再度Bundle実行
$ bundle
$ bundle install --without development test 
設定ファイルを用意
$ cp config/database.yml.example config/database.yml
$ cp config/gitlab.yml.example config/gitlab.yml 
$ vi config/gitlab.yml # base_pathを/Users/git/repositories/に変更
セットアップ
$ bundle exec rake db:setup RAILS_ENV=production
エラーになるので、redisをインストール&手動起動
$ brew install redis
$ redis-server /usr/local/etc/redis.conf 
セットアップ
$ bundle exec rake db:seed_fu RAILS_ENV=production
== Seed from /Users/git/gitlabhq/db/fixtures/production/001_admin.rb
Administrator account created:
login.........admin@local.host
password......5iveL!fe 
起動
$ rails s -e production -p 8080 
http://localhost:8080にアクセス

2012/01/27

OpenCV 2.x系のC++ APIを勉強するのにおすすめな本

ちょっと前だけど、OpenCVの本を購入。
OpenCV 2.x系から、CスタイルのAPIに加えて、C++スタイルのAPIが使えるようになった。この本の中のコードは、すべてC++のAPIを使って書かれている。

今までのOpenCV関連の本や、ネット上のサンプルプログラムはC言語のAPIを使って実装されたものが多いけれど、もしC++のAPIを使って実装してみたい、と考えている人には参考になると思う。一度C++のAPIを覚えてしまうと、もう二度とCのAPIを書いたり読んだりしたくなくなると思う。

QtというUI Frameworkと組み合わせて使う方法についても書かれているので、OpenCVのHighGUIではちょっと機能が足りないな、と感じている人にとっても参考になる。

また、メモリ管理周りや、効率の良いデータアクセスの方法など、実践的なことについて書かれているので、いろいろと参考になると思う。英語版だけど、簡潔な英語で書かれているので、割と読みやすい方だと思う。

1章(1. Playing with Images)のみ著者のHP上で公開されてる。CMakeの使い方、環境変数の設定方法など、初心者がつまづきそうな点を丁寧に説明しているのもいい感じ。
紙の本でなくてもいい人は、Kindle版がおすすめ。日本のAmazonで購入するよりも、半額以下で買えるし。
ただ、OpenCVのAPIについて網羅的に書かれた本ではないので、OpenCVでどんな事ができるのか詳しく知りたい人は、他の本も参照した方がいいと思う。

2012/01/19

SonyEricsson SmartWatch Extensionの開発

LiveViewの後継機種、SmartWatchが発表になった。
SDKは以下のサイトから既にダウンロード可能になっている。ドキュメント、サンプルコード、開発用Emulatorが含まれているので、デバイスがなくてもExtensionの開発が可能になっている。
残念ながら初代LiveViewのPluginとSmartWatchのExtensionの間に互換性はない。SmartWatch specificationsを読んでみてざっと初代LiveViewとの比較をまとめてみた。

LiveViewとSmartWatchの比較
  • ディスプレイサイズは同じ(128x128)
  • 加速度センサが追加
  • LiveViewの右上にあったようなH/WボタンにExtensionからアクセスできなくなった
  • LiveViewの左上にあったLEDがなくなった
  • タッチパネルディスプレイに変更
  • LiveViewにあった上下左右のタッチエリアはなくなった。そのかわりに、タッチパネル上で上下左右にスワイプが可能に
実際の使い勝手の違いは、実機が手に入らないと分からないけど、UIがだいぶ変わっているので、過去のLiveView向けに開発したPluginをSmartWatchのExtension向けに移植するには、いろいろと考えないといけなさそう。MicroTracksでは周辺の上下左右のタッチエリアの長押しに各機能を割り当てていたので、SmartWatchでどういうUIに変更するべきか考えなくては。しばらくはLiveViewとSmartWatchの両方に対応させたいし。

今回、新たにSDKにEmulatorが追加された。Emulatorを使えば、実機がなくてもExtensionを動かしてみることができる。実際に、SDKに付属されていたサンプルコードをビルド&実行してみた。
まったく色気のないUIだが、いちおう動作確認には使えそうだ。

2012/01/13

Mac OS X (Lion)上にHomebrewを使ってPostgreSQLをインストール


Install Homebrew
$ ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

Install PostgreSQL
$ brew install postgresql
# /usr/local/binが先に来るようにパスの設定を変更。これやんないと"psql: could not connect to server: Permission denied"ってエラーになる
$ vi ~/.bash_profile
export PATH=/usr/local/bin:$PATH
$ source ~/.bash_profile
# DB初期化
$ initdb /usr/local/var/postgres
# server起動
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
# server停止
$ pg_ctl -D /usr/local/var/postgres stop -s -m fast

Install Taps
# HerokuにローカルのDBをPushできるように
Heroku | Dev Center | Importing and Exporting Your Data
$ sudo gem install taps $ sudo env ARCHFLAGS="-arch x86_64" gem install pg

2012/01/12

Mac OS X上にnode.js + express環境を構築してHerokuにデプロイするまで

Install nave
# インストールするnode.jsのバージョンを指定したいので、Homebrewではなくnaveを使ってインストール
$ git clone git://github.com/isaacs/nave.git ~/.nave

Install node.js
# Herokuで使えるnode.jsのバージョンは0.4.7なので
$ ~/.nave/nave.sh install 0.4.7
$ ~/.nave/nave.sh use 0.4.7

Install npm
$ curl http://npmjs.org/install.sh | sh

Install Foreman
$ sudo gem install foreman

後は以下のチュートリアルを見ながらやればOK。