Zinnia hacks tomorrow. (2021/6)

2021/06/02 (Wed)

_ 6月になった。


= 配信のはなし

_ 環境構築の様子を録画して動画化をしようとしている。前回は20分弱の 軽いものだったので今回は少し長目に録画してみた。 やってみた結果この環境 (VAIO Duo 11) では荷が重そうであるということが よくわかった。VSCode入れて、FireFoxで検索して、aptで何かを入れたり ビルドしたり…というあたりでだいぶ動作が重くなってくる。メモリが 足りていないようだ。ただ足りないというだけでなく、いろんなプロセスが やたらとメモリを要求しているようにも見える… VSCodeや Electronのアプリが32GBとか冗談のような 量のメモリを確保していたり

_ 録画を確認してみると、音声も途切れがちで、動画も0.1fpsくらいになることが 多くてまったく話にならない。最終的には操作不能になってOBSが落ちた。 落ちたのはおそらくOOM Killerによるものだと思われる

_ 録画だけでこの騒ぎなのだから、この上で配信などしようと思ってもまずむりだろう。 他の環境を考えないとだめかーせっかくVAIO Duo 11のよい活躍の場が見つかったと 思ったのだが〜

_ VSCodeや他のElectronのアプリが数十GBのメモリを要求するというのは dynabookに入れているUbuntuでもおなじだった。Windows環境だとそこまで ひどくはないし、なんなんだろう。もちろんdynabookもそんなにメモリを搭載している わけではないが、操作不能になるほど重くなるということもない。ようわからん


= EMV Contactlessつづき

_ カスミでもContactlessが使えそうだったので試してみたのだが、かざしても うまく使えないようで2回エラー→店員さん操作、が入ってしまい面倒になって Contactの方で済ませてしまった。セブンイレブンでももう一度かざせ的な メッセージが出ることがあるし、かざしかたが悪いのかカードが悪いのか…


= 左足 165日目

_ ジョンがいる間はけっこう長目の散歩をしたり、少し駆け足になったりしたことも あったが痛みが悪化することはあまりなかった。まったく痛くならないという わけでもないのだけど、それが2日3日と継続することはなさそう…というような感じ。 まだまだ油断はできんが、できないことが少しずつできるようになっている ということは回復の道を進んでいると考えてよいのだろう


_ ジョンに噛まれた後くらいから ちょっと熱っぽかったり腹の調子が悪かったりしている。ジョンに噛まれたことが 原因ではないが、タイミングとしてはそのくらいからだ


= ありがたい新素材のはなし

_ スタンドに立てかけていた VAIO Duo 11の下に水滴?がこぼれていることに昨日気付き、先程見たら ちょっとした水溜まりになっていた。水というよりはもっとベタベタしたもので、 つまり液晶とタッチパネル間に充填されている 樹脂が劣化しきって 見た目が改善し、そしてその後立てかけるように したので流れ出てきてうわあああああ書きながら冷静さを保つことが難しくなった。

_ べたべたする上に少し酢っぽい匂いがするので、いわゆるビネガーシンドロームという やつなのかもしれない。 ビネガーシンドロームは伝染性があるので近くの機器にも影響があるかもしれない。 今一番近くにある機器はdynabookだ… 新素材というやつはどこまでも私を苦しめるんだなあ〜、 まさかどろどろになって攻めてくるとは…新素材ハザードだ


= 配信環境のはなし

_ さて能力が不足しているうえに物理的な崩壊がはじまっているVAIO Duo 11のかわりになる 動画配信環境をどうしたもんか… そのために安いPCを買うというのもあまりピンと来ない

_ VAIO T Seriesを使うのが1つめの案か… dynabookをメインで使うようになる 前はずっとこれでUbuntu使っていた。CPUとしてもVAIO Duo 11より少し上 (世代が いっしょで、i7になっている) だし、メモリも12GBに増設しているので そこそこよい。今は事務所でちょっとプログラム書いたり動画見たりという 程度しか使っていないのでちょっともったいない。

_ dynabookを配信環境にして、私用のUbuntu環境は別に整えるというのが 次の案だろうか。こちらは第4世代のi7なので…H265は相変わらずだめらしい。 プライベートでの開発や生活は原則ここで やっている。とくに不満もなく使っているが、ここまで性能よくなくてもいい気が しないでもない。なのでもっと安くてお手軽なPCに乗り換えるのもありかなー という気がしている。こちらはメモリが16GBなのでVAIOよりもさらに性能がよい。

_ 配信用に新しく買うとすると、RasPi4はどうだろう。メモリは8GBまで 積めるし、H264ならハードウェアエンコードもできるらしい。まあ性能として 大満足ということはなさそうだし、SSDを外付けにするとかいろいろ工夫をすると 結局ちょっとしたPCを買うくらいの出費にはなりそうな気がする。



= VAIO T Series

_ ひとまずVAIO T Seriesを配信環境に仕立てなおすのが余計な出費もないし 生活レベルを下げなくても済みそうなのでそうすることにする。 SSDはいくつか余っているものを流用すればよいので 今のWindows環境を潰す必要はないし、これでVAIO Duo 11が空けばそれを 事務所環境にすればよいだろう。ちょうどUbuntuが入っているわけだし… 4GBだとちょっと頼りないけど使えないというほどではないだろう。

_ まっさらから入れなおすか、VAIO Duo 11で構築しているものを移行するか、 どうしようかな。まだたいしたことはしていないし、TAKE 2というつもりで 最初からやりなおしてもいい気がするが、せっかくZFSで構築したのだから まるごと移設してみるというのも悪くない気がする


2021/06/03 (Thu)


= VAIO T Series

_ VAIO Duo 11はRGBとHDMIの端子が 離れて設置されているので両方同時に使うことができるのが美徳というべきで、 そんなことしているからさらに重くなってしまうのかもしれないが、本体の モニタが使えないけどデュアルで表示できるというのは大きな利点だった。 一方VAIO T Seriesは両者がかなり隣接しているので両方つなげることは 物理的にできない。これはふべんだなー

_ まあこの機械はLCDがだめになっているわけではないので そっちを使えばよいのだけど、そうなると机の近くに開いた状態で置かなきゃ いけなくなってしまうためかなりスペースを喰うことになる。


2021/06/04 (Fri)

_ 昨晩からずっと雨らしい。身体がだるい


= VAIO Duo 11

_ 事務所で使っているVAIO T Seriesのかわりとして活躍してもらうことにした。 なので事務所に持ってゆく。Ubuntuの環境を途中まで構築しており、 Windows10に戻してもメモリ4GBでは満足に動かんだろうし、 このままでいいかーと思っている。

_ 新素材は完全に流れ出たわけではなく、中でまだ残っているらしく、 ぷにぷにしている。………。 流出した個所はLCDを起こした状態にするとちょうど 下向きになっているところなので、もうLCDを起こすことはできないだろう

_ そして音が出ない。配信環境を作っていたときは外付けのオーディオインターフェースを 使っていたので気付かなかった。このチップはサポートしていないのか? いろいろ調べてみた限りでは認識できていないわけではないし使えそうな 感じがするのだが、「サウンド」の設定のところを見ると「ダミー出力」というやつしか 出てこない。

_ timidity-daemonがいるとだめらしいという話があって、 ほんとかよと思いながらアンインストールしてみたところたしかに 普通にサウンドデバイスが見えるようになった。……。 あやうく安物のUSBオーディオインターフェースを買い求めるところだった

_ YouTubeなども普通に見られるようになった (CPU任せになってしまっているが) が、 たまに裏にまわっているウインドウが急にraiseしてきたり、 全画面にしていたYouTubeがスクロールをはじめるなどの怪奇現象があって、 つまりぷにぷにになった新素材が揺らぐことによってタッチされたことに なっているのだろう……新素材は私の生活に次々と暗い影を繰り出して くるわけだけど、このままぷにぷにさせていていいのだろうか


= VAIO T Series

_ Ubuntu 21.04を入れた。前回は インストーラのブートなどがあほみたいに遅かったので、焼くときに何か 事故でもあったのだろうか? と思いあらためて焼きなおすことにした。 iso落としてきて、すでにWindowsマシンはなくなっているのでUbuntuで焼くことにした。 braseroというやつを使うらしい。そして焼き終わってから起動したら、 ほら速いじゃないか…と思ったら20.04LTSだった。落としてくるイメージを間違えたらしい

_ あらためて21.04を落としてきて焼く…焼くこと自体にかかる時間が先程の20.04LTSとは ぜんぜん違う。1時間以上かけてようやく終わった。そしてブートが あほみたいに遅いのも変わらなかった。21.04をDVDで起動するといくらなんでも 遅すぎないか?という話を挙げている人はいくらかいたのだけど、とくに 追及する動きになっていないようで原因は分からないままだ。私もとくに 追及するというほどでもないが… インストール自体はとくに問題なく完了した。


2021/06/05 (Sat)


= 今日のぷにぷに

