| @Mac/iPhone

家でMacBook Pro 15” (Mid 2009) を使うときはいつもはBoseのM2で音を鳴らしてるので気づかなかったんだけど、たまたま外で内蔵スピーカーを鳴らしてみたら、右側のスピーカーの音の方が大きく聞こえることに気がついた。システム環境設定の「サウンド」から内蔵スピーカーの「バランス」を左いっぱいにしても右側から音が出続けてる。これはいったいどういうことなんだ、保証期間過ぎた後にぶっ壊れたかと思っていろいろ調べてみたら、どうもそういう仕様らしい。

Appleのサポートサイトには、2010年モデルのMacBook Proからサブウーファーが内蔵されているのでそういう仕様だ、という記事が載っかってる。

しかし英語のDiscussion Boardを見ると、2009年の4月にすでに左右の音量バランスの違いに気がついているユーザーがいてスレッドが立っている。

2009年以降のモデルのMacBook Proはサウンドが2.1チャンネルになっており、サブウーファーが追加されているらしい。そしてそのサブウーファーは右側のスピーカーと一体の部品になっており、トラックパッドの右上あたりに位置している(macbook-pro-17-in-bits.jpg (JPEG 画像, 800x600 px))。システム環境設定の「サウンド」から「バランス」で操作できるのは右と左のバランスで、サブウーファーは操作できないそう。つまり音量バランスを左いっぱいにしても右側から音が出続けているように感じるのはサブウーファーのせいというわけ。

Mac OS Xの10.6.4アップデートでMacBook Pro (Mid 2010)の問題は解決されたということになってるらしいんだけど(Mac OS X v10.6.4 アップデートについて)、2009モデルでは全然解決されてないしAppleはなんとかしろや。

| @WWW

ちょっと前の本だけど、『Webを支える技術』をいま読んでます。

HTTPの話とか、毎日使ってる技術のことを知らなくて、いちいち感動しながら読んでるんですけど、中でも興味深かったのがURIの話。56ページの、「URIはリソースの名前だから名詞であるべき」というくだり。バージョン 2.0以前のRailsでは、

http://example.jp/sample/people/show/123

みたいなURIがデフォだったそう。しかしRails 2.0以降は

http://example.jp/sample/people/123

となって、動詞 show が省かれるようになった。HTTP通信で動詞を表すのはHTTPメソッドだから、URI自体が動詞を含むのはおかしいということらしい。ちなみにこのとき、名詞であるURIにアクセスするためのHTTPメソッドは GET ですね。

確かに自分が作っているサイトでもRailsで動かしてるものは、動詞を含まない名詞だけで表現されたURIを表示する。しかしながらCakePHPは

http://example.jp/sample/people/view/123

みたいなのがデフォだ。クールじゃない。というわけでURIから view を省くようにルーティングの処理を書き換え、各クラスのコントローラーも書き換えといた。

この『Webを支える技術』、プログラミングの話とかは載ってないから読んでいきなり何かの役に立つというタイプの本ではないけど、Web制作者なら職種にかかわらず読んどいた方が良さそうな本だなーと思いました。

| @技術/プログラミング

シャレオツプログラマーはみんなMacPortsからHomebrewに移行しつつあるっぽいので、真似してみることにした。

なんでHomebrew?

そもそもなんでみんな移行するのか? なんかMacPortsはバッドノウハウの塊らしい。

MacPortsの何がバッドノウハウなのかちょっとよく分からなかったんだけど、でもよく考えてみたらMacPortsは .bash_profile とか .zshrc とかにへんてこりんなパスを埋め込まないといけないし、PerlとかRubyは一行目に

#!/usr/bin/perl

とか

#!/usr/bin/env ruby

とか書くのに使ってるバイナリ本体は /opt/local/bin/ にあるとかは気持ち悪いっちゃ気持ち悪い。

HomebrewはLinuxのパッケージ管理ソフトみたいに /usr/local/bin/ とかに何でもインストールするので精神衛生上ベターだ。

Homebrewのインストール自体はとても簡単。パッケージ管理スクリプトをRubyで書くってのも、UNIXのことよく分かってない僕にはなかなかよいかもしれない。詳しいことは公式Wikiとかを見て下さい。

Vimのインストールではまった

Homebrew自体は簡単に入った。試しにVimをAppleがコンパイルしたVersion 7.2のものから新しめの7.3に上げて、ついでにRubyオプション入りでコンパイルしたかったので

