VB.NETをC#に変換してみた時の作業メモ

Pocket

プログラミングの話題です。

Xamarinとか考えるとVisual StudioではVB.NETはオワコンでC#に移行すべきなんだろうなぁという雰囲気は以前からありましたが、Visual Studio for Mac(C#のみ)なんてのまで出てきちゃってさらに加速してきた感があります。Swiftもオープンソース化されて今後様々なプラットフォームの開発ができるようになるかもですが、現状C#ならWin/Mac/iOS/Androidいけちゃうわけですし。もちろんそれぞれGUI周りの実装が違うので、1つのソース(プロジェクト)で各プラットフォームのビルドが一発でできちゃう、とかいう世界にはまだならないですが、関数とかオブジェクトとか(内部処理的な)ライブラリを共有、転用できるだけでも大きなメリットでしょう(想像)。

ということでVisual Studio 2017を入れて見たついでに、実験的にフォーム1つだけの小さな自分用WindowsアプリをC#で作り直してみようかと思い立ちました。C#の勉強の為にはゼロから作り直す方が良いんでしょうが、とりあえず世の中にはVB->C#のコード変換をしてくれるツールがたくさんあるということだったのでまずはそちらで雰囲気をつかんでみることに。ポインタアレルギーを脱してないヘタレプログラマなので、Cと名のつくものは不安が先行しがち(^^;)。

で、最初に試したローカルアプリ型のツールはいまいちよくわからなかったので、ブラウザ上でコードをサクっと変換してくれるこちらを使ってみました。プロジェクトレベルで変換してくれるわけでなく、あくまでテキストレベルでVBコードをC#コード文法に書き直してくれるだけなので、VS2007上でC#の新規Windowsフォームアプリケーションのプロジェクトを作りました。そしてフォームデザイナーで土台となるフォーム(Form1)のプロパティだけ揃えておいて、載ってる部品を全選択して一括コピペします。ペーストされる座標が揃いませんが、カーソルキーで適当に揃えて確定。これでボタンやリストなどは名前やプロパティをそのまんま移植できました。次にForm1のコードをエディタで開き、上記サイトでまるっと変換したC#コードをペースト、、、しただけでは上手くいきませんでした。以下思い出せる範囲でメモ。

■using周り

冒頭にインポートするライブラリが、デフォルトのテンプレートと、変換したもので食い違います。特に変換した方のコードには、

なんてのが含まれています。どうもVB特有の関数やオブジェクトを使用するDLLらしいです。個々にうまく変換できなかったものを手直ししてても意外とVBにしかないものがあるみたいです。C#で全面的に書き直すのも手なんですが、.NET Frameworkに含まれるDLLなので使ったからといってユーザに別途追加インストールが必要になるとかではないので、特にこだわりがなければ使ってもいいんじゃないでしょうか。ゼロから書き直すプロジェクトなら避けた方がスリムなんでしょうけど。

特にファイルコピー周りの処理でVBの方が便利なところがあって、最終的には

というのも追加していくつかVB固有機能を使用しました。

逆に変換コードにはあってデフォルトテンプレートにあるものは名前からして使わなそうなものはコメントアウトしました。

■各メソッドの貼り付け場所

C#のバージョンの違いなのか、Form1クラス定義の開き方も少し違ってたりなので、念のためテンプレのままとし、クラス内のメソッド定義単位でペーストしました。

なんかはテンプレの方にもあるので重複に注意です。

■コードの手直し

ぶりっとコードをペーストすると盛大にエラーが出ます。さすがにそのまま完璧に変換とはいきません。

例えば、配列の添字がVBでは()、C#では[]ですが、これは自動では置換してくれません。()が他の意味にも使われている箇所があるので、自動では判別が難しいようです。

例えば、

なんてコードに対して、「メソッド名が必要です」が出て意味不明ですが、tmp[0]に直してやると消えます。文法的にはtmpという変数にいきなり引数がついてるので、「temp.hoge(0)みたいにメソッドがあるはずじゃねぇの?」という推論なんでしょうかね。まぁVSの推論エンジンですら、そこは配列の添字じゃないの?と提案できないくらいなので、サードパーティの無料自動変換プログラムができなくても責められないでしょう。わかってしまえば単純作業なのでせこせこと直していきます。

次に多かったのは、

のように文字列を文字列で分割して配列に格納したりするコードに対して、「‘string’ から ‘char’ へ変換することはできません。」と出ます。(古い.NETの)C#のSplitは分割文字として文字列ではなく単一の文字(char型)しか使えなかったらしい名残のようです。もともと分割の区切り文字が1文字の場合は、char型であることを明示するよう、ダブルクオートをシングルクオートに直してやるだけでOKです。

とか。では2文字以上の文字列を使いたい時は?ちょっと文法が変わりますが、同じ.Splitで

のようにすればいいみたい。めんどくさ!

■My.settingsへのアクセス

VB.NETではアプリの設定など短い情報を保存するMy.settingsという仕組みがあります。もちろんC#にもあるんですが、アクセス方法がちょっと違います。

となってる箇所に「現在のコンテキストに ‘My’ という名前は存在しません。」と出ます。MyのかわりにProperties(複数形なので注意)とし、Settingsの後にDefault.を挿入します。

これは変換サイトの方で頑張ってほしかった案件です。

もちろんセッテイング項目は自分で作り直しています。どこかのXMLファイルをコピーすれば一発かも知れませんが、まぁ数個だったので手で移しました。

■中身が移ってないイベントハンドラがある

変換後のコードで、変換処理にこけたのかわかりませんが、イベントハンドラの{}の中身が空のままのコードがいくつかありました。エラーもないのでちょっと恐いですね。全体見渡したり、数をチェックしたりして抜けがないか確認が必要です。

■GUIパーツと各イベントハンドラコードの紐付け

ある程度コードを手直し、よやくエラーが0になってビルドしてフォームが表示された時は感激です。しかし、一瞬後に絶望へとかわります。どのUIパーツをクリックしても反応しないのです。試しにデザイナーから適当なボタンをダブルクリックして、コードエディターに挿入されたイベントハンドラにMessageBox.Showとか書くと機能します。つまり、コピペでもってきた各ハンドラとデザイナー上のUIパーツが紐付いていないようなのです。一瞬、全てのパーツに同じ事をして{}内を書き写さないとダメなのかと青ざめましたが、幸い少しだけマシな方法がありました。

