ひっこしました

10年近く放置していたこの blog ですが、以下のサイトにひっこしました。

tera-p.gitlab.io

はてなダイアリーの static site generator (という言葉は、当時は影も形もなかったと思いますが) っぽい挙動に惹かれてはじめたのですが、Movable Type ベースのふつーのブログになってしまって、しかもダイアリーは廃止されてしまうという。最近の static site generator の流行を考えると、時代をひと回り以上は先取りしていたと思うんですけどね。

というわけで、ひっこし先では org-mode で記事を作成して、ox-hugo + Hugo で HTML 化するようにしてみました。詳細は、以下の記事を参考にしていただけましたら。

tera-p.gitlab.io

Dropbox をやめて SpiderOak に

クラウドストレージの安全性

クラウドストレージに Dropbox を使ってきたけど,どうしても「公開されても困らない」ものしか怖くて入れることができなかった.正確には,困るようファイルは TrueCrypt で暗号化された箱を作ってその中に入れたりしてたけど,複数のマシンから同時マウントした際 (してしまった際) の一貫性とか,かなり運用が面倒だった.

ということで,SpiderOak

というわけで Dropbox を捨てて SpiderOak を使っていくことにした.詳しい使い勝手などはまた気が向いたら書くことにして,とりあえず興味を持った人のために Referral Program の URL を.

https://spideroak.com/download/referral/bef7bb0b245789bdc1a97411a6372a15

よくあるタイプで,上記の URL 経由で新規登録すると,紹介したほうもされたほうも無料で使える領域が増える (紹介されたほうは 2GB→3GB に 1GB 増えるはず) というものです.私が始める際にこれに気づかずちょっと損した気分になったので.

OpenIndiana (旧OpenSolaris) で iSCSI のボリュームを複数公開する

はまったので備忘メモ.
(11/18: stmfadm への sbdadm の機能統合についての追記と,view 関係の記述を整理)

  • OpenIndiana に OpenSolaris (snv_134 以前) からアップグレードすると,古い iSCSI フレームワーク (shareiscsi) は使えなくなります.
  • OpenSolarisiSCSI を使っている人は,OpenIndiana へのアップグレード前に (新 iSCSI フレームワークである) COMSTAR について調べておきましょう.
  • COMSTAR を使って複数のボリュームを iSCSI で公開するときは,それぞれを別ターゲットにするのではなく,それぞれのボリュームに対して LUN (logical unit number, 論理ユニット番号) を振って,1 つのターゲットにぶらさげる方法が楽なようです.この方法の概要はこの記事に示します.
  • なんらかの理由でターゲットを分けたい場合は,COMSTAR の target group という概念と戦ってください,ということになるらしいです.私は試していないので詳しくは語れません.

OpenSolaris と OpenIndiana

自宅のデータ倉庫のサーバーには,OpenSolaris を使っている.なんといっても ZFS が幸せすぎるため.
ディストリビューションとしての OpenSolaris は,Oracle による Sun 買収のごたごたでアップデートが止まってしまっていたけど,実質的な後継ディストリビューションとして "OpenIndiana" が開始された.
しばらく OpenSolaris のままで使っていたけれど,ちょっと興味があって OpenIndiana にアップグレードしてみることにした.ZFS のご利益で,もし何か問題があってもすぐにアップグレード前の状態に戻せるし.
あっけないくらいにアップグレードはなんのトラブルもなく成功.したようにみえた.

iSCSI ではまる

上記のサーバーは,VirtualBox仮想マシン用の仮想 Disk を iSCSI で 2 台分公開していた.
なお,OpenSolaris の (古くからある) iSCSI ターゲット機能 (shareiscsi) は,1 つの iSCSI ディスクに 1 つの iSCSI ターゲット (リモートから見える名前) を割り当てるポリシーだった (たぶん) ので,そのように運用していた.つまり,2 つのターゲットを公開して,それぞれ別の iSCSI ディスクが割り当てられている状態.

ちなみに,この (古い iSCSI の) iSCSI ターゲットの作り方はとても簡単.ZFS の pool から iSCSI の領域を切り出して,その領域の shareiscsi というプロパティを on にするだけ.

つまり,元からある ZFS の pool 名を tank とすると,

  1. zfs create -V 20g tank/iscsi1 (20g は切り出すサイズ.この場合 20GB)
  2. zfs set shareiscsi=on tank/iscsi1 (切り出した iscsi1 を公開)

これだけ.同じことを tank/iscsi2 に対して実行すると,iscsi1, iscsi2 がそれぞれ iSCSI target として公開されることになる.

ところが,アップグレード後,VirtualBox から仮想マシンを起動しようとして,上記の iSCSI target がまったく見えない状態になっていることに気がついた.shareiscsi プロパティの値がリセットされてしまったかと,zfs set shareiscsi=on tank/iscsi1 ともう一度実行してみたところ,

