手元の NanoPi NEO2 が、証明書エラーでどうしても https 通信が不可能に。

Ubuntu 16.04 なのでそれほど古いOSというわけではない。証明書関係だろうと思いいろいろやってみたがうまくいかず、これは他の原因ではないか?と思って date したら 2016 年だった。知らないうちにリブートして、RTC を持たないため時刻設定がまきもどったようだ。

$ sudo apt-get install  ca-certificates
$ sudo update-ca-certificates  -v
$ curl https://google.com                                                                                                             
curl: (60) server certificate verification failed. CAfile: ./cacert.pem CRLfile: none
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

今後こういうことが起きないよう ntpd を入れた

sudo apt-get install ntp
  1. トップ
  2. tech
  3. https 通信が不可能な原因が時刻ずれ

タミヤ タミヤエアーブラシシステム No.56 エアーブラシ用エアーホース 2m パワーコンプレッサー用 ホビー用工具 74556 - タミヤ(TAMIYA)

タミヤ(TAMIYA)

2.0 / 5.0

最初はタミヤの安いホースを使っていたけど、巻き癖がひどくひっぱられてしまうのがストレスに感じた。スタンド(針金でつくった簡易的なもの)にブラシを置くとひっぱられるせいで不安定で、これは近いうちに事故が起こると思った。

エアテックス ブレイドホース 6φ 2m S-S BH002 - エアテックス

エアテックス

5.0 / 5.0

そこでこの布巻のホースにしたら巻き癖がすぐ解けるので、作業中にひっぱられることもないしそこぶる快適になった。おすすめ

ニッケル水素充電池というとエネループだけど、これが最近どうもかなり高くなってしまっている。

【Amazon.co.jp限定】パナソニック エネループ スタンダードモデル [最小容量1900mAh/繰り返し2100回] 日本製 単3形充電池 4本パック BK-3MCC/4SA - パナソニック(Panasonic)

パナソニック(Panasonic)

4.0 / 5.0

Amazon のエネループ単3タイプ4本は現状1700円ぐらい。(1900mAh 2100回) 425円/本

Amazonベーシック 充電池 充電式ニッケル水素電池 単3形4個セット (最小容量2000mAh、約1000回使用可能) - Amazonベーシック(Amazon Basics)

Amazonベーシック(Amazon Basics)

4.0 / 5.0

Amazon ベーシック単3タイプ4本は900円ぐらい。(1900mAh 1000回) 225円/本

スペック的には倍長持ちすることになっているので、特別コスパが悪いというわけではないが、本数あたりの値段が高い。

ところで Amazon ベーシックはかつで FDK の OEM だったはずだが、どうやらここ数年で変わったようで、中国製になって品質が悪化しているようだ。

同様に FDK の OEM または純正はないのだろうか?と思ったら、あった。アスクルのPB充電池がどうやらFDKのOEMのようだ。単3タイプ4本は990円。(1900mAh 2000回) しかもスペック的にはエネループと変わらない。

https://www.askul.co.jp/p/J485991/

ロハコでも買える。

ひたすらプラモデルを作ってる。

ここ数ヶ月、特に在宅保育してた期間にだいぶ参ってしまい、そしてまぁ Google Photos は本格的に壊れるし、そして壊れてもなんとかする気も起きず、他のプログラミング的なことをする気も全然起きずで

  • 非常に短かい期間で
  • あまり創作的なエネルギーを使わず
  • 何らかの成しとげた感が得られる

ということをしたいなと思った。プラモデルある程度ちゃんと作るというのをしたことがなかったし、子どものころはやりたくてもあまりできなかったことの一つなので、結構楽しい。

エアブラシ

エアブラシの敷居がとにかく高くて、子どものころももちろん使ったことはなかったけど、最近は入門用というか、充電式コンプレッサつきの安いエアブラシなんかもあって案外敷居が低い。

RAYWOOD エアブラシ セット USB 充電式 コンプレッサー ダブルアクション カップ(20cc,40cc) クリーナー 5本 付き 口径0.3mm 小型 プラモ 模型 塗装 アート クラフト - Raywood

