2020-05-05 にっき
OBSとv4l2のデバイスに出力するための設定をした、とりあえずここ見ながら進める
# pacman -S obs-studio % yay -S obs-v4l2sink
v4l2のデバイス作って
# modprobe v4l2loopback video_nr=10 card_label="OBS Cam"
OBSのツールからv4l2sinkを選び /dev/video10
へ出力する設定を行う、とりあえずzoomに出すことは出来た
設定画面でx264のソフトウェアエンコードになっている部分で、出力をGPUレンダリングしようとするとビデオドライバが最新のものか確認するよう言われる。 amdgpuのドライバ入れてなかったかもなと思っていれる、ここを参考にする。
あれこれ、こないだやったときドライバ入ってなかたのでは...いれる
# pacman -S xf86-video-amdgpu libva-mesa-driver
これでハードウェアエンコードはうまくいったよう
あとはC920のウェブカムの入力をH.264かMJPEGにしたい
l4v2ctl --list-formats-ext
するとこうでる
ioctl: VIDIOC_ENUM_FMT Type: Video Capture [0]: 'YUYV' (YUYV 4:2:2) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x90 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x120 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 176x144 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x180 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 352x288 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 432x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 640x360 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x448 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x600 Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 864x480 Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 960x720 Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1024x576 Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1600x896 Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.200s (5.000 fps) Size: Discrete 2304x1296 Interval: Discrete 0.500s (2.000 fps) Size: Discrete 2304x1536 Interval: Discrete 0.500s (2.000 fps) [1]: 'H264' (H.264, compressed) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x90 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x120 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 176x144 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x180 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 352x288 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 432x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 640x360 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x448 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x600 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 864x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 960x720 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1024x576 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1600x896 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) [2]: 'MJPG' (Motion-JPEG, compressed) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x90 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 160x120 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 176x144 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x180 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 352x288 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 432x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 640x360 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x448 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 800x600 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 864x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 960x720 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1024x576 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1600x896 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.042s (24.000 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps)
OBSの設定で入力ソースのとこをYUYVにしてるとFull HDのfpsがかなり限界な感じだったので映像フォーマットをEmulatedって付いてる方に切り替えてみた、すると高fps出る。
We actually use libv4l2 to automatically decode MJPEG and H264, they are listed as "Emulated" formats (confusing, yes). Not sure about the quality, though. https://obsproject.com/mantis/view.php?id=321
初見殺し感あるが動いたのでよし
これでOBSから映像をzoomに出せるようになったのでやりたい放題だ
こないだのavatarifyリベンジでpytorchをしらべていた
% yay -S rocm-opencl-runtime
雑な理解だけど↑入れてrocmの環境を整えてavatarifyの使うPyTorchをこっちに切り替えればよい?
コンパイルが終わらないので寝
手軽にいけるかとおもったけどだめで、yak shavingが楽しくて道を外れた感じがする
2020-05-04 にっき
結婚6年め突入、もう少ししたら交際12年目になる
今日は家事をたくさんやっていた
レビューが来ていたので更新した、 module_function
は def self?.
で書けるのをすっかり忘れていた
昨日GitHub ActionsのPull Requestだしたときに on
に pull_request
が抜けていたことに気づいて、足した
gongoさんとTwitterでやりとりした
@hanachin_ GitHub Actions 初心者なので確認なのですが、あの PR って TravisCI からの乗り換えのための準備みたいな認識で ok ですか? (乗り換え自体は問題ないと思います! )
— Wataru MIYAGUNI (@gongoZ) May 4, 2020
Minecraftをやりはじめた
今日は家の周りを探索して海底神殿があるのと隣の島に豚と羊がいるのを発見した
2020/05/03 にっき
雑英語でも英語で書いとくと違う言語圏の人に届くのちょっとうれしい
しらべ物をしていた
子にベルトコンベアを作った、とてもよろこんでいる
Pull Requestをいくつか出した(出しすぎたかもしれない...)
github.com github.com github.com github.com github.com github.com
2020-04-30 にっき
にっきのタイトルをISO8601にしたぞ
これのJSONのところの名前埋めた
職人の手による温かみのある手書きでございます。
他清掃活動
ruby-jpで紹介されていたライブラリ、型がついたよう。すごい。
ライブラリのメソッドを全部使うわけでもないだろうし使っているところだけ型付けていくのがいいんだろうなあ
私はなんかいきなりドカンと頑張る感じでエターナルことが多いので、こういうアプローチで自分のライブラリに型つけていくの見るといいなあと思う
なんか睡眠タイミングをずるずるおくらせてしまっているせいで日中のパフォーマンスが落ちている気がするので今日からは早くねたい
残っていた小鶴のレモンサワ飲んでる
めっちゃ見たことある絵柄だと思ったら作者の人の他のシリーズのスタンプもっていた
花粉症です!を伝える、
— ゆう (@itsukiyu_yu) 2020年3月23日
Tシャツ&トートをつくりました!
🧸Tシャツ(S / M / L / XL)🧸https://t.co/QghI4aTS3d
🐰トートバッグ🐰https://t.co/5rsPCifLCV
通販限定のグッズです!
※4月末までの販売となります pic.twitter.com/LXLxamCl11
JavaScriptむずかちー
2020/04/29 にっき
子どもに「あれは基地局の鉄塔」と教えこんだら高圧線の鉄塔と基地局の鉄塔を区別して「基地局の鉄塔」と呼ぶようになったが実際に基地局なのかどうか鉄塔まで確認しに行っていなかったので確認してきた。基地局の鉄塔だった。ちょっと高いところにある鉄塔まで急傾斜の道を登ったのですごく疲れてしまって帰宅してからゴロゴロタイムをたっぷりとったら今日が終わりそうになっていた。満たされた一日だった。
朝ごはんにマフィンを作ろうと思いたったが前回作ったとき一つの丸セルクルを直列に稼働して清掃の手間などもあり時間が2倍以上かかったのを思い出しまずは近所のスーパーでもう1つ丸セルクルを購入した。スーパーマーケットの菓子用品は噂通り品切れていた。こないだマフィンにベーコンエッグを挟んだ歳は調味料を掛け忘れて素材の味を楽しんでしまったので今日はしっかりと掛ける調味料を選んだ。妻は魚卵が苦手なので妻の分はマヨネーズ、私は明太マヨネーズ、マヨネーズを料理に使うことはあまりないのでもちろん2つとも賞味期限は切れている、マヨネーズの他にもとかしたチーズを載せたがこれもおいしかった。
昨日ベルトコンベアーの動画を子に見せたらすごくハマっていたので今日も何かしらの機械の動画を見せたくなり今朝は圧搾機の動画を一緒にみていた。手作りで菜種を絞って油を作る工程、面白かった。
子とチャパティを作ったつもりがうまく膨らまないのはなぜなのか、何かしらのコツがいりそうだけどつかめていない。全粒粉に襖がいっぱい入っていたり伸ばす行程で何度も往復しているせいでガスが抜けきってしまっているのだろうか。チャパティを焼いたのはカレーを食すためでメインの具材は冷凍骨抜き無塩サバ、今回野菜に関しては保存がきくものしか入れておらずミツカンの乾燥玉ねぎ、スーパーでうっていた乾燥スライスにんにく、切り干し大根を刻んだものを熱湯で戻して使った、食感は悪くなかった。スパイスと玉ねぎと切り干し大根を米油で炒めたのちパックのカットトマトを入れてその横でサバを焼き両者いい感じになったらマージした。スパイスは負けサバが勝ち部屋はサバの匂いで包まれた。チャパティで挟んだところおいしかった。小麦粉だけで作れるし無発酵だし子も一緒に作れるのでチャパティは便利、また一緒に作りたい。
ヘッドホンが断線したのか聞こえづらくなったので新しいものを買ってみた、近所のスーパーや量販店は軒並み閉店が20時になっていて20時以降に出歩くと寂れつつある都市に住んでいる気持ちになる。ゾンビ映画でゾンビ以前の暮らしをゾンビと一緒にしている人が出ることがあるがあれが出来るのは周りの人がゾンビになっても対して周りが変わらないから、というのがあるんだろう、総じて田舎だよなあと考えていた。リモートで同僚氏が美容パックをしていたので買ってみた。こうやって買うのはいいが毎回使い切る前に冷蔵庫の中に骨を埋めてしまう。習慣化は難しい。
毎日2000文字ぐらい書くのをKPIにブログを頑張るというのはどうか、あまり何も考えずに頭のダンプ入力し続けて10分で1000文字ぐらいで入力できるものとして20分は掛かる計算になる。無理そう。
子がヘッドホンをぬきさしし続ける限りヘッドホンが断線するだろうしどうしようかなあ。こないだも話している途中に抜かれてなにもわからない状態になった。無線のヘッドホン今はWH-CH400を使っているんだけどzoomとかしているときに話がワンテンポずれてしまう気がしている。 しかしそもそもpingがまあまあ高いのでヘッドホンのせいというわけでもないかもしれない。
このヘッドホンはAACしか対応していないので買い替え先のヘッドホンはaptXかaptX LLに対応しているものが選択肢になる。 そもそもLinuxでの対応状況はどうなのかを調べるとArch LinuxであればAURから必要なモジュールが手に入れられるらしい。
ここでaptX LLについて触れられているが今の所対応予定はなさそう
そもそも専用ハードウェアが必要らしい
WH-CH400は耳周りのパッドがボロボロになってきたからパッドを変えるとまだ使えるけど、といった感じ
新しいのをかったらスマホ用にできるだろうし、家で使う用の何かを検討していきたい
今日はこのあとシャワー浴びてからJSONの型少し書こうと思う
2020/04/28 にっき
モニターアームをポチってみた
椅子かうか〜
2020/04/27 にっき
dev.toのソースコードを眺めていたけど、あれはやっぱ速度のためにキャッシュしているんだろうなあ
キャッシュせずになんかいい感じにしようとするとpolymorphicのpreloadという話になると思う
polymorphicの先の先ぐらいまでpreloadしようとするとActiveRecord::Associations::Preloader
を使ったり
このPRはいったRails 6まであげたり github.com
activerecord-belongs_to_if
を使ったり、ということになりそう
polymorphic、たぶん好きな人ごく一部で全然ツイートしている人がいない
自分は前どうしてたっけ、前にやった趣味のネタ的なやつではJSONカラムで入れてi18nした文字列をSQLで組み立ててunionしてガッチャンコみたいな謎の技術をしていた
会社では ar_sync
を使っていて、これはなんかpreloadしやすいような気を利かせた仕組みが1つあり、いい
カード会社へ転職の連絡をした
学生時代に作ったカードの利用額が低いので引き上げる依頼をした
なんか送金限度額とかそのあたりも低いのであげておこうかな、何かあったときのために
昨日のruby-signatureでよくわからんかったのわかったかも
return typeのところにunionかいてたからそこ共変だか反変だかじゃないから合わないっておこられてたんだなあ
なんかでもほかも色々問題がある気がする
assert_send_type
でネームスペースついたクラス返すと型あわなくなるとか、そういう
明日やろう