_ とくに本体側LCDを無効にした覚えがないのだが何も表示されていなかった。 バックライトはついているみたいなので表示だけの問題? 日進月歩だなあ〜


= VAIO T Series

_ Duo 11 でやっていた状態までさっさと戻す。OBS Studioは Ubuntu 21.04 is here | Ubuntuなんかを見ると パッケージ入れれば使えそうな記述になっているので試しに パッケージ入れて環境変数設定して起動したところ落ちた。しょうがないので ソースからビルドする。前回はCEF (Chromium Embedded Framework) は省略したが、 今後Browser Sourceを使う可能性が高そうなので今回は入れることにした。

_ 録画ができる環境ができたのでさっそく録画。x264で3000kbpsにすると かなり綺麗な動画になってくれるようだ。そのかわりCPU使用率がすごい。 配信ではないのでちょっとくらいの遅れなら動きのない時間帯でカバーできていそうな 気もしつつ、300%を超える使用率になっているのを見るとちょっとこの 状態で常用するのはむずかしいかもしれないと思った。

_ iBus-skkを入れたタイミングで録画をいっぺん止めて、ハードウェアエンコーディングを 試すことにした。「出力」の基本設定ではx264しか出てこないのだが、 詳細の方だとFFMpeg VAAPがきちんと出てきたので、まずは3000kbpsで試してみた。 初回は録画を始めた直後にOSごと刺さってしまった… 再起動後再度試してみたら 刺さらないまま数十分の録画ができた。そして再生してみたところかなり品質が 悪い。数秒に一回色味がおかしくなり、動きの多い画面(といっても端末で topを動かしているとかその程度なのだけど)ではかなりノイズが乗る。 ブラウザのスクロールなどをするとブラウザだけでなく動画全体がノイズで ガサガサになってしまう。これはちょっと厳しいかもしれない。設定見直せば 改善するのだろうか? 今日はそのあたりをテーマに眺めてゆく予定



= VAAPI実験

_ というほどのことでもないが、いろいろなパラメータで動画とって比較してみた。 OBSの設定値上デフォルトだとCBR(Constant Bitrate)だった。これのビットレートを あれこれ変えてみたり、VBR(Variable Bitrate)や CQP(Constant Quantization Parameter)を試したりした。VBRは上限と下限を 決めるだけなので、上限をおさえている状態だとCBRのときのガサガサ具合が そのまま出てくる。 1080pの30fpsだと動きの激しいときに4000Kbpsでも足りないようだ。

_ CQPは、QP(Quantization Parameter)なる数値の指すものがよくわからんが 小さいほど画質がよく、30に近くなるほど画質が悪くなるらしい。初期値20と、 14を比較してみたところあまり違いがわからんかった。いかにもブロックノイズが 出てますといったような感じはどちらもないが、数〜数十フレーム前の絵が 割込まれてくるというような感じがする。なので画面をぱっと切り替えても 前の画面が点滅しているように見えたり、スクロールもスムーズで流れつつ ガタガタにも見えるようなおかしな状態。避けがたい問題なのかは分からんが 少なくとも4000KbpsのCBRよりはずっと見やすい。 ただあまり小さくならないようだ。

_ 何個かサンプル動画をとったのでShotCutでつなげて比較などをしてみた。 やはりVAIO Duo 11だとメモリが足りないようでちょっとした編集をするだけでも 警告のダイヤログが出てくる。固定ビットレートじゃないとシークのときに 不利だったりするのかしら、と思ったがそうでもない?ように見える。 Iフレームの挿入のしかたなどにもよるのだろうか

_ 最終的な出力を1080pや30fpsにこだわらなければまだ出来ることは あるのかもしれない。ソフトで十分まかなうことができるならx264にしたほうが 事故も少ないかもしれないし… とはいえひとまずCQP:20で様子見しておこうかなと 思う。今のところ良い/悪いの判断も、選択によって発生する影響も さっぱり分かっていないので、制限を増やすよりはしばらく運用してみて 壁にぶつかったほうがいいかなというアプローチだ


= AviUtilの易しい使い方

_ AviUtilを使っていないし使う予定もないが、よく整理されていて便利だ。 AviUtilを使っている人は多いので、こんな感じで編集しているんだーというのを 垣間見ることができるのもありがたい。


= HTMLとsubtitle

_ 先日の話のつづき。 issueをあげていたひとの最終的な結論は、Sync CSS animation and HTML5 <video>だった。 議論の最中はOBSでつくったサブタイトル動画 (ただしアルファはサポートされていないのでカラーキーを使うしかない) を 出力するというものだったが、最終的にはOBS Studioをポストプロセス的に 使うようなソリューションに行き着いたようだ。 そのやりかたは私も考えつかんでもなかった (ただ同期のやりかたなど 試行錯誤の後に出た工夫がたくさんあって、私がその境地に辿りついたかどうかは 大変疑わしい) のだけど、できれば避けたいなーと思っていた。 理由はいくつかあって、ひとつはShotCutでの編集中にサブタイトルなどがまったく プレビューできないという点、もうひとつは、こちらの方が決定的なのだが、 ポストプロセスにかかる時間と容量の問題がある。 もしこの手法を動画全体で1ファイルとして適用しようとすると、 いったん損失の少ない動画として出力しておく必要があるし、 そこにOBSのBrowser Sourceをオーバーレイさせて表示させようとするのであれば、 実際に動画を再生させたものを再度録画する、ということになるので、 レンダリングにかかる時間は作成対象の動画と同じだけかかることになってしまう。 カラーキーを使ったやりかたではアルファブレンディングができないので 万能とは言い難いし、仮にアルファつきの動画をOBSが出せたとしても、 大量の動画クリップに囲まれることになるわけで、これもこれでどう 運用するのが正しいのやら…という感じがする。そもそもサブタイトルや 短かいムービークリップみたいなものをプログラムで作って それを動画化するなんていう欲求がさほど突飛なものとも思えないんだけど

_ 以前もそんな動機でゲームエンジンとかVJツール的なものを 探してみたこともあったが普段こうやっていますみたいなものが見当たらなかった。 なおDan (ShotCut作者) がかわりに使ったら? と挙げているものは、 KritaSynfigPencil2dOpenToonz、 と、Blenderだった (new enveというのは何を指しているのかわからんかった。ShotCutに新しく 収録されたRich Textなどの機能のことを言っているのだろうか)。 なるほどアニメーション作成的なツールという切り口で紹介しているらしい。 私自身はWeb技術に対するこだわりはないが、プログラマブルであることには 執着している (そしてWebなら多少選択肢が多いだろうかと思ったらそうでも なかったという戸惑いがある) ので、ひきつづき探してゆくほかないのだろうけど、 どんな手段を使ったとしてもポストプロセスにかかる時間、 あるいは大量のクリップに囲まれる問題はついてまわるので、 そこも含めてどうにかしなければいけない。

_ そういえばOBS Studioには2D/3DのAPIもあったような… これか。 わりとコンパクトなのでいいかなと思った。シェーダはGLSLではなくてHLSLらしいのが 少々気がかりだが


2021/06/06 (Sun)


= 今日のぷにぷに

_ VAIO Duo 11 のことをぷにぷにと呼んでいるように読めてしまうが別に 愛着も好印象もない… SONY製品というやつは結局のところ どうしても肌に合わないという印象を強化してしまうようなエピソードばかりだ。 彼等が力を入れているところに共感がなく、 彼等がおろそかにしている部分にばかり目が行き、そして最終的に これを買ったのは失敗だったんじゃないのか? みたいな感想に行き着く

_ さてそんな愛すべき(……)ぷにぷにの、 タッチパッドが暴れる問題、樹脂が流れきれば回復するかと思ったが 分解方法などがみあたらない。いろいろ調べているうちに タッチパッド自体を無効化してしまえばいいらしいと気付いた。 うまく信号が流れていないときにまずケーブルを切断して中身を見てしまうような 野蛮な発想をしていたようだ。 XorgならxinputでどうにかするところかもしれないがWaylandだとどうするのだ?

_ gnome - How can I disable touchscreen while using Wayland? - Ask Ubuntuにしたがってデバイス自体を無効にしてしまった。 これで誤作動がなくなって快適になるだろう。なにしろデバイスとして無効に なっているんだからなあ

_ なおこの液晶に関しての記述を見ていると、気泡を生じる→気泡が広がったり 樹脂が流れ出たりしつつタッチが暴発する→樹脂が流れきるとタッチがきかない、 LCD自身にダメージが行くようで最終的には映らなくなる、という末路を辿るらしい。 たしかに手元の機械もまったくその通りの経過を辿っている。 液晶やタッチを使うことはもうないとはいえ、タッチはともかく液晶は 仮に暗くて見づらくてもまったくないよりは役に立つ場面が皆無ではないので、 取り外してしまうのもためらわれる。


= 銀歯

_ ごはんにのりたまをかけて食べていて、なんだか大きくて固いものの存在を感じて、 こんなもんふりかけに入っていたっけ?と思いながら 取り出してみたら銀歯だった。左上奥の銀歯がとれてしまったらしい。なんてことだ


