2015-08-31

MacBook と Kinesis で Dvorak 配列

Mac のキーボード設定で「Dvorak 配」を選択したら、記号の配置が Kinesis キーボード標準の配置と違っていた。手が Kinesis の配置を覚えてしまっているので、Mac の Dvorak 配置に合わせる気になれない。仕方がないので、Kinesis のリマップ機能を使ってキー配置を変更した。

リマップのメモを残しておく。リマップを開始して、次の順にキーを押していけば Kinesis の Dvorak 配置になる (はず)。

\'
[\
]=
-[
=]

あとがき

最初は、Mac のキー配置を Qwerty (US) にして、キーボード側で Dvorak にししていた。けれど、それじゃあミーティングやら勉強会やら気分転換で席を離れる時に、(キーボードを外しちゃうので) キー配列が Qwerty になっちゃう。キーボードを外したら Mac の設定で Dvorak を ON、キーボードを付けたら Dvorak を OFF にするのも面倒。なので、Mac 側を Dvorak にして Kinesis の設定を Qwerty のままにした。これで、キーボードを付けても外しても Dvorak な環境の出来上がり。

USB キーボードを繋いだら US キーボードになって、外したら Dvorak になると一番嬉しいんだけどね。。。

2015-08-30

iPhone 6 Plus iSight カメラ交換で Apple Store に行った、問題なかった、すぐに帰った

先日、iPhone 6 Plus の iSight カメラ (背面カメラ) に不具合のある機種があると発表された。

シリアル番号から調べてみたところ、ぼくの iPhone 6 Plus は交換対象だった。8/28 (金) に Apple Store の予約を入れて行ってきたのでレポートを書きたい。

Apple Store 銀座店へ

ブログの記事を書いた 8/22 に Apple Store 銀座店のジーニアス・バーの予約を入れた。予約日時で提示されたのは、8/28 だけだったので、19:10 の回を予約した。ジーニアス・バーに行くのはこれが初めて。

8/28。早目に会社をあがって銀座へ。予約時間の 20 分前に到着。Apple Store アプリでチェックイン。時間に余裕があったので 2F へ。気になっていたヘッドホンの実機を発見。

Parrot Zik 2.0 と B&O の BeoPlay H8。どちらも音質が良く、Bluetooth で無線対応してて、ノイズ・キャンセリングが付いている。Bluetooth 対応でノイズ・キャンセリングな本気のヘッドホンって少ないのよね。どちらもオンイヤー・ヘッドホン・タイプなのだけど、Parrot Zik 2.0 はイヤーカップが楕円形で耳を覆う。一方、B&O BeoPlay H8 はイヤーカップが円くて耳の上に被さる。Parrot Zik 2.0 を着けた後で B&O BeoPlay H8 を着けると、耳を圧迫される感じ。10 分、20 分なら良いけど、1 時間、2 時間は辛そう。

パロット Bluetoothヘッドホン iOS/android対応 (ブラック)Parrot Zik 2.0 ZIK2.0-BLK(PF561030)
パロット Bluetoothヘッドホン iOS/android対応 (ブラック)Parrot Zik 2.0 ZIK2.0-BLK(PF561030)
【国内正規品】B&O play BeoPlay H8 密閉型ワイヤレスオンイヤーヘッドホン アルジッラ ブライト BeoPlay H8 AB
【国内正規品】B&O play BeoPlay H8 密閉型ワイヤレスオンイヤーヘッドホン アルジッラ ブライト BeoPlay H8 AB

などと悩んでいたら時間が近づいたので 4F のジーニアス・バーへ。スタッフが近づいて用向きを聞かれたので、予約してあることと、iSight カメラ交換プログラムのことを告げた。名前を一応確認されて、中央付近のテーブルで待つよう言われる。少し待つと別のスタッフが登場。ここから本題開始。この時、時計を確認したら丁度 19:10 だった。

ジーニアス・バーに席をおろして、内容確認。修理になる場合のためにバックアップは取ってあるか聞かれる。バックアップを特に取ってはいなかったけれど、必要なデータはクラウドに上がっているので大丈夫と返答。では、といって iPhone 6 Plus の不具合を検証開始。

