iRSSの日記 このページをアンテナに追加 RSSフィード

2012-02-05

Debugger@iPad and iPhone App Development (Fall 2011)で気づいたTips

iTunes Uで人気のStanford大学の授業:iPad and iPhone App Development (Fall 2011)コース、Debuggerのビデオを見てTipsをメモ。

便利機能をすっ飛ばして、開発してました。

いま、みといてよかった。

Exceptions Breakpointを設定しておく

Throwが投げられたときは、該当行で止まるので、便利

f:id:iRSS:20120205224601p:image

f:id:iRSS:20120205224600p:image


Exceptions Breakpointが無い状態だと

f:id:iRSS:20120205224602p:image

mainで止まるのだが、これだと、どこが問題がわからない。

Exceptions Breakpointをつけると

f:id:iRSS:20120205224603p:image

落ちた場所で止まる。

特定の値が来たときだけ、BreakPointを有効にしたい。

Edit Breakpointで、発動する条件を指定できる

f:id:iRSS:20120205224604p:image

変数のresultが0のときのみ、発動させるなら、以下のように指定

f:id:iRSS:20120205224605p:image



自作のクラスでdescriptionメソッドをオーバーライドする

@interface CalculatorBrain() 
@property (nonatomic,strong) NSMutableArray *operationStack;
@end

のような、プロパティがあるときに、デバッガでpoで以下のように確認できる

(gdb) print self
$1 = (CalculatorBrain * const) 0x6a4ee00
(gdb) print [self operationStack]
$2 = (NSMutableArray *) 0x6a49010
(gdb) po [self operationStack]
<__NSArrayM 0x6a49010>(
8,
6,
0
)

これでもよいが、descriptionメソッド

- (NSString *)description{
    return [NSString stringWithFormat:@"%@",self.operationStack];
}

のように、作っておくと

NSLogや デバッガコンソールで見やすくなる。

(gdb) po self
stack = (
    8,
    6,
    0
)

40分くらいの短い時間で、内容は基本的なことなんだけど、知らないかもっていう内容なので、ぜひ、抑えときたいです。

2012-02-03

NFCタグを買った。

RFID/NFC Real Touch Shop

http://www.facebook.com/RealTouchShop

という、木曜と、金曜の午後だけ営業するお店が、八重洲にオープンしたので、いってきました。

実物見るのは初めてだったのだけど、たくさんの種類のNFCタグが勢揃い。

なんとも壮観。

1000円/20枚〜で販売中。

以下と同じ商品をゲット

http://ace-kougyo.com/item/0034-06/

http://ace-kougyo.com/item/0034-04/


あとは、Android端末を用意して、ためそう。

2012-01-20

iBook Authorに地図を取り込めるか?

DashCodeでマップを作成してみる。

新規プロジェクトでマップのDashBoardをつくる。

ウィジェットの属性で、MapsAPIキーと、マッシュアップURLを設定

f:id:iRSS:20120120203805p:image

f:id:iRSS:20120120203804p:image

実行すると、以下のように、マップがでる

KMLも読んでくれる。

f:id:iRSS:20120120203802p:image

共有と実行で

f:id:iRSS:20120120203806p:image

wgdt形式で書き出せる。


ここから、iBook Authorにこの書き出したwgdt形式のファイルをドロップ

f:id:iRSS:20120120203803p:image

iBooks Author」で HTML ウィジェットを操作することはできません(HTML ウィジェットは完成したブックでのみ動作します)。ブックでは、読者がウィジェットサムネールイメージをタップすると、ファイルが フルスクリーン で表示されます。

ということで、「iBooks Author」では動かない。

iPadで確認してみる。以下iPad

f:id:iRSS:20120120203800p:image

ページは表示されるが、地図は表示されない。

f:id:iRSS:20120120203801p:image

ウィジェット部分を拡大表示すると、地図を取得するようになった。

拡大しないと機能しないのが基本のようなので、地図もプレビューを用意しておく必要がある。


f:id:iRSS:20120120210139p:image

また、たぶんリファラーとして、x-ibooks-thというプロトコルでgooleのマップサーバーに接続しているのか、しばらくすると、googleにしかられる。

簡単そうだか、ちょっと、ハードル高いかも

普通にMapKit使いたくなる。

世界地図を使うような教材は容易に想像できるので、たぶん今後改良されるのだろうなあ。



