2004/1/2 (金)
2004/1/4 (日)
■ BBS スレッド表示強化 [site]
たまにスレッド表示が乱れるバグ。去年の夏頃気付いた。
当時、使える程度に覚えた Perl[perl.com] でごりごり作成した CGI。
雑なソースで、見る気すらなかった。
が。気になりはじめると修正したくなる。
しかしいまさら perl を書く技量はなく、ひたすら Ruby[ruby-lang.org] で書き換え。
うお。苦労したあんな個所や、こんな個所がラクに書ける。
いかに perl が苦手だったかわかる。それとも、ruby が手になじんだからか。
どちらにせよソースも見やすくなってバグの個所も早急に解決できた。
この調子でBBS 本体[double-red.net]も ruby に書き換えを……、うわ、えらい複雑だ。モチベーションダウン。やめ。
■ 去年の帰省シーン [misc]
結構波嵐じみた帰省[2003/12/26/26 @topic2]だったので zphoto[namazu.org] 化。
写真のほとんどは助手席のカミさんが担当。
- 12/27
- 03:40 a.m. くもり。雪がつもっていたが、出発
- 04:40 a.m. 東名高速突入
- 05:00 a.m. 雪が降り出す
- 05:20 a.m. 電光掲示板にて雪、事故渋滞とのアナウンス(タイヤノーマル)
- さらに高速を下りろとかなり乱暴なアナウンスまで
- 05:30 a.m. 周りの車はどんどん進んでゆくが、イチかバチかで高速を大井松田 IC にて一旦脱出
- 交通情報ラジオを聞きながら、近くのコンビニにてナビで進路確認
- 一般道でゆくとあと 7 時間はかかると出てきてガクゼン
- しかたないので渋滞がとぎれるであろう近辺の I.C へ向かうことに
- 06:30 a.m. すいすい進む一般道から見上げた東名はかなりの渋滞
- 雪景色が広がっていたが凍結はしていなかった
- 富士山がくっきりと見える
- 07:30 a.m. どきどきしながら裾野 I.C へ突入
- 雪もなくスムーズに走れる
- なにかに勝利し満足
- 10:40 a.m. 到着
通常 5 時間かかる道のりを 7 時間。一般道で 2 時間かかったからしかたない。
ニュースにてルート変更していなかったら 40 km もの渋滞に巻きこまれていたことを知る。
どうやら雪が原因で 14 件ほどスリップ事故が起きていたようで、一時通行止めだったらしい。
まさにわたしが決断を下した大井松田 IC 付近で渋滞していた様子。
あぶないあぶない。もう少しはやく出発していたら渋滞どころか事故に巻き込まれるところだった。
朝日新聞より[asahi.com]
20040104
2004/1/5 (月)
■ dcomp.rb [nDiary]
- 年またぎがうまくゆかないバグ修正
- コンプリート率により勲章を変更、定義できるようにした
ndiary.conf に以下を定義すると勲章の変更ができる。
#( ) 内は defalut値
#高いコンプリート率(60)設定、表示(<span class="dcompGold">★</span>)
DCOMP_GSTAR_R='100'
DCOMP_GSTAR='<img src="gStar.png">'
#まあまあ高いコンプリート率設定(50)、表示(<span class="dcompSilver">★</span>)
DCOMP_SSTAR_R='70'
DCOMP_SSTAR='<img src="sStar.png">'
#がんばったコンプリート率設定(40)、表示(<span class="dcompBronze">★</span>)
DCOMP_BSTAR_R='50'
DCOMP_BSTAR='<img src="bStar.png">'デフォルトの値がひくいのは自分用。:-)
dcomp.rb_040105[double-red.net]
2004/1/6 (火)
■ 最近買った CD [cd][shopping]
カミさんの実家帰省時に購入した CD。
- 『MY DEAR』 (Media: CD)
これを聞いていた時は環八走っていた時かな。
「エレベータアクシデント」と「素敵なルネッサンス」が聴きたくて。昔買って売って、また買ってしまった。
- 『LISTEN TO MY HEART』 (Media: CD)

