pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


AndroidのPASMOアプリで、PASMOカードからの移行に対応

2020/08/28付けで、AndroidPASMOアプリで、PASMOカードからの移行に対応したことが発表されました。

https://www.pasmo.co.jp/mp/press/pdf/PressRelease_Android_August28%2C2020.pdf

AndroidSuicaカードをモバイルSuicaに移行するサービスって始まってましたっけ? 始まってなかったような気がしますが、普段 AndroidSuica 使わないので、良く分からない。

移行に関する注意点は以下の通りのようです。

  • 大人用の単体の記名カード(定期券含む)のみ移行可能、その他の券種は移行できない
  • iPhone への Suica 移行のようにカードを読み取って移行するのではなく、カード番号 (PASMO ID)の入力による移行
  • 定期券部分は即座に移行できる
  • 残高は翌日午前5時以降に受け取り可能
  • PASMOカードのデポジットは窓口での返却

とりあえず、Android で物理カードからの移行がサポート開始されたということは、もうじき始まるであろう、iPhone での PASMO サポートのときも物理カードから移行する手段はある、と考えてよさそう。

Gmailで + を使ってメールアドレスを増やす方法の名前をよく忘れるのでメモとして残す

yourname@gmail.comGmail アカウントがあるときに、yourname+foo@gmail.com や yourname+bar@gmail.com でメールアドレスを増やす方法の名前をよく忘れてしまい、他の人に説明するときに困るので、ログとして残します。

下記ページの説明によると、この機能は「Gmail エイリアス」と表記されていました。

support.google.com

VMware Fusion 12 と Workstation 16 でライセンス体系が整理され、Fusion 12 には個人利用無償版も

VMware FusionmacOS で利用でき、Workstation は Windows, Linux で利用できましたが、それぞれ別のライセンスが必要でした。しかし Fursion 12, Workstation 16 でこれらが整理されるようです。

個人向けには Workstation Player は無償利用できましたが、Fusion にはそのような形態がありませんでしたが、Fusion 12 Player の提供開始により、個人利用は macOS でも無償利用可能になります。

blogs.vmware.com

内容をざっと整理すると、こういうことでしょうか。

種類 要件
Fusion Standard 廃止
Fusion Player/Workstatoin Player 個人利用は無償、商用利用は有償
Fusion Pro/Workstation Pro 有償。1ライセンスで最大3台までの Windows, Mac, Linuxで利用可

また、2020/06/25 以降に VMware Fusion 11.5 を購入したユーザ向けには、VMware Fusion 12 のライセンスが自動的に提供されるそうです。

私用の MacBook では VirtualBox を使っていますが、これはパフォーマンスが辛いので、VMware Fusion 12 Player に移行しようと思います。

VMware Fusion 12 は 2020/08/25 時点では未リリースですが、リリースが楽しみになってきました。

2020/09/10 追記

本日付けで、こういう発表がありました。ただし、2週間前と比べて新しい情報は無いように思いますし、提供を開始した分でもないようです。 www.vmware.com

OpenWRT 19.07でWPA3を使う

OpenWRT 19.07はWPA3をサポートしているという話が下記の記事にあり、設定方法も丁寧に説明されていました。

qiita.com

これをベースに、自分の環境でもWPA3サポートを追加してみることにします。

インストールするパッケージ

標準のインストール構成ではWPA3を使用しないので、パッケージを一部変更する必要があります。 目的により、次のパッケージのいずれかをインストールします。

利用目的 パッケージ
WPA3対応のAPにする hostapd-openssl
WPA3に接続するClientとして使う wpa-supplicant-openssl
AP/Clientの両方で利用する wpad-openssl

私の環境では AP/ Client の両方を試したいので、wpad-opensslをインストールすることにします。(Qiitaの元記事は802.11sのメッシュネットワークでWPA3を利用したいということで、wpad-mesh-openssl をインストールするケースを説明しています)

インストールにあたり、デフォルトの wpad-basic を削除する必要があるので、最終的に投入するコマンドは次のようになります。(Web UI から削除や追加を行ってもよいと思いますが、それは試していません)

opkg update
opkg remove wpad-basic
opkg install wpad-openssl

WiFi設定を変更する

WPA3のAPに必要なパッケージインストールが完了していると、暗号化設定でWPA3単体またはWPA2/WPA3-SAE Mixed Mode が選択できるようになります。

f:id:pslabo:20200818204504p:plain

WPA3対応クライアントから接続する

macOS 10.15 Catalina は WPA3 に対応しているので、上記の設定を行うだけで WPA3 が利用できるようになります。OpenWRT側の設定が完了していたら、MacBookを一度WiFiをオフにして、再度オンにしてみます。

WiFiの接続が回復したら option キーを押しながらメニューバーのWiFiアイコンをクリックすると、WiFiの接続状態が確認でき、ここにWPA3パーソナルの表示が確認できます。

iOS13やiPadOS13もWPA3に対応しているのですが、端末側で暗号化方式を表示する機能がないのでWPA3で接続しているかどうかは確認できませんでした。

Switchbotの電池が切れたので交換する

Switchbot で壁スイッチを操作しようとしたところ、つぎのようなメッセージが表示されることがありました。しかし数回試しても操作できず、このメッセージが表示されてしまいます。

f:id:pslabo:20200818193408j:plain

何か変だと思ってバッテリーの状態を確認してみると、どうやら消耗していて動作しない様子。

f:id:pslabo:20200818193753j:plain

電池交換の方法は次のページに表示されているので、交換用の電池 (CR2リチウム電池) を用意して交換すればよさそうです。

support.switch-bot.com