ぼくの iPhone は指紋認証をオンにしているけど、スタッフはロック画面からコントロール・パネルを出してカメラ・アプリを起動。オート・フォーカスの様子を調べて... 大丈夫、とのこと。

シリアル番号としては不具合のある機種に当たるけれど、不具合は出ていないと告げられた。修理をしなくて大丈夫だし、購入から 3 年間は不具合対応が出来るという。まあ、深刻でないならそれで良いか、とそのまま帰途についた。

時計を見たら 19:14。4 分ほどでジーニアス・バー訪問は終了。カメラは疎いので、フォーカスが合ってない、かどうかなんて良く分からない。大丈夫ですよ、とスタッフの太鼓判をもらえて、安心を買った感じ。

参考になれば。なお、修理になった場合に備えて、Apple ID とパスワード、データのバックアップ、iPhone に付けてるアクセサリー (ぼくは付けない派なので良く分からないけど) の確認もしておくと良いと思う。また、カメラ部品以外が壊れている場合は、そちらの修理が先になる。このカメラ交換プログラムで iPhone のディスプレイが割れているのも直る〜、とかそういうことはない。残念ながら。

2015-08-27

Amazon、プライム会員向けに映画配信サービス「プライム・ビデオ」を 9 月開始

Amazon が 9 月から Amazon プライム会員向けに映画配信サービス「Amazon プライム・ビデオ」を開始すると発表した。

Amazon プライム会員の年会費は 3,900 円。ぼくは 2007 年にプライム会員になった (clmemo@aka: Amazon Prime に会員登録した)。8 年近くプライム会員をやっての感想は、値段ほどのお得感はないけれど、プライム会員をやってて良かったと感じたことは少なからずある、といった感じ。主なサービス内容は次の通り:

  • お急ぎ便の無料利用
  • お届け日時指定便の無料利用
  • 毎月 1 冊の Kindle 無料本提供 (ただし無料になる Kindle 本は限られている & Kindle 端末が必要、アプリではダメ)

今はもうサービスがなくなってしまったけど、2007 年当時は Amazon を始めとしてほとんどのサイトが「無料配送」を行なっていなかった点も付け加えておこう。2007 年の Amazon は 1,500 円以上の買い物をしないと「送料無料」にならなかった。プライム会員は無条件で送料が無料になった。この特典は当時はとても大きかった。今は... うん。

プライム・ビデオ

Amazon のサイトには、9 月開始と動画が配信されることしか書かれていない。

具体的な開始日時は不明。9 月中ということだけ分かってる。

コンテンツの中身も不明。「人気の映画」「アニメ」「テレビ番組」が配信されるとあるけれど、具体的なコンテンツは明らかにされていない (4 つほど例が挙がっているけど、それだけじゃあねぇ、分からないよ)。

Android, iOS, スマート TV で再生可能、ということで「見るだけ」なら追加投資は必要なさそう。大画面や大音場を求めると、まあ、それなりにお金がかかりそうだけど。

あとがき

プライム・ビデオのために「今から」プライム会員になる魅力は感じないけれど、今、既にプライム会員な人 (ぼくみたいに) は、サービスの開始を楽しみにしても良さそう。さてさて、どうなることやら。

2015-08-25

ROK Coffee Grinder、そろそろ発送かな

英 ROK 社のコーヒー・グラインダー (コーヒー・ミル)。アジア・中国向けの出荷が始まる気配のメールが 2015-08-18 に届いた。ちょっと遅れてしまったけど、備忘録がわりに記事にしておく。

届いたメールによると...

We are in the final stages of despatching your ROK Coffe Grinder

出荷前の最終ステージにあるよ、とのこと。

シルバーウィークには ROK Coffee Grinder を楽しめそうかな。楽しみ。

2015-08-22

Apple、一部の iPhone 6 Plus にカメラの不具合ありと発表