- 【アーティスト: BoA】
- 【エイベックス】
- 【発売日: 2002/03/13】 【枚数: 1 枚】 【価格:\3,059】
まさにスリップ事故多発により渋滞寸前の高速を緊急脱出したころの BGM。
■ amazondvd.rb [nDiary]
出力される html ソースが異常に気になる人向けの修正。
- 無駄な空行を吐かないようにした
だけ。なんだそりゃ。見映えは一切変わらない。
特に必要ないと思いますが一応。
amazondvd.rb_040106[double-red.net]
2004/1/9 (金)
■ 龍騎観賞終了 [dvd]
- 『仮面ライダー龍騎 Vol.12』
(Media:
)
全 12 巻観終わった。映像特典のインタビューまでくまなく。
カミさんと二人ハマって楽しく観れた。かなり見応えがあった。
特撮ヒーローもの、ではなく連続ドラマだったな、と感じた。
貸してくださった N さん、ありがとうございました。
最近我が家では返事する際、首を回しながら「ぁあ……」と吐息まじりに浅倉のモノマネをするのがブーム。
2004/1/10 (土)
■ html の空行をトリム [nDiary]
html ソース内無駄な空行をトリムする[2004/01/06/06 @topic2]にはこんなフィルタをかませば一発だ。
class Filter
def trim_brankline(str, type)
case type
when :HTML
str.gsub!(/\n\n+/m,"\n")
end
end
end2004/1/12 (月)
■ 植え替え[misc]
大学時代、ツレの B 吾からもらったドラセナコンシンネ(真実の木)が大きくなってきたので植え替え。
9 号の鉢を用意。で、植え替え後のお古の鉢は陶器製で割と気に入っていて余るのももったいないのでこれにはポトスを。

この真実の木、以前購入したパキラ[2002/10/15/15 @topic1]が 5 ヶ月ほどで白いカビのようなものに侵されてお亡くなりになってしまって以来、我が家唯一の植物である。
もらった時点ではひょろひょろと細い幹で 60 cm 程度だったのだが今や全高 130 cm 以上。
カミさんの実家で一度植え替えてもらってから鉢はそのままだったので根が鉢に充満してかわいそうな状態だった。
土をいじるのは楽しかった。
■ GOLDEN☆BEST/PLAYBACK MOMOE part2 [cd]
山口百恵のベスト。幼い頃よく母が LP で聴いていたもの。
あの LP どこへ行ったのだろう。
- 『GOLDEN☆BEST/PLAYBACK MOMOE part2』 (Media: CD)