デザイナーでどれかのパーツを選択し、プロパティウインドウでイナズマのアイコンをクリックします。そうするとここにそのUIパーツが受け取れるイベント一覧が出てくるので、Clickなどコードを割り付けたいイベントを探し、その右列をクリックします。するとプルダウンメニューで当該Formのコード内にあるハンドラ一覧が出るので、選択してやれば紐付け完了です。

UIパーツはたくさんありますし、ひとつのUIパーツにClickとDouble ClickとEnterとなどなど複数のイベントを設定することも少なくないので、結構大変な作業になります。VBとC#のプロジェクトを同時に開いて1つずつ見比べながら書き写してくしかありません。またコード側からどこにも紐付いてないイベントハンドラが残ってるかどうかを知る術もありません。

まぁきっとこれもデザイナーのソースとなるテキストファイルを丸コピーできれば一緒に反映されるような気もするんですが、わかりませんでした。

■まとめ

上に書いた以外ではファイル周りで変換しきれていないコードがあったりしましたが、まぁVB.NETとC#の違いを調べながら書き直すのは良い勉強になりました。

むしろ大変なのは先のイベントハンドラの紐付けや設定項目の再作成など、Visual StudioのGUIでする作業の移植ですね。バージョン情報などを含むアセンブリ情報などもごっそりやり直しです。これは今回使ったようなコード変換系のサービスの難点でしょう。

先に使ったプロジェクトを読み込んで変換するタイプだとここらも一括で面倒みてくれるかも知れません。Webツールに移行する前にもう少しいじり倒してみればよかったかな。今回はForm1しかない小さなツールだったのでまだよかったですが、より大規模なソフトウェアの場合などは抜け漏れのチェックも大変になってきます。

いずれにせよC#自体は想像してたほどVBとかけ離れてたり、いきなりポインタの理解を迫られたりするようなものではなかった気がします。少なくともVBでできていたことを移植するだけなら、いくつかのVB固有関数を除けばほぼ単純な文法置換(()を[]とか文末セミコロンとか)で済みそうです。残りのVBプロジェクトを全部C#に移行させる理由はいまんとこないですが、今後新規に作る時はC#にしてみようかなというくらいの気持ちにはなりました。あとは買っておいた解説本を眺めておこうと思います。

 

MacBook Pro 2016でBootCampするのにしたこと

Pocket

VRなど出先でそれなりのGPUパワーが欲しくなり、WindowsのノートPCかミニPCでも買おうかと思ったんですが、Pascal級(GTX10x0)のGPUを搭載したモデルはどれもデカいしお値段もそれなり。だったら今あるCore i7なMacBookProに外付けGPUいわゆるeGPUしてやればいんじゃね?と気付きました。幸い自宅にはGTX1080があるので必要な時にeGPUケースに移し替えていけば追加費用が少なくすみます。またmacOSもHigh SierraからeGPUに対応することもあり使い道も増えてくるかも知れません。いっそ追々WindowsデスクトップもeGPU前提で小型のものにリプレイスもありかなとか。

ただ現状でeGPUが使えるのはWindowsのみだし、VMWare Fusionなどの仮想化されたものではダメ。MacBook ProでやるならBootCampを使う必要があります。実はσ(^^)はだいぶ前から仮想化派だったのでMac歴の割にBootCampは未経験でした。今回、あらためてやったことをまとめてみます。

MacBook Pro 15′ w/TouchBarならディスクリートGPUとしてRadeonも搭載されており、VMWare上のWindows10(DirextXも10止まり)よりネイティブにGPUパワーが使えます。まずはそれで頑張ってみて、eGPUはHigh Sierraの動向も踏まえ別途検討ということで。

■パッケージ版のWindows 10を用意

すでにVMWare FusionでWindows10を動かしていましたが、最近のライセンス体系では仮想OSとBootCampは別カウントとされているので仕方なく新規にライセンスを購入しました。

まず今のMacBook ProはWindows10しか対応してません。また64bitのみだったはずです。一番安いDSP版は本体同時購入ならOKかも知れませんが、どの本体にライセンスが紐付いてしまい後々本体を買い換えた時にまた別途買い直さなければならなくなるのでオススメしません。

結局少し高いですが新規のパッケージ版かダウンロード版が必要になります。こちらは基本的に同じ値段と思われがちですが店頭在庫を伴うパッケージ版はタイミングによってはお安くなります。本記事執筆現在、Windows10にはCreators Updateがリリースされており、既に適用済みのパッケージもありますが、その為ひとつ前のAnniversary Update適用版を処分したいショップがなかなかの安値で売っていました。

またメディアもDVD版とUSB版がありますが、ダウンロード版も含めて結果としてインストール作業に違いはありません。BootCampではMicrosoftからダウンロードしたISOイメージを利用するからです。結局、必要なのはライセンスキーだけなので、USB版だろうがDVD版だろうか1つ古いAnniversary Update版だろうが関係ないのです。Microsoftから最新のCreators Update適用済みの最新ISOをダウンロードして使用します(高速回線がなくダウンロード量を減らしたい方はDVDからISOを作成する手もありますが、結局その後でWindows Updateで大量にダウンロードが発生することを思うと、あまり得策ではないと思われます)。

■パーティション作成はフォーマットなしでOK

BootCampのユーティリティで今のMacを初期化せずにパーティションを切ることができます。500GB中最低48GBは確保する必要がありましたが、余裕をみて60GB確保しました。しかし途中でエラー。ディスクユーティリティで検査と修復が必要でした。ちょっと別記事にするべきレベルかもですが、OS部分はリカバリパーティションから起動しなおして修復が必要と言われたものの、そちらではなぜか異常なしになってしまう状態。結局、シングルユーザモードで起動してfsck -fyを実行することで修復できました。その後再度BootCampツールからパーティショニングに成功しました。

パーティションサイズ指定と同時に前述のISOを指定してあるので、Windowsインストールはほぼ自動で進んでいきいます。VMWareよりも楽なくらいです。

■キーボードでかな、英数キーが効かない問題

