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

会社のアドベントカレンダーが空いてたので書きました。前日は @kenchan さんでした。


大学生の頃に書いてたウェブ日記を Day One.app に取り込んだ。このウェブ日記は Caldiary というソフトウェアを使っていて、KENT Web で配布されてた CGI をベースにデザインが良くなるように改良されてるやつだった。RSS とかはなく、まだブログがはやる前に作られたものだった。昔ながらの Perl の CGI でデータベースは使っておらず、日記自体はテキストファイルに保存されていた。なので簡単にデータをぶっこ抜けた。テキストエンコーディングが Shift_JIS なのに気をつけつつ UTF-8 に変換して Day One の中にぶっ込んでいった。 Day One が公式で用意してる CLI を Ruby から使いやすくする rb-dayone という gem を使ってやった。

10年前の日記を読み返すといろいろおもしろい。アルバイト先のいやなやつの悪口とかもあるんだけど、人から聞いたおもしろい話を備忘録代わりに書いてて記憶がよみがえったりする。読んでいる本の感想とかもある。黒歴史感あってよい。

Caldiary がすばらしいのはカレンダー形式のサイドメニューがあったことだ(おそらくカレンダー付きの日記だから Caldiry なのだろう)。カレンダー式だと一日もサボれない気がしてほぼ毎日日記を書いてた。 Evernote などパソコン上に日記を書けるソフトはいまいっぱいあるけど、カレンダーが出るのは(自分の狭い観測範囲では) Day One しかない。また Day One は見た目が美しく、過去に書いた文書を読むのに適したインターフェースだと思う。もっと活用していきたい。

むかし日記書いてた人は Day One に取り込んでみるとおもしろいのでオススメです。


この記事はPepabo Advent Calendar 2014 - Qiitaの3日目の記事でした。

明日は未定です。

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

Lokka 、フォームの DOM が bot で解析しやすいのか大量にスパムコメントが登録される。スパムを一括削除する機能は自分で作って Lokka にパッチ送って取り込まれたけど、 Lokka の ORM の DataMapper は一括削除するときに馬鹿っぽい SQL 投げて一括削除は処理が重いし、そもそもスパムコメントを定期的に消すという行為自体が面倒くさい。

むかし P_BLOG でブログ書いてた頃もある頃からスパムコメントが大量に来るようになったので reCAPTHA を導入してみたらとんとスパム来なくなった。

また reCAPTCHA 使おうとして久しぶりに調べてみたら Google のプロジェクトになってた。

設置してから二日くらい経つけどとりあえずスパムコメントは来なくなった。便利。念のためプラグイン化しておいた。

| @旅行/散歩

糸島の田園風景

福岡と長崎の往来、太宰府経由で行くか三瀬峠越えて行くしかなかった。

時間で言ったら太宰府経由の方が早いけど距離が長くて高速代が高くてガソリンも喰うし、鳥栖から太宰府までの運転は道路が混んでるので精神的に疲れる。

三瀬峠は距離は短いけど峠越えで時間かかるし上り坂登るのでガソリン喰うし、カーブが多いので嫁さんが車酔いして罵詈雑言を浴びせられる。

福岡の西の方に引っ越したこともあり、最近は都市高速・九州自動車道を通らず、西九州道と厳木バイパス、厳木多久有料道路を通るようにしてる。距離は三瀬峠超えよりも長いものの太宰府周りよりも短く、平地を走るのでガソリンも喰わず、高速道路を走る距離も短いので高速代も安いし、道路が空いてるので運転に疲れるということもない。時間も2時間程度しかかからない。おまけに深江や唐津の綺麗な海の景色を眺めながら通行できる。佐賀平野の退屈な景色を眺めずに済む。良いことしかない。

これまで長崎と福岡の往来は運転がしんどくて結構辛かったんだけど、唐津経由のルートを覚えてからは精神的に楽になった。長崎から家に着くまでに夫婦喧嘩5回くらいしてたのが2回くらいになった。オヌヌメです。

| @雑談

職業プログラマーになってニュースとか社会現象について知りたいという気持ちが薄れてニュースとかあんまり見なくなったし新聞も昔は結構読んでたんだけど、最近はほとんど読んでなかった。

ただ家を買って住宅ローン組んだので金利が気になるし、住宅ローン金利は国債の金利にひもづいているので、国の経済状態とか経済政策も気になるようになる。となると新聞読みたくなってくる。

