Macbook Pro Retina Display 15inch (2015)でBootCampドライバのインストールに失敗した。→回避方法

Macbook Pro Retina Display 15inch(2015)でBoot Campを使用して、Windows 8.1 Pro(日本語版)をインストールしたところ、Windowsのセットアップ完了後、Boot Campに必要なドライバのインストールが失敗してしまった。(❌のダイアログが表示され、インストールが中断された)

いつもWindowsで困ったら試している、システムを英語にすることで解消した。

以下手順

  • システムの言語を英語にする。 windows.microsoft.com

の手順に従い、en-usの言語を追加する。

  • 「主に使用する言語に設定する」選択して、システム言語を変更する。

  • サインアウトし、再度サインインする。

  • Boot Campアシスタントで作成したUSBメモリ内のBootcamp/setup.exeを実行し、Boot Camp関 連ソフトウェアのインストールを行う。

デモ・展示会場の無線LAN設営メモ

急ぎで動作デモの無線LAN構築をしたので、これまでのノウハウをまとめておく。

  • 11a(5GHz)を使う。

.11bgn(2.4GHz)は使い物にならないことが多い。リハでは問題がない場合でも、人が集まる会場はポータブルルータなどの持ち込みが増え、通信品質はさらに悪くなる。

  • 5GHzは、W52を使用する。

W53, W56は通信がストップ、またはチャンネル変更が行われることがある。

  • オートチャンネルセレクトをオフにする。必要がなければ、デュアルチャネルもOFFにする。

  • ルーター・スイッチの空きポートはテープなどで塞ぐ。

お客さんや会場のスタッフが誤って抜いてしまったとき、ループするなどの事故を回避する。

市販のWi-FiルータDHCPでリースできる台数が少ないものがある。多数デモ機を接続するときは要確認。

特定の時刻になるとスループットが落ちる機種があるので注意。

  • SSIDをハックする。

名前順でソートした時に先頭に出るようなSSIDにする。あとはわかるな。

CoreBluetooth CBPeripheralを発見する3つの方法

iOSのCoreBluetoothを使ってPeriphralに接続するには、Peripheralのインスタンス、CBPeripheralを取得する必要があります。 一般には、CBCentralManagerのscanForPeripheralを使用して、Advertisement Packetを送信しているPeripheralをスキャンする方法がとられます。 しかし、そのほかにもマイナーな方法があるので、紹介します。

CBCentralManager -scanForPeripheralWithServices: options:を使用して、周囲のPeripheralをスキャンする。

CBCentralManagerを使用してPeripheralに接続する際、よく使われる方法です。 Peripheralを発見すると、CBCentralManagerDelegateの- centralManager: didDiscoverPeripheral: advertisementData: RSSI:が呼び出されるので、このメソッドの引数からCBPeripheralを取得できます。詳細は割愛します。

CBCentralManager -retrievePeripheralsWithIdentifiers: を使用して、Identifierに対応したCBPeripheralを取得する。

以前接続したことがあるPeripheralのIdentifier(NSUUID)を指定して、CBPeripheralを取得します。該当するPeripheralがあれば、CBPeripheralのインスタンスが格納されたNSArrayが返されます。以前接続したことがあるCBPeripheralのIdentifierをNSUserDefaultsなどに保存しておき、次回接続する、などの使い方ができます。ただし、CBPeripheralのIdentifierは同じPeripheralでも、iOSデバイスごとに違うIdentifierを返すことに気をつけて下さい。iOSデバイスAでPeriphralから取得したUUIDを使用して、iOSデバイスBで使用する、といった使い方はできません。

CBCentralManager -retrieveConnectedPeripheralsWithServices: を使用して、すでにiOSデバイスに接続されているCBPeripheralを取得する。

iOSデバイスとすでに接続されているPeripheralを取得します。例えば、ほかのアプリがすでにPeripheralを探索し接続した状態では、上記のscanForPeripheralWithServices: options:を使用しても、デバイスを発見することができません。すでにCentral(iOSデバイス)と接続されているPeripheralは、Advertisement Packetを送信しない状態になっているためです。そこで、iOSのシステムに対して、すでに接続済みのデバイスで、指定したServiceを持っているデバイスがないか問い合わせを行います。該当するPeripheralがあれば、CBPeripheralのインスタンスが格納されたNSArrayが返されます。

特定の条件下にあるPeripheral(Apple Notification Center Service, Current Time ServiceをSubsclibeしているGATTCを持っている、等)は、iOSが自動的に接続を行ってしまうため、この方法をとる必要があります。

a7sを買った

Sonyのミラーレス一眼、a7sを買いました。カメラはiPhoneでいいか、とも思っていたのですが、次の理由で購入に踏み切りました。

  • 取材写真が壊滅状態だった。 今年参加したWWDCで基調講演や周辺の様子、Drinkupの様子も撮影してきたのですが、ほぼブレてしまっていました... a7sの最大の武器は超高感度のセンサー。

月明かりで撮影してもここまで映る。別に真っ暗闇で撮影をしなくてもこの特性は生きる。薄暗い場所でもISOを上げて撮影してもノイズがあまり乗らないので、ISOを上げてシャッタースピードを落とすことなく撮影でき、手ぶれに強い写真が撮れる。

  • 記憶力が落ちてきた 今年に入ったあたりから、記憶力が急激にダウンしている気がしている。スナップショットがないと記憶が辿れないことが多くなり、アーカイブの重要性を感じた。

  • センサー、数年後にはモバイルにくるんじゃない? 今はa7sにしか搭載されていない高感度センサーも、数年後のモバイルデバイスには当たり前に搭載されているのでは...その時に写真や動画はどのようなものとして捉えられるのか、を先に体験したかった。

今のところはFEの標準ズームだけで運用中。沼には足を突っ込まないと誓ったが果たしてどうなるか。

f:id:nolili:20141204231623j:plain

f:id:nolili:20141205002217j:plain