ATOKを入れてみたんですが、かなキーと英数キーをキーカスタマイズで指定することができません。ATOKが非対応かなと一瞬思ったんですが、どうもBootcampのバグでWindows10をインストールする際にキーボードドライバーが正しく当たらないのが原因なようです。

こちらのブログを参考に作業したところ正常に動作するようになりました。

Windows機を使う時の伝統、CtrlとCapsの入れ替えはMacBookのキーボードでは不要ですね。

■トラックパッドでナチュラルスクロールにする

Windows上のタスクトレイにBootCampアイコンが常駐し、キーボードやトラックパッドの設定が行えるのですが、意外なことにスクロール方向をmacOSでいうナチュラルに指定することができません。今更こんなところで古い作法を強要されても困っちゃいますね。これを解決するにはレジストリの書き換えが必要になります。

検索すればたくさんのブログ記事がヒットしますが、キモはあらかじめデバイスマネージャーで内蔵トラックパッドのハードウェアIDを調べておくことです。こちらの記事の説明が良かったです。MacBook Pro w/touchBar 2016では、ヒューマンインターフェイスデバイスの中にApple SPI Trackpadというのがあるので、そちらのハードウェアIDを調べます。σ(^^)のところでは、「SPI\VID_05ac&PID?0278&MI_02」でした。

regeditでHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\を調べると複数のハードウェアIDが見付かります。それら全てのDevice Parameters下のFlipFlopWheel(と他のブログではFlipFlopHScrollも)を1にしろという記事が多いですが、σ(^^)は上記のハードウェアIDのみいじりました。ただし、SPI\VID_05ac&PID?0278&MI_02で始まるものが2つあり。ひとつは中身がほぼ空だったのでスルーしました。

■Win(Command)+Aによるアクションセンター起動を抑止する

Windows10ではWin + Aでアクションセンターと呼ばれるエリアが画面右から表示されます。これはMacBookのキーボード的にはCommand + Aなのでついうっかり押してしまいがちで大変ウザいです。アクションセンター自体を無効にするのは標準の設定でもできるのですが便利な機能ではあるのでキーボードショートカットだけ無効化したい。

その場合は、こちらの記事のやり方でOKでした。AとついでにCortanaが起動するSも無効化しました。

この設定をしてもアクションセンターを利用したい時はタスクバーの右端にある吹き出しアイコンからいつでも呼び出すことができます。

 

その他、macOSとはドラッグ作法が違うのがストレスフルですが、まだ解決法が見付かっていません。左ドラッグ時、σ(^^)は昔ながらの親指でボタンをロックしながら人差し指で動かす二本指を使ったドラッグをするのですが、MacBook Pr 2016の巨大なトラックパッドにおける、親指の反応位置が下寄りすぎるというか、すぐに二本指による右クリック動作に誤認識されてしまいます。パッドのかなり下部を押さないとなりません。そろそろMacでも人差し指のみでのドラッグをマスターした方がいいのかも知れません。

ともあれベンチマークこそしてないですが、VMWare上ではまともに利用できなかった3DソフトがBootCampでばっちり利用できるようになりました。仮想化技術も進歩し、CPU性能も挙がったので、最近では3Dグラフィックをゴリゴリ利用する場合以外は利便性から仮想化の方が有利だと周りにも言い続けてきましたが、ついにその3Dゴリゴリニーズが自分に来て今更BootCampするハメになりました。やっぱりいちいち再起動が面倒くさいし、上記のような最適化が必要だったりとハードルは高いですが、せっかくそこそこのグラフィック性能をもったMacBook Pro(ディスクリートGPU付き)でそういうニーズがあるならやるしかないってところですね。将来的にVMWare FusionやParallelsが進歩して、内蔵GPUやeGPUを透過的に仮想Windowsに使わせられるようになってくれるのを願うばかりです。

0SIMで彩速ナビのデータ通信を無料化

Pocket

iPhoneでApplePayを使い始めて、サブのおサイフケータイ用Xperia Z3 Compactをすっかり持ち歩かなくなった今日この頃でしたが、地味に困ってたのがカーナビ彩速Z701へのテザリングでした。同機種は交通情報のSmartLoopや検索などのデータ通信にWi-Fiテザリングを使います。しかしiPhoneのテザリングは10分だか使わないと(例え設定画面上はONになっていても)省電力の為にOFFになってしまうので、「車に乗ったら自動でネット接続」環境には使えません。そこでXperiaでTaskerを使ってカーナビのBluetooth電波を検出したらテザリングをONにするようにして使っていたわけです。

持ち歩かなくなったとはいえスマホを車に放置するのは憚られるので、W03L01を買って使わなくなったNECのモバイルルーターMR04LNを設置するところまでは思いついたんですが、やっぱりそれだけのためにMVNO回線を用意するのも数百円とはいえもったいないかなぁ、などと何ヶ月か悩んでました。そんな中、ふと思い出したのがnuro(旧So-net)の0SIMです。500MBまで無料で、その後は5GB/1600円まで従量課金というプラン。おそらくカーナビの渋滞情報をとるだけならそんなにデータ通信量かからないんじゃないかと踏んでググってみたところ、やはり同じことしてる人もいたようで安心して契約。

導入初月の7月はうっかり設定に使ったSSID設定がMacからiPhoneに自動同期されていて、知らず知らずのうちにiPhoneから利用されて一瞬で500MBオーバーorz。ようやく月が明けて数日経ちましたが、現在1.35MB。このペースなら毎日のように車を使っても500MBには届かず、無料で使って行けそうです。

MR04LNは写真のようにデータ使用量を表示したり、上限(写真では490MBに設定中)を決めて通信停止することもできるので安心便利。ただしカーナビからの電波で自動接続するようスリープする設定だと、車にのる間隔があくとバッテリーが切れてしまうことが発覚。仕方ないので無通信による省電力モードは休止状態に。車に乗った時に自分で電源ボタンを長押しして復帰が必要で、Xperia時代よりはひと手間増えたことに(Xperiaでも車内留置した場合は同じかもっと不便になると思いますが)。

オーブン電子レンジを買い換え ビストロ最上位機種の前年モデルがお買い得

Pocket