交換用電池 (CR2リチウム電池) はヨドバシカメラの通販が送料込みで300円以下と安価なので、そちらで手配することにします。 https://www.yodobashi.com/product/100000001002740685/

Amazon は1個売りではちょうどよい金額で販売されているページが見当たりませんでした。

届いたバッテリーを交換してみると、全く問題なく動作するようになりました。

というわけで、Switchbot が動作しなくなったら、バッテリーの残量を確認し、消耗していたらバッテリー交換してみましょう。

しかし、実際のところ、できれば次のように案内してくれると、利用者としてはとてもありがたいですね。

  1. バッテリーが減ってきたら、そのことを通知する。また、交換方法を説明するページにナビゲートする。交換方法の説明ページには、バッテリーの型番と推奨メーカーを記載しておく。

  2. バッテリーが消耗したら、単に「コントロールできませんでした」と表示するのではなく、バッテリーが消耗して交換が必要なことを通知する。

この内容は feature request として Switchbot のサポートにも送付しておきました。

Google Apps Script でユーザの言語設定に合わせてメッセージを変える

Google Apps Script でGoogle Spreadsheetに追加メニューを表示させる際に、言語設定によってメッセージを変えたくなったため、方法を調べてみました。

ユーザの言語設定は Session.getActiveUserLocale() で取得できる。

細かい説明はこちらにありますが、Session.getActiveUserLocale() でユーザーの言語設定を取得できます。英語設定の場合は en が返されるそうです。

developers.google.com

メニューを英語、日本語の両対応にする

とりあえず、次のように実装すれば、日本語設定されていればは日本語メニューを追加し、それ以外の場合は英語メニューを追加します。

function onOpen() {
  var userLocale = Session.getActiveUserLocale();
  var menuName;
  var menuEntries;
  if ( userLocale == "ja" ) {
    menuName = "追加メニュー";
    menuEntries = [
      { name : "メニュー項目1", functionName: "menuItem1" }
    ];
  }
  else
  {
    menuName = "Additional Menu";
    menuEntries = [
      { name : "menuItem1", functionName: "menuItem1" }
    ];
  }

  SpreadsheetApp.getActiveSpreadsheet().addMenu(menuName, menuEntries);
}

function menuItem1()
{
  ......
}

メニュー項目に自動翻訳を設定してすべての言語に対応させる

Session.getActiveUserLocale() の戻り値が en, ja などで返されるならば、その戻り値を LanguageApp.translate() に渡してやれば、任意の言語に翻訳したメニューを生成できそうです。

developers.google.com

この場合は次のような実装になり、言語ごとの分岐は不要です。

ただし自動翻訳は品質がイマイチのこともありますので、適切に表示したい言語については個別実装し、それ以外の言語は自動翻訳に任せる、という使い分けは十分にアリです。

function onOpen() {
  var userLocale = Session.getActiveUserLocale();
  var menuName;
  var menuEntries;
  menuName = LanguageApp.translate( "追加メニュー", "ja", userLocale );

  menuEntries = [
    {
      name : LanguageApp.translate( "メニュー項目1", "ja", userLocale ),
      functionName: "menuItem1"
    }
  ];

  SpreadsheetApp.getActiveSpreadsheet().addMenu(menuName, menuEntries);
}

function menuItem1()
{
  ......
}

ただし、onOpen() イベントは Spreadsheet のオーナーがシートを開いた場合だけ発火するようです。この方法で追加メニューを実装しても、オーナー以外の方が閲覧する分にはメニューの追加は行われません。

Linuxのdmidecodeで取得できる情報を仮想マシン環境ごとに比較する

Linuxでdmidecodeというコマンドを実行するとハードウェア情報を取得できますが、仮想マシン環境で実行すると取得できる情報がそれぞれ微妙に異なります。

そこで dmidecode -s keyword と実行した場合の内容を VirtualBox, VMware, Paralles で比較してみることにします。

keyword VirtualBox VMware Parallels
bios-vendor innotek GmbH Phoenix Technologies LTD Parallels Software International Inc.
bios-version VirtualBox 6 15.1.4 (47270)
bios-release-date 12/01/2006 02/27/2020 04/13/2020
system-manufacturer innotek GmbH VMware, Inc. Parallels Software International Inc.
system-product-name VirtualBox VMware Virtual Platform Parallels Virtual Platform
system-version 1.2 None None
system-serial-number 0 VMware-56 4d 3a e5 f7 88 6e c2-15 ee 88 43 f1 a0 ba c7 Parallels-AA 5F 1C 74 31 88 44 58 AB A2 62 89 43 BD 94 EB
system-uuid E148D4BE-3BDA-614D-9FB8-0D54BA38B37B E53A4D56-88F7-C26E-15EE-8843F1A0BAC7 741C5FAA-8831-5844-ABA2-628943BD94EB
baseboard-manufacturer Oracle Corporation Intel Corporation Parallels Software International Inc.
baseboard-product-name VirtualBox 440BX Desktop Reference Platform Parallels Virtual Platform
baseboard-version 1.2 None None
baseboard-serial-number 0 None None
baseboard-asset-tag Not Specified Not Specified Not Specified
chassis-manufacturer Oracle Corporation No Enclosure Parallels Software International Inc.
chassis-type Other Other Notebook
chassis-version Not Specified N/A
chassis-serial-number Not Specified None
chassis-asset-tag Not Specified No Asset Tag
processor-family Unknown Core i5
processor-manufacturer GenuineIntel GenuineIntel
processor-version Intel(R) Core(TM) i5-4288U CPU @ 2.60GHz Not Specified
processor-frequency 2600 MHz 2600 MHz

このように比べてみると、system-product-name を取得すればOSが実行中の仮想マシン情報を取得できそうですね。