- 【アーティスト: 山口百恵】
- 【Sony Music House】
- 【発売日: 2002/06/19】 【枚数: 2 枚】 【価格:\2,980】
カーステレオで聴くと、懐しさがこみあげてきたが、カミさんにはチンプンカンプンだったようだ。
おそらくわたしと同年代でもついてゆけないのではないだろう。
「愛の嵐」のフレーズ、「ストームストームストームストーム……」だったのか。
当時、「ストーンストーンストンストンストン……」と唄っていたのでそう憶えていた。
この CD は母へプレゼント。
■ weather.rb [nDiary]
若干の高速化。
従来は以下の方法で天気ゲットしていた。
- 1. 1st アクセスでまず該当郵便番号地方の天気予報用 URL を特定
- 2. 1.で特定した URL へアクセスして天気をゲット
今回 1. を改善。
毎回同じ URL を返して無駄だのでキャッシュするようにし、アクセス回数を減らした。
これだけで結構速くなる。
weather.rb_040112.bz2[double-red.net]
2004/1/15 (木)
■ weather.rb [nDiary]
postal_urlが存在すると、うまく情報取得出来ない[jpn.ch]との事。
キャッシュファイル postal_url の中身が空だと動作しないと思います。
それ以外で動作しない場合はよくわかりません。もしかすると文字コードがからんでいるのかもしれません。
ちなみに、postal_url の中身は以下のようなテキストです。
nnn-nnnn:http://www.~
とりあえず postal_url が空でも動作するように変更しました。
また、表示関係もアップグレード毎にソースをいじらずともいいように[jpn.ch]テンプレートを利用できるように変更。
ndiary.conf に、
WEATHER_TEMPLATE = trueを設定し、キャッシュディレクトリ weather 以下に、template というファイル(以下参考)を作成すると、標準の出力の代わりに template の内容を埋め込むようになります。
<div class="weather">
<table>
<tbody>
<tr>
<td valign="bottom">
気温:<-w_気温>℃ / 降水量:<-w_降水量>mm / 風向き(風力):<-w_風>
</td>
<td rowspan="2" valign="bottom">
<-w_天気画像>
</td>
</tr>
<tr>
<td align="right" valign="bottom">
<-w_取得時間>現在
</td>
</tr>
</tbody>
</table>
</div><-w_なんたら> が取得した情報に置換されます。
weather.rb_040115.bz2[double-red.net]
2004/1/17 (土)
■ weather.rb 不具合解決かも [nDiary]
なるほど、SJIS[jpn.ch]ですか。ってところを手がかりにデバッグ。
……。
……。
どうやら、postal_url ファイル内の改行コードが原因だったようだ。
改行コードにキャリッジリターン(CR)が含まれていると同様な症状が出ました。
わたしの postal_url では改行がラインフィード(LF)でした。OS の違いからでしょうけど。
で、postal_url 読み込み部を修正。
これでどないでしょ。
weather.rb_040117.bz2[double-red.net]
一度 postal_url ファイルを消去して実行してください。
■ エヴァンゲリオン 1、2 巻 [dvd][shopping]
一巻だけは、カミさんからのわたしの誕生日プレゼント。
のこりは月イチペースで自分が買う予定。
- 『NEON GENESIS EVANGELION vol.01』
(Media:
)
- 『NEON GENESIS EVANGELION vol.02』
(Media:
)
いまさら感が漂うのだけど、無性に観たくなった。
サラウンドで観賞すると臨場感がある。
左右のリアスピーカの位置が今のところ悩みのタネ。
2004/1/22 (木)
■ エヴァンゲリオン 3 巻 [dvd]
- 『NEON GENESIS EVANGELION vol.03』
(Media:
)
これがカミさんからの誕生日プレゼントってことで。
ちなみに17 日の 1、2 巻[2004/01/17/17 @topic2]は自分で購入した事になった。
そうなった経緯は。
1、2 巻の支払いは自分がやっていたのがよくなかった。
後日、
「はいプレゼント」
と「すっ」とテーブルに \5 k 差し出された。
つぶさにわたし曰く、
「なまなましすぎるわ!それで 3 巻買ってこい!」
ってな感じ。お互いかなりウケた。
EVA ゲットした事を Obe 氏 がキャッチしメールをよこしてきた。
EVA 実写版[aintitcool.com]の存在を知る。
「作者自身の作品が目指す方向性にやや疑問があるものの、マットな色合いがオリジナルにない味を出している。」
ホビー雑誌の感想っぽく。
■ amazondvd.rb [nDiary]
最近 amazondvd.rb[double-red.net] について思うことがある。
- 出力に飽きてきたので変更したい
- weather.rb[double-red.net] みたいにテンプレート使用したい
ってな事。
しかし、存在しない項目に関しては表示しないようにしてたり、前後の表示有無の関係をみて区切文字を制御してたりするので、これらをテンプレートで実現するためには一工夫いりそう。
アイデアはある。漠然と。近いうちにさわってみるか。
2004/1/25 (日)
■ 無限の住人 15 巻、咆えろペン 10 巻 [book][shopping]
ガソリン入れついでに購入。
- 『無限の住人 15 (15)』 (Media: 本)
ISBN: 4-06-314337-6【bk1 / amazon / 紀伊國屋】
おぞましいな。
- 『吼えろペン 10 (10)』 (Media: 本)

