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

FreeBSDでVimを起動しファイルを編集したあと、 :q でVimを終了させてるのに元のコンソールに戻らなくてなんか嫌だなーと思っていた。MacもUbuntuもDreamHostのDebianもVimを閉じると元に戻るのに、職場の本番環境のFreeBSDだけこれなの。ファイル編集前のコンソールの履歴とかを見たいこともあるので、Vimが終了したら元の画面に戻るようにしたいと随分長いこと思っていたんだけど、たったいまようやく出来たのでメモっときます。

ちなみにVimには restorescreen とかいうオプションがあるらしく、必死で.vimrcにこの設定を書いてたけど、これはなんかWindowsのVim専用のオプションらしいのでマカーやUNIXユーザーの方はこれを設定しても無駄です。

情報元は フルスクリーンアプリを終了したときに元のコンソールの状態に復元する - 技術メモ帳 というページ。

FreeBSDの場合、 /etc/termcap ってのの中にフルスクリーンアプリを終了したときにコンソールに戻るかどうかを設定する場所があって、こいつを変更すればよいらしい。

しかし自分はこのサーバーでroot権限を持ってない。なので cp /etc/termcap ~/.termcap したあと chmod 644 ~/.termcap して vim ~/.termcap し、自分の使ってるターミナルの環境に合わせて設定を変更してやるとOK。

僕の場合はMacの純正ターミナルを、シェルはzshで使っている。 echo $TERM してみると xterm-color と表示されるのでxterm-colorの設定が書いてあるところをいじった。