$ brew install vim

してみた。しかしながら

Error: No available formula for vim

と出た。GUI版のMacVimはFormulaパッケージがあるらしいけど、フツーのVimはないらしい。「えー、自分でFormulaファイルを書かなきゃいけないの〜?」って感じだったんだけど、GitHubでテケトーに検索したらいろいろ出てきたので、 /usr/local/Library/Formula/vim.rb を作ってコピペした。

そんで今度は意気揚々と

$ brew install vim

してみたんだけど、なんとmakeに失敗する。Python.frameworkを参照してるときにエラーが出てるっぽい。

ld: warning: in /Library/Frameworks//Python.framework/Python, missing required architecture x86\_64 in file

Appleが配布したのではないPythonを使ってるとこういうエラーが出るとかなんとか外人が言ってる。

要するに64bit版のPython.frameworkを入れれば良さそうだった。何も考えずにHomebrewで brew install Python とかやって /usr/local/bin/python に新しいPythonを入れてみたりしたんだけど、これは意味なかったっぽい。大人しくPython公式サイトからPython 2.7のインストーラーパッケージをダウンロードしてきてGUIでインストールした。

その後、もう一度 brew install vim をしてみたところ、無事make完了。vim --version |grep ruby

+ruby

となった。

まだApacheとかRubyGemsとかはMacPorts版を使っているけど、割と早い段階でHomebrewに移行して、シャレオツプログラマーの仲間入りをしようと思います。

| @技術/プログラミング

80個近くある静的HTMLファイルをシステム化する必要が生じたので、HTMLをHpricotでスクレイピングしたあと、抽出したデータをSQLiteにぶっ込んだ。しかしSQLiteにぶっ込んだあとでデータの一部をいじりたくなった。そこでRailsのActiveRecordを単体で使ってみた。

なんでわざわざActiveRecordを使うのか

いやそりゃもちろんSQL書くのが怖いからですよ。というのは半分冗談なんですけど、CakePHPはSQLite 2にしか対応しておらず、SQLite 2は何かと制限が多い。replace関数が使えんとか。temp tableとか作るのかったるいし、フレームワークばっかり使っててSQLはあんまりよく分からないのでActiveRecordを使った次第です。

作業詳細

このシステム化するプロジェクト自体はCakePHPで動いており、DBはSQLite2。デフォの状態だとRailsは sqlite3-ruby しかインストールしないので、ActiveRecordからSQLite2なDBを操作することができず若干まいっちんぐだったんだけどなんとかでけた。ちなみにやったのはCRUDのReadとUpdateね。

やったこと

とりあえず以下のようなファイルを用意。各レコードの name フィールドの "hogehoge" という部分なのが邪魔なので削りたかった。

#!/usr/bin/env ruby

require "rubygems"
require "sqlite"
require "active_record"

ActiveRecord::Base.establish_connection(
  :adapter => "sqlite",
  :database => "path/to/db"
)

class Hoge < ActiveRecord::Base
end

hoges = Hoge.find(:all)
hoges.each do |hog|
  hog.name.gsub!(/hogehoge/, "")
  hoge.save
end

まず最初に、 no such file to load -- sqlite みたいなエラーが出た。要するに「お前SQLite 2のアダプター入れてねえだろ」というエラー。とりあえず sudo gem install sqlite-ruby したんだけど、それでも no such file to load — sqlite が出るのでMacを再起動したら「Rails 3ではSQLite 2はdeprecatedだからさっさとSQLite 3に移行しろや」みたいなメッセージは出るもののちゃんとDBの内容を読み込めた。CRUDのReadはでけた。

しかしUpdateの部分で失敗。Railsの感覚で hoge.save とかやったんだけどこれは意図したとおりに機能しなかった。しょうがないのでRailsのAPIリファレンスを見ながら、 update_attribute() というメソッドをぶちかましてやった。こんな感じ。

hoges.each do |hog|
  if hog.name =~ /hogehoge(.*)/
    hog.update_attribute("name", $1)
  end
end

これで狙ったことができました。

Rubyいいわー。ほんといいわー。

| @映画/ドラマ/テレビ

ルドandクルシ

評価 : ★☆☆☆☆

あらすじ

