前に三ヶ月更新って言ったけどね. 新年明けたのにずっと更新されないのは寂しいから.
akeome!
Shift 押しながらマウスホイールで横スクロールになる. (最近の)Windows と Mac で使える.
今までは専用の横ホイールがあるマウスを使ってみたりだとか, 特別なマウスジェスチャに自分で割り当てたりしてたけど, Shift 一つ押すので済むならこれで十分便利だ.
VRChat. 寝るときはフルトラはやめて三点トラッキングにする. 寝る格好はしたいのでこれを使ってる. 皆これでいいと思う.
機能はいくつかあるけど,
この2つだけを実際には使う. 内部的にはそれぞれ
という2つの bool パラメータが対応している. MA で導入してる場合パラメータ名は重複防止でリネームされていることに注意. このリネームは自由にやめさせることができる.
私の場合は, この2つのパラメータがどちらも true であることが寝ていることの判定に等しい. というわけでこれをそのまま流用して
をさせることにする.
VRChat をとにかく軽くすることを目指す.
ググって出てきたようなことだけを試した. 正確な計測をしたわけじゃない. 40FPSを下回ると爆発するワールド で, 昨日までは何もしてない状態で既に FPS 40 前後だったのが, 以下の設定を見直すことで平均50程度になった. といっても目測だしブレが大きいのだが. ざっと 10 くらい上がったと主張することにする.
書いてある具体的な値は私の場合の設定値です.
私の場合は GPU は RTX 3060 なので決して性能は高くない. インターネット環境だけは運良く, VR ゴーグルからでも下り 800Mbps が常に出る.
-screen-width 320 -screen-height 180 -screen-fullscreen 0 --fps=24
SteamVR の設定も追加でやったら最終的に 20 FPS 程度向上した.
cympfh.cc/aiura の古い記事が壊れてた. MathJax 2.x を使ってたのだが, 少なくとも手元の Vivaldi と Google Chrome では数式が期待通りにレンダリングされない. 直してみよう. 再ビルドしまくる.
ダメだ. 特に asmcd を使ってるもの, あとなんと graphviz を使ってグラフを描いてるものはビルドできない. 当時と環境が違うのでしょうがないのだが. 何よりチェックするには量が多すぎる.
alias e=$EDITOR
としてるので e .
と打つだけですぐに起動する<C-e>
するとその時点の zsh のバッファを EDITOR で編集できる<C-e>
で EDITOR が起動するEnter
で実行する/a/b/c/hoge.jpg
という文字列から hoge.jpg
だったり /a/b/c/
だったりの部分を取り出したいことがあるfilename /a/b/c/hoge.jpg
{"basename": "hoge.jpg", "root": "/a/b/c/hoge", "dirname": "/a/b/c", "extension": "jpg", "tail": {"root": "hoge"}}
curl http://google.com/
→ withcache curl http://google.com/
普通サクッとは書けないだろうコマンドが ChatGPT のお陰で手軽に実現できてしまったのが強いね.
自分は自分で他人は他人
Mac では karabiner があるので, これを使って Ctrl-[
を 「IMEをオフにする(英字にする)そして Esc を送る」 にしてる. 完全に Vim 用途だ.
大変便利なので Windows でも再現した. Windows には AutoHotKey がある.
これの IME をオフにするという箇所だけ流用してる.
「スマホの画面だと広告の占有率が高すぎるのでスマホで web 閲覧をしない」というようなことを言ってる人を見かけた. 本当にありえる話かもしれない.
「何でも良いので便利で人気のサービスを作る. そしたら人が集まる. そこで広告をペタペタ貼り付けて一儲け」というのは「ビジネスモデル」というにはお粗末だが誰でも真似できるので, とにかく「便利で人気なサービス」の開発部分だけに集中すればよく, それをしたい人にとってはありがたい. でも利用者は?
無料のモノはないので (TANSTAAFL), もしあなたが無料のつもりでサービスを利用してるのであれば, あなたはお客さんなのではなくて, あなたは商品なのだ. つまりあなた自体が売られている. もっと普通に言えば, あなたは自身の個人情報を売りに出してその対価としてサービスを使わせて頂いている立場だ. ある人たちは「私は(大企業, 例えば Google)に自身の個人情報を捧げ, その御蔭でサービスの品質が向上し, 自身にとって便利な存在に成長してくれる」という. それならそれは良いんだけど, 今の話はそれじゃなくて, 別にあなたの個人情報によってサービスが変わってるんじゃなくて, 成長するのはそのサービスの上にどんな広告をベタベタ貼り付けるかという箇所のアルゴリズムだけだという話.
良い広告とは, あなたの消費行動を促しやすい刺激物のことなんだが, 本当にそれはあなたの生活をより良くしてあなたを心地よくするものですか? 動画を見ていて, ここぞという場面でCMに入るのが品質向上だと思いますか?
私は今書いたもの全てを実践しているので, 「この広告はどれのお陰で消えたのか」というのが実はわかってない. よく人に「これ入れておけばたぶん消えるよ」と無責任に発言することがあるが, 本当はもはや分からない.
分かる.
コンピュータの計算量を言うのにランダウの記号を使うが, 「関数 \(f(x)\) は \(O(g(x))\) です」という意味で
\[f(x) = O(g(x))\]としてイコール記号を使っちゃう人がいる. いるというか, 最も一般的か.
Wikipedia でまさしく上記の例の通りが使われている.
私は \(O(-)\) は関数の集合(クラス?)と思うことにしてる.
\(O(g(x))\) は計算量 \(g(x)\) の関数全ての集まり.
だから \(f(x) \in O(g(x))\) だし, \(O(\log(x)) \subset O(x) \subset O(x^2)\) だと思ってる.
今 Wikipedia をスクロールしていったら全く同じ話が「記法の問題」として書かれてた. \(\in\) 以外に \(\leq\) もあるよと言われてるけど \(\leq\) は無いかな. 「 \(O(-)\) は集合」でいいと思うんだけど.
競技プログラミングをやっていると計算量の見積もりが養われる. これは本当だし, そしてその教養はめちゃくちゃ大事. だから競技プログラミングをやらなくてもいいから, 計算量は見積もれるようにしておいてください.
さらに一捻りした教養も大事で. 例えば \(O(2^N)\) っていうのは, まだ \(N\) が小さい間は全然大きくない. \(N \leq 20\) くらいなら \(2^N \leq 10^6\) くらいで, とても実用的.
社内ツールの一つにまさにこれを利用したのがある(私が書いた). \(N\) 個のモノの中からいくつかを残してその組み合わせで最良のものを選ぶというもの. 実は全通り試せば良いということに2年近く誰にも気づかれず, 野生のカンだったりで組み合わせが選定されていた.
去年に初めて買った当時の日記でも絶賛してたと思う. 今でも愛用している.
これが何かというと, USB Type-C のオスメスそれぞれの先に追加で噛ますアダプターで, Macbook に今でも採用されてる MagSafe のようなものに変換してしまうもの. Type-C という規格の上にメーカーが勝手に乗っかって勝手に作った独自規格なんで, メーカーごとで互換性は全く無い. というわけで買うからにはメーカーの選別をしないといけない. 私は MUXER という聞いたこともないメーカーを選んだ. 不満はない. これのせいで本来の充電速度が出ないとかも, たぶん無さそう. 計測したことはないけど.
さて問題がないということはない. これを使うというからには, 何度も抜き差しするようなデバイスとケーブルだということだ. 乱暴にマグネット任せでバチンバチンを装着するわけなので, そのピン先への負担は大きい. 本来の USB よりもピンが剥き出しだしマグネットで力強く当てるので耐久性は低いだろう.
通電したらLEDが白く点灯するのだが, どうしてもこれが点滅して充電ができなくなった. 装着する角度によっては一瞬だけ充電できてしまうので悩んだ. よく見るとケーブル側のアダプタのピンが一つ折れていた. ピンセットで無理やり戻しても, 装着するとやっぱり折れてしまう. 基本的に自分で治すのは無理だろう.
予備は必ず持っておこう. 安くはないけど高くもない商品だから.
昔 Huawei P20 っていうスマホを使ってて, これのカメラは良かったんだ. レンズはLaicaのもので, 変な味付けもなくて素直に当時にすれば高画質. でもそんなことよりもなによりも, 全てのコントロールにマニュアルモードがあった. つまり絞りも露出も全部自分で決めることができた.
それが当たり前だと思ってしまったから, もっと高価なスマホなら尚の事だと思ったのだが, 決してそんなことはなくて驚いた. 今まだ使ってる Google Pixel7 はそんな項目は無い. オートモード一択だからだ. オートフォーカスが人間より賢ければ良いのだがそんなこともない. 遠くの山々を動画で撮っていると突然とても手前のものにフォーカスを当てる. どこに焦点を当てるか画面中で指定するのだが, それも無視する.
高画質でなくてもいい. 「普通のカメラ」が欲しい.
この頃思ってること:どうせ見返さないのに何GBと写真を贅沢に残しておく価値なんてない. ストレージを商売にしてる人たちの口車.
背乗り(はいのり)
キリの良い commit hash ができたときに限ってバグが入り込んでる.
Okabe Ito scale
胃が痛い
寒いのがいけない.
運動してないのがいけない.
コーヒーばっかり一日何杯も飲んでるのがいけない.
仕事が忙しいのがいけない.
何度でもいうけど, こんなものは Windows 標準で用意してくれ.
用意するもの
私がやってること
マイク ( Mic
) がある. ここでは一つだけあることになってるが実際にはデスクトップに備え付けてるマイクと, VR HMD 内蔵マイクの二つがある. それぞれを Voicemeeter で設定してる (HARDWARE INPUT 1, 2).
Speaker
は自分自身が聞くための音声デバイスで, これも一つとして書いてるが, モニタ内蔵スピーカーとヘッドフォンと VR HMD 内蔵スピーカーの3つがある (HARDWARE OUT 1, 2, 3).
VB_*
は VB-Cable のこと. 上には書かれてないが, それぞれは次のように使い分けてる. これらはそれぞれのアプリ側で設定する.