Category Archives: Technology

[続] DoCoMo + FaceTime

PwnageTool 4.2がリリースされたので、DoCoMo+FaceTimeの具体的な手順を書いてみる。
Windowsでもできると思いますが、この手順はMac OS Xで行うことを想定しています。 

前回同様Jailbreakをするとサポートを受けられなくなる可能性があり、私はいかなる場合でも責任は負いかねます。[追記11.3.9]また国際SMSが送信されドコモから高額な請求がなされる危険性があり、そういった場合でも一切責任は負いかねます。

Jailbreak

方法はググってください。

必要なソフトをインストール

iOS 4以降(確か)はCarrier Bundleにはsignatureがついており、signatureが正しくない場合はCommCenterが正しく動作しません。それらを回避する為のパッチが出ており、4.2.1に対応したものが下記URLからダウンロードできます。

CommCenter Patch by wortel (4ALL4) Update (4.0 up to 4.2.1)

CommCenterのPatchはCydiaのrepositoryでもインストールできます。
cydia.iphonemod.com.brに含まれております。

またDoCoMo SIMの為に設定を変えるのでDoCoMo向けのCarrier Bundleをインストールすることにします。NTTdocomo Carrier bundleってやつです。

さらにこのNTTdocomo Carrier bundleは4.2.1で動かない為、ファイルを移動させる必要があったり後で内容を書き換えたりする必要があるので、OpenSSHもインストールします。くれぐれもrootパスワードをMobile Terminalなどで変更してから実施してください。一瞬でウィルスにやられます。

設定

インストールが終わったら、実際に使えるようにします。 

まずNTTdocomo Carrier bundleを正しい位置に移動します。SSHでiPhoneに接続し、docomo_jp.bundleおよび44010をiPhoneディレクトリに移動させます。

Pegasus:~ root# cd /System/Library/Carrier\ Bundles/
Pegasus:/System/Library/Carrier Bundles root# ls -al
total 8
drwxr-xr-x   4 root   wheel   170 Feb 18 00:33 .
drwxr-xr-x  37 root   wheel  1258 Feb 17 00:13 ..
lrwxr-xr-x   1 mobile staff    16 Feb 18 00:33 44010 -> docomo_jp.bundle
drwxr-xr-x   4 mobile staff   340 Feb 18 00:33 docomo_jp.bundle
drwxr-xr-x 176 root   wheel 15470 Feb 17 01:23 iPhone
Pegasus:/System/Library/Carrier Bundles root# mv 44010 iPhone/
Pegasus:/System/Library/Carrier Bundles root# mv docomo_jp.bundle iPhone/

ここで再起動してください。おそらくNTTdocomo Carrier Bundleが正しく動作してdocomoの画像ロゴになるはずです。(もしかしたらうごかないかも。動かなくても平気なはずです)

そうしたら、/System/Library/Carrier Bundles/iPhone/docomo_jp.bundle/carrier.plistをMac OS Xにコピーします。TransmitとかのSFTP対応クライアントを利用すると便利です。

コピーが完了したら、それをProperty List Editor(ダブルクリックして起動しない場合はXcodeをインストールしてください)で開いて名前をつけて保存でXML Property Listとして保存し、テキストエディタで編集します。

保存したcarrier.plistの329行目付近

	<key>signature</key>
<data>AAAAAAAAAAAAAAAAAAAAAAAAAAA=</data>

の<data>~</data>を以下のように書き換えます。

	<data>thisisafakesignaturethisisafakesignature</data>

そして356行目付近の

</dict>
</plist>

前に

	<key>PhoneNumberRegistrationGatewayAddress</key>
<string>+447860015000</string>
<key>RegistrationOptInRequired</key>
<true/>

を付け足して保存します。その後それをiPhoneの/System/Library/Carrier Bundles/iPhone/docomo_jp.bundle/carrier.plistに戻した後再起動をします。

これでDoCoMo回線でFaceTimeが利用可能となるはずです。

不明点などありましたらコメントください。

iPhone 4 + NTT DoCoMoの回線でFaceTime

NTT DoCoMo回線を使ってFaceTimeする方法

昨今日本通信とかでドコモの回線でiPhoneを使っている人が多いと思いますが、FaceTimeはサポートされておらずせっかくの正面カメラが利用価値がなくて残念な人は多いと思います。いろいろ試した結果、FaceTimeをドコモ回線でアクティベーションして利用することに成功しましたので、その方法を書きたいと思います。

追記: 現在以下の方法を用いなくともドコモ回線でFacetimeならびにiMessageのActivationが可能になっています。

注意: この方法はJailbreakされた状態でのみ可能であり、この方法を試した結果故障した場合でも私は責任を負いかねます。自己責任にてお試しください。またJailbreakの仕方なども私にお問い合わせいただいてもお答えできません。