ルド(ディエゴ・ルナ)とクルシ(ガエル・ガルシア・ベルナル)の兄弟はメキシコの田舎町のバナナ農園で働いているが、一緒に暮らしている母親の再婚相手の男はむかつくし、仕事はつまらないし、人生一発逆転してやりたいと思っていた。二人はアマチュアのサッカー選手で、たまたま街で車が立ち往生したスカウトのバトゥータの目にとまり、プロサッカー選手としてメキシコシティに出ていくことになった。果たして二人は一発逆転できるのか?

感想

アルフォンソ・キュアロンの弟カルロス・キュアロンが監督で、アルフォンソも制作に関与しており、さらにガエル・ガルシア・ベルナル、ディエゴ・ルナの組み合わせという、『天国の口、終りの楽園。』のキャストが再結成して制作された機動戦士ガンダム 逆襲のシャアのような作品。期待して見に行ったんだけど、「そんなのありなの?」ってくらいつまらなかった。メキシコのオールスターが集まって作られてる映画なのに、熊本のDenkikanでは一週間しか上映されなかったのが不思議だったけど、実際に見てみて「これはお客さん入らないわ」と思いました。

ルドとクルシはそれぞれ父親が異なり、母親はさらにその後離婚して別の男と暮らしている。複雑な家庭なのだ。しかしルドもクルシも、直接会ったことはないそれぞれの父親のことを誇りに思っている。ことあるごとに「俺の親父は…」と言う。このあたりがガキっぽい。

そもそもルドもクルシも年齢不相応に夢見がちな少年として登場する。ルドは妻子がいるのに人生一発逆転したい一心で家族に黙ってメキシコシティに出て行くし、クルシはサッカー選手はどうでもよくて、本当はミュージシャンになりたと思っていて、そのための足掛かり作りのためにサッカーをする。この辺の感覚がよくわからない。

そんな軟派なノリじゃサッカー選手として大成しないだろ、と思うんだけど、映画では二人とも大活躍して、クルシはメキシコ代表として招集されたりする。さすがにこれはやり過ぎだろ思った。

クルシは念願かなってレコードデビューを果たし、カウボーイの格好して歌をうたうのだが、このシーンはまるでインドの映画を見ているみたいで異様なテンションに正直引いてしまった。ひょっとするとメキシコ人は特殊な感性を持っている人たちなのかも知れない。

ただ、ルドの嫁さんがネットワークビジネスにはまったり、ルドがギャンブルと麻薬におぼれたり、クルシが悪い女に騙されたり、兄弟の妹がマフィアと結婚したりするところが、メキシコ社会の暗い部分を描いているのかなと感じた。なんでそうなるんだよ、みんなもうちょっとしっかりしろよ、と自分はしっかりしてないくせに思いました。

そういうわけでして、ガエル・ガルシア・ベルナルが出てるからと期待して見に行っても期待を裏切られることになりますのでご注意あれ。

| @労働

三日で仕事を辞めた理由ですけど、

  • むかつく人間の下で人格否定されながら働きたくなかった
  • 裁量労働制の15時間労働に耐えられなかった

が原因ですね。

, , 「いい年したおっさんが何甘いこと言ってんだよ」でしかない。

はてなブックマーク - activecuteのブックマーク

activecuteさん、一年も前の記事に「これはひどい」とか「日本的なるもの」とか「もうすぐこの国は滅ぶ」みたいなわけわかんないブックマークタグつけて、さぞ気持ちが良いでしょうね。でも、あなたは俺のことよく分からないし、俺が辞めた会社のことだって分からない。それなのにこういうブックマークコメントで安直に悪口を書くのはやめて欲しいな。俺がやばい会社に入ってしまったなと思って三日で辞めることは(家族とかには迷惑かけたけど)本質的に自由なはずだし、あなたには何ら害を及ぼしてないのに。すごく不愉快な気持ちになりました。

| @散財

最近iPodをどっかで落としてしまって、車の中で音楽を聞く方法がなくなりました。しょうがないからiPhoneで音楽を聞くことにしたんですけど、5年くらい前に買ったiPod用のFMトランスミッターはiPhoneには対応してないとかエラーが出るので、iPhoneに対応してるBELKINのトランスミッターを買ってみました。こういうの。

こいつと組み合わせて全力案内!ナビというiPhoneアプリケーションを使っているのですが、この組み合わせがなかなか快適なので紹介してみます。

BELKIN Tune Base FM X F8Z441JA

まずBELKINのFMトランスミッターから。こんな感じで使ってます。