2005年製の重量センサーオンリーの電子レンジに嫌気がさして買い換えを決意。重量センサーオンリー機のなにが問題かというと、食品の量を文字通り重さでしか検知しないのです。凍ってるのか常温なのかもわからないのはもちろん、難しいのはお皿の重さがどれくらいの比重を占めるのかわからないで温めようとする点。わからないので、計測重量の半分程度が食器の重さと仮定し、1/2程度の質量の食品がそこにある、と考えて温めてるようです。なので、タッパーのような計量な器に入ってたり、そもそもラップに包んだだけの冷凍肉とかでは全然見当違いの加熱をしてしまいます。

また長年の夢として「常温に温められる電子レンジ」というものを誰か作ってくれよ、と思っていました。例えばパックのお寿司とかをスーパーで買ってきたとします。さすがにそのままでは冷たいのですが冷蔵庫から出して常温に戻るのを待ってもいられません。仕方なく電子レンジに入れるんですがうっかりするとアツアツ寿司のできあがりです。なぜ常温くらいのいいとこで止める電子レンジがないのか!と憤ってたわけですが、これもやっぱり温度センサー未搭載だからという結論になるわけです。最近の温度センサー搭載機種にはちゃんと温度を指定して温めるモードがついていました!例えばカチカチのアイスをスプーンが刺さるくらいまで解凍するなんて設定も。

ということで、

  • マルチセンサでオート温めが賢い
  • 温度指定温めができる

といった要求仕様を定義して機種選定したのですが、ややはりセンサー類が充実してるのは高級なオーブンレンジ(過熱水蒸気モデルなど)ばかり。温度センサーをスイングして広範囲の温度分布をチェックするものや、64眼センサーを謳うものまで。もちろん、前述の食器のみの重さを検知できる仕組みは現在のセンサー技術でもないのですが、かわりに温度センサーや蒸気センサーなどで食品の状態を複合的に計測することで温めすぎ、不足を補う発想です。

個人的にはその64眼センサー(Panasonic)が刺さりました。同社でも上位2機種のみが採用しています。温めという一番安いレンジの機能もつきつめると結局多機能の最上位レンジになってしまうというのはいささか悩ましいことでもありましたが、どうせ買い換えるなら進化を感じたいということで同居人の反対を振り切りつつそのどちらかを候補に。

最上位機とその下の違いは、カラー液晶のGUI操作パネルとNFCによるスマホ連携、あとはドアのダンパーくらい。ので純粋なあたため性能としては2番目の機種でも良かったんですが、どのみち最新型は十数万円クラスで買えないので前年度モデルを狙っており、それだと差額もさほどではなかったので、UI研究家としてはGUI搭載電子レンジというのに触れておくのも良かろうということで最上位モデルに狙いを定めました。

それがNE-BS1300です。カラバリは黒+赤ラインと白。同社炊飯器と同じラインナップですね。炊飯器は白ですがこちらは黒にしてみました。

白黒液晶+ツマミUIの下位モデルはNE-BS903。

ちなみに2017年モデルだと数字の3が4に置き換わり、BS1400とBS904となります。詳細な機能比較はこちら

見た目は同じ。搭載メニュー数が違う程度のようです。なお、さらに前の1200になると天井のヒーターが剥き出しになるなどハード的な違いもかなりあるようです。

家電はきっちり1年でモデルチェンジしますが、違いはほとんどないことも多いので、うまく新型登場時期を狙って旧モデルの上位機を買うのが最近のお気に入りです。エアコン洗濯機炊飯器などはそれで最上位機をおとくにゲットしています。4Kテレビも新型登場直前くらいを突きましたし、スマホなどは発売日買いが基本なσ(^^)ですが、家電はコスパとレビューをじっくり見定めて買うことが多くなってます。

で、BS1300にほぼ心を決めたものの、ちょっと出遅れていてヨドバシやヤマダなど量販店では完全に品切れ。通販で買っても良かったんですが、ちょっと日程の関係でどうしても当日中に買ってすげ替える必要ができて、あちこち回ったりして結局近所のビックで近隣店舗の展示品(箱なし、付属品あり、デモモードでの通電はあるが加熱は無し)を探してくれて、7万円台、5年保証付きだったので、川崎から世田谷井草まで往復2時間かけて車で買いに行きました。

■温度指定あたためができる

目的のひとつである温度指定のあたため。5度単位で指定できます。ただし今までそういう尺度で考えてなかったので、まだ感覚がつかめてないです。例えば40度ってお風呂くらいだよなぁ、とか想像しながら試行錯誤中。ただ完璧に均一に温まるわけではやっぱりないですね。特に厚み(深さ)のあるものや、水分量にばらつきのあるもの。それでも冒頭に書いた持ち帰り寿司とかをうっかり熱々にしてしまわないよう上限が設定できるのは有り難いなと感じます。

またスチームあたための場合は温度指定ができず仕上がり調整が何段階か選べるのみ。まぁこれは原理的にある程度スチームを行き渡らせることと温度を上げることは切り離せないということなんでしょうかね。二日ほど冷蔵してパサパサになってしまったスーパーのおにぎりをスチーム温めしたら、熱々にはなっちゃいましたが、食感はとても二日前とは思えないほど自然な仕上がりでした。

動作音はとても静かで良いです。あとカラー液晶で白地に黒で残時間カウントが出ているのが、ダイニングなどから遠めで確認するのに視認性が高くて地味に便利です。また加熱終了後に電気代を表示できる(デフォルトでそうなってる)んですが、以外と電気代かからないんだなぁという感触。温めだと1円以下なことがほとんどなんですね。ちょっと面白いです。

加熱中の残時間表示
加熱終了後の電気代表示

■グリル皿の万能感(焼き、茹で)

オーブンレンジで焼き物とかトーストとかって無闇に時間がかかるイメージがあります。考えてみればガスレンジのグリルやポップアップトースターに比べるとヒーター(天井)との距離が遠いんだから当たり前です。ただ本機の場合、クッキーなどを焼くオーブン皿2枚とは別に、グリル皿というものが付属しています。これをヒーターのついた天井寄りの上段にセットすることで、高速に両面焼きを行えます。グリル皿自体がレンジの電磁波で発熱するようです。トーストが3分台で焼けるのは同クラスの他社オーブンレンジと比べてもかなり速いです。まぁそれでもポップアップトースターには適わないですが、ピザトーストなど具材を載せるトーストに必要なオーブントースターの代わりにできるならアリかなと思います。

