紅満園と iPhone のバッテリー事情と HEIF

中華が食べたい、ということで久しぶりに紅満園に行った。早い・安い・うまいがそろった中華料理屋である。う~ん、やはり油淋鶏はどうしても頼んでしまうね(汗)。それ以外は基本的に頼んだことがないものを頼んだつもりではあるのだが。

どれも美味しかったのだが、今回失敗したのは一番最後の写真の豚の角煮。いや、けっして味が悪いとかそう言うのじゃなくて、単純にボクの苦手な味付けだったってだけ。まだ正体はわからないんだけど、中華料理で甘みを出す特によく使われてる調味料(?)なんだけど、あれが凄く苦手なのよね。店員がお勧めしてくれたので頼んでみたんだけど、それが使われていて、ボクにはダメだった。残念。

ここも前はもっと夜遅くまでやってたんだけど、夜 12 時までになってしまった。

いつのまにかバッテリーのへたり具合を iOS 側で知ることができるようになった。ただ必ずしも正しい数値ではないようで、飽くまでも目安らしい。そしてさっそく実行していみると、9% ほど劣化していた。がーんだな©井之頭五郎。

原因はわかっている。マグネット式の充電端子とこの iPhone のケースが干渉しているためだ。時々これで充電が美味くされないときがあり、その時は iPhone がとても高温になる。中途はんぱにつながってなにか充電池でヤバいことが起きているのだろう。
マグネット式をあきらめるか、ケースをあきらめるかっていうかマグネット式をあきらめるべきなんじゃないかなとは思ってるんだけどね……。マグネット式は色々と利点はあるものの、カバンの中では充電できないとか、欠点も多い。そしてバッテリを傷めるのであれば、使わない方がいいか、と思い始めている。

話変わってこちらはいい話。iOS でも採用された HEIF 形式の画像データが Windows でも読めるようになった。エクスプローラに HEIF 形式の画像がサムネールとしてちゃんと表示された。これであとは Photoshop が対応してくれれば、iPhone や iPad 側の保存を HEIF 形式に出来るんだけどなぁ……。

 

iPad Pro 買った

突然だが iPad Pro を買った。
ボクの現在のモバイル コンピュータ事情はこちらに詳しい。元々 ThinkPad X200 というノート PC を持ち歩いてた。でも出先で開発とかしなくなったので、そうなるともっと小さい方がいい(カバンを小さくしたかった)と言うことで、Windows タブレットに移行、それのタッチパネルが壊れて、3000 円の Androidリモートデスクトップを使ってノート PC の代わりにしてた。

でもさすがに 3000 円の Android は遅くて使い物にならなかった。それでも 5 ヶ月はがんばったんだなぁ(笑)。しかも今かかわっているプロジェクトが二つあるんだけど、定例の打ち合わせが週に三つもあるのね。そのたびに 3000 円の Android + RDP ではかなり不便というか、ストレスがたまるばかり。ついにしびれを切らして、なんか端末買うかーと思って、いろいろ探すことにした。

できれば小さい端末がよい。7 ~ 10 インチ。そしてフル HD よりドット数が多いと嬉しいな……などと調べていたのだが、う~ん、どれも二桁万円になってしまうぞ。二桁万円出しても、最近の安普請なタブレットは 10年も持たずに壊れるよね……(今まで、色んな人がダメにしているのを目にしてきた)。

