ユルさんが観たいというのでヱヴァンゲリヲンの映画を観に行きます。なんだかチケットが安いな、と思ったら今日は1日でした。得したね。
武石さんが最近日記を書いてくれて嬉しいかぎりですが、直接ブログを訪問すると403エラーになってしまう。ユルさんはちゃんと見られるというから、ぼくがLinuxを使っているせいかそれともFirefoxのせいか。そんなばかな。まあ、Livedoor Readerでブログは読めるので問題ないのですが。
家に帰ってきました。ヱヴァンゲリヲンの映画は想像していたよりもおもしろかったです。劇場版ガンダムと同じ感じですね。もう1回観たいです。
カッコよくていいなあ。欲しいです。24インチもあれば自由自在でしょうね。
武石さんが小説を公開するらしい。実のところ、ぼくも小説を公開する準備をしている。誰でもオンライン小説を公開したり、作品ごとに感想をもらえたり、「読みました」ボタンによる評価ができたりするようなサイトを作っているところで、それが完成したら現存しているぼくの小説をすべてアップするつもりでいる。
昔は拙い小説を公開するのが恥ずかしくて、けっこう厳選していたのだけど、今回はもう全部出してしまうつもりだ。もう現役のオンライン作家ではなくなったからかもしれない。特に恥ずかしくないのだ。
ちなみに小説投稿サイトの開発はのんびりペースで進めているので、いつ稼働し始めるかはぼくにも謎である。

tokyobikeが納車となりました! ホワイトは入荷されなかったので、待ちきれずにブラックを買ってしまった。
さっそく家までの道のりを乗って帰ります。乗り心地はシャープで、指で地面を触っているように感触がダイレクトに伝わってきます。動きもクイックで遊びがない感じ。スピードが出すぎて歩道を走るのは恐いです。これは車道を走る自転車ですね(自転車は車道を走るのがルールだし)。速度が乗ると車と変わらないくらいなので、まだ慣れていないぼくはゆっくりめのスピードで帰ってきました。楽しい!

tokyobikeは家で保管します。タイヤが簡単に外せるので楽チンです。輪行(バラした自転車を持って電車で遠くに行くこと)もこれでOKです。明日は朝早くお出かけしよう(グレンラガンまでには帰るけど)。

さっそく今日はtokyobikeでお出かけです。外はちょうど夜明けごろ。星と月と朝焼けがきれいでした。今はぼくのデジカメが壊れているので携帯カメラで撮っています。携帯カメラでは星も月もよくわかりません。

多摩卸売市場前の広い交差点。おしりが痛くなってきました。やっぱりレーパンは必需品かもです。サイクルコンピュータが欲しい。ケイデンスもわかるやつが必要ですね。スピードはバイクに乗っているときの経験からすると一番速くて40km/hくらいは出ていると思います。

多摩センターまでやってきました。早朝でほとんど人がいません。自転車だとあっという間ですね。

はるひ野駅前です。ここで休憩してから出発しようとしたらチェーンが外れてしまいました。女子中学生たちに見られてて恥ずかしかったです。
トータルの走行距離は、Livedoorの地図によると23kmくらいだそうです。サイクルコンピュータを装備すれば正確なところがわかるでしょう。
それにしても下り坂でスピードが乗ると、車体が安定しなくて恐いです。バイクだと車体ホールドすれば安定しますが、自転車だとどうやってホールドしていいのかわからない。もっと勉強しよう。
身体中がたがたですが、とても楽しいです。自転車すばらしい。
日記を書くのはひさしぶりです。最近は家に帰ってからオンライン小説用のwebアプリをずっと作っています。今週末の三連休で公開するところまでいけたらいいな。
MySQLでは正規表現に日本語が使えなくてちょっとがっかりだったりしています。
^[あいうえお]
みたいな正規表現を実現するのに
LIKE 'あ%' OR LIKE 'い%' OR ……
なんてやったりしています。実際は
conditions = ''
serch_moji = %w/あ い う え お/
serch_moji.each do |moji|
conditions << "column LIKE '" << moji << "%' OR "
end
conditions << "0"
なんて感じでやっていたり。
今週の三連休は雨っぽい。自転車に乗りたいのに。晴れたらどこに行こうかな。