Raywood

3.0 / 5.0

最初は ↑これを買って使ってみてた。ちゃんと薄めれば吹けるし、全然悪いとは思わなかったけど、やっぱりちゃんとしたエアブラシを使ってみたいなと思った。

ということで、後述するコンプレッサーを買う動機の1つになるなとも思って、クレオスの定番エアブラシを買ってみた。

GSIクレオス プロコンBOY WA ダブルアクション 0.3mm エアブラシ ホビー用塗装用具 PS274 - GSI クレオス(GSI Creos)

GSI クレオス(GSI Creos)

5.0 / 5.0

エアブラシ本体の違いが素人にわかるか?というとハッキリとわかる。

  • 手入れがしやすい (磨いてあるおかげか汚れが落ちやすい??)
  • レバーが軽いので指が疲れにくく、微調整しやすい
  • 先端ネジの精度が良くスムーズ (安いのはパッキンが溶剤に弱いみたい)

あとはコンプレッサの違いで、安いのはどうしても圧力が低いのでサフを一気に奥まで吹いたりするのはきつい。

コンプレッサー

元々エアダスター用途や、あるいは単にコンプレッサーという代物が欲しいと思っていたけど、さすがに動機が弱すぎたので、エアブラシに使うという1つの用途が産まれたことで買うことができた。

ASTRO PRODUCTS 04-09238 サイレントエアコンプレッサー 6L 04-09238 - アストロプロダクツ

アストロプロダクツ

5.0 / 5.0

買ったのは ASTRO PRODUCTS サイレントエアコンプレッサー 6L というもの。最高圧力 0.8MP、エアフロー 45/49L/min。エアツールを使えるコンプレッサーとしては 6L はかなり少ない容量だが、置き場的にこれ以上には厳しい。

エアブラシ用途では 6L は完全に十分。充填速度のほうが遥かに早いのでまずオーバーヒートすることはない。ダスター使うと数秒で 0.6MP まで圧力が落ちて再充填になるが、間欠で使えないことはない。

スペック的に騒音値は 60dB で、これはコンプレッサーとしては静かなほうだが (会話はできるレベル)、そうはいってもうるさいので防音箱も作った。

ちなみにエアブラシ用のコンプレッサーの定番は「Mr.リニアコンプレッサーL5」というもので、これは騒音値 50dB、最高圧力 0.12MP で、小型で24時間通電できるものだけど、値段的にはサイレントエアコンプレッサーとあまり変わらない。

エアブラシとコンプレッサーの接続

まず内径サイズが3種類ある

  • 1/4 または L サイズ
  • 1/8 または S サイズ
  • PS(細)

(R はオスで外ねじ、Rc はメスで内ねじ。Rc 1/4 のように表記する。PT 1/4 は古い表記だが一緒の意味で、PT1/4内ねじ == Rc 1/4)

一般用のコンプレッサーの接続は 1/4 サイズのワンタッチカプラ(ハイカプラ) や 1/4 サイズの管用ねじが使われる。

エアブラシ本体 1/8 サイズが使われている。

PS(細) はクレオスだけで使われている。同梱のホースは PS(細) で、エアブラシ本体は 1/8、そして変換コネクタが付属する。

自分は PS(細) を混在させるとややこしいと考えたので

  • コンプレッサ (カプラメス)
  • (カプラオス) 1/4 ホース (カプラメス)
  • (カプラオス・1/4 ネジ) レギュレータ・ドレンキャッチャ (1/4 ネジ・カプラメス)
  • (1/4 1/8 変換) (1/8 ネジ) エアブラシ用 1/8 ホース (1/8 ネジ)
  • (1/8ネジ) エアブラシ

という感じで繋いだ。レギュレータはコンプレッサ本体にもついているが、そっちは 0.4MP 固定にして、作業環境に近いほうにもう1つレギュレータ件ドレンキャッチャをつけて微調整できるようにした。

塗装ブース