コンビニで売ってるやつとか日経のお試し一週間とかでしばらく読んでみたんだけど、ニュースを読むという体験自体は良いものの、毎月5000円弱払って宅配してもらっても平日はなかなか新聞読む時間がなかったりする。

これまで電車の中での時間の過ごし方はだいたい Kindle で技術書眺めるか10年前に買ったカラマーゾフの兄弟を読み進めるか iPhone で Rebuild.fm を聞くか Twitter を見るかフィードを読むというものだった。新聞が手元にあったらこれに新聞を読むというのが加わるんだけど、毎日新聞を読むという訳にもいかないから、日によっては新聞を全部読み終わることがないまま次の日を迎えることがある。こうなると新聞代がもったいない。また新聞を毎日読むと結構かさばる。古新聞の処分は結構面倒くさい。

前、元朝日新聞記者の烏賀陽弘道さんのウェブサイト上のコラムを読んでいて、ニューヨークタイムズの日曜版みたいのを日本で読みたいと思った。

一週間に一度、週末だけ読んでいれば世の中の大体の動きがわかる、というようなタイプの新聞があったらどれだけいいだろうかと思う。

週刊誌というものも確かにある。ただ週刊誌は新聞よりもセンセーショナリズムに走りがちだ。正直読んでいて疲れる。スキャンダルの詳細は知りたくないのだ。

昔スターバックスでアルバイトしてた頃、朝日新聞が週一回刊行されるセブンとかいう名前のタブロイド新聞を出していて、アルバイト先で売っていたのを思い出す。結構いい取り組みだと思ったんだけど、すぐ廃刊になってしまった(お客さんは手に取りはするけど誰も買わなかった)。 Wikipedia で見てみると二ヶ月で廃刊になったみたいだ。

いまこういうのあったら非常に良いなぁと思う。当時のセブンは若者向けとか銘打ってて、週刊子どもニュースみたいな易しい内容だったような気がする。もっと大人向けで、難しい記事も載ってて政治経済や世界情勢、書評欄も充実してる日曜刊の週刊紙を日経とかが出してくんないかな。


追記

週刊ダイヤモンドとか週刊東洋経済読めば良いのかもしれないと思い始めた。ただサラリーマン向けに特化した雑誌は疲れるんだよな。もうちょい一般性がある新聞よりのやつが読みたい。

| @料理/食事

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

Rails の E2E テスト、ずっと Capybara + Poltergeist (PhantomJS)でやろうとしてたけど結局うまくいかなかった。

つらいポイントいろいろあって、 SSL 通信が必要なアクションでリダイレクトが発生してうまく動かないとか、 RSpec の use_transactional_fixtures オプションが利用できなくなるため Database Cleaner とか使う必要あったりとか、Parallel Test するときだけ通らないテストケースあったりとか、高速なマシンを使うときだけ落ちる、 Jenkins でだけ落ちる、といった問題が出てきたりする。

この手の問題、 sleep を入れたりとか mutex 化したりとか場当たり的な対応でテスト通すようにできることはできるけど、 unit テストのようにずーっと通る状態を維持し続けることが難しい(上に書いたように特定の端末でだけ落ちたりする)。おまけに何をやっても RackTest を使う場合に比べてテストが遅くなる。 Pull Request ビルダーでテストが実行し終わるまでに 15 分とかかかったりする。良くない。

かといって JavaScript のテスト書かない訳にはいかない。 JavaScript いっぱい使っててテストがないのはやっぱり不安が大きい。結局、JavaScript のコードを DOM べったりな状態から切り離して、サーバーサイドの Rails アプリケーションの挙動は request spec なり controller spec なりでテストして、 JavaScript のテストは JavaScript で行うのが良いような気がした。どうしてもエンドツーエンドテストやりたかったら Selenium 使うしかない気がする。これはスピードはあきらめて、 Pull Request ビルダーとかでビルドするときはテストやらずに、 master ブランチの定期ビルドとかでぶっ壊れてないか試す、みたいな方法が良いと思う。

もうこれ以上、エクセルにスクリーンショット貼り続ける訳にはいかないんだ。

| @Mac/iPhone

面白かったので便乗して書きます。

iPod 、大学3年の頃に友達が買って見せびらかしてまわってたのが最初の出会いだった。当時は自分は Windows 使ってて Apple 周辺の事情に疎く、特に iPod を欲しいとも思わなかった。