たけぞうさんと律さんの結婚式に出てきました。結婚式の受付までしてしまった。人は己のことではそれほど幸福感を覚えないものだ。人はいつ幸せを感じるのか。幸せになってほしい人々が幸せになった瞬間に立ち会えたときなのだ。すばらしい結婚式でした。
今日もサイクリングです。まずは町田のイトイ自転車にいって、ケイデンス計測機能つきのサイクルコンピュータを買いました。

町田でさっそくサイクルコンピュータを装備します。ケイデンスがわかると、走るのがさらに楽しいですね。ケイデンス90は鬼だと思いました。ぼくなら60〜70がちょうどいい感じです。ところで、町田はなにやらお祭りをやっていました。超暑い!

藤堂さんがせっかく推薦してくださったので、よみうりランドまで行ってみました。すごい坂の上にあったので死ぬ思いでしたが、上からの見張らしはとてもよかったです。よみうりランド自体もけっこう楽しそうでした。
本日のサイクルコンピュータの記録は以下のとおり。町田から計測開始したので、実走行距離は30kmを越えてそうです。楽しかった。
【走行距離】 24.6km
【最高速度】 48.8km/h
【平均速度】 15.1km/h
【走行時間】 1時間37分40秒
ところで、家に帰ってくるとなつめさん、さくらさん、東野さんがいらっしゃってました。ひとりだけおっさんのぼくはこっそりシャワーを浴びて、すみっこでプリンを食べさせていただきました。今は、みんなでなにやら絵を書いています。ぼくはとなりの部屋でこの日記を書いています。眠くなってきました。
オンライン小説を投稿できるサイト「milook」を公開しました。まだまだベータ版ですが、これからデザインも含めていろいろと作りこんでいこうと思います。
サイトのURLは、http://milook.kaeruspoon.net/です。
milook の機能追加その1として、自己紹介の文中での改行が有効になったことと、文中にURLを書いておくと自動でリンクがはられる機能を追加しました。明日からは作品ごとの掲示板機能にとりかかる予定です。
なんだかInternetExplorerで見ると、milookの表示が変みたい。またIEか。掲示板の前に明日はこちらの対処をしましょう。
milookに今日も機能追加しました。今までも、作者本人だけが自分の作品の読まれた数を知ることができていました。今回は、読者本人だけが、自分が読んだ作品と読んだ数を知ることができるようにしてみました。超単純な機能だけど。
本日のメインは作品紹介部分のデザインをちょっと変えたところ。これで少しは見やすくなったでしょうか。
milookにようやく、作品ごとに感想・コメントをつけられる機能を追加しました。閲覧は誰でもできますが、感想やコメントをかけるのは登録したユーザだけとなっています。

今週も三連休。初日から朝5時におきてtokyobikeででかけます。今日の目的地は新横浜にある日産スタジアム。昔は横浜国際競技場なんて呼ばれてて、ぼくも当時は何度かJリーグの試合を観に行ったことがあります。

近くのだだっ広い公園で休憩です。今日は秘密兵器としてお弁当を持ってきました。水だけだとミネラルが補給できないし炭水化物がないとパワーも出ないからね。お弁当のパワーは絶大で、家に帰ってくるまでヘトヘトになることもなく、ゆとりをもって走ってくることができました。ご飯のパワーはすごいです。あとは、ふとももの疲労感とお尻の痛みさえなくなれば、どこまでも行けそうな感じ。自転車は楽しいです。
【走行距離】 37.47km
【最高速度】 61.3km/h
【平均速度】 16.1km/h
【走行時間】 2時間19分53秒
【総走行距離】 62.1km
自転車の雑誌を読んでいたら、一度にたくさんの食事を取ってはいけないと書いてあった。さらに、水のがぶ飲みもダメ。ケイデンスは常に一定に保つ。ちょっと心拍数はあがっているけどおしゃべりできるくらいのペースがよい、とも書いてある。ぼくはそれに全部逆らっていたよ。お弁当ばくばく食べたし、水はがぶ飲み、下り坂では漕ぐのをやめたり、息もきれぎれになったり。
次のときは上記のことを守って走るようにしよう。というわけで、今日はスーパーでウイダーinゼリーとカロリーメートを買ってきました。ぼくがカロリーメートなんか買うなんて……。
土日で追加した機能は以下のとおり。
・ヘルプページ追加
・スター表示機能
・一般訪問者の感想・コメント書き込み許可
・仮登録のキャンセル機能
・退会機能
・作品削除機能
地味な機能が多いけど基盤となるところなので優先順位をあげました。今後はマイページの機能充実をはかろうかと考えています。マイリストや自動しおり機能、携帯電話対応はぜひしたいです(sakomokoさんのブログで挙げられていました)。ぼくは通勤中に小説を読んでいるので、milookが携帯対応すればすごく嬉しいのです。
RailsのプラグインであるException Notifierを、milookとkaeruspoonに導入しました。こいつはRailsアプリで例外が発生したときにメールを送ってくれるという運用ツールです。
導入方法を書こうかと思ったけど、めちゃくちゃ簡単なので上記のサイトを見れば一目瞭然かな。
さらに追記。簡単だけど、マイページをスタートさせました。現在はまだ「しおり」機能があるだけです。

