Archives for Futurile

2024

Guix package structure: build system phases and modify-phases (23 July)

Guix package structure: build phases and using modify-phases

A side of Guile: Functions in Guile and Guix (01 May)

Introducing functions and modules in Guile Scheme and Guix

Guix package structure: build-system overview and build arguments (24 April)

Guix package structure: build-system overview build arguments

Guix package structure: inputs, native-inputs and propagated inputs (29 March)

Guix package structure: inputs, native-inputs and propagated-inputs

Guix package structure: overview and source/origin inputs (04 March)

Guix package structure: overview and source/origin inputs

Modifying Guix packages using inheritance (12 January)

Modifications to guix packages using inheritance


2023

Advanced package transformations in manifests and Derivations introduction (08 December)

Using with-git package transformations and Derivations introduction

Package transformations in manifests (07 December)

Modifying applications using manifests and package transformations

Modifying Guix packages using package transformations (05 December)

Creating package variants using just the command line tools

A side of Guile: The Guile REPL and investigating Guix packages (04 December)

Introduction to the Guile REPL and querying Guix package information

Guix package rebuilds (28 November)

An introduction to Guix packaging - rebuilding Guix packages

Guix time travelling tricks (07 November)

Guix time-travel tricks: install any version of a Guix package

Time travelling dev environments in Guix (17 October)

Guix time-travel to guarantee reproducible dev environments

Speeding up Guix with a local caching substitution server (01 May)

Using Guix publish to run a local caching substitution server.

Reproducible dev environments using Guix (30 April)

Making development reproducible, easy and fun with Guix

Guix shell for virtual environments and containers (29 April)

Using Guix shell to create isolated environments and containers


2022

Layering Guix Profiles (23 December)

Layering Guix profiles and activating them at login.

Automating and managing multiple Guix profiles (22 December)

Automating and managing multiple Guix profiles.

Guix Profiles to logically separate packages (21 December)

Guix profiles to logically separate package sets

Using manifests to maintain our Guix applications (12 December)

Installing applications in Guix with manifests

Installing Chrome and other proprietary apps on Guix (04 December)

Using channels to find more apps on Guix - including proprietary ones from the nonguix channel

Guix common workflows and concepts (09 September)

Common workflows when using the Guix package manager

Automating Blog posts with Git (26 March)

Automated deployment of new blog posts using a git hook

Git patches by email (07 March)

Using a patch workflow


2021

Guix package management on Ubuntu (26 September)

Guix package management as an alternative to using Snap or Flatpak packages

Migrating to Vim Plug (01 May)

Migrating to Vim Plug from NeoBundle

Specter a Clojure library for nested data manipulation (20 March)

Specter makes it simple to manipulate nested data in Clojure


2020

Weechat even more configuration (01 December)

More Weechat configuration for Slack and IRC

Weechat for Slack (30 November)

Configuring Weechat for Slack with wee-slack

Weechat configuration (29 November)

Configuring Weechat for IRC and Slack

Weechat for Slack and IRC (09 November)

Getting started with Weechat for IRC and Slack

Clojure testing with clojure test and expectations (14 July)

Unit testing Clojure with clojure.test and expectations

Clojure observability and debugging tools (16 May)

Observability and debugging tools in Clojure

2020 Leiningen developer experience and REPL tools (07 March)

Setting up Clojure's Leiningen developer experience and REPL tools

2020 Clojure Development with Lein and Rebel-Readline (01 March)

Development environment for Clojure with Lein and Rebel Readline

Using Python from Clojure (libpython-clj) (20 February)

Using Python libraries from Clojure using libpython-clj


2017

Transparently editing encrypting files with GnuPG and Vim (14 May)

Editing encrypted files with Vim and GnuPG


2016

Hibernation and delayed hibernation for Ubuntu 16.04 LTS (10 December)

Mixing suspend and hibernate in 16.04

The state of open source in 2016 (30 August)

Reviewing the state of open source in 2016 as preparation for OSCON

XTerm colour set-up and Molokai theme (15 June)

XTerm 256 colour set-up, colour themes and a Molokai terminal theme.

XTerm introduction and TrueType fonts configuration (14 June)

Overview of using XTerm, basic configuration and TrueType fonts set-up.

Color maps in Matplotlib (31 March)

Altering Matplotlibs colormap to improve plots truthiness.

Vim surround plugin tutorial (19 March)

Introduction to the vim-surround plugin.

Partial colouring of text in Matplotlib with LaTeX (14 March)

Partial colouring of text in Matplotlib with LaTeX.

Complex text formatting in Matplotlib using LaTeX (13 March)

Using LaTeX in Matplotlib for complex text formatting.

Handling text in Matplotlib (01 March)

Handling text in Matplotlib to describe and annotate plots.

Matplotlib: beautiful plots with style (27 February)

Using styles and fonts to make matplotlib plots look great.

Automating development environment set-up with Direnv (03 February)

Automatically setting up a development environment when changing into a project directory

A menu launcher for i3 - Snapfly (16 January)

Setting up Snapfly, a menu launcher with the i3 window manager


2015

Writing and highlighting source code in reStructured Text (RST) (07 August)

Marking-up and highlighting source code in RST with Docutils and Pygments.


2014

Thoughts on eight years of Ubuntu and open source (07 August)

Eight years working on Ubuntu and open source.

Upgrading to Pelican 3.4 (19 July)

How I upgrade my Pelican blog. This is for Pelican 3.4.

Site search with Tipue for Pelican (19 April)

Adding site search to your Pelican blog using the Tipue Javascript plugin.

Schindelhauer Siegfried bike from Velorution (02 April)

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 South Africa (02 February)

Climbing Table Mountain in Cape Town South Africa


2013

Long Easter weekend (02 April)

Getting to know the Python blog engine Pelican


2012

ARMing your servers and the data centre (18 August)

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 …


2010

Arkeia Network Backup for Ubuntu (14 January)

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 …


2006

BBC builds collaborative future (26 April)

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 …

Apple iTunes DRM must interoperate say French (22 March)

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 …

Wordpress.com blog FeedBlitz e-mail subscriptions (04 January)

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 …