週末なので彼女に会いに苫小牧へ。今週末は室蘭で遊ぶ予定。
早速、バグ報告が。add_foo_proc等でdateを扱う時はブロックパラメータで渡すものだと完全に思い込んでいて、add_header_procでも渡していたのが原因でした。
今から思えば、dateを変化させて処理をしないとダメなのはadd_body_proc等であって、header周りは一度しか呼ばれないのでおかしいはずだよね。
うちにおいてあるaccount_ad.rbの方もたださんがコミットしたものを反映させました。ダウンロードした方は最新版に入れ替えてください。
どっかに泊まりで出かけても良かったんですが、前回の温泉旅行で金欠となってしまったので、彼女の盆休みはうちに泊まりに来ることになった。彼女は実家に置いてある漫画をひたすら読んだり、ネット巡回をしているので、オレはとぼとぼとaccount_ad.rbを修正したり何だり。
そういえば、たださんの日記からのリンク数で「account_ad.rbの紹介」の時よりも「デートかよ!」の方がぶっちぎりで多いのはどゆこと!
朝にメール受信をしたら、この件が原因かわからないけど HyperEstraier の検索インデックスを更新するときに estcmd が強制終了して検索インデックスが壊れてしまった。これまでは特に何も起きてなかったのになー。修復を試みたりしてみたけど、ダメだったので検索インデックスのディレクトリをまるっと削除して最初から作り直すことに。
作り直すとは言っても、 MH 形式で保存されているメールのデータを突っ込み直すだけ。方法は KaMail からメールをインポートを参照のこと。で、朝から初めてみたものの HyperEstraier-1.3.6 だと、 estcmd の強制終了が発生するのは変わらず、QDBMのdllだけを 1.8.67 に入れ替えてもダメ、さらに 1.3.5 にダウングレードしてやってみても…結局変わらず。 1.3.4 もダメ、 1.3.3 でよーやく検索インデックスの作成が終わった。やっぱり、中に入っているQDBMのバージョンの問題なのかなあ。
ところが、やっと再構築が完了した検索インデックスを用いてメールの検索を試してみると、同じ文書データが5つも重複登録されてやんの。事前に強制終了されたestcmdのプロセスとかが残ってたりしたのかなあ。そんなこんなでもう一度検索インデックスの再構築中。
検索ベースのMUAは検索が根幹の部分だけあって、検索インデックスが壊れてしまうと何も出来なくなるというのを覚えておかないといかんなー。
33℃行ったら死ぬとか言ってるうちに室温33.1℃になってた。たすけて。
この前 tDiary-devel に投げた「ツッコミの条件表示を設定画面から変更できるようにするパッチ」が trunk に取り込まれたっぽい。
…ので、spam フィルタでツッコミをはじく条件を設定している trunk 大好きっ子はアップデートして、自分の日記にあった条件を書くとよいです。せっかくのツッコミを spam として除外してしまっては、ツッコミした方は
「なんか知らんがせっかく書いたのに反映されない!ムキー」
となるし、もらった方も気がつかないまま過ぎてしまうという両方にとってよくないだらけだしね。
sf.net 上の tDiary の ML 文字化け解消をするプロキシがなんかよくわからんプロジェクトを指しているのにさっき気がついた。
おかしいのはこの辺。これなんか前に誰かが指摘していたような気がするなあ。
hsbt.org に入れてある野良 Ruby のバージョンを 1.8.7-p22 から 1.8.7-p72 に上げた。昨日は p71 に上げたんだけど新しいアナウンスが新しく出てて
前回のリリースの修正は不完全で、新しいリリースは以前にアナウンスされたdlの脆弱性の修正を含んでいます。
ということらしい。
室蘭の実家に帰ってきた。駅前にあったケータイショップが人材派遣業の事務所になってて謎苦笑。
寄り道ツアー3つ目は函館の東の先にある水無海浜温泉。何でもここは海辺に温泉が湧いているという場所で湯加減は全て波加減次第というアバウトな温泉。
行く前はバスタオルだけで入れるんだろうか、とか他に人がいたらどうする?とか言いながら向かってたんだけど、着いてみると人がいないどころかよくある海水浴場って感じ。バスタオルどころかふつーの水着を着ないと温泉にはとても入れそうにもないので、写真だけ撮ってとぼとぼ帰ってきた。
ぬー、水着くらい買っていけばよかったなあ。
寄り道4つ目は水無海浜温泉の逆側にある恵山温泉へ。ここは珍しい強酸性の泉質で石けんを使おうと思っても全く泡が出ないというお湯みたい。もちろん、強酸性の効果で浴槽の周りは「よくネットに出てくる中国の公害写真にあるような五色」の色に変色しているので最初はちょっと勇気がいるかも。
ここでは客は自分たちしかいなくて貸し切り状態。温泉の効能とかはよくわからないけど、山奥にある秘湯的な温泉でこれはちょっと当たりだったかなー。
満腹になった後はホテルで少し昼寝をしてから夜の散歩へ。
ホテルから函館駅までは少し距離があるので、市電に30分ほど揺られて函館山の麓へ向かった。あいにくこの日は霧雨な天気で山頂に登ってもなーんにも見えないというとほほっぷり。こればかりはしょうがないかな。
山頂から麓へとっとと戻ってきてから、教会群の撮影会をしながら夕食の店へ移動。
ruby を 1.9.2 にしてから
/usr/lib/ruby/1.9.1/rubygems/source_index.rb:68:in `installed_spec_directories': undefined method `path' for Gem:Module (NoMethodError)
というエラーが発生してどうにもならない状況になってしまった。30分くらいどうにも理由がわからなくて、Google様に聞いてみたところDebian sidのrubygems1.9.1がエラーになるのを一時回避という理由で動かなくなっていることがわかった。
ひとまず、--disable-gems オプションを付けてやりたいことは対処できたけど、これは中々大変そうだなあ。
nginx の設定変更とかその辺について書いた記事がメルマガとして配信されていました。
http://www.objectclub.jp/ml-arch/magazine/347.html
次回も nginx の設定ファイルの変更関連を軽くやってから、passenger とか rack を乗せて動かす話につなげていこうと思っています。
とにかく早く読みたい人は週刊オブジェクト倶楽部から無料登録すると良いよ。
San Francisco Cloud Mafia (San Francisco, CA) - Meetup というMeetup のサイト経由で知ったんだけど、Cloud Mafiaのスポンサーの一つになっている http://loggly.com がだいぶヤバイ(革新的)なサービスだった。
早い話が log をクラウド上に集約して保管してログ全部に permalink がついていて、Web経由のシェルっぽいUIが提供されているというみんなが大好きそうなサービス。
セットアップ自体も簡単でアカウントを作成してから curl でサーバーから認証を実行して、rsyslog に TCP 経由での送信先を設定するだけ。フリープランでも200MB/1day、保存期間1週間とフリーユースなら全然問題ないレベル。つーか、これを超えるような用途って中々の規模だと思うんだけど、loggly はペイしてるんだろうか。
rsyslog の他にも json で送りつけたり、gem が用意されていたりと Rails からもさくさく転送できると思うのでこっちはそのうち試しておくつもり。
funtoo で動かしている tDiary の CI が1ヶ月くらいずーっとレッドになっていて、その原因は 2.0.0 で nokogiri や ffi をインストールできないということだったんだけど、夏休みなのでガッと調べてみた。
gem i ffi
した時のエラーは以下のような内容。
Fetching: ffi-1.1.5.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing ffi:
ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ruby-head/bin/ruby extconf.rb
checking for ffi_call() in -lffi... yes
checking for ffi_prep_closure()... yes
...(snip)...
compiling Pointer.c
In file included from Pointer.c:34:0:
rbffi_endian.h:46:4: エラー: #error "Cannot determine the endian-ness of this platform"
Pointer.c: 関数 ‘ptr_order’ 内:
Pointer.c:339:59: エラー: ‘BYTE_ORDER’ が宣言されていません (この関数内での最初の使用)
Pointer.c:339:59: 備考: 未宣言の識別子は出現した各関数内で一回のみ報告されます
Pointer.c:339:72: エラー: ‘BIG_ENDIAN’ が宣言されていません (この関数内での最初の使用)
Pointer.c:351:25: エラー: ‘LITTLE_ENDIAN’ が宣言されていません (この関数内での最初の使用)
Pointer.c:368:1: 警告: 制御が非 void 関数の終りに到達しました [-Wreturn-type]
make: *** [Pointer.o] エラー 1
これは何だろうとキーワードでぐぐったり、ruby-ffi のフォーラムを探してみたら、このフォーラムに同じ問題に遭遇して workaround で解決したという人がいた。 どうやら、trunk でコンパイラの優先順位を変えたことによる副作用が原因っぽい。 とりあえず、こんな状況になった時には
gem i ffi — --with-cflags='—std=gnu99'
というように cflags の指定を変更することでインストールはできるようになるみたい。これで何とか CI の方は無事グリーンに戻せた。そもそもなんで gnu99 を指定すると上手く行くかみたいな部分はよくわかってないので、後で調べるか偉い人に聞いてみよう。
コンパイラの優先順位は関係ありませんでした!
eban
@eban
これは-ansiの影響だろうな "ruby turnk(2.0.0) で nokogiri や ffi をインストールできない時の対処方法 - HsbtDiary(2012-08-12)" http://t.co/hBfL00Q4 2012-08-12 12:52:56 +0000
Reply Retweet Favorite
せっかくまとまった時間を取れるので、やろうやろうと言いつつ先延ばしになっている各種アップグレード業務をがつんと進めていた。Rails 2 から 3 にアップグレードというお前何回やってるんだよみたいな作業もやっていて、だいたい動くようになったところ。
Rails 2.3 だいぶやばくて、ちょっとモンキーパッチ当てれば bundler も使えるし、rack middleware も積むことが出来るし、Rails 3 以降では何これみたいなコードでも動いてしまうので、Kansas で満足してしまうのもわからなくもない。とは言え、Ruby 1.8 は終わったし、Rails 3.2 も近々終わるので、ぐわっと上げてしまってよろしくないコードは全部書き換えてしまうつもり。
devise では、users モデルを認証対称として設定した場合、利用したモジュールに応じてがががっとルーティングが自動生成される。簡単な例だと
devise_for :users
とすると /users/sign_in
などが生成される。これを /users/signin
にしたい場合はこうする
devise_for :users, paths: {sign_in: 'signin'}
さらに /signin
にしたいよね〜ということは多々あるはずなので、こうする。
devise_for :users, paths: {sign_in: 'signin'}
devise_scope :users do
get '/signin', to: 'sessions#new', as: :new_user_session
end
こうすると、/signin
が devise が内部で使う :new_user_session として再定義されるので、未ログイン時のリダイレクトなどで使われるようになる。
しかし rails4 では as で指定する named routes がすでに定義されている場合は raise するようになってしまったのでこの方法を使うことができない。ログインするための url がバージョンアップで変わるというのは困る。
まず思いついたのがdevise_for
をいじる方法。
devise_for :users,
path: '',
paths: {sign_in: 'signin'}
上のようにすると /signin
は使えるようになるものの、/users
でアクセスしたいルーティング、例えば /users/password/...
というルーティングが /password/...
となってしまうので、これは困る。いろいろ調べた結果、以下の url に記載されている方法がベスト・プラクティスのようだ。
http://iampedantic.com/post/41170460234/fully-customizing-devise-routes
ようは、devise_for では routes を定義せずに、自分ですべてマッピングを作成せよということらしい。最終的にはこうなった。
devise_for :users, skip: [:sessions]
devise_scope :users do
get '/signin', to: 'sessions#new', as: :new_user_session
... # この先に sessions で本来定義されるはずの url がすべて書かれている
end
まあなんというか、ここまでやるなら omniauth 使って、薄く自分で作ったほうが楽だよねって話である。重厚すぎるライブラリはやっぱり好きになれないなあ。
今まで電池の充電は eneloop の充電器を使ってきたのだけど、同時に4本だと時々足りないことがあるというのと、電池がどれくらい充電されているのか全くわからないということもあって、amazon で好評化の LCD ディスプレイ付きの充電器を買ってみた。
パッケージもシンプルで特にスイッチや配線で困るということはなく、電源を接続したら電池を入れるだけで充電が始まるので、後は数時間放置するだけ。eneloopの充電器で安全側に倒して満充電と認識されて充電が完了したという電池でも、TGX08に入れると2/3しか充電されてないというケースが割とあるので、しっかり充電するようにすればキーボードとかがすぐに電池切れを起こして交換するという面倒さがなくなるかな。
ej ニッケル水素充電池専用 充電器 TGX08 最大8本同時充電 エネロング対応 単3 単4電池兼用 (ホワイト)
ecostyle
¥2,840
緊急時のライトとして用意していた懐中電灯が壊れたので、最近出ている懐中電灯のうち LED かつ電池のサイズを気にせずに使うことができるというモデルを買ってみた。
確かに単3でも単1でもLEDを点灯できていい感じ。こういうちょっとした雑貨も最近は進化してるなあ。
パナソニック LED懐中電灯 電池がどれでもライト レッド BF-BM10-R
パナソニック(Panasonic)
¥1,980
3ヶ月ほど前になるけど、nanoblock とマクドナルドがコラボして写真のようなマクドナルドお馴染みのセットを nanoblock で作れる...!と思って店頭で買ってきた。箱から開けてみたら、これらは nanoblock 風というだけで nanoblock ではないということがわかってがっかり。
確かにこのサイズの nanoblock で三つ合わせて 1500 円というのはおかしいなあと思っていたけど、本当にただのプラスチックのオモチャだったなんて。
IIJ さんから提供していただいている CentOS 6 で構築している docs.ruby-lang.org が数日前にプラットフォーム側のトラブルで VM がダウンしてしまったので、IIJ の担当の方と協議してこの機会に AWS に移設することにした。これまで無償で VM を提供していただきありがとうございます。
早速、式年遷宮をシュッとやったわけだけど、アプリケーション自体は以下のように cap production deploy
だけでだいたい構築できるので1時間くらいで終わった。
アプリケーションのデプロイ以外にやったことといえば、使うユーザーを adduser
でせっせと作ってから必要なパッケージとして nginx, passenger,groonga, git, bundler, certbot を apt で入れたくらい。この辺、provisioning tool にすることもできるけど、その時々の気分で OS 変えまくっているので、そこまで頑張ってもな、という感じでこのままいく。
もう DNS の変更は完了しているので、今見えているのは新しく作ったやつです。リンク切れやおかしい箇所があったら教えてください。
久しぶりにかるたらしいかるたの回だったけど、引き続き太一の謎進化が謎すぎて何なんだ...というのは継続中だった。キャラ先行のストーリーにシフトした結果競技かるたとは...という感じになってしまったので、この巻で区切りを付けた方がよかったんじゃないかなあ。
フランスに行ったことで内覧会に行きそびれたサントリー美術館の琉球 美の宝庫展を見てきた。この日は一人だったので、美術館の後はミッドタウンをぶらぶら歩いてシュッと帰宅。
少し前に国立近代美術館のミュージアムショップで、国立美術館初の公式ガイドブック発売というのを見かけて、そういえば今年は大阪にいくので、国立国際美術館についても勉強しつつ、巡回ルートに入っている国立近代美術館と国立西洋美術館の二つについても勉強しようと思って4冊全てを買ってしまった。
美術館についての紹介という内容ではなく、収蔵品の絵画の解説にフォーカスして解説という形式で4冊全て買ってもさっと読めて便利だった。
国立西洋美術館の名作: 国立美術館初の公式ガイドブック (国立美術館ガイド)
国立美術館
¥1,320
京都国立近代美術館の名作: 国立美術館初の公式ガイドブック (国立美術館ガイド)
国立美術館
¥1,320
痛風の治療としてフェブリクを飲み続けていて1-2ヵ月ごとに通院して薬を補充しているんだけど、ちょうどお盆の時期に切れてしまいそうになったので急ぎで病院に行って薬をもらってきた。
病院、お盆前だからか待っている患者は誰もいなくてススっと診断して、血液検査って感じでだいぶ楽だった。気づけば 39 で、尿酸値だけじゃなくて血糖とかコレステロールなど気にする値も増えてきたので体重にくわえて観測を続けていかないとなあ。
名人・クィーン戦の続きで、試合の最中は初期のころの勢いと丁寧な解説があって引き続きって感じだった。このまま両試合とも最後の一戦という感じになったけど円満に終わるかなあ。その辺が気になる。
連日の猛暑で、ベランダで育成している植物たちが生き延びているかも気になるので、夏休み後半戦に備えて妻より一足早く東京へ移動。いつもはエアポートを使ってるけど、この日はバスを使ってゆらゆら揺られて新千歳へ。
軽く朝食でも食べるか、と思いきや朝の9時だとほとんどの店はまだ開いてなくて、しょうがないので朝ラーメンで空いている店に入って豚丼セットを食べた。だいぶガッツリ系になってしまったけど、この後はラウンジでコーヒーだけ飲んでひたすらゼノブレイド3をプレイしていた。
この日はそれほど暑くもなく、羽田から家まで移動してもまあまあな気候でよかった。
この日は室蘭から出発して白老の方に行く予定なので、ちょうどいい朝食を食べる場所はないかなあと探したものの、びっくりするほど10時前から開店している店がなく、まいったなあと Google Maps をにらめっこしていたら珈琲専門店シーハイルという店が開店しているのを見つけたので行ってみた。
幌別駅の前にある店で、店主が一人で経営している店だった。コーヒーとトーストで800円とお手頃な価格でそれでいてコーヒーがとても美味しかったので満足。店主がすごい独特でひたすら「ありがとうありがとう」と言ってたのが印象的。
朝食を食べた後、高速道路にのって白老まで移動して、5月に来たときには回りきれなかったエリアをじっくり見ようとウポポイに再びやってきた。
この日は予定を完全に組んでいて、まずはシアターで札幌ウポポ保存会による演舞を見た。いつもはウポポイの職員による舞が披露されるのだけど、この週は北海道各地のアイヌ文化の保存会による公園が行われていて、たまたま札幌の番だった。北海道の中でもアイヌ文化は複数あり、文化というかコタンごとに着物の装飾が違うというのは面白かった。
観劇の後は予約が必要なアクティビティの手配をあれこれしてから、レストランで鹿とラムのプレート。注文してから気がついたけど、前に来たときと全く同じものを注文していて進捗がなさすぎて笑ってしまった。次に来たときはハンバーグを食べる。
食後はアイヌ文様の木彫り体験。彫刻刀を使って何かを作る、というのが久しぶりすぎてどう使うんだっけ、という状態だったけど、それなりの物ができたので良かった。実際に彫ってみると単にまっすぐ線を引いて模様を作る、というだけでも結構難しく、左の例のように細い間隔で作るのは相当大変なんだな、ってことがわかった。板に彫るだけでもこんな状態なので、曲面に模様を、となるとその難しさはとてつもないことがわかる。
木彫体験の後は博物館をざっと眺めてから、再びシアターに行って、今度はウポポイの職員による演舞を見た。こっちは映像を織り交ぜての舞いで、これもかなり良かった。現在は3つの演目をやってるらしく、残りの2つはまた今度。事前にホームページなどで予定は書いてあるけど、実際の演目は現地に行ってみないとわからない、というものなのでなかなか難しい。
演劇のあとは弓体験。当然ながらまっすぐ飛ばないし、矢先を的に向かわせるというだけでも一苦労だった。
最後に子供向けの演劇ホールでトゥレっぽんと、その作者によるイベントが行われていたので、隅の方で休憩しながら眺めて終わり。今回はだいぶ予定をたてて、半日くらいで回れるだけ回ったけど、それでも演舞などはまだ見れてないものがあるので次回かなあ。
ウポポイの後は虎杖浜に移動して、最近のお気に入りのふる川に泊まることにした。ここは本当に海沿いの波の音が聞こえる宿で、太平洋を眺めながらスターレイルをプレイ、という休日らしい休日を過ごしていた。その後は温泉、夕食、温泉、ゲーム、読書、みたいな過ごし方で就寝。
朝の9:00に妻の実家の最寄りのレンタカー基地から出発してひたすら北上を開始。写真を撮り忘れたけど、砂川にある北菓楼の本店でソフトクリームとシュークリームを食べた。それにしても北海道だというのにとても暑くて、ソフトクリームがすぐに溶けてしまった。
二つ目の休憩地点は旭川を抜けて名寄の道の駅。米の里ということで饅頭などがたくさんあったけど、昼時でもないのでちょっと休憩してから運転を再開。名寄の次は宗谷山脈を抜ける道になって、ひたすら山や森の道を抜けてオホーツク海が見えたあたりで叔父さんの家に着いた。運転時間は5時間くらいだったろうか。
みんな歳をとったもので、ほぼ全員が40歳以上という参加者で自分や兄弟、従兄弟、両親、叔父さん、叔母さんなどで集まって夕食を食べてきた。
夕食、といっても家から最寄りの料理どころまで40km弱というような土地なので、移動してたどり着くというだけでも大変で、さらに料理を食べることができる店は1-2軒のみという状態で、誰もがそこに集まって店員が全然回ってないというなかなか厳しい状況だった。2時間で予約していて、料理が出てきたのが90分経過した後、という感じなのでみんなで話すものも話せなくて微妙な空気だった。
夕食の後は、唯一存在するホテルにチェックインして、風呂に入ってから爆睡。お疲れ様でした。
# ただただし [仕様が変わってたわ >sf.netのMLアーカイブ いちおう直してみた。]
# しばた [早い!]