cannot set property for 'tank/iscsi1': invalid property 'shareiscsi'

"invalid property" ですか….orz

iSCSI フレームワーク COMSTAR

どうやら,OpenIndiana では,Solaris 用に開発が進められていた新しい iSCSI フレームワークである COMSTAR (Common Multiprotocol SCSI TARget) というものに完全移行してしまい,shareiscsi は捨てられてしまったらしい.
ひょっとして,何かほげればまだ shareiscsi も使えるのかもしれないけれど,どうせ自宅のお遊びだし COMSTAR に挑戦してみることにした.

ただ,COMSTAR はいろいろと柔軟なことができるようになっているかわりに手順が多少面倒くさい.
こちらの記事によると,以下の手順が必要 (説明上,最後の 2 つの手順の順番は入れかえてあります).

  1. 必要なパッケージのインストール
  2. iSCSI 用のボリュームの作成
  3. ストレージプールにLU (論理ユニット) の作成
  4. iSCSIターゲットの作成
  5. viewの追加

パッケージのインストールと,ボリュームの作成,ターゲットの作成は良いとして,LU とか view って何?と戸惑いつつ,COMSTAR に挑戦.

ボリュームの作成

これは shareiscsi と変わらず.すでに作成ずみなのでパス.

LU の作成

COMSTAR で公開するボリュームは LU (logical unit) として COMSTAR に登録してあげる必要がある.LU の登録は,sbdadm create-lu コマンドを用い,

sbdadm create-lu /dev/zvol/rdsk/tank/iscsi1

のように行う.これにより,LU の識別子として GUID が割り当てられる.tank/iscsi2 も同様に LU として登録する.それぞれ,以下の GUID が割り当てられたとする.

tank/iscsi1
600144F00800270450CA4CE1B9780001
tank/iscsi2
600144F00800270450CA4CE28D7D0002

LU による抽象化のご利益は謎.こういう多段の抽象化って,多用するとシステムの見通しがとても悪くなると思うんだけど.

ターゲットの作成

LU を作っただけでは当然リモートから見えないので,iSCSI のターゲットを作成する必要がある.複数ターゲットの使い分けとかアクセス制御とかの COMSTAR の高度な機能を使おうとしなければ,これは簡単.以下の単純なコマンドで作成できる.

itadm create-target

すると,たとえば以下のようなターゲット名 (iSCSI name) が割り当てられる.

Target
iqn.1986-03.com.sun:02:b0673d37-14b2-ec55-cec4-cd169d404b93

ところで,このあたりを触っているといつも思うんだけど,この IQN だか DQN だかの命名規則を考えた人って,とても頭が (自粛) だと思う.

なお,ここでターゲットは 1 つしか作らないのが「簡単に複数ボリュームを iSCSI で公開する」ミソになる.理由は後述.

view の追加

上記の「ターゲットの作成」のところで,「単純なコマンド,って単純すぎない?ターゲットへの LU の割り当てとかはどうするの?」と疑問に思った人は鋭い.ここで本来は view という概念 (と target group という概念) が出てくる.ただ,ターゲットを 1 つしか公開しない (注:後述のように,ターゲットが 1 つでも複数の LU を公開できます) のであれば,何も考えずに以下のコマンドを実行すればよい.

stmfadm add-view 600144F00800270450CA4CE1B9780001 (tank/iscsi1 の GUID)
stmfadm add-view 600144F00800270450CA4CE28D7D0002 (tank/iscsi2 の GUID)

これで,どちらの LU も「すべてのターゲットから」見えるようになる.これで作業は終わり.どちらのボリュームも「ターゲットの作成」で作った iSCSI ターゲット経由で使えるようになる.
それにしても,sbdadm だとか itadm だとか stmfadm だとか,なんでコマンド名がこうもばらばらなんだろう (11/18: id:tokuhy さんに,現在では stmfadm に sbdadm の機能が統合されている旨を教えていただきました).

どうやって 2 つの LU を見わけるの? (確認)

実は stmfadm add-view のとき,(実行結果では何も言ってくれないけれど) それぞれの LU に対して LUN (logical unit number, 論理ユニット番号) が割り当てられている.これは,stmfadm list-view で確認できる…のだけど,全部の LU の LUN を一括して参照する手段がなくて不便.

stmfadm list-view -l 600144F00800270450CA4CE1B9780001

View Entry: 0
    Host group   : All
    Target group : All
    LUN          : 1

stmfadm list-view -l 600144F00800270450CA4CE28D7D0002

View Entry: 0
    Host group   : All
    Target group : All
    LUN          : 2

それぞれ,LUN=1, LUN=2 が割り当てられていることを確認できた.

ターゲットを 2 つ作ろうとすると (余談)