= ノルディックポール

_ ジョンも帰っていったことだし再開。ただ歳の割には治りが遅いくせに いきなり負荷の高いノルディックウォークをするのは無謀だということに ようやく気付いたので、 きちんと段階を追ってやろうぜということで、 もうちょっとディフェンシブなスタイルで再開することにした。歩幅短かめ、重心の真横に置く、 ポールから手を離さない、など。先端部分も普通の杖っぽいカバーに変更。 2組買ったのでこれを使い潰すくらいまではこれでやってくことにする。

_ 試しに40分くらいやってみたところ、杖を間近で突いているわけなので 負荷はわりと分散されているように思う。 それでも足がまったく痛くならない…というわけではない。 というか初める前から痛いので、 これはもう靴の問題のような気がしてきた。大きなダメージが残ることもなく 翌日には痛みもなくなっていたので、これなら大丈夫そうだ。 歩幅が小さくスピードも遅いので運動負荷としてはあまり高くないけど 仕方ないだろう。 上半身も使って歩いているという感覚はあるのでまあこれで頑張ってゆこうと思う。


= Discord

_ 頻繁に「おかえりなさい!」と言われてログインを求められる。マジック葉山かな? 私を見知った者として「おかえりなさい!」と言っているのか、 誰だか分からんからログインを求められているのかどっちなのか… そもそも なんでそんなに頻繁にログインを求めてくるのだろう?不正アクセスを 疑っているのだろうか


= ibus-skk

_ 入力した内容が消えてしまうという症状がある。 条件をきちんと絞り込めているわけではないのだけど、 たとえばOkuRiと入力して「▼送り」の状態で a を入力すると、 「送りあ」となることが期待されるのに対して、 実際には「あ」だけになっており「送り」の部分が消えてしまう。 これを避けるにはOkuRiのあとに CTRL+J をしなければいけない。 送りありだと常に駄目というわけでもない。たとえばOkuriNashiは 期待通り「送りなし」となってくれるし、一方送りなしのものであっても、 直後に句読点や「」などがあると確定したはずのものが消えてしまう。 ただこれChromiumだと問題ないみたい。FirefoxやGnomeのアプリたちは だめなんだけど、先日作ったElectronベースのLauncherでは とくに↑で書いたようなおかしな動きをしていない。


2021/06/07 (Mon)


= ノルディックポール

_ のっけから足がちょっと痛いかも?と思うのは靴のせいかしら?ということで 普段使っているTEVAのサンダルで歩いてみた。結局微妙に痛いのは変わらなかったので、 普段TEVAで歩いているときに感じない痛みを感じるのであればそれはつまり 歩き方のほうに問題があるということだろう。痛みを感じるといっても 四六時中ズキズキするといった種類のものではないし、歩き終わっても 残りつづけるものでもないので、このくらいのペースを守ってやる分には 大丈夫かな?と思う。毎日やったらまた状況が変わるかもしれんが、今の 生活だと毎日やろうと思っても何日か間が開いてしまうような感じなので 丁度いいだろう。

_ なんか左右の感覚が違うなあと思ったら右側のポールの長さが20cmくらい 短かくなっていた。直したところだいぶ突きやすくなった。 ノルディックウォークをしていたときとは杖の使いかたが まったく違うので、地面を突いたときの衝撃や、その反動でポールが振動している 様子などがよくわかる。あまり力を入れすぎると手首やらを痛めてしまうかもしれない



= motion graphics

_ 先日のつづき。 ここで書いたようなCG/VJ的なものはモーショングラフィックス的な ソフトでやる分野なのかなと思う。 かなりにメモした After Effectsとかそういうソフト…After Effectsはモーショングラフィックス 以外にもComposit (ディジタル合成) なんてのを目的として使うこともあるようだ。 NATRONというのは、 似たような守備範囲のソフトに見える。ノードを組みあげていって 目的のものを作ってゆくというあたりがこういったソフトに共通するもので、 それは合理的だとは思うのだけど、一方でこういうところで プログラム言語使わないでどうするという感情が強く出てしまう。

_ コンピュータグラフィックスの世界で利用者が多くて映像作品も作ってるあの Processingではどうやってるの? と軽く調べた限りでは、各フレームごとに 連番のpngファイルを出力させて、あとで連結する、みたいなことを書いてあるところ ばかりだった。んなあほな… とは思うけど、まあファイルを経由するのは ともかくとして結局各フレームのレンダリング結果をどうにかするという アプローチをとらざるを得ないわけで、それならその部分も含めて自分で 書いてしまってもそれまでかなーという気がしてくる。 その場合はアルファチャンネルつきの動画を作ることになるが… AppleのProResというやつの名前がよく出てくる。コンテナはmovになるらしい。 VP9でもできる?らしい。他にはGoPro CineFormというものの名前もよく見る。 これもコンテナはmov? このへんはアルファチャンネルもある codecというよりは劣化を最小限におさえるための中間codecという側面の方が 大きいようだ


= OpenFX

_ NATRONがサポートしているフレームワークらしい。API見る限りでは frei0rに近いものを感じた…けど守備範囲は違うのだろう。 ShotcutはOpenFXには対応していないようだ。


= Frame Server

_ 生成したフレームたちを中間codecで高品位で動画にしたところでいったん動画に 落ちることには違いないわけで、作ってしまえば後の操作が楽ということは あるのかもしれないが、フレームを都度生成できる プログラムを作っているのにいちいちそういうデータを介するというのは やはり間抜けに見える。

_ Shotcutだとフィルタとして実装できたりしないかな…などとぼんやり想像している。 あと、まったく無関係なのかもしれないが動画編集の世界では frameserverという技術が存在するようで、何らかのリクエストを元に フレームのデータが返ってくるみたいなものらしい。Blenderなんかはそれを サポートしているのだそうな… 未だに動画まわりのシステムの世間一般の 全貌が見えていないので関連するかどうかもよくわからない。 というよりこういう悩みを、こういう悩み方で悩むのは私だけなのだろうか…? 私は初手で大きな誤解をして根本的な理解を外してしまい 無駄な時間を過ごすことが得意なので不安だ。 テーマパークの入場待ちをしつつそのテーマパークに関して あれこれ評論して、なぜか入口脇の溜め池に落ちて入場すらできずに去って おきながら、それをテーマパークに対する感想みたいに言いはじめるというような ところがあるので気をつけないといけない


= F#とグラフィックス

_ などとやっているうちに、 Webの技術にもピンと来ないし、それなら自分でしっくりくる環境を 1から作ったほうがいいんじゃないの?という気持になってきた。

_ openFrameworksは.NETで あそんでいる人が見当たらなかった。 一方OpenTKは今でも メンテが続いているように見える。 Awesome F# みたいなリンクを辿ると、他には 2D限定だけどNu Game Engineなんてのもあった。 Altseed2はマルチプラットフォームで polyglotのゲームエンジンらしい。 あとはXamarin.Forms経由で知った SkiaSharpは、 Skiaのbindingらしい。 GDI+使うよりはCairoとかこういうのを使ったほうがいいのかなあ? System.Drawing.Commonというのもあるようだが、 これは古いコードを生かすためのものだろうし


2021/06/08 (Tue)

_ 朝晩はそれなりに気温が下がってくれるが、日中はかなり気温が上がっている。 今日は真夏日になりそうらしい。


= 歯医者

_ 行ってきた。前回は2018年7月なので、 およそ3年ぶりだ。前回は、当時の記述にもある通り現職になってから ずっと行っていた歯医者がどうしても連絡がつかず、いろいろ探して見つけた 別のところで、満足とは程遠いというべきか、いかにこれまでの先生が すばらしかったかを改めて思い知ったので、どうにかこれまで行っていた ところに行きたいもんだ…と思いながら電話してみたら一発でつながり予約がとれた。 先生は決してご高齢というわけではないが、 ひょっとして廃業してしまったのではないかと心配だったがよかった。

_ とれた銀歯を持っていって様子を見ていただき、これならそのままつけなおせる というお話になったので、銀歯を少し加工 (残っていたセメント的なものを 除去したのだろう) した後にあらためてつけてもらった。10分ほどで完了。 AM半休とったがこれなら1時間遅刻くらいで十分対応可能だったかもしれない。 いずれにしても元に戻ってよかった。本当なら検診もしてもらいたいところだったが、 緊急事態宣言中ということもあるのでもう少し落ち着いてからにするか…と考えなおした


2021/06/10 (Thu)


= 初めての拡張機能 - Mozilla | MDN

_ ブラウザ経由でTwitter見ていると、右側に 「What's happening」「Who to follow」「Topics to follow」という 枠が出ており、後ろ2つはともかく「What's happening」が見たくなくて しょうがない。なんかの番組名だとかゲーム名、人名くらいであればよいのだが、 「〜〜(人名)やめろ」とか「自粛要請と給付金はセットが前提」だとか そういう主張?を唐突に見せられても不快なだけだし、 ということで名詞的なもの以外の、単文的なものが目に入ったら 「Not interested in this」をちまちま選ぶようにしていたのだけど、 いっしょに表示される ニュースサイトのヘッドライン的なものにはそういう操作はできないようだし、 そもそも後からどんどん出てくるのできりがない。