- 【出版社: 小学館(サンデーGXコミックス)】
- 【著者:島本 和彦(著)】
- 【発売日: 2004/01/19】 【価格:\560】
- 【エディション: コミック】
ISBN: 4-09-157030-5【bk1 / amazon / 紀伊國屋】
第 37 話の出だしはよかった。
■ amazondvd.rb 、そして amazon_shop.rb [nDiary]
気になってるところ[2004/01/22/22 @topic3]を改善すべく久しぶりにいじった。
めんどい。:-)
気に入らないソースを書きなおしているうちに気が変わって、"本"に対応させた。
今まで書誌情報は not さん[cds.ne.jp] 作の amazon.rb[cds.ne.jp] 自前改良版を利用していたのだが、結局同じ出力フォーマットになっちゃっていたんで統合してしまった。
amazon[amazon.co.jp] の商品すべてに対応できてしまうので、名前も amazon_shop.rb(*1) へ変更。
amazondvd.rb[double-red.net] は v.2.21 で凍結しておく。
本日から運用開始。しばらくテスト。
ん?一歩さんから微妙に反応[s5.xrea.com]?
ユーザが用意しなければいけないような外部モジュールは基本的に利用しない、というスタンスがあるんで、amrita やら erb やら使う気はありません。使った方が実装が大幅にラク、とか、高速、とかになれば考えますが。
典型的な置換でゴリゴリ、みたいなのを考えてました。
アイデアも、テンプレート内で若干の融通が効く書式にするくらいのもので泥臭いものです。
2004/1/27 (火)
■ amazon_shop.rb [nDiary]
リリース。
amazon[amazon.co.jp] が取り扱っている以下の商品を利用可能です。
- 本(洋書含む)
- エレクトロニクス
- ホーム&キッチン
- ミュージック(CD)
- DVD/ビデオ
- ソフトウェア
- ゲーム(PlayStation/PlayStation2/GAMECUBE/Xbox/GameBoyAdvance など)
いいわけもできないほど not さん[cds.ne.jp]のアイデアをパクリまくっているのでリリースを躊躇していたが、成果物はわかちあいましょう、ってことで許してもおう。:-)
以下、パクリ。
- キャッシュにyaml[sourceforge.net]を利用する。
あえてみぐるしいいいわけを。
amazon.rb系はただのtab区切りでそれが何の項目なのかを示すキーの無い所が怖いのでした。一個でもパラメタを増改築すると全部ぐにゃぐにゃみたいな。
cite:http://ippo.s5.xrea.com/diary/s_d200401.html#d26_t3
この懸念を打破し、みやすいキャッシュを目指すとこれが一番簡単な気がするので。
fortune.rb[double-red.net] で採用してそのうまみがわかりました。
で、説明。
- ソース内コメントを一読ください
以上。:-)
以下はソースコメントにもあるのですが amazondvd.rb[double-red.net] 利用者で、amazon_shop.rb[double-red.net] を利用しようという方への簡単な補足説明。
amazondvd.rb[double-red.net] の機能を踏襲した上位互換フィルタです。
これは何を意味するかというと、
- ndiary.conf の設定をひきつぎます。特に変更するような追加設定項目は今のところありません。
- 書式も同一です。過去の日記を書き直す必要はありません。
- amazondvd.rb のキャッシュがそのまま利用可能できます。amzcacheDVD ディレクトリの中身を amazon_shop ディレクトリへコピーすれば利用可能です。
- :AFTER_P から、:P, :UL, :DL に変更
というわけで、移行は比較的ラクかと。
以下、ToDo。
- テンプレート機能搭載
実は未実装。:-)
実装する前に"本"に対応する事に専念しすぎて一時的にパワーがダウンしたため。
対応しやすくなるための布石コーディングは施したつもり。あと必要なのはパワー。
キャッシュ形式が変更になったんで、
- sum_price.rb[double-red.net] を追随させる
事も早急に。
なお、
外部モジュールは基本的に利用しない
などとえらそうなこと書いて[2004/01/25/25 @topic2]ましたが、このフィルタは yaml.rb[sourceforge.net]必須です。
Ruby[ruby-lang.org] 1.8.x ユーザは用意する必要ないんですが、1.6.x ユーザはご自分でインストールください。
置いておきます。
amazon_shop.rb_040128[double-red.net]
参考までにキャッシュの中身をさらしておきます。
---
"日記記載日": "20040122"
"拡大画像URL":
"画像URL": http://images-jp.amazon.com/images/P/B0000A5B3I.09.MZZZZZZZ.jpg
"字幕":
"再生時間": " 110 分"
"メディア": DVD
"解説": "一大ムーブメントを巻き起こした大人気アニメシリーズのDVD化第3弾。デジタルニューマスタリングを施し、ドルビーデジタル5
.1chを加えて、高画質、高音質を実現。第9話「瞬間、心、重ねて」から第12話「奇跡の価値は」までの全4話を収録している。<BR>"
"スクリーンサイズ":
"スペック":
"キー": DVD
"サイト":
"画像高さ": 140
"出演者/著者": "<a href=\"/exec/obidos/search-handle-url/index=dvd-jp&field-actor=%E7%B7%92%E6%96%B9%E6%81%B5%E7%BE%8E/ref=s
r_sp_dp_2_1/249-6120765-1531502\">緒方恵美</a>, <a href=\"/exec/obidos/search-handle-url/index=dvd-jp&field-actor=%E4%B
8%89%E7%9F%B3%E7%90%B4%E4%B9%83/ref=sr_sp_dp_2_2/249-6120765-1531502\">三石琴乃</a>, その他"
"吹替え":
"音声":
"キャッシュした時間": 2004-01-28 00:52:19.624246 +09:00
"画像幅": 98
"解説者": "内容(「DVD NAVIGATOR」データベースより)"
"枚数/サイズ":
"商品タイトル": "<a href=\"http://www.amazon.co.jphttp://www.amazon.co.jp/exec/obidos/tg/detail/-/dvd/B0000A5B3I/tech-info/r
ef=ed_tecmore_dp_1_2/249-6120765-1531502\">NEON GENESIS EVANGELION vol.3</a>"
"メーカー": " キングレコード"
"音声仕様":
"監督": "<a href=\"/exec/obidos/search-handle-url/index=dvd-jp&field-director=%E5%BA%B5%E9%87%8E%E7%A7%80%E6%98%8E/ref=sr_sp
_dp_2_3/249-6120765-1531502\">庵野秀明</a>"
"発売日": 2003/08/27
"価格": "¥3,800"■ amazon_shop.rb テスト [nDiary]
(@ISBN:4-0874-7349-X)
(@ISBN:0-4392-0352-X)
(@ASIN:B00004OCOF)
(@ASIN:B0000E2XA5)
(@ASIN:B0000DZ4YO)
- 『R.P.G.』 (Media: 本)

