2011年8月28日日曜日

仮面ライダーオーズ 里中ちゃん列伝

仮面ライダーオーズ最終回。まあハッピーエンドと言ってよいのではないでしょうか。

当然、最終回ですから、ラスボスには勝つわけですが、完全グリード化したエイジの件は?完全有耶無耶です。投げっぱなしです。
結局のところ、完全グリード化は、伏線としてしか使われませんでしたね。大量のセルメダルを蓄積して、メダガブリューに喰わせるための。それは良かったが。余りにもドクターグリードの無傷っぷりに吹いた。確かにまだ時間は残ってるが。

アンクとエイジの融合はある程度予想してましたが、割とオーソドックスに来ましたね。
  • タカ
  • クジャク
  • コンドル
変身音声はアンクのもの。あー、そう来たか。串田アキラさんは引き立て役か!
クジャク以降は、運用経験もなかったような?といっても全部見たわけではありませんが。



そして、真っ赤なオーズが登場。強いか弱いか?というとよくわかりませんが、特筆すべきは、アンクが実体化して、戦闘に割ってはいるところでしょうか。アンクがエイジのスタンドに?的なスレも立つに違いない。「俺がお前を守ってやる」感が泣かせます。泣きませんけど。

もう一つの特筆すべきは、里中ちゃんの戦闘コス。

平成ライダー群では、ヒロイン役として、ピチレモンとファッションモデルから一人づつ起用してるっぽいのですが、ここまでファッションショーに特化してるキャラも珍しいですね。
今まででも、これって戦闘用?と首を傾げるコーディネートで現れて、定時で帰っていく彼女でした。果たして最終話のコレは。



動きやすいか?っていうとよく判らない。しかし浜崎あゆみやら、レディーガガが似たような恰好してるから、世の中のPTAにも免疫は出来てるかな?

まあ戦隊物の女幹部の方が、やたらエロかったりするので、それに比べたら大人しい方なんだろうか。


こんなのとかね。

PHP 5.4、一体どこへ向かってるのか?

筆者は何度となく、
  • 「mix-inは必要」
  • 「そのための多重継承は必要(悪)」
論じておりますが、PHPも5.4に至ってようやくmix-in専用機能がついたらしい。

サンプルソースはここから拝借。
http://simas.posterous.com/new-to-php-54-traits