グリル皿を使ってピザトースト。天井ヒーター寄りの最上段にし、かつグリル皿も発熱させることで、裏表とも熱源に近い状態で加熱

生魚もこのグリル皿で両面しっかり焼き目を入れて焼けます。開きにしてない厚みの割とあるアジを焼いてみましたがバッチリ中まで火が通ってました。某社の油も水も不要なタイプの冷凍餃子用のメニューなんかもあり、フライパン調理の多くがこのグリル皿でできるっぽいです。レシピ本でもグリル皿を使うものがかなり多い印象です。またちゃんとテフロンコートされててお手入れも簡単だし、溝がついてて油分が落ちる分、フライパンよりも良いかも知れません。パーツ単体でも売られているようなので、傷んできたら気軽に買い換えられます。

レンジで焼き物すると油がはねて庫内の掃除が大変そうですが、本機にはメンテナンス機能のひとつとして天井クリーニングモードというのがあり、加熱で油分を焼いて拭き取りやすくすることができるようです。こちらの効果は追々検証です。その辺が上手く機能するなら、

  • 余計な油分が落とせる
  • 火加減を気にしなくてもいい

などの面でフライパン使うよりいいかなと期待もしています。

グリル皿はスチーム加熱時にも使うことがあります。電子レンジでゆで卵をいえば爆発するネタで有名ですが、オーブン機能のメニューでゆで卵や温泉卵があるのも万能感ありますね。茹でブロッコリーなんかもこのグリル皿を使ってスチーム加熱をする仕組みでした。電子レンジ用のゆで野菜容器いらずです。ただ容器だと水道水にさらして粗熱とったりもそのままできるので、利便性まで含めて考えるとどうですかね。少しでもキッチンガジェットを減らしたい場合は、そういう使い方もできるよ、という感じでしょうか。

またスチーム機能というと水タンクの衛生面が気になりますが、本機はクエン酸を入れて経路含めてクリーニングする機能がついているのも好感度、安心感高いです。

■ホットクックを駆逐するのか?(煮物)

春にSHARPのホットクックを購入して愛用しています。こちらも「材料と調味料を鍋にいれてスイッチおせば火加減気にせず完成」という面で大変時短になっています。カレーとかカボチャの煮物、白菜と豚肉のミルフィーユなどがヘビロテです。ただメニューブックをみるにこれらはどれも本機でも調理可能なようです。ただし汁もの、煮物は当然プレートでは調理できないので、別途ガラスの鍋やボウルが必要とされています。純正オプションとしては用意されておらず、サイズが指定されています。

カレーを作るには「2.5〜3.0Lで深さ10cm、直径22〜25cm、レンジとオーブン両用の容器(耐熱ガラスや陶磁器)」「吹きこぼれないよう深めで側面がまっすぐなもの」とあります。深さ10cmと深めは両立しづらいオーダーですねw。ガラスの方が調理具合が見えてよさげですが、重さや強度的に難しいのか2.5〜3Lクラスはあまり見つかりません。ルクルーゼなどのホーロー(金属)のものはダメでしょうし、難しいところです。どうせならメーカー純正品やオススメ品の指定をしてほしいところです。

カボチャ煮物などで指定されている「25cm形のガラスボウル」はこれ辺りが安くてよさげでしょうか。

いずれにせよ、煮物関係はこうしたオプションの調理器具が必要だということを意識しておいた方が良さそうです。おいおいホットクックがいらなくなるとまたひとつキッチンがスッキリするなと思います。

■GUI

本機の大きな特徴であるタッチパネルGUIについて、ガジェットオタクとして言及せねば。

タッチのレスポンスとしてはサクサクとは言わないまでも上々です。必要充分なレスポンスと言えます。

レイアウトとしてもシンプルなタブUIでシニアな方でもそんなに難しくないんじゃないでしょうか。お気に入りメニューを登録して少ないステップで呼び出すこともできます。専用レシピ本やオンラインのレシピサイトからメニュー番号で選択した場合もカラー写真が出るので正しいかどうか一目でわかる点もナイス。

逆にこのGUIの操作だけでレシピを検索して説明を読んで作って行くのはちょっと画面が小さくてしんどいかなぁ。防水スマホやタブレットもってればそっちの方がよさげでしょうけど、防水非対応機種だったりキッチンが狭かったりする場合にはアリなのかも知れません。

 

■作例

とてもいい焼き目がついたアジを撮り忘れたのが悔やまれますが、その他の公式レシピからの作例をば。

ごま唐揚げ。普段は電子レンジ(電磁波加熱)で作る唐揚げ粉を使ってますが、こちらはグリル(ヒーター)調理。やはり皮がカリッとします(まぁあのレンチン粉の粉っぽい食感も好きなんですが)。

焼きそば。普通に東洋水産とかの3食+粉末ソースのアレです。これもグリル皿を使用。

本当にできるのか、レシピにないウインナーに火が通るか、心配でしたがバッチリです。粉ソースは加熱後にかけて菜箸で混ぜます。フライパンと違ってサイドの壁が低いし直接もって振りづらいので混ぜるのはやや大変ですが。キャベツの火の通りが良く、芯まで柔らかくなってたのは良かったです。麺も一部グリル皿の上に落ちてた分はパリパリになっててナイス。心配したウインナーも問題なしでした。

お皿に盛る時もミトンでもって傾けるのもちょっと力いりますね。オプションのハンドル買った方がいいのかなぁ。でもどれくらいガッチリ掴むんだろ?昔のはすべってかえって危なかったイメージですが。

2017.08.02追記

いくつか焼き物を追加でチャレンジ。

市販の生ハンバーグ4つにオマケで冷凍ハッシュドポテトを2つ載せて、4人分+仕上がり強で焼いてみたら、焼けすぎて外側カチカチになってしまいました。冷凍ハッシュドポテトの分を仕上がり調整で補正したつもりだったのですが、あんまし余計なことしないで素直に標準設定でよかったのかも知れません。

