Here is a full list of posts to the blog.

Find your motivation
Posted Wed Apr 19 11:24:16 2017 by Daniel Silverstone
Is your process running 2 - Nobody does pidfiles right
Posted Wed Apr 19 11:20:30 2017 by Richard Maw
New project? Start with the scaffolding
Posted Wed Apr 5 11:00:06 2017 by Lars Wirzenius
Sweetie! You're gonna be a movie star! - Recording your Terminal
Posted Wed Mar 29 11:00:06 2017 by Daniel Silverstone
Is your process running 1 - Parsing proc and why you shoudn't
Posted Wed Mar 22 12:00:08 2017 by Richard Maw
What is this disgusting smell? On software bit rot
Posted Wed Mar 15 12:00:07 2017 by Lars Wirzenius
What I look for in a F/LOSS applicant
Posted Wed Mar 8 12:00:07 2017 by Daniel Silverstone
Facilitating is no less valuable than contributing
Posted Wed Mar 1 12:00:07 2017 by Richard Maw
Please be careful when you test
Posted Wed Feb 22 12:00:06 2017 by Daniel Silverstone
Things I learned at FOSDEM
Posted Wed Feb 15 12:00:08 2017 by Richard Maw
Internationalisation and Other Fruit
Posted Wed Feb 8 12:00:07 2017 by Will Holland
Semantic $THING
Posted Wed Feb 1 12:00:06 2017 by Daniel Silverstone
The XDG base directory standard
Posted Wed Jan 25 12:00:07 2017 by Richard Maw
Give credit where credit is due
Posted Wed Jan 18 12:00:06 2017 by Daniel Silverstone
FHS, the filesystem hierarchy standard
Posted Wed Jan 11 12:00:06 2017 by Lars Wirzenius
Writing for others
Posted Wed Jan 4 12:00:08 2017 by Daniel Silverstone
Giving Presentations
Posted Wed Dec 21 12:00:07 2016 by Daniel Silverstone
Achieving simplicity and greatness
Posted Wed Dec 14 12:00:07 2016 by Lars Wirzenius
Code for fun
Posted Wed Dec 7 12:00:07 2016 by Daniel Silverstone
Get your code out there
Posted Wed Nov 30 12:00:09 2016 by Richard Maw
Software un-design
Posted Wed Nov 23 12:00:06 2016 by Daniel Silverstone
How difficult is it to move a file atomically?
Posted Wed Nov 16 12:00:07 2016 by Richard Maw
Dancing to someone else's tune
Posted Wed Nov 9 12:00:07 2016 by Daniel Silverstone
Atomic file creation with temporary files
Posted Wed Nov 2 12:00:07 2016 by Richard Maw
Atomically clobbering files
Posted Wed Oct 26 11:00:12 2016 by Richard Maw
How difficult is it to preserve extended attributes when moving a file?
Posted Wed Oct 19 11:00:06 2016 by Richard Maw
Dealing with bugs against your project
Posted Wed Oct 12 11:00:07 2016 by Lars Wirzenius
How difficult is it to preserve extended attributes when moving a file?
Posted Wed Oct 5 11:00:09 2016 by Richard Maw
How difficult is it to preserve flags when moving a file?
Posted Wed Sep 28 11:00:06 2016 by Richard Maw
Be liberal in what you accept, and strict in what you produce
Posted Wed Sep 21 11:00:08 2016 by Daniel Silverstone
Software freedom business models
Posted Wed Sep 14 11:00:07 2016 by Lars Wirzenius
Be gracious in how you accept
Posted Wed Sep 7 11:00:07 2016 by Daniel Silverstone
How difficult is it to preserve metadata when moving a file?
Posted Wed Aug 31 11:00:07 2016 by Richard Maw
Workflow and tools
Posted Wed Aug 24 11:00:07 2016 by Daniel Silverstone
How difficult is it to move a file quickly?
Posted Wed Aug 17 11:00:06 2016 by Richard Maw
Reduce, Reuse, Recycle
Posted Wed Aug 10 11:00:10 2016 by Daniel Silverstone
How difficult is it to move a sparse file?
Posted Wed Aug 3 11:00:07 2016 by Richard Maw
Which license is the most free?
Posted Wed Jul 27 11:00:07 2016 by Lars Wirzenius
Hacking alone, hacking together
Posted Wed Jul 20 11:00:08 2016 by Daniel Silverstone
How difficult is it to move a file?
Posted Wed Jul 13 11:00:06 2016 by Richard Maw
Keep notes
Posted Wed Jul 6 11:00:06 2016 by Daniel Silverstone
Writing documentation
Posted Wed Jun 29 11:00:06 2016 by Lars Wirzenius
argp, for getopt users
Posted Wed Jun 22 11:00:07 2016 by Richard Maw
Inputting complex characters
Posted Wed Jun 15 11:00:07 2016 by Daniel Silverstone
Parsing command line argument values from C
Posted Wed Jun 8 11:00:06 2016 by Richard Maw
Enforcing your rights
Posted Wed Jun 1 11:00:07 2016 by Daniel Silverstone
Parsing command line arguments from C
Posted Wed May 25 11:00:08 2016 by Richard Maw
Estimating how many people use your software
Posted Wed May 18 11:00:10 2016 by Lars Wirenius
Event driven programming
Posted Wed May 11 11:00:06 2016 by Daniel Silverstone
Command line arguments
Posted Wed May 4 11:00:07 2016 by Richard Maw
Getting started with a project
Posted Wed Apr 27 11:00:08 2016 by Daniel Silverstone
When all is sed and done
Posted Wed Apr 20 11:00:09 2016 by Will Holland
Finite Automata
Posted Wed Apr 13 11:00:08 2016 by Daniel Silverstone
State machines in C
Posted Wed Apr 6 11:00:07 2016 by Richard Maw
How open-source can go wrong
Posted Wed Mar 30 11:00:06 2016 by Jonathan Maw
Scripting languages - packaging your modules
Posted Wed Mar 23 12:00:09 2016 by Daniel Silverstone
Practice programs
Posted Wed Mar 16 12:00:07 2016 by Lars Wirzenius
I'd tell you the joke about UDP, but you might not get it.
Posted Wed Mar 9 12:00:07 2016 by Richard Maw
Code modules in scripting languages
Posted Wed Mar 2 12:00:11 2016 by Daniel Silverstone
Dotfiles
Posted Wed Feb 24 12:00:07 2016 by Will Holland
Writing documents with Pandoc
Posted Wed Feb 17 12:00:06 2016 by Richard Maw
Control Structures in Scripting
Posted Wed Feb 10 12:00:08 2016 by Daniel Silverstone
FIFO, fifo, it's off to work we go!
Posted Wed Feb 3 12:00:06 2016 by Richard Maw
Random Numbers in Linux
Posted Wed Jan 27 12:00:07 2016 by Will Holland
Myths programmers believe about file paths
Posted Wed Jan 20 12:00:06 2016 by Richard Maw
Chunks of scripting
Posted Wed Jan 13 12:00:07 2016 by Daniel Silverstone
Simple data structures in scripting languages
Posted Wed Jan 6 12:00:07 2016 by Daniel Silverstone
The secret to writing fast python programs
Posted Wed Dec 30 12:00:08 2015 by Richard Maw
Sort out deployment first
Posted Wed Dec 23 12:00:08 2015 by Lars Wirzenius
Writing programs for composability
Posted Wed Dec 16 12:00:08 2015 by Richard Maw
Starting with scripting
Posted Wed Dec 9 16:25:04 2015 by Daniel Silverstone
D-Bus
Posted Wed Dec 2 12:00:07 2015 by Richard Maw
The value in attending conferences
Posted Wed Nov 25 12:00:08 2015 by Richard Maw
Domain specific languages
Posted Wed Nov 18 12:00:07 2015 by Daniel Silverstone
Networking - DHCP
Posted Wed Nov 11 12:00:08 2015 by Richard Maw
Using the Python profiler
Posted Wed Nov 4 12:00:07 2015 by Lars Wirzenius
Systemd 7 - cron, at and systemd timers
Posted Wed Oct 28 12:00:07 2015 by Richard Maw
Using Open Software on a Closed Platform
Posted Wed Oct 21 11:00:06 2015 by Daniel Silverstone
The Joys of Esoteric Languages
Posted Wed Oct 14 11:00:07 2015 by Will Holland
Nerds of a feather flock(1) together
Posted Wed Oct 7 11:00:06 2015 by Richard Maw
Orchestration frameworks
Posted Wed Sep 30 11:00:08 2015 by Daniel Silverstone
On making releases
Posted Wed Sep 23 11:00:06 2015 by Lars Wirzenius
Wikis
Posted Wed Sep 16 11:00:07 2015 by William Holland
Networking - Namespaces
Posted Wed Sep 9 11:00:06 2015 by Richard Maw
Coding for the lulz
Posted Wed Sep 2 11:00:07 2015 by Daniel Silverstone
Some things people get wrong about Free Software
Posted Wed Aug 26 11:00:06 2015 by Daniel Silverstone
Networking - Addresses and Routes
Posted Wed Aug 19 11:00:07 2015 by Richard Maw
Message Queues
Posted Wed Aug 12 11:00:07 2015 by Daniel Silverstone
From boot to shutdown
Posted Wed Aug 5 11:00:08 2015 by Richard Maw
Networking - Interfaces
Posted Wed Jul 29 11:00:06 2015 by Richard Maw
Expectations of free software developers
Posted Wed Jul 22 11:00:07 2015 by Lars Wirzenius
Bus Factor
Posted Wed Jul 15 11:00:06 2015 by Daniel Silverstone
Networking - Sockets and Ports
Posted Wed Jul 8 11:00:08 2015 by Richard Maw
systemd for the uninformed - networking
Posted Wed Jul 1 11:00:07 2015 by Richard Maw
Project organisation
Posted Wed Jun 24 11:00:07 2015 by Daniel Silverstone
systemd for the uninformed - managing machines
Posted Wed Jun 17 11:00:09 2015 by Richard Maw
Jargon
Posted Wed Jun 10 11:00:09 2015 by Will Holland
A place for everything, and everything in its place
Posted Wed Jun 3 11:00:08 2015 by Daniel Silverstone
systemd for the uninformed - session and seat management with logind
Posted Wed May 27 11:00:08 2015 by Richard Maw
Interacting with upstream
Posted Wed May 20 11:00:18 2015 by Richard Maw
Why organisations contribute to FOSS projects
Posted Wed May 13 11:00:07 2015 by Richard Maw
Gaming on Linux
Posted Wed May 6 11:00:15 2015 by Richard Maw
systemd for the uninformed - The Journal
Posted Wed Apr 29 11:00:09 2015 by Richard Maw
Reading Yakking more comfortably
Posted Wed Apr 22 11:00:11 2015 by Daniel Silverstone
systemd for the uninformed - udev device management
Posted Wed Apr 15 11:00:10 2015 by Richard Maw
Daemons - the not flying out of your nose kind
Posted Wed Apr 8 11:00:14 2015 by Richard Maw
systemd for the uninformed
Posted Wed Apr 1 11:00:09 2015 by Richard Maw
Permissions
Posted Wed Mar 25 12:00:09 2015 by Richard Maw
Storage on Linux
Posted Wed Mar 18 12:00:10 2015 by Daniel Silverstone
Why everything being a file is a good thing
Posted Wed Mar 11 12:00:10 2015 by Richard Maw
Organising your $HOME
Posted Wed Mar 4 12:00:09 2015 by Lars Wirzenius
Everything is a file
Posted Wed Feb 25 12:00:08 2015 by Richard Maw
Uses of SSH
Posted Wed Feb 18 11:00:12 2015 by Richard Maw
Software Updates
Posted Wed Feb 11 11:00:10 2015 by Richard Maw
The role of Linux distributions
Posted Wed Feb 4 12:00:09 2015 by Richard Maw
Virtualised systems
Posted Wed Jan 28 12:00:09 2015 by Daniel Silverstone
Writing shell in any language
Posted Wed Jan 21 12:00:08 2015 by Richard Maw
find, xargs, and parallel: fun toys
Posted Wed Jan 14 12:00:08 2015 by Lars Wirzenius
Principle of least surprise
Posted Wed Jan 7 12:00:07 2015 by Daniel Silverstone
Cool bits of C
Posted Wed Dec 31 12:00:08 2014 by Richard Maw
Give the gift of Freedom this Christmas
Posted Wed Dec 24 12:00:07 2014 by Daniel Silverstone
Avoid generalisations, most of the time
Posted Mon Dec 22 12:00:08 2014 by Lars Wirzenius
Cool features of python you should know about
Posted Wed Dec 17 12:00:06 2014 by Richard Maw
GnuPG (gpg): a brief introduction
Posted Wed Dec 10 18:14:30 2014 by Lars Wirzenius
Integrated Development Environments
Posted Wed Dec 3 12:00:08 2014 by Daniel Silverstone
Tools I use
Posted Wed Nov 26 12:00:15 2014 by Lars Wirzenius
A Mars® a day helps you Work, Hack and Play
Posted Wed Nov 19 12:00:09 2014 by Daniel Silverstone
Resource handling 4 - Java and Python
Posted Wed Nov 12 12:00:08 2014 by Richard Maw
Resource handling 3 - C and C++
Posted Wed Nov 5 12:00:10 2014 by Richard Maw
Resource handling 2 - Garbage Collection
Posted Wed Oct 29 12:00:06 2014 by Daniel Silverstone
Resource handling 1 - General Concepts
Posted Wed Oct 22 11:00:08 2014 by Richard Maw
Software testing
Posted Wed Oct 15 11:00:08 2014 by Daniel Silverstone
Workstations and Hackstations
Posted Wed Oct 8 11:00:07 2014 by Richard Maw
Setting the Bash shell prompt
Posted Wed Oct 1 11:00:10 2014 by Lars Wirzenius
Routing, and network services on Linux
Posted Wed Sep 24 11:00:08 2014 by Daniel Silverstone
The importance of using Library code
Posted Wed Sep 17 11:00:09 2014 by Richard Maw
Editing the shell command line
Posted Wed Sep 10 11:00:06 2014 by Lars Wirzenius
Why you should use a tiling window manager
Posted Wed Sep 3 11:00:09 2014 by Richard Maw
Keeping your configuration safe
Posted Wed Aug 27 11:00:08 2014 by Daniel Silverstone
Advanced uses of GNU screen
Posted Wed Aug 20 11:00:06 2014 by Richard Maw
Looking at the shell history
Posted Wed Aug 13 11:00:06 2014 by Lars Wirzenius
GNU screen the terminal multiplexer
Posted Wed Aug 6 11:00:13 2014 by Richard Maw
Plagiarise Plagiarise Plagiarise! Only be sure always to call it please 'research'
Posted Wed Jul 30 11:00:09 2014 by Daniel Silverstone
Job control in bash
Posted Wed Jul 23 11:00:10 2014 by Richard Maw
Version Numbering
Posted Wed Jul 16 11:00:07 2014 by Daniel Silverstone
Influential works to read
Posted Wed Jul 9 11:00:06 2014 by Lars Wirzenius
Unix Operating System tools
Posted Wed Jul 2 11:00:12 2014 by Richard Maw
My Browser History
Posted Wed Jun 25 11:00:08 2014 by Daniel Silverstone
Be a mensch
Posted Wed Jun 18 11:00:06 2014 by Lars Wirzenius
Shell scripting commands
Posted Wed Jun 11 11:00:07 2014 by Richard Maw
Shell commands for data manipulation
Posted Wed Jun 4 11:00:11 2014 by Richard Maw
moreutils has some more handy utilities
Posted Wed May 28 11:00:09 2014 by Lars Wirzenius
Cryptography is not security
Posted Wed May 21 11:00:08 2014 by Daniel Silverstone
Dealing with bug reports against your own software
Posted Wed May 14 11:00:06 2014 by Lars Wirzenius
If you have no plan to maintain it, it will cease working.
Posted Wed May 7 11:00:12 2014 by Daniel Silverstone
Temporary file handling
Posted Wed Apr 30 11:00:07 2014 by Richard Maw
If you wouldn't want to use it yourself, why would anyone else?
Posted Wed Apr 23 11:00:10 2014 by Daniel Silverstone
Reporting bugs
Posted Wed Apr 16 11:00:07 2014 by Lars Wirzenius
If you are not measuring it, you don't know how well it's doing
Posted Wed Apr 9 11:00:14 2014 by Daniel Silverstone
Informational shell utilities
Posted Wed Apr 2 11:00:11 2014 by Richard Maw
If it's not backed up, you will lose it.
Posted Wed Mar 26 13:00:11 2014 by Daniel Silverstone
Diffs and patches
Posted Wed Mar 19 12:00:18 2014 by Lars Wirzenius
If it's not tested, it doesn't work.
Posted Wed Mar 12 12:00:08 2014 by Daniel Silverstone
File management with common shell commands
Posted Wed Mar 5 12:00:09 2014 by Richard Maw
If you haven't pushed it to revision control, it doesn't exist
Posted Wed Feb 26 12:00:13 2014 by Daniel Silverstone
Naming projects and stuff
Posted Wed Feb 19 12:00:14 2014 by Lars Wirzenius
If you don't have a plan, you will wander in the reeds.
Posted Wed Feb 12 12:00:10 2014 by Daniel Silverstone
File systems
Posted Wed Feb 5 12:00:09 2014 by Richard Maw
Transferring files between computers
Posted Wed Jan 29 12:00:08 2014 by Lars Wirzenius
If you don't know why you're doing it, you shouldn't be doing it.
Posted Wed Jan 22 12:00:08 2014 by Daniel Silverstone
Unix philosophy
Posted Wed Jan 15 12:00:10 2014 by Lars Wirzenius
Contributing to someone else's project
Posted Wed Jan 8 12:00:07 2014 by Lars Wirzenius
Twelve days of coding
Posted Mon Jan 6 12:00:07 2014 by A.N.Author
Coding styles and standards
Posted Tue Dec 31 12:00:18 2013 by Daniel Silverstone
Debugging: finding the bug
Posted Wed Dec 18 12:00:09 2013 by Lars Wirzenius
Whitespace safety in shell scripts
Posted Wed Dec 11 12:00:11 2013 by Richard Maw
Introduction to GDB
Posted Wed Dec 4 12:00:07 2013 by Richard Ipsum
Compiled languages
Posted Wed Nov 27 12:00:08 2013 by Daniel Silverstone
Unix permissions and mode bits
Posted Wed Nov 20 12:00:13 2013 by Lars Wirzenius
Basics of networking
Posted Wed Nov 13 12:00:07 2013 by Daniel Silverstone
Basics of version control systems
Posted Wed Nov 6 12:00:08 2013 by Lars Wirzenius
Shell Variables
Posted Wed Oct 30 10:00:08 2013 by Richard Maw
Using ssh -A for ssh agent forwarding
Posted Wed Oct 23 09:00:07 2013 by Lars Wirzenius
Input and Output redirection
Posted Wed Oct 16 09:00:06 2013 by Jonathan Maw
Regular Expressions and shell globs
Posted Wed Oct 9 09:00:06 2013 by Daniel Silverstone
Scripting
Posted Thu Oct 3 09:00:09 2013 by Richard Maw
Introduction to IRC
Posted Wed Sep 25 09:00:08 2013 by Lars Wirzenius
Basic shell tools
Posted Wed Sep 18 19:03:24 2013 by Daniel Silverstone
Basics of SSH
Posted Thu Sep 12 16:49:40 2013 by Lars Wirzenius
Navigating on-system documentation
Posted Wed Sep 4 12:24:31 2013 by Daniel Silverstone
Basics of the command line
Posted Wed Aug 28 11:02:44 2013 by Daniel Silverstone
Software freedom: an introduction
Posted Wed Aug 21 13:00:39 2013 by Lars Wirzenius
Welcome
Posted Wed Aug 21 12:56:55 2013 by Lars Wirzenius, Daniel Silverstone