Apple が一部の iPhone 6 Plus に背面カメラの撮影で写真がぼやける可能性があることを発表した。

ごく一部の iPhone 6 Plus で、iSight カメラのコンポーネントの一部が故障し、撮影した写真がぼやけて見える場合があることが判明しました。影響が確認されているのは、主に 2014 年 9 月から 2015 年 1 月までの間に販売され、シリアル番号が特定の範囲内にある iPhone 6 Plus です。

iPhone 6 Plus iSight カメラ交換プログラム - Apple サポート より引用

Apple はカメラの交換プログラムを開始している。下記サイトから、プログラムの対象であるかどうかを調べることが可能。

apple-isight

上記サイトで iPhone のシリアル番号の入力する。iPhone のシリアル番号は「設定アプリ > 一般 > 情報」から確認することができる。シリアル番号の行を長押しして「コピー」を選択すると、長いシリアル番号を書き写す必要がなくて楽!

あとがき

ぼくの iPhone 6 Plus は予約開始後すぐに予約して手に入れたもの。調べてみたら、カメラ交換プログラムの対象だった。

Apple Store 銀座への「持ち込み修正」を選択したら、2015-08-28 (金) の予約しか取れなかった。9 月末には次期 iPhone が発売されてゴタつきそうなので、それより前に修理はすませたいところ。

2015-08-20

Google の Wi-Fi ルーター OnHub のスペック

2015-08-18 (火)、Google は Wi-Fi ルーター「OnHub」を発表した。一人一台のスマートフォン。タブレットにノート PC。そしてスマート家電。家庭であっても、Wi-Fi が当たり前に、そして Wi-Fi で繋がる機器が増えた今日の時勢に合わせた Wi-Fi ルーターとなっている。

混んでいる無線の帯域を自動的に避ける機能、IoT (インターネットにつながる物・家電) がサポートする Wi-Fi 以外の無線技術にも対応している点などが面白い。価格は $199。2015-08-31 に北米で発売とのこと。日本には来るのかな?

スペック

Google のサイトを見ると OnHub のスペックが載っているけど、メモ代わりに自分のブログにも書き写しておく。

  • Wi-Fi: 802.11 a/b/g/n/ac (3x3, 2.4 & 5 GHz)
  • Bluetooth: 4.0
  • ZigBee/Thread: 802.15.4 conformance (?)
  • WAN ポート: 10/100/1000 Mbps x1
  • LAN ポート: 10/100/1000 Mbps x1
  • USB ポート: 3.0 x1
  • 大きさ: 19.05 cm (高さ) x 11.68 cm (直径) (7.5inch x 4.6 inch; 円筒型)
  • 重さ: 0.86 kg (1.9 lb)
  • CPU: IPQ8064 Dual Core 1.4 GHz
  • メモリー: 1 GB DDR3L
  • ストレージ: 4 GB
  • スピーカー: 3W
  • 最大接続機器数: 128

2015-08-12

Emacs for Cocoa でフォント設定を変える方法

X Window ベースな Emacs だと Sfift キーを押しながら左クリックするとフォント設定用のウィンドウが現れたけど、Cocoa な Emacs だとその方法が使えなくなっててハマったのでメモ。

Cocoa な Emacs ではメニューから「Options > Set Default Font...」を選ぶ。

もしくは、次のコマンドを実行する。

M-x menu-set-font

すると、フォント設定用のウィンドウが現れる。

Emacs-menu-set-font

2015-08-11

Google が Alphabet という「親」会社を作った

Google が新しい会社を作った。名前を Alphabet という。URL は https://abc.xyz/

新会社 Alphabet は Google の子会社ではない。Google の「親」会社になるという。言い換えると、Google は Alphabet という新会社の子会社となる。今後、Google 傘下にあるビジネスのうちいくつかを Alphabet の直接下に置き、Google と対等な立場に置くらしい。

新会社 Alphabet の CEO は、Google 創業者で現 Google CEO のラリー・ペイジ氏が就任する。

あとがき

Alphabet という社名は、なんというか、ググラビリティが低い。その一点だけが気にかかる。