初めて iPod を買ったのは就職活動に失敗して留年していた頃だ。家の近所をぶらついていて、確か発売されたばかりで結構品薄だったのを偶然発見し、就職活動が終わって始めた居酒屋のバイトでもらった初めての給料で買った。第四世代 iPod のモノクロのやつで、ディスクの容量は 20GB だった。

iPod を買った年の冬に精巣腫瘍になって翌年の正月に病院に行ってがんだと分かり入院・手術した。病院はおそろしく退屈で病人生活を始めた最初の頃はパソコンとか持ち込んだりしてなくて、 iPod で音楽を聴くか新聞を読むくらいしか楽しみがなかった。抗がん剤の治療をするようになってからは、点滴されながらじっと iPod で音楽聞いてた。音楽聞いて抗がん剤の吐き気とかを紛らわせようとしてた。

第四世代 iPod は Apple タイマーが正常に機能して、購入からぴったり一年後に壊れてしまった。 HDD が死んだぽかったので開腹してハードディスク入れ替えたら良さそうだったけど当時はハードディスクもそこそこ高く、海外に旅行に行く直前に(飛行機に10時間以上乗るのに無音はつらかったので)第五世代の iPod を買った。こちらは 30GB のディスク容量で、カラー液晶になっていて写真を閲覧したりもできた。

第五世代 iPod は京都で半年入院してるときに重宝した。この頃は抗がん剤の副作用で耳鳴り・高音難聴に苦しんでいたのでよく音楽を聞いた。あと当時付き合っていた女性にふられたのでコールドプレイの "Warning Sign" をエンドレスリピートしながら京都の寺社仏閣を一人でふらふらと歩いて回ったりした。退院して北海道まで青春18きっぷで行ったときもひたすら第五世代 iPod で音楽を聞いていた。

第五世代 iPod は液晶から壊れはじめた。縦方向に筋が入るようになり、最終的には筋が広がって筋の隙間からのぞき見るようにして画面を見る必要があった。iPhone 3G を買ってからは歩くときは iPhone で音楽聞くようになったので、 iPod はもっぱら車の中で音楽聞くとき専用端末になった。最後はオートバックスの駐車場でドアポケットの掃除かなんかしてるときになくしてしまったっぽくて行方不明になった。

実は最初にインターネットに接続したパソコンは弟が音楽製作用に買っていた初代 iMac のタンジェリンのやつで、パソコンの原体験は Apple にあった。大学ではレポート提出とかの都合上 Windows を使っていたけど、数年ぶりに Apple 製品に触れて再び Apple 熱が高まり、 AirMac Express を買って Air Tunes で音楽聞くようになった。

iPod が画期的だったのは、 iTunes のライブラリと iPod を同期して使うところだった。それまでの MD や既存の mp3 プレーヤーは、プレーヤーに入れたい曲を選択してプレーヤーに移す、という作業が必要だった。昔の iPod の CM に、家の Mac で聞いていた音楽の続きを出かけるときに iPod で聞く、というやつがあったけど、そういう発想は他のプレーヤーにはなかったと思う。最初は馴染めなかったけど、曲のレートや再生回数が iPod と iTunes で同期される便利さに慣れると、 iPod 大勝利だなと思うようになった。2ちゃんねるで SONY のプレーヤーの悪口を吹聴して回るほどだった。

しばらく Apple 製品使ってないうちに OS X が出ていることを知り、 OS X の GUI の美しさにびっくりした。当時の Windows XP のフォントはアンチエイリアスがきいておらずシャギーだった。 OS X といい、 iPod - iTunes といい、 Mac/Apple の方が Windows/Microsft よりもだいぶ進んでいるなと感じた。 Windows に無理矢理 Osaka フォント入れたりして Mac 化したりしてた。次パソコン買うなら絶対 Mac だなと思うようになっていた。

大学卒業して入院しているときには病院があまりにも暇でノートパソコンが欲しくなったので、 DELL の安いノートとかにしたらと母親に言われたものの、どうしても Mac がいいとだだをこねて PowerBook G4 の 17 インチのやつを買ってもらった。これを使って病院でブログ書いたりしてた。ブログいじりが楽しくて PHP とか少し触るようになり( Mac は簡単にウェブサーバーを立てることができるので病院とかでも PHP のコードいじったりするのに向いてた)、結果的に Web の仕事がしたいと思うようになって今日に至っているような気がするので、 iPod 買ってなかったら Mac を欲しいとも思わなくてプログラミングをやり始めることもなく、何の能力を身につけることもないまま今も親のすねをかじってニートをしていたかもしれない。