trait Singleton {
public static function getInstance() { ... }
}
class A {
use Singleton;
// ...}
class B extends ArrayObject {
use Singleton;
// ...}
// Singleton method is now available for both classesA::getInstance();
trait??トレイト???辞書を引くと「特徴」という意味らしい。

うーん。また気持ち悪い英単語を持ってきましたね。苦肉の策って感じです。

PHPの機能拡張に置ける伝統的なセンスとして
  • 配列でなんとかする。call_user_funcでのオブジェクトメソッド呼び出しとか。
  • 文字列で渡す。クロージャっぽい事をやるときとか。
  • 予約語を1個づつ増やす。今回のコレ。
という印象をもっており、またしてもtraitとuseを増やしてきました。予約語を増やすにしても、単語1個づつでどうにかしたい感がしますね。

例えば、こうは出来なかったのか?(1)
mixin class A {}
class B {
  mixin use A;
}

理想をいえば、こうですね。(2)
class B extends A uses XC,XD implements IE,IF {}

「定義の内側に、何かを加えて何とかする」感はperlのOOPを思い出します。ただしperlは、サードパーティライブラリなので、本体を改造できないのはともかく、開発元のはずのZendがやるってのに、こんな手抜き感実装ってどうなの?

2011年8月23日火曜日

「動的言語で安全なソフトは作れないのか」

まあ、ぶっちゃけ、どの言語を使おうが、バグは出ますよね。

動的言語の代表と言えばPHPでしょう。残念ながらね。
しかしこれはバグの出やすい言語の代表格である。
暗黙のキャストが邪悪だったり、
であるにも関わらず0とFALSEを混同する組み込み関数が多数だったり。

一方、静的言語の代表格といえばJavaでしょう。これも残念ながら。
筆者の解釈では、「言語仕様側から、バグを減らす努力をした言語」。
public classを使うときは、ファイル1個に1クラスしか書けないとか、
機械的にチェックが可能な事柄で、ガチガチに締め上げた。
しかし、それこそがEclipseの様な優れたIDEを必須にしてしまった。
面倒臭すぎる。人力でリファクタリングとかあり得ません。

ただし、それでバグが減ってるかというと、それはやはり製作者依存なのです。
メソッドにHashMapを入れてたら、知らない間にパラメタを捻じ込まれてて、
忘れた頃に、別のメソッドでそのパラメタを使ってるとか。
乱暴な奴は、何の言語を使おうが、乱暴なことをやります。
#HashMapを使ったのが悪い。というツッコミは間に合ってます。
#静的言語で、動的考え方をしてるのが間違ってる。とも言える。かな。

一般論としてはどうなのだろうと検索してみたら、酷いスレ発見。

やっぱり動的言語では安全なソフトは作れない 3
http://logsoku.com/thread/hibari.2ch.net/tech/1308499587/

基本的には高尚な議論なんだけど、uy氏の逆ギレっぷりが見苦しい。
頭は良さそうなんだけど、自分より相手が下だと見るに一転挑発モード。
なんだろうなこういうの。

本題に対しての、筆者の個人的にな意見は、最初の1行目に尽きますが。

YESであり、NOである。とも言えるでしょう。

型チェックをやろうがやるまいが、それを通り抜けるバグは必ずあります。
テストが減る。というのには反論しませんが、要らなくなる訳じゃない。

そういう考え方でいえば、関数型の定義が究極なんだろうか。
あの界隈よく判りません。

ですので、「何を使っても、安全なプログラムはあり得ない」ということになる。
なにしろ、作ってるのが人間ですから。
コンピュータは人間が間違えた通りに間違えるだけ。
それがNO。

故に、「間違えない様に作ろう」=「安全に作ろう」というのは自然な流れでしょう。

努力次第でYESに近づけることは出来るでしょう。

本論は、基本的には、プログラム内部を通り抜けるデータの話に終始してますが、大規模プログラミングには、名前空間があればどうにでもなると思っています。具体的にはJavaにもC++にも有りますよね。静的言語の代表格です。#ようやくPHPにも入りましたが。バックスラッシュって何なのよ。

2011年8月22日月曜日

テレビを見ていると、頭カラッポになる

小生は、実は10年ほど、テレビ放送を見ない生活が続いてました。寮に入ったのだが、同室の人間もテレビを持ってなかったのですよ。見なきゃみないで、なんとかなるものです。今度試してみることをお勧めします。

テレビは、実はメガドライブでゲームをやるために購入しました。メガドライブご存知?http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%AC%E3%83%89%E3%83%A9%E3%82%A4%E3%83%96

そこから先は、ハードディスクレコーダを買ったり(通算3台)、プレイステーション2を買ったりとか、まあ色々ですが。ある時思ったのが、「番組を見てると、あっというまに2時間経っちゃう!?」体内の時間感覚が狂わされる感じがしました。

テレビ番組のペースに付き合わされるわけですよ。「この写真は何でしょうか?ハイここでCM」コントなんかは、台本通り10分間続く。オチは想像できたとしても。
別エントリでも書いてますが、現在も放送をリアルタイムではほとんど見ていません。幸か不幸か、興味深いコンテンツが減ってきたこともありますが。

地デジの売りは画面がデカい映像がキレイ、しかし、解像度の面では小型デジカメにすら追いついてません。消費者は、とっくの昔に「高解像度」に慣れてる。そういう意味では、地デジにするのが遅すぎた、と言えるかもしれません。

仮面ライダーオーズ 後半数話を見ただけですが

平成ライダーシリーズは、555の後半からディケイドまで見てはいましたが、
W(ダブル)の主人公のイケ好かなさ加減に絶望して見るのを辞めてました。

筆者の出稼ぎ先の課長が、やたら「すぅばらしぃぃ」とか連呼するので
何事かと思いましたが、現行シリーズのオーズの鴻上会長さんとやらの口癖。
いや決め台詞なんですね。

録画はしていたので、とりあえず掻い摘んでみて見ましたが、
んー、これは見せ場と言うか「面白さ」は何処なのだろう。

ライダーのエイジ君は冴えない役どころでパッとしないし、
シナリオ的には、色々どっかで見たような感があります。
  • 冴えない主人公。しかし芯は強い→電王?
  • ヒロインがパワフル→電王
  • 主人公の協力者が偉そう→電王?
  • ライダーは、複数属性変身→電王、剣(ブレイド)、W(ダブル)、キバ、
  • 2号ライダーは、機械仕掛け→キバ、アギト、
  • 敵モンスターから、直接媒体を抽出して、ライダーの力に転換できる→剣(ブレイド)
  • 敵モンスターに所属グループがあり、各ボスが居る。→剣(ブレイド)
  • 最強形態が暴走属性→剣(ブレイド)、クウガ
  • 主人公がアッチ側に行ってしまう危険→剣(ブレイド)、555、クウガ、カブト、

どうにも剣(ブレイド)との共通点が目立つ本作。

最終回を待たずして、あっち側に行ってしまったエイジ君、果たして彼にコアメダルは有ったりするのか?紫で兼用してるとかじゃないよね。それじゃドクター困るしね。

を、そうそう。伊達さんのキャラは好きですね。歴代ライダーで、こういう「余裕」のある人ってほとんど居なかったし。

2011年8月19日金曜日

地デジをffmpegして、出来上がった無声ムービーをどうにかする件

その後、

mkvextract --rawで、強引に取り出せることが判りました。

いや正確には、判っていて、既に試していたのですが、
コマンドラインの順番を間違えてたとか
出来上がったaacがvlcで再生できないファイルとかで、
諦めてたのですが、mplayerでaac単体ストリームなら再生できることが発覚。

とは言え、元のmkvは、やはりmplayerでも音声は出ず。
いやはや、危うく迷宮入りするところでしたが。

であれば?

