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

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する公開用リポジトリ

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

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

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

フィリップ、きみを愛してる

評価 : ★★☆☆☆

あらすじ

ジム・キャリーがゲイの詐欺師を演じる。警察館だったスティーヴン・ラッセルは妻子に囲まれ平穏な生活を送っていたが、捨て子だった過去のトラウマを払拭するため警察を辞めて別の街に引っ越した。そこでゲイの性的嗜好に目覚め、家族を捨ててボーイズたちと実在した人物のストーリーっぽいです。

感想

ゲイのイケメンをつなぎ止めておくためにジム・キャリーは詐欺行為に手を染めていくようになる。クレジットカードをねつ造したり、はったりをかまして大企業に勤めたり、弁護士のふりをしたり。結局は捕まるんだけど、刑務所で運命の人フィリップ・モリス(ユアン・マクレガー)に出会い、フィリップのためにさらなる悪事を働くようになる。

どたばたですごく疲れる映画だし、ジム・キャリーが苦手な人にはとんと向いてないと思う。僕はユアン・マクレガーがまぁまぁ好きなので見たけど、なかなかしんどかった。

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

ニューヨーク、アイラブユー

評価 : ★★★☆☆

あらすじ

有名な映画監督が各々短編を撮ってそれをつなぎ合わせるオムニバスフィルム。ナタリー・ポートマン出てるし『パリ、ジュテーム』っぽいですが、今作は“つなぎ役の”の出演者がいて、一応一本のストーリーがあります。日本人では岩井俊二監督が参加してました。

感想

印象に残ったのはファティ・アキンとイヴァン・アタルのエピソード。もともとこの二人の監督は好きなんですが、監督してると知らずに鑑賞してエンドロールを名前を見てはっとしました。岩井俊二もそう。参加してるって知らなかった。

岩井俊二のストーリーでは音楽制作を生業とする若者が主人公で、自宅兼スタジオはApple製品に囲まれていて机上にはCinema HD Displayが鎮座し、初代iPhoneでエージェントと電話したり、フロントカメラのない初代iPhoneで自分取りしてエージェントにメールを送ったりするシーンが楽しかったです。あと作品のためにカラマーゾフの兄弟を読めと言われてうんざりするシーンも面白かった。僕も6年前に買ったカラマーゾフ、100ページくらい読んだまま止まってます。

ファティ・アキンのストーリーは『そして、私たちは愛に帰る』みたいな雰囲気があって良かった。中国からの移民の女の子と中年の画家のストーリー。

イヴァン・アタルのは、レストランの外で見ず知らずの男女がたばこを吸いながらナンパしたりされたりするストーリー。ヨーロッパの映画みたいでとてもかっこよかったです。

とはいえ、ぶっちゃけると『パリ、ジュテーム』の方がおもしろかったし、宣伝コピーみたいな胸キュンな映画ではないと思います。DVDで借りて見るんだったら断然『パリ、ジュテーム』の方が良いですね。

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

ハートロッカー

評価 : ★★★☆☆

あらすじ

イラクで爆弾処理を担当するアメリカ兵たちの映画。主人公はウィリアム・ジェームズ二等軍曹。前任者が映画冒頭で爆弾処理中に死亡したため、後任としてチームに合流した。

感想

フィクションだしストーリーはあるんだけど、どこかドキュメンタリーぽかった。主人公は常識破りな方法で爆弾を次々処理していく。

リアルに感じたのが以下の描写。

  • 携帯電話の電波で爆弾が爆発してしまうため、街中で爆弾処理してる最中に近くでこれ見よがしに携帯を使う人物がいたらテロリストであるかどうかを確認せずに射殺するしかない。
  • テロリストが善意の市民を脅して爆弾を体に巻き付けて自爆テロをやらせることもある。善意の市民ぶってても非常に怪しい。敵と味方の区別が非常に付けにくい。
  • 普通の戦争映画だと、スナイパーの撃ち合いとかすぐ終わっちゃうけど、砂漠での狙撃戦はとてもリアルだった。四方を砂に囲まれた砂漠でどこから狙われるか分からない。伏せて敵を探し、スナイパー同士が息をつめて狙撃しあう。長時間集中を迫られる消耗戦の様子がとてもリアルだった。

一方で、後半からストーリーがロールプレイングゲームっぽくなる感じが違和感があった。軍の作戦とかとあんまり関係なく、たった三人の爆発物処理班で敵の追跡とかやっちゃう。

『ブラックホークダウン』のような恐ろしさはないけど、戦場の緊迫感が伝わってくる映画だった。

戦争は派手にドンパチやっておしまいなわけじゃなくて、その後の占領期にはテロリストとのゲリラ戦もあるわけで、人間は何のために戦争するのかわけがわかりませんね。

| @雑談

参院選がある度に思うんだけど、参議院てさ、元は貴族院だったわけで、衆議院よりもポピュリズムとは無縁であるべきだと思うんだけど、参議院の方がタレント議員やらスポーツ議員がゲフンゲフンしてらっしゃいますよね。

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

RailsでOAuthを使ってTwitterとかで認証させたい。oauth-pluginを使おうとしてるけど全然うまくいかない。イメージとしてはこんな感じ。

OAuthの利用イメージ

疑問点がいくつかある。

  • Userモデルで validate_presence_of をパスワードフィールドにかけてるけど、OAuth経由でユーザーが追加されたときはどうすればいいんだろう。OAuth経由ではパスワードは預からないので、 validate_presence_of でエラーが出るはず。

  • Userモデルで has_many :oauth_tokens とかリレーションの設定をしてしまったとして、OAuth経由ではなく普通にサインアップしたユーザーの扱いはどうなるんだろう? 「 oauth_tokens にそんな user_id の人いないし」みたいなエラーが出るような気がする。

他にもいろいろ気になる点があったような気がするけど分からなくなってしまった。