Skip to content

Instantly share code, notes, and snippets.

View kuuote's full-sized avatar
🙃
I may be slow to respond.

kuuote

🙃
I may be slow to respond.
View GitHub Profile

日報

  • 最近風邪でダウンしていたので近況
  • Awesome Yasunoriに送られてきたMCPサーバー実装を試すためにClaude入門やらしていた
    • yasunoriってなんなんだよ
  • 半年くらい精神的に沈んでいたが、かなりまともな状態に戻ってきた。人生薔薇色
    • 鬱症状の何が怖いって寛解した所で記憶は消えないことだと思う
    • 絶望感や閉塞感、人に抱いた執着心など全て鮮明に心に残っている
  • 思う所があって、ここ数週間くらいコンスタントにピアノに向かっているが、適切に練習したら上達することと、そんな一朝一夕には上達しないということを理解した
    • 弾けたら楽しくて弾くモチベになるのでコンスタントに弾くのがいい。飽きたとか言ってサボるのが一番よくない
      • 1日数分でもいいのでやるべき

日報

  • ddskkのcompletion-at-point-functionを作れないか検討していた
    • 欲しい仕様はeskk.vimやskkeletonに積まれている直接変換までしてしまうタイプの補完
    • 結論、無理。
      • 不可能ではないのかもしれないが現実的ではない
      • filterしない専用のcompletion-styles及び自前completion-at-point-functionを用意した上でcorfuにまで専用の設定入れるくらいなら自前で全部やった方がいい気がする

日報

  • 久々にskkeletonのコードいじってる
    • skkeleton#handle() を公開するための事前準備としてdenops側に投げるキーの扱い方を変えた
      • バグってたら嫌なのでドッグフーディングしてる
    • コードベース忘れかけてるので、放置できるくらい安定してるのも考え物だなと思ってる

日報

  • 寒くて体調がクソ悪い
  • 環境変数完全に理解した
    • Linuxの場合 systemctl --user get-environment でほぼ素に近い環境変数取れるので、そこに /etc/profile の結果を足したら大体なんとかなる
      • envコマンドを使うと変数を消した上で新しい物を適用できて便利
    • tmuxのグローバル変数は tmux show-environment -g で取れて tmux set-environment -gu で消せて tmux set-environment -g で足せる
      • のでこれらを組み合わせると全部入れ替えられる
        if [[ -z "${__env__}" ]]; then
            exec env -i $(systemctl --user show-environment) __env__=1 $(command -v bash) $(realpath $0)
                    
@kuuote
kuuote / 1_ptyremap.py
Last active March 18, 2025 18:37
pty key remapper
#!/usr/bin/env python
import argparse
import os
import pty
import signal
import sys
import termios
parser = argparse.ArgumentParser()
  • 日報
  • 最近Emacs周りに変更入ってるらしく妙に不安定なんだけど、Nixだととりあえずロールバックで回避できて最高だな
  • nucleoをdduで動かそう計画、wasm-bindgenの使い方覚えたのでやるだけになった
    • structのfieldにpub付けられるの知らなくてしばらくハマっていた
    • nucleoの使い方もちょっと迷ったけど、最低限の例がリポジトリに載っていたのでなんとかなった
  • NixのrustPlatformで軽微な修正を高速コンパイルする方法編み出したのでどこかで共有したい
    • 雑に言うと以下のステップをやっている
      • Cargo.lockとCargo.tomlだけ複製して src/lib.rs なり src/main.rs なり生やして空のプロジェクトを作る
        • これはlinkFarmで達成できた
      • これを rustPlatform.buildRustPackage でビルドかけて installPhasetarget に圧縮かけてビルドステップを打ち切り
  • 日報
  • GCの対象から今使ってるnixpkgsのderivation達を外したいので nix-env の使い方をひたすら調べていた
    • nix-env -qa を走らせると nix build と同じような方法で渡したファイルを評価、値そのものあるいは、値がAttrSetならその要素からderivationを集める
      • この際、要素がAttrSetでかつ recurseForDerivations = true であれば(この値は lib.recurseIntoAttrs で生やせる)このAttrSetも再帰的に辿ってderivationを集めてくれる
    • トップレベルに生えてるalias(emacsPackages辺りがそう)は recurseForDerivations を外してあるので、nixpkgs側で収集する際は改めて生やしているらしい
      • ここで使われている
      • Nixのビルドの中で nix-env 叩くの思い付いた時「俺天才だわ」と思ってたけど、nixpkgsの中で既に行われていたでござる
  • ついでに command-not-found が使っているDBのデータがどこから来ているのかも調べた
    • programs側を見るとチャンネルのデータの中の programs.sqlite というファイルを使っていることとチャンネルのリリースファイルが nixexprs.tar.xz であることが書かれている
    • ここで、チャンネルリリースのスクリプトが全部nixpkgs内にあると思い込んでひたすらgrepをかけまくっていた模様

日報

  • ひたすらinit.el/orgと向き合って一日過ごしていた
    • eval-when-compileの枠が増えてきたのでまとめて囲うようにした
    • evil-modeのマイナーモード別キーバインドが最高すぎるのでずっと設定していた
    • leaf.elで表記を削れる所を徐々に削っている
    • evil-define-key がだるかったので階層で書けるマクロを書いた
    • advice完全に理解した。マクロの結果をいじくれるの便利だな
      • パターンがすごいあるのでなんでもできるじゃんと思った
      • ふと思ったけど、typstのコンテキストデフォルト値に似ているな

日報

  • tempel突っ込んでみた。記法が独特だけど、インデント調整だけで改行の位置はこっち任せなEmacs Lispでならありかもしれない
  • cape突っ込んで試すついでに completion-at-point-functions いじってみてたけど、完全にddc.vimと同じ感じに見えてきた
  • ddskkのcapf作ってみたい
    • skkeletonのアレが欲しすぎる

日報

  • 今日は一日体調が悪かった。睡眠が不規則すぎる
  • ランチパックはオーブンで焼くと美味い
  • :%!xxx-fmtをいい感じにスクリプトでやるという記事を書いた
    • Vimでフォーマットをいい感じにやる方法の紹介をした
  • the engineer’s paradiseでゴミ箱の話をしていたらgtrashなるツールを作者に推されたので入れてみた
    • ファイルシステムをちゃんと見てくれるのがtrash-cliしか無かったので代替欲しいとずっと思ってたのでわいわいしてる
  • Nixのpipe-operatorsはいいぞみたいな話をしていた。Lispのlet*やスレッドマクロなどもそうだけど、ネストを減らせるのはありがたい