俺に「よこすか海軍カレーを食べる」ミッションが下った。 拒否権はないらしい。1日車運転して疲れてるんですけど俺・・・
横横はそうでもなかったが、現地が 観光客?でごった返し ていたのは予想外だった。横浜から40km圏内の観光地として自転車や車で何度も来たことあるけど、基本的にいつも閑散としていた。やはりGWは 「安・近・短」傾向 ということだろうか。
車で来てしまったが周辺道路は大渋滞。どこへ入れるか迷いながらグルグルしていたら時間ばかり過ぎてしまった。これなら最初の左折でダイエーへ突っ込んだ方がよほど建設的であった。

・・・・・・・・・・
・・・・・・・・
目の前には、出たいのに会計さえできなくて立ち往生する家族連れ、待ち席では 死んだ魚のような目でケータイを眺めるカップル 。
これはダメだ!こんなところにいるとダメになってしまう!
おそるべし横須賀クォリティ。多分普段がめちゃくちゃ空いてるから、店員がまともに教育されていないと見たな。
・・・・カレー屋さんって少ないよな。コレだけ混んでるのにドブ板横丁は閉店舗が目立つ。そうこうしている間にCoCo壱の並びで横須賀海軍カレー本舗が現れる。

ふむ・・・1Fはおみやげ屋さん、2Fがレストランなのね。
スペシャルビーフ1200円。ほほう、なかなかよさそうではないか。
カレーメンチ150円もつけてみようか。
味の方は・・・まあ食べられないこともない。 しかしボンカレーと大差ない。 バーグやCoCo壱で1350円も払ったらトッピング3種乗せられてしまうし バーグのほうがカレールーも美味しい。 この 大根だけ の量の少ないサラダを食んでいると、むしょうに涙がこぼれるのであった。
俺はこの十字架を背負って残りの人生を生きていこうと思います。
まあ2日連続で車で遠出したから、休息できてちょうどいいんだけどね。
[no image] BenQ 液晶モニタ グロッシーブラック E2200HD。 また19800円になってるな。 買いそびれた人はチェックだ。以前も書いたけど俺はすごぶる満足しています。HDMIあるしね。
誰得wwww
しかし 連休前にパンチェッタを仕込んでいた俺。
はっきり言って 面倒 であるが、以下のようになる。 おいしそうでしょ?
| パンチェッタ |
それでポトフを作るのである
| 春野菜のポトフ |
本来のポトフでは肉の丸のままで、食べるときに切り分けるのが慣わしらしい。が、 パンチェッタは生豚肉 。ベーコンらしき風体ではあるが火が通ってないととても危険なので、小分けにして良く煮てしまう俺。
| できあがり |
パンチェッタから良い出汁が出るようで、スープもおいしい。 そしてスープを良く吸ってトロトロになったキャベツもおいしいですな。
_ るぅ [パンチェッタ美味しそう…食べたい…]
_ ぱ [るぅ嬢何時に帰ってきてんだ・・・まだ遅いんか。]
連休中、外食中心の不規則な食生活を送っていたせいか・・・
夕方4時くらいからコーヒーでごまかしつつ、のたうちまわっていた。 マジ胃袋でかくなってる。ヤバイ。
Perlの件ではご迷惑をおかけしました。
こういう理解で宜しいんですかね。 脳みそスカスカの俺には辛い・・・
全体的な流れとしては、今まではソースコードさえ何の言語で書いていいかわからなかったなどの、不明確な部分を減らしていきましょう、ということなんだろうな。
生Perlで
<input type="checkbox" name="chk0" value="1" checked> アニメ・特撮
とやったものと、CGI.pmで
$q->checkbox(-name=>"chk0" -checked=>1, -value=>"1", -label=>'アニメ・特撮');
とやったものは 結果が違う のである。CGI.pmの方は以下のように化けるのだ。
|
原因はこういうタココードによるものらしい。 一応qw/:standard -no_xhtml -utf8/などと指定しているがロジックのバグなのでもちろん直らない。UTF-8フラグ周辺が正しくても関係ない。 文字表示に関してはCGI.pmは棄てで!(いや使うけどね)
ミスで記事消しちまった・・・まあいいや。
鬼作wwwwwwwwwwww
技術がすごい
Before...
_ ぱ [うーむ世の中進んでいますな・・・]
_ もぽ [$q->charset('utf-8')すればいいのに。 といいつつこれはこれで別の問題が発生するんだけど(例えばH..]
_ ぱ [名前が2バイト文字でないか、本文にhttp(1バイト)を含むとはじきますすみません。 >$q->charset('..]
今日は強烈に暑かった。普通に自転車こいでるだけでも汗がにじみ出たからなー。もう半袖マンでも指差されなくて済むのは助かるが(半袖マン?)
そこで自家製スムージー。凍らせた苺1パック、牛乳200ccをミキサーにかけただけ。
うまうまキーン

正直漫画としての旬は(引き伸ばしすぎて)とうに過ぎてると思う 「はじめの一歩」ですが。アニメは熱いでゴンス。 しかし体脂肪率5%未満のプロボクサーが20kg減量するのは壮絶やね・・・ 体脂肪率25%の俺 が20kg減量したのとは訳が違うぜよ(笑) 来週はいよいよブライアン・ホーク戦。
_ クマ三郎 [一瞬、「夏目過ぎる」って、どこのニャンコ先生かと思ってしまった。]
土日月と起きている間はプログラムばかり書いていたツケが・・・・
しかし。9時からまたPCに向かってひたすらコーディングとデバッグ。
気が付けば21時。あまりの空腹まる1日何も食っていないコトにやっと気づく。寝る時間も食う時間も惜しい。それぐらいとりつかれていた。
限界になると近所の松屋でメシをかき込み仕事へ戻る毎日。ある時・・・店を出ると雨になっていた。
[no image] 湾岸MIDNIGHT(41) (ヤングマガジンコミックス)(楠 みちはる)
言わずとしれた楠みちはるの長期連載。基本的に違法チューンドカーが題材なのだが、作者が書きたいことは人間模様なんだろうなと思いながら読んでいる。
これに、出てくる北見という偏屈チューナが、ときおり自分と重なるのよね。「悪魔のZ」を作り上げた伝説のチューナではあるが、仕事はうまくいかず家族も離散してしまうわけだ。
しかし彼は伝説を作り上げてはいるが、オレの場合は単なる
なので悲惨この上ない。
例によって 素人の妄言 なので生真面目にとらないように。 あ、使ってるSQLite3バージョンは3.3.8です。OSはLinux kernel-2.6.22.6。
組込データベースとしては最も有名なSQLite3。 非常に軽量かつ高速、しかもライセンスが パブリックドメイン なので、 市販されているソフトウェアや組込機器にも多数使われている。
ネットワークやユーザの概念はないけれど、ローカルファイルをデータベースに仕立て挙げることができ、 トランザクションの概念 もしっかりあるため、「ぶっちゃけ今書いた内容なし!(rollback)」 できたりするわけだ。自分で生ファイルを管理するとデータの一貫性を維持するのにすごい気をつかう訳だが、 SQLite3を使うとSQL文脈で記述することができるのでマジ便利。
「database is locked(5)」 。少しSQLite3を使うとこのメッセージを頻繁に目にすることになる。 「5」ってのはsqlite3.hの定数で言うところの SQLITE_BUSY に相当する。 要するに他のプロセスが使ってるから使えないってこと...らしいのだが... 頻繁過ぎるので 調べてみた。
データベースのテーブルtest1。
create table test1 (
id integer primary key,
text text
);
書き込み側プログラムb.pl(PerlでDBIとDBD::SQLiteを使った)
#!/usr/bin/perl
use strict;
use DBI;
use Time::HiRes qw( usleep );
my $dbh = DBI->connect(
'DBI:SQLite:dbname=/tmp/test.db',
undef,
undef,
{RaiseError => 0, AutoCommit => 0}
);
for (my $i = 0; $i < 1000; $i++) {
my $teststring = "$i*******************";
my $sql = 'insert into test1 values(null, ?)';
my $sth = $dbh->prepare($sql);
my $rv = $sth->execute($teststring);
$dbh->commit();
$sth = '';
print "$i\n";
usleep(30);
}
$dbh->disconnect();
読み込み側プログラムa.pl。
#!/usr/bin/perl
use strict;
use DBI;
use Time::HiRes qw( usleep );
my $dbh = DBI->connect(
'DBI:SQLite:dbname=/tmp/test.db',
undef,
undef,
{RaiseError => 0, AutoCommit => 0}
);
my $sql = 'select id from test1';
my $sth = $dbh->prepare($sql);
for (my $i = 0; $i < 1000; $i++) {
my $rv = $sth->execute();
while (my $ref = $sth->fetch()) {
my ($id) = @$ref;
}
print "$i\n";
usleep(30);
}
$sth = '';
$dbh->disconnect();
「読み込みは普段フリー(高速)だが、書き込みすると読み込みが待たされる」 はずだったのだが..... 上記の例だと読み込みが動き出すと 書き込み側のcommit()が全くできなくなる ようだ。
試しにa.pl, b.pl両方に以下の行を足してみる。sqlite3.hのsqlite3_busy_timeout()関数に相当する。 SQLITE_BUSYになる(エラーで返る)までの待ち時間をミリ秒単位で設定できるものらしい。
$dbh->func(15, 'busy_timeout');
すると例のエラーがでるようになった。 しかしb.pl側で....
DBD::SQLite::db commit failed: database is locked(5) at dbdimp.c line 218 at b.pl line 20.
なんとか「複数のプロセスのselectの合間に、insert/updateを実行する」ようにならないだろうか。 これができないと電子掲示板みたいなアプリはほとんど全く動かなくなってしまう。
a.plのループ内にcommit()を追加した。
while (my $ref = $sth->fetch()) {
my ($id) = @$ref;
}
$dbh->commit(); # ※これ追加
常識で考えればselect文のみであればDBには変更が加わらないのだからcommit()は全く不要...のはず(理解間違ってる?? )。 しかしなぜかうまくいく。 ソース本体を読んでないから断言はできないが、すごーーーーーーく 嫌な予感がするのは俺だけだろうか。 SQLite3は行ロックでもテーブルロックでもなくDBロック 、というのは 多分真実だとしても、その実装がセマフォではなく 本気でmutexのみ なのではなかろうか。 いやPerlのDBDが悪さをしているという可能性もあるけれども。テストプログラムをCで書いてみるべきかな....。
余談だがa.plのconnectをこうしてもうまくいく。
my $dbh = DBI->connect(
'DBI:SQLite:dbname=/tmp/test.db',
undef,
undef,
{RaiseError => 0, AutoCommit => 1} # ※ AutoCommitをON
);
なんだかな。本当かよー??という感じですが。
どんな仕事の中にも「アートな領域」というものが確実にあって 、 それがプロジェクトの成否や製品ヒットという結果の 生殺与奪 を握っているということだ。 こういうことを聞いた(読んだ)とき、多分100人中90人くらいは「企画」「デザイン」を思い浮かべ、 残りの7,8人は「設計」を思い浮かべるんじゃないか?
でも16,7年働いていて思うのは、大まかにいわれる「デザイン」というカテゴリだけじゃなくて、 原材料調達、物流、生産技術、品質管理、営業、ユーザサポート、に至るまでの あらゆる段階に存在する (のではないか?)と。
Life is beautiful:「戦略的OS」の開発がことごとく失敗している点に関する一考察とかおもしろいと思う。日本の失敗だとΣプロジェクトとかもありました。
経営者や官僚というのは(一部の例外を除き)現場から剥離しちゃってる訳だから、 こいつらは基本的に烏合の衆。何人集まっても何を考えても無駄なわけだ(まあ、官僚に関してはワイロさえひっぱれれば大成功、あとはどうでもいいのかもしれないが....)
「ウォークマンでiPodにはあっちゅうまに追い付くぜ」みたいなこと言ってた馬鹿社長いたよな。 実はiPodの差別化ポイントは電池外せない中国EMS生産のプレイヤー本体じゃなくて、 子供でも使えるiTunesの方だったりしたわけだが。あの環境で楽曲を管理しはじめてしまうと、 もう他のものには移れなくなる。
で、iTunesのUI(というかAppleのAquaヒューマンインタフェースガイドライン?というべき?)は 間違いなくアートの領域 なので、アーティスティックな素養を持たないメーカのソフトウェア技術者が工数仕事で作っても、絶対に越えられない壁なわけだ。 「機能」では越えられてもなー。まあソニーの場合はATRAC3の固執とか、CDに書き出せないとか、バグ入りプレイヤーやRootKitでPC壊してみたりとか、いろいろマズい部分もあったろうが、単純に言えば センスがなかった ということだろう。
「アートな領域」を持ってないモノは絶対に成功しない ということは..... 俺が寝食忘れてプログラミングしてもまーるっきり無駄なのかもしれないなと...いきなり正気に戻ったのが今日なわけ。 今さら確認するまでもなく 俺ってセンスないよな死のう ということなんだけれども(笑)
西澤さんが可愛すぎるうう (←興奮するな) ま、深夜帯に移ってからハヤテ自身はどうもパッとしないわけだが、サブキャラが盛り上がればいい的か。そもそも原作も全く進んでないしな(笑) [no image] ハヤテのごとく! 19 (少年サンデーコミックス)(畑 健二郎)
交流試合ならぬ 肉体交流しちゃったんですねわかります! (←興奮するな)
的場wwwwwww あとニャンコ先生ぶんなぐられてるwww
英語だと、単語はスペースで区切るという習慣があるので、単語の出現頻度を測定したりするのは非常に楽である。ところが日本語には単語単位の区切りがない。
そこで検索には「わかち書き」という字句解析がどうしても必要になる。字句解析といっても、やはり統計量を使わないといけないので、ちょうどかな漢字変換の逆を推定しながらやるようなものだ。大きなカテゴリで言えば、形態素解析(品詞分析)の一つの形態といえるのだろうか。品詞使わないだけで品詞の推定は必要という。だって単純に文字種の区切りで「わかつ」と酷いことになるからね。
しかし、使ってみると・・・
極少ない例だが これらが全て1単語として扱われる(笑) 。口語体の分析には辞書の洗練が不可欠とは言え、デフォルト状態がこれでは少々困ったことになる。
例えば、水道工事が全文中にただ1つしか出てこなかったとき、この単語で検索インデックスを作成すると 「工事」ではひっかからなくなる ということだ。
MeCab(和布蕪=めかぶ)は
MeCabは 京都大学情報学研究科−日本電信電話株式会社 コミュニケーション科学基礎研究所共同研究ユニット プロジェクトを通じて開発されたオープンソース形態 素解析エンジンです. 言語, 辞書,コーパスに依存しない汎用的な設計を基本 方針としています. パラメータの推定に Conditional Random Fields (CRF) を用いており, ChaSenが採用して いる隠れマルコフモデルに比べ性能が向上しています。 また、平均的に ChaSen, Juman, KAKASIより高速に動作します
ほほう? こんなものがフリーで使えるなんて! すごい時代になったものです。上記例を試してみよう。
これは素晴らしいですな。
ウチではkakasiよりダイブ遅いようです。2MBのテキストファイルを食わせた場合・・・
$ ls -l a.txt -rw-r--r-- 1 avivo avivo 2302525 2009-05-17 15:56 a.txt
かかし(2.3.4)の場合、
$ time kakasi -w < a.txt > b.txt real 0m0.378s user 0m0.344s sys 0m0.024s
めかぶ(0.98pre2+IPA辞書)の場合、
$ time mecab -Owakati < a.txt > c.txt real 0m1.701s user 0m1.452s sys 0m0.248s
マシンはXEON3GHzデュアル、メモリ4GBで
という結果がが!!・・・・いろいろな文章で試したけど、少なくともmecab -Owakatiがkakasiより高速ってことはないみたい。
もしかしたらバージョン0.98pre付近になって何か内部構造が変わったのかもね。流石にオレのおつむではアルゴリズムを追いかけることはできないが、kakasiではやっていないであろうと思われる未知語の推定などがあるはずだから、統計量をひくアルゴリズムが多少高速だからといって全体が高速にはならないんだろうなー?とか邪推。
それでもま、この正確性は棄てがたいのでMeCabをしばらく使ってみようかなと思っています。しかし・・・今まで作った辞書また作り直しかonz
チャットで他の面子に バファリン常食状態 とか言ったら笑われた。夕飯もそういえばまだだったな。
ゆっくり浸かる。風呂はいいねえ人類の産み出した(ry
頭痛も少しひいてきたようだ。
ここから作る気力もないので近所のサイゼリアへ。 大学とか近ければ深夜1時でも大学生でいっぱいとかなんだろうが、 さすが田舎というべきか経営が心配になるくらい誰もいなかった。
| ハンバーグ焼肉 |
なんでこんなメニュー頼んだんだ俺は(笑
ジャガイモの芽が出まくってどうしようもなくなっていたので、 ピーマン・にんじん・コンビーフを買ってきて炒めてみた。
| [no image] |
どうみても酒のおつまみです。となると酒が欲しいが・・・ スーパーで目に付いたノンアルコールB0026H2YH2にしてみた。単なる好奇心。
名実共に 炭酸飲料 ではあるが、 のどごしはビールのソレ というのがミソだなこれは。俺は第三のビール系(特に大豆使った奴)の雑味が嫌なので、ストレートな飲み口も評価できる。端的に言えば 薄いんだが(笑)
車でどこか遊びにいけば、運転手一人は酒が飲めないわけだし、 日常的に、酒を飲む雰囲気を味わう&酒を飲むスタイルを楽しむ、ためにノンアルコールビールが普及すればいいなーとか思いますた。エビスっぽいどっしりしたノンアルコール希望。
俺は酒には比較的大らかなほうで、酔って警官に絡もうがゲロ吐こうが公園ででんぐり返ししようが、たまにならかまわないと思うんだよ。人間、長く生きていれば溜め込むものもあるし、溜め込んだものは吐き出さないとパンクするからな。
が、殺人はいかんでしょー! 馬鹿の憂さ晴らしは笑い事で収まる範囲でなくては。このお父さんが背負わなくてはならない業ではないでしょ。断じて。
今林大とかいう馬鹿が泥酔状態で爆走して、子供3人殺しておいて、過失でしたすんません、なんてありえんわい。秋葉犯と同じくらいの明確な殺人事件でしょう。この殺人犯は、ぬけぬけと上告するつもりらしいが・・・もう誰か射殺してくれないかな弁護団もろとも(^p^)すまん熱くなった。
ただ番組を見て本当にどうしようもないと思ったのは、この米国の政策に(米国の傀儡政権である日本のみならず) 全世界が追従した ってことだわな。
言い方を変えると、今後も全世界は 必死こいて基軸通貨ドルを守ろうとするだろう ということ。ここでいますぐユーロが!元が!・・・という人たちの言うことは聞かないことにしようと思った。ああ、むろん50年スパンではわからないが、そのときは俺も間違いなく死んでるからどうでもいい(笑)
番組にはいわゆるFX主婦、ミセス・ワタナベの話が出てくる(ドラマ仕立て、ちょっと凝ってる)。
んで、為替という否応無く国策や世界情勢に左右されるもので 大もうけしようなんて甘い(無理)んじゃね? というのが俺の感想ね。 もちろん番組でも「別にFXは悪くありません」といいつつ、そのような感想を持つように仕組まれているんだけれども。
一方で、胴元が一番儲かるというのはギャンブルの鉄則中の鉄則。 FXで手数料無料とか訳のわからんことを言ってる業者が沢山あるが、これを聞いた瞬間に おかしいと思う皮膚感が重要 なんじゃないのかな。パンピーとしてはさ。
と思ったら、今度は胴元達はFXの旗色が悪くなったのでCFDという新たな詐欺を始めたらしい。これが金の稼ぎ方というものか。
俺は貧乏でいいや。
|
[no image] Wiiリモコン (シロ) (「Wiiリモコンジャケット」同梱) [no image] PLANEX PS3 Bluetoothコントローラ対応 Bluetooth Ver2.1+EDR Microサイズ USBアダプタ (Class2/10m) BT-MicroEDR2X
ワンセグ野郎のリモコンが欲しかった。 player.pl差し替え版が現状のデファクトではあるが、 いずれテレビっぽい表示を模索したいという想いもあった。
調べるとWiiRemoteという Windows用のソフトがあって、Wiiリモコンが使えるというではないか!ってことで Wii持ってないのに リモコンを買ってしまったという訳。
WiiRemoteは、Wiiリモコンの傾きをマウスカーソルの操作に使えるモードがあるのだが、
センサーバーと聞くと複雑な回路を思い浮かべるが、 実際には赤外線LED2組を少し離して発光させるだけで良いらしい。 この輝点を、Wiiリモコン側のCMOSカメラで撮影することで、 中心座標を算出するというのが、Wiiリモコンの仕組みのようだ。
馬鹿なことに センサーバーが単品売りしているのを知らなかった ので、自分で部品かき集めて作ることにしてしまったのだ。
いや本当に、あと1回ググればわかったことなのに・・・ なんか衝動的に秋月に部品を発注していた。 赤外線LEDが100個も届いてしまい後悔 している。
|
回路は単純で、100均で買ってきたUSBケーブルをちょんぎって、
5V-120Ω抵抗-LED-LED-GND
となるようにつないだだけだ。LEDの極性にさえ注意すれば何てことない電子工作である。これを2組作り、これまた100均で買ってきたケーブルカバーにセロテープで貼り付けた。
|
総材料費は2000円(うち送料800円) 。センサーバー1200円くらいらしいから滅茶苦茶損ですがな(笑)
Wiiリモコンの1,2ボタンを同時押しすると、Bluetoothディスカバリが発行されてPCで認識できる状態になる。単なるHIDデバイスのようだ。要するにマウスやジョイスティックと同じように認識するというわけ。
|
しかし特殊なコマンド体系のようでそのままでは使えないので、前述したWiiRemoteを使う。


傾き操作と違って、
でびっくりした。 画面解像度がフルHDのままだと結構辛いけど、Webブラウザ操作してPC Watchの記事をたどるくらいは普通にできた。
まあ、2つのLEDがうまくWiiリモコンで 撮影 できないと不意にカーソルが飛んだりするのだが、これはしょうがないだろう。
良く考えると、 Wiiリモコンとは、一般的なボタン入力に、3次元ジャイロ、さらにCMOSカメラによる赤外線撮影、そしてそれらを統合して一つのBluetooth入力デバイスとして仮想化するマイコン なんだよな。そう考えると、こんなものが4000円以下で買えるというのは、ちょっとすごいことなのかもしれない。
実際、研究開発分野では、ちょっとしたタッチペン(のようなもの)を自作して、ホワイトボードをPC入力可能にした人もいるみたい。Wiiリモコンはカメラとして使う(固定しておく)応用なんだな。こういうコネタの素材を安く提供してる・・・という意味では任天堂の存在も意義深いといえるだろう。
どうでもいいが すさまじい精度 でてるように見えるんだが・・・XGAくらいの分解能はありそうな感じだ。
| [no image] Don’t say“lazy”(初回限定盤)(桜高軽音部/大森祥子/小森茂生) |
アニヲタには言わずと知れたDon’t say“lazy”ですが。 アニメの方のエンディングをヘビーローテーションしてて、 ずーーーっと恥ずかしい空耳アワーをしてたのに気づいた。 本能に従順忠実で
だと思ってました。 なんて前衛的な歌詞だ!! とか一人で感動していたんですが、正しくは 前途洋々だし らしいですハイ・・・・
「ふわふわ時間」が配信 されていた。 思わずポチりそうになったが、麻雀ゲームを買ってしまったのでもうポイントがない。
国内初のAndroid OS搭載モデル「HT-03A」。 ドコモ山田社長、端末・サービス両面でユーザー重視の姿勢を強調 とか書くから、ちょっと期待しちゃったじゃないか。
第1回 プッシュでiモードメールを使えるか――「HT-03A」。
iモードプッシュメールなし! 定額パケット中はBluetooth使えない フラッシュ非対応 ですかーそうですか・・・・
ん、まあ、iPhoneも似たようなものだけど、1年遅れてこの制限群はちょっと痛いかなーとか買い足し考えてた俺様としてはですね。
あと定額パケット中にBluetoothを使えないのは、やはりルータ化対策なんだろうなあ。俺は NetShareってソフトで iPhone経由してソフバン回線でPCインターネット してるから、これができない時点で魅力半減だわ。
地デジ用PCチューナが解禁された現在でさえ、PCによるフルHD視聴には困難を伴う。例えば、クマさん宅にはDVDレコーダはあるのだが、PCは5年以上前のCeleron(P4せろりん)なのでCPUは遅く、 当然HDMI出力などない し、ビデオカードもアナログRGBしかないわけだ。確かi815Gだったかな。
で、せっかく俺が HDMIとHDCP対応オンボードビデオ を使ったBlu-ray付きPCを組み立てたともりん先生でさえ、 「最近モニター買いなおしたんだ〜安かったし」 とか言う。聞いてみると RGBオンリー という始末(汗;)おまえはな〜Blu-ray付きPCを所望していて何やってんだと。小一時間問い詰めたい。
マシンの買い替えスパンを考えると、やはり HDCP対応ビデオカード+HDCP対応DVIかHDMI付きモニタ+そしてそこそこ速いCPU という3点セットを揃えるのは厳しい場面が多い。
まあ、一部のカードだとトランスコーダ積んでてSD品質で見ることもできるんだけどね。
DTV関連ツールと 柏野氏のページから 以下を入手。これは最低限必要なもので、録画予約をする場合はTVRock環境とRecTestの最新版が必要。

[Hardware] Products=3275:7080

オンエア視聴完了。録画もリアルタイムでできるようになる。そのファイルはGOMPlayerで再生できた。SKNetのアプリは最初から全く使わない。使うと 暗号化付きファイルができて それは非暗号化環境では全く使えないから、使う必要はなかろう。
えらい簡単で拍子抜け。先人に感謝。ちなみにこのチューナも販売中止になる可能性あるので、いまのうちに確保しておいたほうがいいかも。
| [no image] エスケイネット 地上デジタルテレビチューナーユニット SK-MTVHDUC |
既に、商品の回転が早いアマゾンでは クラック対策済み製品 に置き換わりつつあるようだ。 俺のHDUCのシリアル番号は 1xxxxC番台 なのだが1xxxxD,1xxxxEが出回っているもよう。
まあ適度に錆びれたPCショップで見掛けたら確保しておくのが良いでしょう。
そろそろワンセグはやり尽くしたので、Linuxにおいてもフルセグ対応を模索していきたい。 ちょっと不安なのは本家MobileHackerzの中の人が、WindowsでHDUSを組み込んだ システムを試作をした状態で、XXセグ野郎に関しては沈黙を保っていることだ。 単純に飽きたのか バッファローあたりに権利を売った のか....まあ考えてもしょうがないので、 こちらはこちらでのんびりやっていく所存。
みんなはB-CASカード嫌い?俺けっこう好き。厳密には 接触ICスマートカードシステムが好き。 これは元々認証&課金決済を行うものであって、テレビでもこの領分だけで使われるのなら、 良くできたシステムだと思うんだよねー。だからWOWOWや110度CSのためにテレビに標準搭載するんだ!というのは 全く間違っちゃいない話。例えばWOWOW契約した結果がテレビ本体(STB本体に)に書き込まれてしまうと、 その契約をDVDレコーダに移して即録画開始、みたいなことはできなくなってしまう。 テレビみたいな家電を起動するたびにログインアカウントとパスワード入力するなんてゾッとするでしょ。 接触ICカードというメタファがあって、初めて誰でも簡単に使えるようになっている訳だ。
間違っているのは、発行を牛耳ることで、地デジの利便性を損ない普及を妨げる原因となっている謎の私企業B-CAS社と、 あろうことか公共放送を暗号化すると決めたNHKだ。 ここを誤解してはならない。
アマゾンで買いました。2184円也。Linuxに対応している。
| [no image] NTT-ME SCR3310-NTTCom |
余談だが、支払いのうち 2084円分はAmazonアソシエイトのギフト券 だったりする。 ウチのページ読んでる1,2人の方が、継続的にバナー経由でモノを買ってくれているようだ。ありがとうございます。 そして 再度こうしてネタに なっていくのれす(笑)なんたる還流。
SCR3310
Linux PCでカードリーダーを認識させるにはpcscdというデーモンを使います。 まずはこれをインストール。OSはDebian GNU/Linux(etch)で。
# apt-get install pcscd pcsc-tools libpcsclite-dev mercurial
さらにB-CAS用の定義ファイルを入手する(hgというのはmercurialというバージョン管理ツールのコマンドね)。
# hg clone http://hg.honeyplanet.jp/pt1
インストール。/usr/share/pcsc/smartcard_list.txtを上書きする。ldconfigしているのは デーモンの起動に必要な共有ライブラリが読み込まれないから(libpcsclite1のpostスクリプトで実行してくれればいいのに...Debianパッケージの不備だな多分)。
# cd pt1/arib25v023 # cp smartcard_list.txt /usr/share/pcsc/ # /sbin/ldconfig -v # /etc/init.d/pcscd restart
実行してみよう。
$ pcsc_scan
PC/SC device scanner
V 1.4.8 (c) 2001-2006, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.3.2
Scanning present readers
Waiting for the first reader...found one
Scanning present readers
0: SCM SCR 3310 NTTCom (xxxxxxxxxxxxxx) 00 00
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
B-CAS
よし、 認識した。 ミッションコンプリート。
しかしHDUCは未だ認識できず。B-CAS云々以前に全く受信できないちうかUSBパケットアナライザでみる限り、
ファームウェアのアップロード後何も動いていないように見えるー。
ネットを漁っても、HDUS初代とHDUSF(対策版)はLinuxで動いた実績があるようだが、シリコンチューナ版のHDUCが本当にLinuxで動くのか情報がない。
PT1買ったほうがいいのかな。オークションで4万とかついてるけど!
【追記】 HDUCのOEMであるクイックサンのQRS-UT100Bが玄箱PROで動いたという話をハッケン。・・・ってことは俺が何かミスってるんだろう。俄然やる気がでてきたが。
ほとんど玄箱PROとQRS-UT100Bを使用して地デジを録画するのままなので、そちらを見たほうがいいでしょう。
libusbとlibboostが必要。入っていなければインストールする。
# apt-get install libusb-dev libboost-dev libboost-thread-dev libboost-thread1.33.1 libboost-filesystem-dev libboost-filesystem1.33.1
次にDTV関連ツール置場から以下のファイルを落として解凍しておく。
# unzip up0127.zip # unzip up0777.zip # unzip up0257.zip
さらに(ほげふが)してHDUS初代時代の古いファームウェアを入手する。これがないと絶対に動かない。
# unzip MTVHDU_080701_Drv.zip
ディレクトリツリーはこんな感じで/tmpに解凍。
`--.
|--hdus-recfriior4
| `--as11loader
|--recfriio-newpatch
| `--remote
|--recfriior4
| |--arib25v021
| | `--arib25
| | |--.settings
| | `--src
| `--recfriior4
`--MTVHDU_080701_Drv
`--DriverRemover
`--DriverRemover2
etchで普通に使うために2つパッチを作成しました。 recfriior4_papa090528.patch と as11loader_papa090528.patch をダウンロードして/tmpに置いておいてください。大したことはしてません。
# cd recfriior4/recfriior4 # patch -p1 < ../../hdus-recfriior4/recfriior4.diff # patch -p1 < ../../recfriio-newpatch/recfriior4-newhdus.patch # patch < ../../recfriior4_papa090528.patch # make # cp recfriio /usr/local/bin # cd ../arib25v021/arib25/src # cp b25 /usr/local/bin
# cd ../../../../hdus-recfriior4/as11loader # patch < ../../as11loader_papa090528.patch # make # cp as11loader /usr/local/bin # cd ../../MTVHDU_080701_Drv # cp SKNET_AS11Loader.sys /usr/local/bin
まずファームウェアをアップロードします。
# as11loader idx = 0x5121 initializing device... searching device (vendor = 0x1738, product = 0x5211)... vendor = 4e6, product = 511a vendor = 10c4, product = 1312 vendor = 1d6b, product = 1 vendor = 1d6b, product = 1 vendor = 10c4, product = 1312 vendor = 10c4, product = 1312 vendor = 1d6b, product = 1 vendor = 10c4, product = 1312 vendor = 1d6b, product = 1 vendor = 1d6b, product = 2 vendor = 1738, product = 5211 found device sending firm offset = 0x0, size = 0xc00 sending firm offset = 0x2000, size = 0x400 sending firm offset = 0x2800, size = 0x1000 sending firm offset = 0x3800, size = 0x800 closing device...done
lsusbコマンドでプロダクトID=0x7080に変わっているか確認。
# lsusb Bus 006 Device 001: ID 1d6b:0002 Bus 005 Device 007: ID 3275:7080 ※これ Bus 005 Device 001: ID 1d6b:0002 Bus 001 Device 005: ID 10c4:1312 Cygnal Integrated Products, Inc. Bus 001 Device 004: ID 10c4:1312 Cygnal Integrated Products, Inc. Bus 001 Device 001: ID 1d6b:0001 Bus 003 Device 003: ID 04e6:511a SCM Microsystems, Inc. (省略)
録画してみます。とりあえずNHK(27ch)を10秒間。
# recfriio --hdp 27 10 test15.ts Tuner type is HDP. Search friios from dir: /dev/bus/usb HDP Type: HDUC 1 friios found: /dev/bus/usb/005/007: use this friio. device: /dev/bus/usb/005/007 opening HDP...done. freq = 557 Signal level: 18 Output ts file. done.
このままだとmplayerとかで再生すると ワンセグが再生される と思います(実はちょっとハマった)。 MULTI2が解けてないから12セグ部分は見れないわけだね。 昨日インストールしたpcscdが動くかb25コマンドで動作確認をしておこう。以下は認識失敗の例....
# b25 test15.ts test0.ts error - failed on B_CAS_CARD::init() : code=-4
どうもこのカードリーダー... カードの差し込みが甘いとすぐ認識しなくなるらしい。 かなり焦った。 差し直したら復号できました。
こうなれば recfriioの--b25オプション が使える。
# recfriio --b25 --hdp 27 10 test16.ts
とすればリアルタイムに復号しながらフルセグMPEG2-TSが保存できるというわけだ。
| [no image] |
一番古いのじゃないとダメなのね....あとHDUCを再認識するたびにas11loader実行しなきゃならないも ハマった。元のソースコードだとカレントに移動してないとローダーがファームウェア読まないし。 だから絶対パスに直しちゃった....。
recfriior4のreadme.txtから HDUSでas11loaderを自動実行するべくudevのルールを設定 をたどって、/etc/udev/rules.d/026_hduc.rulesというファイルを作った。 これがudev経由で実行されれば、不意のUSBハブ断などでHDUCを見失っても、 再度発見したときに自動でas11loaderが実行されてクラックファームウェアがアップロードされるはず.... なのだが...。
# udev rules file for MonsterTV HDUC
SUBSYSTEM=="usb", ACTION=="add" \
ATTRS{idVendor}=="1738", ATTRS{idProduct}=="5211", \
RUN+="/usr/local/bin/as11loader"
SUBSYSTEM=="usb", ACTION=="add" \
ATTRS{idVendor}=="3275", ATTRS{idProduct}=="7080", \
MODE="0664", GROUP="video"
しかし/etc/init.d/udev reloadしてもudevcontrol reload_rulesしても全く読み込まれている気配がない。 いろいろ試してみたが埓があかなかったので、ふと
# udevtrigger
を 実行したらas11loaderが実行された。 ということはスクリプトはあっていると。 しかしなんで自動認識できないのだ...全く意味がないぞ。なんとなくだが....LOG-J200に対応するべく カーネルを自分でコンパイルしたものに差し替えている関係で、udevそのものがまともに動いてない予感!!!!
2時間ほどとってみたがこれは...
-rw-r--r-- 1 root root 5422171356 2009-05-29 16:03 09052915_Ch18.ts -rw-r--r-- 1 root root 7128234884 2009-05-29 17:03 09052916_Ch18.ts -rw-r--r-- 1 root root 228229120 2009-05-29 17:05 09052917_Ch18.ts
なんにも考えないで実装すると当然こうなる、 1時間7GB。
これを素で扱えるソフトウェアは、x86-32bit環境だとあんまりない。glib-2.2以降であれば-D_FILE_OFFSET_BITS=64を定義して、 かつ注意深くコーディングすれば、4GB以上のファイルに対応することはできる。 しかし既存の....ほとんどのソフトウェアはそんなこたしてない。 どうも世間の趨勢としては Windowsみたいにドライバで苦労するわけじゃないんだからとっととx86-64bitにこいや らしいのだが.......ぱぱサーバの場合サーバ再インストールになってしまふ。困ったもんだ。
次点としては保存ファイル形式の変更...つまり分割なのだが、分割ルールが激烈に変わってしまうと今までのアプリが 使えなくなってしまう。本当はperlrtmpの作者様みたいに別ライブラリに追い出しておけばよかったのだが、 無計画な俺様としては当然そんなことはしてない(汗;)
どうしたものか.....
このまま続けるとたった1チャンネル24時間で168GB。21日録画したら3.6TBだ。やる前からわかってたことではあるが。
フルセグ野郎が流行らない訳だ。そういう意味では ワンセグ野郎は本当に目のつけどころがシャープ だったと思う。 コンセプトの勝利というか。最初から「いやいやワンセグなんて汚いしフルセグが当然でしょー」とか正攻法に思うと、 その激烈なデータ量を前に後込みする。実はコンセプトの段階で 既に罠に ハマっているのだ。 一度そう思ってしまうと、日経某雑誌の「動かないコンピュータ」を地でいく展開となる。
まずは 四の五の言わずに早期に具現化すること、具現化してポテンシャルを見極めること が大切だと感じるな。
![[BANNER]](../image/banner.png)
|
_ クマ三郎 [>神楽坂 そこは風に吹かれつつも颯爽と歩くお姉さんをアップに撮らなくては(笑)]
_ ぱ [ん?なんか元ネタあるのか?]