tak0kadaの何でもノート

発声練習、生存確認用。

医学関連は 医学ノート

to不定詞の意味

英語も技術も勉強が足りないということが分かるお粗末な新年の話題です。Deep Learning Analysis of Histologic Images from Intestinal Specimen Reveals Adipocyte Shrinkage and Mast Cell Infiltration to Predict Postoperative Crohn Disease という論文のタイトルに対して著者の方と違う意味を想定したため、論文の内容を大きく読み違える事故を起こしました。https://dictionary.cambridge.org/grammar/british-grammar/newspaper-headlinesHeadlines often use the to-infinitive form to refer to future events という記載があるのを著者以外の方に教えてもらいました。ごめんなさい。

Podmanのストレージドライバーをbtrfsからfuse-overlayに変更した

podman image lsにいきなり16秒もかかったりしてつらい思いをしていた(2021.08.12時点)がbtrfsドライバーからfuse-overlayfsに変更したら快適になった。たぶんdockerでも同じだと思われる。overlay2はディストリビューションによってサポートされていたりしなかったりしそう(dockerのドキュメントを見て雑に書いています)。一度全てのイメージを削除する必要があることに注意。

$ podman ps --all --storage | awk 'NR>1{ print $1 }' | xargs -I{} podman container rm {}
$ podman system reset
$ sudo rm -rf ~/.local/share/containers/
$ cat <<- EOF > ~/.config/containers/storage.conf
  [storage]
  driver = "overlay"
  [storage.options]
  mount_program = "/usr/bin/fuse-overlayfs"
EOF
$ podman info | grep fuse
      Executable: /usr/bin/fuse-overlayfs
      Package: fuse-overlayfs-1.4.0-1.4.x86_64
        fusermount3 version: 3.10.4
        fuse-overlayfs: version 1.4

ついでに~/.local/share/containersをbtrfs subvolumeにしてsnapperによる自動バックアップ対象から除外しておいた。

以下は調べ物の残骸

続きを読む

Btrfsを使っていてフリーズを繰り返す場合qgroupをオフにしておくと良さそう

上記について、特にdockerのコンテナの終了後がひどくて困っていたのだが、iotopやtopを監視しているとbtrfs-transactionやbtrfs-cleanupというプロセスがIOやCPUを使い切っているらしいことが分かった。調べていると btrfs quata disbale / というワークアラウンドが紹介されていることが多くて、良く見るとarchwiki にも

警告: Qgroup はまだ安定状態ではなくサブボリュームのスナップショットとクォータを組み合わせると操作によってパフォーマンスに問題をきたします (スナップショットの削除など)。さらに 既知の問題 が存在しています。

と書いてあった。

X11ソケットを明にTCPに変換せずにSSHで転送する

sshの-R(-L)オプションはポートを転送するのにもっぱら使うものだと思うのだけれど、unixドメインソケットをそのまま転送できるという話*1を聞いたので試してみた。ssh -X localhost などの手間がなくて良いので多少便利。

ssh -R /tmp/.X11-unix/X0:/tmp/.X11-unix/X0 ${ACCOUNT}@${ADDRESS}

以下は雑記です。

続きを読む

Boost.Beastのサンプルのビルド

Fedora33でBoost.Beastのサンプルを動かした。

Could NOT find Boost (missig: から始まるエラー、インクルードなどのパス周りで解決している人の記事ばかりヒットするのだけれど、こういう事例もあるという記録です。

git clone https://github.com/boostorg/beast.git

# ライブラリ
sudo dnf install boost boost-devel openssl openssl-devel cmake

# 以下をbeast/CMakeFiles.txtの適当な位置に追記
set(Boost_USE_STATIC_LIBS OFF)
# これがないと/usr/lib64以下のdynamic libraryをリンクせず、
# Could NOT find Boost (missig: coroutine, .... が出る

cmake -S . -B build/

UnityのColliderっぽいものを再発明した話

これはKMCアドベントカレンダー2020の23日目の記事です。 adventar.org

昨日の記事はtronさんの「マルコフ連鎖でデュエマの能力テキストを作る」でした。自分も確率モデルを使って面白いものを作ってみたいです。 tron-factory.hatenablog.com

ここ最近、Unityという機能豊富なゲームエンジンを使ってゲームを作っています(そろそろ完成させたい)。基本的には提供されている機能を使えると楽なのですが、物理法則に微妙に従わない挙動を実現させようとしたところ上手くいかず、結局Unityの機能の一部(Collider)を再発明することになった、という話です。

続きを読む

CRTPを使ってMonoBehaviourを継承したクラスのコンストラクタっぽいものを書く

これは「inonoa Advent Calendar 2020」10日目の記事です。

adventar.org

--

ここ最近、KMCの「みんげー」という新入生プロジェクトでUnityというゲームエンジンを触っています(1回生ではありませんが、KMCは1年目なので許して…)。世の中のゲームは高度なものばかりで基準が狂いがちですが、自分で書いてみるとゲーム製作は管理する状態が多く、単純なものでも意外と難しいことが分かります。プログラムの技術が向上する感じがして良いですね。アドベントカレンダー主催者のinonoaさんには、Unityの便利機能を大量に教えてもらっていることから、カレンダーの方に何か書いて盛り上げていく、という趣旨(?)の記事です。

続きを読む