_ 私はbookmarkletというやつを世間とは20年遅れくらいで修得したので、 それで隠すようにしようかしら…と思ったけど、bookmarkletはbookmarkを選ぶ (クリックする) という操作が入るので、今回の用途ではあまりうれしくない。 ということは、拡張機能というやつを使うのかな…?と表題のページを 見てみたところ思ったよりシンプルな作りだったので試しに作ってみた。 テストのしかたが悪いのか、黙って(どこにもログが出ずに) 失敗することが 多い。失敗の中にはスペルミスとか単純なものもあるし、 文法としてなんか新しめのものが使えてない感じ (ひどい表現) のもありそう。 いろいろ苦労したが期待する動きができるようになった。

_ 開発中は about:debugging でよいとして、これだと再起動するたびに入れなおしに なってしまうのでxpiを作りたい。署名なしのインストールは特定の バージョンでしかできないらしく、かつ設定変更が必要らしい。普段は 署名なしインストールを許したくはないし、署名が必要ならすればいいか…と 思ったら Signing and distribution overview | Firefox Extension WorkshopによるとどうやらAMOに 署名をしてもらう以外の方法はないようだ。自分で作ったCAで署名するのは だめなのか…とたんに面倒になった


2021/06/13 (Sun)


= VAIO Duo 11

_ ぷにぷに問題はひと段落して、事務所で使い続けているが、 Firefoxを動かしつつVSCodeを動かすと操作不能になるくらい重くなる。 --disable-extensions をつけても、起動直後に36.4GB (Virtual Memory)のプロセスが 2つ立ち上がったり。heaptrackというのでヒープの確保状況を 監視できるようなのだが、Electronは中で別のプロセスをたくさん上げるようで、 その中の2つがやたらメモリを食っているという感じなので、 うまいこと仕掛ける方法が思いつかない。 core dumpさせてgdbで追いかけるか…と思ったが36GBのcoreというのもあれだろう… そもそもgdbでヒープを追いかける方法を知らない。 考えてみるとこの手のデバッグ作業はwindbgとSOS.dll を使った CLRのヒープデバッグくらいしかしたことがなかった。

_ VScodeがないと開発できんというほどではないがあったほうがいいし、 事務所での自習がスムーズにいかないと進捗に影響がある。 Chromium内のProcess explorerではせいぜい0.5GBくらいしか出てこないので、 その外側の問題ということだろう。操作不能になるほど重くなることがなければ 単に表示上の問題だろうということで無視できんこともないがVAIO Duo 11 では 実害が出ているように見えるからなあ

_ たまに固まるのをごまかしながら使い続けてみたが、 OOM KillerにFirefoxとVSCodeの両方をkillされてしまった。 さすがにこの環境はストレスだな… それにしても4GBではもうまともに 動かない時代なのだろうか?軽いdistributionを探したとしても、 中で動かすアプリが重ければ結局同じことだしなあ

_ なお音が出ない問題は再起動したら再現してしまい、 "Dummy Output" No sound in Ubuntu 16.04 - Ask Ubuntuを参考に、 pulseaudio -k と、 sudo alsa force-reload をしたら治った。 timidity-daemon消したら治ったように見えたのは、pulseaudioとalsaのreloadに 相当する処理をしていたからなのかもしれん


= OpenTK

_ 録画しながら様子を見てみた。 LearnOpenTKに記述されている コードは古いようで読みかえがかなり必要。まあGitHubに上がっているほうは 最新に近いようなのでそちらを見れば済むとも言えるが… F#でクラスを書いたりいじったりしたことがないのでかなり戸惑った。

_ 録画の設定として、CQP:QP20 の10fpsでやってみた。TEAMSの録画が全体的に 綺麗にとれているしあまりでかくない (1時間で200MB前後) ので設定を 見てみたところ、まずフレームレートがかなり低かった。 8fpsらしい。あとはまあ、額縁がついているというのもあるかもしれない。 左右はブランクだし、下には参加者のアイコンがあったりするので 表示面積としては少し小さい。そんなことがあって400Kbps弱くらい?で 録画できているらしい。テキストもクリアだしよいと思う。 一方QP20の10fpsでやってみた結果は… スクロールのざらつきなどは ないので見やすいとは思うけど、ちょっと文字まわりに劣化が見られるような。 モスキートノイズが見える。ちらちらするわけではないので著しく 見づらいというわけではないが、オリジナルのままのくっきりした 輪郭だとまでは言えないような悩ましい感じ


= 接触確認アプリCOCOAからの教訓|情報処理学会・学会誌「情報処理」|note

_ 内閣官房 政府CIO 補佐官の楠正憲氏がCOCOAのごたごたについて記述している。 非常に貴重な記述の集まりだと思う。Exposure Notification APIを採用するかどうかで 揺れていた時期の記述はとても臨場感がある…のに対して、 個人的に最も興味があった「なぜCovid19Radarを採用したのか」という流れが ほとんど見えなかったのはちょっと残念だった。 どのような引き継ぎを、受ける側が想定していたのかもわからなかった。 Covid19Radar側のissueでメンバーが困惑・苦悩している様子がありありと見えたし、 repositoryのアクティビティにケチをつけている周辺の人々を見ていて本当に 心が痛んだのだけど、その印象を緩和するようなエピソードはとくに見当たらなかった。


= 「デジタル庁創設に向けた準備サイト」がスクリプト無効で閲覧できない

_ 楠氏の名前はもちろん以前から知っているが、↑のnoteの前に目撃したのは 表題のページに対するブックマークコメント「図らずして面倒臭い老人避けになっている件。この画面が見えない人たちは募集対象ではないのでは? 昔と違ってブラウザを安全に隔離する方法はいくらでもある訳だし」だった。 表題のサイトは別にそんな作りかたにしなくていいのになんでこんなことに なっちゃったの、という話だと理解しており、それはもっともな話だと 思っていたし、w3mで見られないのは困るので (だから老害なのかもしれないが) なんだか違和感があった。そしてブックマークコメントの 後半の意味がいまひとつ分からんかったのだが、 ひょっとしてJavascriptを無効にしているなんてのは昔のセキュリティ上の 教訓であって今の時代に敢えて無効にするのは時代錯誤だという話なのかな

_ 一方で表題のサイトに対しても違和感はそれはそれであって、 Flashを引き合いに出して持続性に疑問のある技術を採用する危険性を 主張している部分がよくわからんかった。HTMLが存続してJavascriptが 廃れて、なおかつクライアントサイドのJavascriptが動かなくなる未来というものが まったくピンと来ないという個人の想像力の限界みたいな話なのだが


2021/06/14 (Mon)

_ 腹立ち紛れに暴飲暴食をしつつ週末はほとんど寝て過ごしたような気がする。


= 今日のOpenTK

_ Hello Triangleを見ながら F#で書いてみたところ、画面の真中にあるはずの三角形がなんだか そっぽを向いているような、書き手のへそまがりが伝染したような見た目になってしまった。 そのままElementBufferObjectsの話に進もうとしたら今度は何も表示されない。 「何も表示されない病」に対する数ある原因のうち今回は何なんだい? という話をする前に 前段階で理解に合わない動きをしているならその段階で解決しておかなければ 泥沼の第一歩だろう… ということでへそまがり三角形問題に先に取り組むことにした。

_ まずGitHubに上がっている ソースをそのままビルドして実行してみる。もちろん期待通りに動く。 その後F#で書いた私のロジックと必死に比較してみたが特に不審な点はない…

_ そっぽ向いている三角形に与えている座標を眺めてみたり いじってみたりしたところ、3つ与えているはずの頂点が 1つ少なくなってしまっている?いかにも配列を1つ飛ばしで 読んでしまっているときのような…?という気がしてきた。 そんなことを考えつつF#でOpenTKを触っているコードがどこかにないかしら? と調べてみたところFrassle/OpenTKExamples: Small F# example programs for OpenTKというのを 発見した。コードを眺めてみて手元のものと比べてみた。んー…

> sizeof<float>;;
val it : int = 8
???? なんで8?4じゃないの??
> 1.1f;;
val it : float32 = 1.100000024f

> sizeof<float32>;;
val it : int = 4
………Basic Types - F# | Microsoft Docsにしっかり書いてあったが、 F#だとfloatというのはdoubleと同じ意味らしい。 single precision的なもののつもりならfloat32やsingleになるようだ… そんなの Troubleshooting F# | F# for fun and profitに書いてなかったじゃないか (T-T) こんなことにひっかかるのは私くらいしかいないのだろうか…


2021/06/15 (Tue)

