2017/10/06

MacでPygame

このところPygameでピンポンゲーム作って遊んでたんだけど、不思議な?こと発見したかも?

普段MBPに結構古い23インチのFull HDディスプレイ繋いで、この外付けをメインにしてEmacs開いて、Terminal開いて、って作業している。Pygameのウィンドウもこっちに出してやってた。普通にボール動く。

さっき何となく、PygameのウィンドウをMBPのRetinaに移動してみた。極端にパフォーマンスが落ちる。イベントもまともに拾えないぐらい。解像度高いのがいけないのかと思って、ディスプレイ環境設定で一番低いモードにしたけど、変わらず。

アクティビティモニタでPythonのプロセスをサンプリングしてみると、rgba64_image_mark_RGB24ってCoreGraphicsの中でかなりの時間を消費してるっぽい。

システム情報でみると、Retinaと外付けディスプレイではピクセル深度がARGB8888とARGB2101010で違ってる。ディスプレイに合わせて、バッファを適切に調整してやらないといけないのかな?また今度試してみよ。

2017/09/25

MacBook Proの熱対策

MBP 2016毎日使っているけど、少し前まで頻繁に「勝手にスリープに入る」現象で悩まされていた。PRAMクリアとかSMCリセットだとか、やってみたけど全然効果なし。どうも熱問題の可能性が高そうで、最近以下の対策をしてから改善しているような気がするので、備忘録としてメモしておこう。

◆ ◆ ◆

普段MBPを一般的な化粧板のついた木製の机の上に置いて作業しているため、長時間使うと机が温まってきて、それが原因で排熱効率が下がっているのではないかと常々思っていた。

検索してみるといろいろ対策方法があるみたいだけど、我が家では100円ショップの粘着式耐震マットでペットボトルの蓋をMBPの床面につけて高床式にしてみた。アホすぎるぐらい簡単でチープなんだけど、2-3cm持ち上げるだけで机側に蓄熱されてしまうことは当然なくなって、これをつけてからは「勝手にスリープ」問題は起きていないように思う。


ついでに同じものを子供のMinecraft専用機となってしまっているMBP 2011にも付けてみたところ、子供もFPSが良くなったと言っていた。これは本当かどうかわからないけどね(笑)。

2017/08/27

プレモルのポイント入力アプリ

全国のプレモル愛飲家が長いこと望んでいたであろう、プレモルのポイントシールの入力正式アプリ「ザ・プレミアム・モルツ キャンペーン応募シール読取アプリ」が、やっとサントリーから発表された。

実はこのアプリが出るまで、ポイント入力が面倒でTesseractOCRiOSを使った自前のiOSアプリを作って入力していたのだが、度々ホームページの構成が変わるため、追従するのが面倒になって放置気味になっていた。おかげで近くのカレンダーやら、いろんなところにポイントシールがペタペタと貼られて汚い状態に…(笑)。

最近になって上の通り正式なアプリが提供されたので、やれやれこれで自前アプリのアップデートから解放されると思って喜んでインストール、が…ちょっとダメ。調子が悪い時は数字を認識するまでに10回ぐらいスキャンし直しとなったり、当然誤認識もあるので、フラストレーションがたまる。

自前アプリを作った時にも同じような問題にはまって、利便性を上げるためにいろいろ作り変えた。その時の経験をまとめておくと以下のような感じ。
  • iPhoneのカメラの解像度は十分高く、OCRのインプットとして十分。
  • しかしシールのサイズが小さいので、画面一杯に数字を表示させるようにデジタルズームしてプレビューさせるやり方だと、当然手振れも拡大されるためとても扱いにくくなる。
  • またOCR側の解像度に合わせて接写することをユーザーに求めると、iPhoneの接写能力ギリギリになりがちで、ピントが怪しくなってしまうことが多い。
このような不安定な状況でキャプチャーしたイメージを認識処理に送り込んでも、ピント、傾き、コントラスト不足などが原因で認識失敗することが多く、使い物にならなかった。つまり、自前アプリも最初の版は今の正式アプリと非常に近い状況だった。こうした経験から、自前アプリでは以下のような妥協案で利便性を確保していた。
  • キャプチャーと認識処理を2ステップに分ける。
  • キャプチャーのステップでは数字部分だけの接写を求めず、シールが含まれた周囲を含めて無理なく撮影する感じにしておく。またこれを利用してシールを並べておいて一度のキャプチャーで複数のシールを撮影することも良しとする。
  • 認識処理のステップでは、前段で綺麗にキャプチャーされた画像に対し、シールの存在するところをタップし、そこにズームインして認識を行う。もう一度押すとズームアウトし、続けて他のシールの認識を行えるようにする。
  • ズームインした時に若干傾いていて認識に失敗することが多いので、画像の傾きを調整する方法も用意しておくと認識成功率が高まった。
