2013年3月28日木曜日

日本通信への回帰

IIJmioの高速モバイル/Dを使い始めてから約1年、
値段と速度が半分になるDTIのServersMan SIM 3G 100(100kbps,490円/月)に
移ろうかどうしようか考えているうちにだいぶ時間が経ってしまいました。
そんななかIIJmioも機能強化しようとしていて、
この2013年4月1日から速度が200kbps(仕様上128kbpsといいつつ今でも200kbpsは出てますが)に、
速度アップクーポン(私称"トランザム")の任意時点でのON/OFFや翌月末までの持ち越しが可能となるようです。
IIJmioとDTIのサービスは付加機能を除けば速度あたりのコストが同等で、
月1000円払えるか、100kbpsで我慢できるかでどちらを選ぶか決めることになります。

そんな悩める先日、1年前までお世話になっていた日本通信のサイトを久しぶりに覘いてみると...
365日使い放題「格安スマホ」+Turbo Chargeキャンペーンなるものをやっているではありませんか。
期限は2013年3月31日(日)まで、って今週末ですけど。
あわてて調べてみると、Amazon.co.jpから日本通信 IDEOS 200日パッケージを購入し、
2013年3月31日(日)午後23時59分までにSIMカードをアクティベートして
2013年4月15日までにキャンペーンに登録すると、
300kbpsの通信が1年間使い放題となります。
細かい話をすれば、別料金でのトランザムが可能で、
IPアドレスはプライベートIPv4、画像は圧縮プロキシで劣化されます。

今のIIJmioを今後1年使い続けると約12000円になります。
ではこのキャンペーンを利用して日本通信に移る場合はどうかというと、
IIJmioはすでに今月は解約できないので来月分の約1000円がかかることは確定です。
1年間の通信費+端末代で約18000円かかります。
1年後にはまた別の通信会社に移ることになりますが、
最も高くつくのはまたIIJmioに戻る場合で初期費用約3000円が余分にかかります。
つまり、最大で22000円となり、現状維持の場合との価格差は10000円となります。
1年間は速度が200kbpsから300kbpsに上がりますし、
IDEOSという低性能ですがSIMロックフリー、APNロックフリーで
テザリングも可能な端末が手に入ることになります。
これが高いか安いかは意見が分かれるところではありますが、
キャンペーン期限が押し迫っているなか思わずクリックしてしまいました。
1年後は遅い安いのDTIに移る可能性が高いですし、
今回のキャンペーンが無くても何かのきっかけでIIJmioからDTIに移る可能性は高かったので、
長期間でみれば相対的にはもう少し安くつくことにはなるでしょう。
1年もあればDTIのSIMもLTE対応になっているかもしれませんし。
ちなみに、もしすでにDTIに移行していればクリックすることはなかったでしょう。

2013年3月27日水曜日

Nintendo3DS 5.0.0-11J

[ピースあつめの旅]のコンプリートを目の前にして
先週末新パネル[ルイージマンション2]をくらったNintendo 3DS
昨日には新ファームウェア[5.0.0-11J]が公開されました。早速アップデートです。
[4.5.0-10J]からのメジャーバージョンアップにどんな機能が加わったのか
任天堂の公式発表(変更履歴)を見たのですが、
[ダウンロード版にセーブデータを移動]やバックグラウンドダウンロードへの対応程度で、
数字ほどのインパクトは無いようです。
しかも、本体更新ができない症状が発生しているようです。
その回避方法に
[L]+[R]+[A]+[十字ボタン上]を押しながら電源をON
というのがあるそうで、やってみるとアップデート画面が直接立ち上がりました。
おそらく通常のファームウェアとは別に用意されたセーフモード的なものと思われますが、
何かあった場合の対処方法として覚えておきたいと思います。

2013年3月26日火曜日

F1のチームオーダー

2013年シーズンが始まったF1世界選手権、先週末第2戦のマレーシアGPが開催されました。
決勝スタート早々にフェラーリ-アロンソがフロントウィングを痛め、なぜかピットインせず2週目に突入。
結果脱落したウィングに前輪を載せて曲がれも止まれもせず第一コーナーに消えました。
超高速のストレートエンドであんなことになればひどい事故になる可能性もあり、
ピットインさせなかった(しなかった?)チームの判断は理解に苦しみます。
最近はマシンが壊れても無理やり走るような行為も見られますが、
F1は安全性を高めるためにいろいろと対処はしているものの、
こういうのはレースコントロール側で強制ピットインなり強制スローダウンなり
させる必要もあるのではないかと思ったりしています。
1994年5月1日にサンマリGPでセナがレース中に事故死してから19年
(前日の予選ではラッツェンバーガーが事故死)。
M・シューマッハが骨折などやらかしはしたもののこの間GP開催中の重篤な事故はありませんが、
ただ運がよかっただけとみられるような激しいクラッシュもありましたし。
セナの事故死を眼前で見たシューマッハのいなくなった今シーズン、
今一度安全性について確認することも必要でしょう。
もしかすると厳しく対処することで無茶な追い越しやブロックによる接触も減るかもしれません。

前置きはおいておいて、本題のチームオーダーについてです。
過去明確なチームオーダーが禁止されていた時期もありましたが、
現在は傍受した無線であからさまなチームオーダーも聞こえてきます。
今GP、2つのチームオーダーが注目を集めており、
それらは奇しくもまったく正反対の結果を生み出しております。
レッドブル同士での優勝争いの中、チームオーダーを無視して同僚を抜いたベッテルと、
メルセデス同士での3位争いの中、チームオーダーに従って表彰台を逃したロズベルグです。
ロズベルグは生真面目なドイツ人らしく従ったんだな、
国民性が出たな、とか思ったのですが、よく考えるとベッテルもドイツ人ですね。
別にどっちがいいとか悪いとか言う気はないのですが、
あとで後悔するぐらいなら最初からやるなよな、とベッテルには言ってやりたいです。
やってしまったんならやってやったぜという態度は表では見せてほしいものです。
ベテランというには若すぎますが、チャンピオン経験者ですし、
おそらく今後10年はF1にいるでしょうから、そのあたり考えてほしいものです。
まあアロンソのようにチャンピオン獲得後に低迷を経験したこともなく、
バトンのようにチャンピオン獲得前に長く苦しんだこともない、
順風満帆なレース人生を歩んできた若造なんでしょうね、まだ。

