Using the substitute* procedure to alter Guix package source files
Altering source files using the substitute procedure to search and replace text
Altering source files using the substitute procedure to search and replace text
Using Mailutil's Sieve to filter email
Using Goimapnotify for new email automation
Multiple Accounts and colours in Neomutt
Multiple accounts, colours and maildir in Neomutt
Using IMAP in Neomutt and options for sending email using SMTP
Introduction to using Neomutt. Emailing like it's 1995 in 2025!
Part 3 of an introduction to regular expressions in Guile Scheme: anchors, grouping and backslash escaping
Part 2 of regular expressions in Guile Scheme: quantifiers, interval expressions and greedy matching
Part 1 of an introduction to regular expressions in Guile Scheme: metacharacters and character sets
Guix package structure: build phases and using modify-phases
Introducing functions and modules in Guile Scheme and Guix
Guix package structure: build-system overview build arguments
Guix package structure: inputs, native-inputs and propagated-inputs
Guix package structure: overview and source/origin inputs
Modifications to guix packages using inheritance
Using with-git package transformations and Derivations introduction
Modifying applications using manifests and package transformations
Creating package variants using just the command line tools
Introduction to the Guile REPL and querying Guix package information
An introduction to Guix packaging - rebuilding Guix packages
Guix time-travel tricks: install any version of a Guix package
Guix time-travel to guarantee reproducible dev environments
Using Guix publish to run a local caching substitution server.
Making development reproducible, easy and fun with Guix
Using Guix shell to create isolated environments and containers
Layering Guix profiles and activating them at login.
Automating and managing multiple Guix profiles.
Guix profiles to logically separate package sets
Installing applications in Guix with manifests
Using channels to find more apps on Guix - including proprietary ones from the nonguix channel
Common workflows when using the Guix package manager
Automated deployment of new blog posts using a git hook
Using a patch workflow
Guix package management as an alternative to using Snap or Flatpak packages
Migrating to Vim Plug from NeoBundle
Specter makes it simple to manipulate nested data in Clojure
More Weechat configuration for Slack and IRC
Configuring Weechat for Slack with wee-slack
Configuring Weechat for IRC and Slack
Getting started with Weechat for IRC and Slack
Unit testing Clojure with clojure.test and expectations
Observability and debugging tools in Clojure
Setting up Clojure's Leiningen developer experience and REPL tools
Development environment for Clojure with Lein and Rebel Readline
Using Python libraries from Clojure using libpython-clj
Editing encrypted files with Vim and GnuPG
Mixing suspend and hibernate in 16.04
Reviewing the state of open source in 2016 as preparation for OSCON
XTerm 256 colour set-up, colour themes and a Molokai terminal theme.