肉ニラ炒めを作った.いい感じに激辛.ウマー.
本日のアレ.20040119-20040125 - Xia's
index
アレ
CATV で地上波デジタルを視聴しようとすると, 何やら画面が妙に小さく表示される,という現象が起こって,何これー? とか思ってたわけですが. PAZ さんトコ からリンクされてたページによると, これは「額縁問題」というらしい.
えーっとつまり……まずウチのテレビは 4:3 なので,16:9 の画像が送られてくると, 上下に余白(余黒だが)を作って表示する. が,ソース画像が 4:3 のものを TV 局が 16:9 として放映する際に, 左右に余白(これも余黒だ)を付けて放映しているのだな.
こんな感じ↓に画面が映る.
枠全体が 4:3 のテレビ画面だと思いねぇ. 水色の部分と白の部分を合わせて,これが 16:9 の画面. つまりテレビ局から 16:9 の画像が送られてくると, チューナは黄色いところに余白を作って表示するわけ.まぁこれは真っ当な動作. ところが問題なのは,テレビ局が,16:9 画像といいつつも水色の部分を余白にした 4:3 画像(白の部分)を送ってくる,と. 結果,枠全部のテレビ画面に対し,白の部分だけに画像がちんまり表示されることになるわけだ.
で,この白の部分の 4:3 に表示される画像が,16:9 の上下に余白を付けたものだったりすることもありうるのか. これは悲惨な出来事だ……っていうか 16:9 のテレビを買えって事でつか? 手ごろなサイズ&値段で,D-SUB か DVI-I と,S * 2 かコンポジット * 2 の入力を持った, チューナ内蔵の 16:9 モニタが出たら考えます.っていうか出ねえそんなの.くそう.
うちで加入してるケーブルテレビであるところの YOU TV であるが, 月に一度,番組表の冊子を送ってくる.まぁ普通はそうだと思うが.
テレビの見方ってのは実にまぁ人それぞれで, ただ流しておいて見るでも見ないでもなく放置する人もいるし, ピンポイントである番組だけを注視する人もいる. あたしはオタク気質でコンプリートマニアなので明らかに後者.
で,それだと何なのかというと……テレビを見るにも,まず先に「見たい番組」があり, それを全て録画して見落としのないようにする,という方式になる. その前に「見たい番組がないか探す」というプロセスが入る. それには「番組の一覧」が必須だ.
で,ここで冒頭の「番組表の冊子」に話が戻るかと思いきや,そうはいかない. 番組表冊子ってのは,ピンポイントで見たい番組を探すには手間がかかりすぎるのだ. だって grep 機能すらねーんだぜ.検索できねーっての. そういうわけで,あたしは ONTV JAPAN に登録して, 毎日ジャンルサーチによる「見たいかもしれない番組一覧」をメールで送ってもらっている. このくらいやんないと面倒なのだよ.やれやれ.
そんで,じゃぁ冒頭の冊子はどうするのかというと,捨てる(ぉ でも捨てる前に番組表以外の部分はざっと目を通す.何か新情報があるかもしれないし. 今月号も同様に目を通した……ら……
キタ━━━━━━(゚∀゚)━━━━━━!!
「5月から有料オプションチャンネルを追加」で,「フジテレビ 721 & 739」が追加ですヨ!? やっと! やっとかYO! あんまりおせーからスカパーのアンテナ買ってきて設置しちゃったYO!(笑) ……けどスカパーと CATV の切り替えが非常に面倒っぽかったので,全部 CATV でイケるならこれ幸い. 哀れなスカパーさんは 5月で解約の見込みで御座います.
しかしアレですな,スカパー導入の際にけっこう悩んだのですよ. スカパーを導入するなら地上波デジタルにも対応するスカパー 2 にすべきなのだろうけど, いかんせんチューナが異様に高価. YOUTV は地上波デジタルにも対応するし,BS デジタルも見れるし, 特に高画質とかエロチャンネルとか求めなければ YOUTV で充分で, ただただフジテレビ 721 が(より正確には F1 中継が)見れないのだけが欠点. どうしよう~ってことで,スカパーは長く使わずいつの日か YOUTV が 721 放映に対応するだろうと目論み, あくまで腰かけとして安いスカパー 1 でその上セット契約せず 721&739 のみの契約にした. 判断は正しかったぜイエー.
xBBS に「半角バックスラッシュ + 数字」の書き込みをすると, その部分が消えてしまう,というのがあった. どう見てもダブルクォート文字列のエスケープシーケンスが有効になってるっぽくて, バグやセキュリティホールが裏にあったりしそうでイヤな感じなので,調査.
で,まず DB の中を見ると……あれ,フツーに登録されてる.
ってことは表示系か……と調べてみると,
どうやら PEAR の HTML_Template_IT クラスでは,
setVariable()
する文字列に上記のようなバックスラッシュ文字列があると,
それをエスケープシーケンスとして解釈してしまう模様.
おーい.テンプレートエンジンが与えられた文字列を変更してどーする.
で,上位互換エンジンの HTML_Template_Sigma テンプレートでは, 上記の現象は起きない. めんどくせーから全部を Sigma で統一しちゃいました(ぉ ってことで,バックスラッシュもフツーに使えるぜイエー.
こないだチノパンを 1 着しか買えなかったのだが, 今日は在庫があったので 2 着をゲット.これでしばらく安泰.
電子レンジおっけーの樹脂製耐熱お椀と,同じく樹脂製のれんげスプーン. 社でマジスパレトルトを(日常的に)食うための準備が着々と. ついでに日用品売り場に売っていた「すべり止めマット・すべりま専用」をゲット.
湿布が切れたので「ハリックス 55 ID」24枚入りを 2 箱. 「55」と「ID」の意味は未だ不明. ……なんて書いたら調べなきゃならないじゃないか! あーもーめんどくせーなー(ぉ えーっと調査. 湿布に使用されている「高含水性基剤」の形式番号が「PAC-55」で, ID ってのはインドメタシンの省略というか記号と思われ.あぁ納得納得.
レッスン 41 もクリアだよー.これで全レッスンでゴールド取得.ただしコーヒーブレイクは除く(笑)
いやー,けっこう苦労したな,レッスン 41 は. ポイントは,こんなにたくさん.
- 最初のシケインで早めにブレーキングしてスムースに加速に移る
- その後の下り右コーナはうまく減速しつつノーズをインに向けて,加速しながら抜ける
- 最初の路地エリアは,途中の 2速シケインまでは可能な限り速度を殺さず突っ込む
- 2速シケイン後は,コーナ前に左足ブレーキで向きを変えつつアクセルベタ踏みで通過
- 上りのヘアピンは,加速エリアを長く取るため,とにかく早めに向きを変えることを優先するラインで
- 上りの路地コース途中,最初の左は 5速で若干減速しつつ突っ込む
- その後のきつい左は,コーナ前に 3速まで落として入る(直前まで粘ると路面のねじれでリアが滑って壁に当たる)
これら全てのポイントを決めると 1:35.000 を切れると思うが, とりあえず今回の記録では 1:36.200 くらいまで攻めることができた.
これで,GT4P はコンプリートってことにしといて, Formula One 2002 に戻るとしようか.ミナルディでワールドチャンプを狙うのだー.
全レッスンクリアを自慢しようと思って,みっち邸に電話したんだけど, みっちはまだ寝てた.電話に出たふゆが「寝っぱなし」と言っていた(笑) まぁそれはそれとして(ぉ,辛い鍋が食いたい,ってことで,みっち邸に行くことに.
で,まぁ,みっち邸に行って,買い物に行き,鍋を食ってゲームしてマンガ読んで帰る.
そういえば,今日は帰りにふと思い立って C1 - 11 - B - K6 という無意味ルートを使用してみた. K6 ってのはアレだ,湾岸浮島のアクアライン辺りからまっすぐ川崎市街に向かう,建設中の首都高. 建設中なので,とても中途半端な位置までしか開通していない. この K6 の高架の下にはサービス道路が走っていて,道路以外に何もないような環境なので, まぁつまりここで首都高を使う必要性は全くない.
でも,乗ったことがない道路なのでとりあえず一度は走ってみようか,とかゆー. 一応は首都高神奈川線なので,お値段は¥600. 距離対値段の比でいうと,横横もびっくりの高価格道路といえよう. まぁ ETC 使用だと¥300 で済むという話ではあるが.
で,浮島から乗って,まーっすぐ走って,降りる. 他のクルマは 1台もおりません.こっち向きも,あっち向きも. あんまし誰もいないんで,もう,走行車線にクルマ停めて立ちションとかしてても何も問題なさげ(ぉ
降りるところは,本線から脇に逸れて一気に数十メートルを駆け下りるのだが, この途中で ETC 割引の¥300 がカウントバックされるようになっているようだ. ここは高速から降りてくるところで速度も 60km/h くらいは出ていると思うが, 機器は正常に通信できている模様. まぁ ETC は通信機能自体は 100km/h くらいでも正常に動くとされているので, 60km/h で動作することに何の問題もないが, そうなるとやっぱし料金所の 20km/h 規制は遅すぎるんじゃねーの?って気がするなぁ…… まぁゲート棒とかあるからなんだろうけど……
姉上様が帰宅するのにばったり出会ったのだが, なんか,見るたびにカップラーメンを買い込んできているような気がするぞ. 指摘したら否定していたが,確か数日前に見た時にも大量のカップラーメンを手にしていたような. これが野菜とかだったら隠れて動物でも飼っているのかもしれんが(隠れる必然性はないが), カップラーメンじゃなぁ……隠れて人間でも飼ってるのか?(隠れる必然性が出来た)
マルティニカラーのランチァデルタインテグラーレでイタリア市街地を 1周. 試しに走ってみると 1'44.500 くらい.2度目は 1'43.000 くらい. ゴールドは 1'37.000 だそうで,あと 6sec 縮めないといかんのですか. コーナごとの攻め方を改良すれば 3sec くらいは縮むと思うんだけど,えー,あと 6sec っすか……
今度こそクリア.いえーい.
グランドキャニオンのグラベルコースをインプで 1周. うー,グラベルは苦手だ.ミリ秒を攻めるブレーキング勝負の方が楽しいよー.
遅くに帰って時間なかったので,あまりプレイしなかった.ので,クリアはしてません. や,「クリア == ゴールド取得」なので念のため.
ご飯を炊いて,鯖の水煮の缶詰でうまうま.
PEAR の DB モジュールで oci8 つまり oracle8i にアクセスしていたら,
なぜか getOne()
が動かない.
同じ SQL で prepare()
→ execute()
するときちんと動く.
あるいは,バインド変数を使わないで値を埋め込むと動く.
何これ.
またもや調査.うーんうーん.どうやら,DB/oci8.php
の
freePrepared()
の中で ocifreestatement()
しているのが良くないみたい.
どうもこの時点で statement だけでなくバインド変数まで free されてしまっているように見える.
これ oci8.php
のバグじゃねーのー?
や,oci8 としては仕様なのかもしれんけど,
実際,PEAR::DB
の機能として正常に動いていないわけで.
つってもこんな明白なバグが放置されてるとは考えにくいんで,
まぁここの環境とか oracle と liboci8 のバージョンとか,色々と絡むのかもしれん.
で,まぁ例によって DB/oci8.php
をいぢってしまえば解決なわけですが,
ここはひとつ,最近話題の MDB モジュールの方を試してみましょうよ.
幸いにも pear install コマンドが使えるようになったので導入も楽々だ.
で,導入っと.使い方は基本的には PEAR::DB
とほとんど変わらない.
$mdb = MDB::connect( 'datasource name' );
$hoge = $mdb->getOne( 'select hoge from moge where fuga = ?', null, array( $fuga ) );
PEAR::DB
と違い,
getOne()
の第二引数は,リザルトの変数型の一覧を渡すようになっていて,
バインド変数の一覧は 3番目の引数で渡すようになっている.
っていうか,ほとんどのメソッドではバインド変数を渡すことができなくなっている?
んー,query()
でこれが渡せないと,
insert 文とかを作るのがめんどくせーのですが.
いちいち prepareQuery()
→ execute()
しねーとダメですかそうですか.
パンフとかを収める紙のファイルがありますわね. いわゆる「クリアファイル」の紙バージョンみたいの. アレのことを「たとう」という……って話を同僚T氏がしていたのだが, 語源は知らないという.英語でも漢字でもない,と. なんで皆さんこういうのの語源を知らないまま語を使用できますカ!?
ってわけで調べてみました.知ってる人は読み飛ばしなさい. まず「たとう」の紙を「たとう紙(たとうがみ)」というらしいので, その辺で検索すると,和服を収納する際に包むための紙のことを「タトウ紙」と呼ぶらしい. ってことは和語なのだろーか. であれば,goo の国語辞典で検索.
〔「たたみがみ」の転〕 (1)詩歌の詠草や鼻紙などに使うため、畳んで懐に入れる紙。ふところがみ。懐紙。たとう。 (2)厚手の和紙に、渋・漆などを塗り折り目をつけたもの。結髪の道具や衣類などを入れるのに用いる。たとう。
あー,「畳み紙」の転語だったのか.なるほどなるほど.
「たたみがみ」から転じたとあるけど,これ,元は「たとみがみ」だったんじゃないかな. 「たとみがみ → たといがみ → たとうがみ」と. まず m が欠落して,次に連母音 oi が ou に変化ね. 「たたみがみ」なら「たたまがみ」か「たたんがみ」辺りになりそうだしな.
ところで検索中にすごくケッタイな画面を見たので保存しておこう.
なんだか,pear コマンドで install しようとするとエラーになる.
家や社サーバでは大丈夫で,社のローカルテストマシン( Miracle Linux 2.0,PHP-4.3.1 )でだけおかしいみたい.
pear install
しようとすると,
「Could not get contents of package "~~.tgz" Invalid tgz file.
」とか言われる.
ってことで調査してみますよ……
まず件のメッセージで grep -R 'Invalid tgz file' /usr/local/lib/php/*
とか実行.
メッセージは /usr/local/lib/php/PEAR/Common.php
にあるらしいです.
該当箇所をチェック.
$tar = new Archive_Tar($file);
if ($this->debug <= 1) {
$tar->pushErrorHandling(PEAR_ERROR_RETURN);
}
$content = $tar->listContent();
if ($this->debug <= 1) {
$tar->popErrorHandling();
}
if (!is_array($content)) {
$file = realpath($file);
return $this->raiseError("Could not get contents of package \"$file\"".
'. Invalid tgz file.');
}
えーつまり,$tar->listContent()
がエラーなのでこのメッセージになってるわけだ.
PHP の PEAR ライブラリは,バイナリとかではなく全く完全な PHP コードで書かれているので,
/usr/local/lib/php
からカレントにコピーしてきてやって,
そっちを好き放題にいじりつつデバッグ出来るのです.
この場合にはカレントに Archive というディレクトリを掘って Tar.php をコピーしてくる.
(include_dir はデフォルトで先頭に "." がいるのでこちらが優先して読まれる)
ってことで,ここんとこで print_r( $tar )
してみると,
どうも $tar->_compress_type
が none
になってるよ!
gzip 圧縮されてるのを素の tar だと思い込んで構造をゲット出来てなかった模様.
で,次に Archive/Tar.php の gzip 圧縮自動判定部分をチェック.
if ($fp = @fopen($p_tarname, "rb")) {
// look for gzip magic cookie
$data = fread($fp, 2);
fclose($fp);
if ($data == "\37\213") {
$this->_compress = true;
$this->_compress_type = 'gz';
$data == "\37\213"
って辺りがぷんぷん臭うですよ.
しかし確かに gzip のヘッダは 0x1F 0x8B なので,これ自体が間違ってるわけではない.
ここんとこの比較で何故か失敗してると見た.
で,アレコレ調査してった結果……
どうも "\37\213"
という表記で生成される文字列が,
その通りのバイト列になってないようだ.
さらに調べると,どうも 8bit 目が 1 の文字コードがシカトされて,
この文字列は "\37"
という文字列になってしまっているらしい.
何でだ? バグかと思って PHP-4.3.4(現時点で最新)をビルドしなおして確認したけどやっぱダメだ.
ま,とりあえずここんとこを直しちゃえば動くわけなんだけど.
if ($data == sprintf( '%c%c', 037, 0213 )) {
$this->_compress = true;
$this->_compress_type = 'gz';
これで動くようになった. や,なった,って,なんでこんなことになっちゃってるのかの原因が不明なんですが……(笑) なんかライブラリの方がおかしいのかな……うー他のマシンでこの現象が出ない…… マシン環境によるものなら,とりあえずこのマシンでは上記の問題は理解&解決したので, 放置しちゃおうかしらん(笑)
レッスン 38.JGTC のスープラで富士を 1周. ブーストメータがないところを見ると,これ 4.5lit. の 2003 モデルか. JGTC の 2003 シーズンは,スープラ直線番長,GT-R コーナリングマシン, NSX は色々とへろへろ,って感じだったわけですが…… そんなとこまで再現せんでも (; ´д`) いやマジで.JGTC の NSX で富士 10周というレッスンをクリアした人なら, このスープラの動きの良さにびっくりすることでせう.
ってことで,初回完走でゴールド取れちゃったので,コツも何もねーです(笑)
レッスン 39.Ford GT40 でニューヨーク 1周. コツとゆーか何とゆーか,あらゆるコーナでちくちくとタイムを詰めて詰めて…… 久々にけっこう苦労したレッスンであった. 直角コーナのセクションがタイムの詰め所. 特にセクション終わりの左左右左のトコ.
記録によると,既に何度も 68sec までは出してるんだよなぁ. ここから先が難しい……
まだ咳止まんねえ.
ランエボで筑波のタイムアタック. ランエボ MR,乗りにくいっす.アンダ強すぎ.アクセル踏むとドアンダ~,ブレーキ踏むとドアンダ~. でもアクセルをオフにすると異様に曲がるぞ.あー乗りにくい.
筑波の最終コーナのトコ,ゲームの特性で「4輪すべてグラベルに落ちないと脱輪とみなさない」というルールを悪用して, コースからピットロードまで使って R を大きく取って何とかクリア. ピットロードの入り口部分とコーナ出口近くの部分では,間にあるグリーンに入ると失格になるんだけど, 途中の縁石があるエリアでは突っ込んでピットロードに移れるのだ. しかし,これは邪道だよなぁ.でも他に最終コーナ攻略の方法が思いつかなかったぞ(笑)
今日は,社の同僚M氏が田舎から送ってきたカニを贅沢に用いて, カニ鍋にしたのでありました. といいつつ,あたしはカニを剥くのが面倒な上に節足動物を食べるのが苦手なので, カニのダシとエノキと豆腐だけ味わいつつ,缶詰のシーチキンに醤油をかけてご飯を 3杯.
レッスン 35 は,JGTC の NSX で富士 10周の間に 5台抜き. 富士はダンロップシケインがポイントですな. 思い切り手前で減速して,半円を描くように最終コーナまで加速を続けれるように走りましょう. あとサントリー(Aコーナ)は実は突き抜けてグラベル部分を走っても失格になりません(ぉ でもタイム的にはきちんと減速してコースを走るのと大差ない. 大差ではないけど上手にやるとタイムアップです(ぉ
レッスン 36 は,新型プリウスで省燃費走行でつくば一周. すぐにクリアできた.コツは,(1) 直線の立ち上がりでは容赦なくアクセルを踏む, (2) コーナはアクセルオフで惰性で曲がる. 特に最終コーナなんか半分くらいは惰性で行きます. これだけで燃費 0.5km/l は稼げる.つまり裏ストレートでは 9.5km/l まで燃料を使えるってこったね.
連日だけど今日は社の後輩M氏と. 昨日はリハビリということで極楽だったけど, 今日は虚空いきました.ええ.ポーク虚空にアジゴッチとミートローフ. 体調が良かったらしく虚空も全然おっけー.+150 くらいいけたと思われ. アジゴッチ,ご飯の方に乗ってくるんだったのね.驚きだわ. つまりゴッチ UFO + アジゴッチでタンパク質過剰摂取が基本技?