ここまでで目的は達成したのだけど,ちょっと余談.
shareiscsi と同じような環境を作ろうとすると,2 つターゲットを作ってそれぞれに LU を 1つずつ割り当てたくなる.しかし,これをやろうとして itadm で 2 つターゲットを作成してしまうと,2 つのターゲットそれぞれに LU が 2 つずつ割り当てられているように見えるという,かなり直感的な理解が困難な状態になる.
これは,stmfadm add-view のデフォルトの振る舞いによる.期待したようなふるまいをさせるには,view の概念をきちんと理解する必要がある.
いろいろ調べてなんとかわかったつもりなところによると,view というのは,「ある LU が,どの target group に属する target (ないし host group という別の概念のモノ) から見えるか」を制御するための概念 (LU をターゲットに割り当てる概念でないことに注意) になる.ということで,target group というまた別の概念を理解できないと view もきちんとは理解できないのだけど,そこまで説明する気力も試す動機もない (私の環境では target は 1 つで困らないし) ので,target group の説明はパスします.

ついでにもう一つ愚痴.難しいことを柔軟に実現できるフレームワークってすごいと思うけど,簡単なことは簡単にできるようにするような設計も大事だと思うんだけどなぁ.

おまけ:VirtualBox から使う

VirtualBox からこれらの iSCSI ボリュームを利用するためには,VBoxManage addiscsidisk コマンドを使う."--lun" オプションで陽に LUN を指定する.こんなかんじ.

VBoxManage addiscsidisk --server x.x.x.x --target iqn.1986-03.com.sun:02:b0673d37-14b2-ec55-cec4-cd169d404b93 --lun 1
VBoxManage addiscsidisk --server x.x.x.x --target iqn.1986-03.com.sun:02:b0673d37-14b2-ec55-cec4-cd169d404b93 --lun 2

仮想メディアマネージャーから addiscsi した iSCSI ボリュームが見えるようになる.

説得力ないかもしれませんが

つい COMSTAR の体系に対する文句がいろいろ出てしまいましたが,それはともかくとして iSCSI + ZFS on OpenSolaris (OpenIndiana) の環境はとても快適です.また,COMSTAR になって iSCSI の処理が軽くなった?ようでもあるので,CPU が非力になりがちなデータ倉庫にはうれしいところです.本記事が,試してみようかな,と思われた方の参考に少しでもなれば幸いです.

LANDISK HDL-GS+CUPS で IPSiO SP4000 を使う

9,024 円の業務用?レーザープリンタ

論文は印刷して読みたくなることがある.いままで家で印刷するときは,HP Deskjet 957c を使っていた.某 C 社のプリンタと違って両面印刷をちゃんと顔料インクでやってくれるし,それなりに読める印字品質だったので満足していたけど,いかんせんやっぱり遅い.ドラフトモードで印刷すれば少しは早くなるけど,かなり汚ない印刷になってしまう.ということで,レーザープリンタが欲しかった.

以前の職場で Brother の BR-Script (PostScript 互換) 機を使っていてかなり満足していたので,HL-5350DN か 5380DN あたりを買おうか,でもまだ 957c のインクはまだ結構残っているし,とか考えているうちに,RICOH IPSiO SP4000 という (おそらく) 業務用のレーザープリンタAmazon で 9,024 円というわけのわからない値段で売られているのを見つけてしまった.型落ちモデルで LAN がない,両面印刷がないということだったけど,前者はいざとなれば LANDISK をプリントサーバ化すればいいし,両面印刷は奇数ページ印刷→手差しトレーに移動→偶数ページを逆順に印刷と,ひと手間 (ふた手間?) かければ良いだけだよな…とか思っているうちに,気がついたらつい買ってしまっていた.

満足

プリンタ自体は満足です.速いし印字も綺麗.ウォームアップもこんなもんなら十分.もうインクジェットで文書印刷をする気がしない.これが 9000 円とは信じられない.ちょっと図体は大きめだけど,奥行 45cm のメタルラックにジャストフィットするのでいいかんじ.これで原稿書きもはかどる…くらいなら苦労はしないんだけど,印刷チェックのたびに待たされずに済むのは,精神衛生上は良いかも.

LANDISK に繋いでネットワーク PS プリンタ化

というわけで,おかげでなんとか原稿にも目処がついたので,これを家のどこからでも MacBook から無線LAN経由で使えるように,LANDISK HDL-GS に繋いで CUPS 経由で 9,000 円のネットワーク PS プリンタを構築,としゃれこんでみようとしてみた.

ちょっと苦労してしまった.以下,自分でも次にやるときに忘れそうなので備忘録.

準備
  • HDL-GS の debian 化 (探せばいろいろ記事があります).ちなみに lenny 環境で構築.
  • sudo apt-get install cups
  • HDL-GS の USB ポートに SP4000 を繋ぐ.

なお,CUPS をインストールするにあたって,avahi の設定あたりで dbus 関係のソケットに繋ぐ permission がない,というメッセージ (詳細失念) がでてくるかもしれないので,その場合は sudo /etc/init.d/dbus restart

