2011年7月25日月曜日

DDT両国大会観戦ツアー中に食べたもの

DDT両国大会観戦のため、一泊二日のツアーを敢行。いろんなものを食べてきました。

ニコニコカレーのカツカレー

中野にあるDDT運営のカレー屋さん。先代のミツボシカレーからリニューアルして営業していたけれど、両国大会のこの日に閉店ということで食べ納めに。

お昼過ぎにお店にいったものの、既に大半のトッピングは完売。トンカツとえびカツがまだあるということだったので、トンカツのほうを。ここのカレーはとろとろの牛肉と、カレーのなかにかくれている野菜がとてもおいしかった。キャベツなのかたまねぎなのか、煮込まれてなくなりかけている野菜ね。たまねぎっぽくない気がするけど、何だったのかな。

もういっこ。ミツボシカレー時代からの、ごぼうのフライね。ごぼうってちょっと苦い感じがあるけど、あんまりそういうのがなくて。ミツボシの当時、お店の人に聞いて初めてごぼうとわかったのです。

両国大会終了後に、お店のツイッタ公式アカウントからカレーも完売のお知らせが。大会前に行っておいてよかった。DDTのカレー屋さんはおいしいってのと昼間食べに行けるってところが魅力なので、またいつか復活してほしいところ。

すた丼

ツイッタで名前を聞いていて、いつか行こうと思ってたお店。ツイッタだと"秋葉原のすた丼"という投稿をよく見ていたので、秋葉原だけにあるお店なのかと思っていたのだけど、チェーン店なのね。"秋葉原にも歩いて行けるから"という理由でお茶の水のホテルをとったのだけど、まさかそのお茶の水駅のそばにもあるとはね。

学生のころ、大学ちかくの中華料理店にスタミナ丼があって、それを想像していたのだけどちょっと違った。しょうが焼きっぽい豚肉が丼にどーん。食べきれないかもと不安だったけど、意外とさらっと食べられたところ。みんな夢中になるのわかるわー。調子にのってテーブルにあったおろしにんにくを鬼のように盛って食べていたら、ホテルにもどってからにんにくの風味が抜けず困惑。ほどほどにしよう。

リナカフェのモーニングセット

A morning plate @ Linux Cafe, Akihabara

ケーキでも食べるつもりでいたけれど、意外にも安かったモーニングセット。選べる飲み物は限られるけど、これで380円。マヨネーズが攻めぎみなのはちょっと…。

リナックスカフェの店員さんってかわいい娘が多い気がする。ただし

ラディッシュのランチセットの麻婆豆腐

名古屋は鶴舞、どうでしょうでおなじみのお店。小倉トーストがヘビー級なのだけど、ランチセットも負けずヘビー級なのです。

おかず+ごはん+サラダ+飲み物orアイスクリームがセットのなかみで、これにおみそ汁がついたりつかなかったり。そのおかずの量が比較的多めなのですね。

大きさが伝わるかなー。おいしいのだけど味の主張がちょっと強いのもあって、はやめにおなかいっぱいがやってきてしまう感。ぼくはもうちょっと少なくても大丈夫だよと思います。うまくいいにくいね。

2011年5月16日月曜日

WiLL Viオフ会に行ってきたよ

mixiのWiLL Viコミュニティのオフ会に行ってきました。

岡崎のレストランでみんなで食事→トークとゲームなど→公園まで移動→ニヤニヤがおおまかな流れ。遅刻してすみませんでした。


まずはレストランに集合。これはゲームの景品の一部。ポストカードは販売されていた当時にディーラーさんで配布していたもの。あのころってこんな売り出し方だったんだとしみじみ。発売当時ぼくはまだ高校生で、ステキな自動車を横目に充実した高校生活を送ってた。もちろん運転免許さえもなく「いつかは…」と思ってたんだけど、あのころの夢がかなったような感覚に。金で解決しちゃってはいるけれども。


お食事とゲームの写真はほとんどなし。その場にいたみんなの想い出ということで。公園までみんなでドライブ。レストランの時点ですでにみんなニヤニヤ。かわいいもんね。一番手前はうちのね。


