エレクトロニクス

 先日のサクラエディタで正規表現デバッグ(数値マッチング)(https://kadono.xsrv.jp/2013/07/18/2062)の続きです。数値を抜き出すことはできましたがここで問題が発生。またしても検索してみましたがズバリの答えはすぐに見つかりませんでした。仕方がないので正規表現パズルを解くことにします。
何がNGかといますと下位桁の0が不要らしいのです(仕様になくてもダメなものはダメというパターン)。指数部は無いらしいので先日のパターンの小数点以下の0を削ってみます。最後が0以外ならば残す仕様。
ボツ1
上記のボツ1を実行すると小数点以下がすべて0という意地悪なパターンが残ってしまいます。
ボツ1結果+ボツ2
簡単に思いつくのがボツ1の後にボツ2も実行して2段階で処理する方法ですが工数がかかります。巨大データを処理するにはストレージ容量やアクセス時間も必要なのでよくありません。(ゴネるには使えるか?という程度)
候補1
小数点以下オールゼロ(だけ?本当に?)が例外なので条件分けで一気に処理するのが安直な対策です。
候補1結果(検証パターン不足で良さそうに見えていました)
一応、冗長な記述を除いた([+-]?[0-9]+)(\.(?=0)|(\.?[0-9]*[1-9])))0*から$1$3への置換で少なくともサクラエディタ上では期待する結果は得られるようですが得られませんので動作保証などは一切できません。私のメモですのであしからず。
追記)…と書いて巨大データで実行したところ、やはり上記候補1はバグっていました。具体的なベンチは故意に伏せますが([+-]?[0-9]+)((\.?[0-9]*[1-9])|\.(?=0))0*が(今のところ…)正解のようです。候補1は意図せぬ数値化けが起きますので使えませんでした。

