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

@ningengasinu 様みたいに、自分で作ったボットに「日記書いた」ってしゃべらせようと思って、増田のRSSを使わせてもらおうと思ったんだけど、Rubyの RSS::Parser で読み込もうとすると 500 Internal Server Error が返ってきてしまう。ブラウザから読み込むときはエラーとか出ないんだけど。

しょうがないので open-uri を使って User-Agent を偽装してRSSを読みに行ったところ、正しくレスポンスが返された。しょうがないので RSS::Parser は使わず、 Hpricot を使った。

増田ってbotのアクセス弾いてるわけですね。これがネットの闇ですか……

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

tilyさんのgistgist: 427398を使わせてもらってTwitterのボットを何個か作ってみた。結構楽しいですね。

しかしボットが短時間に何度も同じ発言を繰り返してフバいので、日付が変わるまでは重複発言をしないようにしてみようと思った。Rubyは 配列 - 配列 みたいなエロいことができるみたいなので、

new_tweets = neta_tweets - used_tweets

とかしてみようとした。

gist: 427398自体がTokyo Tyrantを使っているので、これでなんとか出来ないかなと思った。しかし rdb.put しようとすると、 ArgumentError というのが発生してしまう。ひょっとしたらTokyo Tyrantって配列とかを保存するもんじゃないのかな。

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

映画の感想がのびのびになってるので飛ばし気味に行きます。

カティンの森

評価 : ★★★☆☆

あらすじ

第二次大戦初期、ドイツとソ連がポーランドに侵攻した頃のお話。1939年、ポーランド東部にいたポーランド軍は、侵攻してくるソ連軍にほとんど抵抗せずに降伏した。捕らえられた兵隊は収容所に入れられたが、1940年頃、なんとソ連軍は捕虜のポーランド兵たちを虐殺してしまう。しかしこの事実は戦後、ポーランドが共産圏に組み込まれたことにより長らく公然の秘密とされてきた。事実をベースにした映画。

感想

将校の嫁さんが夫の帰りを待つというストーリーで、ずっと夫は生きてると思って待ち続ける。冒頭に、西側から迫ってくるドイツから逃げようとする人たちと、東からやってくるソ連軍から逃げようとする人たちが鉄橋の上で交錯するというシーンがあるんだけど、このときポーランドの人たちはさぞかし怖かっただろうなと思った。東西から一気に攻められるなんてね。

全体的にはデンマーク映画の『誰がため』に雰囲気が似てて、日本人があまり知らない英独仏以外の第二次大戦中のヨーロッパの国々の状況が分かる。デンマークにナチスに抵抗したレジスタンスがいたなんて知らなかったし、カティンの森事件も全然知らなかった。さっきWikipediaで調べてみたら、ポーランド侵攻でポーランド人かなり亡くなってる。映画として面白いかとか感動するかと言われると、とにかく暗くて重くて、進んで見たいと思える映画ではないと思うけど、ポーランドの悲劇を知ることはできます。事実、ロシアでは国営放送とかでTV放送されたらしいです。

| @労働

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

  • むかつく人間の下で人格否定されながら働きたくなかった
  • 裁量労働制の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にインストールして熊本ナンバーだからといって馬鹿にして煽ってくる久留米ナンバーに仕返ししてやりましょう。

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

OAuthを導入しようとした。Twitterのだけなら何とか拾ってきたコードで動くとこまで持ってけてたけど、どうせやるならいろんなOAuth Providerに対応したい。oauth-pluginってgemを使えば簡単に沢山のOAuth Providerに対応できるみたいなので導入しようとしたけど、これがくせ者だった。

まずoauthとoauth-pluginをただ入れるだけじゃ動かない。 acts_as_authenticated, restful_authentication or restful_openid_authentication というプラグインが入ってて、ユーザー認証をこれらのgemに任せてないとダメ。

作者がrestful_authenticationをすすめてたのでこれを導入した。(usersテーブルの構造自体が変わるので、ただ単にインストールするだけじゃなくて rake db:drop して古い db/migrate/(日付)_create_users.rb を削除し、もう一回 rake db:migrate しないといけない。さらにControllerとかViewとかもいじらなきゃいけないので地味に結構面倒くさい。

しかし何度やってもうまくいかない。「 login_required みたいなメソッドねーし」とかエラーが出る。どうやら昔の restful_authentication にはそういうメソッドがあったらしんだけど、現在の restful_authentication からは削除されてるらしい。他にも current_user っていうのも未定義で、この辺のエラーのおかげで完全に萎えた。

そういうわけで一週間くらいOAuth対応に向けて頑張ってたけど諦めました。TwitterだけOAuth認証に挑戦してみる。とってきたOAuth Tokenの扱いとかに若干不安があるけどうまくいくかしら。

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

やってみた。以下を参考にした。

これもうむかし.macとかについてたiBlogとかわらんわ。GUIのクライアントはないけど、VimとかCodaとか好きなエディタ(TextMateで日本語がネイティブに扱えたらなー)で記事書いて、gitで git push するだけ。

で、やり方なんですけどちょっとgitに慣れてない人には複雑かもしれない。三つgitのリポジトリを用意する必要がある。

まず記事を作成するパソコンでgitとjekyllのセットアップをしたあと、リポジトリを作る(リポジトリ1)。その後Dreamhostの公開ディレクトリでないところに空のリポジトリを作る( git --bare init )。ここでは blog.git という名前にしましょう(リポジトリ2)。そんでそこにリポジトリ1をpushする。その後リポジトリ2の /blog.git/hooks/post-update というファイルを作り、以下のように書く。ファイルに実行可能なアクセス権を与えることを忘れずに。

#! /bin/sh
unset GIT_DIR && cd $HOME/tech.portalshit.net/ && git pull

そんでもって git clone blog.git <公開用のディレクトリ名> する(リポジトリ3)。リポジトリ1から公開用ディレクトリにリポジトリがコピーされるので、この中に含まれる _site というディレクトリを panel.dreamhost.com で公開ディレクトリとして設定すると、git push する度にhookが発動されて、めでたく記事が公開されるという次第です。

まとめ

まとめると、

  1. 記事を作成するローカルリポジトリ
  2. ローカルリポジトリをpushするリモートリポジトリ
  3. リモートリポジトリをcloneする公開用リポジトリ

の三つが必要なことを忘れないようにしてくだしあ。

これであなたもハイド博士だ!