_ 腹立ち紛れに (腹立ててばっかだな) 日付変わる前にさっさと寝て、 あまりの寝苦しさに目が覚めてしまった。けっこう時間が 経過していたかと思ったらまだフトンに入って30分も経っていなかった。 うわああこういう目の覚めかたをするとそれっきり眠れない病なのに…!! と 悲しくなったが今回は発症せずに再度寝ることができたらしい。

_ そういえば6月に入ったのにあんまり雨降らないし暑い日が続くな、梅雨どきなのに… と思ったらまだ梅雨入りしていなかったらしい。今週からいよいよ梅雨入りだそうだ


2021/06/16 (Wed)

_ 事務所のネットワークの調子がなんかおかしい。 昨日の夜にろくに通信ができない状態になり (在宅で日中もいた妻によると 日中も少し調子が悪かったらしい)、ケーブルモデムやらルータやらの 再起動をしたりしてもまったく変わらない。 先日けっこう激しめの雷雨があったので、それでおかしくなってしまったのだろうか?

_ そういえば実家の無線もなんだかおかしいとかで、 調べてもらったところWifiルータの交換をすることになったようだ。 Wifiルータを交換するとSSIDなども新しいものになってしまうという説明を 受けたらしい。別にSSIDなんてどうにでもできるだろ、と思うのだが 運用の規則でそうなっているのかしら…なお先日スマホを買い換えた父だが いろいろやっているうちにWifiの設定はなんとか自力でできたらしい。 どうせできないだろうと思い、できるようになるまでの労力を考えて憂鬱に なっていたが、決めつけはよくなかった… が、これでまた設定しなおしに なってしまうらしい。


2021/06/17 (Thu)

_ 事務所ネットワークの話つづき。今日は妻が出勤の日なので 不調が続くようだったらJ:COMに電話するか…と思いつつ日中に 様子を見に来たところとくに問題なく、10分ほど様子を見たけど 普通に通信ができた。

_ 仕事から帰ってきた妻に聞いてみると、昨晩私が事務所から住居スペースに 戻ってから間も無く普通に通信できるようになったらしい。 ではどこかが一時的におかしくてそれがひとりでに治ったのかしら…と思いつつ しばらくPCをいじっていたらまた通信がおかしい。 pingを投げると…

64 bytes from 8.8.8.8: icmp_seq=497 ttl=114 time=2886 ms
64 bytes from 8.8.8.8: icmp_seq=498 ttl=114 time=1872 ms
64 bytes from 8.8.8.8: icmp_seq=499 ttl=114 time=848 ms
64 bytes from 8.8.8.8: icmp_seq=500 ttl=114 time=3931 ms
64 bytes from 8.8.8.8: icmp_seq=501 ttl=114 time=2911 ms
64 bytes from 8.8.8.8: icmp_seq=502 ttl=114 time=1888 ms
64 bytes from 8.8.8.8: icmp_seq=504 ttl=114 time=3253 ms
64 bytes from 8.8.8.8: icmp_seq=509 ttl=114 time=753 ms
64 bytes from 8.8.8.8: icmp_seq=510 ttl=114 time=4075 ms
64 bytes from 8.8.8.8: icmp_seq=512 ttl=114 time=2036 ms
64 bytes from 8.8.8.8: icmp_seq=513 ttl=114 time=1013 ms
64 bytes from 8.8.8.8: icmp_seq=514 ttl=114 time=4650 ms
64 bytes from 8.8.8.8: icmp_seq=515 ttl=114 time=3649 ms
64 bytes from 8.8.8.8: icmp_seq=516 ttl=114 time=2623 ms
64 bytes from 8.8.8.8: icmp_seq=517 ttl=114 time=1599 ms
64 bytes from 8.8.8.8: icmp_seq=518 ttl=114 time=576 ms
という感じで、いかにも途中の機器で詰まって何秒かごとにしか通信ができない というように見える。ところどころ抜けているし…

_ その後投げ先を変えたりして様子を見てみた。 ルータのnext hopに対してすでに↑のような挙動を見せており、 ケーブルTVの場合このnext hopというのはうちの設備の中なのか、 外なのかがいまひとつ分かっていないのだけど、障害情報も上がっていないし、 うちの中の機器の問題なのかなあ〜? と憂鬱になった。

_ 一方実家のWifiについては、その後近所の収容機器の不具合 (大雨で水が溜まっていたとかなんだとか) だったことが判明したらしい。 実家にWifiの様子を見にきた人と、近所の機器を見に来た人は時間的にも 担当としても別だったらしく、ぜんぜん連携がとれていなかったらしい。 そんなもんなんだなー


2021/06/18 (Fri)

_ 事務所のネットワークは今日は問題なかった。一昨日、昨日は私が 住居スペースで在宅勤務を終えて事務所に行き、しばらくすると発生していたので、 ひょっとして私が使っている機器…といってもスマホとぷにぷにしかないのだけど、 それが悪さしているんじゃないか? といった疑惑があったのだけど、 結局のところよくわからない。


2021/06/19 (Sat)


= iPad 8th Gen 10.2inch

_ 昨月末に注文してようやく届いた。父親用のApple IDを作りなおしたり、 いろいろ大変だったが、ひとまずApp Storeも使えるようになり、 Google Homeもインストールできた。

_ ガラスのタッチパネル保護シートも買った。正確に綺麗に貼るために必要な 治具なども揃ったすごい品揃えのもので、これで1500円しないというのは どういうことなのか逆に不思議になるというか、根本的にシート自身の品質を 下げるほかないのではないかという気がしつつ、まあそういうものを買った。 実演動画を見ているといろいろ画期的で、これをズレて貼ったり 気泡を生じるように貼るほうがむしろ難しいのではないかと思えるような 感じがするのだけど、しっかりズレて気泡を生じるような貼りかたになってしまった。 とはいえズレは無視できる程度だし気泡も端から追い出すことができたので わりと問題ない。わりと問題ないのだが、これだけ失敗が少なそうな工夫が されている製品なのにこの始末というのは、私の不器用さが犯罪的だという ことではないのだろうか…!! と少々へこんだ

_ さて今回父のリクエストでApple IDを作りなおしたので、古いiPad miniから 設定をまるまる引越してくるようなことはできなかった。できたのかもしれないが、 よくわからん… なんかそのまま引越すならiPad同士を近づけるだけで できちゃう的な表示になっていたけど本当にそんなことができるのだろうか。 それはともかく、せめて写真くらいは移してあげたいのだが どうやってやればいいのだろう?なにしろまったく興味がないのでよくわからない


= Google Nest Hub Max

_ iPadにGoogle Homeを入れることができたのでようやく初期設定を始めることが できるようになった。購入してからすでに半年以上経過している。

_ ビデオチャットはDuoというものを使うらしい。こちらの設定も済ませて、 私のアカウントとの間で通話をしてみた。カメラがえらい広角だな… そして 追跡をする機能があるようで人が動くとそちらを追いかけるような動きをする。 単にディジタルズームなのかもしれないが

_ 待ち受け画面でフォトフレームがわりに使ったり、 YouTubeを見たり、なんてことに活用してもらうことも可能だと思うのだが、 まあ他の家電と同じように使い終わったら電源を切るような使いかたに なってしまうんだろう。それならそれでよい

_ 音はかなり大きいものが出せるようで、 YouTube視聴端末としても使えるのかもしれないが、そうなると10インチそこそこの モニタサイズでは少々物足りないものがある。 AV端末として考えるとChromecastをテレビにつなげた方が手軽で迫力があるし、 スマートスピーカーとして考えるととくにモニターがなくてもいい気がするので、 私個人としてはあまり使い道が思いつかないのだけど、まあ たまに使うビデオチャット専用端末と考えれば設定も操作も楽ちんなので 悪くないだろう

_ なお操作はこの手のガジェットに慣れている人間なら簡単だけど、 初回起動直後にちょっとナビゲートしてくれる程度で分かりやすいとも直感的とも 言いがたいものがある。マニュアルが入っているわけでもないので、 マニュアルがわりにもなる初心者向けの書籍でも買って一緒に送っておけば、 ビデオチャット以外の用途で使ってくれるかもしれない、と思ったのだけど そういう書籍自体が見当たらない。あの手の本は自分で手に取ることはないけど、 電子ドキュメントだけで使いこなしたりできるわけではない世代に 眺めてもらうには便利なのだが、需要があまりないのかもしれない


= 管理の権限を委譲する方法

_ 実家で使うためのiPadやGoogle Nestを設定するまでに繰り返し実家に 電話してショートメッセージの番号を読み上げてもらったりとか、 メールで届いた確認リンクを踏んでもらうとか… などで10往復近くを費した。 それ自体も大変な手間だし、そもそも設定をしてもらいたい側 (親) が 設定をする側 (私) にかなりの情報を与えないとこの操作を完遂することが できないし、設定が終わった後に設定をする側 (私) がそれまでに知り得たものを 放棄する方法もない。というのは考えものだと思った。 もっと安全で手間のない方法はないもんだろうか


= 贔屓の引き倒しの反対みたいな話