一応サンプル用意してみた

http://dl.dropbox.com/u/27096935/sample/sample.zip


Appleのデモビデオの中で、複雑なインタラクティブを行うウィジェットがあるでしょ。スライダーをドラッグして中の画像が変わるようなやつ。あれは、これだな。Dashboard Widgetだ。

瀕死と思われていたDashboardiBooksでよみがえった。よし、Dashcodeやるぞ、Dashcode!久しぶりだなー。

iBooksとDashboard Widget | HMDT Blog

とHMDT氏も書かれているとおり、これで、Dashcode復活かもしれない。

iBooksStoreで無料本を販売する

1.iBookstore 販売者アカウントを作成する。

無料コンテンツ配布アカウントと、有料コンテンツ販売アカウントを選べますが、有料の場合はU.S. Tax IDが必要。AppStoreの有料販売の場合でも必要なので、同じものでよいのかな?よくわからないので、ここは無料版でためしてみます

A U.S. Tax ID. Anyone (including non-U.S. residents) can obtain a U.S. Tax ID by phone, fax, or mail. If you don't have one, request one from the IRS.

http://www.apple.com/jp/itunes/sellcontent/

↑から入って、AppleIDの登録、連絡先の登録を行う。

完了すると、iTunesConnectにログインできるようになる。

アプリの管理画面とは少し異なる画面です

f:id:iRSS:20120120115630p:image

2.コンテンツの作成

適当に、iBook Authorで作る

ファイルメニュー>公開 で「 iTunes Producer 」が起動する

3.コンテンツのアップロード

登録には iTunes Producer 2.5.1 という専用アプリを使う。

f:id:iRSS:20120120115631p:image


f:id:iRSS:20120120115630p:image

f:id:iRSS:20120120115632p:image

f:id:iRSS:20120120115633p:image

f:id:iRSS:20120120115634p:image

f:id:iRSS:20120120124623p:image

いい感じだったのだけど、公開言語に日本語が無い。

Japaneseと手打ちできるんのですが、アップロード時のチェックで言語があってない旨通知され、日本語は通らなかったです。

日本語はだめそうなので、Englishを選んで指示されるがままに、フォームを入力して最後にDeliver.をおす。

問題あればここで、フィードバックされ、問題なければ、アップロード完了となります。

で、審査はあるのか?

2012-01-14

NTTの電力見える化サービス、やっと設定完了

「NTT東日本−電力見える化サービス(仮称)」先着2,000名様モニター募集|フレッツ光公式|NTT東日本に応募して、機器は10月にとどいていたのだけど、設定がうまくいかず放置していた。

電力見える化サービス「フレッツ・ミルエネ」の提供について

NTT東日本は、「フレッツ光」※1をご利用のお客様向けに、平成23年7月よりトライアル中の家庭内消費電力量等を可視化するサービスについて「フレッツ・ミルエネ」として、平成24年1月下旬(予定)より提供開始します。

電力見える化サービス「フレッツ・ミルエネ」の提供について | お知らせ・報道発表 | 企業情報 | NTT東日本

しかし、本サービスが始まるということで、再度設定を挑戦。

無線親機と分電盤計測器を、説明書通りに設定すればよいのですが、まずこの説明書が、

メーカー作のものと、それをサマリーしたNTT作成のものがあり、何をやればいいのかが混乱気味。

前回も10月に一通り、書いている通りには進めてなんとかなったのだけど、計測した値が、集計されていない状態だった。

今回も、混乱しながらも、

  • 無線親機と分電盤計測器のペアリング
  • 分電盤計測器の分電盤への設置

を行った。

説明書には、この2つの機器の設定がおわれば、あとはフレッツ・ミルエネ ログイン画面に接続して、グラフを見ればよいとある。

しかし、消費電力のグラフには数時間たっても反映されない。

これは前回と同じ状態。

原因を探る。


考えられる問題は

  1. 分電盤計測器に電力の変化が察知されていない。
  2. 分電盤計測器と無線親機間の通信がうまくいってない。(無線LANで接続)
  3. 無線親機とNTTのサーバー間の通信がうまくいってない。(無線親機は有線LANルーターに接続)

のどれかではないかと予想。

2,3に関しては、分電盤計測器自体にLAN経由で接続すると状態を示してくれる。