エレクトロニクス

 ブリッジモードで使用しているため"影響なし"とはなっていますが、念のため【重要】「WPA2」の脆弱性に関するお知らせ(http://www.aterm.jp/product/atermstation/info/2017/info1018.html)にてWG2600HP2が対応済みとなったのでファームウェアを1.0.3にアップデートしました。
アップデート作業中(おおよそ260-60の間で通信途絶、その後自動復帰)
バージョンアップ内容
 他に保有するMR05LN, MR04LNはルータモード(公衆無線LAN接続)では一度も使用していないため直近で影響はありません。私としてはどちらかというと
【Wi-Fiホームルータ・親機】(生産終了製品) (http://www.aterm.jp/product/atermstation/info/2017/info1018_2.html)の方を先に対応していただきたいです。

エレクトロニクス

 元々使っていた蛍光灯はパルックプレミアFL20SSECW18Hでしたが通常版のパルックFL20SSECW18X2KF (18Hと18Xの一文字違い)と値段が20%近く違うのにカタログ寿命は10000/8500=17.6%しか変わらないため割高と判断しました。ただ、ケチった差額分+αを電子点灯管FE1E2Pに振り向けました。これまで通常のバイメタル点灯管でしか使っていませんでしたが電子点灯管は"約10倍の長寿命"らしいのでこちらは値段差を正当化できるのではないか?と期待します。
蛍光灯がちらつき出したので注文しました。
埼玉県の川島FCからAmazonらしいスカスカ梱包(電子点灯管は別送)で到着。
新品。電子点灯管で点灯時間が速くなりました。
箱の裏を見たら日本製でした。
 蛍光灯の器具自体(+どさくさに紛れて直管パルック1本ずつのバラ売り)は生産終了らしいのですが蛍光灯や点灯管は生産が継続しているらしく消耗品が入手できる限りは維持するつもりです。

エレクトロニクス

 簡単なようで難しいのが文字列からのデータ抽出です。これまでも何度か書いたことがあるように明確な仕様がもらえたら非常に幸運なのですがそんなことはほとんどありません。私の経験上皆無です。というか、質問しても「調べて」か無回答ばかりです。
 とりあえずはGoogleで検索して、整数, 小数, 浮動小数点数の正規表現(https://qiita.com/hitsumabushi845/items/1b1a4921d515f662b416というページを見つけました。ページ内にあるパターン'[+-]?[0-9]+[\.]?[0-9]*([eE][+-])?[0-9]*’をたたき台にしてサクラエディタで確認しました。
サクラエディタで検証してみます。
 一見よさそうなのですが上記ページのコメントにもあるように1e+とか1.といった中途半端な数値も取り出してしまいます。また、私が困ったのは1e2が100ではなく1と2になる(eがあっても最後が[0-9]*なので指数部なしでマッチしてしまう)点です。検証用のパターンが足り無さそうでしたので空行の下は私が足したものです。
 私の用途では1e+や1.が入ると困るためこれらをリジェクトするパターンを考えました。小数点以下(\.[0-9]+)?や指数部([eE][+-]?[0-9]+)?、正負の符号([+-]?)はオプションと考えました。上記の例で半端な場合は仮数部だけ拾う形にしたのが'[+-]?[0-9]+(\.[0-9]+)?([eE][+-]?[0-9]+)?’です。
新しいパターンでチェック。
 要はパターンが使えれば(=実使用上問題なければ)いいかとも思いますが検証用のパターンに合わせこんでしまうとどう考えたのかも説明がつかなくなってしまうので今回の場合は符号?仮数部(ここは必須)小数点以下?指数部?と4つに分割してそれぞれの必要条件から考えてみました。
 デバッグで堂々巡りになったときの備忘録(というか自戒というか…)として残しておきます。抽出でしくじっていると「どっからこんなのが来た…」で探す羽目になってしまいます。

エレクトロニクス

 既に何本も破壊しているmicroUSBのコネクタがまた一つ壊れました。充電などで接続したまま落としたりコネクタの薄い方向に力が掛かると簡単に折れてしまいます。miniUSBは破壊したことが無いため、microUSB特有の弱点かと思いますが現状最も使う頻度が高いです。今回は目視ではっきり分かるほどの折れ具合は写真を撮ってみても分かりませんでしたが断線したためケーブルごと廃棄となりました。
下側のmicroUSBコネクタ(X印付)が故障。
 新しいType-Cのコネクタはこの点を改良したのか楕円形になっていて機械的強度が上がっているようです。まだ対応する機器が少ないためかType-Cで故障したコネクタはありません。
ほぼ真横から比較。上側Type-Cの大きく厚みもあります。
 機械的にはUSB Type-Cは良さそうなのですが、一方で対応する電圧が増えたり期待する電流が流れなかったりでソフト的にややこしくなっていると思います。
 個人的にUSB Type-C – Type-C充電で最も困ったのが、Anker PowerCore+ 20100 USB-CからZenfone3 ZE520KLを充電していてモバイルバッテリの残量がなくなって充電が終わる場合です。この場合、Zenfone3からモバイルバッテリへ自動的に逆流するのか気がついたら充電するつもり(&していたはず)だったZenfone3のバッテリ容量が減っていたことです。他メーカーのスマートフォンでも起きるようでこれはどうもモバイルバッテリの仕様のようです。組わせによって充電できないこともあるらしく、期待通りの動作になるまでにはしばらく掛かりそうです。

エレクトロニクス

 Amazonのタイムセールで安売りしていましたのでUSB-C(PD対応)のモバイルバッテリを(特価で)購入しました。普通に動作は問題なさそうで一応ダメ元で付属のUSB type-cケーブルを使ってZE520KLの充電を試してみたところ手持ちのバッテリではどうやってもうまく行かなかった急速充電モード(ピーク1.9A、平均は1.7A弱程度)に入りました。
 この端末の充電電流は癖がありいきなり1Aになることはなく(いきなり0.8Aで安定はある)、しばらく0.6-0.7A位をフラフラしたあといきなり1.9-1.7A位まで流れ出し1.7-1.5Aで安定するようです。
ZE520KL 1.7Aで充電、驚きました。
追試でAnker PowerCore+ 20100 USB-Cでも1.7A出ました。
 ASUS ZenFone 3 Wikiで同様の質問【Zenfone3 無印の場合】USBからの充電が遅いんだけど?なんでこんな充電すんのに時間かかるの?(http://zenfone3-asus-wiki.fxtec.info/wiki.cgi?page=%A4%E8%A4%AF%A4%A2%A4%EB%BC%C1%CC%E4%A1%CA%C5%C5%B8%BB%A1%A2%BD%BC%C5%C5%A1%A2%A5%D0%A5%C3%A5%C6%A5%EA%B4%D8%B7%B8%A1%CB#p13)があり、ACアダプタでもなかなか難しいようです。結局、私もZE520KLに添付されていたUSBケーブル(A-C)で急速に入るモバイルバッテリは見つけられなかったのですがtype-c同士は見落としていました。
 既に持っていたAnkerも0.8Aでいいやと思っていたのですけど倍速充電が可能と分かり思わぬ拾い物でした。(QC2.0/3.0非対応ポートで充電してください)type-cポートだけが該当するのではないか?と推定します。

エレクトロニクス

 2.5inchのSSDを3.5inch用のNASキットにテープで固定したまま使っていました。しかし、長期運用にはまずいだろうということで3.5inch HDDと同じ位置にネジ穴が付いているマウンタを購入してしっかりネジ固定しました。どのSSDだったかは忘れましたがSSDに付録の3.5inchマウンタはネジ穴の位置が合わず、別に買う必要がありました。
作業前、SSDをテープで固定していました。
先日購入したWeraドライバ(PH1 x 89)でSSDを取り付けます。
取り付け後。
 ようやくテープ固定から本来のネジ止めになりました。
ついでにマキタ掃除機でホコリを取ってから組み立て直します。
 CL107FDにフレキシブルホース A-37568とラウンドブラシ A-37471を付けるとこの手の筐体内のような狭い場所のホコリを効率よく除去できます。電源を入れて動作確認をして作業完了です。マウンタを追加しただけなのでソフト的な変更は一切ありません。

エレクトロニクス,プリウス

2年以上前の2015-04-08(https://kadono.xsrv.jp/2015/04/08/)に買い換える前のGWR101sdで2回補正して以来ほったらかしの係数が今でも合っているか土日両方で給油して検証しました。走行したのは3行程だけです。
GWR103sdのログ:51.8km (24.8km/l) 計算値 2.0887l、57.0km (29.7km/l) 計算値 21.9192l、0.6km (17.5km/l) 計算値 0.0343l
GWR103sdのログから計算した通算燃費:109.4km / 4.0422l = 27.0645km/l
同工程の満タン法: ODDメータ差分 436877-436772 = 105km、給油量 3.88l 計算値 105/2.88 = 27.0618km/l
 もっと酷い誤差が出るかと予想していましたけど 27.0645 / 27.0618 = 1.00009977163と0.01%程度で合っています。GWR103sdの方が若干ハッピー気味ではありますが消費油量も大きくなりうまく補正されています。
QZS-1利用中、左側にひまわり(MTSAT-1R PRN129)とQZS-2?
GWR103sdの受信状況を見ていて気になったのが緑色で002という見慣れない衛星が増えている点で6月打ち上げで試験/調整中のQZS-2でしょうか?ひまわり7号MTSAT-2はPRN137なので番号が違います。QZSSが4機体制になるのは来年度2018年4月からとアナウンスされているので試験電波を受信しているだけで当分QZS-2,3,4は見えていても測位には使用しない可能性が高い(MTSATはGWR101を購入直後から既に使用中)です。
 後日追記)信号待ちでなんとなく衛星のデータを見ていたらどうもQZS-2のデータも使っているようです。さすがにQZS-3はまだ信号を出していないと思いますが受信即利用のようです。
みちびき2号機と思われる002も捕捉
 さらに驚いたのがMTSAT-1R,2だけでなくInmarsat 3F4 AOR-Wから出ているPRN122の信号も掴むようです。
他SBAS(Inmarsat)も捕捉

エレクトロニクス

 数年以上(CD-Rは10年以上のものも)読んでいない古い光学メディアを処分することにしたのですが効率良く破壊するのが難しく困っています。検索するとカッター等で一枚ずつ処理とか専用シュレッダーとか出てきましたがどちらもコストパフォーマンス的にイマイチです。
 要は簡単に読み出せない状態にしてしまえばいいので切断精度が悪いレシプロソー(マキタJR104D)で強烈な振動や衝撃を与えつつ2つ切りにすることにしました。高温でバラバラに割れたり飛散するプラスチックの塊を切るため保護メガネなど保護具の着用が必須です。表面からの飛散を防止するためクラフトテープを貼っています。また、ドライでは刃が保たないので切削油が大量に必要です。条件を探りながら100枚弱処理した感触では金属加工用の油を使うよりも水溶性の切削剤を大量に掛けた方が冷却や切り屑の排除効率がいいかもしれません。
 通常の加工では割れては困るのですけどデータをランダム(デタラメともいう)に破壊するためには都合がいいです。
一応、切断。
 この状態からデータを取り出そうとするのはよほどの覚悟というよりは執念が必要です。切削油が付着しているためベタベタですし切断面からヒビが入っているため破片がバラバラと落ちてきます。
20枚*2セットを処理。
 14枚では余裕だったので25枚に挑戦したところ刃の温度が上がりすぎたため20枚程度が適当(?)という結論になりました。重要なデータが入っている可能性があるならば10枚程度で四つ切(半円を重ねる)も検討する余地があるかもしれません。
25枚(約30mm)は厚すぎました。
 途中で刃が引っかかったのかクレーターのような凹みができました。一部は熱で溶解した模様です。主材料のポリカーボネート樹脂の融点はウィキペディアによると約250℃とのことで切削面はこの温度を超過しています。ただ、自己消火性を持つ難燃素材なので切断中にディスク自体が燃え出す危険は小さいです。飛散防止用ガムテープが焦げるか?と思いましたがそんなことはありませんでした。偶然ディスクに貼ったままのポストイットもまとめて切っていましたが焼けた跡はありませんでした。
バイメタルの貼り合わせ境界。
高温のまま切ろうとすると刃の塗装が剥がれてしまいます。
 以上、記録メディアを破壊するためにレシプロソーを使うのはかなり乱暴な方法なのでおすすめはできません。

エレクトロニクス

 既に販売終了となっているGENTOS SG-309の後継として色々検討しました。結局、最有力候補がマキタML103(+BL1015)です。配光が四角く拡散し床に落ちたものの捜索や夜間の車体確認等SG-309を使っている用途により向いていると思いました。寸法や重量はかなり大きくなりますけどバッテリの使い回しが可能な点、稼働時間が約11時間(BL1015使用時)または約28時間(BL1040B)と長い点を評価しています。マキタの10.8Vスライド対応電動工具を持っていれば予備のバッテリホルダ代わり(カバーの代用品)にもなります。実のところ、予備で持つBL1015に脱落防止用ストラップが付かないか検討していたりもします。
上マキタML103+BL1015、下SG-309(CR123A内蔵)
 SG-309は現在ストックしているCR123Aリチウム一次電池が無くなり次第運用を終了する予定です。
 当然ながら、SG-309の後継として同メーカーのGENTOS製LEDライトを何本か購入しましたが充電時間、バッテリ共用、配光等でML103に及びませんでした。SG-309はON/OFFのみで余計なボタンの機能が無いシンプルな操作感を評価していましたが他のシリーズでは光量切り替えやら点滅やら余計な機能がついていて逆に使いにくくなっていました。この点、ML103もON/OFFだけの簡単操作(配光は長方形で固定)、バッテリ充電が高速かつ交換も確実で簡単(スライド式のメリット)、BL1040Bならば残量も分かると運用面で優れています。
ML103+BL1040B
 BL1040Bに付けるとライトのバッテリというよりはバッテリにカバー(ライト付)が付いている状態です。