index

2007年 7月
              1
  2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
  30 31          
2007年 8月
      1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
  20 21 22 23 24 25 26
27 28 29 30 31    
2007年 9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

アレ

symfony のフォーム validate を YAML で書くと   ▽20070831a #プログラミング #PHP

なんかハマった,というか不可解だったのでメモ.

Symfony でバリデーションを YAML で記述する時の文法について, まぁそれ以外についてと同様にどーもドキュメントが不足しているのだが, 検索してみると何やら 2通りのパターンがあるようなのね.


methods: [post]

fillin:
  enabled: false

fields:
  password:
    required:
      msg: パスワード 1 を入力してください。

  password_confirm:
    required:
      msg: パスワード 2 を入力してください。
    sfCompareValidator:
      check:         password
      compare_error: パスワード 2 が一致していません。

↑こういうのと,


methods:
  post:
    - password1
    - password2

fillin:
  enabled: false

names:
  password1:
    required:     true
    required_msg: パスワード 1 を入力してください。

  password2:
    required:     true
    required_msg: パスワード 2 を入力してください。
    validators:   [ passwordConfirmValidator ]


passwordConfirmValidator:
  class: sfCompareValidator
  param:
    check:         password1
    compare_error: パスワード 2 が一致していません。

↑こういうの.

sfCompareValidator のあたりは明らかに前者の方が簡潔なんだけど, 混ぜると動かない.何なのコレw  ていうかそもそも 2種類の記法があるってどうなの.

そもそも namesfields とかどう違うんだろう?  検索しても一般語すぎてちょっと見つけられなかったので, 仕方なくソース読んだら, sfValidatorConfigHandler.class.phpconvertAlternate2Standard() というメソッドがあった.

どうやら fields キーが存在するか否かで, 存在したら Alternate フォーマット,しなければ Standard フォーマット, Alternate ならば Standard に変換するのがこのメソッドであるらしい.

検索すると Alternate で書かれた例が多い. 歴史は知らないが,おそらくこちらが先にあったフォーマットなんだろうな. で,fields の下のエレメント名の下に requiredsfCompareValidator とが混ざる, つまり予約語とユーザ定義名が混ざるのが気持ち悪いとか, そういう理由もあって Standard フォーマットに移行したのではないかと.

たださー,公式ドキュメントまで Alternate フォーマットで書かれてるってのはどうなの. むしろこっちが Standard じゃんよー. しかも Alternate の方が書きやすい. Standard が Standard なのはタテマエで, 実はみんな Alternate を使ってたりするんだろーか?w

しごっつ   ▽20070830a #日記

2:30 就寝,8:30 起床.

昼過ぎに p.CN の打合せ.あとちょっとデザイン変更が必要な模様.p.NP の残りをちゃちゃっと片付けてから,p.CN のデザインの枠組みを作成.

サイトトップのナビゲーション,こう,上部にメニュー帯があってマウス乗せるとサブメニューがドロップダウンするようなやつ.そのドロップダウンの位置がどーーーしてもズレるなぁと苦戦してたら,よく考えたら <ul> と <li> に margin:0 padding:0 を指定してなかった.わっふう.解決.


とかやってたら深夜になった.なんという働く機械.寝るわっふう.

にっき   ▽20070829a #日記

5:00 就寝,11:00 起床.15:00 から p.NP の打合せで大手町へ……

代車の軽自動車はさすがにちょっと昔の軽(丸目のトゥデイ)なんで,いやもう遅い遅い.乗ってる奴の重量とかはさておいて遅い.床まで目一杯踏んでも上り坂だとほとんど加速しません.

まぁそれはそれで,アクセル床まで踏む機会なんて公道じゃほとんどないんで楽しいのだけど,大して速度差があるわけでもないミニバンにやたら煽られるのはどうにかなりませんかね……こっちゃ左走ってんだからさっさと右から抜いてけっていうw


p.NP は今までと同じようなペースでみょいーんと仕事すれば大丈夫げな空気.デザインの大改築なんて話も出てるが,基本的には既存コードだけで対応できそうだ.ていうかある程度は対応できるように作った甲斐があったってもんだ.

p.FF は昨日の打合せでとりあえず 9月分の方針が決定したので,これもまぁみょにーんと仕事してれば対応できそう.

p.CN はデザインが出来てきた.これはちょっと遅れ気味なので,そろそろ本腰入れて取り戻さないといかんのう……