_ 私はAppleとは縁を切ったつもりでおり、Appleのテクノロジーや製品は この世に存在しないものとして扱っており、 それはそれで過ごしやすいんじゃないかなーという気がちょっとしている。 Apple製品やテクノロジーに囲まれる生活というのは、文字通り囲い込みという 感じで中途半端を許さない排他性を覚えるし、 そこで実現されているものたちやエコシステムというやつは、Appleがそれを 描いたり作り出したりしている、という以外に何か特徴があるのかしら?という 感情がある。Appleがそれを作り出しているのだということ自体を魅力に思う人は もちろんいるんだろうけども

_ とはいえ、以前も書いた通り私よりも有能な尊敬するべき人達がMacやiOS製品を 使い続けているという事実もあるわけだし、自分では必要性を感じないといっても、 価格とそこで実現されているもののバランスを考えれば革新的といってもいいような ものもあるようなので、 Appleであるという以外に何かいいところあるか? みたいな態度にはさすがに 無理があるような気もする。「贔屓の引き倒し」というのはあるけど、 私の態度はその反対の…こういう心境をあらわすのに適切な表現はないものだろうか、 という話。坊主憎けりゃ袈裟まで憎い、なんてのが思いついたけど、 単にどうでもいいと思いたいだけなので、別に憎んでいるわけではない。 破棄したはずのアカウントに対して未だにパスワード変更案内メールが来るのには 憎悪を抱いているが…


2021/06/23 (Wed)

_ 喋りつづけるイベントが多いとやたら疲れる。もともと喋ることは 重労働だと思っていたところに、ここ半年の体力低下によって、 午後ほとんど喋りっぱなしみたいな日はそれだけで疲労がえらいことになる

_ 事務所のネットワーク不調はあれっきり起きていない。 なぜだかわからないが、これはよろこぶべきことだ


= ノルディックウォーク

_ 1〜2日おきくらいの間隔でやっている。数をこなしてゆくうちに、なんとなく 杖をつくことと歩くことが噛み合ってきたという感覚がある。 慣れない頃は杖に力をかけているが前に進む力とか足の負担を軽くするとか、 そういう方向には生かされていないような感じだった。

_ ポールの突きかたとして、交互に突くほかに スキーのときのように (やったことないけど)、松葉杖を突くときのように (こちらもやったことないけど) 両方を同時に突くやりかたもあり、こちらも試してみた。 これだと問題のある左足が接地している間はずっとポールの補助を受けることに なるので、より左足の負担が軽減されたような気がする。

_ 少し慣れてきたのでスピード上げてみるか〜、と、 キロ12分30秒ペースから11分30秒に上げてみたところ20分くらいでやっぱり ちょっと痛いような気がするなーとなってきたので元のペースに戻した。 痛みが持続することはなかったので無理しなければ大丈夫そう…だけど まだ無理するとだめなんだなーということを思い知ったのだった


= 最近のCOVID-19

_ 緊急事態宣言の再延長はなく6/20で終了し (沖縄を除く)、 まん防へ移行したらしい (岡山、広島除く)。 母は1回目のワクチン接種を6月上旬に済ませ、2回目は6月末に行うことになったようだ。 父は1回目が7月上旬らしい。

_ そしてオリンピックの開催がほぼ1ヶ月前に迫っている。ここ数ヶ月は オリンピック本当にやるの?やらないの?みたいな話というか、 議論のような感じのものがあちこちで見られていたような気がするが、 オリンピック開催に関与している組織や機関は、延期・中止という選択肢は 最初からないという態度をあまり隠そうとしていない あたりは印象的だった。 やらないという選択肢を(もしあったとして)取った場合に どういう不利益がどこにあるのか、というような整理もついていないので、 一見頑なにも見えるそういった態度の根源には何があるのかしら? みたいなところに むしろ関心が出てきた。 どの程度本来の想定に近いやりかたで開催できるのか、どこまで外れると 問題になるのか、というレベルの攻防をしているように見受けられる。

_ 個人的にはどういった事情かはともかく開催せざるを得ないのであれば、 こじんまりとした形でさっさと終わらせて早く忘れたいというような 印象を抱いており、そこに止むに止まれぬ事情が本当にあったのかどうか、 とか、私利私欲に走っている外道がどのくらいいたのか、 みたいな検証は後でやればいいんじゃないか、 という気がしているのだけど、一方で、 飲食店や多人数が集まる施設に対して対策基準を設けることもなく 一律で営業停止などを命じておきながら (最近になってようやくそういった 基準を設けはじめているようだが)、オリンピック・パラリンピックに関しては 普通に開催できる、ということにしようとしているのは、いくらなんでも 一貫性に欠けるだろうと思わざるを得ない。わりと自粛要請については 疑問を覚えつつも (本人に深刻な経済的影響がないということもあり) 粛々と 取り組むほかないという程度の理解は示しているつもりだが、 オリンピック・パラリンピックが絡んでくると、 そういう大それたことができるという認識と現状のギャップの大きさに違和感を 覚えざるを得ない。


2021/06/24 (Thu)


= 今日の拡張機能

_ Twitterの特定の個所を隠す拡張機能を作った件、 あまりに快適で大変に気に入っていたのだけど、昨日あたりからうまく 動かなくなった。作っている最中からなんとなく予想はしていたのだが… CSSのクラス名が機械的に生成されたような感じだったので、これはバージョンアップの たびにクラス名が変わってしまうのかなーと思ったらやっぱり変わってしまっていた。

_ セレクタ一発で探し当てるのは無理なので、あきらめて対象個所を セレクタ+Javascript側のロジックで探し当てるように修正。 今回のケースでは隠したい部分にはh2のノードがあったので、それを手がかりに テキストを比較して、親を辿っていって消すというような感じにした。 CSSのセレクタは子孫は辿れるけど先祖は辿れないのか。知らなんだ… いずれにしろちょっとした修正で元の動作が復活したのでまた快適な ブラウズ空間を取り戻すことができた。よかったよかった。

_ 今のところ手作りの拡張機能は1こだけなので署名などはせずに 起動のたびに読み込ませる…というのでなんとかなっているが、複数になったら さすがに煩雑な気がするな… まあなんでも1つの拡張機能としてまとめてしまっても いいような気がしないでもないが


= 立花隆死去

_ 驚いた。一時期かなりこの人の本を読んでいた。たしか大学にいた頃だと思う。

_ このひとの印象はいろいろあるが、中でも大きかったのは、この人は リアルに死を恐れているんだな、というものだった。 死に至るプロセスの苦痛だとかそういうものに対するものではなく、 自分が積み重ねてきたものが死によって無になってしまうことに 恐怖している様子を隠さないようだった。

_ そういう激しい恐怖感みたいなものはその後どうなったのか…? というと、 文春オンラインの追悼インタビュー記事を 見る限りでは、自身の衰えに対する考えかたなどに恐怖の源泉が まだ残っていることを感じないでもないが、避けがたいものを 無闇に避けようとするというようなあがきがあるわけでもなく、 受容しているのかな…ということを感じさせるものがあった。


= 接触通知システムと Android の位置情報の設定について - Android ヘルプ

_ あれ、なんで位置情報有効にしているんだっけ? → 無効にする → 接触通知システムの通知が来る…というのを数ヶ月に1回やっているような気がするので いい加減覚えないといけないと思った。 Android 11からは位置情報を有効にしなくてもよくなるらしい。


= SHARP SJ-W354H-S

_ 事務所の冷蔵庫を買い換えた。350Lらしい。 今まで使っていたものと比べると容積が3倍くらいあるんじゃないか?と 思えるくらいでかい。


= 冷蔵庫と調理

_ これまで使っていたものを処分するかどうか悩んだのだが、 とくにどこも悪くなっているわけではないし、住居スペースには冷蔵庫がないので、 住居スペースに持ってゆくことにした。

_ 今まで住居スペースには冷蔵庫がなかったことにより、冷たいものは都度買うし、 要冷蔵のものを買うことはできなかった。牛乳とか、チューブの薬味とか…。 調理も、せいぜいコンビニで買えるもやし+αの袋詰めをその場で使い切るといった 程度で、そもそも包丁もないし、簡単な調理に始終している。が、 冷蔵庫があればいろいろ状況が変わるだろう。豚こまを買ってもいいし、 粉末わさびを練らずに済む。粉末わさびは、辛さこそすさまじいけど 香りがすばらしいというわけではないし、チューブの方が お手軽でいいなあというのがここ1年使ってきた感想だ。

_ 冷蔵庫が来るとなれば…と夢は広がるものの、もともと冷蔵庫を置くつもりで 配置を考えていたわけではないのでさらに部屋が狭くなるなあ〜 というのが 問題といえば問題だ


= アレンジレシピからアレンジだけを取り出したやつ