縦でも使えるし、横でも使えます。くるっと回すだけで簡単に切り替わります。わりとしっかりホールドされるので安心です。僕は裸iPhone派なので未検証ですが、BELKIN製のケースなら装着したままトランスミッターにセットすることが可能らしいです。

FMトランスミッターとしての性能

FMの周波数は二つプリセットできて、自動で干渉の少ない電波帯を探してくれる機能があります。

音質ですが、デフォルトの状態だと「サーッ」というノイズがのります。ただしノイズキャンセルみたいな機能があって、これを使うと「サーッ」というノイズはほとんどしなくなります。しかしそれでもiPhone側のボリュームをMAXにすると、曲によってはドラムの音が割れます。カーオーディオとの相性もあるのでしょうが、少なくとも僕の車にのっかてるやつとは相性悪いみたいです。どうせ車についてるスピーカーはしょぼいし、車内ではロードノイズとかで音響には期待できないので、その辺は割り切って使ってます。

ハンズフリー通話

FMトランスミッターとホルダーとしての機能以外にも、ハンズフリーの通話機能があります。これ結構便利です。Bluetoothヘッドセットを持ってはいるんですが、車に乗る度にヘッドセットを装着するのは面倒で、結局使わなくなりました。しかしiPhoneは音楽を聞くために必ずFMトランスミッターに接続するので、特に意識することなくハンズフリー通話ができてしまいます。大変安全です。

iPhoneやその他のガジェットも充電できる

iPhoneが充電されるのもいい。正直ハードに充電と放電を繰り返すのでバッテリー寿命は縮まる可能性がありますが、外出先で常に満充電のiPhoneが使えるのは精神衛生上好ましいです。

さらに良いことに、この製品はUSBポートを備えており、iPhoneの他にUSBで充電できる製品を充電することができます。車での移動中にPocket WiFiやEneloopのMobile Boosterを充電しながら戦地に赴くことができるわけです。大変素晴らしいですね。

全力案内!ナビ

組み合わせて使ってるのが全力案内!ナビというiPhoneアプリケーションです。こいつ900円/年なのにすごく良くできてる。900円/年なのに喋りますし、夜間には背景が暗くなって眩しくないように配慮してくれます。車速パルスとかを拾うわけではないのでトンネルに入ると車の位置がバグりますが、GPSの精度は900円/年とは思えない程には正確です。一昔前のカーナビだと曲がらなきゃいけない交差点を過ぎた後に「左折です」とか言ったりしますが、こいつはそんなことはありません。

最近、新バージョンがリリースされて、全力案内!ナビから音楽再生をコントロールする機能が搭載されました。以前のバージョンではiPhoneのiPodで音楽を再生し始める前に全力案内!ナビを起動すると、一旦ナビを終了させてからでないと音楽を再生することができず不便でした(このアプリケーションはホームボタンを押すとナビゲーションが終了してしまい、再度呼び出したときには位置の再計測、再ルーティングを行いますが、これに結構時間がかかってなかなかストレスを感じていました)。ナビゲーションを実行させたまま音楽を選曲できるようになったのは大変便利です。中の人グッジョブ。

ただ残念な点としては、もともとガラケー用のソフトだったせいか、UIがMacライクではなください。地図もなんかカクカクしてて、iPhoneのつるっとした質感やUIと合いません。もしGoogle Mapの地図でカーナビ機能が使えたら完全に失禁してますね。

あと音声案内のボリュームがでかい。iPhoneのボリュームごと下げてしまうとiPodの音量も小さくなって音楽が聞きにくくなる。全力案内!ナビ内で音声案内の音量だけを小さくできるようにして欲しいですね。

まとめ

トランスミッターとアプリケーションを合わせても1万円足らずで簡易カーナビが手に入ったわけですが、大変快適です。

というかですね、こんなん出てきたらカーナビの会社つぶれるんじゃないでしょうか。画面が小さいとかトンネル内での位置把握とか問題はありますが、ネットワークから常に最新の情報がゲットできることを考えると、10万以上する据え置き型のカーナビにも引けを取りません。

個人的にはこの簡易カーナビのおかげで福岡とか行っても道に迷わなくなりました。福岡の都市高速で分岐に怯えることもありません。熊本県民のiPhoneユーザーの皆さん、全力案内!ナビをiPhoneにインストールして熊本ナンバーだからといって馬鹿にして煽ってくる久留米ナンバーに仕返ししてやりましょう。