Google が親会社を作る是非については、今のところ何とも言えないかなぁ。時が結果を教えてくれるのを待つことにしたい。

Github の「Files changed」(diff) で空白を無視する

先日、git コマンドで diff をとった時に「空白の変更」を無視する方法を紹介した。

今回は Github で同じことをやる方法。

Github で diff を見るのは、Pull-Request を作って master ブランチにマージする時じゃないかと思う。この時、「Files changed」タブを選択すると、ブランチ間の diff を見ることができる。

github-pr-diff

上のスクリーンショットでは、2 つの diff の hunk (固まり) が見える。このうち、最初の diff は行末の空白を消しただけの変更。メインの変更じゃない。こういった変更を見えなくするのはどうするか。git diff -b と同じような出力をどうやって見るか。

方法は簡単。アドレスバーの URL 末尾に「?w=」というクエリー文字を追加してページを開く (Return キーを押すとページが開く)。これだけ。

すると、次のように空白の変更を無視した diff が表示される!

github-pr-diff-w

Pull-Request のようにブランチ間の diff を見る時に、このオプションは便利。コード・レビューで Github の Pull-Request を使っているなら、この Tips を覚えておいて損はない。

ちなみに、クエリー文字は ?w=1 でも OK。

2015-08-09

iPod Touch (第 5 世代・第 6 世代) と iPhone 5s, 6 との比較

iPod Touch 第 6 世代をした、ということで、前世代との比較表が欲しくなったので作ってみた。ついでにサイズが同じ iPhone 5s。最新の iPhone 6 との比較もやってみた。

iPod Touch (5G/6G) と iPhone (5s/6) の比較

毎度のごとく、優れている項目を青字にした。

iPod TouchiPhone
第 5 世代第 6 世代5s6
CPUApple A5Apple A8 (1.1GHz) + M8Apple A7 + M7Apple A8 (1.4GHz) + M8
メモリー512 MB1 GB
123.4mm123.8mm138.1mm
58.6mm67.0mm
厚さ6.1mm7.6mm6.9mm
重さ88g112g129g
画面サイズ4.0inch4.7inch
ディスプレイ1136x640 (326ppi)1334x750 (326ppi)
Wi-Fi802.11 a/b/g/n802.11 a/b/g/n/ac802.11 a/b/g/n802.11 a/b/g/n/ac
Bluetooth4.04.14.0
Touch IDYES
NFCYES
気圧計YES

iPod Touch で比べると、第 5 世代からは第 6 世代へは着実なステップアップ。それでいて、サイズ・重量に変化なし。iPhone シリーズと比べると、「小さくて軽い」を実現している。

CPU は iPhone 5s の A7 より新しい A8 チップ。iPhone 6 と同じ CPU を搭載しているけれど、周波数は低め。これはサイズの違い=バッテリーの違いを反映しての、省電力目的かな?

Bluetooth が iPod Touch/iPhone シリーズで最新の 4.1 になっているのは嬉しい。Touch ID が付かなかったのは残念! あると便利なんだけどね。

git diff で空白を無視する

git で diff を取る時、空白(スペース) に関わる変更を無視したい時がある。コードの可読性を上げるためとか、インデントを修正しただけとか、行末のスペースを消しただけとか、そういった「空白まわり」の変更が入っている時。スペースの変更を気にせず、メインの修正にだけ注目したい場合、空白を無視するオプションを使うと便利。

git diff-b オプションを付けるか、--ignore-space-change オプションを付ける。

サンプル

空白無視 diff のサンプル。まずは普通に diff を取ってみる。

