Blog
Kakoune Client Server
Today I deployed a variation on the “1 session per project” implementation from the Kakoune wiki. My version of the script is called kak-cs and looks like this: #!/bin/sh dir="${1:-$(pwd)}" shift 0${1:+1} test -d "${dir}" || dir="$(dirname "${dir}&…
Lean Coffee Is Underused
A simple technique for running a meeting with a dynamic agenda is Lean Coffee. It surprises me how few people have run one. I presently use this in two contexts: Lean Coffee Austin, a biweekly open meeting Austin CTO Club Everyone who attends these meetings now knows how to run…
Dev in a Jail
I work a lot on FreeBSD and have made increasing use of jails over time. The bastille and rocinante tools from Christer Edwards make this pretty easy to build and maintain. These days I do most work in jails, for long-running services like DNS and PostgreSQL, and to isolate progr…
TIL vs TIW
An oddity of producing TIL blog entries is that they rarely match the TIL claim. At least it’s that way for me, and I suspect most who try to produce something on a daily basis. It really should be called TIW for “Today I Wrote”. Even ideas that are easy to write up in short form…
Search Path and Extensions
Using search_path to implement polymorphism is one of those conveniences in PostgreSQL that can bite hard. Relying on it to select the schema for tables and functions may seem useful, but there is an entire PostgreSQL wiki page dedicated to avoiding harm from malicious use of sea…