ところで、今回のチームオーダーのそもそもの原因は、
タイヤがいつまでもつかわからないから大切に使え的なことだったようです。
今シーズンのピレリタイヤはどうも昨シーズン以上にもたないようで。
レースに不確定要素を盛り込むためにわざと劣化の激しいタイヤを使うというのは
私は以前からいやなんですが、今回の一件で見直してほしいですね。
大幅なレギュレーション改定がある来シーズンに早くも期待しているところです。

2013年3月25日月曜日

ServersMan@VPS(Debian32bit)で圧縮プロキシサーバ

AndroidのChromeブラウザが最新ベータでSPDYプロキシサーバに対応したそうです。
"chrome://flags"から"Experimental Data Compression Proxy"を有効にすればいいみたいです。
残念ながらChromeはAndroid 4.0以降にしか対応していないため、
私には何の影響もありません。
というか今までSPDYに対応してなかったの?とか思ったのですが、
本家のサイトを確認するとちょっと意味が違っているようで、
どうやらGoogleで用意したプロキシサーバとChromeの間をSPDYでつなぎ、
SPDYに対応していないウェブサイトへのアクセスをプロキシにさせることで、
端末からの体感速度を上げるような仕組みを新たに作ったようです。
要は圧縮プロキシですね。
最初に記事を読んだとき、SPDYそのものがhttps上で動作しているのに
httpsサイトに対応していないというのはどういうことかと疑問だったのですが、
中身がプロキシサービスだということで納得です。

話は変わりますが、私はServersMan@VPS(Debian32bit)上で
プロキシサーバをだいぶ前から動かしています。
主な用途はIPv6界への入り口だったりします。
まあ世の中の回線が太くなっている昨今、
そこがボトルネックになりかえって遅くなりかねません。

私の場合、IIJmioの128kbps(常時200kbpsは出てますけど)制限の回線があるので、
もしかすると役に立つかもと思いつつも、
モバイルで使っているAndroid(<=3.0)ではプロキシが設定できないという
悲惨な仕様により試そうとも思いませんでした。

ただ、数ヶ月前に手に入れたiPhone4Sでは
無線LANのアクセスポイント毎にプロキシが設定可能なので、
低速回線経由時のために圧縮プロキシあってもいいかなーと思いつつも、
よほどの緊急事態(実店舗で売ってる物がネット通販でいくらで売っているかを確認とか?)
でもない限り3G回線でのネットサーフィンはしないので、手をつけていませんでした。
設定めんどくさいですし。

そんな感じの中で、SDPYプロキシの件に触発され重い腰を上げることに成功しました。
まあこれがちょっとした地獄の始まりだったのですが…

さて、プロキシといえば私もよく使うsquidなのですが、
squidには圧縮プロキシにはできません(私の思い込み?)。
で、圧縮プロキシといえばDelegateです。
ということで早速ServersMan@VPS(Debian32bit)にインストールです。
画像圧縮のためimagemagickもインストールします。
以下を実行します。
# apt-get install imagemagick
# cd /usr/local/src
# wget http://www.delegate.org/anonftp/DeleGate/delegate9.9.8-pre20.tar.gz
# tar zxf delegate9.9.8-pre20.tar.gz
# cd delegate9.9.8-pre20
# make
1@1
y
# cd /usr/local/sbin
# ln -s /usr/local/src/delegate9.9.8-pre20/src/delegated delegated
# cd /etc
# cp /usr/local/src/delegate9.9.8-pre20/src/delegated.conf ./
設定ファイル"/etc/delegated.conf"の内容に以下を追加します。
REMITTABLE=+,http
PERMIT="*:*:*"
とりあえず動くようになったので起動してみます。
TCPのポート番号を指定して起動するのですが、
一般的に使われる8080や8000が私の環境ではすでに埋まっているので
8001を使うことにし、以下を実行すると、nobodyユーザで起動します。
# delegated -P8001 +=/etc/delegated.conf
ちなみにこのコマンドを一般化すると
# delegated -P<ポート番号> +=<設定ファイル(フルパス)>
となります。
ところで、再起動する(設定ファイルの変更反映等)場合は'-r'オプションをつけて
# delegated -P8001 +=/etc/delegated.conf -r
のようにし、停止する場合は'-Fkill'オプションをつけて
# delegated -P8001 +=/etc/delegated.conf -Fkill
を実行します。
ここまでの作業でプロキシは動作するようになります。
ウェブブラウザ側を適切に設定すればプロキシ経由でのネットサーフィンが可能です。
あとは自動起動のために、起動スクリプト"/etc/init.d/delegted"を
#! /bin/sh

### BEGIN INIT INFO
# Provides:             delegated
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs $network
# Should-Start:      $named
# Should-Stop:       $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description:    Delegate
### END INIT INFO

case "$1" in
  start)
        /usr/local/sbin/delegated -P8001 +=/etc/delegated.conf
        ;;
  stop)
        /usr/local/sbin/delegated -P8001 +=/etc/delegated.conf -Fkill
        ;;
  restart|reload)
        /usr/local/sbin/delegated -P8001 +=/etc/delegated.conf -r
        ;;
  *)
        echo "Usage: /etc/init.d/delegated {start|stop|reload|restart}"
        exit 1
esac
exit 0
のように作成して、以下を実行しておけばよいでしょう。
# chown root:root /etc/init.d/delegted
# chmod 755 /etc/init.d/delegted
# update-rc.d delegated defaults