と、いろいろ悩んだ結果、なぜか iPad Pro 10.5 インチになった(爆
えー、これでよかったのか……? 7 万円あれば他にもあったのではと思いつつ……。

こいつを RDP でつかう。つまり Windows として使う。
一番心配した速度的なところは特に問題ない。すげーサクサク動く。データは全てサーバ上にあり、仮想 Windows マシンはそのサーバで動いているため、イチイチ iPad にコピーする必要も無い。メモ取りも、出先での開発も可能だ。ただ開発に関しては、長時間は無理そうだけどw
しかもありがたいのが、Microsoft OfficeAdobe のアプリ群が追加料金ナシで使えることだ。まぁ Office はそもそも Office 365 に入っているので、Windows タブレットを買ったとしても追加料金はいらない(ボクのコースは 5 台までインストール出来る)。Adobe Creative Cloud は iOS への追加インストールが無料だ。PC にはすでに二台にインストールしてしまっている(自宅の開発機と、会社の開発機)。もし Windows タブレットを買うともう一個 Adobe CC を契約しなくちゃいけなくなる。ただしインストール出来るのは iPad であり、仮想 Windows マシンに入れられるわけではないので、映像回りの作業は iPad でやることになるけどね。

まぁそんなわけで、とりあえず割と快適に Windows として使えている。
しかも画面は 2224×1668 ドットもあるから映像回りの作業もけっこうできる!

もちろん問題が無いわけでは無い。RDP におけるキーボードの操作が、おかしい。またそのため、ショートカットキーが使えないものがちらほらある。ただ動作さえ理解してしまえば、慣れてしまった。

たぶん特殊な iPad の使い方だと思うので、今後いくつかレビューを記事にしていこうと思う。特にクラウド サービスを使わずに自前のサーバのファイルを iPad で自由に読み書きしたりするのは最初はけっこう面倒くさかった(笑。

夜、ブロンコビリーに行った。ちょっとした事件があったので、日記に書いてみる。
今日は浅草橋の会社で iPad の設定とかしてたので、同乗者との合流は浅草橋だった。そこからブロンコビリーを検索したら、新小岩店が引っかかった。よしよし、と思って行って見たものの近づいてきてもそれらしい看板や光も見えない。あれー? おかしいなと思いながら蔵前橋通りを走っていると、電気の消えたブロンコビリーが!! しかも 5 月オープンって書いてあるwwww
マジかwwww

というわけで、北綾瀬店に行ったのでした(爆

iOS での RDP のキーボード操作の挙動

Android では RDP(遠隔で Windows を操作できるプロトコル)を使うと、キーボードがおかしくなると言う話題を書いた。これを iOS でやるとどうなるか、会社にある iPad で試す機会を得た。
上記だとただ愚痴だけが書かれているが、より詳しくレポートしようと思う。というのも上記の愚痴はなぜそうなったのかを解らないうちにツイートしてしまったからだ。あれから色々と調べた結果、おそらく以下の様な挙動ではないかと推測するに至った。

まず現象として、RDP で日本語を入力していると予測変換が働き、それを無視して入力し続けると、予測変換が勝手に確定されていってしまう。そこで予測変換が出てきたときに変換キーを押すと、スペースとなってしまい、これまた予測変換が確定してしまう。

ここで試したのは、まず Windows 側の IME を OFF にしてみること。
次に、iOS 側の日本語入力を OFF にし、 Windows 側の IME を ON にしてみること。

この二つの結果は同じであった。
つまりどういうことかというと、おそらく iOS はキーボード入力を直接アプリが触ることは出来ないのではないかと言うことだ。RDP は Windows を操作するものであって、iOS の日本語変換は関係ない。本来ならば押されたキーをそのまま素直に Windows に伝えるのが RDP の役目だ。しかし iOS だとこれがどうやら出来ないらしいのだ。つまり iOS で文字入力したその結果を Windows に渡しているようだった。
だから Windows 側にいろいろ単語登録してあっても、iOS 側で変換してしまうので何の意味も無い。それ以前にキーボードの操作は iOS のものでしかない。ボクは Windows 側の IME に Atok を使っているのだが、これらはまったく意味なし。そもそも IME は ON でも OFF でもまったく関係ない。変換キーを押してもそれはスペースにしかならないため、先ほどのように予測変換で出たものが確定されてしまい、スペースが入力されてしまうのだ。

ではどうやって文字入力をするかというと、予測変換が出てきたときに iOS と同じようにそこから変換をタップするか、候補をタップして望みの変換を選ぶしかないのだ。つまりキーボードから手を離して画面をタッチしてこれらを行うわけである。

う~む、なんだこれ?wwww

新年度が始まると道路も混むと予想していたのだが、それに反してここ数日は秋葉まで一時間を切っている。新年度で交通量が減るというのは初めての経験かも知れない。まぁ別にちゃんと観測しているわけではないのはもちろんなのだが……。

HEIF と BMW の読み方と、職人の朝

Twitter から拾った雑多なネタ。

ボクの携帯は iPhone 7 なんだけど、HEIF に対応している。HEIF の利点はなんといっても JPEG より小さいサイズで高画質が維持できることだ。しかし Windows と Windows 版 Photoshop が HEIF に対応してないおかげで、iPhone の画像は JPEG で保存してきた。

そして、ついに Windows 10 が HEIF に正式対応することになった。
ありがたい! あとは Photoshop が HEIF に対応してくれれば!
どうでもいいけど HEIF ってなんて読むの?w

ふと思ったこと。ボクが小学生の頃、BMW のことをベームべーと読んでいた。いわゆるドイツ語読みだ。でもいつの間にか英語読みするようになったなーって。英語に切り替わったのはいつ頃からだろうねぇ?

超くだらないけど、好きなのであげました(何
そしてコレを思い出したので張っておく(ぇー

最後にメモ程度に撮った写真とか。Big メロンパン、一個で 626kcal とかスゲーんですけどって思って写真に撮ったんだけど……一個で 1000kcal 越えるやつとか結構あるので、わりとどうでもよかった(汗)。桜は浅草橋の 27 日の開花状況(ぉ
最後のは給油に寄ったガソリンスタンドの隣りにある西友の駐車場に止めてあったちっちゃい車。
なんだろう??

まだまだ Adobe だけでは完結できない

とある仕事で動画に BGM をつけるっていうのをやってるんだけど、音が絡むと Adobe だけでは完結できないなぁって話。

今回の仕事でメインで使っているツールは Premiere だ。尺が 2 時間もあるのでそもそもチェックが面倒くさいのだが、まぁシーンに合わせて BGM を当てていくんだけどもちろん画像とピッタリに作られているわけではないので、 BGM を切ったりつなげたりしていく。
BGM の方が長い場合は、BGM の盛り上がりとかを映像の盛り上がりにシンクロするように合わせてその前後を切ればいいのでそんなに大変じゃない。どっちかっていうとシーンより BGM が短いときがめんどうくさい。と言うのも、今回のはゲームではないので、BGM データはループなど考慮されていない。曲全体を聞いてどこでループさせると違和感がないかを見つけ、そこで BGM を切ってつなげていくという作業になる。

また他にも面倒くさいのは、展開が速いシーンのあとブツッと次のシーンに一瞬で切り替えるときとか。ブツッと切れたのを感じさせないように最後リバーブ(残響音)を残して曲を切るとかやる。いきなりリバーブをかけるとおかしいので、最後の数秒前からだんだんかけたりする。

あとはシーンに合わせてリバーブ・エコーフランジャーLo-Fi などをかけたりする。

これらの機能は Premiere にもついてるんだけど、やっぱり色んなことしようとすると機能がぜんぜん足りない。で、Adobe には Audition っていう音周りの総合的なソフトウェアがあるんだけど、これでもやっぱり足りなかった。
たとえば上で出てきた残響音を残して曲をブツッと切りたい場合、曲はブツッと切れてるんだけど、残響音は「わんわんわんわんわん………」と最後の音がしばらく続かなければならない。ところが Premiere や Audition だと曲がブツッと切れた場所で残響音も切ってしまう(笑)。
他にも残響音はそのままに曲だけフェードアウトなんてことをしたくても、残響音ごとフェードアウトしてしまう(汗)。

結局 Sound Forge のお世話にならざるを得ないという……。

Adobe 以外のアプリを使うのがめんどうくさいのは、Audition だと Premiere から呼び出せて、Audition で編集したファイルは自動的に Premiere に取り込まれる。いちいち Audition でファイルを保存し、Premiere にその保存したファイルをドラッグ&ドロップするとかそういうことはしなくて済むのだ。
Sound Forge で編集してしまうとそもそもそのファイルは Premiere が開いているので Sound Forge が「このファイル書き込めないんだけど?」ってエラーを出してくるし、別名で保存してその保存したデータを今度は Premiere に持って来なくちゃいけないし、別ファイルになっちゃったから位置合わせもやり直しだし……あー、もう! ってなる。

まー、Adobe は映像の会社なので音周りがショボイのは仕方がないか……。

WB-BT300 とか PHP とか VPN とか

Twitter から拾った、コンピュータ関係の話。

iPhone の音を PC の音とミックスして出したくて、使っていなかった Bluetooth レシーバを引っ張り出してきた。Onkyo の WB-BT300 という機械だ。コイツはなにをする機械かというと、iPhone など Bluetooth 対応機からは音響装置に見え、WB-BT300 に対して音声を飛ばしてくれる。WB-BT300 は iPhone からきた音声を、デジタル信号かアナログ音声信号に変換して出力してくれるのだ。

で、会社の開発機には TEAC の US-366 というミキサー兼 USB 音源があるのでそいつと接続すると、PC からの音と iPhone からの音をミキシング(混ぜて)出せるようになるのですな。ちなみに US-366 と WB-BT300 は光デジタルケーブルで接続。

ところが、iPhone からの音しか出ない!! なんだこれ??

原因は WB-BT300 のデジタル フォーマットがサンプリング周波数 192kHz、量子化ビット数が 24bit のせい。このフォーマットは統一しておかなければならないのだが、たかが Bluetooth の音声受信装置でなんでこんな高い設定なんだwww
ちなみに CD はサンプリング周波数が 44.1kHz、量子化ビット数が 16 ビットだ。CD よりも音が悪いクセにデータ量は CD の 6.5 倍もあるwww

仕方がないので PC 側の出力も 192kHz の 24bit に設定した。こうすることによって無事 PC と iPhone の音が同時に出るようになった。

某絵描きから、イベントの福引きみたいなクジをデジタル化できないかという依頼があり、ごりごりと PHP と HTML と Javascript で作った。今流行の HTML5 というヤツだ(ぁ
中身はすぐに出来た。そりゃまぁ、そうか。クジ振るだけだから、出た乱数が何等賞なのかに変換して表示するだけである。

問題は管理画面である。単純にクジ、と言っても誰でも彼でもアクセスしてクジが引けるというワケにはいかない。以下の様な機能が入っている。

  • ユーザ登録して、ユーザ登録した人がクジを作れる
  • クジはいくつでも作れる
  • それぞれのクジには 1 ~ 10 等賞まで設定でき、さらに残念賞、参加賞が設定できる。そしてそれぞれの賞及びはずれがいくつあるのか設定するようになっている。
  • QR コードの表示
  • クジを引く画面を Javascript でアニメーションさせる。
  • 何等賞が出て、残り何の賞がどれくらい残っているかリアルタイムで監視する、モニター

使い方はユーザ(主催者)がクジを作ったら、そのクジを iPad などの端末で表示し、お客さんがそれをタップしてクジを引くというものだ。
さらに QR コードを吐いて、それをお客さんが撮影してクジを引くという機能もつけた。この場合、ちゃんと一回しかクジは引けないようになってるのだが、残念ながら Javascript では機種固有の識別番号を取得できないので、cookie になってしまった。そのため、cookie を消去すれば何度でもクジは引けてしまう。

ツイートでの愚痴は、HTML というかサーバのプログラムは一回一回が初めてのアクセスになるというか、仕組み上、同じ人が何度アクセスしようが、サーバ側は初めての人が初めてアクセスしたことにしかならない。
今アクセスしに来た人が前の○○という場所にアクセスしに来て、今のアクセスはそれの続きであるということは実は認識できないのだ。それを実現するために、cookie やらセッションやらっていう仕組みがあるのだが、とにかく一回一回のアクセスがすべて関連を持たせられないので、渡す数値だのなんだのも全部もらい直さないといけないので、プログラミングがすげーめんどくさいっていう話。

これが普通のプログラムだったら、さっききたアクセスは変数に残ってるし、その変数を参照して関数を呼び出せば済むんだけど、PHP だとアクセスが来るたびにプログラムは先頭から実行されてしまうのだ。

あと処理は PHP なんだけど、それを表示するのは HTML なのね。組み方としては PHP が処理の結果に応じて HTML を吐き出してるワケなんだけど、そうなるとプログラム ソースの中に PHP と HTML が混在してけっこう美しくない結果に……。今回は仕様書も何もないままテキトーに作り始めてしまったので分離されてないのだけど、予定してたより大きなプログラム(PHP 部分で 2000 行程度、Javascript が 500 行程度)になってしまったので、今後は気をつけたい(汗


(MP4 / 750×1334 / 25fps / 1’05” / 126MB / iPhone)

amatsukami.jp サーバの様々なサービスは、色々がんばって外に出してるんだけど、それでもやっぱり一部の機能は VPN を張らないと使えない。そのたびに端末(iPhone など)から VPN を張ってるんだけど、けっこうめんどくさい。
モバイル WiFi ルータに VPN を張る機能があれば、端末でいちいち張らなくても済むのになぁ……。

チャットの使い方

最近、色んなプロジェクトで ChatWork を使うことが多くなった。
ボク個人的には「何コレ?」って感じのサービスなんだけど、要はグループ チャット システムである。プロジェクトの情報共有に使われているようだ。Redmine じゃダメなのん? と思うのだが、Redmine では即時性が足りない(んだと思う)。Chatwork はチャットというだけあってリアルタイム性がある程度付いてくる。とはいえ、「これからチャットするからルームに入ってー」とアナウンスするわけではないので、完全なリアルタイムではなく、用件がある人が書きっぱなしになってしまう。

でね、チャットなので当然、書き込まれた内容はどんどん流れて行ってしまう。
とはいえチャットとはそういうものだ。なので情報共有のためにはチャットを通して決まったことや報告した内容はどこかにまとめて置く必要がある。そのままチャットに置いたままでは、あとから「あの件はどう決まったんだっけ?」と確認するのは大変だからだ。

ところが、プロジェクト メンバーは平気でチャットに書いたままにしておく。
おかげで、○○の件って△△でよかったんでしたっけ? とか聞かれても、知らねーよってなるwww
もちろん知らねーよでは済まされないので、チャットの履歴を遡って検索することになる。

ChatWork には「タスク」というものがあって、話題を切り取っておくことが出来る。ただこれも「タスク」という名前が表すとおり、話題の中で「いついつまでに○○しときましょう」みたいなのを切り取って、それが終わったらそのタスクを消すみたいなことをするためのものなので、いつまでも置いておくとか別スレッドにするとかそういうことは出来ない。
また、「ああこの情報は大事だな」と気づけばそうやってタスク化できるが、向こうが報告してきてボクにとって重要だかどうだかも解らないような情報はボク自身がスルーしてしまう。そういう情報をあとから「あの件って……」と言われたら、結局、チャットの履歴を遡ることに変わりは無い。

どうすればいいか?
話題ごとにチャット ルームを作ればよいのだが、ChatWrok は向いていない。チャットだからダラダラと喋ってしまうし、余計な情報も多くなる。さらに子チャットなどを作る機能もない。
なので、別途掲示板みたいなものがあるとイイと思っている。とにかく話題ごとに切り分けられて、その情報をすぐに見られるようにすればいいのだ。まぁ、切り分けられたスレッドがたくさんできちゃうんじゃないかって言われるかもしれないが、チャットだと検索するにしても、長いチャットのやりとりの中を検索して遡っていく必要があるが、話題ごとになっていればタイトルの検索だけですむことが多いはずだ(ただこれは使う人たちのセンスにもよるが)。

などと長々と書いたが、要するにツールにはそれぞれ長所短所があるんだから何でもかんでも一つのツールで済ませようとするなって話。過去決まったことは、どっか解りやすいところに書いとけよ、っていう。

同じようなことは Redmne や Excel にも言える。本来と異なる使い方をしている企業や人はたくさんいる。

下の写真は餃子市西所沢店のもの。深夜までやってて味もしっかりしてて出てくるのも早くて駐車場もあって、ボクみたいな人間のために有るんじゃないかって言うぐらい気に入っているお店である。