最近ちょっとOAタップの意識が高まってしまって、常用するOAタップはできるだけパナソニック製品 (できが良い) にしようという気概が生まれてきてしまった。

それはともかく、パナソニックはOAタップに「コードなし」モデルをラインナップしている。つまりユーザ側で任意のコードを取り付けられるようになっている。

必要なのは以下の通り。

  • コードなしOAタップ
  • 3心ビニルキャブタイヤ丸形コード(VCTF)2.0mm^2
  • プラグ (2P接地極) 2P
  • (オプション。あったほうが綺麗にできる) R2-3.5 裸圧着端子

ちなみに、価格的には普通にコード付きのを買ったほうが多少安い。作業コストも含めるとカスタム長コードはかなり高くつくことに注意されたい。

自分でコードをつける利点は

  • 任意コード長にできる
  • あとから部分的に構成を変えられる
  • OAタップ側は接地極付きにするがプラグは2極にする、みたいな変な構成のタップが作れる

あたり。特に最後のやつは地味に便利だと思っている。一般家庭だとまず接地極が存在していないので、3極タップに対しては余計に変換プラグが必要になったりするんだけど、それをなくしてコンセント付近をスリムにできる。

ref.

  1. トップ
  2. tech
  3. カスタムコード長OAタップを作る

なんとなく発見があったらいいなぁぐらいで土曜日に行ってきた。

発見と面白かったのは以下らへん

  • SONY が思いのほか SPRESENSE を押してた
  • MESH はちょっと小さめ。SONY と MESH は別々にスポンサーになっていた
  • ソラコムがスポンサーで出展してた
  • 手動で射出成形するというアイデア (樹脂を手動でいれて、温めて手動で圧力かける) がおもしろかった
  • Prusa が出展してた。やっぱ MK3 はベースの剛性よさそう。
  • 自動で組紐するマシンを2つぐらい見掛けた。君の名は的な流行りなのだろうか
  • アマチュア無線関係はほとんどない。明確なのは1つだけかな? ちっちゃいSDR。BGA リフローしたりしてて極めて高度だけど、MFT ではなかなかウケにくそう


MFT はとにかく「音」「光」「動」がないと歩いてる人に興味を持ってもらいにくいのがなかなか厳しいと思った。

というのがあるらしいことを知った。ペルオキソ一硫酸水素カリウム+塩化ナトリウムで構成される薬剤らしい。一般向けには杏林製薬がルビスタという製品で売っていて、アマゾンでも買える。動物・畜産分野ではおそらく同様のものがバイエル薬品からアンテックビルコンS (Virkon) という製品名で出ている (そもそもルビスタもアンテックの製品であり、海外だと Rely+On Virkon という名称だったりする)。

メカニズムをみると、ペルオキソ一硫酸水素カリウム自体の酸化作用と、生成される次亜塩素酸が働くらしい。どっちが支配的なのかはよくわからなかった。

Y's Square:病院感染、院内感染対策学術情報 | 塩素系に分類される消毒薬および除菌・洗浄剤の特性と選択 とかを見ると各塩素系消毒薬の特徴が書いてあっておもしろい。

ルビスタの場合は洗浄成分(界面活性剤)も入っているので、掃除と消毒を同時にできるのがひとつも特徴となっているみたい。5gを500mlに溶かして1%として使用するということになっている。5g×12包で3300円ぐらいなので、1包 500ml あたり 275円。

次亜塩素酸ナトリウム6%ハイターは5Lで800円程度で、使用時には10倍希薄0.5%扱いとすると500mlあたりは8円、1%希薄(0.5%で十分だが)でも16円なので、ただの次亜塩素酸ナトリウムに比べると、かなり割高ではある。

まぁでも、一般家庭では感染症が発生しない限り日常的に使うものでもないので、いざってときに塩素臭がしないのはかなり嬉しいポイントだと思う。実際に次亜塩素酸ナトリウムを広範囲に消毒に使ってみると塩素の刺激臭でなかなかつらいものがある(経験談)。一方で漬け置き漂白みたいな用途には使えないみたいなので、汎用性でいくとやはり次亜塩素酸ナトリウムが勝るっぽい。

次亜塩素酸ナトリウムは酸性だと塩素が出るので、アルカリに調整してあるが、ビルコンは酸性らしい。なので混同して使わないように注意が必要そう。(どちらか片方しか使わないのが安全)

例えば以下のようなメトリクスがあったとします。みての通り、名前は一緒でラベルだけが異なるメトリクスです。

  • mqtt_topic{instance="127.0.0.1:9981",job="mqtt",topic="/home/sensor/temp"}
  • mqtt_topic{instance="127.0.0.1:9981",job="mqtt",topic="/home/sensor/humidity"}

これらを演算しようとして以下のようにしても no data になります。

 mqtt_topic{topic="/home/sensor/temp"} *  mqtt_topic{topic="/home/sensor/humidity"}

Vector Matching に書いてある通りですが、デフォルトではこのようなベクター同士の演算の場合、左右でラベルが全て一致するメトリクス同士のみが結果に出力されます。

SQL の INNER JOIN でラベル全ての一致が ON 条件に入ってるのをイメージするとわかりやすそうです。

この条件を変更するには、ignoring() または on() を使います。今回のケースでは以下の2つの結果は同じです。

 mqtt_topic{topic="/home/sensor/temp"} *  ignoring(topic) mqtt_topic{topic="/home/sensor/humidity"}
 mqtt_topic{topic="/home/sensor/temp"} *  on(instance,job) mqtt_topic{topic="/home/sensor/humidity"}

ignoring() は JOIN の条件から指定したラベルを除くように働き、on() は JOIN の条件を明示的にすべて指定するように働きます。

リテラル演算との組合せ

数値リテラル(スカラ)とベクターを演算すると、結果はベクターになります。スカラ値との演算時には上記のように ignoring() や on() は指定できません (syntax error になります)。複雑な計算をする場合、適切な場所に on() または ignoring() を書く必要があります。つまりベクター同士の演算になる場所に書きます。

例えば、topic="/home/sensor/temp" を温度、topic="/home/sensor/humidity" を湿度として不快指数を計算したいと思う場合、以下のようになります。

(0.81 * mqtt_topic{topic="/home/sensor/temp"})
  + ignoring(topic) (0.01 *  mqtt_topic{topic="/home/sensor/humidity"})
  * ignoring(topic) (0.99 *  mqtt_topic{topic="/home/sensor/temp"} - 14.3)
  + 46.3
  1. トップ
  2. tech
  3. PromQL でラベル違いのメトリクス同士を演算して no data

最近はこう

ssh-keygen -t ecdsa -b 521

最近の raspi イメージはデフォルトで弱い暗号方式を無効化してあるのでさっさと ecdsa 鍵に乗り換えましょう……

  1. トップ
  2. tech
  3. ssh-keygen