なぜ動かなかったのか+動く原理

まずなぜFaceTimeがドコモ回線で使用できないのか。これはFaceTimeの仕様とドコモの国際SMS対応に依存します。FaceTimeはFaceTime – The iPhone Wikiに書いてあるとおり、新しいSIMを挿した時に電話番号をAppleのサーバに登録する為に+44 7786 205094へSMSを送信し、Appleのサーバに正しくSMSが届くことでアクティベーションが行われます。

この際国際SMSを送信するのですが、ドコモ回線から+44 7786 205094へのSMSが届かない為、アクティベーションが行えません。

このアクティベーション番号は実はキャリアによっては国際SMSを送らずにすむよう、たとえばAT&Tでは28818773などといった自キャリア内の特殊番号を利用しているところがあります。こうした番号は通常はキャリア内からしか送信できないように制限がかかっている為使えません。しかし/System/Library/Carrier Bundles/iPhoneに格納されている各キャリアの登録番号の中には特殊番号以外を利用しているキャリアも存在するため、その番号のうちドコモ回線からSMSが送信可能な番号を利用することでFaceTimeをアクティベーションすることができます。

使い方

ドコモ回線からSMSが送信可能な番号を探したところ、vivo_br.bundleに格納された+447860015000という番号はドコモ回線からSMSを送信することが可能であることがわかりました。後はそれをFaceTimeのアクティベーション番号に設定すれば完了です。

これはいくつか方法がありますが、簡単な方法としてはCydiaで入手できるNTT DoCoMo Bundleをインストールした後docomo_jp.bundlecarrier.plistに以下の行を加えれば完了です。

<key>PhoneNumberRegistrationGatewayAddress</key>
<string>+447860015000</string>

後はUnknown.bundleのPhoneNumberRegistrationGatewayAddressを変更するなどです。

OS Xの外付けディスクのマウントポイントを指定する

忘れないようにする為の備忘録的な記事

家にはすでにNASがあるんだけど、家に4台!もあるMacのTimeMachineがNASのディスクI/Oを食いまくって他のサービスに支障が出てきたので、TimeMachineをNASから分離して管理することにした。

というわけで、Mac mini Serverに何かストレージをつないでそこにバックアップしようと計画。Mac mini ServerにFirewire経由でつなぐ外付けハードディスクを買った。

買ったのは、
WDのMy Book Studio Edition II
RAID1/0対応でファンレスで静かっていういい子。

帰ってきてMac miniにつないで、マウントさせたんだけどデフォルトのマウントポイントは /Volumes いいっちゃいいけど、もし同じボリューム名をもつドライブ挿したらマウントポイントが変わってしまう可能性があったので、マウントポイントを指定してマウントさせることにした。

まずはDiskのUUIDを取得する必要があるので、Terminal開いて以下のコマンド。

$ diskutil info /Volumes/external

externalはボリューム名。そうするとぞろぞろっと結果が出てくるのだけど、その中にVolume UUIDっていう項目がある。それがUUID。

そうしたら、/etc/fstab を編集する。

perseus:~ hiro$ cat /etc/fstab
UUID=DC59F6C5-5FC4-3686-A213-E567935DFF56 /u/external hfs rw

fstabの書き方は調べてください。これで毎回同じ場所にマウントされるようになった。

HTML5 Logoはまだ公式じゃないよ!

HTML5 Logo

一昨日僕が働いてるW3CのHTML WGがHTML5のロゴを発表した。
まぁネットではスーパーマンみたいなロゴだとか、ださいとかいろいろ言われていますが、みなさんW3Cが正式に決めたと思ってらっしゃるのでちょっと訂正したくて書きます。

HTML5のロゴですが、W3CのHTML WG(作業部会)が決めたのだけどあくまでWGが決めたというだけで、まだW3C公式にはなっていません。実際、W3C HTML5 Logo FAQでは、

IS THIS W3C’S “OFFICIAL” LOGO FOR HTML5?
Not yet. W3C introduced this logo in January 2011 with the goal of building community support. W3C has not yet taken it up in any official capacity. If, as W3C hopes, the community embraces the logo, W3C will adopt it as its own official logo for HTML5 in the first quarter of 2011.

となっており、まだ公式じゃない扱いです。

余談ですが、ちなみにこのロゴGoogleっぽいって話が出てますが、実際Googleが作りますーって作ったので、まぁそういうことです。

Continue reading

iPhone 4買ったよー。

DSC00277

iPhone 4買ったよー。ということでレビュー。 
といってもあんまレビューすることは無いのだけど。