とかいいつつ大航海時代の続きを(ぉ メインで冒険者レベルを上げようと思いつつ,速い船に乗れるようになるために,ひとまず戦闘レベルを Lv.10 まで上げようかなーみたいな.


日曜日は NEXT のイベントで早朝 4:30 起きで富士スピードウェイの予定になった.今日が 4:30 寝で日曜日が 4:30 起きとかどうなのw 今夜辺りから就寝時刻を調整しておかねばな……

オンラインゲームは?   ▽20070828c #日記

GuildWars のハードモードはですね,C3「セベルケ大広間」のミッションのハードモードが,なんとゆーかもうどうにもこうにも難しい.

事がものすごくうまく進めばクリアはできそうなんだけど,Master クリアは相当に難しそうだ.で,これで難しいということは,ジェンニュール鉱山とかザーゴン要塞とかもう(ソロでは)完全に無理じゃね?って感じなんですよ.

というわけで微妙に挫折中.とりあえずレジェンダリーガーディアンは諦めてカートグラファとヴァンクィッシャだけ取るかなぁ,とか思いつつ,8月31日に GW:EN が始まるみたいなんで,それやってから考えようーみたいなー.


で,なぜか IRC でプレイしてるひとがいる「大航海時代オンライン」に手を出してみた.なんでもこないだのアップデートで「南米西側」が実装されたそうで,やっと「世界一周」が出来るようになったらしい.

っていうか今まで出来なかったの? というのが正直なところですがw

で,大航海時代の南米西側というと,インカ帝国.マチュピチュとかクスコとかが実装されてんじゃねーですかね? うほー行ってみてえ! という動機でプレイ開始.

船がえらく遅くて,街から街への移動だけでえらく時間かかるのに,目を離すと海賊に襲われただのネズミが積荷を齧っていやすぜ!だの……なんかもーちっとうまいプレイ中時間の使い方を模索中.

DSライト買った   ▽20070828b #日記

みっち邸に行くとほとんど家族一人ひとつずつくらいニンテンドー DS があったりして,まぁ特にやりたいゲームもないしあまり気にしてなかったんだけど,脳トレ系ゲームは単調なくせにスコア悪いと気が済まないのでついついハマってしまうワタクシ.

で,「らき☆すた」とゆーアニメが,原作はビミョーに面白くないがアニメはビミョーに面白かったりするので毎週見ているのだけど,こいつのゲームが DS の脳トレ系であるそうなんですよ.

と思ったらみっちが既に持ってた.聞くと,なんか普通の足し算引き算みたいのに混じって,とんでもねー桁の掛け算とか出てきて普通にソレ無理ですから!みたいになるらしい.

面白そうなのでやってみたが,確かにレベル上がってくると 3桁÷2桁の割り算とか普通に出てきて,それ 3秒とかで計算すんの!?みたいなw

で,どうもストーリーモードをクリアしてくとキャラ増えたりするみたいで,そうなると全キャラコンプしないわけにはいかないコンプリートマニアのあたし乙.でも他人のゲーム機で延々とやるわけにもいかんので,ひとまず DS ライトを買ってきた.

ゲーム自体はちょっと昔のゲームなんで BOOK OFF とかで探して買ってきた.そしたら実は買ってきたのが続編の方だったことがわかり,勢いで amazon でお急ぎ便で購入(ぉ


というわけでちょっと気分転換とかにちょこちょこプレイ中.とりあえず「ひたすらドリルもーど」が Level 10 で,「ひなた」以外のキャラが全部使える状態で,「ドラマもーど」の全シナリオのトゥルーエンドを全キャラで見ようと順番にプレイしているところだ.

あぁそうだ,あと,買った DS ライト,上下の液晶が妙に色が違うと思ったら,単に,ちょっとでも角度が付くとやたら変色するヘボ液晶を使ってるだけだった.DS しょっぼいなぁとか思ったら,どうも初期型はヘボくないらしい.まぁ実害ないからいいや.


それにしてもあたし割り算苦手すぎ orz

228÷19,とか瞬時に計算するにはどうしたらいいんだろう.どうしても「228 - 190 = 38,38 / 19 = 2,えーっと 12」みたいに脳内で筆算みたいにしないと答えを出せない.

やっぱもう 2桁 * 2桁の掛け算は全部暗記するくらいじゃないとダメなのかなぁ……

気が付くと日記を書いていない件   ▽20070828a #日記

何もない日々……ってわけじゃなかったんだけど,まぁあらかたは仕事してたり仕事してたり,みたいな.

後からこの時期に何をしてたか思い出せなくなっちゃいそうで,ログとしての機能を果たさなくなっちゃうのもちょっとアレだなぁ.

元から他人が読んで面白いことを書いてるでもねーので,まぁただの日記でも普通に書くとしようかね.あと仕事のログとかも(自分だけにわかる程度で)書いておくとするか……

S25R というか taRgrey   ▽20070815a #コンピュータ #postfix

ちょっとダラダラとサボってる間に世の中はどんどん進化しているわけですよ.やれやれ.

taRgrey - S25R + tarpitting + greylisting (tarpit + greylist policy server)

日々わんさか送られてくる spam(迷惑メール).メールサーバが受け取る前に拒否できればいちばん良いんだけど,受け取る前に spam かどうかなんてわかるわけないじゃん?

でもまぁ spam の一般的な傾向ってものはあるわけで,そいつを捉えて可能な限り拒否る,って方向性なんだな.正確には「拒否る」のではなく「送信を諦めるのを待つ」みたいな.


まず S25R ってやつ.spam のほとんどは「真っ当に根を降ろしてないサーバ」,つまり,ドメイン名の逆引きが出来なかったり,動的に割り当てられて恒久性の薄いドメイン名を持つサーバ,から送られてくるという特性を利用して spam 判定する.


次に tarpitting.サーバがメールを受け取る時,まず相手から接続→はい接続 OK っす→相手の名乗り→OK→データ送る,という手順になるわけだが,この最初の「接続 OK っす」を返す前にちょっと相手をじらす.

この返答待ちは,サーバ作る人向けの規定で「5分は待て」と決められているので,真っ当なサーバはマダーしながら 5分は待ってくれる.が,spam 送信する人はできるだけ多くの相手にメールを送信したいわけで,あまり反応のトロいサーバはさっさと切っちゃう事が多いらしい.つまり,そこで切っちゃうサーバは spam を送ろうとしていたんだ,と考えられる.


最後に greylisting.tarpitting とよく似た話だが,真っ当なサーバがメール送信しようとして「今ちと受け取れないから後でまた送って」と言われたら,きちんと一定時間待ってから再送信してくる.が,spam を送りたい人は逆に「確実にある個人に送達する」必要はないため,一時的にでもダメだったら諦めて再送信しないことが多い.

そこで,こちらのサーバはまず試しに再送信してねーと返して受け取りを断っちゃう.で,後でまた再送信してきたら,熱意を認めて受け取ってあげる.再送信してこなかった奴が spam だというわけだ.


というわけで,これらのテクを順番に使って,「spam はできるだけ受け取りたくない」「でも spam じゃないものを間違えて受け取り拒否するのはイヤ」というのを何とかして実現しようというのが,この「taRgrey」なわけなんですね.やっとここまでたどりついたw

冒頭のリンクのページにフローチャートがあるが,うちで仕込んだ設定はこの「tarpit&greylistモード」の方.

まず S25R でチェックして,真っ当なサーバっぽかったらすぐに受け取る.そうでなかったら tarpitting でジャブかまして,それでも送ってくるようなら greylisting する.それらを全て乗り越えて送ってきたら熱意を認めて受け取る.


となると,本当は真っ当なサーバなのに S25R に引っかかってしまうサーバがある場合,tarpitting と greylisting を乗り越えないとメールを受け取ってもらえないという,けっこう面倒なことになるわけだが……さぁそういうサーバがどれくらいあるのか.レアケースである,とされているがどうか.

ちょっと数日間ログを監視して調べてみないとな.

切ってみた   ▽20070814a #園芸 #ハバネロ

手袋,三角巾でマスク,専用ナイフに専用まな板.

とりあえず手ごろなサイズに切り刻んで,二重の袋に入れて,これを冷凍保存しておく方向で.冷凍してカチコチになったら,素手で触っても平気になるかな? 油断してると溶けてきて大変な事になりそうだが,短時間なら……

というわけで,必要な時にはこのハバネロピースを2~3個ずつ取り出して使えばよかろう.便利便利.まだ使ってないけどたぶん便利.


それにしても綺麗なオレンジ色で,平和そうな色してやがんなこいつw ジャムとか作れそうに見える.作ったら間違いなく殺人兵器になると思うが.

手袋は普通の使い捨てビニール手袋を使ったんだけど,ちょうどこの手首側の端のあたりの皮膚に少しだけ虫刺され痕みたいのがあって,ビミョーに接触してしまったらしく,切ってる間中ずっと痛かった.

あと終了後に手をよーーーーっく洗ったつもりだったのだけど,額の汗を拭いたら手の触れた箇所がカーッと熱を帯びてヤバかった.

どんだけ劇物なんだよこれwww

ぱっきゃらまど   ▽20070813a #日記

何かあの童謡の.クラリネットが壊れて音が出ないとかそんな内容の歌のやつ.昨日,お子様たちが歌ってたんだけど.

前半でクラリネットがどうこう言いつつ,Cメロでいきなり「オー パッキャラマド パッキャラマド パオパオ パパパ」ですよ.何よこれ.「パオパオ」ってクラリネットの音? ていうか「パッキャラマド」って何?


てことで調べた.

フランス語で「au pas caramades, pas caramades, pas au pas au pas pas pas」だそうです.「pas」は「歩く」,「au pas」で「一緒に歩く」,「caramades」は「仲間たち」くらいな意味らしい.

最初の「オー」は感嘆詞の oh! じゃなかったのねw それにしてもフランス語の末尾の子音の発音しないっぷりは徹底してますな.にしてもそんな pas pas 言わんでも.

というわけで意味は,仲間たちよ共に歩こう,歩こうよ仲間たちよ,歩こう,共に歩こう,共に歩け! 歩け! 歩け! 泣いたり笑ったりできなくしてやる! ジジイのファックの方が気合入ってるぞ! 地球上で最下等の(ry


しかし英語で camarade とかありそうでなさそうな.調査.

ca・ma・ra・de・rie ━━ n. 友情, 同志愛.

へー.知らん語だなぁ.普段目にする英語のほとんどはコンピュータ関連だから「同志愛」なんて出てこないもんなぁ……


さらに祖語を調べようとして Wikipedia で「ラテン語」とか項目を読み始めるとキリがないので,ひとまず amazon で「英語の語源事典―英語の語彙の歴史と文化」とか見つけた本を発注して寝るとしよう.

収穫   ▽20070812b #園芸 #ハバネロ

ハバネロさん.めっさ取れた.

ひとつでも人を殺せるアイテムがこんなに……! 国をも……取れる……ッ!


大きいのとか小さいのとか,結構サイズがバラバラなので,参考までによくある食卓塩の容器と並べて比較してみた.

大きいのは,ちょっと小さめのピーマンというか色的にはパプリカ.小さいのは……イチゴくらいな?

こんな感じのがまだ 10個だか 15個だかぶら下がっております.こいつは楽しみだ.

「銀英伝」の DVD-BOX ですって   ▽20070812a #日記

「銀英伝」45枚組DVDボックス、12月発売

ぬぉぉ.ほしい……てかもう買っとくか.やむを得ず.

わりとヤフオクとかでも入手可能な気がしなくもないんだけど,こちらは新品ですし.ていうかヤフオクで買ってもクリエイタに金が入らない気がするし.やっぱ買いましょう.

というわけでお金ためとこう.うんうん.

パーツが壊れた   ▽20070808c #PC

なんか PC の置いてある方から「カコン! カラン!」とか音が聞こえた気がしたんだけど,その後特に異音があるでもないからちょっとそのまま PC 使ってたら,いきなり M/B の温度警告ビープが.

慌てて Tyan M/B Monitor を見てみると,CPU 温度が 54度.前に使ってた AthlonMP 2800+ ではアイドル時の温度だが,今の Athlon64X2 4600+ では異常事態だ.

とりあえずその時に再生していたニコニコ動画を停止したら温度が 40度くらいまで下がったが,再生開始したらまたすぐ 50度を超えてきた.CPU に近い箇所のファンの動作が不良っぽい.

ってことで机の下に潜り込んで机の裏側にある PC を開けて見てみると,CPU ファンが緩んで斜めになってた.あーこりゃダメだw

フックが外れただけかと思ったら,どうもフックを引っ掛ける箇所そのものが壊れて取れてるようだ.さっきの音はこれかー!


というのが昨日の夜.ひとまず朝イチで横浜のヨドバシに行って,AM2 用のリテンションってのを買ってきた.

ちなみに壊れたパーツはこんな感じ.

なんでこんなトコが壊れるんだろう……

「力をかけすぎなのでは」と言われたんだけど,サイズ製 AM2 フックを使ってみるとわかるがここは力がかかる場所ではない.テンションはここに縦方向にかかるのだけど,人間の力はフックを横方向に動かす時にかかるわけだから.

まぁ ANDY クーラが M/B 付属のリテンションガイドの想定より重かったってことなんだろうなぁ.でもショボいなぁ.Tyan さんはもーちょっと丈夫なパーツを使うべき.

セミが羽化してました   ▽20070808b #日記

なんかブロック塀で.

セミの幼虫は地中で木の根から樹液を吸って生きてるわけで,ということは羽化もそういう木のある場所で行なわれるのがスジってもんだが,この子は最寄の木から 3m 以上ある塀で羽化しておりました.けっこう移動すんのね.羽化の最中は完全に無防備なんで,逆に,ある程度そういう「敵の集まりそうな場所」から離れるようにしてるのかもしれん.

アップで.

アブラゼミなので羽に色が付きかけてます.透明な羽の種(ミンミンゼミとかクマゼミとか(クマゼミはうちの辺りにはいないけど))では,この羽の筋が青っぽく光ってすっごくキレイなんだけどねー.


なんか今年は梅雨が遅かったせいかセミが鳴くのも遅い気がするが,ここ数日でやっと一日中セミの声が聞こえるようになってきた.

夏だねぇ.

ハバネロさんが見事なオレンジ色に   ▽20070808a #園芸 #ハバネロ

なったのは10日くらい前(ぉ

写真を撮ったけどそのままにしとったわ.てへ.

いやそれにしても見事なオレンジになるものだね.とりあえず数日置いてから収穫.そんで他の実もいまどんどん色が変わり始めているところ.

5個ほども収穫したら,ある程度のサイズに切って,冷凍しておくつもり.


で,ハバネロさんはいいんだけど,ゲキカラさんが.

なんか枯れてきたw

うーん,寿命なのかしら.まぁ苗で買ってきて植えたらあっという間に実がついたし,そういう種なのかなぁ.横のうまから唐辛子さんはまだ全然元気だしねぇ……

VFWでBフレームとスレッド数を増やすと   ▽20070807a #コンピュータ #動画圧縮

TMPGEnc4XP から VFW インタフェースで x264 + raw PCM の AVI を出力して, それを faac で AAC エンコして gpac の MP4Box で mux して .mp4 ファイルを作る日々.

先週はいつものモータスポーツに加えて NHK「失われた文明 インカ・マヤ・アステカ」とかも録画したもんで, 週間 23本,エンコ時間が合計で 40時間くらい? とかすごいことになってました. 今週は今週で BS-i でバレーボールワールドグランプリ予選があるんで, こいつを HD 画質に近くエンコすると 2時間番組 1本に 13時間かかる罠.

ここまで読んで「バカじゃね?」と思った方は,正常です.お帰りください(ぉ

というわけで,Core 2 Quad Q6600 がいい感じに値下がりしたわけですよ. 巷では「4コアなんて使い道ない」「2コアで充分」といった声も聞かれるわけですが, エンコ厨には何コアあっても使いきれないぜ! たぶん!

んが,ここで問題になるのが,上記の「VFW インタフェースで」の部分. こいつはエンコ時に「1フレーム読んで 1フレーム書く」という動作をするのだが, 複数コアの CPU を駆使するために複数スレッドを使ってエンコすると問題が発生する. 前後のフレームデータを参照しなければならないために入力フレームを同ターンで出力できないので, 最初の数ターンは何も出力しないでおいて,最期に帳尻を合わせるように動作するのだな. ところが VFW は入力が終わったら出力の読み取りも終えてしまうので, 結果その帳尻合わせができず,後ろの方のフレームが欠落してしまう.

で,4コア CPU を活用するためにスレッド数を増やせば,その分だけ多く欠落してしまう. ちなみに B フレームの連続数を増やすと同様に欠落が増えていってしまう. 圧縮率を上げつつ速度も向上させたい場合は,とにかく欠落が増える方向になってしまうわけだ. 今は「末尾のほんの数フレームが欠落してもまぁ仕方ない」と無対策でエンコしているのだが, 欠落量が増えてくるとそうも言ってられん.

というわけで,フレーム欠落対策をしっかりするために, まずはどのくらい欠落するのかをチェックしてみた.

フレーム欠落数 スレッド数
1 2 4
Bフレーム数 0 0 1 3
1 1 2 4
3 3 4 6
5 5 6 8

欠落数 = ( スレッド数 - 1 ) + ( Bフレ数 ),というとても明快な式が得られる模様. てことは 4コア CPU で 8 スレッド動かして B フレ 5 にすると 12 フレーム欠落, 時間にしておよそ 0.4 秒.とても無視できる量ではなくなるなぁ.

まぁそんなわけで,ビデオに関していえば,TMPGEnc でカットする時にあらかじめ 12 フレーム多くカットしておけばいいのだが, そうすると今度は音声が 0.4 秒くらい長く入ってしまうことになる. raw PCM を AAC にエンコする前に,2ch * 16bit * 48000Hz * 0.4 == 76800バイトくらい末尾から削り取る必要があるな.

話がどんどん複雑になっていくのは,ひとえに TMPGEnc の CM カット機能が優秀すぎる上にカット情報を単体で出力できねーからです. それができればなぁ,普通に AVISynth とかでコマンドラインだけでエンコできちゃうのに. のにのにの.

index