Kenichi Maehashi's Blog

脳内コアダンプ

RSS
Category: Computer
そろそろ Markdown とかで書けるカッコいい感じのものに移行したいですね、などと思いつつも {{pre ... }} 記法の便利さが捨てづらくて FreeStyle Wiki を使い続けています。今さら全コード行の前にスペースを挿入する時代には戻れない…。

で、久々に _ex_partredirect のマージリクエスト のページを見に行ったところ、竹添さんから
3.6.5で同等の機能が実装されますので、ステータスを「完了」にしておきます。 - たけぞう (2011年07月28日 18時21分24秒)
とコメントが付いていました。やったね! これで楽になる!!

… と思って、改めて日付を見直すと去年でした。ML も去年の 8 月で止まってしまっているし、ちょっと心配です。3.6.5 が早く出ると嬉しいな。
Category: Computer
速報レベルですがまとめておきます (誤りがあるかもしれません)。

タイトルの OS アップデート後、AppleEvent 送信時の target として Bundle Identfier ('bund') を使用している場合、一部のアプリケーションに対してイベントを送信できないことがある事象を確認しました (OS の起動直後は問題なく送信できるが、しばらくすると送信できなくなるという情報も寄せられています)。target として PSN ('psn ') を使用することで問題が回避できるようです。

REAL Studio でアプリケーションを開発している場合は、標準クラスである AppleEvent が Bundle ID を使用しているため、Send() メソッドが戻らない事象 (タイムアウト) が発生し、レインボーカーソルを引き起こすことがあります。Carbon / Cocoa を問わず再現しました。AppleEvent を Bundle ID ではなく PSN で送信するためのコードを GitHub で公開しましたので、よろしければご参照ください。LM はこのコードで対処する予定です。

(2012/10/01) メモリリークを修正した版に差し替えました。
Category: Computer
日本語版 IDE の提供開始から数年が経てど、今ひとつ日本では盛り上がりに欠ける感のある REAL Studio
ちょっと寂しいですね。用途を選んでうまく使えば、すごく便利だと思うのですが。

で、このような状況を打開するための試みの一つとして、REAL Studio 資産の OSS 化を進めてゆくことにしました。
まずは少しですが、Lyrics Master で使っている macoslib に対して独自に改修を加えた部分の GitHub 上での公開を始めました。

ソフトウェア全体をすぐにぱっと公開ということは、私一人の判断以上の事情もあり、できないのですが、便利なモジュール・クラス群などは順次公開してゆきたいと思います。
Category: Apple
SoftBank の iPhone 4 (32 GB) から au の iPhone 5 (32 GB) に乗り換えました。

契約まで

9/14 に 3 時間ほど並んで予約。発売当日の 9/21 には入荷していたものの、都合で受け取りに行けず。
9/22 の朝一で契約へ行き、並んだ時間も含めて 1 時間ほどで契約完了。引き渡しはその 90 分後でした。

全体

iPhone 4 と比較して、画面の広さと処理スピード (全体的なキビキビ感) についてかなり満足度が高いです。CPU もメモリも倍になっているだけのことはあるな、という印象です。
バッテリーの持ち具合は未検証ですが、iPhone 4 と同程度ではないかと思います。
あと、手に持ったときの軽さが非常に良いです。大きさはあまり気になりません。

デザイン

不満はありませんが、エッジが剥げる問題は実在します。持ち帰った後に 1 カ所剥げていることに気付きましたが、いずれ傷はつくと思って割り切りました。
あと、iPhone 5 の裏面は大部分がマットな質感になっているため、裏面には保護シールを貼っても気泡ができてすぐに剥がれてしまいます。iPhone 5 のディテールを知らずにサイズだけ Apple の事前情報に合わせて作ったと思われます (現在市場に出回っているアクセサリが "iPhone 5" ではなく "NEW iPhone (2012)" というような表記になっているものが多いのはそのためでしょう)。上下の硝子部分だけを保護するようなシールが今後出現するかもしれませんね。自分は裏面の保護シールは諦めました。

ネットワーク

LTE が満足に使えるエリアは (東京~神奈川の比較的人口の多いゾーンで生活していても) 限定的ですが、LTE に繋がってしまえば、電波の本数が 2/5 程度でも Wi-Fi と遜色ないブラウズ速度に感じました。3G は、SoftBank の 3G よりも体感できるレベルで早いです。ただし、本体スペックと iOS のバージョンの差も要因の一つではあると思います。
また、LTE の電波が微弱な箇所では LTE/3G の切り替えが頻繁に発生し、その度に接続が切れるという事象を体験しました。1 度だけですが、3G のフォールバック後に全く通信できなくなったこともありました (機内モードのオン/オフで復帰)。あまりに頻繁であれば LTE を切る運用にするかもしれません。

コスト - 本体

Apple への上納金なので特にコメントありません :)
一括払いでポイント還元 5% でした。また、au を使っている家族宛に新規契約クーポン 5,250 円が届いていたので使うことができ、お得感がありました。

コスト - 月額

乗り換えの結果、今までよりも 1,000 円ほど安くなりました。安くなったので調子乗って AppleCare+ を付けました。
au スマートバリューの存在が非常に大きく、少なくともこれから 2 年間は SoftBank よりも安く維持できます。
注意点として一つ。SoftBank では留守番電話機能 (ビジュアルボイスメールなし) が標準機能でしたが、au ではビジュアルボイスメール (315円/月) 以外の留守番電話機能が提供されていませんでした。これは契約時に告げられるまで見落としていました。

その他

au Wi-Fi SPOT の使い方がよく判らないです。ここの説明を見ると Wi-Fi を有効にしていると自動接続されるように思えるのですが、されない模様。個人的に Wi-Fi スポットは使いたくないので、繋がらないのは構わないのだけれどちょっと気持ち悪い。
Category: Computer
Java は長く使っていたつもりでしたが、今日「インスタンス初期化子」なるものを初めて知りました。ちょっと便利な記法ですが、使っている人はあまり見たことありませんね。

で、これコードゴルフっぽいものに使えそうだなぁと思いました。
  1. class C{public static void main(String[]args){}} // 48 bytes
  2. class C{static{}} // 17 bytes
  3. enum E{_;{}} // 12 bytes
今まで 1. の代わりに 2. を使っていたのですが、3. にすれば 5 bytes も短いですね。しかも 3. のインスタンス初期化子のブレース内は static コンテキストではないため、class (or enum) 内で定義するメソッドはインスタンスメソッドで良くなるので、1 メソッドあたり +7 bytes ("static ") も短い…!