安い塗装ブース、フル回転させるとうるさすぎるので、ステップダウンコンバーターをつけて電圧可変できるようにした。プラダンで排気用のダクトを保持するようにして、使うときだけ窓枠に挟んでる。

AFV (戦車とか) プラモデルの良さ

  • 工程の出戻りが発生しにくい (塗装と組立がいったりきたりすることが少ない)
  • 雑に作ってもどうせウェザリングやウォッシングするので気が楽
  • 失敗が存在しない。何か欠けても味になる

基本的に、あらかた組立てたら、オキサイドレッドのサーフェイサを吹いたら楽しい感じになる。あとは足まわりとか奥まったところとかに黒をしっかり吹いてから、ベース色を軽めに吹いていくとそれっぽくなる。

サーフェイサ以外はラッカー塗料は使っておらず、タミヤの水性アクリル塗料を使っている。なのでサーフェイサ以外は塗膜が弱いのだけど、オキサイドレッドを吹いておくと、うっかり塗膜を擦って剥してしまっても錆っぽくなってごまかせる。

戦車はかっこいいし良いです。

Google Photos が発狂してからと書いてから、いろいろ見積って画像をセルフホストすることに決めた。とにかくアップロード機能はあとで作るとして、現状の画像が表示されていない状態を是正しなければならない。つまり Google Photos に上がっている画像のうち、日記で使われている画像をこのホスト上にコピーして配信する必要がある。

事前知識

まず Google Picker API 経由で取得した media の id や URL と、Google Photos API は一切互換性がない。もともと念のために Picker 経由で取得した ID っぽいものは保存していたのだけれど、これはまったく使えない。よって、Google Photos 上の全写真のメタデータをすべて取得し、ファイル名マッチによって画像を特定 (つまりファイル名→Google Photos mediaId のマッピング) していくことにした。

手順

  • Google Photos 側のメタデータをすべて保存する
  • 日記内の画像のファイル名をすべて抜き出す
  • Google Photos 側のファイル名と日記内の画像のファイル名を一致させて対応づけ、Google Photos 側の mediaId を確定する
  • 利用している画像を、対応づけた mediaId に基いてダウンロードする
  • 日記内の画像パスをすべて書きかえる

Photos library API は 10000req/day が quota。0.1req/sec 程度でしかアクセスできない。そのうえ、item リスト API は 100items/req しか取得できない。つまり、1日で取得可能な item 数は100万件にすぎない。が、個人日記程度なら十分なので、一気に全メタデータを取得するスクリプトを書いて、1行に1つの mediaItem 形式のJSONとなるようなファイルをつくった。

実際にメディアを取得するリクエストは 75000req/day できるが、library API で取得できる、メディア実体を取得するための URL である baseUrl は60分で期限切れになる。全メタデータを取得したときの baseUrl は基本的に使えないため、ダウンロードするスクリプトではあらためて batchGet API を呼び、baseUrl を取得するようにした。

ハマったところ

日本語文字列のファイル名が Google Photos 上では分解されて正規化された状態だったり、API 経由ではそうでなかったりで困った。結局 NFC して常に正規化状態で扱うようにした。

ハマったということではないが、Google Photos の library API 類はレスポンスが結構遅く、オンデマンドにこれにアクセスして実体ファイルへリダイレクトするのは結構厳しいと思った。

今後

画像まわりを好きにできるようになったので、できれば webp メインにしたい。ただ、ファイル管理やバックアップまわりでやることが増えるので、面倒くさい。

それにしてもウェブサービスのAPIを組合せて Web 2.0 の時代はどこへやらで、かつてAPIを提供して好きにしてくれとしていたサービスもどんどん渋くなり、サービス存続が信用できないケースが多くなって全部自分でホストするみたいな原点回帰をしつつある。

ASP のブログサービスを使えばそのへんの面倒くさい実装は自分でやらなくてすむが、じゃあそのASPのサービスはいつまで続くのか?という話になるし、貧乏はとにかくつらい。

  1. トップ
  2. tech
  3. Google Photos 依存からの脱却