頑張れば認識処理のステップを自動化して、タップ操作なしで数字の領域を探すことは可能だと思うけど、そこまでやらずに簡単な実装で済ませている。

プレモルのアプリ開発者の人がこれを読むことはないかも知れないけど、もうちょい改良されることを期待して…。

2017/08/20

iPhone用のウェストポーチ

iPhoneをズボンのお尻ポケットに入れたくなくて、BUILTのカメラ用のウェストポーチを長年愛用してきた。でももうボロボロ。いい加減に交換したいのだけど、BUILTでは欲しいモデルがもう生産されてない。

BUILTのポーチは背面に型押しされた板が入っていて、これがいい具合に作用してiPhoneを出し入れしやすい感じにしてくれていたのだけど、同じようなものが見当たらない。この点は妥協することとして、ELECOMのポーチの背面にベルトループをつけて自作してみることにした。

◆ ◆ ◆

ベルトループは使わなくなったリュックサックのベルトを使うことにした。留め具をベルトループを締め付けるために利用できそうなので。この留め具とマジックテープを使うことでベルトに固定する方式で作ることにした。

問題はナイロン生地のベルトを裁縫しないと行けないこと。最初は普通に針で縫い始めたけど、固くて難しい。調べたところ、皮を縫うときなどに使うステッチャーというのが便利なようだ。が、これが簡単な構造なのにそこそこ値段がするので、素人のお遊びにわざわざ買うのは勿体無い。ピンバイスにミシン針をセットすれば代用できるようなのでこれで済ませることにした。ステッチャーには糸を逃すためのフックが付いてるようなので、セロテープで小さく切ったストローをピンバイスに貼り付け、糸を通すことにした。これで十分。

既製のポーチの裏にベルトループをつけることになるので、ポケットの中を縫うのは少々苦労したけど、針金で糸を引っかき出してポケットの外で下糸をくぐらせるようにすれば少しはやりやすくなった。

絵にすると以下のような感じ。



適当に作った割にはそこそこ使えるものになったので、BUILTのポーチはサヨナラすることにした。やっぱり型押しされた板があった方が出しやすいのは確かだけどね…。

2017/08/12

VPNはラズパイで

iOS 10からPPTPが使えなくなって、しばらくVPNなし生活もしていたのだけど、「あ、そういえばラズパイあるじゃない」ということになって、子供に買って上げたラズパイでSoftEther VPN を入れさせてもらい、しばらく様子をみて調子良かったので、自分用のラズパイも買ってそっちでVPN動かすようにした。

「やっぱこれからはHomeKitだよな」とか言ってた割には、あっさり日和った(笑)。

もう半年ぐらい使っているけど特に問題ない。というかPPTPで接続してたときよりOn/Offの反応が早かったりして、むしろ快適な気がします。

SoftEther様に感謝…。

2017/08/10

GGMM M3

MacBook Proのスピーカーは小さいなりにいい音だと思うのだけど、そして部屋が狭いから贅沢は言えないけれど、ちょっとスピーカーが欲しくなってしばらく探していた。

GGMM M3が気になっていたのだけど、狭い我が家にはE5?とか悩んでいて踏み切れずにいたが、このところモヤモヤする出来事が多くて、気晴らしにM3を買ってみた。

実は、まず音出しまでに時間がかかってしまった。Apple TVとか、beats Xとか、接続が簡単なものばかり使ってるせいで甘やかされてたか(笑)。

◆ ◆ ◆

すぐに聞いてみたかったのでまず有線。最初聞こえないから故障品かと思ったが、本体の出力を大きくする必要あり。インジケーターの光は緑の状態。

音量上げて有線接続で利用したあと、ケーブル抜いてたのを忘れて大音量、というパターンになりそうなのもあり、基本的には使わない方針。

#この製品、USB接続もあったらもっといいのにと思う。

◆ ◆ ◆