  1. mplayerのaoでpcm書き出して、
  2. 再度ffmpegに突っ込んで、問題のmkv/m2tの音声トラックを差し替える。
  3. 差し替える、という方法は無いので、vcodec copyとmapで、音声トラックだけをpcmから再エンコーディング。

でどうにか、音の出るmkvが出来ました。

全部ひっくるめると

  1. ffmpeg -i TS -vodec mpeg4 -acodec ac3 -f matroska
  2. 音声ストリームのエラーが出る場合は
    1. ffmpeg -acodec copyで問題の先送り
    2. mkvextract tracks -rawで、aacストリームの取り出し。
    3. mplayer -aoでpcm変換
    4. ffmpegで音声だけ再エンコーディング&mkvの映像とmux

面倒くさくね?

https://gist.github.com/kamawanu/4538a7d073e584dbdef1#file-ffmpeg-nosound-sh
という訳で、半自動スクリプトを書きました。

ffmpegで地デジの音声が扱えない件。問題の先送り

結局、ffmpegをリビルドしたものでも解決はせず。

何故か、acodec copyだけは成功するし、出来上がったmkv(matroska派なんで)は、
一旦音声トラックを外して再選択すれば(元のm2tと同じく)音は出るようになります。

http://d.hatena.ne.jp/RobinEgg/comment?date=20090420#c
によれば、aacトラックを取り出せれば、そのファイルを加工して、
音が出るようには出きるらしい。

ここまで来れば、mkvの中身をなんとかすればなんとかなる?m2tはようやく消しても可。という状態にはなりました。なったのですが。
mkvの加工ツールと言えば、mkvtoolnixが有名ですが、
http://www.bunkus.org/videotools/mkvtoolnix/index.html
ubuntu 10.04のパッケージはやや古い4.0.0のが気になります。

ffmpegのacodec copyを使ったのが気に要らないらしく。
codec privateとやらのデータが無いので、mkvtoolnixでは取り出せない。らしい。

エラー:コーデックID 'A_AAC'のトラック2は"codec private"要素がなく、抽出することができません。

それでは仕方ない。とffmpegで音声トラックを取り出そうとするが、
ファイルサイズはそれっぽくなるも、
出来たはずのaacを、vlcで再生しようとする限りは無音声状態に。
音声トラックを再選択しても駄目です。

ここでハマリ中。

2011年8月14日日曜日

節電&停電グッズが売れまくってるらしい

日本の原発の大半が止まって昨今、
こんな電力不足で果たして猛暑を乗りきれるのか?
と思ったのもつかの間、もう8月折り返しです。
やってみるもんですね。

巷では節電グッズが大流行り。
クーラー頼みの現代人は、汗をダラダラ流しながら暑さを味わうことに慣れてません。
偉そうに語ってる筆者でさえ、30度の夜には冷房を掛けてしまいます。
なんだこの寝苦しさは!
筆者が小僧の頃にも、ここまで暑くはなかった筈?地球温暖化は順調なのか??

とはいえ、政府の15%節電の呼びかけもあるのかどうか。
http://setsuden.go.jp/
ええと、今見ると、電力使用率67%。アレ!結構余ってる!


東京電力だけの「お願い」だけじゃこうはいかないでしょうな。

一般家庭の消費電力のほとんどは、エアコン&冷蔵庫だって話ですが、どっちも冷房絡み。もとい排熱絡みですね。

冷蔵庫だけは許してください。ってご家庭がほとんどだと思いますが、節電の努力は可能らしい。水冷です。http://bizmakoto.jp/bizid/articles/1107/20/news013.html

当然、同じことはエアコンでも出来るらしい。
http://bizmakoto.jp/bizid/articles/1108/11/news012_3.htmlただし冷房いや排熱の場合は、外気温やら室内気温やら設定温度やらの相関で、消費電力がかなり変動するらしいので、やたらコツが要ります。
http://bizmakoto.jp/bizid/articles/1108/11/news012.html

http://digimaga.net/2011/07/lets-switch-off-tv
http://news.nicovideo.jp/watch/nw99884
面倒だったら、最新の「エコモード(?)」搭載エアコンを買いに行くのが得策でしょう。

事情がよく判りませんが、節電を頑張りすぎて電気が余ってるのは確からしい。
http://www.youtube.com/watch?v=fuUd-3C94iw
例によって、コメント欄でグダグダ抜かしている連中が多いけど、
今の日本、結局正直者(この場合は東京電力の新社長)の方が好ましい評価を受けます。
ソフトバンクの誰かさんしかり。

前社長は隠したり誤魔化したりでグチャグチャだったじゃないですか。

余ってるのが判ったって、別に節電は辞めませんよ。辞めないでしょ。
政府に言われたからどうこうって言うんじゃなくて、
電気頼み&東京電力頼みの現代生活を見直す良い機会になったと思う。

「電気がこないから仕事出来ません」なんて言い訳はそろそろ無理でしょ。
貧乏だっていうならともかく。
軽井沢(中部電力管轄)に移転したって会社もあるらしいですよ。
http://www.tv-tokyo.co.jp/gaia/backnumber3/preview_20110712.html
http://www.yukinkonet.com/

蓄電池付き一戸建てなんてのも出てるらしいですね。
http://suumo.jp/journal/?p=4700
図らずも産業の活性化になってるのでは無いでしょうか。

2011年8月13日土曜日

トラブらない置き薬

数日前の11:30頃、置き薬販売員が現れました。
そろそろ出かけなきゃな。と思っていたらピンポン。
誰だオイ、と出てみたら、
「置き薬、ご存知ですか」と、小柄な若い女性。

筆者の在住付近は、薬店がやや遠いし、
だらしない筆者は「アレこの前買った風邪薬どこだっけ」
という病気が多発するので、来てくれた方が楽なのか?
とりあえず契約してみることに。

このシステムではそうそうトラブルとか起こらないだろうし、
払うのが面倒だったら、市販薬に入れ替えて誤魔化せるか?とか
#結論から言うと、商品が特殊なんで、自前で補充は出来ないのだが。
次に来るのは半年後って話なんで。まあいいかと。

しかし「置き薬」で検索しようとすると「トラブル」という物騒な追加キーワードが出ます。
しかし、販売員が10年間来ませんとか、
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1012275165
要らないのに飲んじゃうとか、
http://blog.livedoor.jp/akutokugekitai/archives/51131888.html
とにかく心配ですとか
http://sooda.jp/qa/66974
トラブルなのそれは?というものばかり。

肝心の法人名で検索してみることに。ありますねちゃんと。
神命堂http://www.shinmeido.co.jp/index.html
中身を確認すると、薬店で見たこともないモノもありますし、
まあ試してみるのもいいんじゃないでしょうか。

2011年8月12日金曜日

続、エンコードが無音声

地デジをffmpegで変換すると、音が無くなる件。
依然として解決してません。

現象と放送局との相関では、NHKとTOKYO MXがかなり多発しますね。

VLC等のプレイヤーでは、音声トラックを選択し直せば、また音声が出るようになります。
ということは、あくまでストリームの「一部」の問題である。それは確実。

ところがそれをそのままffmpegで変換すると、音が出なくなったらそのまま。
出来上がったmkvをvlcに突っ込んでも、音声トラック=undとか成ってるので、
完全に無音になっちゃってる模様。

対処療法的には、TsSplitter.exeで、プログラム単位で切っておくと、
運良く「aacの問題の一部」を通らなくて済むことがあるらしい。
分割してみたけど、やっぱり無音声になっちゃうこともままあり、
確実ではないらしい。GOP単位の分割だからっぽい。

0.8.1からビルドしたffmpegでも発生しました。

最悪の自体では、先頭の数分だけエンコード出来て、途中から前編音声のみ。
aacの一部を読み飛ばした時に、映像トラックを見失うらしい。
メッセージを見ると、映像と音声を取り違えてるらしい。あり得るのかソレ。
ですがこれはTsSplitterで、プログラム分割をしておけば激減しますね。

日本の放送は、CM間で解像度がパツンパツン切り替わる事があるので、
その前後で邪悪な(もしくはffmpegのお気に召さない)ストリームを出してる。
ということなのでしょう。