Blog
Kakoune Filetype Mode
The Kakoune editor has a very simple and powerful mechanism to specify a hierarchy of key bindings. It is quite common to map the space character in normal mode to commands that include many mode selectors, leading to additional mappings. Dynamic key bindings are usually implemen…
Shell Help
In keeping with my simple approach to documentation in makefiles I do the same thing in shell scripts with this implementation: #_# help #_# Print this helpful message do_help() { sed -n 's/^#_#/ /p' "$0" } The function name follows the mode-function pattern…
An Amusing Shell Trick
Sometimes a function takes arguments passed down from a caller like this: my_fun() { do_something_fun "$@" } On occasion you need to call something that takes arguments in an awkward order. Today’s example is the pattern argument to fd: do_find() { local d="$1&…
Area vs Project
My main takeaway from Building a Second Brain is to take more care to distinguish Areas and Projects. The author gives these definitions of the two categories: Areas: Long-term responsibilities you want to manage over time. An area doesn’t have a final objective. Projects: Sho…
Apache AGE
Today I learned of Apache AGE, a PostgreSQL extension that adds graph database capabilities. It looks like the right tool for my GraphRAG experiments, given that I have data in PostgreSQL already. This one enters at the front of the priority queue!