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.
Overview of using XTerm, basic configuration and TrueType fonts set-up.
Altering Matplotlibs colormap to improve plots truthiness.
Introduction to the vim-surround plugin.
Partial colouring of text in Matplotlib with LaTeX.
Using LaTeX in Matplotlib for complex text formatting.
Handling text in Matplotlib to describe and annotate plots.
Using styles and fonts to make matplotlib plots look great.
Automatically setting up a development environment when changing into a project directory
Setting up Snapfly, a menu launcher with the i3 window manager
Marking-up and highlighting source code in RST with Docutils and Pygments.
Eight years working on Ubuntu and open source.
How I upgrade my Pelican blog. This is for Pelican 3.4.
Adding site search to your Pelican blog using the Tipue Javascript plugin.
With the first sign of spring in the air I was tempted to buy a new Schindelhauer bike from Velorution in London.
Climbing Table Mountain in Cape Town South Africa
Getting to know the Python blog engine Pelican
Someone recently remarked to me that you can think of hardware as software that's developed really slowly. While the software space has been going wild over cloud computing it's been pretty quiet on the hardware side of the equation. But, that's going to change as we see a new class …
A very long time ago, in a parallel universe managing backups on Linux was a real headache. If you can remember all the way back to the mid 90's these wasn't journaling or iSCSI and Linux wasn't as stable as it is now - so having good backups was your only …
The BBC is under pressure at the moment as it renews its charter and secures funding from the government. Politicians and competitors are lobbying hard to have it "reformed" more towards their interests. Politicians want an easier ride, and the big media owners want less competiton. It's hilarious reading the …
The French parliament is proposing a new law to free consumers from DRM lock-in. Essentially, a media system that operated a format lock-in would have to provide information so that other technical systems could interoperate. There's more coverage on the BBC and Business Week. It's widely seen as an attack …
With FeedBlitz your readers are notified with the full text of new blog entries you publish. On Wordpress.com I couldn't get the default way of linking to work. The Links (the boxes down the side of the blog) section seems to ignore form tags. To get around this you …