なお,USB ポートに SP4000 を (電源を入れて) 繋いだ状態で lsusb をすると SP4000 が USB 接続機器として表示されるはず.

CUPS の設定

ここで,http://landisk:631/ ("landisk" は LANDISK のホスト名) に他ホストから繋ごうとしてもセキュリティ設定の関係で繋がらない./etc/cupsd.conf に以下の追記が必要.なお,LANDISK の IP アドレスは 192.168.0.2 で,CUPS の設定は 192.168.0.0/24 のホストから実施できるようにする.

  • Listen 192.168.0.2:631
  • Allow From 192.168.0.0/24 を,Location /, Location /admin, Location /admin/conf 以下にそれぞれ追記.

これで,sudo /etc/init.d/cups restart をした後に 192.168.0.0/24 上のホストの Web ブラウザから http://landisk:631/ にアクセスすると,CUPS の設定ページが見えるはず.

プリンタデバイスの作成

そこから「管理」タブを選択し,「新しいプリンタの検索」ボタンを押すと,USB ポートに繋いだ SP4000 が…実は検出されない.調べてみると,CUPS は /dev/usb/lp0 に USB プリンタのデバイスが存在することを期待するようだ.でもそんなものは LANDISK 上にはない.というわけで作成.

  • mkdir /dev/usb
  • mknod /dev/usb/lp0 c 180 0
  • chmod 666 /dev/usb/lp0

「新しいプリンタの検索」で SP4000 が見えるようになったはず.

PPD ファイルの取得

次に PPD の指定で困るはず,SP4000 で使えそうな PPD ファイルがリストにない.これは,

ちなみに,リコー純正の PPD ファイルは,リコーが ORCA 用に配布している改変版 Ghostscript に含まれるモジュールに依存している?ので,指定してもうまくいかない.foomatic の PPD 集 (あ,パッケージ名失念) にも RPDL4 用の PPD が含まれているはずだが,これをインストールしようとするとなぜか依存関係でずるずると大量のパッケージがインストールされてしまうことになる.

用紙・解像度設定とテスト印刷

「プリンタ」タブの「プリンタオプションの設定」で,

  • 用紙サイズを A4 に,
  • 解像度を 600x600DPI に変更.

あとは「プリンタ」タブの「テストページの印刷」で CUPS の「Printer Test Page」が SP4000 から印刷されるはず.

成功したのはいいけれど

で,印刷してみるとわかるけれど,LANDISK の CPU が非力すぎて,内部での Ghostscript の実行がむちゃくちゃ遅い….せっかくプリンタ自体の印刷は速いのに,これでは台無し.ちょっと常用は無理っぽい.

また少し考えてみよう.

iPad を一番安く買える国は

というような記事をほうぼうで見つけて,なんか Big Mac index の話に似ているなあ,と思って調べてみたら,同じような動機による調査だった.でもなんか変だったのでいろいろ調べていくうちに,かなり深入りしてしまった.せっかく調べてしまったので備忘録を兼ねて.

結論としては,購買力による比較では,日本はスイスと米国の次に「安く」iPad を手に入れることができます.ただ,これはアップルジャパンによる流通コスト削減…などの結果であろうはずがなく,日本の消費税が他の国の付加価値税 (VAT) より税率が低いことによるものです.VAT を差し引くと,別に価格自体は割安でもなんでもありません.だまされたりしないように気をつけましょう.なお,iPad の生産・流通には販売国内で付加価値をつける余地がほとんどないので,(Big Mac index のように) 購買力を比較するための指標には iPad index というのはまったく使えないと思います.

Big Mac index

まずは Big Mac index (ビッグマック指数) のお話から.英国の経済誌である The Economist 誌が実施している価格調査で,世界中の国で売られている Big Mac の「価値」を 10 年以上にわたって継続的に調べている

なんでマジメな経済誌が,マクドナルドに頼まれるでもなくそんな一見すると意味があるのかないのか微妙そうな調査をしているかというと,「どの国の人が一番経済的に豊かか?」という疑問に答えるためとされている.

経済的にどのくらい豊かか,というのは,賃金の大小だけでは計れない.日本は賃金が高いと言われるけど,賃金が高いからといってその分他の国よりモノが沢山買えるかというと,必ずしもそういうわけにはいかない.モノの値段にもよるので.極端な話,時給が他の国の 100 倍高くても,物価も他の国の 100 倍高ければ,買えるモノは変わらない.というわけで,単に賃金の大小を比べるのではなく,物価の影響も考えて「1 時間働いて,どのくらいモノが買えるか」というのを経済力の指標にしよう,という話がある.これは購買力と呼ばれる.