ところで、今回は圧縮プロキシに仕立てることが目的ですので、
設定ファイル"/etc/delegated.conf"にさらに以下の行を追加します。
HTTPCONF=acc-encoding:-thrugzip
HTTPCONF=gen-encoding:gzip
これでHTMLドキュメントがプロキシ-ウェブブラウザ間でgzipによる圧縮転送されます。
同様に画像ファイルを粗くしてサイズを小さくするには、
設定ファイル"/etc/delegated.conf"に
FTOCL=/etc/delegated.cfi
を追加した上で、設定ファイル"/etc/delegated.cfi"の内容を以下のようにします。
#!cfi
Content-Type: image/jpeg
Output/Content-Type: image/jpeg
Filter: convert -quality 30 - -
--
Content-Type: image/png
Output/Content-Type: image/png
Filter: convert -quality 30 - -
--
Content-Type: image/bmp
Output/Content-Type: image/jpeg
Filter: convert -quality 30 - jpeg:-
jpeg画像とpng画像はエンコードパラメータの調整で粗くしてサイズを小さくし、
bmp画像(一般的には無圧縮)はjpegに変換して小さくしています。
gif画像についてはもともと256色までしかサポートしないことを前提にデータ圧縮してあり、
新ためてjpeg等に変換したところで大した効果が期待できないこと、
インターネット上ではgif画像はアイコンのような用途で使われることが多く、
もともと比較的サイズ(ファイルサイズ、ピクセルサイズ)が小さいこと、
バナーなどでよく見かけるアニメーション画像は基本的にgifなことを鑑み
そのままスルーさせています。
なお'--'で区切れば画像の種類を追加できますし、
Filterフィールドの内容はコマンドそのもので、
標準入力で変換元ファイル、標準出力で変換後ファイルを扱う書式にしておけば動きます。
なお、圧縮プロキシの効果は絶大で、ある速度計測サイトでは
160kbpsが360kbpsぐらいにアップしました。
いろいろ試しているとコンスタントに2~2.5倍ぐらいにはなっているようです。
体感的には…速くなったような気もしますが、気のせいのような気もします。

実際にdelegatedを動作させてみて困ったのは、
ウェブブラウザがページを開くたびに子プロセスが生成されるため、
同時起動プロセス数の制限が厳しいServersMan@VPSで、
それでなくてもプロセスが多い私の環境ではすぐに上限に達して
ページが開けなくなってしまいます。
一応の対処として設定ファイル"/etc/delegated.conf"の
もともとの"TIMEOUT"を削除した上で以下の行を追加しています。
MAXIMA=delegated:16
TIMEOUT=io:10
HTTPCONF=max-ckapch:1
ただ、画像がたくさん貼り付けてあるようなサイトを開こうとしたときに開けなかったり、
下記のプロキシ認証を設定してiPhone4Sからアクセスしたときに
プロキシ認証用のダイアログが表示されまくったりします。
この辺はもう割り切るしかありません。

次は認証です。VPS上で常時動作しているので勝手に使われるようでは困ります。
が、ここで大きくはまってしまいました。
まずは正解からです。
なお、プロキシサーバがインターネット上にあるので、
basic認証だと非SSL時に認識可能な状態で認証情報がだだ漏れするため、
digest認証を採用しています。
一応wiresharkでパケットキャプチャして正しく動作していることは確認しています。
まずは設定ファイル"/etc/delegated.conf"に以下の行を追加します。
SERVER=http
AUTH=proxy:pauth
AUTHORIZER=-dgauth
CRYPT=pass:<認証用データ保管用暗号キー(適当な文字列)>
これでdelegatedを再起動させればユーザ認証がかかるようになります。
で、そのユーザ登録は以下を実行することで可能です。
# delegated -Fauth -a <ユーザ名>:<パスワード> -dgauth CRYPT=pass:<認証用データ保管用暗号キー("/etc/delegated.conf"で設定したもの)>
何人分でも作れ、'-a'オプションの代わりに'-d'を使うことでユーザの削除ができます。
最初の1ユーザについては気にする必要はありませんが、
二人目以降はその前に設定した[認証用データ保管用暗号キー]を正しく入力する必要があります。
もし忘れてしまったら、
"/var/spool/delegate-nobody/adm/authorizer/-dgauth/"ディレクトリにある
ファイルを全部消して、最初からユーザを作りなおすことになります。

ここからは裏話になりますが、設定を試行錯誤していく中で何度かトラブルに見舞われました。
そのなかで認証を設定する際には大いにはまりました。
認証をオフ("AUTHORIZER=-dgauth"をコメントアウト)した場合には問題ないのに、
オンにするとdelegatedからTCPのRSTをくらい接続できません。
それもTCPのSYNには成功しているのに、
ウェブブラウザからのHTTPリクエストを受け取るとRSTされるのです。
"LOGFILE"でログを吐き出させたり、'-d'オプションつけてみたり、
通信パケットをみたりしても原因がつかめず、
最後はソースを見なきゃいけないかと覚悟もしかけたのですが、
何気なくやったちょっとしたことで解決してしまいました。
それは設定ファイルへの"SERVER=http"の追加です。
まあ"SERVER=http"は当然入れるべき設定項目といってもよいものの、
認証なしのときはなくても動いていたので入れていなかったのですが、
なぜか認証ありのときは必須になっていました。
単純にプログラムの都合でそうなってしまっただけでしょうが、
これでかなりの時間を無駄にしました。
ということで皆さんが同じところではまらないよう公開しておきます。

2013年3月21日木曜日

PET/CTと放射線測定