- 【出版社: 集英社(集英社文庫)】
- 【著者:宮部 みゆき(著)】
- 【発売日: 2001/08】 【サイズ: 16 cm】 【価格:\500】
- 【エディション: 文庫】
ISBN: 4-0874-7349-X【bk1 / amazon / 紀伊國屋】
- 『Harry Potter and the Sorcerers Stone』 (Media: 洋書)

- 【出版社: Scholastic Paperbacks】
- 【著者:J. K. Rowling】
- 【発売日: 2000/11/01】 【価格:\8,367】
- 【内容(「BOOK」データベースより)】
- ハリー・ポッターは孤児。意地悪な従兄にいじめられながら11歳の誕生日を迎えようとしたとき、ホグワーツ魔法学校からの入学許可証が届き、自分が魔法使いだと知る。キングズ・クロス駅、9と3/4番線から紅色の汽車に乗り、ハリーは未知の世界へ。親友のロン、ハーマイオニーに助けられ、ハリーの両親を殺した邪悪な魔法使いヴォルデモートとの運命の対決までの...
ISBN: 0-4392-0352-X【bk1 / amazon / 紀伊國屋】
- 『OXO グッド・グリップス ナイロンレードル(大)』 (Media: キッチン用品)

- 【メーカー: OXO】
- 【価格:\945】
- スペック
- 「誰にでも使いやすく」という考え方で作られた、ニューヨーク生まれのOXO(オクソー)グッド・グリップス
- ナベをキズつけない、200℃耐熱ナイロン
- 食器洗い機使用可能
- 『SONY CLIE PEG-TJ25 B (ブラック)』 (Media: PDA・電子辞書)
- 『3DオンラインRPG リネージュII スターターキット-オープンβテスト・バージョン-』 (Media: ソフトウェア)

