2016年 06月 09日

Gist に置いた JavaScript のベンチマークをとる

デモ

使いかた

gist に以下の命名規則でファイルを作ります

  • *.js にベンチマーク対象コード
  • *.js の拡張子をhtml に書いたものに実行するページのHTML
    • または common.html に共通の HTML

そして gist の URL をコピーして、このページで実行させます。

挙動

空関数呼び出しも含め、50msごとにそれぞれのコードをできるだけ実行します。これを1フェーズとして、100回実行します。なので、終わるまで対象テストケース×5秒かかります。

コードは対応するHTMLをロードした iframe 内で実行されます。これは文字列から iframe.contentWindow.Function のインスタンスを作ることで実現しています。

Rate limit 対策

Gist から API 経由でデータをとってきていますが、Github の API は Rate limit がキツいです。

一応、localStorage にキャッシュを持っており、gist 側を更新しない限りは 304 を返してもらうようにしています。304 の場合はAPIアクセスしてもカウントされません。

これでも、gist を更新してベンチマークを繰替えすと意味がないので、Personal Access Token による上限拡大も雑に実装してあります。

経緯

jsperf.com が動いていなくて不便ですね。不便すぎるので5年前ぐらいに自分で書いたコードをひっぱりだしてきて、書きなおしたという感じです。

jsperf と比べ、結果を集約したりする機能はありませんが、クライアントサイドのみで動くので気楽なツールです。

スマフォのXHRはなぜ異常に時間がかかるのか?

通称のページロードにそれほど時間がかからなくても、XHRでは異常な時間がかかることが良くある。

考えられる原因があまり思いつかない。アップロード帯域を絞られすぎている? XHRではペイロードが大きくなるケースが多くてそう感じる?

2016年 06月 08日

QuietComfort の Bluetooth 化

Bose QuietComfort 35 wireless headphones ワイヤレスノイズキャンセリングヘッドホン ブラック - BOSE(ボーズ)

BOSE(ボーズ)

5.0 / 5.0

QuietComfort 35 (Bluetooth 対応の QC) が発表されたりしていますが、自分のところの QuietComfort 15 はまだまだ現役で使えそうです。イヤーパッドを変えたりして4年半ほど使っています。

ただ、一度断線して修理した関係で、ケーブルが絶妙な長さになっており、ヘッドフォンとスマフォを接続した状態で、スマフォをズボンのポケットに入れられないという事態になっていました。この状態で1〜2年ぐらい使ってましたが、ちょっと考えて Bluetooth 化しました。

QC15 の Bluetooth 化

 -

5.0 / 5.0

Blueooth 化といっても、レシーバを買って、ヘッドフォンのバンド部分にうまいことくくりつけるだけです。レシーバは上記のものを買いました。

バンドへの固定は結束バンドでやっています。ケーブルの余りを適当に処理して接続すれば完成です。

感想

結果的にこれはとても良かったです。QCを使うのはほぼ通勤時だけですが、ケーブルがあったときは、電車などで他人にひっかからないように結構気を使っていました。この気苦労が消滅するだけで大変快適です。

ただし、電池が二重管理になるのが嫌なところです。QC15 は単4電池1本ですがエネループを使っています、Bluetooth レシーバは内蔵リチウムイオン電池を micro USB 端子経由で充電するタイプです。

ガルパンの Blu-ray は DTS Headphone:X で聞くとよい

ガールズ&パンツァー 劇場版 (特装限定版) [Blu-ray] - 渕上舞

渕上舞

5.0 / 5.0

最高すぎて見まくってるわけですが「やっぱ劇場と違って迫力がないな〜」という感じでした。しかし、ちょっと試したらヘッドフォンで 5.1ch を再現する DTS Headphone:X が思いのほか良かったです。

音響設定

フツーの家庭だとスピーカーで迫力を求めるのは無理なのでヘッドフォンが最大クオリティになると思います。

このソフトだとデフォルトだと 5.1ch で再生されますが、これをヘッドフォンで聞くと、かなりあっさりしてしまいます。これはとりあえず音声設定で 2ch ステレオを選択してみると音量バランスはマシにはなります。

ただ、これでもものたりなさがかなりあります。

5.1ch DTS Headphone:X

ガルパン Blu-ray は 5.1ch の DTS Headphone:X に対応していて、そっちにしたほうが圧倒的に良いことに気付きました。一瞬設定がどこにあるのか謎ですが ch 切替えではなく「音声特典」のメニューのほうにあります。

PS4 は 5.1ch の DTS Headphone:X には対応しているようで、特に何もせずとも HDMI 経由のテレビのヘッドフォン端子から出せました。

そんな効果ないだろと思って試してみましたが、期待よりかなり良くてびっくりしたのでオススメです。

Google Photo が自動的に場所を推定して表示するようになった

こんな感じで、Google Photo 上で場所が推定されて表示されるようになっていることに気付きました。

メニューマークをクリックすると明示的に削除もできます。また「撮影場所(推定)」についてのヘルプにリンクがあって以下のように書かれています。

「撮影場所(推定)」とはどのようなものですか?

Google フォトでは、ご利用の Google アカウントに保存されている Google ロケーション履歴などの情報をもとに、撮影場所を推定することがあります。

「ロケーション履歴など」と書いてありますが、ロケーション履歴以外はなんでしょうね。被写体認識も入ってるんですかね。自分は常時ロケーション履歴を有効にしているので、ロケーション履歴がない場合の推定状況については調べられませんでした。

「これどこで撮ったかな〜」と思いつつロケーション履歴を辿るほどでもないなということは多々あったので結構嬉しい気がします。

2016年 06月 06日

夢見が悪すぎる

ガルパン良かったので良い夢見れそうだなと思って寝たが、結局悪夢であった。同僚に罵倒されまくる夢だった。

体調不良とかで結構有給使っている気がしていたが、まだ一昨年の有給を消費していた。しかしジリジリと減ってる気がする……

2016年 06月 05日

ガールズ&パンツァー 劇場版を見た

見始めたのが最近だったので、もはやブルーレイも出てるというのに…という感じだけど、立川シネマシティで爆音上映というのを見てきた。

特に爆音のを見たかったわけじゃないけど、そもそも他の映画館の上演はのきなみ終わってたのでここしかなかった。が、結果的には爆音とても良かった。低音だけ爆音になってるみたいで、そんなに違和感なく見れた。

内容的には最高だった……

ガールズ&パンツァー 劇場版 (特装限定版) [Blu-ray] - 渕上舞

渕上舞

5.0 / 5.0

で結局ブルーレイ版を買ってしまった。

度入りの眼鏡を作ってみたぞ

生活にとても支障があるとは言えないが、ここ2年ぐらいで急激に遠くが見えにくくなってきたので、どうしても気になっていた。

「いきなり見えなくなってきた」と思うパターン、大学1年生のときに一度あり、眼科いってみたら「全然問題ない」と塩対応されたり、去年も健康診断で0.2ぐらいの判定になって眼科にいったが「矯正するほどではない」となったりで結局矯正してなかったが、今年の健康診断だと両目0.5ぐらいで、やっぱ気になるので一度矯正してみることにした。

店舗で度数測った結果、両眼 -0.25 と、実際問題としてはほとんど度は入ってない。加えて左目だけ乱視矯正がさらに入ってる。これでもかけてみると全然違くて、1080p→4K ぐらいの感覚はある……

かなり弱い矯正なので疲れるなら今後かけないかもしれない。