_ インスタントラーメンのアレンジレシピは楽しいしおいしいのでよい。 サラダチキンを細かく切ったもの (キッチンはさみを利用) や、 ちくわを薄く切ったもの (キッチンはさみを利用) を軽く炒めて、 袋のもやし+αを加えて、インスタントラーメンを作ると、野菜もとれて 大変に腹も膨れる。のだが、あまり具を多くすると物量に負けてしまいそうになる。 そしてそうなるともはや麺はいらないんじゃないかという気がしてくるのだ。 つまり野菜と具がたくさんのスープが本当に必要なものだったんじゃないのかと

_ しかし元になるスープがないので自力で作るほかなく、 創味シャンタンとうまいたれ、とか、カレー粉、とか、そのくらいしか 工夫の余地がないので悩んでいる… が、これも冷蔵庫があれば…!! いろいろ変わるかも……!!!! わくわく! 冷蔵庫があれば生活が変わるかもしれないと期待するのは 100年近く前のご家庭と同じなのかもしれない


= HappyHacking keyboardはじまりの話|八幡勇一|note

_ 初代のHHKはほとんど触ったことがない。当時はキーボードにそんなに 金をかけるもんだという発想がなかったのでとても手が出なかった。 たしか「ぷらっとホーム」の店頭で少し触ったくらいだろうか。 そういえばSUNのキーボードみたいに少し反っていたなあということを 懐しく思い出した。 はじめて買ったHHKは初代のLiteで、記録によると2000/01/21のことだったらしい (ZHT開始前だから載ってないよ)。 その後Liteを2本、Lite2を2本買っているようだ。 今でも手元に残っているのは15年前に 買ったLite2(黒)だけで、これは事務所で右手用の キーボードとして使っている。タッチがでたらめであまり好きではない。 ただ15年経過してもくたびれている感じではないのは立派だと思う。 たしか流しのときに使うキーボードとして買ったものなので、 ほぼ現職の期間と同じくらいの期間を生き延びてきたキーボードだ。

_ この記事や、 和田先生の個人用小型キーボードへの長い道という記事を見てようやく 気付いたことがあり、つまりHHKの独創性というか、商品企画の動機というのは 「配列」にあったのだな、ということだ。気付かなかった (例によって 私が間抜けなだけなのだろうが…)。 私はHHKBといえばキータッチ、打鍵感にこだわったものだとばかり思っており、 他よりもキーが少ないとかについては、余計なものは入れないというような 発想なのかなーという程度の感想だった。 だからこそHHKB Professionalが出たときにスイッチが東プレのOEMになったと 聞いて、じゃあ別にHHKじゃなくてRealforceでいいんじゃないかと思ったのだった。 当時は 結局RealforceではなくHHK Proにしたのだけど、 当時書いた通りHHKの配列に慣れていたというのと、Realforceより少し安かった という程度の理由しかなかった。

_ 配列に着目してあらためてHHKのことを考えてみる。 CTRLはaの隣にあってほしい、というのはそれまで使っていたPC98系などが そうだったので強くそう思う。ファンクションキーがない、というのは そんなに使用頻度高くないしべつによい。カーソルキーは、 なければないでよい…と言いつつLite2のカーソルキーは使っているので、 あればあったでよいとも言えるのかもしれない。 Enterが横長かそうでないか、は、どっちでもいい。Lite2はそもそも横長では なくなっているし

_ ASCII配列についてはHHKきっかけで使い始めて、それ自体は悪くないと 思いつつ、とくにノートPCなど国内での入手を考えるとJIS配列の方が ずっと楽なので、そっちで統一したほうがいいやということでASCII配列とは 訣別している。それから10年以上経過しているがとくに情勢に変化はない。

_ Noteの中に書かれていた、 (和田先生は) 「キーボードやASCIIコードをそのまま送出する」という 考えかたをベースにしている、というのは驚いた。 和田先生の記事にもMetaキーの存在について同様なことが書かれている (8bit目を 立てるためのキー、のあたり)。 CTRLで4ビット目を落とすとか、そういう一貫性を求めるというのは、 なるほどなーと思った。なるほどなーと思ったけど、それがキータイプに おいてメリットがあるかと言われるとちょっとピンと来ない… 回路がシンプルになるかも? みたいなことしか思いつかない、というのは 私がFEPやIMEの存在に慣れすぎているからだろうか

_ HHK Proは手放してしまったけど、今になって思うとあのコンパクトさは 美徳だったのかもしれんなあ〜 Realforce2台並べているとさすがに 場所とりすぎ問題が無視できない。もしHHK Proなら横幅奥行きともに ずっと小さいのでデュアルにしてもそんなに場所とらないかもしれん


= Contactless EMVその後

_ セブンイレブンのRWのLEDの色がUIガイドラインと合っていないんじゃないのか、 というは私の勘違いで、 きちんとガイドラインに合っていた。カードをキャッチしてすぐに もうカードを離してよいというメッセージが出た上で緑になっているのを 気付かずにかざしつづけていたというだけだった。 使いはじめたばかりの頃に赤く光っていたのは、 離してよいと言っているのにかざしつづけていたからなのかもしれない。 よくわからんけど…

_ カードを離した後にオーソリが走るので、カードはもうないのに取引が 継続しているというのは不思議な感じだ。iDのオンラインも仕様上同じだけど、 そもそもiDのオンラインは1回しか経験したことがないのでほとんど未経験も同然だ


2021/06/26 (Sat)


= Windows 11

_ 結局出るんか…Windows 10が最後だと思っていたのに

_ Windows 10からの無償アップグレードはできるようなのだが、 私はWindows入りのノートPCを買って、復旧用のUSBメモリを作った後に Ubuntuなんかを入れて使いつづけて、 メインマシンから退いた後にWindowsを使うようにして… というような 使いかたをしており、つまりWindowsがすぐに起動できるような環境になっていない。 Windows 7/8→10の頃のように、無償アップグレードの 期限が設けられていたりするとかなり面倒だなあーと思っている。

_ インストールできる環境の要件がけっこう上がったようなので脱落してしまう 機材も増えてしまいそうだ。一番やばそうなのは LAVIE TAB W PC-TW508CASだろう。 互換性チェックツール的なものがあるらしいので落として 実行しようとしたところ、インストーラが 「このインストール パッケージはこの種類のプロセッサでサポートされていません。 プロダクト ベンダーに問い合わせてください。」というメッセージを出して 進んでくれなかった。チェックした結果だめだったのではなく、 そもそもチェックのためのツールを入れられないとは…


= OpenTK

_ LearnOpenTKを続けつついろいろ試行錯誤している。 GDI+のかわりに SkiaSharpを 使って、pngファイルやらSKBitmapやらからテクスチャを作ったり、 glReadPixels でフレームバッファの中身をとってきて、 それをSkiaSharpに渡してpngにしたり、といったことができるようになった。 小さな間違いなどを重ねていてなかなかうまくいかなかったが… 確保できていたつもりのunmanaged memoryが確保できていなかったりとか

_ OpenTKもSkiaSharpも byte[] 以外に IntPtr を扱うことができるので、 途中のraw dataをF#側でいじる必要がないものについてわざわざUnmarshalする 必要がないのでよいかもしれない。SkiaSharpの中でコピー等は 発生しているのかもしれんが…ただSKImageの実装を見る限りでは大丈夫 そうにも見えるが…


= 今日のぷにぷに

_ いろいろ立ち上げていると重くて操作ができなくなってしまうので、 VSCodeを上げているときはFirefoxを立ち上げなおして、 TwitterやらYouTubeみたいなものはアクセスせずに調べものに専念する… というような手当をしてみたところ、なんとか普通に開発ができるようになった。

_ VSCodeやめてEmacsにしようかしら…?とも思ったんだが、Emacsの環境を 整えるのも今更感があって気が乗らない。しかしプロセスのメモリサイズが 極めて小さくて感動的だ。Emacsといえば昔はメモリ喰いの代表格だったはずなのだが


2021/06/27 (Sun)

_ 今日は日中から雨かと思っていたがそうでもないようだ


= Windows Terminal

_ しらないうちに見えなくなっているという症状を何度か経験している。 中で動かしていたプロセスがいなくなっているわけではないようで、よくわからない。 あと、Cascadia Mono なるフォントがないので別のフォントで 動かしますね的なメッセージが常に出るようになった… がこれも先日のアップデートで治ったのかな? Issueとしてはこれなのだろうか… どっちにしてもフォントを自力で指定したことがないのにそれがないと言われても困るのだが



= OpenTK

_ とりあえずテクスチャの貼られた四角形を望むサイズで表示できればいいんだけど… と思いつつ LearnOpenTKを流しているのだが、 昔ながらのglBegin〜glEndとかglTranslafefとかglScalefとか、 そういうものを使っていないtutorialを選んでしまったので勝手がいろいろ 違っており、流すといっても流せない…のでPCいじっていないときは本文を 読み直している。そしてようやく昔ながらのやつ (本文中の表現だ Immediate mode) は、非推奨または廃止になっていることを知る。使いたくても使えないらしい。

