SuperScript

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!