今年もまたPET/CTを受けてきました。
これはFDGという糖に放射線物質をくっつけた物質を静脈注射で体内に入れ、
それが糖代謝の高い病巣に集まったところを
体外から放射線量を測定することで位置を特定し(PET)、
同時に臓器の形状も見てしまう(CT)という優れものです。
ただし検査料金が高く、私がお世話になっている病院では8万円くらいします。
まあ半分以上はFDGの代金みたいで、その中には隣県からの輸送費も含まれているはずです。
FDGの半減期は約2時間と短いため、
作ったらすぐに使わないとただの砂糖水(?)になってしまいます。
ということで検査をすっぽかすとFDG代を請求されてしまいます。

FDGは糖の一種なので、常に活動している脳や心臓には集まりやすいのは仕方がないとして、
運動すれば筋肉にも集まるということで前日からなるべく運動しないようにします。
また尿として排出されるため膀胱にも集まり検査の妨げになるので、
待ち時間は大量の水を飲みながらすごし、検査の直前にはトイレに行きます。
そこでは立ってすると足の筋肉を使ってしまうため、男性でも座ってします。
FDGの注射の後は個室でリクライニングチェアーに寝そべりつつTVを見てすごします。

ただ待つのは暇なので、今年は遊び道具を持っていきました。放射線測定器です。
FDGには陽電子がくっついていますが、それがその辺にある電子と結合するとガンマ線が発生し、
検査ではそれを測定しますが、ガンマ線は安価な放射能測定器でも計測可能です。

ということで、今まで使い道のなかったポケットガイガー(Type1)に出張っていただきました。
まあこのために買ったといっても過言ではないんですけど。
今回はiPhone4S(iOS5.1)と組み合わせての計測となります。

以下で今回の測定結果を公開しますが、
ポケットガイガーの本来の目的とは違う使い方をしていること、
1回の測定に20分かかること、
体内ではFDGが常に動いていることなど不確定要素があり、
出ている数値をどう解釈すべきなのかわかりませんので、
あくまでも単なる参考値にすぎないと理解ください。
また測定はセンサ部を頭や胸に載っけて行っています。

最初に通常時の測定では
0.40 cpm
0.04 ± 0.01 μSv/h
程度の値しか出ていないことをお知らせしておきます。
なお、上段が放射線数(個/分)、下段が放射線量(シーベルト/時)です。

さて、FDGを投与する前にPET/CTの検査待合室で空間線量を測ると
3.88 cpm
0.37 ± 0.05 μSv/h
と出ました。そもそも隣の部屋にFDGが置いてあり、
ガンマ線は薄い壁など通り抜けるので、
通常環境より10倍ぐらい高いのも当たり前なのかもしれません。

そしてFDGを静注した直後に測ると
警告 : 振動ノイズを検出
正しく測定できない可能性があります
nan cpm
nan ± nan μSv/h
と表示されてしまいます。
もちろん振動など与えていません。
測定上限を振り切ったような状態なのだと思います。
そのまま続けて20分間の測定により心臓付近で
775.20 cpm
74.75 ± 43.16 μSv/h
の数値がたたき出されました。通常時の100倍を軽く越えます。
その後の数値は下表にざっくりまとめてみました。
経過時間(時)心臓あたり頭あたり
cpmμSv/hcpmμSv/h
0:00775.2074.75 ± 43.16
3:001105.91106.65 ± 0.88
4:00704.9467.98 ± 0.58
4:301231.91118.80 ± 1.19
5:00515.4449.70 ± 0.49
5:301035.7399.88 ± 0.79
7:00225.7921.77 ± 0.32
7:30428.4141.31 ± 0.45
9:0094.929.15 ± 0.21
9:30157.7315.21 ± 0.27
11:0048.914.72 ± 0.15
11:3064.276.20 ± 0.17
13:0027.412.64 ± 0.11
14:0026.212.53 ± 0.11
22:001.450.14 ± 0.03
23:001.100.11 ± 0.02
25:000.900.09 ± 0.02
25:301.000.10 ± 0.02
30:000.600.06 ± 0.02
34:000.600.06 ± 0.02
34:301.300.13 ± 0.02
45:000.450.04 ± 0.01
45:300.450.04 ± 0.01
これより、2時間毎に線量が半減している傾向が見られ、これはFDGの半減期に一致します。
だいたい48時間もあれば通常の状態に戻ります。
また心臓よりも脳のほうが2倍線量が強いことがわかります。
心臓のみ、脳のみで単純にざっくり累積すると500μSvぐらいの勘定になりそうです。
これが多いのかどうかは門外漢の私にはコメントのしようもありませんが、
とりあえず年間の線量の限度値(自然由来、医療用を除く)は 1mSv/year だそうです。

ところで、今回ポケットガイガーとは別に組み立てキットのガンマ線測定器を持っていきました。
部品を半田付けして別に用意したPINフォトダイオードを付けて遮光(+アルミシールド)し、
ガンマ線を検出するとLEDが光るような簡易的な代物です。
遮光をといて光を当てるとLEDが光り、
遮光すると光らなくなることが確認できたのでうまく動くかとも思ったのですが、
残念ながらガンマ線に反応してくれませんでした。
増幅率が足りないとかLEDでは点灯がわかりにくいとか原因はいくつか思いつきますが、
安定した線源がない状態では調整も難しいのでこちらはあきらめることにしました。
まあ全部で1500円ほどしかかかっていないので惜しくはありません。

来年も多分検査は受けると思いますので、
今度は短時間測定可能なポケットガイガー(Type4)か
本物のガイガーカウンターでも調達して望もうかと思っているところです。
ただちょっと高いんですよね。
どなたかそのときだけただみたいな値段で貸してくれませんかね。

2013年3月20日水曜日

WINGROAD Y12 車検

