Creating a remote factory reset mode for Raspian - Part 2

In this article I go over the details of creating a factory reset partition for the current (April 18) raspian stretch lite official. With a little bit of work it can be generalized to factory reset any image. The article also covers some of the tools for managing loopback, partitions, filesystems etc

Creating a remote factory reset mode for Raspian - Part 1

Here I show using a recovery partition that can be remotely restored to a pristine Raspian install. Currently the script only supports Raspbian lite, but it can be easily extended to the full fat desktop image.

Comparison of open source file sync tools - part 2 Perkeep

Dropbox does a good job of syncing files, and if you pay for it, keeping an extended history of versions files, but searching in them? not so much. Perkeep is an open source app written in go which aims to provide tools for storing, searching, and sharing rich data (including files obviously…).

Comparison of open source file sync tools - part 1 intro

Recently my dropbox has become pretty bloated… with a decent fibre connection and 1TB of space, I’ve quickly ended up with an unmanagable monster. In this first part I discuss what I like about Dropbox, and what I might be looking for in an open-source alternative.

How to run a part of a playlist/role with dynamic includes in ansible with tags - part 2

Since I wrote up my experience of needing a work-around for using ansible tags on dynamic includes the ansible team have fixed the issue that was causing a problem, and tags now work much better. You need ansible version 2.5.0+ but this article shows how you can use them for very granular debugging.

How to run a part of a playlist/role with dynamic includes in ansible with tags - part 1

(This article specifically relates to ansible 2.4.3 – the behaviour has changed in version 2.5.0 and this work-around is no longer required)

When debugging a role or playbook it’s useful to be able to run just a few tasks at once. Especially once your configuration gets sizable. Ansible supports a tags feature, however it’s not as straightforward to use this feature as you might expect if you make use of include_role or include_tasks with with_items or when: clauses. If you wnat this to work with dynamic includes, you have to take some extra steps. In this article I discuss a work-around to allow using tags to run only tagged tasks which have been dynamically included.