最初の公園がいっぱいで、他の行き先を考えている間に一枚。サイドミラーもバックミラーもずっとこの画なの。運転中もニヤニヤしてましたw


で、別の公園にて。どうコレ?ぎゅーっと引かないと、全部収まらないのだ。みんなでこの画を見てはかわいいかわいいと。萌え死ぬわー。また、同行いただいたWiLL Vi担当チーフエンジニアの方にあれこれ楽しい話を聞かせてもらいました。あのシートは実は…とか、ここのプレスは…とかね。

参加者みんな、この車が大好き感を全開にしてた。当初から乗り続けている人も、中古車で途中から仲間入りした人も。愛情がビシビシ伝わってきて、同じ車に乗ってることがうれしくなったよ。みんな今の一台を一生懸けて大事にしていく想いでいっぱいだったね。HONDAのBEATに近い愛され方が、まったく違うベクトルの車でも起きてるってことがうれしいわけ。みなさん、また会いましょう。そのときも同じ車で。

2011年5月12日木曜日

Objective-Cの高速列挙

なんて書くと難しいこと話しちゃってる感じ全開だけど、Objective-Cにもforeach的なものがありますよと。Objective-C 2.0からはforinで配列のなかみをビシーッと展開してバキーッと一気に処理してくれる、高速列挙という構文が追加されております。

for ( 一時変数 in 配列 ){
命令文とか;
}

と書くだけで、配列の要素をひとつひとつ一時変数に入れて処理してくれる。一時変数は配列のなかみに合わせて型を書き換えてよし。便利だわー。

ただ、高速とうたうだけあって、配列の順番は保証しないらしい。順番が重要なときにはふつうのfor文を。

2011年5月7日土曜日

iPad 2でプリペイドプランをつかってみた


iPad 2をアップルストア名古屋栄で購入。3G回線つきだけど、プリペイドプランとしました。

なぜって。自宅には無線LANがあるし、数少ない旅行以外では持ち出さないだろうと。街中でナビがわりにしたいとか、そういうときに都度チャージすればいいよなと考えて、プリペイドにしたのです。

で、昨日1GB分をチャージしてみた。川越〜大宮〜新三郷のイケアを移動するのに、Googleマップを開いてカーナビがわりに使うために。もちろん運転中はさわっていないけどね。

IMG_0003
まずは購入まで。iPad上から「使います」と言ってすぐできるようなものじゃなかった。利用規約に同意して、クレジットカードの番号や名義を入力しないといけない。もろもろを入力して使えるようになる。

片道50キロ程を往復する間中Googleマップを開いて約50MB。意外と少ない。よっぽどYouTubeとかでも見ない限り、100MBでも大丈夫かもね。

2011年2月15日火曜日

NSURLConnectionに渡すURLはきちんとエンコードしてから渡すこと

iOS SDKの話。ふつうにMac OS Xでもそうなのかもしれないけど。

NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
[req setHTTPMethod:method]; self.URLconnection = [NSURLConnection connectionWithRequest:req delegate:self];
みたいな感じでURLを渡すと、そのURLのなかみを取ってきてくれるのがNSURLConnectionなんですが。SafariのURL表示窓がURLエンコードをしないで表示しているからって、requestwithURLのなかみに半角スペースや全角文字をそのままいれると"bad URL"と言われてエラーになります。

日本語やスペースのある文字列をURLエンコードするメソッドがビシーッと用意されているので、それをバキーッとつかうこと。

