log

持ち物を買い換えている

急に物欲が湧いてきたので持ち物をアップデートしている。

買った物

iPhone5

今まで HTC EVO WiMAX + iPod touch で頑張ってたけど iOS のマップアプリもまともなものが出てるし tiarraMetro も標準ブラウザで問題なく動くし買い換えない理由が無くなった。

いざ買い換えてみたら LTE 速いし電池の持ちもそこそこだし GPS 便利だし何より持ち歩くガジェットが一つ減ったのがかなり大きい。

iPhone5 用充電ケーブル

iPhone 5対応充電USB リール70cm WH RBHE126

iPhone 5対応充電USB リール70cm WH RBHE126

持ち運び用に購入。Lightning ケーブルの差し口が微妙に固くて使いやすいとはいえないけど、そもそも充電する機会がそんなに無いのでいいかなと。

FMトランスミッター

J-Force Bluetooth FMトランスミッター ブラック JF-BTFM2K

J-Force Bluetooth FMトランスミッター ブラック JF-BTFM2K

今までは下の製品を使ってて、これもまあ悪くはなかったけど運転中に充電できないのが不便なので買い換えることにした。 エンジン入れたら勝手に再生始まるしエンジン切ったら iPhone 側の再生も勝手に止まるので楽ちんすぎてやばい。

mu:grapher FMステレオトランスミッター 4ch WH Z-295

mu:grapher FMステレオトランスミッター 4ch WH Z-295

RHODIA No.13 + カバー

今までは会社で持ち運び用のノート + 机上のメモ帳として RHODIA No.11 っぽいメモ帳を使ってたんだけど、どうせ社内からほとんど出ないし一つにまとめた方がいいんじゃないかと思って少し大きめのを買ってみた。

けど今の業務だと紙にメモとること殆ど無くて無用の長物感。

ジェットストリーム

手持ちのボールペンがどれもこれも貰い物でぼろぼろになってたのでついでに。書き味いいということで店頭で試し書きしたらよさげだったし。

買いたい物

バッテリー付き iPhone5 用ケース

【日本正規代理店品】mophie juice pack air for iPhone 5 ホワイト MOP-PH-000031

【日本正規代理店品】mophie juice pack air for iPhone 5 ホワイト MOP-PH-000031

バッテリー付きの iPhone 用ケース。iPhone 買う前から「これ付けて持ち運べばいざってときも安心じゃね?」とか思ってるけど、平日はバッテリーの心配なさそうだし実はいらない気もしている。

しばらく iPhone 使ってるけど平日はやっぱりいらない感じする。使うとしたら休日一日外出するときくらいかなあ。

OCDock

OCDock

iPhone 用ドック。iMac 持ってるしおされだし欲しい。高いけど。

ちなみに今はセリアで買った100円のスマフォ用スタンド使ってる。

セリアのスマートフォンスタンドを買ってきた

The Power Bar for the Apple Magic Trackpad

The Power Bar for the Apple Magic Trackpad プレアデスダイレクト限定品

The Power Bar for the Apple Magic Trackpad プレアデスダイレクト限定品

Magic Trackpad に電池の代わりに挿して使えるバッテリー?らしい。USBで充電できるので電池取替え不要になって便利。eneloop 運用とどっちがいいかと言われるとアレだけど、電池取替え地味に面倒なのでやっぱこっちか。

薄い財布 abrAsus アブラサス 最上級ブッテーロレザーエディション

今も同じ財布使ってるけど、こっちのが生地良い感じなので。今のが買ってから1年半くらいなので、買い換えるにはちょっと早い気もする。

はてなブログに移行した

最近は WordPress に書いてたけど今まで書いてた記事もひとつにまとめたくなって色々考えた結果はてなブログにまとめることにした。

記事の移行は、はてなダイアリーからはてなブログへの移行がボタン一発でできる感じだったのと、はてなダイアリーMovable Typeからの移行をサポートしてる感じだったので以下な感じにした。

いい加減定住した方がいい気はする。

bundle app を daemon 化した

