眠い...
* glTF animation
https://github.com/binzume/modelconv
glTFのアニメショーンを試しに使ってみる.
https://github.com/KhronosGroup/glTF/tree/master/specification/2.0/
channel.path が weights のときの説明が少なすぎな気がするけど,meshのmorph targetsの個数だけfloat値を並べれば良いっぽい?mesh の targets が多いと一部しか使ってなくてもデータが巨大になりそう.個数や順番が変わると対応できなさそうなので,アニメーションのみを入れたglTFと複数のglTFモデルを組み合わせて使うみたいなのは考慮してないっぽい.TRSだけであれば,ノードさえ識別できればアニメーション再生できるし,THREE.jsの実装もノード名で紐付けるようになってるのだけど.
glTFの morph target,識別子的や名前が無くて配列のインデックスでしか参照できないのでプログラムからもコントロールしにくい.いまのところは,extras オブジェクトに名前のリストを入れたりするしかないみたいだけど,ツール間の互換性は保証できないのが残念.VRMを見てもエクステンションで独自のBlendShape情報を持ってたりするので,標準で入れてほしい.何もしないanimation channelを作れるならエクステンションで処理するためのチャンネル作れるのだけどtarget必須だった.
* WSL2
WSL1はここ2年くらいあまり更新されてなくてDockerも18.06.1までしか動かないし,WSL2に移行する.プロセスの起動が遅くなったりしないか気になったけど,最初だけ数秒かかる以外はWSL2のほうが若干速いくらい?ただ,Windows側からは実行中のプロセスも見えなくなってしまうし,もうWindows Subsystemらしさは無くなってしまった.
ほぼ普通のLinuxになったと思ったけど,systemdが動いてなかったりするのは相変わらず.今まで.bashrcで色々起動していたけど,fstab経由でコマンド実行する方法があるのか.シェルを経由しないでwslコマンドから直接実行する場合にも起動されるので便利.
https://qiita.com/amenoyoya/items/41a2334cbc1facb87864
Windowsの named pipe も domain socket として見えたりしないのかと思ったけど,だめっぽいので pageant とか使いたいならソケットをリレーする必要がありそう.
やっぱり最初の起動時間少し気になるので,単純なシェルスクリプト実行したりするためにWindows側にはBusyBox入れておく.WSL1の環境も残すかMSYS2とか入れても良かったけど,BusyBoxで十分そう.
WSL2でVisual Studio使うためにSSHの設定したけどなぜか公開鍵で認証できない...もしかして,ed25519鍵が使えない?
https://docs.microsoft.com/ja-jp/cpp/linux/connect-to-your-remote-linux-computer?view=msvc-160#supported-ssh-algorithms
最近のVisual Studio,プロジェクトごとに.vs
ディレクトリを作って色々保存するみたいだけど,サイズがどんどん大きくなるのも困る.
眠い.今日は仕事が休みなので寝る.
*USB PD
そういえば,USBで240Wまで給電できるようになりそうだけど,2003年頃の日記を見返すと,USB3.0あたりで500Wまで電力供給できるようにするべきだと書いていて,それに少しずつ近づいている.
ただ,当時Type-Aコネクタ見て500Wくらいまでいけそうだと思ったのだけど,Type-Cコネクタ見ると難しそうに見えるな…….
そもそもは,なんの手順も無しにAC100Vで大電力が取り出せる穴が部屋にあって各機器が好き勝手に使うの原始的すぎなので,電力周りはもう少し21世紀っぽくなってほしい.USBあたりがそのへんも改善してくれると期待したけど,思ったのとは少し違う方向に進んでる気がする.
docker-genでホスト環境のNginxを設定するためのテンプレートを整理するなどした.VPSもNginxだけDockerの外で動いてて似たような構成なので同じテンプレートで設定を生成するようにしておく.
https://github.com/binzume/nginx-conf-gen
昨日,SSDやHDDを並べて見ていたら,結構大きなDRAMやフラッシュメモリが載っていたので,調べてみるとCPUもそこそこのスペックのARMが使われたりするっぽい.SSDの基板上でLinux実行したりして遊べそうだと思ったけど,ありがちな遊びなのか,すでにやってる人がいた.
https://spritesmods.com/?art=hddhack
以前,ブロードバンドルータにLinux移植したりして遊んでたけど,最近はネットワーク機器にLinux入ってるの普通になってしまったし,10年後くらいにはSSDとかのファームウェアもLinuxベースになってたりしないかな.
とても眠い.
先週の続き.不要なディスクの中身を消す.IDEをUSBでつなぐアダプタがUSB2.0のやつしか持ってなかったので遅い.1TBのディスクは7時間かかった…….
不要になったドライブ,HDDが13台とSSDが3台.約9TB.
使ってるときも気になったけど,やっぱりMaxtorとWDのHDDやたら発熱するな...
SSDはATAのSecure Eraseに対応していたので消すのは簡単だった.やりかた調べると対応しているツールの紹介たくさんヒットするけど,どれが良いかわからないし怪しげなものは入れたくないなと思っていたら,何も入れなくてもLinuxとかに標準で入ってるhdparmコマンドで可能だった.
Silicon PowerのSSD,同じ型番なのに挙動が微妙に違うやつあるのだけど,やっぱりファームウェアも別物っぽい.消すついでにATAのマスターパスワード確認しようと思ったけど,古いやつは分かったけど,他のはパスワード分からないな.
先週,OSとかを除いて中身は別のSSDにコピーしたけど,2TBのSSDに余裕で全部収まった.似たようなVMディスクのイメージとか,似たような中身のtar.gzとかたくさんあるので,実質100GBもないような気がする.
今は,バックアップ先もSSDにしてるけど,SSDのデータの保持期間を気にしてHDD使ってる人も多そう?
感覚的にはSSDメーカーが公表しているTBWや保持期間ほとんど当てにならないし,どうせある確率で壊れたり消えたりする前提で使うので保証値じゃなくて期待値をスペックに書いて欲しい.
個人で使う場合には無視するだけで良いけど,仕事とかでSSD大量に使うときにスペックを元に見積もると非現実的なことになって面倒そうなイメージ.
そういえば,今の会社に転職して今日で3年なのか.そろそろ3年経つ気がしてたけど,言われて気づいた.
風邪っぽいので寝ていた.寝る前に体温計ったら微熱だったけど,このご時勢で熱があるの嫌だな.
もう使ってないHDDやSSDが増えてきたので,捨てる前に中身を確認して消さないと……と思いつつずっと放置しているので,どうにかする.
とりあえず,SATAやUSBで接続できるやつは全部消した.最初,フリーの消去ツール使っていたけど,なぜか一度に1台しか消去できないので,単にddコマンドでディスク全体を上書くことにする.2時間くらいかかるので一台ずつだといつまで経っても終わらない.
先日までNAS代わりにしてた環境も消したので1TBのSSDが2つ余った.
HDDは簡単に消去できるけど,SSDは外部から見えてない領域あるのでちゃんと消去するのは面倒そう.一応消去するためのツールを提供してくれてるメーカー多いみたいだけど.
2004年以降に使ったHDD,ほとんどまだ手元にあった.改めて数えたら12台.1TBのディスクが多いなと思ったけど,2010年頃からHDDもSSDもずっと1TBのやつをメインに使ってるのか.中途半端なサイズのやつは全部PC買ったときに付いてきたやつだった.あと,何に使ってたのかわからないATA接続のHDDとかも出てきたけど,接続するためのアダプタが足りなくて時間かかりそうなのでまた後日に.
docker-gen用のテンプレートを色々書いたりする日.
Goのtext/template,便利だけど四則演算や文字列の結合すら標準では無いので,アプリケーションごとに勝手が違うのにいつも困る.sprintfや比較は標準でできるので,テンプレート内に無理やりな処理を書きがち.
重水が甘いという話,都市伝説だと思ってたけど実際に甘かったのか.
https://www.chem-station.com/blog/2021/04/sweetwater.html
一瞬,家庭で手軽に水道水から重水を精製できる手段ないか探したけど,電気代かかりそうだし手間を省こうとすると重水以外が濃縮されそうなので無理っぽいな.明らかに買ったほうが安くて手っ取り早い.
休みが終わってしまう.
* NAS
昨日の続き.
新しく買ったSSDを挿して,古い環境のSSDをUSBでつないで転送.150~200MB/sくらいでるのですぐ終わる.NVMeのSSDはDockerコンテナ置き場にしておく.
NVMeのSSDにSynologyのNASのシステムであるDSMを入れてもSATAのディスクが無いと起動しないのが釈然としないので,起動処理を見てみる./dev/synoboot1
がNASに組み込まれたフラッシュメモリ上の EFI System Partition だった./dev/synoboot2
にあるカーネルとinitrdのイメージ内のスクリプトでsata1p1とsata2p1をRAID1のmd0に追加してるっぽい.
変更できそうだけど,色々めんどうくさそうなのでひとまず放置.ファームウェア書き換えなくても,NASセットアップ中にHTTPからtelnetd起動することができる夢を見た気がするけど,だめっぽいな.
あと,synopartition でパーティション作ると,DSMをインストールする領域が確保されるけど,起動に使わないなら無意味なので縮小してしまってもよさそう.
* DS720+ に Docker を入れて色々動かす
何も考えずにパッケージセンターからDockerを選ぶ.クリックするだけだった.
インストール先はvolume1固定っぽい.M.2スロットに挿したSSDをvolume1にしてるけど,構成を変更するときに少し面倒くさそう.
Docker Hubのイメージも簡単に使えるので便利.Docker Hubを経由せずに自分でビルドしたイメージ使う場合,ブラウザからアップロードできるけど,面倒なのでNAS上でdocker buildしてしまうことに.普通にdockerコマンドでイメージやコンテナ作ってもWebのUIと不整合起きたりはしないっぽい.
このWeb UI便利だけど,無駄にがんばりすぎな気が...
Docker入れたら,termdというプロセスが起動してネットワーク越しにWebSocketで色々できそうに見えるのだけど,安全なのかなこれ...
ひとまず,今までNAS代わりにしてた環境から色々もってきて,一通り使えそうになった.コンテナ起動時に共有フォルダ名でボリュームを選択できて便利,と思ったけど共有フォルダの設定変わると普通に起動しなくなるので,コンテナにストレージの一覧渡したり,設定変更時にrestartしたいのだけど,簡単にはできなさそう?
あと,最初から80番ポートがnginxに使われてるので,docker-genでコンテナが変更されたらnginxの設定を書き換えるようにしておく.nginxの設定をコンテナ内からreloadするために--pid=host
で起動してるのが気持ち悪いけど.
NASを買ってみた.ysaotomeにSynologyを勧められたので,DS720+に.
SSDを挿すつもりだったので,2.5インチのにしようかと思ったけど,コンパクトなやつはメモリが多いモデル無いっぽい.Dockerとかを簡単にインストールできるみたいなので遊びたい欲が出てしまった.
* Synology DS720+ で NVMe SSD をボリュームとして追加する
NASのシステムはDISK1にインストールされるのか.SATA接続の余ってるSSDがない...SATAからしか起動できないっぽいので素直にSSD注文しつつ,一旦昔のHDDを発掘して挿しておく.HDDとか久しぶりに触った.
NASの裏にM.2スロットが2つあるのだけど,説明を読むとキャッシュ専用のように見える..試しに,SSDを挿してSSHで入ると/dev/nvme0として認識されてるので,普通にフォーマットすればマウントはできる.NASのUIにボリュームとして出てこないので,mdデバイス作って追加してみたりしてもだめで,どうやら synopartition
コマンドででパーティションを作る必要があったっぽい.
https://www.reddit.com/r/synology/comments/a7o44l/guide_use_nvme_ssd_as_storage_volume_instead_of/
とりあえず,パーティション作り直したら表示されてNAS上から共有フォルダとかも作れた.
起動もNVMeからにしたいけどbootloaderにアクセスするのが面倒そうなのでそのうち.
QNAP TS-231P3でも良いかなと思ったけど,載ってるAL-314はCortex-A15みたいで,ARMなのは良いとしても32bitなのは遊びにくそうだった.
Goでちょっとしたツールを書くときも細かくパッケージ分けたい気持ちあったけど,Go Modules入ってから相対パスでimportできなくなたのでmainパッケージに全部入れがちだな...
晴れた.
15年前に植えた梨の木もだいぶ育った.
親子丼を作ったときに余ったミツバを植えたやつも順調に繁殖している.
今日も雨...
魚探.
雨の中おでんを煮ていた気がする.
昨日寝るときやたら寒かったので,ダイソーで銀色のマット買ってきて敷いて寝る.快適.
雨.そして寒い.
雨の中肉を焼いていた.