$ git diff
diff --git a/chatwork.el b/chatwork.el
index b3a96e5..5f8cd9c 100644
--- a/chatwork.el
+++ b/chatwork.el
@@ -249,9 +249,9 @@ CALLBACK sould be a callback function"
                 (goto-char (point-max))
                 (mapc (lambda (plist)
                         (let ((message-id (plist-get plist :message_id))
-                              (account-id (plist get (plist-get plist :account) :account_id)
-                              (send-at (plist-get plist :send_time))
-                              (body    (plist-get plist :body)))
+                              (account-id (plist-get (plist-get plist :account) :account_id))
+                              (send-at    (plist-get plist :send_time))
+                              (body       (plist-get plist :body)))
                           (insert chatwork-page-delimiter
                                   (number-to-string message-id) " "
                                   (number-to-string account-id) " "

メインの修正は最初の一行だけ。続く 2 行は alignment を揃えただけ。

ここで -b オプションを付けて diff を取ってみる。

$ git diff -b
diff --git a/chatwork.el b/chatwork.el
index b3a96e5..5f8cd9c 100644
--- a/chatwork.el
+++ b/chatwork.el
@@ -249,7 +249,7 @@ CALLBACK sould be a callback function"
                 (goto-char (point-max))
                 (mapc (lambda (plist)
                         (let ((message-id (plist-get plist :message_id))
-                              (account-id (plist get (plist-get plist :account) :account_id)
+                              (account-id (plist-get (plist-get plist :account) :account_id))
                               (send-at    (plist-get plist :send_time))
                               (body       (plist-get plist :body)))
                         (insert chatwork-page-delimiter

空白修正以外の diff が取れた。このコミットの変更の本質が浮かび上がる。変更点が分かりやすい。便利!

2015-08-08

Anker PowerPort 10 (60W) が届いた

Anker PowerPort 10 が届いたので開封の儀。

開封の儀

ダンボールを開けると、Anker のロゴの入った箱。PowerPort 10 と書かれてる。

Untitled

この箱を開くと、PowerPort 10 本体が姿を見せる。箱の蓋裏には「Thanks for choosing Anker!」。

Untitled

同梱物一覧。ワンシートの説明書に、本体、電源コード、予備のストラップ?。

Untitled

PowerPort 10 を立ててみた。USB ポートが 10 個並ぶと壮観。Anker ご自慢の PowerIQ のロゴ「IQ」が見える。その上にあるのはランプ。PowerPort 10 には電源スイッチが付いた。スイッチを押すと、ランプが点く。

Untitled

背面。右に見えるのが電源スイッチ。

Untitled

前面。普段使いは立てたりせず、こうやって横置きにするかな。

Untitled

最後にサイズ比較。iPhone 6 Plus を横に置いた。厚みこそあるものの、縦・横は意外と小さい。コンパクト。仕様書によると、112 x 68 x 27 (mm)、390 (g)。

Untitled

あとがき

10 Port の USB 充電器。モバイル機器が増える今日この頃にはニーズに合った製品と思う。

Magit を Melpa からインストールしたら警告が出たので対処した

Emacs のパッケージ管理システムで magit をアップデートしたら、次のような警告が現れた。

Error (magit): git-commit-mode has to be removed

Magit is no longer compatible with the library `git-commit-mode', which was used in earlier releases. Please remove it, so that Magit can use the successor `git-commit' without the obsolete library getting in the way. Then restart Emacs.

Error (magit): git-rebase-mode has to be removed

Magit is no longer compatible with the library `git-rebase-mode', which was used in earlier releases. Please remove it, so that Magit can use the successor `git-rebase' without the obsolete library getting in the way. Then restart Emacs.

コンパイル中に一瞬現れる。確認するには、*Warnings* バッファーを開く。

要点は、最新の Magit では git-commit-mode パッケージと git-rebase-mode パッケージを使わなくなったので削除してね、ということらしい。

対処

パッケージ・システムで対象のパッケージを削除。念のため、magit パッケージも削除。Emacs を再起動して、magit パッケージをインストール。これでおしまい。

  1. パッケージの削除
    1. M-x package-list-package
    2. git-commit-mode パッケージ上で d キーを押して削除マークを付ける
    3. git-rebase-mode パッケージ上で d キーを押して削除マークを付ける
    4. magit パッケージ上で d キーを押して削除マークを付ける
    5. x で削除を実行
  2. Emacs を終了 (C-x C-c)
  3. Emacs を起動
  4. magit パッケージをインストール
    1. M-x package-list-package
    2. magit パッケージ上で i キーを押してインストール・マークを付ける
    3. x でインストールを実行

2015-08-07

Emacs-Lisp の insert は数字を直接出力できない

Emacs-Lisp で次のようなコードを書いたところエラーになった。

(insert 100000000)
wrong-type-argument: char-or-string-p 100000000

数字を出力するには number-to-string で文字列に変える必要がある。

(insert (number-to-string 100000000))
100000000

数字は char

insert に数字を引数として与えると、char の文字コードを渡したのと同じになる。例えば、ASCII コードの文字「a」は文字コードで「97」なので

(insert 97)
a

このようになる。Emacs は ?文字 を評価すると文字コードが分かる。試しに ?安 を評価したら 23433 だった。これを insert してみる。

(insert 23433)

「安」が出力された。想定通り。

あとがき

今回、数字を insert しようとしてエラーになった。これは数字が大きかったから。数字が小さかったら、意図しない「文字」が出力されて、気付かなかったかもしれない。気をつけよ。

2015-08-05

Anker から 10 ポートの USB 充電器 発売

Anker から 10 ポート対応の USB 充電器 PowerPort 10 が発売された。Amazon 価格は 3,999 円。

主なスペックは次の通り:

  • ポート数: 10
  • 最大ワット数: 60W (5V 12A)
  • 1 ポートあたりの最大電流: 2.4A
  • PowerIQ 搭載
  • VoltageBoost 搭載
  • Qualcomm Quick Charge 2.0 非対応

PowerIQ は Anker の独自技術で、接続された機器を自動判定して電流を自動調整する機能。PowerIQ があると、2A 用のポートと 1A 用のポートを接続する機器によって「ユーザーが選ぶ」必要がなくなるので助かる。

VoltageBoost は充電用ケーブルの抵抗を検知して、電圧を上げる技術とのこと。ケーブルに依りそうだけど、更なる高速充電が期待できそう。

1 ポート最大 2.4A は、今のタブレット充電なら適正な値。最大 12A ということなので、12 / 2.4 = 5 ポート分しか使えない。タブレットを沢山持っている場合は、一つ前の機種 (6 ポート/60W/5V 12A) で良いかもしれない。

ぼくは今、5 ポート/40W のモデルを使っている。充電する機器は 7 つ。

  • iPhone 6 Plus
  • iPad Air 2
  • Nexus 7 (2013)
  • Kindle Paperwhite
  • WiMAX2 モバイルルーター
  • Apple Watch
  • iPod Touch 6G

去年までは 5 ポートで十分だったんだけど、Apple Watch を買ってからポートの数が足りなくなった。iPod Touch を買って状況は悪化。充電する機器を入れ替えて凌いでいたけど、夜、寝る前に全ての機器を接続して、朝起きたら充電が終わってる「シンプルな生活」を取り戻したくなって、10 ポート版をポチッとした。今夜には届くはず。

ポート数と電流の関係を言えば、2.4A 給電が必要そうなのは iPad Air 2 と Nexus 7 (2013) くらい。もしかしたら、iPhone 6 Plus も? 3 ポート 2.4A 給電としても、あと 5 ポートは 1A 給電が可能そう (正確には少し足りないけど)。計 8 ポート。うん十分。

寝てる間に充電する場合みたいに時間に余裕があるなら、Anker の製品は充電の終わったポートの給電をやめるので、合計 A はあまり気にしなくて良いのだけどね。

2015-08-03

重複したキーを探すワンライナー

キーと値を = でつないだファイル keys.txt があって

"key_name_with_underscore" = "value";

重複したキーがないかチェックするのにワンライナーを書いたのでメモ。

$ awk '{print $1}' keys.txt | sort | uniq -d
  • awk コマンドで 1 列目だけ (ここではキー部分) を出力
  • sort コマンドでソート
  • uniq コマンドに -d オプションを付けて重複しているものだけ出力

久しぶりに awk コマンドを使ってみた。書き方忘れててネットで調べた。