またサンマも焼いてみたんですが、開きだったせいかこちらもやや焼きすぎ。

水も油もいらない某冷凍餃子も専用メニューがあるので期待したんですが、フライパンで焼いた時よりも皮が固めの仕上がり。見た目は完璧なんですが…

ということで、なぜかここんと焼きすぎの連発。最後の以外はレシピ通りではないので文句は言えないですが、なんでもオートで完璧におまかせ!ってほどではないみたいです。

■改善希望点

もっとも多用するであろうグリル皿ですが、レールとの摩擦が低くて、加熱具合をちょっと見ようとして軽く引き出すと、あとは惰性なのか傾きなのか勝手にスルスルっと手前に落ちてきます。「あっ!」と思っても素手で押さえるわけにも行かず、一度は開いたドアの上にガシャンと落ちてしまいました。幸いガラスが割れたりキズついたりはなかったようですが。テフロン加工の弊害かとも思ったんですが、レールに乗る部分は耐熱プラスチックのようでした。スムーズに出し入れできることも重要ですが、意図せぬ事故、火傷を防ぐのに、一番手前で一旦止まるような機構があるといいなと思いました。

■使いこなせば損はなさげ。旧モデルが狙い目!

標準価格は十万円台後半と、σ(^^)のような庶民はちょっとヒいてしまう価格帯の商品ですが、実際の性能や機能はそれだけのアドバンテージをもっている商品なので、こうして旧モデルになって半額以下になってくるとコスパはうなぎ登りだと思います。特に1200->1300の時の天井ヒーター内蔵のような劇的進化が1300->1400はないので、安心して旧モデルに特攻できます。

30Lクラスというとファミリー向けとされるサイズですが、これだけの料理が簡単にできてこの価格帯で買えるならば、二人暮らしや単身でもちょっと料理する層にはあまりオーバースペックという感じはしないです。むしろ時短調理で色々できるので共働き夫婦なんかにもお勧めできます。

オッサンが姪っ子プレゼント用にNintendo Switch関連で揃えたもの

Pocket

たまたま予約解禁日にネットに貼り付いてたら買えてしまったNintendo Switch Splatoon2セットをどうしたものかと思案してたんですが、結局諸処の条件とクリスマス、お年玉プレゼント前倒し扱いということで実家の姪っ子達に譲ることにしました。WiiU版でS+になるまでハマってたっぽいし、Minecraftなんかもやりこんでるので。ちなみに本体はOmni7にてゲット。

普段から近くにいられれば必要に応じて色々買い足したりすればいいんですが、なかなかそうもいかないし、通販で買って送りつけるだけではセッティングが難しいものもあるので、とりあえず必要そうなものを自腹で買い揃えてやることに。

こちらも解禁日当日にJoshin Webでゲット。Splatoon2をTVモードでジャイロ使ってプレイするには必須です。というか本体のジャイロを使ってだと画面がまともに見られずゲームにならないんじゃ?まぁ、試射会でちょろっと試した限りジャイロより右スティックの方がやりやすそうでしたけど。本来は自宅で対戦用にと買い増ししたんですが、よくよく考えてみれば本体1台での画面分割対戦とかはできなそうなので、2個あっても仕方なくね?ってことで、せっかくのSplatoonカラーだし一緒に譲ることに。最近の本体ファームで有線接続でも使えるようになったので、S+クラスのウデマエでも遅延を感じることなくプレイできることでしょう(そんなウデマエになったことないので知りませんがw)。

有線LANアダプタ。ドックのUSB端子につないで使います。これも少しでもレイテンシを高めてSplatoonで不利にならないようにとの親心(伯父心)です。まぁ、妹宅はWiMAX2+環境なんですが、、、歩いて数分の実家なら光なので。

SwitchドックのUSBポートは現在はUSB2.0動作ですが将来的にアップデートで3.0になる可能性もあるということだったので、アダプタも3.0にものにしておきました。大して値段かわらないし。

液晶保護フィルムはこちら。間近でガン見してもいいようにブルーライトカットタイプ。

キャリングケースはこれ。Switch用としてはドックや充電器までフルセットで収納できる↓こういうのもあるわけですが、ドックまで持ち運ぶこともあんまりないかなと。友達の家にもっていって2台のテレビで対戦とか、まだ小学生じゃしないでしょうし、してほしくもないかなと。

とはいえ、自宅と実家を行き来する生活なので、自分でちゃんと配線のつなぎかえとかできるなら検討してもいいかもと思っています。

そういう意味では、ドック自体を買い足して両方の家のテレビに設置し、Switch本体を持ち歩くだけで済む環境を作ってやろうかとも思いましたが、さすがにここまでの投資に加えてこの値段は最初から買い与え過ぎかなとか。

ガジェット好きとしてはそういう環境構築は燃えるところなのですが、それを言い出したら実家にはテレビが何か所にもあるので、実際のニーズを聞き取ってから検討。実際にはあんまテレビモードでやりたがらないかもですしね(ただSplatoon2はやっぱ据置でプロコン使用がメインになりそうだし、姉妹でMinecraftを画面分割でやるなら大画面でないと厳しい気はする)。

今興味があるのは、純正ドックの内部基板をDIY移植して小型ドックにするケース。

大変野心的な製品です。このサイズなら、各テレビにHDMIケーブルと充電器を生やしておいて、これを持って移動するのもありかも。純正ドックのように端子部がフタで隠れないので挿抜もさっとできますし、ドックで排熱が悪く本体が変形した、なんて事故の噂も聞きますが、そういうことも置きにくいのかなとか。

で充電器ですが、純正ドックには付属してくるので、どうせ後で買うくらいならさっさとそっちを買ってしまうのがお得かなぁとも思ったんですが、とりあえずひとつをドックに固定にしてしまうので、実家用というか持ち運び用にこちらを注文。

ちなみにNintendo SwitchはUSB Type Cで充電します。普通のスマホ用の5V充電器にUSB Type A-Type Cケーブルをつければ一応充電はできますが、これだとかなり時間がかかります。また画面出力機能やUSB機能をもつドックを駆動させることはできないようです。緊急時にはそれでもいいかもですが、将来的にドックにも使う可能性を考えるときちんと15V出力に対応したものを選ぶ必要があります。