愛車WINGROADが7年目の車検を迎えました。
排気量が小さめなので加速感には物足りなさを感じるものの、
乗りやすく、室内も広く、CVTのフィーリングは結構好きで、
燃費もまあまあ、価格も維持費もそこそこでわりと満足しており、
あと6年は乗りたいなとか思っています。
あまり人気がないため中古の下取り価格は安めですが、
盲点だったのがフルモデルチェンジをちっともしないことで、
7年前の車でも今売っているものと見た目が大して変わらず、
意外と新しく見えるということです。
ポンポンモデルチェンジされるとすぐ古臭くなってしまいますからね。
とはいっても次に買う車もステーションワゴンがいいので、
もうそろそろフルモデルチェンジしてほしいところです。
停止時からの加速力アップとアイドリングストップのために
ホンダのフィットのような割り切ったハイブリッドと、
高速走行時の加速力アップのためのターボチャージーをつけて
値段据え置きぐらいを希望します。

ところで今回の車検でバッテリー(鉛蓄電池)を交換しました。これが2回目です。
ちょいのり主体になってしまうためどうしても劣化が激しくなるようです。
さて、先日運転免許の切り替えに行ったときにもらったパンフレットに、
一日10分のアイドリングで年間の50Lのガソリンを消費すると書かれていました。
私の運転状況も大体そんなものなので、
車の寿命を10年間とすれば500L、
150円/Lなら価格にして75000円が消費されることになります。
エンジン始動時に回すスターターモータのバッテリーへの負担は結構なものなので、
アイドリングストップによってバッテリーの劣化がさらに進んで
交換回数が2倍、あるいは高性能品で価格が2倍になるとすると、
アイドリングストップのみを追加搭載することによる
私にとって許容できる価格アップは最大5万円ぐらいのものでしょうか。
いや夏冬のエアコンのことを考えると5万円では元が取れない気もします。
実はアイドリングストップ対応のWINGROADが出たら
消費税アップの件もあるので2年後の車検時に買い換えてもいいかな
とか思っていたのですが、
やっぱりあと6年は今の車に乗り続けるべきだなと思い直すのでありました。

2013年3月19日火曜日

BD-Rにダビング

先日からDIGA BZT710に録画した
SUPERBPWL XLVIIをDVDに書き出したりしていますが、
BD-R(ビデオ用)ディスクを購入したので早速ダビングしてみることにしました。

方法はBD-REに書き出したときと同様ですが、
前もってのフォーマットは必要ありません。
また、ファイナライズしなくてもPS3で再生が可能でした。

2013年3月18日月曜日

F1 2013 開幕

F1世界選手権の2013年がオーストラリアGPで幕を開けました。
勝ちそうなドライバーが当たり前のように勝つことが多いドライコンディションに対し、
荒れることが多い雨は見ていて結構好きなのですが、
まさが予選途中で日没サスペンデッドになるとは。ゴルフじゃないんだから。
っていうか、日程をヨーロッパ時間に合わせすぎじゃないんでしょうか。
もちろん興行というか商業なのである程度は理解はできるのですが。

さて、決勝レース中はほぼ雨は降らなかったものの結果は予想してたよりも荒れました。
予選でレッドブル-ベッテルがポールを取ったときにはまた今年もかとも思ったのですが、
決勝序盤にフェラーリがすこぶる好調なので今年は違う展開を期待したところ、
ロータス-ライコネンが勝利という期待を上回る変わった結果となりました。
変わったといえばマクラーレンはどうにもならない状況のようですが、
あいかわらずメルセデスはタイヤに厳しいようで、
移籍したハミルトンは不幸なのか幸いなのかよくわかりません。

ライコネンがまず今期一勝を挙げ、少しは面白くなりそうな2013年シーズンですが、
なんだか去年よりタイヤの重要度が高くなった雰囲気があり、
予選で新品を温存するような戦略にはならないでほしいですね。
とにかく1週間後のマレーシアGPでもう少し傾向がわかってくるでしょう。

2013年3月14日木曜日

AirCardのIPアドレスを知る - その2 AirCard側の改造

前回AirCardのIPアドレスを知るためのサーバ側の準備を行ったので、
今回はAirCardのファームウェアを改造します。
なお、改造して動かなくなっても私は知りませんので、やるなら自分の責任で行ってください。

ファームウェアの改造方法は以前書いているので省き、ここでは修正部分だけを記述します。
"/etc/dhcp.script"の
if [ "$1" = "bound" ]; then
から始まるifブロック内の最後に以下を加えるだけです。
cd /tmp
wget http://<サーバ名>/p/index.php?ip=$ip
sleep 5
wget http://<サーバ名>/p/ip.jpg
cp -f ip.jpg /mnt/sd/DCIM/199_WIFI/WSD00004.JPG
sync
mount -o remount /mnt/sd
AirCardをスマートフォンにテザリングしておけば、
AirCardの[緑の制御画像(Connect to Hotspot)]を削除して
インターネットにつながったとき"WSD00004.JPG"が生成されIPアドレスがわかるようになります。
ただし、いつも持ち歩いているLUMIX GF1に挿して実験してみると
ちょっと妙な動作になったので注意する必要があります。
"WSD00004.JPG"が存在しない状態から新規に作成された場合、
GF1の再生モードでそのファイルが閲覧できません。
ただその場合でも無線LAN経由でブラウザからAirCardのウェブインターフェイスに
直接アクセスする分にはAirCard内に存在するのが確認できます。
また、すでに存在していた状況で内容が更新される分には、
その更新された内容の画像が表示できます。
どうもファイルの存在についてはキャッシュが効いて、
内容については必要な瞬間に読んでいるように思えます。
このあたり差し込むデジカメ毎に挙動が異なる可能性があり注意が必要です。
デジカメではありませんがWindows8 PCに挿した場合は、
システムキャッシュのために挿しなおし以外に新しい画像を認識させる方法はないようです。
ちなみに、スマートフォン等のブラウザで
http://<サーバ名>/p/ip.jpg
の画像を直接見るなんて裏技もあるので、最悪でもそれで対応可能です。