レビューの前に
今回、僕はSoftBankから発売されている日本版じゃなくフランスのApple Storeから発売されているSIMロックがかかっていないuniock版を買った。というわけで僕のiPhoneはドコモ回線で使っています。
ちなみにお値段は32GBモデルで付加価値税入れて739ユーロ。日本円だと84,012円ぐらい。
(ちなみにソフトバンクの一括だと57,600円、月月割考慮すると11,520円。単純に比較できないけどSIMロック外す為に26,412円多く払うことになる。)

DSC00273

ちゃんと技適も通過しているので、電波法的にも問題有りません!

iPhone 4 Regulation

ドコモ回線ならちゃんとテザリングもできるから、おすすめ。
今度設定方法とか書きます。 

良いところ

  • 画面がキレイ
    正直解像度が上がって字がくっきり見えるようになりました。
    という以上でも以下でもないけどそれが良い。
    DSC00284
    右がiPhone 3GS、左がiPhone 4
    わかりづらいかもしれないけど、小さい文字がくっきり見える。
    文字が読みやすくなったのでこれは評価できる。

実は良いところはココだけ。
使っていけば良いところが見えてくるのかもしれないけど、僕はiPhoneのカメラはもともと使わないし、FaceTimeはそもそもiPhone 4普及してないからする相手がいない。マルチタスクとかはiPhone 4の新機能じゃなくてiOS 4の新機能だから別に3GSでも大丈夫。
逆に悪いところ(というか不具合)が多くて僕としてはちょっと残念な仕上がりかも・・。

不具合

さっき良いといったディスプレイなんだけど、実は大きな不具合がある。
割合は分からないが、製造時に接着剤を乾燥しきれずディスプレイの下部に黄色い線が入ってしまうという不具合だ。

DSC00275

僕のiPhone 4には見事に黄色い線が入ってます。
Apple Storeに持って行けば交換してくれるらしい。が、僕のフランスのやつなので次フランス行くまで交換できません・・。
というわけで地味に凹んでます・・・。

買うなら買う前にちゃんと確認してから買いましょう。

結論

結論としては、3Gユーザは買い換えたほうがいい。3GSはお財布と相談。

まぁハード的には液晶と内側カメラとジャイロスコープと新しいARMプロセッサーぐらい。で、新機能って言われるほとんどはiOS 4の機能で確かに3Gや3GSでも動く。
ただ、iOS 4を使うには3Gだとかなり荷が重い気がするので3Gな人は買い換えた方が良いと思う。

今3GS持ってる人は液晶がキレイだからその為に買い換えても良いとは思うけど、ソフトバンクにしても高杉(月月割は有ってないようなものだから無視する前提ね)
まぁ、僕みたいなApple信者はお布施だと思って買うのはありかな。 

いずれにしても初期ロット(初期製造版)には罠があるみたいなので、ちゃんと確認してから買った方がいいですよー。

BlackBerry Enterprise Server Expressは日本では利用できない

今日からBlackBerry Enterprise Server Express(BESX)がダウンロード可能になったので、早速登録して利用してみようと思った。

ダウンロード自体は無料で以下のリンクから行えるはずだったのだが、
BlackBerry – Enterprise Server Express – Free BES Express Download
国名の選択欄になぜか日本がない。

日本がないので、仕方が無く米国の住所を入力して登録をした。

しばらくするとダウンロードリンクの載ったメールが届いたので、リンクをクリックしてみると、

Downloads of this software are not yet available in your country due to regulatory reasons. Please check back for future availability.

と言われてしまった。なぜ日本だけ使えないのかよくわからないが、そのうち利用可能になるのだろう・・・。

iPhone 3GSのファームウェア3.1.3でテザリング(Tethering)する方法

iPhone 3GSにNTT DoCoMoのSIMを挿して利用している方向けです

先日iPhone 3GS の3.1.3ファームが登場しましたが、
unlocked iPhone 3GSでSoftBankなど公式キャリアじゃない人がテザリングを行える
Carrier Bundleを作成したので、公開します。

NTT DoCoMo用

Willcom Core 3G用はAPNがわからないので、作れてません。。
教えていただければ作ります。

適用方法は、MacとWindowsで異なります。

  • Mac
    defaults write com.apple.iTunes carrier-testing -bool TRUE
    をTerminalで実行した後に、iTunesを開いて”更新を確認”をoptionキーを押しながらクリックして適用します。
  • Windows
    "C:\Program Files\iTunes\iTunes.exe" /setPrefInt carrier-testing 1
    で行けるらしいが、詳細不明

Continue reading

Kindle DX Global Wirelessが届いた

DSC_0078

注文しておいたKindle DX Global Wirelessが届いた。

Kindleはこれで2台目。
1台目は他の人のところへ行ってしまわれたので、手元に有るのは1台だけど。 

DSC_0081

今まで持っていたUS版との違いは、裏面の金属カバー部分のみ。
Global Wirelessだと各国のRegulatoryがプリントされている。

