できごと
バックログ消化週間
もういい加減色々と社会復帰しないといけないと思うので、諸所を消化していく
go-envconfig
08/08
- v0.1.0 v0.1.1 リリース。 0.1.0 -> 0.1.1 はライセンスつけ忘れてたので更新しただけ
08/09
- v0.1.2 リリース。 不要なメソッドとかstructが外に見えていたのでそれをprivateに変更しただけ。
google-notifier-go
08/08
- go-envconfigを入れて、とりあえず動くんじゃないの?ってところまで行った。
エアコン
- 外気温が上がってくると室内が29度とかに…
- 熱中症にはならないけどアタマが回らない、本当にこれはマズい
あれの手続き
それの手続き
- よくわからんので知人に助けを求めることに
- おもいっきりfailした
カジュアル面談のテスト
google meet
- ブラウザから入るだけなのでいい感じ。
- テストに付き合ってもらった人が有料会員だったので一番これがよかった。
Teams
- さいあく。
- ブラウザから入れば使えるが、画質が悪い。
- そして、Firefoxだと怒られる。EdgeかChrome使えと。あーあ。MS—-
- アプリを入れると、ブラウザがカスタムスキームでアプリを呼び出そうとするが、許可してもアプリが開かない。
- それだけならまだしも、ブラウザに無限にタブが開いてブラクラ状態になる。
- そもそもアプリから接続すらできないのでしんどい。
zoom
- 一番つかわれているはず。
- ブラウザなら問題なかった。
- アプリは… 多分、オーディオを有効にしようとした瞬間にアプリがコケる。
- 多分、Pipewireなせい。明日Pulse Audioにして試してみる。
Authy
- 正直、フィッシングひっかかって漏洩することは無いと思うんだけど、良い機会なので移行した。
- 移行先はbitwardenの有償プランのTOTP機能。
- 移行は、devtools開いてコード貼って…QRコードが出るのでそれ読んで移行。
- アカウント削除のプロセスが超親切だった。すべてのアプリの2FAを解除したかチェックできたり、ウィザード形式だったりですごくよかった。
OpenTTD
- この前に作ったマップが割と良かったのでめちゃくちゃハマった。
- マルチプレイでやったセーブデータをローカルでプレイするとゲームスクリプトがなくなっちゃっておかしくなる。
Switchbotまわり
- ハブの場所を変更した。これでエアコンとサーキュレータも操作できるようになった。
- 変わりに照明が操作できなくなった気がするけれども主電源切れるのでOK
固定項目
TODO
物欲
できごと
バックログ消化週間
もういい加減色々と社会復帰しないといけないと思うので、諸所を消化していく
コロナ
- 08/01 さすがにもう影響はないと思いたいけど微妙に寝付きが悪い
- 08/02 もう症状は無いと言ってよさそう。
コロナまとめ
生活
- 楽天西友はかなり便利なので最高
- Amazon置き配があるので飲み物もどうにかなる
- 薬は割とどうにもならないと思いきや、これもAmazonで買えてしまう。
- オンラインで診断して、薬を配送してくれるところもあるので調べておくのはよさそう。
- 体調が悪化すると新規登録とかやってられないので、可能であればネットスーパーは一度買い物をして、すぐ使える状態にしておくといい。
ごはん
- 意外とカロリーメイトは食べられる
- おかゆは食べやすいのでパウチのやつを買うとよい
- しかしあきるのでふりかけでちょっと味変するとよかった。
- うどん(どん兵衛ミニみたいなの)も食べやすかった
- 兎にも角にもポカリスエット。アクエリアスでも良いと思うけれども。ただ、飽きるので種類は用意したほうが良いかも。
その他反省点
- ヤバイと思ったら最速で検査を受けたほうがいい。遅れるとそもそも検査を受けるための外出ができない。
- 今回は、なんか調子悪い→副反応かな→(放置)→もう検査どころではない体調悪化 だったので明らかに初動がミスっている。
- 検査を受けるのはそれ以降の保険適用だとか、都の支援物資だとかの支援を受けるため。
- 今回の(多分)感染はCOCOAの接触通知は一切なしで感染した。もうこれは電車に乗ったりしたら確率で感染するに近い。
- ちなみに、外出時には人とすれ違う場合でもできるだけ距離を取るように心がけていた。ヤバそうな人だったら道の反対側まで避けるくらい気をつけていたのに感染している。(電車でもヤバそうな人がいたら車両を変えていた)
- 打てるならワクチンは打ったほうがいい。感染確率がどれだけ気をつけてもほぼ運に近い以上、症状が軽くなる可能性が少しでも上がるなら打たない手は多分ない(仕事が休めないとか色々あると思うけど、多分ノババックスなら副反応が気にならない可能性が高い)
今後の対策
- 外出から返ってきたら、手洗い、うがい
- 外でスマホを触ったなら、スマホも洗ったほうがいいかもしれない(手でベタベタ触るし、口の近くでつかったりするので)
- スマホをアルコールで消毒してもいいと思う(昔,MacBook Proでアルコール消毒したらコーティング剥がれたことがあるけど)
日記
- zennのリンクを追加。アイコンがZwiftだけどまぁ・・・
go-envconfig
08/01
- Reflection周りの実験をした
- 外部仕様をだいたい決めた
- String, Int, Slice に関してはReflectで値の取得/セットができるようになった(内部的に)
- 明日、tag周りを書いて完成させたい
- 明日、StructがNilの場合の対策
- 明日、GoPkgに公開する方法調べる。雑に調べたらGitHubとかに上がってればOKそう。特にnpmみたいなリポジトリはなさげ
08/02
- あまり進まなかった。
- とりあえず、ファイルツリーの整理をした
- /internalはgolangの言語的に扱われるらしいので、内部的なものはinternal以下に移動した。
- tag周りは実装完了
- 公開は普通にGitHubに上げればOKぽい
- StructがNilの対策と、文字列でくる設定値を各型にコンバートするところを考えれば完成しそう。
- []int とかの場合も考えないとなのでなかなか悩ましいけど。
08/06
- structが階層化されていない場合に限り動くであろう状態まで来た
- structが階層化されている場合も割と実装の目処は立った(気がする)
- テストをある程度書いて、よさそうなら… ってそもそも何を書いていたんだっけ
08/07
- デフォルト値のテストをしたら意外と動いてた
- が。structのテストがコケてたので明日見る
Switchbot plug mini
AC100Vのスキマケーブル
Switchbot関連
- 今日はほんとにうまく行かない日だった
- Switchbotカーテンを設置しようとしたらAndroidだとセットアップできず
- 仕方なくiPhoneを引っ張り出してきたらログインできず
- パスワードリセットをしたら全端末からログアウトされログインし直しに
- で、初期設定をしたらカーテンレールとの相性なのか、物理的に動かない。ひっかかる。
- 少し前にサポートに連絡して交換してもらった新しいタイプのU型のパーツを使うと動く。
- 仕方ないので、サポートに新型のパーツを売ってもらえないか問い合わせを投げた。
- サポートの方でご対応いただけるようで、部品をいただけそうで助かった。
- 換気扇用のスイッチつけた。
引き落とし
- 結構な額の引き落としが失敗してたやつ、連絡も振り込み票も来ないぞ、仕方ないから電話するかと思ったら…
- 銀行アプリの通知で再引き落としを2週間後にやります。って来たので安心した。
- 税金払い忘れてて、おっかない手紙が来たので即払った。うわぁ…
お出かけ
- 原宿にひさしぶりにいった
- なんというか、たまにはオシャレして出かけないと自分の見た目に気を使えなくなるなぁと思った
- 帰りにサンシャインの服屋を覗いたら、カーディガンがとても良きで正直欲しい。
- けどお金ないからね、仕方ないね。秋まで残るだろう。って言ってたし今は我慢
固定項目
TODO
物欲
できごと
コロナ週間
コロナ
- 7/18 微熱が続く 36.7度程度。横になっていればまぁ・・・だが起き上がるとしんどい
- 7/19 37〜38度程度の熱が続く。頭痛と気持ち悪さが続く
- 7/20 37〜38度程度の熱が続く。頭痛と気持ち悪さが続く
- 7/21 37度程度の熱が続く。頭痛と気持ち悪さが少し和らぐがやっぱり万全ではない
- みたいなのがずっと続いていた
初動でワクチンの副反応かと思って検査を受けなかったのが失敗だった。多分これはコロナだろうなぁ・・・
固定項目
TODO
物欲
tl;dr
- proxmox前提
- lxc-unprivilegedコンテナでOK
- 内部的には、mirakurun+epgstationのdockerコンテナで立てるのが一番楽。
やること1
- 以下の lxc.* の設定を追記する必要がある。(これはproxmoxの設定ファイルなので純粋なlxcの場合は多分そのまま使えない)
- 場所は /etc/pve/lxc/CTID.cfg (CTID=コンテナID。 100とか101とか数字のやつ。)
1
2
3
4
5
6
|
features: fuse=1,mknod=1,mount=nfs;cifs,nesting=1
lxc.cgroup.devices.allow: c 212:* rwm
lxc.cgroup.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir
lxc.mount.entry: /dev/bus/usb dev/bus/usb none bind,optional,create=dir
|
やること2 dockerのfsドライバを変更
- これはLXCコンテナ内の話
- dockerを入れたら、overlayfsが使えないというエラーが出るはずなので、
apt install fuse-overlayfs する。
- /etc/docker/daemon.json に以下を追記
1
2
3
|
{
"storage-driver": "fuse-overlayfs"
}
|
- これはやらなくても動くっぽい。
- あとからやると、dockerのキャッシュ類がすべて見えなくなるので、
docker system prune を実行する必要がある。
やること3 udev
- これはproxmoxホストでやること
- 必要なPCカードリーダー、チューナーデバイスはLXCコンテナ内では権限がないので使えない。
- PCカードリーダーは /dev/bus/usb 以下のどこかにデバイスファイルがある。
- チューナーは /dev/dvb/adapterN だったり /dev/pt3video だったり。
- 何はともあれ、デバイスファイルの権限はudevが決定している。
- ということで、udevのルールを追加して、PCカードリーダーとチューナーは誰でも使ってOKということにする。
- cat /etc/udev/rules.d/99-smartcard.rules
1
2
3
4
5
6
7
8
|
# smartcard reader
# Gemalt
SUBSYSTEM=="usb", ATTRS{idVendor}=="08e6", ATTRS{idProduct}=="3437", GROUP="video", MODE="0666"
# NTT SCR3310
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e6", ATTRS{idProduct}=="511a", GROUP="video", MODE="0666"
# MyGica S270 (siano chip)
SUBSYSTEM=="dvb", ATTRS{idVendor}=="187f", ATTRS{idProduct}=="0600", GROUP="video", MODE="0666"
|
- idVendor, idProductはlsusbで調べられる。 GROUP=videoは特に意味がない。videoグループに属するユーザーのみ使えるようにしたかったができなかった。
- グループを変えておくと、udevルールが反映されたかどうか判別しやすいので変えたままにしている。
- 結局、unprivilegedなLXCコンテナはホストからみたときnobodyでしかないのでここまで権限を緩くしないと使えない。
- (もちろん、さらにlxcで制限を食らうわけだ。←やること1で解決済み)
1
2
3
4
5
6
7
8
9
|
root@proxmox:~# ls -l /dev/dvb/
total 0
drwxr-xr-x 2 root root 100 Jun 12 01:38 adapter0
drwxr-xr-x 2 root root 100 Jun 12 01:38 adapter1
root@proxmox:~# ls -l /dev/dvb/adapter0/
total 0
crw-rw-rw- 1 root video 212, 0 Jun 12 01:38 demux0
crw-rw-rw- 1 root video 212, 1 Jun 12 01:38 dvr0
crw-rw-rw- 1 root video 212, 2 Jun 12 01:38 frontend0
|
やったこと4: docker-compose.yml
- mirakurunは内部で nice コマンドを呼ぶ。そのため権限が必要…
- unprivilegedなlxcコンテナ内で renice, ionice コマンドは使えない。
- なのでdocker-compose.yml内で、同コマンドを上書きして何もしないようにしている。(nop.sh は中身が空で実行権限がついている。)
1
2
3
4
5
6
7
|
volumes:
- ./mirakurun/conf:/app-config
- ./mirakurun/data:/app-data
- ./mirakurun/dvbv5_channels_isdbt.conf:/dvbv5_channels_isdbt.conf:ro
- ./mirakurun/dvbv5_channels_isdbs.conf:/dvbv5_channels_isdbs.conf:ro
- ./mirakurun/nop.sh:/usr/bin/renice:ro
- ./mirakurun/nop.sh:/usr/bin/ionice:ro
|
まとめ
- なんだかんだで一度動いてしまえばちゃんと動きます。
蛇足
mirakcのTSDサーバーについて。という項目にある socatを使って pcscサーバーとb25サーバーのコンテナを分けるというの 美しいなと思ったんだけど動かない。不思議なことに動かない。 で、結局mirakurunコンテナにチューナーもpcカードリーダーも見せちゃったらあっけなく解決した。 うーん。ちょっと不満はあるけれども仕方ない。