最近 bundle exec ~ で立ち上げるサーバを VPS 上で複数立ち上げてて、daemon 化が上手くいかないので screen 上で立ち上げるという悲しいことをしていた。

tiarra とか TwitterIrcGateway とかは start-stop-daemon 使ってるので何とかならんかと色々試したらどうにかなったので記録を残しておく。

ちなみに今回 daemon 化してるのは Github の News Feed を IRC クライアントから見れるようにしてくれる 2nd_gig という IRC Gateway

vimperator から Pocket に投稿できるようにした。

ブクマを Delicious から Pocket に乗り換えたので、vimperator から Pocket に投稿できるように設定した。

一からプラグイン作ろうかと API ドキュメント読んだりしてたけどめんどくさそうだったので最終的に commandBookmarklet.js 使った。

後は Pocket のブックマークレット導入すれば勝手にコマンドを生成してくれる。便利。

そのままだと prefix が長いので .vimperatorrc の中で

let command_bookmarklet_prefix="b"

とか書いて :bpocket でブクマできるようにした。便利。

rails アプリを作り始める時の手順

普通に gem install rails して rails new newapp だと gem 環境が汚れるので、bundler を活用して極力少ない手数で開発を始める方法を調べた。

前提条件

  • ruby 1.9.3
  • bundler

がインストール済み。

手順

新規プロジェクトを作るディレクトリを作成。

% mkdir newapp
% cd newapp

bundle init して Gemfile を作成する。

% bundle init
Writing new Gemfile to /path/to/current/dir/newapp/Gemfile

Gemfile を編集して gem "rails" の行のコメントを外す。

% vi Gemfile
# A sample Gemfile
source "https//rubygems.org"

gem "rails" # edit

bundle install して rails をインストールする。path を指定して gem を特定ディレクトリ以下にインストールする。

% bundle install --path vendor/bundle

rails new コマンドでアプリ初期化。ただし、Gemfile を後で修正するのでこの時点では bundle 実行しないようにする。

途中で「Gemfile を上書きしますか?」というメッセージが出るので yes を選択。

% bundle exec rails new . --skip-bundle
...
    conflict  Gemfile
Overwrite /Users/yono/Desktop/newapp/Gemfile? (enter "h" for help) [Ynaqdh] Y
...

Gemfile を編集する。最低限必要なのは therubyracer のコメントを外すこと。

% vi Gemfile
...
group assets do
  gem 'sass-rails',   '~> 3.2.1'
  gem 'coffee-rails', '~> 3.2.1'
  
  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  gem 'therubyracer', :platforms => :ruby # edit

  gem 'uglifier', '>= 1.0.3'
end
...

bundle で必要な gem をインストールする。

% bundle install

これでシステムの gem 環境を汚さず rails アプリの開発を始められる。

git でバージョン管理する場合の注意

rails new で入る .gitignore に gem をインストールしたディレクトリ(今回の場合は vendor/bundle)を追記しておくこと。

参考ページ

tiarraMetro の高速化

tiarraMetro を使ってると、どうしても初回読み込みが遅いのでしばらく使っていなかった。

が、IRC クライアントをずっと立ち上げてるとスマフォの電池を食いまくるので、tiarraMetro の高速化を図ることにした。

とりあえず MySQL に slow_query_log を仕込んでみたところ、未読数取得のSQLが重いらしいことがわかる。
INDEX 貼ろうかと思ったが既に貼ってるし、コードに手を入れるのはいやだし。

よくよく考えると log テーブルは追記のみなので、過去の log は定期的に別テーブルに移せばいいんじゃね?ということで以下の作業を実施した。

まずは tiarra を止める。

  # service tiarra stop

既存のテーブルを rename する。
# mysql -u tiarra -p tiarra
mysql > rename table log to log_20120917;

新規テーブルを log と同じ構成で作成する。
mysql> create table log like log_20120917;
mysql> exit;

tiarra を起動する。
# service tiarra start

これで初回読み込み時の待ち時間が10数秒から数秒に高速化された。
できれば待ち時間無しが望ましいけど……。

で、あとはこれを cron に仕込んで定期的に実行すればいいんじゃないだろか。
table 名はその日の日付にしといて。