次にWiFiの接続。Direct modeは実用上なしかな、と思ってRouter modeで設定。アクセスポイントとしてM3につないでルーターへの接続設定を行う。その後iTunesのスピーカー選択ボタンからターゲットとしてM3を選ぶ、という流れ。ま、よくある手順で、大したことないといえばそうなんだけど。WiFi接続中はインジケーターが青に光る。

Router modeしか試していないけど、ルーターの混み具合によって切断しやすいのはあるみたい。またルーターに負担をかけるみたいで、他のぶら下がってる端末の接続性にも影響していた。

(2018/04/01追記)
無線ルーターが古いせいで音切れするのかと思い、久しぶりに無線ルーターを買い換えた(TP-Link Archer C2300)のだけど、まだ音がたまに切れる感じ(ひどいときは復帰しない)。繋がってさえいればスピーカーとしては満足してるのだけど、切れるのはどうにも。

上記Archer C2300へ接続するにあたって、E3の接続先ルーターを変更するためにアプリからWiFiをスキャンしたとき、ステルスにしているわけでもないのにSSIDが見つからない問題にぶつかった。仕方がないので、Macからダイレクト接続した上で、http://192.168.78.1をブラウザで開き、Client設定からマニュアルで設定したところちゃんと接続できた(2.4GHzの方で)。

(2018/04/15追記)
ルーター(C2300)の交換があまり効果なしで、どうしようか迷ってたところ、ふとiOSのGGMMアプリをみて見ると、Firmwareのアップデートが出ていた。初期状態でv1.1.3.0214だったのが、v1.1.4.0402へ。(GGMMのサイトでは未公開っぽい?のでMacからでは更新できない)

しかし、どうにもルーターとの相性が悪いらしく、何度やってもC2300との接続ではアップデートを完了できなかった。一旦PlanexのMZK-RP150Nに接続したところ、C2300より調子がいい。おもちゃみたいな無線ルーターの方が調子良いとは…ガックシ。気を取り直して、このルーター経由でFirmwareアップデートを完了。

苦労はしたけど、半日使った所、音切れが減ってる気がする。ただ以前も調子良いときはあったので、本当に改善したのかしばらく様子を見て見る必要がある。

◆ ◆ ◆

続いてBluetoothを試した。インジケーターが白に点滅中に端末からBluetooth設定画面からGGMMを選択するとペアリングできる。インジケーターの点滅が止まって白で点灯状態となる(青じゃないんだよね…)。そしてスピーカーをGGMMに選択。簡単。

他の端末をつなぐには、一旦先につないでいた端末側でBluetooth設定からペアリングの解除を行う。するとインジケーターが再度点滅を始めて、端末検索状態になるので、新しい端末から改めてペアリングする。

我が家の環境では、安定性と利便性から接続はBluetoothが良さそう。M3はこのモデルだけみたいだけど、E5にはBluetoothのみ、Bluetooth+WiFiの2モデルがあるらしい。もしも買うならBluetoothのみでもいいかなと思った。

(2017/08/30 追記)
しばらく使ってみて、複数端末でM3を共有する使い方の場合、Bluetoothではペアリング解除が面倒なのが気になってきた。端末側からではなく、M3側で解除する方法があるといいんだけど、Resetボタンでもダメっぽいんだよな。対してWiFi Router modeでは後勝ちで接続できるため、解除を気にせず使えるのがいい。それと素人耳だけど、WiFiの方が音が良いような気がする。ま、でも上述の通り音が切れやすのだけど。

◆ ◆ ◆

最初は音量が小さい状態だと低音が強調されすぎかな?と思ったけど、音量を真ん中ぐらいにすればとてもいい感じ。部屋狭いので最大は試せないけど…。

特別音質にうるさくない並みの耳だけど、普段潰れて聞き取れてなかった音が聞こえて来たのは愉快だった。BeatlesのSun Kingのドドドドドドってところがはっきり聞こえたり。しばらくはいろんな種類の音楽かけて違いを楽しんでみよう。

2017/06/11

新しいiMacにはTouch Barがつかなかった。よし。

WWDC 2017のキーノートで新しいiMacとか、iPad Proとか色々発表された。

個人的にすっきりしたのは、iMacにTouch Barがつかなかったところ。少なくとも年内一杯、iMac Proまではその方向ってことだ。利便性を考えるとTouch IDだけは本体正面とかにつけてもいいんじゃないかと思うけどね(3D顔認証の方が相性いいかな?)。