純正だとこちら。

1.5倍くらい違いますね。それでも下手なパチモン買うリスク冒すほどの差でもないかなと悩んだけど、iDuduのものもレビューみてそう問題なさそうなのでいいかなと。他に「Switch 充電器」でググると5Vしかでないものとかゴロゴロしてる中では比較的まともなんじゃないかと判断しました。

その他、新amiibo 3種も解禁日にヨドバシで予約できました。こちらはプレゼント用というより、自宅用で、一通りギアを取り込んだら貸してやろう、くらいの扱いです。

ソフトは同梱のSplatoon2はもちろん買うまでもないですが、

Minecraftは入れてやろうかと。将来的にWiiU版からのコンバートも可能だそうですし、夏にはWindows10版をの行き来もできるようになるぽいので、彼女達が頑張って作った世界を、いつか(13歳になったら)Oculus Riftで体験させてやろうと思っています。

あとはプログラミングに関心がある&伯父的にも薦めたいので、Human Resource Machineも候補。ただしiPhone版をやりくらべた限り、タッチ操作必須なUIなので、iOS版の方がいいかなぁ、安いし。でも日本語UIになってるのはSwitch版だけなんだよなぁ、と思案中。あとはSwitch発売直後に見せてやった時に「いっしょにチョキっとスニッパーズ」も好評で、その後もポロっと名前が出てくるくらいなので、まぁ要望次第では。

iOSのファミリーアカウントみたいに、遠方からでも購入リクエストに応じる仕組みがあれば都度対応できるんですが、3ヵ月に一度位しか帰省できないので、つい買い揃え過ぎ気味に。別にゲームばっかやってるわけでもないし、そうさせたいわけでもないので、当面はSplatoon2があれば十分なんでしょう。MinecraftのWiiUコンバートはいつ実装されるのかな?それ待ちでもいいのかも。

手元視聴スピーカーの目的外利用(業務用)でゲット SONY SRS-LSR100

Pocket

ユーザテストでの会話を録音するのに、マイクにこだわるべしとは以前から方々に書き散らかしていましたが、今回は出口の話。先日の案件で、映像を音声をAppleTV(AirPlay)で観察ルームに中継した時、スピーカーがプロジェクターの内蔵のものをしかなくやや聞きづらかったので、早速検討。

プロジェクターはHDMIで映像と音声を受けられても、その音声を外部に出力できないことがほとんどだし、AppleTVだとHDMIの他に光デジタル出力しかないので、

  • 光デジタル(TOSLink)入力がある
  • 現場に持ち込めるよう、なるべく小型で軽いこと
  • できたらバッテリーで1日くらいは使えること
  • 人の声が聴きやすい音質であること

を要件として定義して探しました。

が、そもそもTOSLinkは既に廃れつつあるインターフェースなんで、(当初探していた音楽用スピーカーとしては)ほとんど候補がない。いっそAirPlayを受けられるWi-Fiスピーカーにしようかと思い始め、YAMAHAのWX-010をほぼ注文するところまで行きかけました。

が、やっぱり1.7kgあるとちょっとなぁ、と思い探していたところ、音楽以外のとあるカテゴリに要求を満たす製品がひしめいていることを発見しました。

それはいわゆる手元視聴用のスピーカー製品群です。耳が遠くなったシニアや、深夜視聴などの時に、ワイヤレスで音を飛ばして手元のスピーカーで聴こう、という類のものです。なぜかこれらはTOSLink対応製品がたくさんあります。防水だったり「くっきりボイス」的な人の声を強調する機能がついてたり、どれもやたらスペックが似通ってます。中身のボードは共通じゃないの?ってレベル。

その中でサイズ感などで候補に残ったのがこちらの2つ。

サイズやデザイン、余計なボタン/機能のなさで快テレ君に傾きかけたんですが、最終的に送信機も受信機もmicroUSB/5Vで充電できるという点でSRS-LSR100に決めました。現場にもってく荷物は少ない方がいい。

当初の想定になかった仕様ですが、ベースユニットから無線で飛ばして好きなところにスピーカーを置いて聞ける、という点も会場調査では有用な気がしてきます。テストルームと観察ルームが隣り合ってるなんてことはザラにあって(むしろ多くて)、あまり大きな音量にすると隣で話をしてる人自身に自分の声が壁の向こうから聞こえてしまう状態になります。ので、これらの製品のように、プロジェクターやモニタから離れて座ってても音だけは必要最低限の音量ではっきり聞けるなら願ったり、だと。また人の声だけをはっきり強調する機能も、例えば空調などの環境音とかをフィルターしてくれるなら有り難いでしょう。ただしSONYの場合、ステレオの定位がはっきりしている音を残しているようなので、入力がモノラルだとあまり効果がないかも知れません(パイオニアはそもそも動作原理について詳しく触れられていない点もSONYに傾いた理由だったり)。

バッテリーは公称で16時間となっているので、終日の実査でもほぼ足りると期待。いざとなったらUSB 5Vなのでモバイルバッテリーなどでも動かせるはず。

■使ってみた

左端の電源ボタンが目に留まりがちですが、スピーカーの電源は右の丸いボリュームツマミを押し込んで出っ張った状態にするのがONです。
分離するとこんな感じ。上部には細くて折れそうですがハンドルもついています。

同じ部屋の中で使用しましたが、人の声がはっきり聞こえていい感じです。「ボイスズーム」はON/OFF比べてみましたが効果を実感できました。

他方、突発的に大きな声が入った時に音量を自動で絞る「おまかせ音量」は効きがいまひとつ実感できなかったです。こういう用途でも非常に有り難い機能なので、ちょっと残念。結局終始音量を手動調整していた感じです。

あとまぁどこまで大事に使うか次第ですが、σ(^^)などは小傷がついたりスピーカーグリルに凹みができたりした嫌なので、なにかいいケースがあるといいかなと思いました。ボタンもたくさんあるし折れそうな細いハンドルついてるし、上下分離するしで。まぁ、本来持ち歩いて使うものではないので、付属を期待はできないんですが、追々良いサイズのものを探してみようと思います。

