2012年2月28日火曜日

RSD mode 3で文鎮になったxoomをはさみと輪ゴムとアルミホイルで復活させる!

いろいろいじくれることでおなじみのXoomですが、文鎮化してしまっていたので、Motorolaのファクトリーケーブル(factory cable)とやらを自作して復活させました。
ファクトリーケーブルというのは、通常のUSBケーブルとは少し異なる、端末をベンダー独自のモードに入らせるためのケーブルで、PSPで言うところのパンドラバッテリーみたいなものでしょうかね。Samsung端末にはダウンロードモードに入れるためのUSBケーブル等もあるそうですが。
で、Motorolaの場合は、micro USBの1ピンと4ピンをショートさせるだけでできます。
通常のmicro USBでは、1ピンは5Vで、4ピンはIDなので、モトローラの端末は4ピンにHighが来ているときだけ特別なモードに入るようです。
作るのに必要な道具は以下
はさみ、輪ゴム、アルミホイル
では手順を。
  1. micro USBの端子をはさみで丁寧に切り開く
  2. なかのケーブルが見えるまで、丁寧に金属のパーツやゴムを外す
  3. アルミホイルを5mm x 50mmくらいの長さに切り取る
  4. アルミホイルを折り畳みつつつぶして、糸のようにする。はじめのうちは折り畳み、これ以上たためないよ!ってところで親指と人差し指でよりよりするのがよい。
  5. 1ピンに繋がってる線の導線部分にアルミホイルを巻き付ける。通常5Vに繋がるケーブルは赤なので、チェックするとよい。
  6. 4ピンのあたりにアルミホイルを近づける。セロテープがあれば仮止めしておくとよい。たいてい4ピンには何も線が繋がっていない。
  7. ここだ、と思ったところで輪ゴムなどでしっかりとアルミホイルとピンを固定する。
  8. 完成
普通にはんだごてがある人はそれでやってください。僕はちょうど手元にはさみと輪ゴムとアルミホイルしかなかったので、それで頑張りました。
Xoomに接続し、電源+ボリューム上キーで再起動後、ボリューム下を押してあげると、今まで入れなかったfastbootモードに入ることができます。
うまくケーブルが作成できていないと、パソコンにつないだときに、電流を利用しすぎているのでUSBデバイスを停止しました、みたいなメッセージが出ますが、そんなに気にしなくても大丈夫です。

2012年2月24日金曜日

iPhone7行砂嵐アプリ


今話題のgumroadを使って、せっかくなのでなんか売ってみたいと思い、
試しに作ってみました。たった7行(横幅は80文字)で書かれたiPhoneの砂嵐表示アプリの
ソースコードです。

https://gumroad.com/l/lJbk ($1)

アプリを起動すると、左にあるような砂嵐が画面に表示されます。

まぁそれだけっちゃそれだけですが、せっかくなので売ってみます。

大変だった点は、とにかくapplicationDidFinishLaunchingとか、CGBitmapContextCreate
などの長い名前のキーワードを、以下に1行の中に押さえるか、ということでした。

通常iPhoneアプリを作るときは、InterfaceBuilderを利用したりしますが、
このコードは純粋にmain.mの一つだけで、7行です。
ポイントは、UIApplicationDelegateをUIWindowのサブクラスに実装させることで、
クラスを一つだけにすることです。

しかし、そのままだとwindowの生成に失敗するので、windowの初期化コードを、
オーバーライドされたinitの中に記述し、正しく初期化されるようにします。

まぁ他にも省略可能なメソッドの型名やインスタンス変数の宣言などはとことん削り、
グローバルに全て持ってしまっています。

selfとかくのも長いので、一旦sなどの一文字の変数にとっておいて、
それを逐次参照しています。

バッドノウハウの塊ですが、以外と参考にはなるとおもうので、よければぜひ。