まあ大した機能ではありませんし、端々までちゃんと作ってるわけではありませんが、
皆さんの参考になれば幸いです。
もしアレンジなどして面白い機能を実装されたらトラックバックなどいただけると嬉しいです。
最後になりますが、改造はくれぐれも自己責任でお願いします。

2013年3月13日水曜日

AirCardのIPアドレスを知る - その1 サーバ側の準備

AirCardは無線LANのアクセスポイントにつないで
インターネットに出て行くことは可能なのですが、
如何せん自らが無線LANのアクセスポイントとなることが前提となる
応用方法しか準備されていません。
無線LANのアクセスポイントにつないだときにはDHCPでIPアドレスを取得できますが、
外部からアクセスするためには
AirCard自身のそのIPアドレスがあらかじめわからないと面倒です。
そこでIPアドレスを画像として作成してSDカード内に保存し、
デジカメからその画像を閲覧することでIPアドレスがわかるようにしてみました。
ただしAirCard内部で処理するのはつらいので、外部サーバの手助けを借ります。
今回はそのサーバ側の話です。
サーバにはServersMan@VPS(debian-32bit)を使いますが、
この機能を不特定多数に公開するつもりはないので、
個人で勝手に準備してください。

まずjpeg画像の生成ツールを以下でインストールします。
# apt-get install imagemagick
その後
$ convert -geometry <横のピクセル数>x<縦のピクセル数>! -fill <文字の色> -font <TrueTypeフォントのファイル名(フルパス)> -pointsize <文字の大きさ(ポイント)> label:<画像に埋め込む文字列> <生成するJPEGファイル名前(拡張子は".jpg")>
を実行して閲覧可能なjpegファイルが生成できることを確認します。
TrueTypeフォントのファイルは"/usr/share/fonts/truetype"ディレクトリの下に
拡張子が".ttf"なファイルがあると思うので適当に選んでください。
私の場合、画像の大きさはAirCardの制御用画像に倣って640×480とし、
文字の大きさは100ポイントとしました。
また文字の色は"blue"(青)にしています。
最初文字の色を明示的に設定せず黒にしていたのですが、
LUMIX GF1で表示できない画像とか言われたので、
# apt-get install jhead
# exit
$ jhead <生成したJPEGファイル>
で調べてみたところ
Color/bw     : Black and white
が含まれており、これが悪さをしているようでした。
で、とりあえず文字の色を変えてみたら問題なくなったのでそうしています。

それではこれまでの成果をウェブアプリケーションに落とし込みます。
以下を実行します。
# cd /var/www/html
# mkdir ip
# chmod 777 ip
# cd ip
# touch index.php
# chmod 644 index.php
なお"/var/www/html/p/index.php"の内容は以下のようにします。
私の環境に合わせているので適当に変更してください。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
</style>
</head>
<body>
<?
$ip=$_GET["ip"];
system("convert -geometry 640x480! -fill blue -font /usr/share/fonts/truetype/kochi/kochi-gothic.ttf -pointsize 100 label:$ip ./ip.jpg");
?>
</body>
</html>
これで、ウェブブラウザから
http://<サーバ名>/p/index.php?ip=<IPアドレス>
にアクセスした後で
http://<サーバ名>/p/ip.jpg
にアクセスすることでIPアドレスを書き込んだ画像が取得できます。
ちなみにわざわざIPアドレスを引数で渡しているのは
NATを挟む場合を想定しているからです。

2013年3月12日火曜日

BD-REにダビング

先日からDIGA BZT710に録画した
SUPERBPWL XLVIIをDVDに書き出したりしていますが、
BD-RE(ビデオ用)ディスクを購入したので早速ダビングしてみることにしました。

最初にメディアをフォーマットする必要がありました。
ディスクを入れたままリモコンの[BD/DVD]ボタンを押し、
[BD管理]-[BD-REのフォーマット]を実行することで使えるようになります。
あとはDVD-RAMへの書き出しと同様の操作によりダビングが可能です。

今回はサイズ的に1層では足りず2倍(HG)にトランスコードしたため
時間はたっぷりかかってしまいました。
そのBD-REはそのままではPS3で認識できませんが、
DVD-RWのときと同様にファイナライズすれば、PS3でHD画質で再生できました。

やっぱりこれからの時代はBDですね。

2013年3月11日月曜日

ワンセグ受信アダプタ DSテレビ

何年も前から安くなったらほしいなと思っていたワンセグ受信アダプタ DSテレビをとうとう購入しました。
実は数年前から近くの中古ゲーム屋さんの同じ場所にずーっと置いてあって、
時間の経過とともに少しずつ安くなっていき、
ようやく買ってもいいかなという価格になりました。

早速動作確認してみたところ、Nintendo3DSNintendoDSi
NintendoDS Lite、NintendoDS(初代)のすべててテレビが見られました。
ただし、LiteとDSiでは感度がいまいちでした。
なお、附属の外部アンテナ(ワイヤーアンテナ)は使わずに、
DSテレビ本体のロッドアンテナ×2での状況での話になります。

で、今さらなぜこんなものを購入したのかというと、非常用です。
どうせ使っていないDS本体があるので、一緒に避難袋にでも放り込んでおけば
いざというとき役に立つかもしれません。
今の世の中スマートフォンで情報は集められますが、
大規模災害が起こったときにはワンセグテレビやラジオのほうがあてになります。
DSの丈夫さは折り紙つきですし、電池も昨今のスマートフォンより持ちますし、
もう使わなくなっている本体があるならこういう使い方もありではないでしょうか。
東日本大震災からちょうど2年。備えあれば憂いなしです。

2013年3月7日木曜日

クラブニンテンドーの2012年度プラチナ特典が届いた

ここ数年毎年プラチナ会員になっている任天堂の
会員制サイト"クラブニンテンドー"の2012年度プラチナ特典が届きました。
私は"マリオトランプ"と"ピクミントートバック"をチョイスし、
前者は先月、後者は今週に届きました。

