スピーカー買った
売り上げランキング: 22351
Logitech の Mini Boombox というスピーカーを買った。今月頭にやったハッカソンで、持ち歩けるサイズのよさげなスピーカーを探した結果。
Continue reading...Logitech の Mini Boombox というスピーカーを買った。今月頭にやったハッカソンで、持ち歩けるサイズのよさげなスピーカーを探した結果。
Continue reading...
@r7kamura 氏が言及していたので調べて導入したのだけど、これは便利すぎる。
何をするソフトウェアかと言うと、ディスプレイをタイルに分割して、ウィンドウをタイル(範囲)にピシッとリサイズ・移動するという簡単な物。もちろん何分割するかは縦横それぞれ決められる。

任意の範囲に対してショートカットを割り当てる事もできて、もちろん Divvy の呼び出しにもグローバルなホットキーを指定できる。たとえば画面の左半分を H キーに割り当てておけば、ホットキーを叩いた後 H を叩けば左半分に画面がリサイズ・移動してくれる。左右にウィンドウを綺麗に楽におけて便利。

あとはオプションで toggle なんたら、を有効にしておけば、同じショートカットをもう一度叩けばサブスクリーンに移動してくれる。サブディスプレイ繋ぎ直した時にキーボードだけでウィンドウを整理できるから重宝する。
というわけで、Divvy 購入して損無いと思う。Mac App Store で 1200 円でした。
Sinatra::Base + Thin doesn’t show request path and response time.
You can show response time by writing this class and modifying your run line in your config.ru
Sinatra と Thin 使うと、レスポンスタイム出してくれないから、Rack の run に渡すクラスに、一つオブジェクトを挟めてレスポンス返すまでの秒数を計測するクラスを書いた。
config.ru に Stats クラスを書き込んで、run の行をちょっといじれば表示してくれます。
play に対抗する物を作っていて、同じように iTunes DJ を使おうとして play 氏がどうやって iTunes DJ に次の曲として指定してるのか みたら、Add to queue で次の曲ではなくキューの最後に追加するだけ、という仕様で全く参考にならなかった。
自分は単純にボタンを押したら次に再生されるようにしたかったので、頑張って次の曲に追加するスクリプトを rb-appscript 使って書いた。
iTunes の Applescript インターフェース、プレイリストに曲を追加するのは末尾に追加しかできなくて、要するに以下の手順を踏まないと間に曲を差し込むことができない:
[曲1, 曲2, 曲3, 追加したい曲][曲1, 曲2, 曲3, 追加したい曲, 曲1*, 曲2*, 曲3*][追加したい曲, 曲1*, 曲2*, 曲3*]この方法しか無いんじゃないかと思ってググってたらやっぱりこれしか方法がなくて、 しかしググったおかげか、ループを使って消してくのかと思ったらたった 3 行で実現できるぽくて、ループでやると滅茶苦茶遅い事が判明した。
http://hints.macworld.com/article.php?story=20040830035448525
Applescript 本当に面白い仕様だと思う。

iTunes DJ で voting を有効にしてるとダメなので設定をオフにしましょう。
Voting を有効にしてると、プレイリストが曲の重複を許さなくなり、上述の方法が通用しなくなり道が閉ざされる。
@r7kamura 氏と前からハッカソンしたいですね、という話になっていて、 GW だし美少女 @aereal さんも関西からきてたので、ちょうど良いタイミングだと思い急遽ハッカソンした。
自分は android-plugin を使って Scala で Android アプリを書いていた。 一応帰宅後もぼちぼちコードを書いて完成させました。
IC カードとかを重ねると設定した URL を開いてくれます。便利ですね。
アプリケーションを起動して NFC の API で読み取れるカードとかを、Galaxy Nexus 等 NFC と純正 API を持ったデバイスに重ねてやると、 カードの ID 的な物を読み取って、URL とカードの名前 (編集時の識別用) を聞かれるので、開きたい URL と名前を入力して保存。
その後ホーム等に戻ってカードを重ねてやると登録した URL が開きます。便利ですね。
もちろん Android の intent を使っているので、たとえば http://m.foursquare.com/venue/... みたいな URL を登録しておけば
よく使う venue へのチェックインが容易になりますね、やったね!
Felica Lite の空のカードかって URL 焼けばいいだけの話なんだけど面倒だったので作りました。
アイコンなんとかしたらたぶんマーケットに投げる。Scala で Android アプリ書いて得た知見はまたそのうち別にエントリします。
sorah の iTunes ライブラリを開放して、スピーカーがなかったのでヘッドホンをスピーカー代わりにして流していた。
iTunes DJ という機能がとても便利で、iPhone 等から他人が曲のキューに追加できるし、とても便利。 ついでにレート高めの曲を優先的にする、みたいな設定があるので、一人でシャッフル再生する時にも活用しています。
まずスピーカーまともなの欲しいと思っていたので、これとか欲しいですね。 (wishlist)
しかし iPhone からしかリクエストができないので、PC からもリクエストが出来ると便利、という話が出た。
それについては github の人が書いた play とかを知っていて、r7kamura さんもそれを推してきたので 帰宅後に調べてみたら、iTunes DJ が使われてるからオオッ、と思ったんだけど ruby 1.8.7 でしかうまく動かなくて、 Pusher 等外部サービスに結構依存してて自分的にはあまり好みじゃない感じ。
単純にキューに追加したりする機能とリアルタイム通知機能だけを持った sinatra アプリケーションを作ろうかなと思った。 次のハッカソンまでに用意します!
バーガーマニア に行ってプラチナバーガーを食べた。おいしかった。 プラチナ、たぶん白金台だからかな…
r7kamura さん会場提供誠にありがとうございました。
またやりたい! 一緒に何か作るのもよさそう。