f:id:iRSS:20120114125123p:image:w640

↑分電盤計測器と無線親機間のログ

f:id:iRSS:20120114125124p:image:w640

↑ 無線親機とNTTのサーバー間のログ

このコンパネ自体、かなり、業務用な感じで、ログってなによという感じなのだが、通信自体は問題なさそう。

いったんサポートにお伺い。

ここまできて、「分電盤計測器に電力の変化が察知されていない」という問題はありつつも、設定手順に問題がないかを確認するために、サポートに電話した。

作業としては、「分電盤計測器と無線親機間のログ」と「無線親機とNTTのサーバー間のログ」の確認を行うということであってました。

同じ手順で確認していただけたので。

でアドバイスはなんだったかというと、フレッツのルーター以外に、無線LANルーターを使ってPCはネット接続しているのだが、この無線LAN電波と、無線親機の電波が干渉しているのではないか、なので、一度、無線LANルーターの電源をきってみて試してみてほしいとのことだった。

無線LANと共存できないのって、それはあり得ないとおもいつつ、モニターとしての役割でもあるので、素直にしたがってみた。

無線LAN落としてみたのだが、結果かわらず。

原因は「分電盤計測器の分電盤への接続方法間違い」でした。

無線LAN電波の干渉ではなさそうだということで、「分電盤計測器に電力の変化が察知されていない。」という方針でためす。

分電盤計測器の説明書によると、主幹漏電ブレーカと、分岐ブレーカの間につけるのが、優先度1ということで、その位置にCTクランプを取り付けていいたのですが、これが間違っていたようです。

図では3本の線がありますが、我が家の分電盤はこの位置には、白と赤の2本の線がでていました。この白と赤ではだめなようです。第2優先が、リミッタと主幹漏電ブレーカの間。こちらには、赤、白、黒の3本がありました。この3本のうち赤と黒にCTクランプを設置。この状態で10分ほど放置すると、グラフのほうやっとこさ確認できました!

f:id:iRSS:20120114131209j:image

f:id:iRSS:20120114131359j:image

f:id:iRSS:20120114125127p:image

ということで、やっと電力測定できるようになりましたー

でも、この絵を見ると、漏電ブレーカの後にCTクランプ付ケーブルを取り付けるようにかかれていますが、我が家の分電盤には漏電ブレーカーの後にはそんなケーブルはありません

おでかけ: NTT東日本・電力見える化サービス(仮称)が届きました #fems

↑のように、CTクランプをつこにつけるかは、けっこう悩みポイントではあるようですね。

できそうでできないこと。

無線親機のコンパネで、生データはとれない。

通信ログはとれるのですが、どんな値が送られているのかはログではとれません。

なので、Google PowerMeterとの連動はできません (おっと、気がついたら、節電意識は高めたが…、Google電力消費モニターサービスから撤退 | ネット | マイナビニュースとのことです)

グラフでは1分単位の変化が記録されているので、なんとか持ち出したいものです。

HTMLから、スクレイピングする

グラフ表示が面ですが、朗報です。

こちらは、Flashではなくて、HTMLで構成されており、グラフはGoogleChartAPIを使っています

なので、スクレイピングすれば、データ持ち出して、別の集計にも使えそうですね。

でもめんどうなので、ぜひ、普通にAPIで公開してもらえるとたすかります。

消費電力状況グラフ

<img src="https://chart.googleapis.com/chart?cht=bvg&chs=715x190&chbh=7,0,4&chd=t1:38.5,38.5,50.7,50.7,50.7,54.7,54.7,54.7,50.4,50.4,50.4,52.9,52.9,52.9,45.9,45.9,46.0,50.2,50.2,50.2,38.1,38.1,38.1,36.7,36.7,36.7,38.4,38.4,38.4,37.5,37.5,37.5,39.7,39.7,39.7,40.7,40.7,40.7,39.0,39.0,39.0,40.4,40.4,40.4,36.8,36.8,36.8,37.4,37.4,37.4,36.2,36.2,36.3,37.7,37.7,37.7,40.4,40.4,40.4,39.4&chco=ff9733&chm=D,ff2a5f,1,4,3&chg=0,20,1,2&chxt=x,r&chxl=0:|0|||||5|||||10|||||15|||||20|||||25|||||30|||||35|||||40|||||45|||||50|||||55||||||1:|0.0000|0.0040|0.0080|0.0120|0.0160|0.0200" alt="消費電力状況グラフ">