現状入れているHackは以下のもの。

  • Unicode Font Hack
    http://blogkindle.com/unicode-fonts-hack/
    内蔵フォントを置き換えるHack。これで日本語が読めるようになる。
  • usbNetwork
    http://www.avenard.org/kindle2/usbnetwork23-0.10.tar.gz 
    USBをEthernet RNDISにしてしまうHack。これがあればTelnetやSSHでshellに侵入できるようになる。
  • Anti-bunchin
    http://www.ekesete.net/log/?p=518 
    Frameworkがこけたときに、自動的にEthernet RNDISにしてtelnetを立ち上げてくれる。
    これを先に導入しておけば、文鎮にならずに済んだのにw
  • news_auto_downloader
    Mobiなどなんでもを一定時間毎にDLしてくれる。
    ちょっとグレーな気もするが、まぁ問題ないだろう。

Wirelessがついたので、Kindle Storeで新聞でも購読してみようかなと思ったのだが、米国外には写真や画像を転送してくれないのでやめた。写真がない新聞なんて新聞じゃないだろと思ったのだが、まぁそうじゃないか。少なくとも僕は買わない。

DSC_0080

Kindle DXはファームを2.3に上げずに使っていたので、ファームの問題だと思うが、Mobiのレンダリングが向上した模様。
PRC形式の辞書も表示されるようになった! 

ネットワークにつながるようになったので、ちょっといろいろHackしてみようかしら。 

非同期処理について調べた。

仕事のお話。

いわゆる非同期処理の話なのだが、あまり僕自身もこの領域は詳しくないので、調べてつつわかったことをアウトプットしてみます。

RPCを利用して処理を実行する場合、何もしないと同期処理となる。
つまりコールをして、結果が返るのを待ち、結果が返ってきたら処理を再開する。
これだと結果が返るのを待っている間は、”待つ”という処理を行うだけなので、CPUを有効的に活用できず非常にもったいない。そこで処理が終わるまで他の処理をさせておき、処理が終わったら結果を取得し、残りの作業をするという”非”同期的処理を行う必要がある。
Ajaxなどでよく利用されるXMLHttpRequestなどは非同期処理を活用しているわかりやすい例だ。

非同期処理のハンドルの仕方には大きく2つの手法がある。

  • Futureに代表される、時間がかかる処理に結果をもらえる引換券を渡し、それを任意のタイミングで結果をもらいに行き処理を行うという方法
  • CallbackやDeferredに代表される、処理が終わったら実行時にあらかじめ定義した関数を実行する方法

それぞれ長所短所が有るのだが、僕が作ろうとしているものにおいて、それぞれ問題がある。

  • Future
    結局誰かがFutureを監視する必要がある。
  • Callback
    非同期処理を行った後さらに別の非同期処理を行い、さらにその後に・・というフローではコーディング・運用両面で大変そう。

ただこれは非同期処理を呼び出すクライアントサイドで、あまり大きな問題にならない。

問題となるのはサーバサイドだ。
たとえばRPCでクライアントからリクエストを受けた後、サーバは別のホストにhttpコネクションを張り、そこから値を取るという処理をしたい場合、それぞれの処理単位で同期的に処理してしまえば楽だろうが、そうすると結局そこでブロックされてしまい、クライアントでブロックされないだけでシステム全体で見たらブロックが発生してしまう。

という問題をどのように解決したらいいか考えているのだが、まだ考え中。

また考えて考えがまとまったらエントリーに上げたいと思います。

Kindle DX用のフォント[続]

というわけで2chにアップしたら、明朝もくれとのことだったので、明朝も作ってみた。 

 

こっちがIPA P明朝(プロポーショナル)

こっちが等幅

で、ついでにフォントを流し込むスクリプトも改造してみた。
今までは、毎回パッケージを作ってKindleにコピーしてUpdateしてっていう流れで、フォントを変えるにも大変だったのでMass Storageモードで見えるディレクトリにフォントをおくことで対応するようにした。

Mass Storageモードでつないだときに、
/fonts にあるフォントを置き換えることでフォントを置き換えることが出来るようになっています。具体的には、

  • Mono.ttf
    どこで使われているかわからん
  • Sans.ttf
    上部のバーとかメニューのフォント
  • Serif.ttf
    本文とかに使われるフォント

となっているので、好きに置き換えて再起動すればフォントが適用されるようになっています。
ただし、今までと同じく、変なフォントを指定した場合最悪起動しなくなる可能性がありますので、要注意。

ダウンロードと詳細なスクリーンショットは続きから。 

[追記]

yoshiさんが、2.3用のunicode font hackを作られたみたいです。
Kindle Software Update Version 2.3に対応したUnicode Font Hack

Continue reading