"マリオトランプ"はプラスチック製で透けて見える部分が多く
見た目は豪華なのですが、遊ぶには使いにくい印象です。
私だけかもしれませんが、見たときと触ったときのサイズ感が違い、
なんだかシャッフルするのもやり辛いです。
無駄に豪華なケースが付いているあたり
コレクターズアイテム的なものなのでまあしょうがないでしょう。
派手なので小さい子供には受けそうです。

"ピクミントートバック"は実用的です。
派手さはないのでショッピングバッグ(エコバッグ?)に使っています。
特に不自由さはありませんが、個人的にはもうちょっと深いほうがよかったかな。

さて、2013年度はWiiUも購入しましたし、すでにプラチナ会員になっています。
来年は何がもらえるのか微妙に楽しみにしています。

2013年3月6日水曜日

Asteriskとe164.org

先日VPS上にAsteriskを入れて内線網を作りましたが、
せっかくなのでe164.orgにつないでみます。

実は大昔にe164.orgを使っていたことがあって(こことかこことか)、
そのときのアカウントがまだ生きており、
今回つないでみることにしました。

ところでE.164というのは国際的な電話番号の体系を定めたもので、
日本の国番号が"81"とかいうのもここでの定義によります。
このE.164をインターネットに透過的に浸透させようと
DNS引きできるようにしたのがENUMというもので、
e164.arpaドメインの下にすべての電話番号のレコードがぶら下がるようになっています。
ただしアナログ回線がまだまだ幅を利かせ、
IP電話も各社の囲い込みが激しい中、
これが実用になるには恐ろしく時間がかかりそうです。

そんな状況を打破しようとしてかどうかは分かりませんが、
ずいぶん前からe164.orgが活動していて
勝手に電話番号を割り振っています。
勝手とはいっても現状システムを完全無視しているわけではなく、
E.164で国際ネットワーク用として定義されている国番号"882"に
多分勝手に決定した"99"の事業者識別番号をくっつけて、
その元で6桁の組織識別番号をほしい人たちに配っています。
各組織に割り当てられるのは4桁の電話番号で1万番号運用できます。
何しろ勝手にやっていることなので、
e164.orgを使っている者同士しかつながらないのですが、
Asteriskには標準でe164.org関連の設定が埋め込まれていたりします。
このあたりが参考になります。

では設定してみましょう。
なお、e164.orgでの接続方法設定にIAX2に設定していることを前提とします。
まずは着信です。
"88-299-<組織識別番号(6桁)>-<内線番号(4桁,最初の2桁は'10')>"
にかかってきた電話を各内線番号に着信させます。
設定ファイル"/etc/asterisk/enum.conf"の[general]セクションにある
;search => e164.org
のコメントアウトを解除(行の先頭の';'を削除)し、
設定ファイル"/etc/asterisk/iax.conf"の[guest]セクションの内容を
type=user
context=mainmenu-iax
に変更し、設定ファイル"/etc/asterisk/extensions.conf"の最後に
[mainmenu-iax]
exten => _88299<組織識別番号(6桁)>10XX,1,Dial(SIP/${EXTEN:11},,tT)
exten => _88299<組織識別番号(6桁)>10XX,n,Hangup
を追加します。
次に発信です。
設定ファイル"/etc/asterisk/extensions.conf"の[default]セクションに
exten => _88299.,1,Macro(enum-call,${EXTEN})
exten => _88299.,n,Congestion
を追加し、設定ファイル"/etc/asterisk/extensions.conf"の最後に
[macro-enum-call]
exten => s,1,Set(cidnum=88299<組織識別番号(6桁)>)
exten => s,n,Set(cidnum=${cidnum}${CALLERID(num)})
exten => s,n,Set(CALLERID(num)=${cidnum})
exten => s,n,Set(counter=0)
exten => s,n,Set(DS=0)
exten => s,n,Set(count=${ENUMLOOKUP(+${ARG1},ALL,c,,e164.org)})
exten => s,n(start),GotoIf($["${counter}" >= "${count}"]?end)
exten => s,n,Set(counter=$[${counter}+1])
exten => s,n,Set(ENUM=${ENUMLOOKUP(+${ARG1},ALL,,${counter},e164.org)})
exten => s,n,GotoIf($["${LEN(${ENUM})}" = "0" ]?start)
exten => s,n,GotoIf($["${ENUM:0:3}"="sip"]?sip)
exten => s,n,GotoIf($["${ENUM:0:6}"="guest@"]?iax:start)
exten => s,n(sip),Set(DS=$[${DS}+1])
exten => s,n,Set(DIALSTR${DS}=SIP/${ENUM:4})
exten => s,n,Goto(start)
exten => s,n(iax),Set(DS=$[${DS}+1])
exten => s,n,Set(iaxhostext=${CUT(ENUM,@,3)})
exten => s,n,Set(DIALSTR${DS}=IAX2/guest@${iaxhostext})
exten => s,n,Goto(start)
exten => s,n(end),Set(counter=0)
exten => s,n(start2),GotoIf($["${counter}" >= "${DS}"]?end2)
exten => s,n,Set(counter=$[${counter}+1])
exten => s,n,Set(DIALSTRING=${DIALSTR${counter}})
exten => s,n,Dial(${DIALSTRING},120)
exten => s,n,GotoIf($[$["${DIALSTATUS}"="CHANUNAVAIL"]|$["${DIALSTATUS}"="CONGESTION"]]?start2:hangup)
exten => s,n(end2),NoOp
exten => s,n(hangup),Hangup
を追加します。
その後
# /etc/init.d/asterisk restart
を実行して設定を反映させます。