[hogehoge stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
NSUTF8以下の引数は、相手の文字コードにあわせて適宜書き換える。さいきんはUTF-8が多いよね。

2011年2月12日土曜日

MPMusicPlayerControllerをつかってiPod.appごっこ

俺様用メモ

iOS SDKでは、iPod.appみたいな音楽プレイヤや動画の再生とかなんとかはまるっとフレームワークにまとまっています。MediaPlayer.frameworkがそれ。とりあえずここでは音楽プレイヤとしての話を。

使い方

ヘッダにMPMusicPlayerController *musicPlayer;などとインスタンスをつくる文をかいておき、viewDidLoadなどのタイミングで、

[self setMusicPlayer:[MPMusicPlayerController iPodMusicPlayer]];
としておけば、musicPlayerがiPodのライブラリなどとのやりとりをやってくれます。お手軽。

再生と停止

IBActionで受け取った先に、

[musicPlayer play]
[musicPlayer pause]
[musicPlayer stop]
とするだけ。なんて簡単なのでしょう。

いま再生している曲の情報を取り出す

[musicPlayer nowPlayingItem]
でいま再生している曲をつかまえるので、そこから次のようにして欲しい情報を取り出します。
[[musicPlayer nowPlayingItem] valueForProperty:MPMediaItemPropertyTitle];
この例は曲名を取り出す場合。MPMediaItemProperty〜の部分を変えると取り出せるものが変わります。詳しくはデベロッパドキュメントを参照ください。アートワークもとれるよ。

再生している曲がかわったら、曲名表示も書き換えたい

コードのなかで"書き換えろ!"と書かない限り、UILabelなんかに映している曲名は曲がかわってもずっと同じままです。曲がかわったことにアプリが気づく→曲の情報を取り直す という手順で、自動的に書き換えることができるようになります。

じゃあどうやって曲が変わったことに気がつけばいいのか。そこでNSNotificationクラスの力を借ります。このクラス自体の詳しい仕組みは他のサイトにまかせますので、ここではどんな流れになっているのかを書いておきます。

  1. NSNotificationCenterに、曲がかわったときに動かしてほしいメソッドと、プレイヤのインスタンスを登録する。
  2. プレイヤのインスタンスに、曲が替わったらNSNotificationCenterに知らせるよう伝える。
  3. 曲が替わったらNSNotificationCenterにプレイヤから連絡が出て、メソッドを実行する。
といった流れ。これをコードに直すとこうなります。

NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver:self 
                    selector:@selector(updatePlayingMusicInfo:) 
                    name:MPMusicPlayerControllerNowPlayingItemDidChangeNotification 
                    object:musicPlayer];
[musicPlayer beginGeneratingPlaybackNotifications];
まずNSNotificationCenterをつくっておくところから。そのCenterにselectorとしてメソッド名を、nameにメソッドを実行するタイミングを、objectにプレイヤをそれぞれ登録する。Centerに伝えるよう仕向けるのはそのあとのbeginGeneratingPlaybackNotificationsで。これで曲の切り替わりと同時に情報を書き換えてくれるようになります。

nameに指定するフラグも、デベロッパドキュメントにはもっといろんなタイミングでできるとあります。そちらを参照ください。

2011年2月9日水曜日

スキーちゅうにGPSロガーを動かすと楽しい / KMLの共有

週末は苗場までスキーにいっていました。自宅からスキー場までの移動を記録しようと思ってHoluxのGPSロガーM-241を買っていたんですけど、スキー中にもログをとったらおもしろいんじゃないかと。
M-241

Holux M-241。きいろいほうね。手前はKO-D無差別級王座のベルト。

このM-241、けっこう精度がいいので、スキー中でもばっちり位置を記録してくれました。そのようすがこれ。

スクリーンショット(2011-02-09 19.06.44)

青い線が滑った経路。Google Earth上の苗場スキー場は雪がないんだね。まっすぐな線はリフト・ゴンドラで、くねくねがスキーとなってます。けっこう上のほうまでがんばったんだなー。

で、このKMLをGoogleマップのマイマップに載せるとこうなります。


より大きな地図で なえばスキー を表示

経路全部がみえない…。

大きい地図で表示をクリックしてもらうとわかりますが、ログがいくつかに分割されちゃってるんですね。マイマップの仕様みたいで、一度に表示できる点の数には限りがあるようです。

GPSロガーで記録した位置情報や経路なんかを、うまくシェアできる方法はないものかなーと考えています。ダウンロードしてもらってGoogle Earthで見てもらえばいいんですけど、それってすごいめんどうじゃないですか。リンクをクリックして、ブラウザのなかでさらっと表示できるのがいいと思うんですけどね。