duncan­lock­.net

Archive

2024

January

25th January, 2024
4 min read

Sci-Fi Short Stories to Read Aloud with the Kids

I've been trying to read a Sci-Fi short story to the kids at bedtime, in between other longer books. This is how it's been going.

4th January, 2024
5 min read

Super Fast Reader Mode for the Entire Web, with Dillo Plus

Want "Reader Mode" for (almost) the entire web - and have every page load almost instanly? Here's how.

2023

May

28th May, 2023
2 min read

Thanks, David Peter (sharkdp)!

Thank you to David Peter for your hard work making the world a better place through open source.

27th May, 2023
1 min read

Debugging with an existing browser instance, or Brave in VSCode

How to use an existing instance of a browser to debug in VSCode - instead of always launching a new one, or use debug in Brave.

25th May, 2023
3 min read

Thanks, Zachary Yedidia (zyedidia)!

Thank you to Zachary Yedidia for your hard work making the world a better place through open source.

23rd May, 2023
1 min read

Using git hashes in Vite & VueJS

How to use git hashes - or other environment variables in Vite & Vue 3

22nd May, 2023
2 min read

Thanks, Andrew Gallant (burntsushi)!

Thank you to Andrew Gallant for your hard work making the world a better place through open source.

2022

December

3rd December, 2022
2 min read

Fixing apt: Key is stored in legacy trusted.gpg keyring Warnings

How apy keys work, what .source files are and how to fix Key is stored in legacy trusted.gpg keyring Warnings

November

22nd November, 2022
1 min read

Automatically Publishing a Blogroll from an OPML File

I wrote a little script that asks Miniflux for a list of my feeds in OPML format and turns it into an AsciiDoc page

October

18th October, 2022
2 min read

Review: Morcheeba Blackest Blue Tour, Vancouver 2022

Fun, music great, lighting great, encore fantastic. Loads of audience participation, singing and dancing throughout.

4th October, 2022
2 min read

Review: Florence + the Machine Gig, Vancouver 2022

The incredible, joyous, wonderful Florence + the Machine. Amazing.

May

29th May, 2022
9 min read

Supply Chain Attacks & Package Managers - a Solution?

In their When Will We Learn post, Drew DeVault says that 'The correct way to ship packages is with your distribution's package manager.' I wanted to try and figure out if this would work in practice, what that might look like, and how that might scale.

9th May, 2022
2 min read

Review: Sigur Rós World Tour, Vancouver 2022

Good, but I didn't feel very engaged with the music.

April

6th April, 2022
12 min read

Using Windows after 15 years on Linux

I've been using Linux exclusively for ~15 yrs. This is my first time using Windows after a 15-year break. This is how it's been going.

March

20th March, 2022
1 min read

Write to Minister Guilbeault Opposing Bay Du Nord Offshore Oil Development

I've just sent a message to Minister Guilbeault and key cabinet ministers opposing Bay Du Nord offshore oil development.

16th March, 2022
2 min read

Review: Nick Cave & Warren Ellis Gig, Vancouver 2022

A spellbinding & breathtaking evening, with a couple of surprising jewels, in a night full of riches.

6th March, 2022
1 min read

The Python Black formatter outputs to stderr, not stdout

The Python Black formatter outputs to stderr, not stdout

5th March, 2022
1 min read

Windows PowerShell aliases can’t have parameters, you need to write a function.

Windows PowerShell does support aliases, but doesn't support commands with parameters in aliases - you have to create a function

February

24th February, 2022
1 min read

Templating JSON data into a Variable, in Bash

How to template out JSON in Bash

2021

November

13th November, 2021
2 min read

Three Editor Use Cases

I have three different text editors, that I use for three distinct use cases.

9th November, 2021
8 min read

Styleable Inline SVG Icons, with Caching & Fallback

A fairly simple, inline, styleable SVG sprite system for icons, with caching and fallback.

6th November, 2021
2 min read

You Should Write to Your UK MP about Corruption Now

I've just emailed my UK MP to complain about government corruption & Owen Patterson. You should do the same.

1st November, 2021
1 min read

A ‘git up’ alias that works for any default branch

How to find a git repositories default branch name

September

19th September, 2021
2 min read

Speedrunning Computer Games History with a 6yr Old - Part 4

The one where we played Legend of Zelda in our underpants.

August

14th August, 2021
5 min read

How to Contribute a Change to Nginx