なので,世界の国々の購買力を比較するためには,世界中の国々でそれぞれ賃金とモノの値段とを調べて比較しましょう,ということになるんだけど,賃金はまあ良いとして,「モノの値段」って,何の値段? いろいろな製品やサービスの値段の平均? 単なる平均じゃまずいだろうけど,どうやって重みづけするの? そもそも国ごとに生活様式や文化が違うんだから,売っているものはばらばらじゃない? たとえば日本や他の東アジアの国々では「お米の値段」は重要だろうけど,欧米ではそもそもあまり関係ないよね? ということで,世界中の国々で比較可能な「モノの値段」というのを定義することはけっこう面倒くさい.

そこで出てくるのが,ビッグマックビッグマックは世界中でほとんど同一品質のものが販売される (日本のやつは小さいんじゃないかと言われるけど,少なくともビッグマックに限ってはそんなこともなく.1 個あたり,日本で 224g (555kcal)米国で 214g (540kcal) とされている) し,ビッグマックを作るための原材料費や運送費,ビッグマックを売る店舗の光熱費や店員の給料など,いろいろな要因から値段が決まる.ということで,「総合的な購買力の比較」に使いやすいんじゃないか,と.

で,実際のビッグマックの値段は,米国で $3.58,日本で 320 円 (地方だともっと安い?) らしい.Google によると今日の為替レートで 3.58 USD ≒ 327 JPY とのことなので,あれ? 日本は米国に比べて物価は高くない?

日本の購買力

実は (少し前までの) 日本マクドナルドの低価格戦略のおかげで,ファーストフードについてはそんなに割高ではなくなっている (以前ほど割安でもないけど).バブル崩壊からちょっと経った 1995 年のビッグマックの値段は 391 円 (3%税込) だった.10 年後の 2005 年には 250 円にまでなったあと,最近は軌道修正を図って 2010 年には上記の通り.15 年で約 70 円,2 割弱ほど値段が安くなっている.

米国ではどうだったかというと,1995 年は $2.32 (≒218円),2005 年は $3.06 (≒339円) だった (出典).15 年でこちらは $1.26 の値上がり.実に 50% 以上も高くなっている.

比べてみると,1995 年には日本のビッグマックは米国のビッグマックより 1.8 倍高かったのが,15 年経った今では日本の値下げと米国の値上げによりほぼトントンになっている.つまり,ビッグマックの値段で見ると日本のモノの値段は米国のモノの値段に比べてそんなに高くない.

それでは賃金のほうは,と思って UBS 銀行の Prices and Earnings というレポート (2009 年版) を参照してみた.9 ページに,"Wage levels" という章があって,主要都市の賃金比較の表が載っている.gross というのが額面賃金,net というのが可処分所得 (所得税とか社会保障費を除いた実質賃金) の,それぞれニューヨークを 100 とした指数になっている.gross が高い順に,コペンハーゲンチューリッヒジュネーブ,ニューヨーク,と続いて…東京は? あった.

東京の賃金水準は,対ニューヨーク比で,額面で 74 %,可処分所得で 83% しかない.orz

この表は 1USD = 100JPY = 0.765EUR で計算してあるみたいだから,現在の為替レートで計算するともう数パーセントは良くなるんだけど,少なくも対米国比で,必ずしも「日本は賃金が高い」とは言えない.

このデータを使った Big Mac index も上記のレポートに載っている (11 ページ) けど,使っているビッグマックの値段がわからない (少しデータがあやしい) ので,自分で計算してみる.27 ページに掲載されている1時間あたり賃金の表を見ると,可処分所得 (net) として得られるのはニューヨークで $19.0/時間,東京で $15.7/時間.このレポートは 1USD=100JPY で換算されているので,東京は 1 時間で 1,570 円の可処分所得が得られることになる.すると,

  • 東京では平均して 320/1,570*60≒12.2 分働くと 1 個のビッグマックが買える.
  • ニューヨークでは 3.58/19.0*60≒11.3 分で 1 個のビッグマックが買える.

ということになる.ビッグマック自体の値段はちょびっと米国のほうが日本より割高なんだけど,購買力で見ると,賃金が良い米国のほうが日本より「割安に」ビッグマックを手に入れることができる.

iPad を一番安く買える国は

というあたりを念頭に入れながら,豪州コモンウェルス銀行 (CommSec) が作った iPad の国際価格比較 を眺めてみる.Wi-fi 16GB モデルで,米国 $499,日本 $536,ユーロ諸国 (ドイツ,フランス,イタリアなど) $612,英国 $620,スイス $560,オーストラリア $533,カナダ $520.これだけでは Big Mac index のような購買力指数にならないので,賃金のほうもデータを持ってくる.ニューヨークと東京の時間あたり賃金 (可処分所得) は前述の通り.同じページから,フランクフルトは $14.5,パリ $13.3,ミラノ $11.5,ロンドン $13.9,チューリッヒ $22.6,シドニー $14.0,トロント $12.8.ちなみに本当は為替レートをきちんと合わせないといけないが,面倒くさいのでそのまま使ってしまうことにする.

すると,iPad index,すなわち何時間働くと iPad が一台買えるかという指標が出てくる.