今日もtokyobikeでおでかけ。天気予報で雨と言われていたので諦めていたのですが、起きてみると曇り空。すぐに着替えて出かけました。
今日の目的地は町田にある町田リス園。特にリスは見ていませんが、近くに薬師池公園という公園もあって、のんびりできそうなところです。
今日はケイデンスを70にできるだけキープするように走ってみました。すると驚くことにまったく疲れない。一番効果が大きく感じたのは、下り坂でもケイデンスをキープしたことです。上り坂でたまった疲れが、下り坂でも漕ぐことによって足から抜けていく感じ。あとはケイデンスをキープするために早め早めのシフト操作を意識しました。
家に帰ってきても全然疲れていません。今までのあの全身に感じていた疲労感はなんだったのだろう。これなら、本当にどこまでも自転車で行けそうだよ。九州とか。
【走行距離】 20.43km
【最高速度】 43.5km/h
【平均速度】 16.6km/h
【走行時間】 1時間13分47秒
【総走行距離】 82.5km
milookに、本棚機能を追加しました。自分のお気に入りの作品や、あとで読みたい作品を自分の本棚に入れておくことができます。
それから、hotmail宛にmilookからのメールが届かない事象が発生していて、いろいろと調べてみたのですが、結局hotmail側で設定を変更してもらわないと解決のしようがなかったみたい。「差出人セーフ リスト」にmilookのアドレスを入れていないと、迷惑メールフォルダにすら入らずにメールが消されてしまうようです。容赦のないところはさすがマイクロソフト。この調査のためだけに、hotmailのアカウントをとっちゃったよ。とほほ。
今後追加予定の機能としては、お気に入り作家が登録できるようにしようと考えています。お気に入り作家が新作を発表すると、マイページですぐに確認できるようになるようにしようかな。あとは、コメント追跡機能。自分がコメントをした作品に、新たにコメントがなされた場合は、マイページで確認できるようにします。これは、自分の作品にコメントがあった場合でも同様。
そこまでいったら、一度リファクタリングをしようと思います。ソースが恐ろしいことになっているもので。DBのリレーションももっとシンプルになりそうな気もする。migrationの恐ろしいところは手軽にDBの設計を変更できるのでぐちゃぐちゃになりやすいところかも。milookのmigrationはすでに25ファイルになっています。
それから予定している機能としては携帯対応、コミュニティグループ機能の追加、メール機能の追加、ブログ機能の追加、などなど。やりたいことはたくさんあるけど、時間がおいつかない感じです。こればっかりやっているわけにもいかないし。でも楽しいなあ。
マイクロブログっていいよね。気楽にかけて、ブログみたいに変に論争なんてしなくてもいいし、チャットっぽい感じでもあって楽しそう。楽しそう、というのは、ぼくはまだ使ったことがないから。いちよ、twitterにアカウントは持っているのだけど、ともだちいないもの。いや、気軽にaddしちゃったりすればいいのはわかるけど、古風な男だからなかなかそうもいかんのだ。
で、これをmilookの機能のひとつに加えてもいいんじゃないかなあと思った。昨日はブログ機能みたいなことを書いていたけど、1回に200文字以下くらいのマイクロブログのほうがmilookにはあっている気がする。まあ、機能追加するとしても先の話だけど。
sakomoko さんが Following してくださっていたので、twitterを使い始めました。なんだか知らないうちに海外の方も Following している。まあいいか。ついでに、はてなのついったー部にも入っておきました。
朝4:30に目が覚める。ご飯を食べて横になっていたら変な時間に起きてしまった。いつも5:00に起きて起きているので、もうこのまま起きていようと思い、この日記を書いていたりする。
今日で最後のお仕事です。今まで勤めていた会社を辞めて、来週からは新しい会社で働いたりしちゃったりします。今まではずっとエンタープライズ系の仕事だったけど、これからはいよいよRubyを使ってwebサービス系のお仕事をやることになりました。趣味を仕事にしてしまった。とても楽しみ!
RubyKaigiでsecondlifeさんがモテる Ruby!で紹介されていたImageScienceを使ってみた。写真からサムネイルやリサイズされた画像を作るクラス。milookの自己紹介用写真のサイズをこいつで統一しちゃおうというわけ。
ImageScienceには、FreeImageとRubyInlineが必要なので、こいつを先にインストールしておきます。
FreeImageのほうはソースをダウンロードして解凍して、make, make install でOK。makeしているときに、g++が必要と言われたら、apt-get install g++ または yum install gcc-c++ などでインストールしてあげます。
make
make install
RubyInlineはrubygemで
sudo gem install RubyInline
そうしてから、ImageScienceのインストールをします。
sudo gem install image_science
ここまできたらあとは使うだけです。
milookでのイメージアップロードの処理をするフォトモデルのメソッドは次のような感じになりました。
require 'rubygems'
require 'image_science'
……
def upload_file=(file_field)
if !file_field || file_field == ''
self.destroy
else
self.name = base_part_of(file_field.original_filename)
self.content_type = file_field.content_type.chomp
if file_field.kind_of? StringIO
work_file = "/tmp/#{self.name}"
File.open(work_file, 'w') do |f|
f.write file_field.read
end
else
work_file = file_field.path
end
ImageScience.with_image(work_file) do |img|
img.cropped_thumbnail(210) do |t|
t.save work_file
self.data = file_field.read
if file_field.kind_of? StringIO
File.open(work_file, 'r') do |f|
self.data = f.read
end
File.delete(work_file)
end
end
end
end
end
ImageScienceのwith_imageがパス名しか受け付けなかったようだったので、StringIOクラスで渡されてきたときは、一度ローカルに保存する処理が必要になりました。もしかしたら、そんなことしなくてもいい方法がありそうな気もしますが、そこまで時間をかけて調べられなかったので、今日のところはとりあえずこれで。
require 'rubygems'とrequire 'image_science' を忘れがちなので気を付けようっと。
サムネイルを作るメソッドは、cropped_thumbnailとthumbnailがあるのだけど、thumbnailは縦横比の変更はしない。縦横比を1:1にするのが、cropped_thumbnailです。
milookにひとりごと機能とお気に入り機能を追加しました。
ひとりごと機能は、twitterみたいなマイクロブログ風な機能で、200文字以内でひとりごとを書くことができます。あなたをお気に入りにしている人は、あなたのひとりごとをマイページで読むことができ、あなたがお気に入りにしている人のひとりごとはあなたのマイページで読むことができます。お互いにお気に入りにしている人同士では、ひとりごとを通して会話することもできます。
今週は大きな機能追加はやめて、細部のデザインや、表示内容の微調整などを行おうかと考えています。
今日は朝から雨。すごく自転車に乗りたかったのだけど仕方がない。土日の雨をこんなに残念に思うのは、バイクにハマっていた二十歳の頃以来です。
午前中いっぱいと、夕食後の1時間ほどはずっとmilookのプログラミング。楽しいな。
午後はユルさんと一緒に町田のオシュマンズへ。ユルさんも tokyobikeを買ったのです。雨なので、実際の引き取りは来週となりました。楽しみだね。
明日からは新しい会社でお仕事。定期をsuicaからpasmoに変更しました。pasmoの方がデザインがいいね。何時に出社すればいいのかよくわからないので、とりあえず9時ごろ行ってみようかと思います。私服で会社に行くなんて初めてだ。どきどき。スーツはもう特別なときしか着ないと思う。
追記。出社時間は10時でした。すげーゆっくりできる。