通話テストは上記に準じた設定にしているのであれば
組織内の他の電話に88299で始まる外線経由でかけることで可能です。
例えば、内線番号1001の電話機から1002に電話をかけると、
当然1002の電話機には1001から着信した旨が表示され通話も可能ですが、
内線番号1001の電話機から"88-299-<組織識別番号>-1002"に電話をかけると、
1002の電話機には"88-299-<組織識別番号>-1001"から着信した旨が表示され
通話も可能となります。
ちなみに私の知り合いでe164.orgを使っている人を知らないので、
他の組織識別番号との発着信テストについては行っていませんが、
多分大丈夫でしょう。

実はこの設定、特に発信設定にたどり着くまでに結構な時間と試行錯誤が必要でした。
# asterisk -rvvv
を実行して立ち上がっているAsteriskにログインしデバッグ情報を確認したり、
# dig <内線番号(逆文字列、'.'区切り)>.<組織識別番号(逆文字列、'.'区切り)>.9.9.2.8.8.e164.org NAPTR
でDNS引きした結果を確認して行く過程で、
e164.orgでは接続設定をIAXにしている場合通話先を
guest@<電話番号>@<サーバ名>/<電話番号>
と返し、SIPの場合は
guest@<電話番号>@<サーバ名>/<電話番号>
sip:<電話番号>@<サーバ名>
と返していることが分かりました。
SIPのほうは多分問題ない(試してはいない)として
IAXのときは本来
guest@<サーバ名>/<電話番号>
の形式で返すべきと思われ、
e164.orgの単なるバグのような気がしないでもないのですが、
しょうがないので文字列操作で期待される形式に直すようにしました。

このe164.org、実際に役に立つかどうかは分かりませんが、
今回の件でよりAsteriskに詳しくなったので、
そちらのほうが何かの役に立つかもしれません。

2013年3月5日火曜日

ブルーレイディスク

先日録画したSUPERBPWL XLVIIをDVDに書き出しましたが、
あまり実用的でないことがわかったので
今度はブルーレイディスクに書き出してみることにしました。
その前にブルーレイディスクについての勉強です。
何しろ今までまったく使う気がなかったので大した知識を持っていません。

書き込み可能なブルーレイディスクにはDVDと同様に
ライトワンスのBD-Rと削除も可能なBD-REがあります。
BDの場合BD-REが先に策定されてその派生としてBD-Rが作られた記憶があるので、
多分中身にはそれほど差がなく、性能的にどちらが有利ということはない
(後述のLTHを除く)と思いますし、実際値段もそんなに違いません。
間違って消したくないようなものをBD-Rに書くのが正解なのかもしれません。
あとBD-REならコピーワンスなコンテンツのムーブバックにも
対応できる可能性があるでしょう。

記憶容量については1層25GB2層50GBをよく見かけますが、
BD-XL規格では3層100GBと4層128GB(Rのみ)もあるようです。

BD-Rについては素材によって元からある相変化金属系(HTL: High to Low)と、
後に登場した有機色素系のBD-R LTH(Low to High)の2種類があり、
当初は後者のほうがコストが安くなるという触れ込みでしたが、
今見るとどちらも値段はほとんど変わりません。
メーカーによってはLTHしか出していなかったり、ブランドで分けていたりするようです。
LTHのほうが耐久性が低いなどといわれているようですが、
普通の保存の仕方であればそんなには変わらないのではないでしょうか。
HDDのようにメカ部分の磨耗がありませんし、NANDメモリよりはるかに信頼できますが、
物理的ダメージを考えれば、
超大事なデータは2枚焼いて地理的に別々に保管するのがいいでしょう。

またBD-R/REについて市販されているものにはデータ用とかビデオ用とか書かれており、
後者には私的録画補償金が含まれている関係で価格がちょっとだけ高く、
同一メーカーの同一スペック品で比べる(データ用ビデオ用)と、やはり一枚あたり数円高いようです。
どうやら中身は同じものらしいのでどちらを使ってもいいようですが、
データ用を1枚買ってきて試してみようと思ったものの、
店頭ではデータ用をあまり見かけず選択肢も少なく、かえって高かったりします。
そうなるとPCでデータを焼くためもビデオ用を使えばいいわけで、
わざわざデータ用を選択する必要はなさそうです。
自分が信頼を置く製品(メーカー、ブランド)の安いものを
50枚セットでまとめ買いするのが正解のようです。

ここまで調べていて気づいたのは、
この数年でビット単価はDVDよりBDのほうがはるかに安価になったということで、
BDはデータバックアップの有力な媒体になります。
仮想マシンのディスクイメージなどはDVD(1層)に収まらないサイズの
ファイルやディレクトリも多く、小分けするのもめんどうですし、
2重にバックアップするにしてもコストも手間も少なく済みます。
最近はPC用のBDドライブもBD-U6XLのように安くなっていますし、
何かのついでに買ってもいいかな、という気分になってきました。

2013年3月4日月曜日

AirCardのちょっとした情報

そういえばPQI AirCardについての情報でまだ書いていなかったことがあるので、
ここでまとめてご紹介します。

# cat /proc/cpuinfo
Processor       : ARM926EJ-S rev 5 (v5l)
BogoMIPS        : 421.06
Features        : swp half fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant     : 0x0
CPU part        : 0x926
CPU revision    : 5

Hardware        : KeyASIC Ka2000 EVM
Revision        : 0000
Serial          : 0000000000000000

バージョン138のとき
# cat /proc/version
Linux version 2.6.32.28 (root@ubuntu-desktop) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-42) ) #244 PREEMPT Mon Jun 11 11:39:31 CST 2012

バージョン147のとき
# cat /proc/version
Linux version 2.6.32.28 (root@ubuntu-desktop) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-42) ) #125 PREEMPT Fri Dec 14 14:40:11 CST 2012

# cat /proc/cmdline
root=/dev/ram0 rw console=ttyS0,38400n8 mem=32M initrd=0x500000,3M

マイクロSDカード(/dev/mmcblk0p1)が丸ごと/mnt/sdにマウントされており、
ftpでアクセスすると/sdとして見える。