都市名 iPad の価格 時間あたり賃金 (net) iPad index - 何時間働けば iPad を買えるか
チューリッヒ $560 $22.6 24.8時間
ニューヨーク $499 $19.0 26.3時間
東京 $536 $15.7 34.1時間
シドニー $533 $14.0 38.1時間
トロント $520 $12.8 40.6時間
フランクフルト $612 $14.5 42.2時間
ロンドン $620 $13.9 44.6時間
パリ $612 $13.3 46.0時間
ミラノ $612 $11.5 53.2時間

比べてみると,単に価格比較では日本は米国,カナダ,オーストラリアに次いで 4 番目の値段だったが,購買力で考えると,スイスと米国の次に「安く」iPad を手に入れることができることになる.

これは,冒頭に述べたようにアップルの企業努力…はおそらく価格をいかに高止まり安定させるかのほうに費されているので関係なくて,円高なので円建ての名目賃金が対 USD,対 EUR のどちらに対しても大きく見えてしまうことと,日本の所得税や消費税がこれらの国に対して安いことによる.

税金が安いというのは,国民みんなで借金をかかえるか,他の国では受けられるような行政サービスが受けられなくなっていることを意味する (まともな国であれば).ということで,税金が安いために見かけの購買力が大きくなるのが幸せ…かというとそんなこともないので,税込みだけの比較ではそのあたりちょっとアンフェアな比較になる.また,もうちょっとぶっちゃけ言ってしまうと,ビッグマックの価格はまだしも国内の様々なモノやサービスの上に成り立っているが,iPad なんて国内でやることと言えば広告出して注文取って金取って配るだけなので,国内での付加価値がほとんどない.すなわち,購買力云々なんてことを議論するのはあまり意味がない.国内法人のマージンと輸送費が同じなら,税抜き価格はどの国でも同じになるはずだから.

iPad を一番安く「売ってる」国は

では,税抜ベースで見てみるとどうなるだろう.

日本の消費税は 5% だから計算しやすいけど,他の国の iPad にかかっている VAT なんて調べたくもないなぁ.まあいいや,ざっくり計算してみよう.ドイツやフランス,イタリアなどのユーロ圏の VAT はだいたい 20% くらい,英国は 17.5%,豪州は 10%,スイス 7.6%,カナダは日本と同じ 5% らしい.で,税抜きで同じく Wi-fi 16GB モデルの価格を見てみる.米国 $499,日本 $510.5,ユーロ圏諸国 $510,英国 $527.7,スイス $520.4,オーストラリア $484.5,カナダ $495.2.

あれ? 日本は英国,スイスに次いで 3 番目に高いマージンを取っているんじゃないか?

次に,税別での iPad index.賃金も gross のほうで比較.

都市名 iPad の価格 (税抜き) 時間あたり賃金 (gross) 何時間働けば iPad を買えるか (税別)
チューリッヒ $520.4 $30.3 17.2時間
ニューヨーク $499 $26.1 19.1時間
フランクフルト $510 $22.1 23.1時間
東京 $510.5 $19.4 26.3時間
シドニー $484.5 $18.3 26.5時間
パリ $510 $18.0 28.3時間
トロント $495.2 $17.1 29.0時間
ロンドン $527.7 $18.0 29.3時間
ミラノ $510 $16.6 30.7時間

まあだいたい真ん中くらい.ちなみに,こうして比べてみるとわかるように,(前述の UBS レポートが作られたときの為替レートで見ると) 額面ベースでは日本の賃金水準は他の先進国主要都市に比べてそれほど良いわけではない.たとえば,フランクフルトは東京より賃金水準が高い.すなわちその分税金が高いということで,さっきの表と比べてみると,フランクフルトの人は iPad を買うのに 42.2 時間働かなくてはいけなくて,しかもそのうちの半分弱,約19時間は「税金のため」の労働.うわー,これはこれで個人的にはさすがにちょっとやってられないかも.

iPad index はあまり意味がない

と,ついついいろいろと調べてしまったんだけど,Big Mac index と違って iPad index というのはあまり意味がない.ビッグマックを作って売るためには国内の様々なサービスや原料・労働力を使う必要があり,ある程度はそれらを反映した指標にならないこともない (ただし,完全に反映しているわけでもない) が,さっきも書いたように,iPad を国内で売る過程ではほとんど何も国内で付加価値をつけたりしてしないので.

ただ,税抜きでの各国の価格を横並びで比較してみるのは,現地法人の商売のやり方を見るのに興味深いかもしれないと思った.ただ,これも近年のように巨額の投機資金が右往左往する経済情勢では,実体経済の反映というよりは投機の思惑で為替レートが振れてしまうところも大きいので,実際にはこちらの影響もかなりあると思うけど.

ja.www.mozilla.com は不正なセキュリティ証明書を使用しています

安定性またはセキュリティの問題を生じるものとして知られているアドオンを検出しました