Touch Barについては前にも書いたけど、キーボードにタッチパネルが埋め込まれる必然性がちょっと弱い気がするし、ここにも書いたように技術的にすっきりしないところもある。なにより、便利そうに見えて、ブラインドタッチとの相性が悪くてあんまり使わないんだよね。どうせならキーボードよりはトラックパッドに液晶が付いてた方が良かったと思う。

◆ ◆ ◆

iOS 11でいよいよドラッグ&ドロップが導入される。今後もこうやって出し惜しみしながら、macOSの機能をiOSが取り込んでいくのだろうな。ユーザー数を考えれば、iOSを軸に高機能化していく必要があるのは自明。

将来的にiPad Pro用の機能として、リモートデスクトップを標準で入れてくれたらいいなと思う。Appleの戦略としてマウスをiPadにつなげるようにしないだろうから、代替品としてのペンを持つiPad Proならポインタ操作を必要とするリモートデスクトップを実装する必然性があるし、差別化ポイントとして意味があると思う。ただ、MacBookとの食い合いになるので、iPadの売り上げが相当厳しくなってきた段階にならないと導入されないかな。

◆ ◆ ◆

HomePodに関しては、難しいね。HomePodに限らず、スマートスピーカーの「スマート」の部分だけみると、人間の欲深さを感じるなぁ。大したことやらないのに、そのために電気を使って常時待機させるなんて勿体ない、という気がしてならない。

コントローラーはiPhoneでいいじゃん。スピーカーが賢く周囲を検知しなくても大体聞く向き決まってるじゃん。やりすぎだよ。自分なら、同じお金で少しいいスピーカー買う方がいいかな。

…なんて言って、結局来年ごろHomePod買ってたりしてね。

2017/04/23

4Kどうするか

MacBook Proの外付けディスプレイをどうにかしたいなと考え中。今はだいぶ前の23インチのHD(LG M237WS-PM)を使っているけど、TNパネルで色が浅くて物足りないので、そろそろ発売されそうな?LGの32UD99とかどうかと思ってる。

ところで我が家は専用機としてのテレビが久しくなくて、M237WS-PMにビデオを繋いでテレビがわりにしている。32UD99がなかなか出ないのもあって、逆に4Kテレビをディスプレイがわりに流用するのはどうかと思って少し電気屋で眺めて見た。

店頭には50インチ、60インチ4Kのデモ機が溢れてるわけだけど、あんなにざらっとした絵を見るぐらいならもっと小さいテレビでもいいんじゃないのかと思ってしまう。デモ機の右上に「4K」って表示されてたりするけど、その周りはブロックノイズを判別しやすく、見る度にがっかりしてしまうのは自分だけだろうか。

本当は離れて見るなら画素数としては50インチでも4Kで良いのだと思う。問題はソースの情報量が足りてないところにあるのではないだろうか。もし情報量が少なくて実力が出せないのなら、今後8Kとかになってもあんまり面白くない。放送と通信の観点でも、放送が十分な情報量を出せるようにならないと、画質の点でも通信に差をつけられてしまう。

お店にはLGや東芝の有機ELの製品も展示されてた。黒の部分がわかりやすいコンテンツを使ってるせいもあるとは思うけど、だいぶ液晶よりいい感じだ。遠からず上位機種は有機ELに移行せざるを得ないのではないだろうか。日本のメーカーももっと頑張ってほしいな。

で、今日のところは、有機ELがこなれてくるまでテレビについては待つのが良さそうだと判断した。それまでは32インチクラスの4Kディスプレイでつなぐのが良いかな。iMac 5Kでもいいけどね。


2017/01/20

このところのEvernote

なんだかトップが代わってから、Evernoteはダメだね。

iOSアプリのアップデート(v8.0.1)適用してみたが、ひどい出来でがっかりした。無理に目新しさを出そうとしてしまったのだろうか。使いにくくてイライラする。自分と同じ思いの人が多いのか、iTunesでのレビューのスコアもひどいものだ。

色々がっかりポイントはあると思うけど、自分の最初のがっかりは、タグの使いにくさ。どこにタグが隠れてるのかしばらくわからなかった。タグの利便性を低下させてしまってる。検索窓があれば足りると思ってないかな。

それにタグによる絞り込みから、同じタグ付きで新規エントリを作成する機能がなくなったみたい。小さいけどこれがとっても不便。

プライベートなメモの管理には、その名の通り一生 Evernote に頼ろうかと思っていたけど、これではちょっと雲行きが怪しいなぁ。