日記
この日記はフィクションです.登場する人名・団体名・地名・職業などはぜんぶ架空のものです. 写真のような画像は画像生成AIもしくは念写によるものです.
2020-04-30
先週から微妙に体調悪いな...
Oculus Browser, Chromium 81になってWebVRサポートしなくなってWebXR Device APIだけに なったのか.あとXRBoundedReferenceSpace周り,以前は不完全な挙動をしてたけど,最新版だとそもそも動かないっぽい?boundsGeometryに何か矩形が入ってたのが空になってしまった.
2020-04-29
さくらVPSのOSをCentOS 8にしたら,IPv6環境でbad addr or host: ::と言われてsshdが起動しなくなった.sshd_configのAddressFamilyを無視してv4アドレスで待ち受けようとする.
結局/etc/sysconfig/sshdのOPTIPNSに"-4"が入ってた落ちだったんだけど,なんでそんな設定になってたんだろ.
arduino-cliでESP8266/ESP32
いままでArduino for Visual Studio Codeを使ってたけど,内部でArduino IDEを呼び出してるせいで遅いので arduino-cli に乗り換える.
https://github.com/arduino/arduino-cli
だいたいドキュメントどおりだけど,3rd party coresを入れた場合の説明が大雑把すぎてわかりにくかったのでファームウェアを書き込むとこまでのメモ.
arduino-cli config init
config initするとyamlの場所が表示されるので,ESP8266とESP32のパッケージのURLを追加しておく.
additional_urls:
- https://arduino.esp8266.com/stable/package_esp8266com_index.json
- https://dl.espressif.com/dl/package_esp32_index.json
arduino-cli core update-index
arduino-cli core search esp8266
arduino-cli core install esp8266:esp8266
arduino-cli board listall
今回はArduino IDEで使ってたボードもインストール済みになってたので,upgrade esp8266:esp8266した.
board listallで使えるボード全部出てくるので,それっぽいのを探す.(board listで接続されているやつを自動認識しそうだけど,Arduino以外はダメっぽい)
あとは適当なスケッチのある場所で comple & upload.
arduino-cli compile --fqbn esp8266:esp8266:generic
arduino-cli upload -p COM3 --fqbn esp8266:esp8266:generic:baud=256000
fqbnに色々オプションを追加する必要がありそうだけど,ESP-WROOM-02はgenericのデフォルト設定で動いた.
fqbnが変わると不要なものまで再コンパイルが走るっぽいので,通信速度とかはupload時にだけつけたほうが良さそうかも.
IFTTT Webhook
温度計とかインターホンとかエアコンから直接IFTTTのWebhook(Makerチャンネル)でつなげば自分でサーバ立てなくていいので嬉しいと思ったけど,IFTTTのThat側になるためにhttpで待ち受けなくてはいけなくて,そうするとLANの中の機器にアクセスするにはNATが邪魔でめんどい.いまはUDPでNATに穴開けて通信してる.
今回は,通知したい値の入ったパケット1つ送るだけ,みたいな軽量なやつが欲しかった.バッテリーで動いてる温度計とかはWiFiに接続してる時間を一瞬でも減らしたい.
ただ,せっかくWebhook試したので,サーバからIFTTTに中継できるようにしておく.
2020-04-27
VPS上の作業環境を改善する週間.
前とほぼ同じ料金のインスタンスなのでCPUもメモリも変わらないけど,ストレージがSSDになって,リージョンを東京にしたおかげでいろいろ速くなった.
さくらVPSのネットワークスイッチ,遅くて良いのでリージョンまたいで作れるようにしてくれないかな.東京と大阪と石狩に分散してしまって困っている.前はSoftEther入れてたけど面倒なのでやめた.
ACMEv2のDNS認証,TmpDNSを作って使ってたのだけど,最近は acme-dns というのがあるのか.ちゃんとしたのあるならそっちに移行したいけど,TmpDNSのほうが使い勝手良さそう...
https://github.com/caarlos0/domain_exporter これのテスト走らせて気づいたけど,Whois上ではgoogle.itのドメインが数日前に失効してるように見える... それはどうでも良くて,JPRSのwhoisがデフォルトで日本語のレスポンス返してきて,パッチ当てないと動かないツールあるのめんどい.
古いサーバ,解約する前に再起動してみたけど何事もなく起動して動かしてたもの自動的に一通り起動した.
2020-04-26
古いGolangのプログラムを色々ビルドしてて,複数のバージョンのGoを使いたくなった.
最近のGoの対応するのも難しくはないのだろうけど,DepとかModule周りが時期によって色々違っていて調べるの面倒になってしまったので,goコマンドをDocker上で実行するスクリプトに置き換える.
#!/bin/sh -e
GOOS=${GOOS:-linux}
GO=golang:${GOVERSION:-1.14}
CGO_ENABLED=${CGO_ENABLED:-0}
DIR=`basename $PWD`
mkdir -p $HOME/.go_docker
docker run --rm -u `id -u`:`id -g` -v "$PWD:/host/$DIR" -v $HOME/.go_docker:/go -w "/host/$DIR" \
-e CGO_ENABLED=$CGO_ENABLED -e GOOS=$GOOS -e GOCACHE=/go/.cache -e GOPATH=/go $GO \
go "$@"
$ go version
go version go1.14.2 linux/amd64
$ GOVERSION=1.12.5 go version
go version go1.12.5 linux/amd64
$
https://github.com/kennyp/asdf-golang こういうのに頼るのもありな気がするけど,あんまり色々インストールしたくなかった.
VPSのインスタンス作り直した
自分用のサービスを動かしてるVPSのインスタンス作り直す.未だにCentOS 6なのでEOLが迫ってるのと,最近のDockerがインストールできなくて不便だったので.
$ uptime
21:53:08 up 1063 days, 21:08, 1 user, load average: 0.03, 0.04, 0.00
最後に再起動したの3年前...放置しすぎ.
Ubuntuにするか少し考えたけど,いつの間にかCentOS 8が出てたので試しに使ってみる. 最近は,ホスト上にはDockerとNginxとgitくらいしかインストールしないようにしてるので,ディストリビューションは何でも良いのだけど.
Docker上で動いてるものは移すの楽だけど,昔作ったやつは移行するのがめんどい.Dockerfile書いたり,Rubyで書かれたスクリプトをGolangで書き直したりしてたら1日終わった.
ちゃんと動かないと,マンションの自動ドアが開かなくなったりエアコンつかなくなったり,銀行口座が凍結されたりするので怖いけど,一旦大丈夫そう.温度計とかがDNSの設定変えても古いサーバにアクセスしてくるので,一旦プロキシしておく.
よく考えたら,binzume.netを動かしてるサーバもCentOS 6だ...これは後でやろう.
2020-04-25
Chromeってタブがバックグラウンドの間はImage.decode()戻り値のPromiseが完了しないのか... loadイベントは普通に来るし,canvasにも描けるからデコードは完了してるように見えるのだけど.
2020-04-24
ずっとDockerの更新内容見てなかったけど,もうだいぶ前にBuildKitが入ってたのか.
SSHの鍵を一時的にでもイメージ内にコピーするのが怖かったり,Goがgitで取得したパッケージをキャッシュしたかったりして,今までは一旦docker runしてファイル用意してdocker buildするみたいなスクリプト書いてたけど,普通にマルチステージビルドで解決できるようになった.
ちょっと気になったのが,--no-cacheをつけるとレイヤーのキャシュを無効にするだけではなくて,すでにあるBuildKitのキャッシュを削除してしまうっぽい?
2020-04-21
風邪気味な気がする.
2020-04-17
今日はなんだかずっと眠い...
Microsoft Edge,WebKitDirectoryEntry が実装されてるけどだいぶ古そうな感じだな. getFile() もないのでディレクトリの内容を読みながら自分で階層を辿らないといけない?
まぁ79より前のEdgeは無かったことにしよう.
Chromeは一番ファイル扱う手段多いのだけど,FileSystem APIの亜種を複数実装しててだいぶカオスな感じ.
2020-04-15
確定申告.とりあえず申告書つくってクレジットカードで税金収めた.明日申告書出さないと...
いい加減e-Taxにしたいのだけどそれも色々面倒.マイナンバーカード,5年くらい前に申し込んだ記憶だけあるのだけど,交付通知書を見た覚えがなくて受け取れてない.
2020-04-11
久しぶりにvalue-domainでドメイン取得したけど,ドメインの申請ページの挙動がなんか怪しげになってるな.すでに登録済みの情報がバリデータで弾かれてたり,一回で全部のエラー出してくれないので何回も送信しないと登録に成功できない...
2020-04-09
「空の青さを知る人よ」 ネット配信はじまったら見ようくらいに思ってたけど,いまさらトレーラーの映像見て秩父高校出てきて驚いた.
2020-04-02
そういえば,Oculus Browserの新しいUI使えるようになってたけど,使われてなかったopenWindoew/closeWindowはやっぱり複数ウインドウ開くためのやつだった.
2020-04-01
4月・・・