Firefox (3.5.3) を起動したら,上記のようなタイトルのダイアログウィンドウが出てきた.
内容は以下の 2 つ.

Microsoft 関係?何があったんだろう,と思って,「詳細」と書かれたリンクをたどってみた.

ja.www.mozilla.com は不正なセキュリティ証明書を使用しています

新しいブラウザウィンドウが開かれて,https://www.mozilla.com/ja/blocklist/ にアクセスしに…行ったと思ったら,
https://ja.www.mozilla.com/ja/blocklist/ にリダイレクトされた.そうしたら,

接続の安全性を確認できません

ja.www.mozilla.com に安全に接続するように求められましたが、接続の安全性が確認できませんでした。

安全に接続する場合は通常、あなたが適切な相手と通信することを確認できるように、信頼できる証明書を提供してきます。しかし、このサイトの証明書は信頼性を検証できません。

どうすればよいのか?

これまでこのサイトに問題なく接続できていた場合、このエラーが表示されるのは誰かがこのサイトになりすましている可能性があるということであり、接続すべきではありません。

技術的詳細を表示

危険性を理解した上で接続するには

という警告をブラウザが出してきた.

いやあ,それはちょっと面白すぎるでしょう.

何がおこったか?

原因は,上記の「技術的詳細を表示」をクリックすると表示される.

技術的詳細を表示

ja.www.mozilla.com は不正なセキュリティ証明書を使用しています。

この証明書は *.mozilla.com にだけ有効なものです。

(エラーコード: ssl_error_bad_cert_domain)

要するに,(HTTPS 接続をしたときに) 接続先サーバの「ja.www.mozilla.com」が,「*.mozilla.com にだけ有効な」証明書を提示してきたのが不正だ,ということを言っている.
「*」は「何でも良い」という意味 (ワイルドカード) だから,「ja.www.mozilla.com」が「*.mozilla.com」の証明書を使っても良いように思えるけど何故?とも思えるけど,このあたりは HTTPS の罠.RFC2818 によれば,

3. Endpoint Identification

3.1. Server Identity

(中略)

Matching is performed using the matching rules specified by [RFC2459]. If more than one identity of a given type is present in the certificate (e.g., more than one dNSName name, a match in any one of the set is considered acceptable.) Names may contain the wildcard character * which is considered to match any single domain name component or component fragment. E.g., *.a.com matches foo.a.com but not bar.foo.a.com. f*.com matches foo.com but not bar.com.

と書いてある.すなわち,「*」は (ドメイン名の区切り記号である) ピリオド (.) を含む文字列とはマッチしないんだそうな.つまり,www.mozilla.com は *.mozilla.com の証明書を使っても良い (www.mozilla.com は *.mozilla.com にマッチする) けど,ja.www.mozilla.com は駄目 (ja.www.mozilla.com は (ja.www がピリオドを含むため) *.mozilla.com にマッチしない) よ,ということ.

というわけで,結論としては,おそらく mozilla.com の運営側が RFC2818 の上記ルールを知らなかったために起こった凡ミスというだけかな,と思う.

でも,セキュリティ警告をしているサイトがセキュリティ関係のミスで「怪しい」状態に見えてしまう,というのは困ったものだなぁ….

もう一つのオチ

まあ,とりあえず単なるミスらしいということがわかったので,証明書エラーを無視して先に進んでみた.

今度は,https://www.mozilla.com/en-US/blocklist/ にリダイレクトされた.たらい回しの上,結局そこかい.

SHIMON Assistfon/Intrafon をなんとか使えるようにする

2 台で 2,399 円のインターネット TV 電話システム

実家に行ったら,TV電話機らしき箱が2つ転がってた.父親が「子供のおもちゃ用に買ってきたが,設定がわからなくて転がしてある」ということだった.
某通販サイト(後述の理由により,店名等は伏せます)で2台セット 2,399円でたたき売りされていた,Intrafonという製品.
通販サイトによれば,

※イントラフォンのテレビ電話サービスは終了しております。IP電話としての機能はご利用いただけます(別途IP電話サービスへのお申し込みが必要です。)

とのことなので,何かの企業向けTV電話サービスの会社が潰れて,そのサービス用の端末がバッタ市場に流れたというあたりだろうか.

使えない

とりあえずマニュアルを読んで設定して…みようと思ったけど,SIPサーバの設定とかできる気配がない.

IP電話としての機能はご利用いただけます(別途IP電話サービスへのお申し込みが必要です。)」ということは,SIPが使えるかと思っていたのだけど,マニュアルを読む限りでは,どうやら H.323 プロトコルしか使えないように見える.日本で H.323IP電話サービスを提供しているプロバイダってあったっけ?

という疑問はとりあえず脇におい解いて,H.323 だったら IP アドレス直打ちで通信できるかな,と思って試してみたが,発信できない(NetMeeting からの呼接続には反応する;通話できるかどうかは,NetMeeting側にマイク・カメラを接続してなかったので確認せず).