- 【メーカー: エヌ・シー・ジャパン】
- 【発売日: 2004/02/10】 【価格:\3,129】
- スペック
- CPU:Pentium III-800以上
- 対応OS:WindowsXp
- メモリ:256 MB以上
(...)
2004/1/29 (木)
■ yaml キャッシュについて [nDiary]
一歩さんより[s5.xrea.com]。
特に試行錯誤があっていきついた結論でもありません。
yaml って何、ってところから出発。
- YAML を Ruby で使う[namikilab.tuat.ac.jp]ってサイトにいきつく
- オブジェクトを保存する Marshal ってものもあることを知る
- YAML は Marshal で表現できるオブジェクトが自由に表現できるらしい
- Marshal でキャッシュすることを試す(weather.rb[double-red.net])
- 実際に使って(fortune.rb[double-red.net])みたり、サンプル[sourceforge.net]を追う
- なんかよさげ
で到達、といったところですか。
そんなこんなで文字コードが unicode だった事も知らず。
あれ、でも自分のとこでは Shift_JIS ですね。ソース内の文字コード依存なのかな?
やってみるか。
#!/usr/bin/env ruby
require 'yaml'
cache_file = "yaml.cache"
$KCODE = "e"
str = {"ほげ" => "ふう"}
cache = File.open(cache_file,mode="w")
cache.write(str.to_yaml)
cache.closeふむ。どうもそのようだ。
ソース自身の文字コードが utf-8 なら出力 yaml ファイル内文字コードは utf-8。
euc なら euc、sjis なら sjis。$KCODE は無視されている様子。
ちなみに文字コード判別は、emacs[gnu.org]の自動認識利用の手抜き。
それはともかくとして、所望の動作ができて人間が読みやすければよかったのです。
もともと自分のために作ったのだのでキャッシュは見やすさ優先です。
・項目名を日本語←→英語名にわざわざしてる
・データ内のhtmlタグ類を結構そのまま残してる
・更新日時を項目に入れてる(File.ctimeとかを使ってない?)
・日記記載日を項目に入れてる
cite:http://ippo.s5.xrea.com/diary/s_d200401.html#d28_t2
「項目名を日本語云々」ってのはそれが要因ですね。情報も日本語だし。項目も日本語がよかろう、と。
「データ内の html タグ類云々」は、ある程度冗長にとっておいたほうがあとあと都合がよかろう、と。大は小を兼ねる、は結構好きな言葉です。
「更新日時を項目云々」は、えーと、File.ctime を思いつかなかっただけ。:-)つけくわえるならば、File クラスを使うのが実は苦手だから。記憶にないけれど、ファイルを扱うことにトラウマがあるようです。:-)
「日記記載日を云々」は、買った日や紹介した日を知りたかったからつけただけです。日記からキャッシュ(商品)は追いやすいけれど、逆はやや面倒だったんで。
あ。今とつぜん思ったんですが。
結局やってることは html から情報の抽出だので、
キャッシュファイルって、amazon の該当ページまんま保存してもいいのでは?
これならブラウザでまんま見ることができるし、情報抽出を間違っても再びキャッシュすることなくフィルタ内を改良するだけで済む。キャッシュの形態を何も考えなくていい。
ユーザ側からすれば、キャッシュの形態なんて見るようなもんでもないし。
反面キャッシュのサイズはややでかくなるな。どれどれ。
えーと。
amazon[amazon.co.jp] で 1 商品紹介ページサイズが約 60 kbyte。
1000 だと……、60 Mbyte。
amazon_shop.rb[double-red.net]のキャッシュは、約 1.1 kbyte。
1000 だと……、1.1 Mbyte。
うーんかなり違うけど、最近の HDD 容量を考えると 60 Mbyte はチマイ気がするな。ローカルだし。
ん?ローカル?
あ、onDiary[s5.xrea.com] のことを考えていませんでした。
サーバー上にキャッシュを置くような運用だとデカイとダメか。
管理しやすく、拡張しやすい形式ならば正直キャッシュはどんな形でもいいと思います。
ブラウザで目に飛びこむ情報のほうがユーザー(自分含む)にとっては重要と思います。
yaml キャッシュに対して要望、クレームがくれば対応しようかな、くらいに構えていたりいなかったり。
というか自分が幸せならオーケーとか。
そんなような。












つっこみなどありましたらどうぞ。e-mailアドレスは公開されません。