android-ndk を standalone に使えるようにした のはこのためなのだけれど、
mruby (a.k.a. RiteVM, 軽量 Ruby) を動かせるかと思ってセットアップした。結果的には普通に動きました。
ただ、ビルドするときに mrbc をホストで実行できる必要があるみたいなので、ちょっと弄った。
make-standalone-toolchain.sh で作られた gcc 等 に PATH が通ってる事を前提として、以下の手順でビルドできました:
$ git clone https://github.com/mruby/mruby.git
$ cd mruby
$ make
$ cp bin/mrbc .
$ make clean && rm **/*.o
$ make CC=arm-linux-androideabi-gcc LL=arm-linux-androideabi-gcc
...
/bin/sh: ../bin/mrbc: cannot execute binary file
$ cp ./mrbc bin/mrbc
$ make CC=arm-linux-androideabi-gcc LL=arm-linux-androideabi-gcc
# ↑ will fail at building mrubysample. you can just ignore because it's not needed.
$ file bin/mruby
bin/mruby: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
あとは ./bin/mruby を adb push 等で Android に転送して実行できるようにしてあげればいいと思います。
Have fun!
Android には NDK (Native Development Tools) がある。要するに C とか C++ でちょっと高速なアプリケーションを書いたりできるらしい。まぁ、察せるとおりクロスコンパイラが入っている。
Android で動くバイナリとかを吐く一番速い手段がたぶんコレ。
OS X だと homebrew を使って
$ brew install android-ndk
のようにしてインストールする事ができる。
homebrew だと brew --cellar android-ndk で表示されるディレクトリの下にバージョン名のディレクトリがあり、その下の toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin とかに gcc が転がっている。
が、これを普通に叩いてもちゃんと動いてくれない。インクルードパスとか。
しかしパッケージ内にちゃんと standalone に gcc とかを使えるようにしてくれるスクリプトがあったのでメモ:
# r7c はインストールされているバージョンに置き換えること
$ cd `brew --cellar android-ndk`/r7c
$ ./build/tools/make-standalone-toolchain.sh --ndk-dir=`pwd` --install-dir=$HOME/opt/android-ndk-standalone
これで ~/opt/android-ndk-standalone/bin にちゃんと単体で動く gcc 等が入るので、$PATH を通したりすれば OK.
横浜の方にちょっと自転車を持って行って自転車でふらふらしてきた。場所によっては徒歩だけど。
Continue reading...Ruby をはじめるきっかけは覚えていないのだけれど、最初にどういうチュートリアルを見たかは内容と ruby-lang.org からリンクが貼られていた、という事しか覚えてなく、そして今それがリンク切れしていて名前が長年分からなかったのだけれど、最近思い出すきっかけがあったので今度は忘れないようにメモ。
で、何を使ったかというと、Learn To Program の日本語訳です。今は日本語訳リンク切れしてますね…
これは「はじめてのプログラミング」という意味ですが割とちょっとプログラミングかじってても良いチュートリアルだと思います。
オブジェクト指向便利ーみたいな事おもってました。 (あれ、当時 PHP 使ってたぞ???)
日本語訳はオライリーから出てますね。
↓ 原著書籍版
まぁ、プログラミングをある程度経験してる人なら @yugui 本のほうが良いと思う
SONY の Bluetooth ヘッドセットには、数年前から自分で好きなイヤホンを差し込んで使えるという物があって、好きなイヤホンやヘッドホンを刺して音楽を聴けるのでとても重宝していた。
最近、というか自分が持っているモデルの後からは USB で充電できるようになっていて前から買い換えたいなーと思っていて、片道 2 時間通勤を始めるにあたって買い換えた。
↑ DRC-BT15P
もともと自分が持っていたのは DRC-BT15P で、これと比較すると
という感じ。
全体的にとても良い買い物だと思う。
職場でもマシンから音楽を飛ばすのに使っていて、その時にちょっと飲み物を飲みに行こうとすると距離の所為かさすがに音声が途切れ途切れになる。いずれにせよケーブルがまとわりつかないので便利。
SHURE のイヤホンちょっとケーブル長いですね。短いケーブル欲しい…
上記のようにマルチポイントに対応していて、例えば iPhone と MacBook を同時に接続できる。MacBook で iTunes を使い音楽を再生しながら、iPhone で通話を受け取る、といった事ができる (同時に両方の音源を再生するのはできない。待受でもう一本セッションを保持できるといった感じ)
ただ、その所為か iOS 側の Bluetooth 接続の挙動とうまくやっていく必要が生じる。 MacBook (OS X Lion) と iPhone 4S (iOS 5) で、iPhone をハンズフリー、MacBook を A2DP としてうまく接続する時以下のようにしてつないでいる。
いちいち iPhone の BT 切るのが面倒だとはいえ、割と面倒。良い方法があれば教えてください。
具体的にどういう事かというと、 iPhone が A2DP プロファイルでのセッションを確立する前に OS X の方でセッションを確立してる。そんでもって初めて音声を送信しはじめないと接続してくれないので iTunes 等で再生してやる必要がある。Chrome の <video> とかだとうまくいかない事が多いので、iTunes を使ってます。
iOS のほうで音楽再生しない限り A2DP セッションはらないでおくとかいう挙動にできたら良いんだけどなぁ。