Google Photos が発狂して、Google Picker 経由でつけたリンクに認証がかかるようになったり、利用制限がかかるようになった。おかげで過去に貼りつけた画像がいっさい見れなくなったりしており、かなりやる気が削がれている。

YouTube は無事なため、動画は見えるのに静止画が見れないみたいな意味わからない状態になっている。

あまりに糞すぎて数ヶ月ほったらかしにしていたが、画像を貼れないのは困るのでなんらかの対策をしないといけない

  • Google Photos の新APIで動的に静止画URLを生成してリダイレクトするようにする
    • API 制限がある。パフォーマンスが落ちる
  • 全部自分でホストするようにする
    • ストレージ見積が必要
    • さくらのVPS の 100GB プランだが、実容量的には 50GB ほどの空き

さくらのVPS ディスク拡張手順(標準OS Ubuntu18.04) を実行しようと思ってごにょごにょしていたら MBR を壊してしまった。具体的には

sudo sgdisk -s /dev/vda

が成功せず、GPT 形式に変換しろ、と言われたので何も考えず GPT に変換したら Booting from hard disk で止まるようになってしまった。まぁそりゃそうだろ考えろよという感じだが……

シングルユーザーモードの起動

さくらのVPSコンソールから「各種設定」→「OSインストール」とすすみ、「カスタムOS」→「Ubuntu 18.04 amd64」と選択して起動 (仮想 CD 経由でインストーラーが起動する)

ただVNCコンソールを開けるタイミングでは既にブートローダーを通過しているので、レスキューモードに入れなかった。

このため、インストーラー起動後のユーザー名を入力する画面で、何もせず「Back」を選択する。するとインストーラーメニューが出てくるので、一度 Detect disks を選んですぐに Back してから、シェルを起動するメニューを選ぶ (Detect disks することで /dev/vda が見えるようになる)。

この状態で、以下のように本来のディスクをマウントして chroot する。さくらの VPS の VNC コンソールは英語キーボードだと = が入力できないため、grub-install の引数を指定することができない。デフォルトでいけるようにするために chroot する。

mount /dev/vda1 /mnt
mount --rbind /dev /mnt/dev
mount -t proc none /mnt/proc
mount --rbind /sys /mnt/sys
chroot /mnt /bin/bash

これでほぼ本来の環境で作業できる。grub を再インストールする、念のため /boot をバックアップしてからやる。ここでは /dev/vda なので

cp -r /boot /boot.orig
grub-install --force /dev/vda

とした。GPT だからか何なのか --force しないと書けなかった。この手順は自信がない

grub 設定を作りなおす

update-grub

ここで reboot で起動するようになった

  1. トップ
  2. tech
  3. さくらのVPSが起動しなくなって grub 再インストール

新しくラジオペンチ(やニッパー)を買ったときに違和感があって、なんでだろうなあと考えていたところ、バネの有無ということがわかった。

なんとなくバネがあったほうが自動的に開いて便利な気がするけど、これが自分にはあってないみたい。

バネがあると自分で開かなくていい一方で、閉じるのに余計に力がいるので素材への力のかけかたが少し難しくなる。バネなしなら指先の延長のように扱えていたのに、バネつきだと手袋をして作業しているような感覚。

というか実際、自分はバネで自動的に開く機能を使うことがほとんどない。人差し指と薬指をペンチの外側に、中指を内側に入れて、開きかたをすべて指で制御しているので、むしろバネが負担にしかなっていない。https://youtube.com/shorts/dhTa218TuG8

古いペンチばかり使ってしまっていた原因がようやくわかった。そしてすべてのバネをはずした。

バネありのメリット・デメリット

メリット

  • ペンチの扱いに慣れてなくても開く・閉じるがスムーズ
    • 開け閉めできる持ちかたを覚えなくていい
  • 強くつかむだけなら不器用でも問題ない