くわしくは上のリンク先を見てもらうといいんだけど、とにかく te ってのと ti ってのがあって、これをMacの場合は te=E7E[?47hti=E[2JE[?47lE としてあげればいい。そんでシェルの設定ファイルに export $TERMPATH=$HOME/.termcap と書いてやり、一端ログアウトして再ログインするとめでたくVimを終了したときにコンソールが復元されるようになります。

| @Mac/iPhone

Cha-Chingからのデータの書き出し方法について書いときます。

Cha-Chingから他のソフトにCSVでデータを書き出すことが出来ます。ただしテキストエンコーディングがUTF-16と若干特殊なため、取り込み先のソフトで若干の混乱を引き起こすことが予想されます。以下にiComptaへのインポートの手順を記します。

まずCha-ChingでAccountを選択し、File->Export CSV File... でファイルを書き出します。

Cha-Chingが書き出すCSVは情報量が少なく、データはTitleとDateとAmountの三つのカラムしか持たないので、銀行口座やクレジットカードといったアカウントの情報を維持したい場合は、アカウントごとの書き出しが必要になります。そしてそれを各々iComptaにインポートしていく感じですね。

次に書き出したCSVファイルを適当なテキストエディターで開きます。僕はCotEditorを使いました。そんでテキストエンコーディングをUTF-16からUTF-8に変換します。

いよいよiComptaへのインポートです。

まずデフォルトだとテキストエンコーディングがMac OS Romanとかになっていますから、ここをUTF-8に変更します。またCha-ChingからエクスポートされたCSVは日付のフォーマットがyy/MM/ddになので、インポート画面でDate formatも変える必要があります。さらに何行目からデータを読み取るかといった項目もあるので、ここを2行目からにしましょう(1行目はカラム名が書いてあるので)。

次の画面で読み込む各々のカラムがiComptaでどの情報に相当するのかを割り当てます。

そのまんまTitleはTitleに、DateはDateに、AmountはAmountにしてしまえば問題ないです。

以上の手順をアカウントごとに繰り返してやれば綺麗なかたちでCha-ChingからiComptaに移行できます。

なお、Cha-ChingのDBはSQLite3なので、SQL得意な方は sqlite3 ~/Library/Application Support/Cha_Ching_2/Cha_Ching.2ccdb とかしてごにょごにょすると、タグとかカテゴリーとかもっと多くの情報をiComptaに移せるかもしれないし移せないかもしれないです。

| @Mac/iPhone

お小遣い管理にはCha-Chingを使っていたんだけど、Mac版はずーっとベータ版のままで正式版が公開されず、iPhone版もMac版とは完全な同期を取れないという致命的な欠陥があるため(PayeeとTransaction Titleがごちゃ混ぜになるとか)、iComptaというソフトを使ってみることにした。

iCompta

二週間くらい試用してみたけどわりといい感じだったのでiPhone版とMac版を買ってみた。

Cha-Chingは画面がMac Likeで、iSightで写真を撮ってレシートの内容を保存とか、お金の動きを入力するのが楽しくなる仕掛けがたくさんあった。しかしある期間でいくら収入があっていくら支出したのかが一目で確認できなかった。グラフ表示とかもできない。とりあえず赤字になってないことくらいは分かるんだけど、収入と支出の割合みたいのが分からないので、「今月使いすぎたかもなー」というような使い方ができなかった。

それに対してiComptaはお金の動きがある度にその時点での財産を表示してくれるし、チャートや円グラフも表示してくれて、「どのカテゴリーにいくら使ったか」がわかりやすい。例えば一ヶ月にどれだけ「外食」に金を費やしたかとか、ガソリンにいくら使ったかとか。

またTransactionごとにそのときの残高を表示してくれるので、お金の動きを追いやすい。

正直、見た目のMacっぽさとか入力する気を起こさせるという点ではCha-Chingの方が優れていると思うけど(iComptaは会計ソフト度満点というか、グラフの描画とかがWindowsのアプリケーションっぽい)、いまんところ確実にiPhoneとシンクできてデータを欠損しないのでしばらくこっちを使ってみることにします。

| @旅行/散歩

昨日、福岡から日田経由で阿蘇まで運転した。iPhoneのカーナビアプリの指示に逆らって、九州自動車道を鳥栖ジャンクションから大分道に入って帰った。

まずびっくりしたのが大分道の道の良さ。九州自動車道(北九州から鹿児島までのやつ)は山あり谷ありで結構ぐねぐねしてるし、しかも交通量が多くて結構運転に気を遣う。しかし大分道はまっすぐな道が多い。大分県に入ったあたりからトンネルが増えるけど、それでも福岡-熊本間よりも全然運転しやすいと思った。

また大分道は景色がいい。前方彼方に大分の山々を眺めながら筑紫平野を走るのはなかなか気持ちよかった。九州道は山を切り開いた道を走る感じなので見通しが悪く、景色はあまりよくない。

なにより大分道は福岡から日田までめっちゃ速いのがいい。地元の友達で福岡へ頻繁に行き来する連中はみんな日田経由で往復するって言ってたけど、その理由が分かった。福岡-熊本は一時間半近くかかるが、福岡-日田は空いてる道をかっ飛ばすと一時間かかんないで着いちゃう。

日田で高速を降り、温泉にでも浸かって休憩すれば、100km強を運転しててもあまり疲れた気にならない。日田から阿蘇までは1時間強くらいなので、阿蘇から熊本IC経由で2時間強かけて福岡まで行くのと所要時間はほとんど変わらない。高速代は熊本-太宰府間の2500円に対して、日田-太宰府間は1650円。ETC割引を使うと時間帯によっては1000円かかんないで福岡まで行けてしまったりする。日田ルート、素晴らしい!

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

『RailsによるアジャイルWebアプリケーション開発 第三版』をまだちまちま読んでる。いまActiveRecordのリレーションシップのところ。全然分からなくて全然進まない。もうRails 3.0が出そうだというのに。またろくすっぽ技術書を読まないうちに化石になっちゃいそうだよ。バカはつらいよ。

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

初期データをマイグレーションでRailsアプリケーションにぶっ込んでみた。後からいちいち手入力するのめんどいし、マイグレーションでデータをロードしとけば、本番環境でうごかすときも rake db:migrate で初期データは入るはずだから楽ちんかなと思って。

結果的には無事データをロード出来たんだけど、YAMLの書式が分かってなくて、結局丸一日時間を費やしてしまった。大したデータ量じゃなかったから下手するとちまちま手入力するのと変わらないくらい時間かかったかも。

hoge: #アイテムの名前
  id: 1
  name: "hoge"
  address: "ホゲ県ホゲ村ホゲホゲ"

fuga:
  id: 2
  name: "fuga"
  address: "ホゲ県ホゲ村フガフガ"

とかやんなきゃいけなかったんだけど、YAMLの書き方が分かってなくて、

hoge:
  id: 1
  name: "hoge"
  address: "ホゲ県ホゲ村ホゲホゲ"

  id: 2
  name: "fuga"
  address: "ホゲ県ホゲ村フガフガ"

とか書いてた。どっちも hoge県 に分類されるんでこんなんでいいだろ、みたいなノリ。しかしこれはやっぱり文書の構造がおかしい。これをロードしてみると、 id=2 のものしかロードされなかった。

結局、拾ってきた コードを参考にして

require 'yaml'
require 'pp'

data = YAML.load_file('hoge.yml')
pp data

みたいなやつを書いて、読み込まれる配列の構造を確認しながらYAMLを書いたところうまくいった。

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

ブルーノ

評価 : ★☆☆☆☆

あらすじ

ブルーノはオーストリア人ファッションレポーターのゲイで、ヨーロッパのファッションショーを荒らして目立とうとしてた。しかしあらゆる会場でトラブルを引き起こし、ヨーロッパに居場所が無くなってしまった。こうなったらハリウッドに移ってセレブになろうとアメリカに渡のだが…。

感想

ボラット』のサシャ・バロン・コーエンの映画。『ボラット』が痛快だったので期待して見に行ったんだけど残念な出来だった。

そもそも映画のテンポが悪い。ぐだぐだしてる。はっきりとしたストーリーらしいものがあるわけではなく、あちこちをドタバタしながら行ったり来たりする。結構疲れる。

しかしポイントポイントでは笑えるネタが用意されている。占い師のところにいってブルーノ(サシャ・バロン・コーエン)がエアフェラチオをするシーン(過剰にリアル)とか、パレスチナに行ってユダヤ人とパレスチナ人の仲を取り持とうとするところとか(「お互いを殺しあうのはやめて〜殺すならキリスト教徒〜」みたいな歌を歌う)、アフリカの子どもを養子にもらってアメリカに戻り、黒人が沢山住んでる地域のトーク番組に出るんだけど、そこで子どもをiPodと取り替えっこしてきたとか言うシーン、こういうのはいちいち毒が効いていて面白い。平和を呼びかけるのはU2のボノとかまねで、アフリカの子どもを養子にもらうのはアンジェリーナ・ジョリーのまね。セレブのまねをしてたら自分もセレブになれるだろうという魂胆。強烈な風刺ですよね。

エンディングもなかなか秀逸で、セレブのそっくりさんたちが沢山出てくる。スティングとかColdplayのクリス・マーティンとかかなり本人そっくりで最初本物が出てるのかと思った。

ただ、欧米ネタ中心だし、ゲイネタもきついので特殊な完成の持ち主にしか受けないと思う。熊本のDenkikanは一週間、一日の上映一回のスケジュールでしか上映しなかったけど妥当な判断だったと思います。

ちなみにブルーノを演じてるのがサシャ・バロン・コーエン本人だってのはエンドロールまで気がつかなかった。劇中ではドイツ語の台詞もしゃべるし(オーストリア人という設定なので)、アメリカではドイツ語なまり風の英語を話す( with の代わりに mit を使うとかね)。さすがケンブリッジ卒、細かいところまでこだわる。