I wanted to add dark mode support to the default nginx "Welcome to nginx" page. This is the process of getting that change from my brain, into the upstream nginx codebase.

5th August, 2021
1 min read

Cssmin is Unmaintained & has a Bug with Complex :is Selectors

cssmin is unmaintained & has a bug with complex :is selectors

July

24th July, 2021
2 min read

Custom Per Page CSS With Pelican

Sometimes I want to have a just _a tiny bit_ of CSS that's unique, just for one page or post. I don't want a whole new stylesheet, or to have to add this to my site-wide theme, just for one post - I want a simple way to add it in the post itself. This is how I did it.

19th July, 2021
1 min read

The CSS :is selector is pretty neat

You can use the new CSS :is selector to write complex CSS selectors in a much more compact way

13th July, 2021
1 min read

Don’t Put Eggs Under Your Tomatoes, if you have Raccoons

They will dig up your garden to get them.

11th July, 2021
1 min read

Running python webservers on port 80 without root

How to allow python (or anything else) to listen/bind to port 80 without being root

June

22nd June, 2021
1 min read

Ninja is a surprisingly nice build system for tiny projects

Ninja is a surprisingly nice build system for tiny projects. That's more or less the opposite of what it's designed for, but it works really well for tiny things.

21st June, 2021
1 min read

Better content-type guessing in AWS CLI

The content-type guessing done by AWS CLI is based on the mimetype definitions available on your system. You can improve the mimetype guessing by updating these definitions.

21st June, 2021
1 min read

Fixing content types in s3 using the AWS CLI

I had an issue where the AWS CLI wasn't guessing the content-type of SVG files correctly on sync and was setting them to `application/octet-stream` - the default "I don't know" mimetype. This is a quick fix for that.

16th June, 2021
3 min read

Lessons from Two Years of Fermenting

Here's what I've learned from fermenting vegetables of various kinds (and occasionally other things) at home for a little over two years. It's a fun, interesting & nutritious hobby.

15th June, 2021
1 min read

Good, simple, Bash slugify function

How to slugify strings in bash, using a fairly simple function.

15th June, 2021
1 min read

Promise.allSettled in JavaScript

Sometimes I want to resolve several promises at once, then do something when they're all done. For example, make several API calls, then do something with all the results. Promise.allSettled is a better way to do this.

9th June, 2021
1 min read

Nullish coalescing in JavaScript (??)

My new favourite thing in JS is Nullish coalescing: The nullish coalescing operator (??) is a logical operator that returns its right-hand side operand when its left-hand side operand is null or undefined, and otherwise returns its left-hand side operand.

April

25th April, 2021
3 min read

Speedrunning Computer Games History with a 6yr Old - Part 3

The one where we just play Gauntlet over and over.

March

27th March, 2021
4 min read

Speedrunning Computer Games History with a 6yr Old - Part 2

It's been almost four months since we started and it's been, predictably, lots of fun.

January

12th January, 2021
12 min read

Using AsciiDoc & Asciidoctor for blogging

Using AsciiDoc & Asciidoctor for blogging.

2020

December

27th December, 2020
7 min read

Speedrunning Computer Games History with a 6yr Old - Part 1

The kid doesn't really know any better, so we can play Space Invaders unsullied by time and expectations and enjoy a speedrun through gaming history, playing just the highlights.

April

28th April, 2020
3 min read

Fermented Bánh Mì/Đồ Chua(ish) Recipe

My very loose adaptation of traditional Vietnamese Bánh Mì/Đồ Chua, honed by trial and error into this simple & delicious form.

2019

August

10th August, 2019
3 min read

Basic Pickles or Fermented Cucumbers Recipe

Here's my fermented cucumbers recipe, honed to perfection over many trials.

2016

March

22nd March, 2016
3 min read

I finally figured out my mysterious 418/Unused HTTP Status Code

I've had a mysterious broken page on this site for a while - but been too busy to look into it. I finally made the time to figure it out.

5th March, 2016
3 min read

How I upgraded this website to Pelican 3.6

This site has been generated using Pelican 3.3 for over two years. I finally found some time to upgrade to the current version of Pelican, 3.6.3. This is how I did the upgrade.

2014

January

22nd January, 2014
2 min read

Reliably Building VirtualBox Guest Additions on CentOS 6.x

It took me a while to figure out how to get the VirtualBox Guest Additions to build reliably on CentOS 6.x - here's how to do it.

2013

November

22nd November, 2013
1 min read