_ ひとまず三角形を出すために知っておかなきゃいけない概念、 書かなきゃいけないコードはかなり増えてしまって、 よりとっつきが悪くなっている。となるとこのtutorialの流れの通り VBOやShaderを、細かいことは置いといてまず作って三角形が出るところまで 進めてみて、そこから少しさかのぼって解説… ということをせざるを得ないのだろう。 まあ効率を考えれば昔ながらのやりかたのままでは済まないし、そのための パイプラインを残しておくのは無駄にシステムが複雑化するだけだったのかもしれない。 かといって1から作りなおしているわけではないので、昔ながらの指定が 残っている部分と、そうでもない部分が混じっていて少々戸惑うところがある。 このあたりはもちろん慣れが必要な部分ではあると思うが



= 2021年前期まとめ

_ ここ何年かは更新頻度がかなり下がってしまっているが、 それは書いたものをアップする間隔が長くなってしまったということであって、 まとめてアップしているだけで記述そのものが減ってしまっているという感覚は そんなになかったのに対し、この半年は書こうと思っても書いていない、とか、 いざ書こうと思ったらうまくまとまらない、鮮度が落ちてしまった、 など、書くことに対する意欲が少々落ちてしまっていたようだ。 よくないことだと思う。そんな半年を振り返る。

_ まず体調について。昨年末に左足を骨折して以来の体調はやはり良いとは 言い難い。ぜんぜん運動もできていないし、食生活も整っているとは とても言い難い状態なので無理もないが… 足の調子と相談しながら 歩きを頑張ってゆくほかないだろう。 あとは銀歯とれて歯医者行った。 口内炎はあいかわらずコンスタントに出てくる。

_ 技術系のはなしでは、UiPathUIAutomation系復習ElectronFirefoxの拡張機能と、 まだ全然整っていないが 動画作成・配信環境づくりをはじめた。目指す形を決めてそれに必要なものを 準備したり調べたり勉強したりするという流れはよいものだと思うので 後半も続けてゆきたいし、きちんと運用に載せてゆきたい。あと、 今はもう使っていないがARROWSTAB (64bit ATOMプロセッサに32bit UEFIが載っている) に x64版のDebianを 入れるというのを、5年越しくらいで達成できてよかった。

_ 買物は、住居のテレワーク環境には大きな動きはなく (1年たってようやくデュアルキーボードを はじめたくらいだろうか)、 4月末くらいから事務所環境の見直しでいろいろやっている。 食洗機は毎日フル活用しているようだ。 私は未だに起動にしかたすら理解していない。 冷蔵庫もでかくなった。

_ 事務所見直しの影響でいくつか処分したものもある。 Bianchi Viale L犬用カートなど。

_ 犬関係のイベントはジョン里帰りくらいだ。

_ テレワークは継続しており、おそらく最低でもあと数ヶ月は続くだろう。 来年まで続くのかしら…? 変異後に強力になりワクチンの効果が薄れていそうと いったものがいくつも出ており、まだまだ予断を許さないようだ。 感染性が強くなってRtが麻疹並み?みたいな話もあるので (この手の話は他の国の研究機関や保健機関、WHOとかの議事録で確認できることも 多いんだがその後どうなった? みたいな追跡をするのが大変だ)、 そうなったら今度こそ 公共交通機関だめだとか、外出禁止なんかが具体的な方策として 出てくるかもしれない。

_ 仕事関係については、昨年かなりいろいろなことに首をつっこんだ反動もあり、 トラブル・困りごとに自分から入ってゆく頻度はかなり少なくして、 直接対話する人も最低限にしつつ研鑽に励むような日々だったが、 最低限必要なやりとりにはストレスが多く、遮断した交流の先で 起きていることについて最終的に首をつっこむことになったときに、 半年近く関わらなかったのが仇になったのか、できることが極めて限られた 状態で応急処置的なことをせざるを得ない結果となり、自身の 生存能力に疑問を覚える半年だった。

_ プログラム言語の利用具合について。 やはりCとC#が多いが、それに加えてAndroidプラットフォームに関係することが 増えたのでKotlinもけっこう使った。 Kotlinもこの1年でだいぶ馴染んできた。 F#とErlangはあいかわらず使うための機会を伺い、使えそうならどんどん使う という態度で接している。Pythonはほとんど使わなくなった。なんだかんだで 10年くらい触っていたので、1年やそこら触らなくても書けなくなるということは ないと思うが… あとわりとJavascriptを使う機会が多かった。 Electronいじり、Bookmarkletいじり、拡張機能いじり、などなど。


2021/06/29 (Tue)

_ 今日はひさしぶりにまとまった雨だ。雷も鳴っていた。


= パスワードの要件

_ 「※ パスワードは、8文字以上英数字または、「xxx@xxx.xx」形式で入力してください。」 という意味不明な要件を示されて、 アルファベットと数字だけでは不安でしかないのだが、 @ と . だけは許すということかしら…? と思いつつそれっぽいのを 入れてみたら半角英数だけにしろ的なメッセージが出て先に進めなかった。 しょうがないので長目のものを作って入れたところ15文字までしか入らなかった。 といったどうしようもないサービスに遭遇してしまった。 パスワード平文で保存しているまである気がしてきた。


= PPAPのパスワードは1秒未満で解読可能 簡単なパスワードは一般のパソコンでも解読可、ファイルのパスワード運用は限界|デジタルアーツ株式会社

_ 先日話題になっていたこれを思い出した。 自社製品に誘導するにしても、もうちょっと他の書き方はなかったのかと 思えるような… タイトルが先にあって、そのための計測結果を集めただけという 道具立てを、別に隠しているわけではない (平文の文字集合があらかじめ 分かっている想定だとか) のは実施した方々のせめてもの良心なのだろうか。


= タリーズコーヒー

_ タリーズのCM (YouTube内) のタイトルに伊藤園の名前が出ており、とくに コラボ商品といった感じではないのでどういうことなのだろうかとWikipediaを 見てみたところ、本国のタリーズコーヒーってもうないんだなということを知った。 国内ではライセンス供与された伊藤園の子会社が運営しているのか


= OpenTK

_ Learn OpenTKのChapter1を終えた。Chapter2はLightingなので、 さしあたり後回しでいいかな…と思った。以前からLightingについては そういう反応ばかりだったのでまた先送りにしたら次はいつになるのか?という 感じがしないでもない。必要になればやるだろう。そういう意味では 視点を動かしたこともないのだった。なので今回Chapter1-8ではじめて Cameraをいじったことになる

_ ひとまずいろいろ学んだことを応用すれば自分のやりたいことはだいたい できそうかな、と思えるようになったので、新しいことを始める前に 構造の整理を進めてみる。元のサンプルだとGameWindowのサブクラスを 作ってそこでフィールドいっぱい作ってOnLoadで初期化して… というような流れになっており、F#でその通りに作ると大量の 初期値不定のmutable変数ができあがるのであまり気持がよくない。 内部に状態を持たせていろんな指示を投げたいという意味ではオブジェクトの 使い勝手はよいと思うので、Texture、Camera、Shaderみたいな部品を クラスで作るというのは悪くないと思うのだけど、構造全体を クラスの中でやるというのはなんだかすっきりしない、というかそれなら C#でやればいいじゃないかということになってしまう。

_ やはりF#を使っているのだから関数型言語っぽいアプローチをしてみたいもんだ… と思いつつ、関数型言語でゲーム作るときの定型的なパターンみたいなものは あるのだろうか? 軽く調べてみるとHaskellでゲーム作るならこう、みたいなものは 見つかった。lazyでpureなものまでは求めていないので、もうちょっとゆるふわな ものはないかしら… Game Loop - Sequencing Patterns - Game Programming Patternsの、 Process Input、Update、Render みたいなことを関数にやらせようとするなら、 Discriminated Unionで要件を伝えるようにして、呼ばれた関数側で パターンマッチをすればいい…ので、まずそのように書いてみたところ、 たしかに関数にはできたけど、それだけという感じであまりうれしくない。 関数型言語における関数の操作しやすさを生かしているわけではないし…

_ それでも状態をClosureの中に閉じこめることができたので多少見通しはよくなった。 気がする。もともとOnLoadで初期化していた部分を初回のコールバックで 初期化するようにしただけなのでmutableが除去できないのが気に入らない…ので、 さらに見直して初回に2回目以降呼ぶ関数を準備して、その関数では 初回のときに作った変数をClosureで閉じこめるような感じにしてみた。 これでmutableをかなり減らすことができてよい…のだが、 関数を返す関数を返す関数みたいな構造になっていて見通しがよいとは言いがたい。 記述量は減ってだいぶすっきりしたとは思うが… このまま突き進んでいいのかしら?という 迷いがある。もうちょっと記事やスライド、 論文などを探してみたほうがよいかもしれない。

_ Making a platformer in F# with MonoGame | F# for fun and gamesは、 私の気にしている部分の構造についてはともかく、物体の相互作用などの 書きかたがすっきりしていてとても勉強になった。 こういった記事などはまだまだありそうなので探しつづけよう




Zinnia (zinnia@risky-safety.org)
Back