224 karma · joined November 4, 2025
I tried Atuin before and liked it, but the idea of a background service sending my command history to servers I don't control never sat well with me. A small boring tool that runs locally doesn't care about revenue nor will have to sunset any feature hehe
Atuin works with several shells, zhist only supports zsh because that's what I use. Both Atuin and zhist record each command together with its working directory and exit status. They both offer global and per‑directory modes. If I remember correctly, Atuin did not provide a quick way to delete an entry, whereas zhist assigns Ctrl‑D for that purpose (or Ctrl+X if you want to remove all occurrences of that command). Atuin also records how long each command ran, zhist does not but it will in the next release. Under the hood, Atuin uses SQLite, runs a daemon, and uses a sync protocol. zhist is a single binary that writes to a flat JSON file, with no service and no sync feature. With zhist, if you want to sync your history to another machine, you'd have to rsync the JSON file.
[1] https://www.worldometers.info/co2-emissions/co2-emissions-by...
safe() {
safehouse --env --add-dirs="/tmp:~/.claude" "$@"
}
safeclaude() {
safe claude --enable-auto-mode --permission-mode auto
}
This way I will never fear Claude `rm -rf`-ing my home directory.- using GPT‑5.6‑sol via OAuth instead of an API key, with Claude Code as the harness
- sandboxing the reviewer agent completely (GPT‑5.6‑sol seems to be a model that believes "the end justifies the means", I read tons of horror stories on X and Reddit)
- using herdr to view and control the current process of the review agent (can jump in at any time)
- the main agent can refute certain points made by the reviewing agent
I think the best way to put it, when I'm working with HTMX it feels like the complexity of the codebase is growing at a 2:1 rate compared to the app itself. I always end up with some weird edge case that I can not come out of without some weird hack.
I get why people dislike Node packages, HTMX feels like it's an overcompensating response to that. But the time you save by not having to wrestle with JSON is tripled when you try to make the app actually look or feel good. It takes me 2 minutes to slap together a Mantine template [1] and tap into some of the best UI components, then I can embed the built static assets and end up with the same single Go binary.