本サービスにむけて

いよいよ、本サービス開始ということですが、発表されている情報によると、機器はどうやら、同じものを使うようです。

「フレッツ・ミルエネ」対応機器の取り付けは、トライアルユーザの85%がお客様ご自身で実施しており、新築物件のみならず既築物件にも手軽に設置が可能です。

電力見える化サービス「フレッツ・ミルエネ」の提供について | お知らせ・報道発表 | 企業情報 | NTT東日本

と簡単に、設置できるような印象で告知されていますが、このアンケートに答えた方がモニターであったとすると、それなりの覚悟で参加された方ですし、僕のように途中で投げ出した場合は、アンケートにも答えなかったのはと考えると、設置に関しては、すんなりといくか心配です

分電盤のタイプは相当な数があるかと思いますが、できるだけ、分電盤との接続事例を共有できるといいかも。

2012-01-11

瞬間移動の実現を考える

ひとりこごとで、メモ。


視覚、聴覚、嗅覚、味覚、触覚の5つの感覚のうち、視覚と聴覚をふるわせるものは、収録と再生が可能なので、瞬時に別の場所に伝えることができる。

アナログの時代から可能だった。

現在では、デジタル化することで、劣化することなく、保存、再生することが可能で、大量のコピーを創りだすことも可能。

嗅覚、味覚、触覚に関しては、今のところ、宅配便を使うのが現実的だし、コピーは困難。

瞬間移動という方法がある

たぶん、瞬間移動をするためには、物体をバラバラにして、なんらかの微細な情報にして、転送し、さらに転送先で再現するひつようがある。

かなり、単純な物質でまず考える。

水素原子1個なら、瞬間移動可能だろうか?

伝送方法はどうするのか?

エネルギーの伝送?

視覚に訴える、光や、聴覚に訴える音は、両者とも波動。

波動を記録し、なんらかの符号にして、送るのはこの符号。でもって、この符号を再生装置で、もう一度、波に戻す。

実際の物は動いていない。

転送先には情報しかとどかない。

だけど、再現できている。

水素原子ならどうか?

水素原子も振動している。

波動か。

ということは、水素の波動を再現できればよい。

再生側では、送信とは、別のエネルギーが必要

無から創りだす訳ではない。

エネルギーがかかってもいいので、受信したときに

水素原子1個を創れれば、よいということになる。

瞬間移動となると、転送元の物質は消滅してもよいが、受信側で創りだすとなると、瞬間移動というよりは、物体のコピー。

転送元の物質が消滅するとすれば、やっぱり、受信側で別のものをコピーするというよりは、空間をねじ曲げるとかで、本当に移動距離を短くした方が、わかりやすいかもしれない。

この空間ねじ曲げのほうが、有利なのは、生命体を瞬間移動するときに、もう一人自分が発生したりしないので、理にかなっているかも。

もう一人の自分ができちゃう問題は、時間旅行時に発生する問題としては、のこるが、時間旅行は別に考える。

別でいいのか?

そもそも、瞬間移動したときに、時間はどうなるのか?

1秒後なのか、同時なのか、あるいは、1時間後なのか?


しかしこうした楽観論は、ほどなく壁に突き当たることになる。よく考えてみれば、人間のふるまいを再現するためには、それがどのような原理で動いているか理解している必要があった。だが、いざつくってみようとしてはじめて、人は人間自身というこのいちばん身近な存在についてなにも知らなかったことを、思い知らされたのだ。

 たとえば1950年代からはじまった初期の人工知能の研究では、コンピューター上のプログラムで記号論理の操作を行い、人間の思考を模倣しようとする試みが行われた。閉じた箱の中に思考を宿らせようとするこの試みは、いわば、心と体は別々に存在するという、デカルト以来の心身二元論にもとづいていたといえる。しかしこれはうまくいかなかった。

 どうやら心と体は同じものの違う表現でしかなく、心がなければ体もない。そして体がなければ、心も生まれないらしいのだ。以降、人工知能の研究は、体をもった知能ロボットの開発へとシフトしていくことになる。

人とロボットの秘密:まえがき 自分と同じものをつくりたい業(ごう) - ITmedia ニュース