Skip to content

Instantly share code, notes, and snippets.

View buzztaiki's full-sized avatar

Taiki Sugawara buzztaiki

View GitHub Profile
@buzztaiki
buzztaiki / vertico_prefer_prefix.md
Last active June 26, 2022 13:25
vertico の候補一覧でプレフィクスを優先させる

vertico の候補一覧でプレフィクスを優先させる

emacs-jp に書いたやつ。

(defun vertico--compare-prefer-prefix (x y)
  (let ((content (or (car-safe vertico--input) (minibuffer-contents))))
    (pcase (cons (string-prefix-p content x) (string-prefix-p content y))
      ((or '(t . t) '(nil . nil)) (vertico--length-string< x y))
      (`(,match . ,_) match))))
@buzztaiki
buzztaiki / emacs_completion_system_memo.md
Last active March 14, 2024 01:53
Emacs の補完の仕組みメモ

Emacs の補完の仕組みメモ

大昔の事しか知らなかったから、最近の仕組みまわりをなんとなく調べてみたメモ。Emacs 28.1。

基本

補完を支える基本は昔と変わってなくて all-completionstry-completion。引数も Emacs 20 の昔と変わってない模様。

ミニバッファの補完

@buzztaiki
buzztaiki / list_pods_of_deployment.md
Last active June 23, 2022 17:37
Deployment の Pod を一覧する

Deployment の Pod を一覧する

たとえば以下の状態のときに、app の pod だけ取ってくる。

% kubectl get deploy
NAME   READY   UP-TO-DATE   AVAILABLE   AGE
app    2/2     2            2           74s
ppa    2/2     2            2           74s
@buzztaiki
buzztaiki / screen_sharing_with_electron_app_on_wayland.md
Last active June 22, 2022 08:03
Wayland の Electron アプリで画面共有する

Wayland の Electron アプリで画面共有する

Electron アプリなら大体 WebRTC で画面共有してるはずなので、

  • PipeWire#WebRTC 画面共有 - ArchWiki (英語版) に従って、PipeWire と xdg-desktop-portal [^3]、及びそのバックエンドをインストールしておいて、
  • --enable-features=WebRTCPipeWireCapturer を付けて起動する

とすれば多分使える。少なくとも Slack なら使える。

WebRTC が xdg-desktop-portal を経由して PipeWire を使えばいいので XWayland でよい (Chromium の Native Wayland は日本語入力まわりに問題がある [^1][^2])。

@buzztaiki
buzztaiki / deployment_port_with_gron.md
Last active June 14, 2022 04:51
gron で deployment の port をぱっと出す

gron で deployment の port をぱっと出す

gron は json を行指向 にしてくれるやつ。 https://github.com/tomnomnom/gron

https://chalow.net/2022-06-13-1.html でに噂になってて知った。たしかに便利。

例えば kuberetes の deploymnet から使ってる port を出すのに jq の式書いたりするのが面倒だったりするとき、以下みたいにしてぱっと出せる:

@buzztaiki
buzztaiki / rust_source_based_coverage.md
Last active February 12, 2024 11:03
Rust の Source-based code coverage をお手軽に使う

Rust の Source-based code coverage をお手軽に使う

1.60 で Source-based code coverage が安定化した (stable で使えるようになった)。

どうやって使うのかといった話は リリースノート に書いてある通り。なんだけど、ちょっと面倒くさい。

簡単に使うには https://github.com/taiki-e/cargo-llvm-cov の力を借りる。

まずは、llvm-tools-previewcargo-llvm-cov を入れておく:

@buzztaiki
buzztaiki / dont_put_backup_file_into_k8s_staticPodPath.md
Created May 24, 2022 13:58
Kubernetes の /etc/kubernetes/manifests にバックアップファイルを置いてはいけない

Kubernetes の /etc/kubernetes/manifests にバックアップファイルを置いてはいけない

近くに取るなら /etc/kubernetes/minifests.bak とか /etc/kubernetes.bak みたいに取りましょう。

kubeadm で作った control plane では、/etc/kubernetes/manifests に kube-apiserver 等のマニフェストが置かれていて、kubelet 起動時にそれを読むようになってる (static Pod)。

このファイル何らかの理由で編集する事になったとき (kubeadm の再設定 とか)に、同じディレクトリにバックアップファイルを置くとそのバックアップファイルまで kubelet が読んでしまう。

その結果新しい変更が何故か反映されない。死。となる。

@buzztaiki
buzztaiki / build_emacs_with_native_full_aot.md
Last active April 14, 2022 15:37
EmacsをNATIVE_FULL_AOT=1でビルドする

EmacsをNATIVE_FULL_AOT=1でビルドする

NATIVE_FULL_AOT=1 を付けると lisp 以下の全部のファイルがネイティブコンパイルされる。

$ ./configure --with-native-compilation
$ make bootstrap NATIVE_FULL_AOT=1
$ sudo make install
@buzztaiki
buzztaiki / truth.prolog
Last active April 12, 2022 03:51
Arch is the best!
truth('Arch', 'is the best!').
@buzztaiki
buzztaiki /
Last active May 11, 2022 08:14
We couldn’t find that file to show.