デメリット

  • 力の加減が難しくなる
  • 閉じるのに僅かに強い力が必要となる
  • 加減してつかむ用途だと疲れる
  1. トップ
  2. tech
  3. ラジオペンチはバネがないほうが良い

 -

5.0 / 5.0

これまで使っていたキャニスター式は2009-03-05に買ったSANYOのSC-MR8J-Lで、ごく普通の紙パック式だった。まだ壊れてなかったが、紙パックのストックも切れたし、新しいのが欲しいなと思った。

なぜサイクロンにしたか

気持ち的にはもともと紙パック派なので、紙パック式にしようと思っていた。

しかし、このごろマキタの充電式クリーナー+サイクロンアタッチメントを使うことが多く、これで毎回とれたゴミの量を確認できるのが案外楽しかったため、掃除の頻度が上がったという体験がある。キャニスター式もとったゴミの量が確認できるといいなと思った。

パナソニックのサイクロン掃除機の感想

  • ゴミセンサーが思ったより楽しい
  • ゴミ捨てるのはちょっと面倒
  • 軽い
  • 先端がしゃがまなくても分離できる構造でびびった (足で小さいヘッドに分離する)

ゴミセンサーは特に事前に注目していなかったけど思ったより楽しい。どのぐらいかけるかの目安になる。1往復程度では綺麗にならないなというのがよくわかる。

ゴミ捨ては蓋が下に開くので、当然ながら蓋が開く分余計なスペースがゴミ箱内にないといけない。飛びちらないように綺麗に捨てるのはかなり難しい。まぁこれはサイクロン式の宿命だと思うので我慢するしかなさそう。

ただ吸いこみは紙パック式の元の掃除機より弱い。

「次亜塩素酸水をつくる」みたいな触れ込みでジクロロイソシアヌル酸ナトリウムが売っているが、やたら高いことが多い。「スパクリーン 60GS」という公衆浴場用の塩素消毒材がまさにジクロロイソシアヌル酸ナトリウムで、これは比較的かなり安価に手に入る。

ジクロロイソシアヌル酸ナトリウムは有効塩素60%なので、目標塩素濃度 p ppm を v l 作りたい場合、ジクロロイソシアヌル酸ナトリウム w g とすると


100ppm 500ml つくる場合は0.083g。かなり少ないのでぴったり測るのはむずかしい。ジクロロイソシアヌル酸ナトリウムの比重は == らしいので、0.83ml のスプーンが適切。あんまりキッチン用の精密測りは使いたくないが、3Dプリンタでスプーンを作り、最初の一回は重量を確かめてから作るとよさそう。

ジクロロイソシアヌル酸ナトリウム vs 次亜塩素酸ナトリウム (ハイターなど)

  • ジクロロイソシアヌル酸ナトリウムは液性は弱酸性〜弱アルカリ性 次亜塩素酸ナトリウムはアルカリ性
  • ジクロロイソシアヌル酸ナトリウムは水に溶かすまで顆粒。
    • こぼすと大変
    • 水に溶かして目的塩素濃度に希釈するまで危険性が 高い
  • pH の関係で次亜塩素酸ナトリウムよりも低い濃度で高い効果(酸化力)がある。溶かしてからの消費期限は30日程度。
  • 次亜塩素酸ナトリウムよりも安定していない(塩素ガスが発生しやすい)。保存も換気が良い場所でする必要がある

アルカリ性じゃないので手についても比較的荒れにくい。

計量

スパクリーン 60GS には適切な計量スプーンがついてないので、https://www.thingiverse.com/thing:682146 これを元に 3Dプリンタで0.1ml の計量スプーンを作った。

ジクロロイソシアヌル酸ナトリウムが主成分の製品

  • ピジョン ミルクポン S (哺乳瓶消毒)
  • 小林製薬のかんたん洗浄丸
  • 花王 ハイター強力カビハイター 排水口スッキリ

ref

次亜塩素酸水と次亜塩素酸ナトリウムの同類性に関する資料 次亜塩素酸水の場合 (pH が弱酸性〜中性) 100ppm で十分そう。