今回はAppleTVからの光デジタル出力(TOSLink)の音をそのまま飛ばしたい、というニーズから始まってますが、ユーザビリティ評価の機材として、「音だけ手軽に隣室に飛ばす」というソリューションって意外にないんですよね。例えばICレコーダーの音とか。ビデオカメラのWi-Fiプレビュー機能もSONYなんかは音が飛んでくれなかったり。以前は、SANYOのこの製品を愛用してましたが、もう売ってないしそろそろバッテリー怪しかったり。

本製品はTOSLink以外にもアナログ入力にも対応してますし、出力側がスピーカー一体になってる手軽さもあって、ようやくHM-W300の代わりになる機材が見つかったなという気がします。欲を言えば送信機側にマイク内蔵してくれてるとまた汎用性広がるかなとか。これはお手元視聴スピーカーという製品の利用シーンを考えても矛盾はしないんじゃないですかね。テレビに配線できない人/場合でも使えるとか。

背面の端子群と音質設定ボタン(クレードル部分)、そして直接充電する為の5V入力ポート(microUSB)とイヤホン出力など(本体側)。

一方、2.4GHz帯の無線ということで、従来の赤外線式と違って壁抜けできるメリットの一方、Wi-Fiや電子レンジやコードレス電話などとの混線が心配ではあります。実際、Amazonのレビューでも電子レンジ使ってるとダメ、という記述も。業務で使うには秘匿性にもケチがつくかも知れません。できれば送信ドックに載せた状態では無線を介さないで鳴らせる直結モードなんかもあると嬉しいかなと(これはさすがに製品コンセプトからかけ離れすぎで個人都合の贅沢でしかないですがw)まぁ0距離なら秘匿性はともかくノイズで動かないということはないかな?

■元々のコンセプトで考えると…

あんまり目的外使用に対する要望や不満ばかり書いてもなんなので、一応本来の目的に使ったらどうかという話も。

今日現場でご一緒した方からは普通にあると便利かもという反応はあったり、アリなんだと思います(ただ値段を言ったらちょっと「うっ…」って感じでしたw)。うちも実家の両親は自覚はないんだろうけどテレビの音量とか大きすぎる嫌いがあるので、こういう商品を活用してくれたらなと思います。ドックに載せるだけで充電できるのでメンテナンスもまずまずではないかなと。

ただシニアがひっかかりそうなのは、本体上部のリモコンボタンでしょうか。テレビを操作する為の「電源」や「音量」ボタンがあり、スピーカー自身のそれと区別して理解できるだろうか、という心配がちょっとあります。開発者目線では「リモコンも一体で便利でしょ」となるでしょうが、実際シニアにいつもと違うリモコンを使わせるのがどれだけ大変か。実際足りないボタンとかもあり、「シニアといってもレコーダーの録画くらいは見る」なんて場合は、結局このリモコンでは足りないことになります。アナログテレビ時代ならまだ良かったんでしょうけど。その意味では快テレ君の方が過不足ない機能をもっているような気もします。実家に買うならそっちかなぁ。

ネットワークケーブルのRJ-45コネクタの折れた爪を復活させるアダプタ

Pocket

Akiba PC Hotlineで紹介されていたツメが折れたLANケーブルのコネクタを復活させるアダプタを買ってみました。

3つ入りで500円。Akiba PC Hotlineの店頭価格よりは少し高いですが送料込みだし、2パッケージ買うと100円引きというキャンペーンだったのでOK。

ただし、この記事を書いていて、サンワサプライからも10個セットのものが販売されているのを発見。アウトレット品だとかなりお安い…

気を取り直して、早速こんな感じでツメが折れてしまったLANケーブルを修復してみます。10mとかでしかも敷設済みだったりするとなかなか交換する覚悟も持てないですよね。もちろん成端に必要な器具と腕をもっていれば済む話なんですが、一般人には厳しい条件だし、1,2本を直すために買い揃えるのも勿体ない話です。ましてカテゴリー6だ7だとなれば精度良く加工しないと性能が出ないんじゃないかと不安もあります。

このケーブルの場合、ブーツ部分が太くてはまらなかったのでラジオペンチで剥き剥きする必要がありました。

装着した感じがこちら。わりとかっちりハマってます。スイッチへの抜き差しも問題ありませんでした。これでこのケーブルはまだしばらく使えそうです。

惜しむらくはこのままではまたすぐ折れそうなツメ形状なことでしょうか。できれば「折れないツメ」タイプだったりすると良いのですが。

さらに別途、こういう後付けできるブーツを装着するのが安心かも知れません。

スマートロック RemoteLOCKの設置状態を見学

Pocket

以前、スマートロック RemoteLOCKが実際に知人宅に取り付けられたので見学に行ってきました。


やや古いマンションの鉄製のドアだった為、取り付け可能かどうか写真を施工業者さんに送ったりして時間がかかりましたが、最終的には無事取り付けられたようです。金属ドアでも穴開け加工OKであれば使えるみたいですね。まるで最初から備え付けのように綺麗についていました。存在感もありますね。知人曰く、ご近所さんに「これなに?」とよく聞かれるそうです。

以前のレビューでは実際にドアに取り付けた状態ではなく、バラバラの部品を部屋で仮組みした状態で動作確認した程度だったわけですが、実際にドアにがっちり付いている状態で触るとやはり安定感が違います。グイグイ押してもビクともせずしっかりボタンが反応してくれます。ボタン間の間隔が広いので冬場に手袋などをしていても押しやすそうです。また自照式なので夜暗い場所での操作もやりやすいかなと。ただボタンの反応は少し固いかなという印象。グッ、グッと押してかないといけないので、もし安全の為にパスコードの桁数を多めにした場合、ちょっと手間に感じるかも知れません。セキュリティ的には時間当たりの試行回数を減らして、とっととウンザリして諦めようと思わせることも重要なので、あまり手軽にピポパポできない方がいいのかもは知れないですが。

ともあれ、我が家には付けたくとも付けられず悔しい思いをしたRemoteLock、新天地での活躍を祈るばかりです。

なお、6月末までに購入するとクラウドの使用料が1年間半額になるキャンペーンをやっているようです。もうあまり日数がないですが、気になる方は公式サイトをチェックしてみてはいかがでしょう。