It was a Good Week

I am a very, very lucky guy - and I have a lot to be thankful for.

18th November, 2013
1 min read

How to create thumbnails for PDFs with ImageMagick on Linux

How to create image thumbnails for PDFs, on Linux, using ImageMagick - a simple explanation, with examples.

October

19th October, 2013
4 min read

The Better Figures & Images Pelican plugin now supports Figure Numbering

My Better Figures & Images Pelican plugin now supports automatic Figure Numbering - Yay! Here's how it works.

18th October, 2013
4 min read

How I upgraded this website to Pelican 3.3

A few of the changes in Pelican 3.3 might mean making some changes to your site in order to upgrade. Here's how I upgraded my site from Pelican 3.2 to 3.3.

September

13th September, 2013
1 min read

Obrigado Deny!

I've recently been corresponding with Denny Dias, from Brazil - and we've been helping each other out a bit with building themes and whatnot...

August

27th August, 2013
9 min read

Comprehensive Linux Backups with etckeeper & backupninja

Having an easy to setup, comprehensive, automated backup strategy is very relaxing - here's how to create one.

19th August, 2013
1 min read

How to convert FLAC files from 24/48 bit to 16 bit on Ubuntu Linux

How to convert FLAC files from 24/48bit to 16bit - converting all the files in a folder, preserving the metadata.

July

17th July, 2013
10 min read

Sunshine Coast: Thormanby Islands & Smuggler Cove Kayak Trip

Trip Report from our Canada Day 2013 long weekend kayak camping trip to Thormanby Islands, Smuggler Cove & Secret Cove, on the Sunshine Coast, BC.

5th July, 2013
3 min read

How I compress PNG files on this website

Using a careful combination of compression techniques, I can get up to 3x compression over regular PNG files, for my use case. Here's how...

June

28th June, 2013
3 min read

Useful Thunar Custom Actions

Here's how to add useful custom actions to Thunar's right click menu - and a collection of handy actions to get you started.

23rd June, 2013
2 min read

Post Statistics Plugin for Pelican

A Pelican plugin to calculate various statistics about a post and store them in an `+article.stats+` dictionary. Includes time to read, word count, word frequency and Flesch-kincaid stats.

19th June, 2013
14 min read

A Marvellous & Incomplete Compendium of reddit Automatons & Bots

Reddit had 71.4m visitors last month, with over 2.3m people logged in. I say people - but it turns out that not all of the denizens of Reddit are human. There are also bots. Lots and lots of bots...

14th June, 2013
11 min read

The Smart Guide to Stack Overflow: Zero to Hero

How to use Stack Overflow effectively, how to gain reputation and become a valued, successful member of the community.

7th June, 2013
9 min read

How to switch to Compton for beautiful tear free compositing in XFCE

How to quickly & easily setup & configure Compton in XFCE for beautiful, tear free, glassy smooth window dragging, drop shadows, etc...

May

31st May, 2013
7 min read

Magic Phone Numbers: My VOIP Setup, with voip.ms

I wanted something better than Skype, exactly like a regular local phone number - just call it and ring a phone on the other side of the world, for free.

29th May, 2013
8 min read

Better Figures & Images Plugin for Pelican

How to get perfect and responsive images and figures with Pelican - using the Better Images & Figures Plugin.

17th May, 2013
9 min read

How I built this website, using Pelican: Part 1 - Setup

I take you from zero to a complete, fully functional website, built the way a professional web developer would do it, using Pelican.

13th May, 2013
4 min read

Using UDF as an improved filesystem for USB Flash Drives

Most USB Flash drives are formatted using the FAT32 filesystem - which only supports files up to 4GB each, no matter how much free space you've got.

7th May, 2013
1 min read

How to convert Apple Lossless/ALAC/.m4a files to FLAC with avconv, on Ubuntu Linux

How to convert from ALAC to FLAC - converting all the .m4a files in a folder to .flac files, preserving the metadata.

3rd May, 2013
2 min read

How to set your Compose Key on XFCE/Xubuntu & LXDE Linux

The compose key on Linux is _incredibly_ useful, but not set by default - and on XFCE there's currently no GUI to change it. Here's how to do it...

April

26th April, 2013
3 min read

Welcome to the New Site; same as the Old Site.

I've been meaning to consolidate my personal websites onto this domain for a _long, long_ time. My original personal website, dflock.co.uk, started in the late nineties - and has been getting a bit long in the tooth of late.