いろいろと調べてみたところ,どうやらこの電話機は, "gatekeeper" と呼ばれるサーバに端末を登録し,gatekeeper 上のIDで接続先を指定しないとだめなようだ.さらに,どの gatekeeper に登録するかは(普通には)設定できない.電話機の設定メニュー上では伏字になっているが,「イントラフォンの電話サービス」のサーバが固定的に指定されている(グレーアウトされていて変更できない)ようだ.

だとすると,これ,「IP電話としての機能はご利用いただけます(別途IP電話サービスへのお申し込みが必要です。)」って無理じゃないの?
機能に対して値段が値段なだけにジャンク品ということだろうから,まともに使えないことに対して文句を言うつもりはないけれど,嘘を書いて売りさばこうとするのは非常に気に食わない.

というわけで,ぶつぶつ思いながらもさらにいろいろ調べてみた.Intrafon の設定に関する情報はあまりなかったが,Intrafon の後継機種?の「Assistfon」という端末を,3-5月ごろにやはり上記通販サイトが売りさばいていたらしく,いくつか情報が見つかった.要するに,

  • Gatekeeper を自前で立てる.
  • 端末の裏設定メニューを使って,自前で立てた Gatekeeper に登録に行くようにする.

の二つの設定をすれば,とりあえず(同一LAN内なら)使えるようになるようだ.というわけで,以下に備忘録をかねて設定を.

The GNU Gatekeeper (GnuGK) の導入

フリーの Gatekeeper としては,GNU Gatekeeper が使えるらしい.とりあえず,上記から最新版の 2.3.0 のバイナリをダウンロードして,アーカイブを解凍してみた.解凍先は Windows2000 マシン.本来は,様々な設定をしなくてはならないようだが,とりあえず bin/gnugk.exe を起動してみた(←乱暴).当然,設定ファイルが無いといって警告が出る.

でも,なんとなく起動してしまったようだ.

Assistfon/Intrafon への設定

Intrafon 2台にそれぞれ以下の設定をした.

  • 裏メニューにアクセス.
    • URL は,http://<電話機の IP アドレス>:8080/
    • ID とパスワードの入力を求められるので,ID: Administrator, Pass: AdminPass を入力
  • メニューから「ITSP」を選択する(おそらく "Internet Telephony Service Provider" の設定の意味).
    • Gatekeeper 1」に,上記の GNU Gatekeeper を稼動させたマシンの IP アドレスを設定.
    • H.323 ID」と「E.164」に適当な文字列(数字だと入力がしやすい)を設定.これが通話時の呼び出しIDになるので,端末ごとに違う文字列を設定する.以下,1台目の端末に「123」,2台目の端末に「456」を設定したとする.
    • 一番下の「Save」ボタンを押す.
  • H.323 Option」を選択する.
    • 「Tunneling」と「start-h245 request」を両方とも OFF にする.
    • 「Save」を押す.

ちなみに Save 後に再起動はいらない.また,「H.323 Option」の変更の要否は不明(試行錯誤しているうちに上記の設定で接続できるようになったが,変更を戻して試してみるのを忘れた).

電話をかける

端末から,上記の「H.323 ID」と「E.164」に設定した文字列を入力する.たとえば,「123」を設定した端末から,(受話器を上げて)「456」をプッシュし,決定ボタンを押すと相手(「456」を設定した端末)の着信ベルがなる.受話器を上げればセッション成立.

画質を向上させる

上記でもそれなりの画質でTV電話ができるが,LAN内であれば下記の設定をすればより画質が良くなる(ように思えた).きちんと見比べたわけではないので,どの程度の改善かは不明.

  • 上記裏メニューで,「Call Set」を選択
  • 「Bandwidth」を 768kbps に変更
  • 「Frame Rate」を Fast に変更

インターネット経由で通信…はこのままじゃできない.たぶん.

H.323 は NAT やファイアウォール越えに一工夫必要なので,それはまた別の機会に追求予定.電話機(の表メニュー)にNAT関係の設定はあるが,NATルータにグローバルな固定IPアドレスが割り当てられることが前提の設定に見える.GnuGK に H.323 Proxy の設定をすれば解決できそうな気もするけど,かなり H.323 の世界に入り込まないといけなさそう.

販売サイトの商売の姿勢をちょっと疑う

ということで,おもちゃとしてはそれなりに楽しめたが,それはそれとして,やはり販売元の商売の姿勢はいただけない.繰り返しになるけど,

  • ジャンク品がまともに使えないことに対して,文句をつけるのは筋違いだとは思う.
  • ただ,嘘の売り文句で素人に期待を持たせて「騙す」ような売り方は,商売のやり方としてどうだろう,とも思う.

まあ値段がジャンクだし,ジャンクと理解して遊び用に買うのは面白いと思いますが.転売狙いや「安くTV電話を導入」などと考えているのであれば,やめておきましょう.