Recent changes to this wiki:

Publish draft
diff --git a/posts/2017/01/07/hacker_noir_chapter_1_negotiation.mdwn b/posts/2017/01/07/hacker_noir_chapter_1_negotiation.mdwn
index 743817a..553280d 100644
--- a/posts/2017/01/07/hacker_noir_chapter_1_negotiation.mdwn
+++ b/posts/2017/01/07/hacker_noir_chapter_1_negotiation.mdwn
@@ -1,6 +1,6 @@
 [[!meta title="Hacker Noir, chapter 1: Negotiation"]]
 [[!meta date="2017-01-07 22:46"]]
-[[!tag noir announcement draft]]
+[[!tag noir announcement ]]
 
 I participated in Nanowrimo in November, but I failed to actually
 finish the required 50,000 words during the month. Oh well. I plan on

Fix type in filename
diff --git a/posts/2017/01/07/hacker_noir_chapter_1_negotiation.mdwn b/posts/2017/01/07/hacker_noir_chapter_1_negotiation.mdwn
new file mode 100644
index 0000000..743817a
--- /dev/null
+++ b/posts/2017/01/07/hacker_noir_chapter_1_negotiation.mdwn
@@ -0,0 +1,14 @@
+[[!meta title="Hacker Noir, chapter 1: Negotiation"]]
+[[!meta date="2017-01-07 22:46"]]
+[[!tag noir announcement draft]]
+
+I participated in Nanowrimo in November, but I failed to actually
+finish the required 50,000 words during the month. Oh well. I plan on
+finishing the book eventually, anyway.
+
+Furthermore, as an open source exhibitionist I thought I'd publish
+a chapter each month. This will put a bit of pressure on me to keep
+writing, and hopefully I'll get some nice feedback too.
+
+The working title is "Hacker Noir". I've put the first chapter up on
+<http://noir.liw.fi/>.
diff --git a/posts/2017/01/07/hacker_noire_chapter_1_negotiation.mdwn b/posts/2017/01/07/hacker_noire_chapter_1_negotiation.mdwn
deleted file mode 100644
index 743817a..0000000
--- a/posts/2017/01/07/hacker_noire_chapter_1_negotiation.mdwn
+++ /dev/null
@@ -1,14 +0,0 @@
-[[!meta title="Hacker Noir, chapter 1: Negotiation"]]
-[[!meta date="2017-01-07 22:46"]]
-[[!tag noir announcement draft]]
-
-I participated in Nanowrimo in November, but I failed to actually
-finish the required 50,000 words during the month. Oh well. I plan on
-finishing the book eventually, anyway.
-
-Furthermore, as an open source exhibitionist I thought I'd publish
-a chapter each month. This will put a bit of pressure on me to keep
-writing, and hopefully I'll get some nice feedback too.
-
-The working title is "Hacker Noir". I've put the first chapter up on
-<http://noir.liw.fi/>.

Tweakk and fix typo
diff --git a/posts/2017/01/07/hacker_noire_chapter_1_negotiation.mdwn b/posts/2017/01/07/hacker_noire_chapter_1_negotiation.mdwn
index 5726bbe..743817a 100644
--- a/posts/2017/01/07/hacker_noire_chapter_1_negotiation.mdwn
+++ b/posts/2017/01/07/hacker_noire_chapter_1_negotiation.mdwn
@@ -1,4 +1,4 @@
-[[!meta title="Hacker Noire, chapter 1: Negotiation"]]
+[[!meta title="Hacker Noir, chapter 1: Negotiation"]]
 [[!meta date="2017-01-07 22:46"]]
 [[!tag noir announcement draft]]
 
@@ -10,4 +10,5 @@ Furthermore, as an open source exhibitionist I thought I'd publish
 a chapter each month. This will put a bit of pressure on me to keep
 writing, and hopefully I'll get some nice feedback too.
 
-I've put the first chapter up on <http://noir.liw.fi/>.
+The working title is "Hacker Noir". I've put the first chapter up on
+<http://noir.liw.fi/>.

creating tag page tag/noir
diff --git a/tag/noir.mdwn b/tag/noir.mdwn
new file mode 100644
index 0000000..f8f62bd
--- /dev/null
+++ b/tag/noir.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged noir"]]
+
+[[!inline pages="tagged(noir)" actions="no" archive="yes"
+feedshow=10]]

Publish log entry
diff --git a/posts/2017/01/07/hacker_noire_chapter_1_negotiation.mdwn b/posts/2017/01/07/hacker_noire_chapter_1_negotiation.mdwn
new file mode 100644
index 0000000..5726bbe
--- /dev/null
+++ b/posts/2017/01/07/hacker_noire_chapter_1_negotiation.mdwn
@@ -0,0 +1,13 @@
+[[!meta title="Hacker Noire, chapter 1: Negotiation"]]
+[[!meta date="2017-01-07 22:46"]]
+[[!tag noir announcement draft]]
+
+I participated in Nanowrimo in November, but I failed to actually
+finish the required 50,000 words during the month. Oh well. I plan on
+finishing the book eventually, anyway.
+
+Furthermore, as an open source exhibitionist I thought I'd publish
+a chapter each month. This will put a bit of pressure on me to keep
+writing, and hopefully I'll get some nice feedback too.
+
+I've put the first chapter up on <http://noir.liw.fi/>.

Publish log entry
diff --git a/posts/2016/11/22/debian_miniconf_in_cambridge.mdwn b/posts/2016/11/22/debian_miniconf_in_cambridge.mdwn
new file mode 100644
index 0000000..cf18040
--- /dev/null
+++ b/posts/2016/11/22/debian_miniconf_in_cambridge.mdwn
@@ -0,0 +1,27 @@
+[[!meta title="Debian miniconf in Cambridge"]]
+[[!meta date="2016-11-22 19:08"]]
+[[!tag debian vmdebootstrap qvarn talk conference]]
+
+I spent a few days in Cambridge for a minidebconf. This is a tiny
+version of the full annual Debconf. We had a couple of days for
+hacking, and another two days for talks.
+
+I spent my hacking time on thinking about vmdebootstrap (my tool for
+generating disk images with an installed Debian), and came to the
+conclusion I need to atone my sins for writing such crappy code by
+rewriting it from scratch to be nicer to use. I gave a talk about
+this, too. The
+[mailing list post](https://lists.debian.org/debian-cloud/2016/11/msg00050.html)
+has the important parts, and
+[meetings-archive](http://meetings-archive.debian.net/pub/debian-meetings/2016/miniconf_cambridge16/)
+has a video.
+
+I haven't started the rewrite, and it's not going to make it for
+stretch.
+
+I also gave two other talks, on the early days of Linux, and
+[Qvarn](http://qvarn.org), the latter being what I do at work.
+
+Thank you to ARM, for sponsoring the location, and the other sponsors
+for sponsoring food. These in-real-life meetings between developers
+are important for the productivity and social cohesion of Debian.

Allow hiearachy under posts for feeds
diff --git a/englishfeed.mdwn b/englishfeed.mdwn
index 1554294..961022a 100644
--- a/englishfeed.mdwn
+++ b/englishfeed.mdwn
@@ -1,5 +1,5 @@
 Feed for Planet Debian.
 
-[[!inline pages="posts/* and !posts/*/* and !tagged(in-finnish) and 
+[[!inline pages="page(posts/*) and !Discussion and !tagged(in-finnish) and 
                  !tagged(draft) and created_after(posts/dd-again)"
           description="liw's English language blog feed"]]
diff --git a/index.mdwn b/index.mdwn
index fac47cc..65fdc03 100644
--- a/index.mdwn
+++ b/index.mdwn
@@ -15,7 +15,7 @@ copyrighted by their authors.
 
 ---
 
-[[!inline pages="posts/* and !posts/*/* and !tagged(draft)"]]
+[[!inline pages="page(posts/*) and !Discussion and !tagged(draft)"]]
 
 ---
 

Remove tag draft to publish
diff --git a/posts/2016/10/29/obnam_1_20_released.mdwn b/posts/2016/10/29/obnam_1_20_released.mdwn
index fa26a07..e52345a 100644
--- a/posts/2016/10/29/obnam_1_20_released.mdwn
+++ b/posts/2016/10/29/obnam_1_20_released.mdwn
@@ -1,6 +1,6 @@
 [[!meta title="Obnam 1.20 released"]]
 [[!meta date="2016-10-29 12:30"]]
-[[!tag obnam announcement draft]]
+[[!tag obnam announcement]]
 
 I have just released version 1.20 of [Obnam][], my backup program.
 It's been nine months since the previous release, and that's a long

Fix release date for 1.20
diff --git a/posts/2016/10/29/obnam_1_20_released.mdwn b/posts/2016/10/29/obnam_1_20_released.mdwn
index 26b660c..fa26a07 100644
--- a/posts/2016/10/29/obnam_1_20_released.mdwn
+++ b/posts/2016/10/29/obnam_1_20_released.mdwn
@@ -31,7 +31,7 @@ development, called `green-albatross-20160813`. It is **NOT** meant
 for real use. It is likely to change in incompatible ways without
 warning. DO NOT USE it unless you're willing to lose your backup.
 
-Version 1.20, not yet released
+Version 1.20, released 2016-10-29
 ---------------------------------
 
 * The format name for `green-albatross` is renamed to

Fix link
diff --git a/posts/2016/10/29/obnam_1_20_released.mdwn b/posts/2016/10/29/obnam_1_20_released.mdwn
index 077fa9a..26b660c 100644
--- a/posts/2016/10/29/obnam_1_20_released.mdwn
+++ b/posts/2016/10/29/obnam_1_20_released.mdwn
@@ -18,7 +18,7 @@ people, and I'm grateful for those. I try to credit them by name in
 the NEWS file.
 
 [Obnam]: http://obnam.org/
-[NEWS]: yhttp://git.liw.fi/cgi-bin/cgit/cgit.cgi/obnam/tree/NEWS
+[NEWS]: http://git.liw.fi/cgi-bin/cgit/cgit.cgi/obnam/tree/NEWS
 [FORMAT GREEN ALBATROSS]: http://obnam.org/format-green-albatross/
 
 Obnam NEWS

Publish log entry
diff --git a/posts/2016/10/29/obnam_1_20_released.mdwn b/posts/2016/10/29/obnam_1_20_released.mdwn
new file mode 100644
index 0000000..077fa9a
--- /dev/null
+++ b/posts/2016/10/29/obnam_1_20_released.mdwn
@@ -0,0 +1,96 @@
+[[!meta title="Obnam 1.20 released"]]
+[[!meta date="2016-10-29 12:30"]]
+[[!tag obnam announcement draft]]
+
+I have just released version 1.20 of [Obnam][], my backup program.
+It's been nine months since the previous release, and that's a long
+time: I've had an exciting year, and not entirely in a good way.
+Unfortuntely that's eaten up a lot of my free time and enthusiasm for
+my hobby projects.
+
+See below for a snippet of [NEWS][], with a summary of the
+user-visible changes. A lot of the effort has gone into improving
+[FORMAT GREEN ALBATROSS][], but that isn't documented in the NEWS
+file.
+
+I've received patches and actionable bug reports from a number of
+people, and I'm grateful for those. I try to credit them by name in
+the NEWS file.
+
+[Obnam]: http://obnam.org/
+[NEWS]: yhttp://git.liw.fi/cgi-bin/cgit/cgit.cgi/obnam/tree/NEWS
+[FORMAT GREEN ALBATROSS]: http://obnam.org/format-green-albatross/
+
+Obnam NEWS
+==========
+
+This file summarizes changes between releases of Obnam.
+
+NOTE: Obnam has an **EXPERIMENTAL** repository format under
+development, called `green-albatross-20160813`. It is **NOT** meant
+for real use. It is likely to change in incompatible ways without
+warning. DO NOT USE it unless you're willing to lose your backup.
+
+Version 1.20, not yet released
+---------------------------------
+
+* The format name for `green-albatross` is renamed to
+  `green-albatross-20160813` and will henceforth be renamed every time
+  there's a change, to avoid confusing Lars because of backwards
+  incompatibilities. When it reaches stability and the on-disk format
+  is frozen, it'll be renamed back to a date-less version.
+
+* Those using the experimental green-albatross repository format will
+  have to start over with fresh repositories. This release contains
+  backwards incompatible changes that mean existing repositories no
+  longer work. Sorry, but that's what experimental means.
+
+* A green-albatross change is that the "chunk index" data structure is
+  no longer a single blob, and instead it's broken down into smaller
+  objects. This avoids keeping all of the chunk indexes in memory at
+  once, which should reduce memory use.
+
+* Remi Rampin started updating and continuing the French translation
+  of the Obnam manual.
+
+* Lars Wirzenius changed the default so that Obnam reads random data
+  when creating encryption key from `/dev/urandom` instead of
+  `/dev/random`. The goal is to make it less likely that Obnam stops
+  at the key generation stage on machines with little entropy. Set
+  `weak-random = no` in your configuration to override this.
+
+Minor changes:
+
+* Lars Wirzenius changed `obnam forget` so that if there is nothing to
+  do, it doesn't even try to connect to the repository.
+
+* Lars Wirzenius added a chapter on participating in the Obnam project
+  to the manual.
+
+* Lars Wirzenius changed `--one-file-system` to work for bind mounts.
+  It only works for bind mounts that exist at the time when Obnam
+  starts, however. Also, `/proc/mounts` must be an accurate list of
+  mount points.
+
+* Lars Wirzenius added the gpg command line to the error message about
+  gpg failing.
+
+Bug fixes:
+
+* The manual and manual page used to claim you could break only the
+  locks for one client. This was not true. The manuals has been fixed.
+
+* A whole bunch of typo fixes, from Andrea Gelmini.
+
+* Michel Alexandre Salim fixed a bug in the FUSE (obnam mount) plugin,
+  which was a typo in a method name (`get_clientgeneration_ids`).
+
+* Lars Wirzenius fixed `obnam restore` to require a target set with
+  `--to`. Jonathan Dowland reported the problem.
+
+* Lars Wirzenius fixed `obnam list-errors` so that it doesn't crash on
+  error classes that only exist to make the exception hierarchy
+  neater, such as `EncryptionError`. Bug reported by Rik Theys.
+
+* Ian Cambell fixed a bug in `obnam kdirstat` and its handling of FIFO
+  sockets.

Fix meta
diff --git a/posts/minipc-router.mdwn b/posts/minipc-router.mdwn
index a1b4923..dd73d5e 100644
--- a/posts/minipc-router.mdwn
+++ b/posts/minipc-router.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="A tiny PC as a router"]]
-[[!meta date="Tue, 04 Oct 2016 12:56:23 +0300"]
+[[!meta date="Tue, 04 Oct 2016 12:56:23 +0300"]]
 [[!tag minipc router]]
 
 We needed a router and wifi access point in the office, and

Set meta data
diff --git a/posts/minipc-router.mdwn b/posts/minipc-router.mdwn
index 9372f22..a1b4923 100644
--- a/posts/minipc-router.mdwn
+++ b/posts/minipc-router.mdwn
@@ -1,4 +1,5 @@
 [[!meta title="A tiny PC as a router"]]
+[[!meta date="Tue, 04 Oct 2016 12:56:23 +0300"]
 [[!tag minipc router]]
 
 We needed a router and wifi access point in the office, and

Fix CPU frequency
diff --git a/posts/minipc-router.mdwn b/posts/minipc-router.mdwn
index cd187f3..9372f22 100644
--- a/posts/minipc-router.mdwn
+++ b/posts/minipc-router.mdwn
@@ -32,7 +32,7 @@ We got some hardware:
 [[!table data="""
 Component     | Model                                                             | Cost
 Barebone      | Qotom Q190G4, VGA, 2x USB 2.0, 134x126x36mm, fanless              | 130€
-CPU           | Intel J1900, 2-2.4MHz quad-core                                   | -
+CPU           | Intel J1900, 2-2.4GHz quad-core                                   | -
 NIC           | Intel WG82583, 4x 10/100/1000                                     | -
 Memory        | Crucial CT102464BF160B, 8GB DDR3L-1600 SODIMM 1.35V CL11          | 40€
 SSD           | Kingston SSDNow mS200, 60GB mSATA                                 | 42€

Fix internal link
diff --git a/posts/minipc-router.mdwn b/posts/minipc-router.mdwn
index 5bf6358..cd187f3 100644
--- a/posts/minipc-router.mdwn
+++ b/posts/minipc-router.mdwn
@@ -101,5 +101,5 @@ If you'd like to use the images and Ansible playbooks, please do. We'd
 be happy to get feedback, bug reports, and patches. Send them to me
 (liw@liw.fi) or my ticketing system (bugs@liw.fi).
 
-[router image]: http://files.liw.fi/minipc-router/
+[installer image]: http://files.liw.fi/minipc-router/
 [ansible playbooks]: http://git.liw.fi/cgi-bin/cgit/cgit.cgi/minipc-router/tree/ansible

Add missing sentence
diff --git a/posts/minipc-router.mdwn b/posts/minipc-router.mdwn
index b8106d3..5bf6358 100644
--- a/posts/minipc-router.mdwn
+++ b/posts/minipc-router.mdwn
@@ -64,7 +64,8 @@ After assembling the hardware, we installed Debian on them:
   address with DHCP.
 
 * Log in with ssh to `ansible@10.0.0.4`, and verify that `sudo id`
-  works without password. Except you can't do this, since it's 
+  works without password. Except you can't do this, unless you put in
+  your ssh key in the authorized keys file above.
 
 * Git clone the [ansible playbooks][], adjust their parameters in
   `minipc-router.yml` as wanted, and run the playbook. Then reboot the

Tweak style.css to give tables some borders
diff --git a/style.css b/style.css
index 548971c..73e8bab 100644
--- a/style.css
+++ b/style.css
@@ -6,6 +6,19 @@ html {
     margin-top: 2em;
 }
 
+table {
+    border-collapse: collapse;
+}
+
+table, th, td {
+    border: 1px solid #ddd;
+    text-align: left;
+}
+
+th, td {
+    padding: 10px;
+}
+
 form#searchform {
     font-family: monospace;
     text-align: right;

Update blog post draft, remote draft tag
diff --git a/posts/minipc-router.mdwn b/posts/minipc-router.mdwn
index 6bc272c..b8106d3 100644
--- a/posts/minipc-router.mdwn
+++ b/posts/minipc-router.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="A tiny PC as a router"]]
-[[!tag minipc router draft]]
+[[!tag minipc router]]
 
 We needed a router and wifi access point in the office, and
 simultaneously both I and my co-worker Ivan needed such a thing at our
@@ -10,13 +10,22 @@ just that.
 * The PC solution seem to offer better performance, but this is
   actually not a major reason for us.
 
-* We want to have systems we understand and can hack. Commercial
-  routers tend to be opaque and mysterious and may or may not have
-  great security support. Installing OpenWRT on commercial routers is
-  possible, but requires finding a model that happens to be supported.
+* We want to have systems we understand and can hack. A standard x86
+  PC running Debian sounds ideal to use.
 
-  Running real Debian on standard x86 hardware as a router seems like
-  a better option, if more work initially.
+* Why not a cheap commercial router? They tend to be opaque and
+  mysterious, and can't be managed with standard tooling such as
+  Ansible. They may or may not have good security support. Also, they
+  may or may not have sufficient functionality to be nice things, such
+  as DNS for local machines, or the full power if iptables for
+  firewalling.
+
+* Why not OpenWRT? Some models of commercial routers are supported by
+  OpenWRT. Finding good hardware that is also supported by OpenWRT is
+  a task in itself, and not the kind of task especially I like to do.
+  Even if one goes this route, the environment isn't quite a standard
+  Linux system, because of various hardware limitations. (OpenWRT is a
+  worthy project, just not our preference.)
 
 We got some hardware:
 
@@ -49,7 +58,7 @@ After assembling the hardware, we installed Debian on them:
   which runs a DHCP server on eth3 (marked LAN4 on the box). You can
   log as root on the console (no password), or via ssh, but for ssh
   you need to replace the `/home/ansible/.ssh/authorized_keys` file
-  with one that contains only your key.
+  with one that contains only your public ssh key.
 
 * Connect a laptop to the Ethernet port marked LAN4, and get an IP
   address with DHCP.
@@ -80,11 +89,16 @@ There's a lot of limitations and problems:
   That's a lot of wasted space.
 
 * The router factory image embeds our public keys in the `ansible`
-  user's authorized keys file for ssh.
+  user's authorized keys file for ssh. This is because we built this
+  for ourselves first. If there's interest by others in using the
+  images, we'll solve this.
 
 * Probably a lot of stupid things. Feel free to tell us what it is
   (bugs@liw.fi would be a good address for that).
 
+If you'd like to use the images and Ansible playbooks, please do. We'd
+be happy to get feedback, bug reports, and patches. Send them to me
+(liw@liw.fi) or my ticketing system (bugs@liw.fi).
+
 [router image]: http://files.liw.fi/minipc-router/
-[ansible playbooks]:
-http://git.liw.fi/cgi-bin/cgit/cgit.cgi/minipc-router/tree/ansible
+[ansible playbooks]: http://git.liw.fi/cgi-bin/cgit/cgit.cgi/minipc-router/tree/ansible

creating tag page tag/minipc
diff --git a/tag/minipc.mdwn b/tag/minipc.mdwn
new file mode 100644
index 0000000..186a7dd
--- /dev/null
+++ b/tag/minipc.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged minipc"]]
+
+[[!inline pages="tagged(minipc)" actions="no" archive="yes"
+feedshow=10]]

creating tag page tag/router
diff --git a/tag/router.mdwn b/tag/router.mdwn
new file mode 100644
index 0000000..626490c
--- /dev/null
+++ b/tag/router.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged router"]]
+
+[[!inline pages="tagged(router)" actions="no" archive="yes"
+feedshow=10]]

Add draft
diff --git a/posts/minipc-router.mdwn b/posts/minipc-router.mdwn
new file mode 100644
index 0000000..6bc272c
--- /dev/null
+++ b/posts/minipc-router.mdwn
@@ -0,0 +1,90 @@
+[[!meta title="A tiny PC as a router"]]
+[[!tag minipc router draft]]
+
+We needed a router and wifi access point in the office, and
+simultaneously both I and my co-worker Ivan needed such a thing at our
+respective homes. After some discussion, and after reading articles in
+Ars Technica about building PCs to act as routers, we decided to do
+just that.
+
+* The PC solution seem to offer better performance, but this is
+  actually not a major reason for us.
+
+* We want to have systems we understand and can hack. Commercial
+  routers tend to be opaque and mysterious and may or may not have
+  great security support. Installing OpenWRT on commercial routers is
+  possible, but requires finding a model that happens to be supported.
+
+  Running real Debian on standard x86 hardware as a router seems like
+  a better option, if more work initially.
+
+We got some hardware:
+
+[[!table data="""
+Component     | Model                                                             | Cost
+Barebone      | Qotom Q190G4, VGA, 2x USB 2.0, 134x126x36mm, fanless              | 130€
+CPU           | Intel J1900, 2-2.4MHz quad-core                                   | -
+NIC           | Intel WG82583, 4x 10/100/1000                                     | -
+Memory        | Crucial CT102464BF160B, 8GB DDR3L-1600 SODIMM 1.35V CL11          | 40€
+SSD           | Kingston SSDNow mS200, 60GB mSATA                                 | 42€
+WLAN          | AzureWave AW-NU706H, Ralink RT3070L, 300M 802.11b/g/n, half mPCIe | 17€
+mPCIe adapter | Half to full mPCIe adapter                                        | 3€
+Antennas      | 2x 2.4/5GHz 6dBi, RP-SMA, U.FL Cables                             | 7€
+"""]]
+
+These were bought at various online shops, including AliExpress and
+verkkokauppa.com.
+
+After assembling the hardware, we installed Debian on them:
+
+* Connect the PC to a monitor (VGA) and keyboard (USB), as well as
+  power.
+
+* I built a "factory image" to be put on the SSD, and a USB stick
+  [installer image][], which includes the factory one.  Write the
+  installer image on a USB stick, boot off that, then copy the factory
+  image to the SSD and reboot off the SSD.
+
+* The router now runs a very bare-bones, stripped-down Debian system,
+  which runs a DHCP server on eth3 (marked LAN4 on the box). You can
+  log as root on the console (no password), or via ssh, but for ssh
+  you need to replace the `/home/ansible/.ssh/authorized_keys` file
+  with one that contains only your key.
+
+* Connect a laptop to the Ethernet port marked LAN4, and get an IP
+  address with DHCP.
+
+* Log in with ssh to `ansible@10.0.0.4`, and verify that `sudo id`
+  works without password. Except you can't do this, since it's 
+
+* Git clone the [ansible playbooks][], adjust their parameters in
+  `minipc-router.yml` as wanted, and run the playbook. Then reboot the
+  router again.
+
+* You should now have wifi, routing (with NAT), and be generally
+  speaking able to do networking.
+
+There's a lot of limitations and problems:
+
+* There's no web UI for managing anything. If you're not comfortable
+  doing sysadmin via ssh (with or without ansible), this isn't for
+  you.
+
+* No IPv6. We didn't want to enable it yet, until we understand it
+  better. You can, if you want to.
+
+* No real firewalling, but adjust `roles/router/files/ferm.conf` as
+  you wish.
+
+* The router factory image is 4 GB in size, and our SSD is 60 GB.
+  That's a lot of wasted space.
+
+* The router factory image embeds our public keys in the `ansible`
+  user's authorized keys file for ssh.
+
+* Probably a lot of stupid things. Feel free to tell us what it is
+  (bugs@liw.fi would be a good address for that).
+
+[router image]: http://files.liw.fi/minipc-router/
+[ansible playbooks]:
+http://git.liw.fi/cgi-bin/cgit/cgit.cgi/minipc-router/tree/ansible

Fix typo
diff --git a/tag/obnam.mdwn b/tag/obnam.mdwn
index 06f0d18..a62b75f 100644
--- a/tag/obnam.mdwn
+++ b/tag/obnam.mdwn
@@ -1,3 +1,3 @@
-This tag is for blog posts that are about [Obnam](http://ognam.org/).
+This tag is for blog posts that are about [Obnam](http://obnam.org/).
 
 [[!inline archive=yes pages="link(tag/obnam)"]]

Fix broken link
Thanks, chirlu.
diff --git a/tag/obnam.mdwn b/tag/obnam.mdwn
index 8191cd3..06f0d18 100644
--- a/tag/obnam.mdwn
+++ b/tag/obnam.mdwn
@@ -1,3 +1,3 @@
-This tag is for blog posts that are about [Obnam](http://braawi.org/obnam.html).
+This tag is for blog posts that are about [Obnam](http://ognam.org/).
 
 [[!inline archive=yes pages="link(tag/obnam)"]]

Publish
diff --git a/posts/ick2-maybe.mdwn b/posts/ick2-maybe.mdwn
index 643747f..ef0ed03 100644
--- a/posts/ick2-maybe.mdwn
+++ b/posts/ick2-maybe.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="Thinking about CI, maybe writing ick2"]]
-[[!tag ick draft]]
+[[!tag ick]]
 
 A year ago I got tired of Jenkins and wrote a CI system for myself,
 [Ick][]. It's served me well since, but it's a bit clunky and awkward

creating tag page tag/ick
diff --git a/tag/ick.mdwn b/tag/ick.mdwn
new file mode 100644
index 0000000..823ea8d
--- /dev/null
+++ b/tag/ick.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged ick"]]
+
+[[!inline pages="tagged(ick)" actions="no" archive="yes"
+feedshow=10]]

Add draft for ick2 post
diff --git a/posts/ick2-maybe.mdwn b/posts/ick2-maybe.mdwn
new file mode 100644
index 0000000..643747f
--- /dev/null
+++ b/posts/ick2-maybe.mdwn
@@ -0,0 +1,17 @@
+[[!meta title="Thinking about CI, maybe writing ick2"]]
+[[!tag ick draft]]
+
+A year ago I got tired of Jenkins and wrote a CI system for myself,
+[Ick][]. It's served me well since, but it's a bit clunky and awkward
+and I have to hope nobody else wants to use it.
+
+I've been thinking about re-architecting Ick from scratch, and so I
+wrote down some of my thinking about this. It's very raw, but just in
+case someone else might be interested, I put it online at [ick2][].
+
+At this point I'm still thinking about very high level concepts. I've
+not written any code, and probably won't in the next couple of months.
+But I had to get this out of my brain.
+
+[ick]: http://liw.fi/ick/
+[ick2]: http://liw.fi/ick/ick2/

Remove draft tag
diff --git a/posts/linux25.mdwn b/posts/linux25.mdwn
index d67b728..61a73d4 100644
--- a/posts/linux25.mdwn
+++ b/posts/linux25.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="Linux 25 jubilee symposium"]]
-[[!tag linux draft]]
+[[!tag linux ]]
 
 I gave a talk about the early days of Linux at the
 [jubilee symposium][] arranged by the University of Helsinki CS

Add draft for Linux25 talk
diff --git a/posts/linux25.mdwn b/posts/linux25.mdwn
new file mode 100644
index 0000000..d67b728
--- /dev/null
+++ b/posts/linux25.mdwn
@@ -0,0 +1,60 @@
+[[!meta title="Linux 25 jubilee symposium"]]
+[[!tag linux draft]]
+
+I gave a talk about the early days of Linux at the
+[jubilee symposium][] arranged by the University of Helsinki CS
+department. Below is an outline of what I meant to speak about, but
+the actual talk didn't follow it exactly. You can compare these to the
+video once it comes online.
+
+[jubilee symposium]: https://linux25.cs.helsinki.fi/en/
+
+- Linus and I met at uni, the only 2 Swedish speaking new students
+  that year, so we naturally migrated towards each other.
+- After a year away for military service, got back in touch, summer of
+  1990.
+- C & Unix course fall of 1990; Minix.
+- Linus didn't think atime updates in real time were plausible, but I
+  showed him; funnily enough, atime updates have been an issue in
+  Linux until fairly recently, since they slow things down (without
+  being particularly useful)
+- Jan 5, 1991 bought his first PC (i386 + i387 + 4 MiB RAM and a small
+  hard disk); he had a Sinclair QL before that.
+- Played Prince of Persia for a couple of months.
+- Then wanted to learn i386 assembly and multitasking.
+- A/B threading demo.
+- Terminal emulation, Usenet access from home.
+- Hard disk driver, mistaking hard disk for a modem.
+- More ambition, announced Linux to the world for the first time
+- first ever Linux installation.
+- Upload to ftp.funet.fi, directory name by Ari Lemmke.
+- Originally not free software, licence changed early 1992.
+- First mailing list was created and introduced me to a flood of email
+  (managed with VAX/VMS MAIL and later mush on Unix).
+- I talked a lot with Linus about design at this time, but never
+  really participated in the kernel work (partly because disagreeing
+  with Linus is a high-stress thing).
+- However, I did write the first sprintf for the kernel, since Linus
+  hadn't learnt about varargs functions in C; he then ruined it and
+  added the comment "Wirzenius wrote this portably..." (add google hit
+  count for wirzenius+fucked).
+- During 1992 Linux grew fast, and distros happened, and a lot of
+  packaging and porting of software; porting was easier because Linus
+  was happy to add/change things in the kernel to accomodate software
+- A lot of new users during 1992 as well.
+- End of 1992 I and a few others founded the Linux Documentation
+  Project to help all the new users, some of who didn't come from a
+  Unix background.
+- In fact, things progressed so fast in 1992 that Linus thought he'd
+  release 1.0 very soon, resulting in a silly sequence of version
+  numbers: 0.12, 0.95, 0.96, 0.96b, 0.96c, 0.96c++2.
+- X server ported to Linux; almost immediate prediction of the year of
+  the Linux desktop never happening unless ALL the graphics cards
+  were supported immediately.
+- Linus was of the opinion that you needed one process (not thread)
+  per window in X; I taught him event driven programming.
+- Bug in network code, resulting in ban on uni network.
+- Pranks in the shared office room.
+- We released 1.0 in an event at the CS dept in March, 1994; this
+  included some talks and a ritual compilation of the release version
+  during the event.

Publish
diff --git a/posts/dd20.mdwn b/posts/dd20.mdwn
index a64fc52..21a4665 100644
--- a/posts/dd20.mdwn
+++ b/posts/dd20.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="20 years ago I became a Debian developer"]]
-[[!tag draft debian]]
+[[!tag debian]]
 
 Today it is 23 years ago since Ian Murdock published his intention to
 develop a new Linux distribution, Debian. It also about 20 years since

Add talk intro note
diff --git a/posts/dd20.mdwn b/posts/dd20.mdwn
index 3ebd2d6..a64fc52 100644
--- a/posts/dd20.mdwn
+++ b/posts/dd20.mdwn
@@ -82,7 +82,9 @@ In the time since:
 
 * I've opened my mount in a lot of places over the years, which means
   a lot of people know of me, but nobody can actually point at
-  anything useful I've actually done.
+  anything useful I've actually done. Which is why when I've given
+  talks at, say, FOSDEM, I get introduced as "the guy who shared an
+  office with Linus Torvalds a long time ago".
 
 * I've made a number of friends via participation in Debian. I've
   found jobs via contacts in Debian, and have even started a side

Fix typo
diff --git a/posts/dd20.mdwn b/posts/dd20.mdwn
index 4d412a1..3ebd2d6 100644
--- a/posts/dd20.mdwn
+++ b/posts/dd20.mdwn
@@ -82,7 +82,7 @@ In the time since:
 
 * I've opened my mount in a lot of places over the years, which means
   a lot of people know of me, but nobody can actually point at
-  anything useul I've actually done.
+  anything useful I've actually done.
 
 * I've made a number of friends via participation in Debian. I've
   found jobs via contacts in Debian, and have even started a side

Add piuparts
diff --git a/posts/dd20.mdwn b/posts/dd20.mdwn
index c86a2a2..4d412a1 100644
--- a/posts/dd20.mdwn
+++ b/posts/dd20.mdwn
@@ -26,6 +26,11 @@ In the time since:
   many project members at least every now and then has a very big
   impact on project cohesion.
 
+* I had a gig where I was paid to improve the technical quality of
+  Debian. After a few months of bug fixing (which isn't my favourite
+  pastime), I wrote piuparts in order to find new bugs. (I gave that
+  project away many years ago, but it seems to still be going strong.)
+
 * I've almost ran for DPL twice, but I'm glad I didn't actually. I've
   carefully avoided any positions of power or responsibility in the
   project. (I live in fear that someone decides to nominate me for

ADd draft of 20 years DD
diff --git a/posts/dd20.mdwn b/posts/dd20.mdwn
new file mode 100644
index 0000000..c86a2a2
--- /dev/null
+++ b/posts/dd20.mdwn
@@ -0,0 +1,86 @@
+[[!meta title="20 years ago I became a Debian developer"]]
+[[!tag draft debian]]
+
+Today it is 23 years ago since Ian Murdock published his intention to
+develop a new Linux distribution, Debian. It also about 20 years since
+I became a Debian developer and made my first package upload.
+
+In the time since:
+
+* I've retired a couple of times, to pursue other interests, and then
+  un-retired.
+
+* I've maintained a bunch of different packages, most importantly the
+  PGP2 software in the 90s. (I now only maintain software for which
+  I'm also upstream, in order to make jokes about my upstream being an
+  unco-operative jerk, and my packager being unhelpful in the
+  extreme.)
+
+* Got kicked out from the Debian mailing lists for insulting another
+  developer. Not my proudest moment. I was allowed back later, and
+  I've tried to be polite ever since. (See also
+  [rules 6](http://liw.fi/rules/).)
+
+* I've been to a few Debconfs (3, 5, 6, 9, 10, 15). I'm looking
+  forward to going to many more in the future. It's clear that seeing
+  many project members at least every now and then has a very big
+  impact on project cohesion.
+
+* I've almost ran for DPL twice, but I'm glad I didn't actually. I've
+  carefully avoided any positions of power or responsibility in the
+  project. (I live in fear that someone decides to nominate me for
+  something where I'd actually have make important decisions.)
+
+  Not being responsible means I can just ignore the project for a
+  while when something annoying happens. (Or retire again.) With such
+  a large project, eventually something really annoying does happen.
+
+* Came up with the DEP process with Zack and Dato. I also ran the
+  second half of the DEP5 process to get the debian/copyright machine
+  readable format accepted. (I'm no longer involved, though, and I
+  don't think DEP is much now.)
+
+* I've taught several workshops about Debian packaging, including
+  online for Debian-Women. It's always fun when others "get" how easy
+  packaging really is, despite all the efforts of the larger variety
+  in tooling and random web pages go to to obscure the fundamental
+  simplicity.
+
+* Over the years Í've enjoyed many of the things developed within
+  Debian (without claiming any credit for myself):
+
+    - the policy manual, perhaps the most important technical
+      achievement of the project
+
+    - the social contract and Debian free software guidelines,
+      unarguably the most important non-technical achievements of the
+      project
+
+    - the whole package management system, but especially apt
+
+    - debhelper's dh, which made the work of packaging simple cases so
+      easy it's nearly a no-brainer
+
+    - d-i made me not hate installing Debian (although I think
+      time is getting ripe to replace d-i with something new; catch me in
+      a talkative mood at party to hear more)
+
+    - Debian-Women made an almost immediate improvement to the culture
+      of the larger project (even if there's still much too few women
+      developers)
+
+    - the diversity statement made me a lot happier about being a
+      project member.
+
+  I'd like to thank everyone who's worked on these and made them
+  happen. These are important milestones in Debian.
+
+* I've opened my mount in a lot of places over the years, which means
+  a lot of people know of me, but nobody can actually point at
+  anything useul I've actually done.
+
+* I've made a number of friends via participation in Debian. I've
+  found jobs via contacts in Debian, and have even started a side
+  business with someone.
+
+It's been a good twenty years. And the fun ain't over yet.

Remove draft tag
diff --git a/posts/debugging-over-email.mdwn b/posts/debugging-over-email.mdwn
index 31ac72d..d2e2933 100644
--- a/posts/debugging-over-email.mdwn
+++ b/posts/debugging-over-email.mdwn
@@ -1,6 +1,6 @@
 [[!meta title="Debugging over email"]]
 [[!meta date="Tue, 19 Jul 2016 17:57:36 +0300"]]
-[[!tag debug draft]]
+[[!tag debug]]
 
 I write free software and I have some users. My primary support
 channels are over email and IRC, which means I do not have direct

creating tag page tag/debug
diff --git a/tag/debug.mdwn b/tag/debug.mdwn
new file mode 100644
index 0000000..3799c5f
--- /dev/null
+++ b/tag/debug.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged debug"]]
+
+[[!inline pages="tagged(debug)" actions="no" archive="yes"
+feedshow=10]]

Add draft of blog post on debug-over-mail
diff --git a/posts/debugging-over-email.mdwn b/posts/debugging-over-email.mdwn
new file mode 100644
index 0000000..31ac72d
--- /dev/null
+++ b/posts/debugging-over-email.mdwn
@@ -0,0 +1,42 @@
+[[!meta title="Debugging over email"]]
+[[!meta date="Tue, 19 Jul 2016 17:57:36 +0300"]]
+[[!tag debug draft]]
+
+I write free software and I have some users. My primary support
+channels are over email and IRC, which means I do not have direct
+access to the system where my software runs. When one of my users has
+a problem, we go through one or more cycles of them reporting what
+they see and me asking them for more information, or asking them to
+try this thing or that thing and report results. This can be quite
+frustrating.
+
+I want, nay, need to improve this. I've been thinking about this for a
+while, and talking with friends about it, and here's my current ideas.
+
+First idea: have a script that gathers as much information as
+possible, which the user can run. For example, log files, full
+configuration, full environment, etc. The user would then mail the
+output to me. The information will need to be anonymised suitably so
+that no actual secrets are leaked. This would be similar to Debian's
+package specific reportbug scripts.
+
+Second idea: make it less likely that the user needs help solving
+their issue, with better error messages. This would require error
+messages to have sufficient explanation that a user can solve their
+problem. That doesn't necessarily mean a lot of text, but also code
+that analyses the situation when the error happens to include things
+that are relevant for the problem resolving process, and giving error
+messages that are as specific as possible. Example: don't just fail
+saying "write error", but make the code find out why writing caused an
+error.
+
+Third idea: in addition to better error messages, might provide
+diagnostics tools as well.
+
+A friend suggested having a script that sets up a known good set of
+operations and verifies they work. This would establish a
+known-working baseline, or smoke test, so that we can rule things like
+"software isn't completely installed".
+
+Do you have ideas? Mail me (liw@liw.fi) or tell me on identi.ca (@liw)
+or Twitter (@larswirzenius).

Remove draft tag
diff --git a/posts/u2f-pam.mdwn b/posts/u2f-pam.mdwn
index a77dee6..f729293 100644
--- a/posts/u2f-pam.mdwn
+++ b/posts/u2f-pam.mdwn
@@ -1,6 +1,6 @@
 [[!meta title="Two-factor auth for local logins in Debian using U2F keys"]]
 [[!meta date="Fri, 15 Jul 2016 11:57:07 +0300"]]
-[[!tag u2f pam debian draft]]
+[[!tag u2f pam debian]]
 
 **Warning:** This blog post includes instructions for a procedure that
 can lead you to lock yourself out of your computer. Even if everything

creating tag page tag/u2f
diff --git a/tag/u2f.mdwn b/tag/u2f.mdwn
new file mode 100644
index 0000000..dc5ec5e
--- /dev/null
+++ b/tag/u2f.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged u2f"]]
+
+[[!inline pages="tagged(u2f)" actions="no" archive="yes"
+feedshow=10]]

creating tag page tag/pam
diff --git a/tag/pam.mdwn b/tag/pam.mdwn
new file mode 100644
index 0000000..1bae86d
--- /dev/null
+++ b/tag/pam.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged pam"]]
+
+[[!inline pages="tagged(pam)" actions="no" archive="yes"
+feedshow=10]]

Add draft of U2F PAM post
diff --git a/posts/u2f-pam.mdwn b/posts/u2f-pam.mdwn
new file mode 100644
index 0000000..a77dee6
--- /dev/null
+++ b/posts/u2f-pam.mdwn
@@ -0,0 +1,88 @@
+[[!meta title="Two-factor auth for local logins in Debian using U2F keys"]]
+[[!meta date="Fri, 15 Jul 2016 11:57:07 +0300"]]
+[[!tag u2f pam debian draft]]
+
+**Warning:** This blog post includes instructions for a procedure that
+can lead you to lock yourself out of your computer. Even if everything
+goes well, you'll be hunted by dragons. Keep backups, have a rescue
+system on a USB stick, and wear flameproof clothing. Also, have fun,
+and tell your loved ones you love them.
+
+I've recently gotten two [U2F][] keys. U2F is a open standard for
+authentication using hardware tokens. It's probably mostly meant for
+website logins, but I wanted to have it for local logins on my laptop
+running Debian. (I also offer a line of stylish aluminium foil hats.)
+
+Having two-factor authentication (2FA) for local logins improves
+security if you need to log in (or unlock a screen lock) in a public
+or potentially hostile place, such as a cafe, a train, or a meeting
+room at a client. If they have video cameras, they can film you typing
+your password, and get the password that way.
+
+If you set up 2FA using a hardware token, your enemies will also need
+to lure you into a cave, where a dragon will use a precision flame to
+incinerate you in a way that leaves the U2F key intact, after which
+your enemies steal the key, log into your laptop and leak your cat GIF
+collection.
+
+Looking up information for how to set this up, I found a blog post by
+[Sean Brewer][], for Ubuntu 14.04. That got me started. Here's what I
+understand:
+
+* PAM is the technology in Debian for handling authentication for
+  logins and similar things. It has a plugin architecture.
+
+* Yubico (maker of Yubikeys) have written a PAM plugin for U2F. It is
+  packaged in Debian as `libpam-u2f`. The package includes documentation
+  in `/usr/share/doc/libpam-u2f/README.gz`.
+
+* By configuring PAM to use `libpam-u2f`, you can require both password
+  and the hardware token for logging into your machine.
+
+Here are the detailed steps for Debian stretch, with minute
+differences from those for Ubuntu 14.04. If you follow these, and lock
+yourself out of your system, it wasn't my fault, you can't blame me,
+and look, squirrels! Also not my fault if you don't wear sufficient
+protection against dragons.
+
+1. Install `pamu2fcfg` and `libpam-u2f`.
+2. As your normal user, `mkdir ~/.config/Yubico`. The list of allowed
+    U2F keys will be put there.
+3. Insert your U2F key and run `pamu2fcfg -u$USER >
+   ~/.config/Yubico/u2f_keys`, and press the button on your U2F key when
+   the key is blinking.
+4. Edit `/etc/pam.d/common-auth` and append the line
+   `auth required pam_u2f.so cue`.
+5. Reboot (or at least log out and back in again).
+6. Log in, type in your password, and when prompted and the U2F key is
+   blinking, press its button to complete the login.
+
+`pamu2fcfg` reads the hardware token and writes out its identifying data
+in a form that the PAM module understands; see the [pam-u2f][]
+documentation for details. The data can be stored in the user's home
+directory (my preference) or in `/etc/u2f_mappings`.
+
+Once this is set up, anything that uses PAM for local authentication
+(console login, GUI login, sudo, desktop screen lock) will need to use
+the U2F key as well. ssh logins won't.
+
+Next, add a second key to your `u2f_keys`. This is important, because if
+you lose your first key, or it's damaged, you'll otherwise have no way
+to log in.
+
+1. Insert your second U2F key and run `pamu2fcfg -n > second`, and press
+   the second key's button when prompted.
+2. Edit `~/.config/Yubico/u2f_keys` and append the output of `second` to
+   the line with your username.
+3. Verify that you can log in using your second key as well as the first
+   key. Note that you should have only one of the keys plugged in at
+   the same time when logging in: the PAM module wants the first key
+   it finds so you can't test both keys plugged in at once.
+
+This is not too difficult, but rather fiddly, and it'd be nice if
+someone wrote at least a way to manage the list of U2F keys in a nicer
+way.
+
+[Sean Brewer]: http://seabre.github.io/blog/2015/10/17/local-two-factor-authentication-with-u2f-on-ubuntu-14-dot-04/
+[U2F]: https://en.wikipedia.org/wiki/Universal_2nd_Factor
+[pam-u2f]: https://developers.yubico.com/pam-u2f/

creating tag page tag/gpg
diff --git a/tag/gpg.mdwn b/tag/gpg.mdwn
new file mode 100644
index 0000000..c594b70
--- /dev/null
+++ b/tag/gpg.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged gpg"]]
+
+[[!inline pages="tagged(gpg)" actions="no" archive="yes"
+feedshow=10]]

creating tag page tag/code.liw.fi
diff --git a/tag/code.liw.fi.mdwn b/tag/code.liw.fi.mdwn
new file mode 100644
index 0000000..9340a51
--- /dev/null
+++ b/tag/code.liw.fi.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged code.liw.fi"]]
+
+[[!inline pages="tagged(code.liw.fi)" actions="no" archive="yes"
+feedshow=10]]

Post about code.liw.fi new signing key
diff --git a/posts/code.liw.fi-signing-key-2016.mdwn b/posts/code.liw.fi-signing-key-2016.mdwn
new file mode 100644
index 0000000..4cc298e
--- /dev/null
+++ b/posts/code.liw.fi-signing-key-2016.mdwn
@@ -0,0 +1,15 @@
+[[!meta title="New APT signing key for code.liw.fi/debian"]]
+[[!meta date="Sun, 19 Jun 2016 13:44:28 +0300"]]
+[[!tag code.liw.fi gpg]]
+
+For those who use my `code.liw.fi/debian` APT repository, please be
+advised that I've today replaced the signing key for the repository.
+The new key has the following fingerprint:
+
+    8072 BAD4 F68F 6BE8 5F01  9843 F060 2201 12B6 1C1F
+
+I've signed the key with my primary key and sent the new key with
+signature to the key servers. You can also download it at
+<http://code.liw.fi/apt.asc>.
+
+

Remove draft tag
diff --git a/posts/qvarn-pr.mdwn b/posts/qvarn-pr.mdwn
index 0fb5e57..c1b0c0a 100644
--- a/posts/qvarn-pr.mdwn
+++ b/posts/qvarn-pr.mdwn
@@ -1,6 +1,6 @@
 [[!meta title="Qvarn Platform announcement"]]
 [[!meta date="Tue, 10 May 2016 16:16:49 +0300"]]
-[[!tag draft qvarn announcement]]
+[[!tag qvarn announcement]]
 
 In March we started a new company, to develop and support the software
 whose development I led at my previous job. The software is [Qvarn][],

Another wording tweak
diff --git a/posts/qvarn-pr.mdwn b/posts/qvarn-pr.mdwn
index bc8553e..0fb5e57 100644
--- a/posts/qvarn-pr.mdwn
+++ b/posts/qvarn-pr.mdwn
@@ -13,8 +13,8 @@ helping various organisations handle data securely.
 
 The first press release about Qvarn was sent out today. We're still
 setting up the company and getting operational, but a little publicity
-never hurts. (Even if it is more marketing-speak than I would normally
-put on my blog.)
+never hurts. (Even if it is more marketing-speak and self-promotion
+than I would normally put on my blog.)
 
 So this is what I do for a living now.
 

Add note about license
diff --git a/posts/qvarn-pr.mdwn b/posts/qvarn-pr.mdwn
index 2fee958..bc8553e 100644
--- a/posts/qvarn-pr.mdwn
+++ b/posts/qvarn-pr.mdwn
@@ -4,9 +4,10 @@
 
 In March we started a new company, to develop and support the software
 whose development I led at my previous job. The software is [Qvarn][],
-the company is QvarnLabs (no website yet). Our plan is to earn a
-living from this, and our hope is to provide software that is actually
-useful for helping various organisations handle data securely.
+and it's fully free software, licensed under AGPL3+. The company is
+QvarnLabs (no website yet). Our plan is to earn a living from this,
+and our hope is to provide software that is actually useful for
+helping various organisations handle data securely.
 
 [Qvarn]: http://www.qvarn.org/
 

Tweak wording
diff --git a/posts/qvarn-pr.mdwn b/posts/qvarn-pr.mdwn
index 51c8538..2fee958 100644
--- a/posts/qvarn-pr.mdwn
+++ b/posts/qvarn-pr.mdwn
@@ -15,7 +15,7 @@ setting up the company and getting operational, but a little publicity
 never hurts. (Even if it is more marketing-speak than I would normally
 put on my blog.)
 
-This is what I do for a living now.
+So this is what I do for a living now.
 
 ---
 

Fix caption markup
diff --git a/posts/qvarn-pr.mdwn b/posts/qvarn-pr.mdwn
index cc681c7..51c8538 100644
--- a/posts/qvarn-pr.mdwn
+++ b/posts/qvarn-pr.mdwn
@@ -20,9 +20,9 @@ This is what I do for a living now.
 ---
 
 
-[[!img photo.jpg]]
+[[!img photo.jpg]] <br/>
 The development of the open source Qvarn Platform was led by QvarnLabs
-CEO Kaius Häggblom (left) and CTO Lars Wirzenius. © QvarnLabs
+CEO Kaius Häggblom (left) and CTO Lars Wirzenius.
 
 Helsinki, Finland 10.05.2016 – With Privacy by Design, integrated Gluu
 access management and comprehensive support for regulatory data

creating tag page tag/qvarn
diff --git a/tag/qvarn.mdwn b/tag/qvarn.mdwn
new file mode 100644
index 0000000..6225ec5
--- /dev/null
+++ b/tag/qvarn.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged qvarn"]]
+
+[[!inline pages="tagged(qvarn)" actions="no" archive="yes"
+feedshow=10]]

Add draft post
diff --git a/posts/qvarn-pr.mdwn b/posts/qvarn-pr.mdwn
new file mode 100644
index 0000000..cc681c7
--- /dev/null
+++ b/posts/qvarn-pr.mdwn
@@ -0,0 +1,104 @@
+[[!meta title="Qvarn Platform announcement"]]
+[[!meta date="Tue, 10 May 2016 16:16:49 +0300"]]
+[[!tag draft qvarn announcement]]
+
+In March we started a new company, to develop and support the software
+whose development I led at my previous job. The software is [Qvarn][],
+the company is QvarnLabs (no website yet). Our plan is to earn a
+living from this, and our hope is to provide software that is actually
+useful for helping various organisations handle data securely.
+
+[Qvarn]: http://www.qvarn.org/
+
+The first press release about Qvarn was sent out today. We're still
+setting up the company and getting operational, but a little publicity
+never hurts. (Even if it is more marketing-speak than I would normally
+put on my blog.)
+
+This is what I do for a living now.
+
+---
+
+
+[[!img photo.jpg]]
+The development of the open source Qvarn Platform was led by QvarnLabs
+CEO Kaius Häggblom (left) and CTO Lars Wirzenius. © QvarnLabs
+
+Helsinki, Finland 10.05.2016 – With Privacy by Design, integrated Gluu
+access management and comprehensive support for regulatory data
+compliance, Qvarn is set to become the Europe-wide platform of choice
+for managing workforce identities and providing associated value-added
+services.
+
+Construction industry federations in Sweden, Finland and the Baltic
+States have been using the Qvarn Platform (<http://www.qvarn.org>)
+since October 2015 to securely manage the professional digital
+identities of close to one million construction workers. Developed on
+behalf of these same federations, Qvarn is now free and open source
+software; making it a compelling solution for any organization that
+needs to manage a secure register of workers’ data.
+
+"There is something universal and fundamental at the core of the Qvarn
+platform. And that’s trust," said Qvarn evangelist Kaius Häggblom. "We
+decided to make it free, open source and include Gluu access
+management because we wanted all those using Qvarn or contributing to
+its continued development to have the freedom to work with the
+platform in whatever way is best for them."
+
+Qvarn has been designed to meet the requirements of the European
+Union’s new General Data Protection Regulation (GDPR), enabling
+organizations that use the platform to ensure their compliance with
+the new law. Qvarn has also incorporated the principles of Privacy by
+Design to minimize the disclosure of non-essential personal
+information and to give people more control over their data.
+
+"Today, Qvarn is used by the construction industry as a way to manage
+the data of employees, many of whom frequently move across borders. In
+this way the platform helps to combat the grey economy in the building
+sector, thereby improving quality and safety, while simultaneously
+protecting the professional identity data of almost a million
+individuals," said Häggblom. "Qvarn is so flexible and secure that we
+envision it becoming the preferred platform for the provision of any
+value-added services with an identity management component, eventually
+even supporting monetary transactions."
+
+Qvarn is a cloud based solution supported to run on both Amazon Web
+Services (AWS) and OpenStack. In partnership with Gluu, the platform
+delivers an out-of-the-box solution that uses open and standard
+protocols to provide powerful yet flexible identity and access
+management, including mechanisms for appropriate authentication and
+authorization.
+
+"Qvarn's identity management and governance capabilities perfectly
+compliment the Gluu Server's access management features," said Founder
+and CEO of Gluu, Michael Schwartz. "Free open source software (FOSS)
+is essential to the future of identity and access management. And the
+FOSS development methodology provides the transparency that is needed
+to foster the strong sense of community upon which a vibrant ecosystem
+thrives."
+
+Qvarn’s development team continues to be led by recognized open source
+developer and platform architect Lars Wirzenius. He has been
+developing free and open source software for 30 years and is a
+renowned expert in the Linux environment, with a particular focus on
+the Debian distribution. Lars works at all levels of software
+development – from writing code to designing system architecture.
+
+About the Qvarn Platform:
+
+The Qvarn Platform is free and open source software for managing
+workforce identities. Qvarn is integrated with the Gluu Server’s
+access management features out of the box, using open and standard
+protocols to provide the platform with a single common digital
+identity and mechanisms for appropriate authentication and
+authorization. A cloud based solution, Qvarn is supported to run on
+both Amazon Web Services (AWS) and OpenStack. Privacy by Design is
+central to the architecture of Qvarn and the platform has been third
+party audited to a security level of HIGH.
+
+<http://www.qvarn.org>
+
+For more information, please contact: <br/>
+Andrew Flowers <br/>
+andrew.flowers@ellisnichol.com <br/>
++358 40 161 5668
diff --git a/posts/qvarn-pr/photo.jpg b/posts/qvarn-pr/photo.jpg
new file mode 100644
index 0000000..f3fb1cb
Binary files /dev/null and b/posts/qvarn-pr/photo.jpg differ

Post about QvarnLabs job
diff --git a/posts/qvarnjob.mdwn b/posts/qvarnjob.mdwn
new file mode 100644
index 0000000..9e3157b
--- /dev/null
+++ b/posts/qvarnjob.mdwn
@@ -0,0 +1,20 @@
+[[!meta title="New job: QvarnLabs"]]
+[[!tag personal]]
+
+Today was my last day at [Suomen Tilaajavastuu][], where I worked on
+[Qvarn][]. Tomorrow is my first day at my new job. The new job is for
+a new company, tentatively named QvarnLabs (registration is in
+process), to further develop and support Qvarn. The new company starts
+operation tomorrow, so you'll have to excuse me that there isn't a
+website yet.
+
+Qvarn provides a secure, RESTful JSON HTTP API for storing and
+retrieving data, with detailed access control (and I can provide more
+buzzwords if necessary). If you operate in the EU, and store
+information about people, you might want to read up about the
+[General Data Protection Regulation][], and Qvarn may be a possible
+part of a solution you want to look into, once we have the website up.
+
+[Suomen Tilaajavastuu]: http://www.tilaajavastuu.fi
+[Qvarn]: http://www.qvarn.org
+[General Data Protection Regulation]: https://en.wikipedia.org/wiki/General_Data_Protection_Regulation

Fix typo
diff --git a/posts/obnam-survey-2016-results.mdwn b/posts/obnam-survey-2016-results.mdwn
index 5deaacb..e86afdc 100644
--- a/posts/obnam-survey-2016-results.mdwn
+++ b/posts/obnam-survey-2016-results.mdwn
@@ -1,4 +1,5 @@
 [[!meta title="Obnam user survey, 2016"]]
+[[!meta date="2016-03-27 14:47:45.187442093 +0300"]]
 [[!tag obnam survey]]
 
 In January and February of 2016 I ran an Obnam user survey. I'm not a
@@ -85,7 +86,7 @@ Conclusions
   containing hundreds of gigabytes of data. All extremes (very few or
   very many files, very little or very much data) are represented,
   though. A couple of people have at least a hundred million files, or
-  at least then terabytes of data.
+  at least ten terabytes of data.
 
 * Most people don't have a backup strategy, or at least not a
   documented one, and if they do, it's not regularly tested.

Remove draft tag
diff --git a/posts/obnam-survey-2016-results.mdwn b/posts/obnam-survey-2016-results.mdwn
index dd76f1d..5deaacb 100644
--- a/posts/obnam-survey-2016-results.mdwn
+++ b/posts/obnam-survey-2016-results.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="Obnam user survey, 2016"]]
-[[!tag draft obnam survey]]
+[[!tag obnam survey]]
 
 In January and February of 2016 I ran an Obnam user survey. I'm not a
 statistician, but here is my analysis of the results.

Rename post
diff --git a/posts/obnam-survey-2016-results.mdwn b/posts/obnam-survey-2016-results.mdwn
new file mode 100644
index 0000000..dd76f1d
--- /dev/null
+++ b/posts/obnam-survey-2016-results.mdwn
@@ -0,0 +1,160 @@
+[[!meta title="Obnam user survey, 2016"]]
+[[!tag draft obnam survey]]
+
+In January and February of 2016 I ran an Obnam user survey. I'm not a
+statistician, but here is my analysis of the results.
+
+Executive summary: Obnam is slow, buggy, and the name is bad. But
+they'd like to buy stickers and t-shirts.
+
+Method
+======
+
+I wrote up a long list of questions about things I felt were of
+interest to me. I used Google Forms to collect responses, and exported
+them as a CSV file, and analysed based on that.
+
+I used Google Forms, even though it is not free software, as it was
+the easiest service I got to work that also seemed it'd be nice for
+people to use. I could have run the survey using [Ikiwiki][], but it
+wouldn't have been nearly as nice. I could have found and hosted some
+free software for this, but that would have been much more work.
+
+[Ikiwiki]: https://ikiwiki.info/
+
+Most questions had free form text responses, and this was both good
+and bad. It was good, because many of the responses included things I
+could never have expected. It was bad, because it took me a lot more
+time and effort to process those. I think next time I'll keep the
+number of free text responses down.
+
+For some of the questions, I hand-processed the responses to a more or
+less systematic form, in order to count things with a bit of code. For
+others, I did not, and show the full list of responses (I'm lazy, we
+don't need a survey to determine that).
+
+
+The responses
+=============
+
+See <http://code.liw.fi/obnam/survey-2016.html> for the responses,
+after hand-processing.
+
+For the questions for which it makes sense, a script has tabulated the
+various responses and calculated percentages. I haven't produced
+graphs, as I don't know how to do that easily. (Maybe next time I'll
+enlist the help of statisticians.)
+
+Conclusions
+===========
+
+[popcon]: https://qa.debian.org/popcon.php?package=obnam
+
+* There were 263 responses in total. I have no idea of knowing if the
+  total number of Obnam users is about that, but the number correlates
+  fairly well with the Debian [popcon][] numbers, so I'm assuming
+  Obnam has on the order of a few hundred users total.
+
+  A larger number might be more impressive, but it'd also mean that I
+  would be responsible for much more data loss if I make a horrible
+  mistake. That said, it is probably time to start spending some
+  effort on growing the developer base of Obnam.
+
+* People seem to hear about Obnam primarily from my blog posts, or by
+  searching the web for backup software. Also, from the Arch Linux or
+  Gentoo wikis, or Joey Hess.
+
+* People use Obnam mostly for personal machines, but also at work.
+
+* Those who have tried Obnam, but don't use it, rejected it primarily
+  for speed or because it's unstable or buggy. I hope that the bad
+  bugs have mostly been fixed, and I'm working on improving the speed.
+
+* People seem to use either the latest version, or the version
+  included in the release of their operating system (e.g., Debian
+  jessie). Other versions are relatively rare.
+
+* Most people started using Obnam in the past two years.
+
+* People use Obnam on a variety of Linux based operating systems, but
+  also others. Obnam users are especially skewed towards Debian and
+  Ubuntu, which is not surprising, as I'm involved in Debian and have
+  been publicising it there, and provide package for Debian myself.
+
+* About half the people have at least hundreds of thousands of files,
+  containing hundreds of gigabytes of data. All extremes (very few or
+  very many files, very little or very much data) are represented,
+  though. A couple of people have at least a hundred million files, or
+  at least then terabytes of data.
+
+* Most people don't have a backup strategy, or at least not a
+  documented one, and if they do, it's not regularly tested.
+
+  This isn't a good thing.
+
+* Most people had backed up within the past week as of the time of
+  filling in the survey. This hopefully indicates that they back up
+  frequently. Only one respondent said they'd never backed up.
+
+  Rather more people hadn't tested their backups, however, with about
+  a fifth of the people having never tested their backup. This is also
+  not good.
+
+* Most people only back up one machine to each repository, or at most
+  a few. A total of 17 respondents reported that they don't have a
+  backup, and do not fear clowns.
+
+* About half the people back up to a local drive, and nearly two
+  thirds to an SFTP server.
+
+  People ask for more remote storage options, such as support for
+  services like Amazon S3.
+
+* The things people like most about Obnam are on its list of core
+  features: de-duplication, encryption, and ease of use / simplicity.
+  FUSE is also well-liked, as are snapshot backups.
+
+* I didn't tabulate the reasons why people don't like Obnam, but
+  performance and stability seem to be the most common reasons. My
+  favourite response to this question is "the name obnam, does not
+  sounds like a backup program".
+
+* Speed is also the pet bug people seem to have.
+
+* People seem to generally find Obnam documentation adequate. There's
+  room for improvement, of course.
+
+* Nearly everyone finds it easy to get help if they have a problem
+  with Obnam, but almost no-one uses the Obnam support mailing list or
+  IRC channel.
+
+* Some people read the NEWS file, others do not. Few have sent
+  patches, but some would like to. There's a bunch of suggestions for
+  new features. 
+
+  None of this is surprising to me, except perhaps that so many Obnam
+  users actually do read the NEWS file, as it's been my experience in
+  other projects that that's rare.
+
+* About half the people have heard of the green albatross. It's the
+  name of the new way in which Obnam will be storing data on disk,
+  which is a big factor in how fast or slow Obnam is. When the green
+  albatross soars, Obnam will fly faster.
+
+* People use other backup software as well, which is sensible: no
+  point in having all one's eggs in one basket. The top choices are
+  rsync, duplicity, attic, and rsnapshot, but the list seems to
+  mention most free backup software.
+
+* There's some interest in helping Obnam development, either by direct
+  contributions, donations, paying for support or development, or by
+  buying merchandise. Nearly no-one wants a printed version of the
+  manual, but stickers and t-shirts might sell well enough.
+
+  A lot of people don't really want to, or are not able to,
+  contribute, especially not by doing things, and that's OK. (They did
+  contribute, however, by filling in the survey.)
+
+* When given an opportunity to say whatever they want to Obnam
+  developers, most people say "thank you" in some form or another.
+  This was very heartwarming.
diff --git a/posts/survey-2016.mdwn b/posts/survey-2016.mdwn
deleted file mode 100644
index dd76f1d..0000000
--- a/posts/survey-2016.mdwn
+++ /dev/null
@@ -1,160 +0,0 @@
-[[!meta title="Obnam user survey, 2016"]]
-[[!tag draft obnam survey]]
-
-In January and February of 2016 I ran an Obnam user survey. I'm not a
-statistician, but here is my analysis of the results.
-
-Executive summary: Obnam is slow, buggy, and the name is bad. But
-they'd like to buy stickers and t-shirts.
-
-Method
-======
-
-I wrote up a long list of questions about things I felt were of
-interest to me. I used Google Forms to collect responses, and exported
-them as a CSV file, and analysed based on that.
-
-I used Google Forms, even though it is not free software, as it was
-the easiest service I got to work that also seemed it'd be nice for
-people to use. I could have run the survey using [Ikiwiki][], but it
-wouldn't have been nearly as nice. I could have found and hosted some
-free software for this, but that would have been much more work.
-
-[Ikiwiki]: https://ikiwiki.info/
-
-Most questions had free form text responses, and this was both good
-and bad. It was good, because many of the responses included things I
-could never have expected. It was bad, because it took me a lot more
-time and effort to process those. I think next time I'll keep the

(Diff truncated)
Add draft of Obnam survey post
diff --git a/posts/survey-2016.mdwn b/posts/survey-2016.mdwn
new file mode 100644
index 0000000..dd76f1d
--- /dev/null
+++ b/posts/survey-2016.mdwn
@@ -0,0 +1,160 @@
+[[!meta title="Obnam user survey, 2016"]]
+[[!tag draft obnam survey]]
+
+In January and February of 2016 I ran an Obnam user survey. I'm not a
+statistician, but here is my analysis of the results.
+
+Executive summary: Obnam is slow, buggy, and the name is bad. But
+they'd like to buy stickers and t-shirts.
+
+Method
+======
+
+I wrote up a long list of questions about things I felt were of
+interest to me. I used Google Forms to collect responses, and exported
+them as a CSV file, and analysed based on that.
+
+I used Google Forms, even though it is not free software, as it was
+the easiest service I got to work that also seemed it'd be nice for
+people to use. I could have run the survey using [Ikiwiki][], but it
+wouldn't have been nearly as nice. I could have found and hosted some
+free software for this, but that would have been much more work.
+
+[Ikiwiki]: https://ikiwiki.info/
+
+Most questions had free form text responses, and this was both good
+and bad. It was good, because many of the responses included things I
+could never have expected. It was bad, because it took me a lot more
+time and effort to process those. I think next time I'll keep the
+number of free text responses down.
+
+For some of the questions, I hand-processed the responses to a more or
+less systematic form, in order to count things with a bit of code. For
+others, I did not, and show the full list of responses (I'm lazy, we
+don't need a survey to determine that).
+
+
+The responses
+=============
+
+See <http://code.liw.fi/obnam/survey-2016.html> for the responses,
+after hand-processing.
+
+For the questions for which it makes sense, a script has tabulated the
+various responses and calculated percentages. I haven't produced
+graphs, as I don't know how to do that easily. (Maybe next time I'll
+enlist the help of statisticians.)
+
+Conclusions
+===========
+
+[popcon]: https://qa.debian.org/popcon.php?package=obnam
+
+* There were 263 responses in total. I have no idea of knowing if the
+  total number of Obnam users is about that, but the number correlates
+  fairly well with the Debian [popcon][] numbers, so I'm assuming
+  Obnam has on the order of a few hundred users total.
+
+  A larger number might be more impressive, but it'd also mean that I
+  would be responsible for much more data loss if I make a horrible
+  mistake. That said, it is probably time to start spending some
+  effort on growing the developer base of Obnam.
+
+* People seem to hear about Obnam primarily from my blog posts, or by
+  searching the web for backup software. Also, from the Arch Linux or
+  Gentoo wikis, or Joey Hess.
+
+* People use Obnam mostly for personal machines, but also at work.
+
+* Those who have tried Obnam, but don't use it, rejected it primarily
+  for speed or because it's unstable or buggy. I hope that the bad
+  bugs have mostly been fixed, and I'm working on improving the speed.
+
+* People seem to use either the latest version, or the version
+  included in the release of their operating system (e.g., Debian
+  jessie). Other versions are relatively rare.
+
+* Most people started using Obnam in the past two years.
+
+* People use Obnam on a variety of Linux based operating systems, but
+  also others. Obnam users are especially skewed towards Debian and
+  Ubuntu, which is not surprising, as I'm involved in Debian and have
+  been publicising it there, and provide package for Debian myself.
+
+* About half the people have at least hundreds of thousands of files,
+  containing hundreds of gigabytes of data. All extremes (very few or
+  very many files, very little or very much data) are represented,
+  though. A couple of people have at least a hundred million files, or
+  at least then terabytes of data.
+
+* Most people don't have a backup strategy, or at least not a
+  documented one, and if they do, it's not regularly tested.
+
+  This isn't a good thing.
+
+* Most people had backed up within the past week as of the time of
+  filling in the survey. This hopefully indicates that they back up
+  frequently. Only one respondent said they'd never backed up.
+
+  Rather more people hadn't tested their backups, however, with about
+  a fifth of the people having never tested their backup. This is also
+  not good.
+
+* Most people only back up one machine to each repository, or at most
+  a few. A total of 17 respondents reported that they don't have a
+  backup, and do not fear clowns.
+
+* About half the people back up to a local drive, and nearly two
+  thirds to an SFTP server.
+
+  People ask for more remote storage options, such as support for
+  services like Amazon S3.
+
+* The things people like most about Obnam are on its list of core
+  features: de-duplication, encryption, and ease of use / simplicity.
+  FUSE is also well-liked, as are snapshot backups.
+
+* I didn't tabulate the reasons why people don't like Obnam, but
+  performance and stability seem to be the most common reasons. My
+  favourite response to this question is "the name obnam, does not
+  sounds like a backup program".
+
+* Speed is also the pet bug people seem to have.
+
+* People seem to generally find Obnam documentation adequate. There's
+  room for improvement, of course.
+
+* Nearly everyone finds it easy to get help if they have a problem
+  with Obnam, but almost no-one uses the Obnam support mailing list or
+  IRC channel.
+
+* Some people read the NEWS file, others do not. Few have sent
+  patches, but some would like to. There's a bunch of suggestions for
+  new features. 
+
+  None of this is surprising to me, except perhaps that so many Obnam
+  users actually do read the NEWS file, as it's been my experience in
+  other projects that that's rare.
+
+* About half the people have heard of the green albatross. It's the
+  name of the new way in which Obnam will be storing data on disk,
+  which is a big factor in how fast or slow Obnam is. When the green
+  albatross soars, Obnam will fly faster.
+
+* People use other backup software as well, which is sensible: no
+  point in having all one's eggs in one basket. The top choices are
+  rsync, duplicity, attic, and rsnapshot, but the list seems to
+  mention most free backup software.
+
+* There's some interest in helping Obnam development, either by direct
+  contributions, donations, paying for support or development, or by
+  buying merchandise. Nearly no-one wants a printed version of the
+  manual, but stickers and t-shirts might sell well enough.
+
+  A lot of people don't really want to, or are not able to,
+  contribute, especially not by doing things, and that's OK. (They did
+  contribute, however, by filling in the survey.)
+
+* When given an opportunity to say whatever they want to Obnam
+  developers, most people say "thank you" in some form or another.
+  This was very heartwarming.

Remove draft tag
diff --git a/posts/dpl-2016-not-platform.mdwn b/posts/dpl-2016-not-platform.mdwn
index 56db7cc..063e1ec 100644
--- a/posts/dpl-2016-not-platform.mdwn
+++ b/posts/dpl-2016-not-platform.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="Not-platform for Debian project leader elections 2016"]]
-[[!tag draft debian]]
+[[!tag debian]]
 
 After some serious thinking, I've decided **not** to nominate myself
 in the Debian project leader elections for 2016. While I was doing

Add draft of DPL blog post
diff --git a/posts/dpl-2016-not-platform.mdwn b/posts/dpl-2016-not-platform.mdwn
new file mode 100644
index 0000000..56db7cc
--- /dev/null
+++ b/posts/dpl-2016-not-platform.mdwn
@@ -0,0 +1,106 @@
+[[!meta title="Not-platform for Debian project leader elections 2016"]]
+[[!tag draft debian]]
+
+After some serious thinking, I've decided **not** to nominate myself
+in the Debian project leader elections for 2016. While I was doing
+that, I wrote the beginnings of a platform, below. I'm publishing it
+to have a record of what I was thinking, in case I change my mind in
+the future, and perhaps it can inspire other other people to do
+something I would like to happen.
+
+Why not run? I don't think I want to deal with the stress. I already
+have more than enough stress in my life, from work. I enjoy my
+obscurity in Debian. It allows me to go away for long periods of time,
+and to ignore any discussions, topics, and people that annoy or
+frustrate me, if I don't happen to want to tackle them at any one
+time. I couldn't do that if I was DPL.
+
+# NOT a platform for Debian project leader election, 2016
+
+Apart from what the Debian constitution formally specifies, I find
+that the important duties of the Debian project leader are:
+
+* Inspire, motivate, and enable the Debian community to make Debian
+  better: to be the grease that makes the machinery run smoother. It
+  is not important that the DPL do things, except to make sure other
+  people can do.
+* Delegate what work can be delegated. The DPL is only one person, and
+  should not be a bottleneck. Anything that can reasonably be
+  delegated should be delegated.
+* Deal with mundane management tasks. This includes spending Debian
+  money when it makes things easier, such as by funding sprints.
+* Represent the project in public, or find people to do that in
+  specific cases.
+* Help resolve conflicts within the project.
+
+I do not feel it is the job of the DPL to set goals for the project,
+technical or otherwise, any more than any other member of the project.
+Such goals tend to best come from enthusiastic individual developer
+who want something and are willing to work on it. The DPL should
+enable such developers, and make sure they have what they need to do
+the work.
+
+# My plan, if elected
+
+1. Keep Debian running. Debian can run for a long time effectively on
+   autopilot, even if the DPL vanishes, but not indefinitely. At
+   minimum, the DPL should delegate the secretary and technical
+   committee members, and decide on how money should be spent. I will
+   make sure this minimum level is achieved.
+
+2. While I have no technical goals to set for the project, I have an
+   organisational one. I believe it is time for the project to form a
+   social committee whose mandate is to step in and help resolve
+   conflicts in their early stages, before they grow big enough that
+   the DPL, the tech-ctte, listmasters, or the DAM needs to involved.
+   See below for more details on this. If I am elected, I will do my
+   best to get a social committee started, and I will assume that any
+   vote for me is also a vote for a social committee.
+
+# Social committee
+
+(Note: It's been suggested that this is a silly name, but I haven't
+had time to come up with anything better. I already rejected "nanny
+patrol".)
+
+We are a big project now. Despite our reputation, we are a remarkably
+calm project, but there are still occasional conflicts, and some of
+them spill out into our big mailing lists. We are not very good, as a
+project, in handling such situations.
+
+It is not a new idea, but I think its time has come, and I propose
+that we form a new committee, a social committee, whose job is to help
+de-escalate conflict situations while they are still small conflicts,
+to avoid them growing into big problems, and to help resolve big
+conflicts if they still happen.
+
+This is something the DPL has always been doing. People write to the
+DPL to ask for mediation, or other help, when they can't resolve a
+situation by themselves. We also have the technical committee,
+listmasters, GRs, and the expulsion process defined by the DAM. These
+are mostly heavy-weight tools and by the time it's time to consider
+their use, it's already too late to find a good solution.
+
+Having the DPL do this alone puts too much pressure on one person.
+We've learnt that important tasks should generally be handled by teams
+rather than just one person.
+
+Thus, I would like us to have a social committee that:
+
+* is reasonably small, like the technical committee
+* attempts to resolve conflicts at an early stage
+* is delegated by the DPL to have authority to do this
+* doesn't necessarily have direct authority to remove people from
+  mailing lists, IRC channels, or expel them from the project, but has
+  authority suggest such measures to the appropriate team
+* may do other things, such as educate people on how to resolve
+  conflicts constructively themselves, or deal with chronic conflicts
+  in addition to acute flare-ups
+
+# About me
+
+I've been a Debian developer since 1996. I've been retired twice,
+while I spent large amounts of time on other things. I haven't been a
+member of any important team in Debian, but I've been around long
+enough that I know many people, and have a reasonable understanding of
+how the projects works.

Post about not working on backups as a default service for stretch
diff --git a/posts/backups-as-a-default-service-update.mdwn b/posts/backups-as-a-default-service-update.mdwn
new file mode 100644
index 0000000..9418efe
--- /dev/null
+++ b/posts/backups-as-a-default-service-update.mdwn
@@ -0,0 +1,20 @@
+[[!meta
+   title="Update on 'Backups as a service in Debian': no news is bad news"]]
+[[!meta date="Sun, 31 Jan 2016 12:50:17 +0200"]]
+[[!tag debian]]
+
+At Debconf15 I gave a talk on topic of having backups be a default
+service on Debian machines. In that talk, I proposed that we create
+infrastructure to be included in a default Debian install to manage
+backups.
+
+I still think this is a good idea, but over the past several months,
+I've had nearly no time at all to actually do this.
+
+I'm afraid I have to say now that I won't be able to work on this in
+time for the stretch release. I would be very happy for others to do
+that, however.
+
+The Debian wiki page <https://wiki.debian.org/Backup> acts as a
+central point of information for this. If you're interested in working
+on this, you can just do it.

Announce obnam 1.19.1
diff --git a/posts/obnam-1.19.1.mdwn b/posts/obnam-1.19.1.mdwn
new file mode 100644
index 0000000..f2dfa97
--- /dev/null
+++ b/posts/obnam-1.19.1.mdwn
@@ -0,0 +1,29 @@
+[[!meta title="Obnam 1.19.1 released (backup software)"]]
+[[!meta date="Sat, 30 Jan 2016 12:33:40 +0200"]]
+[[!tag obnam announcement]]
+
+I have just released version 1.19.1 of Obnam, the backup program. See
+the website at <http://obnam.org> for details on what the program
+does. The new version is available from git (see <http://git.liw.fi>)
+and as Debian packages from <http://code.liw.fi/debian>, and uploaded
+to Debian, and soon in unstable.
+
+The NEWS file extract below gives the highlights of what's new in this
+version. Basically, it fixes a bug.
+
+NOTE: Obnam has an **EXPERIMENTAL** repository format under
+development, called `green-albatross`. It is **NOT** meant for real
+use. It is likely to change in incompatible ways without warning. Do
+not use it unless you're willing to lose your backup.
+
+Version 1.19.1, released 2016-01-30
+---------------------------------
+
+Bug fix:
+
+* The check for paramiko version turned out not to work with
+  versions 1.7.8 through 1.10.4, due to the
+  `paramiko.__version_info__` variable being missing. It's there in
+  earlier and later versions. Lars Wirzenius added code to make the
+  check work if the `paramiko.__version__` variable is there. Jan
+  Niggemann provided research and testing.

creating tag page tag/survey
diff --git a/tag/survey.mdwn b/tag/survey.mdwn
new file mode 100644
index 0000000..32f5d24
--- /dev/null
+++ b/tag/survey.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged survey"]]
+
+[[!inline pages="tagged(survey)" actions="no" archive="yes"
+feedshow=10]]

Post about Obnam survey
diff --git a/posts/obnam-survey-2016-01.mdwn b/posts/obnam-survey-2016-01.mdwn
new file mode 100644
index 0000000..df31984
--- /dev/null
+++ b/posts/obnam-survey-2016-01.mdwn
@@ -0,0 +1,31 @@
+[[!meta title="Obnam survey (January 2016)"]]
+[[!meta date="Sun, 17 Jan 2016 13:05:32 +0200"]]
+[[!tag obnam survey]]
+
+Survey URL: <http://goo.gl/forms/hdoQZKjs80>
+
+I am doing an Obnam survey. The goal of this survey is to collect
+feedback from those who use Obnam, or have tried it, to guide the
+project in the future.
+
+The survey will run until February 29, 2016.
+
+Goals:
+
+* Get a feel for the number of people using Obnam, and how they are
+  using it.
+* Find out why those who've tried Obnam have chosen to not use it.
+* Get input on roadmap planning: what things are wanted most, or
+  least. What is important for Obnam users?
+* Get feedback on what's good or bad about Obnam in general.
+* Get feedback about the project in addition to the software.
+* Get a feel for whether it's worth pursuing business opportunities
+  around Obnam.
+
+All questions in this survey are optional. I do not collect personal
+information at all. The survey is implemented using Google Forms, and
+so Google probably collects some information; sorry. You don't need to
+log in to Google to fill in the survey, though, and I encourage you to
+use all the privacy protection tools you have.
+
+I hope as many Obnam users as possible fill in the survey.

Fix title
diff --git a/posts/obnam-1.19.mdwn b/posts/obnam-1.19.mdwn
index cd01724..e03bb7e 100644
--- a/posts/obnam-1.19.mdwn
+++ b/posts/obnam-1.19.mdwn
@@ -1,4 +1,4 @@
-[[!meta title="Obnam 1.18 released (backup software)"]]
+[[!meta title="Obnam 1.19 released (backup software)"]]
 [[!meta date="Fri, 15 Jan 2016 21:18:42 +0200"]]
 [[!tag obnam announcement]]
 

Post about Obnam 1.19
diff --git a/posts/obnam-1.19.mdwn b/posts/obnam-1.19.mdwn
new file mode 100644
index 0000000..cd01724
--- /dev/null
+++ b/posts/obnam-1.19.mdwn
@@ -0,0 +1,46 @@
+[[!meta title="Obnam 1.18 released (backup software)"]]
+[[!meta date="Fri, 15 Jan 2016 21:18:42 +0200"]]
+[[!tag obnam announcement]]
+
+I have just released version 1.19 of Obnam, the backup program. See
+the website at <http://obnam.org> for details on what the program
+does. The new version is available from git (see <http://git.liw.fi>)
+and as Debian packages from <http://code.liw.fi/debian>, and uploaded
+to Debian, and soon in unstable.
+
+The NEWS file extract below gives the highlights of what's new in this
+version.
+
+NOTE: Obnam has an **EXPERIMENTAL** repository format under
+development, called `green-albatross`. It is **NOT** meant for real
+use. It is likely to change in incompatible ways without warning. Do
+not use it unless you're willing to lose your backup.
+
+Version 1.19, released 2016-01-15
+---------------------------------
+
+Bug fixes:
+
+* Backup no longer ignores a closed SSH connection. This means it
+  won't keep trying to use it, forever. Instead, it crashes and
+  terminates the backup.
+
+* The Paramiko SSH implementation, which Obnam uses, changed the
+  interface to the `prefetch` method in its 1.16 version. Obnam can
+  now deal with either variant of the method. Found and reported by
+  Kyle Manna, who provided a patch that Lars Wirzenius rewrote to be
+  backwards compatible to older versions of Paramiko.
+
+Improvements to the manual:
+
+* The manual now has an appendix listing all Obnam errors, with codes
+  and explanations. This will need to be updated manually from time to
+  time.
+
+* The manual now has sections on turning on full debug logging and
+  reporting problems.
+
+Improvements to functionality:
+
+* The output of `obnam generations` now show time zone. Lars Wirzenius
+  implemented based on suggestion by Limdi.

Fix typo
diff --git a/posts/back-to-finland.mdwn b/posts/back-to-finland.mdwn
index f23bb03..1fa22f7 100644
--- a/posts/back-to-finland.mdwn
+++ b/posts/back-to-finland.mdwn
@@ -1,4 +1,5 @@
 [[!meta title="Coming back to Finland after five years"]]
+[[!meta date="Sun Dec 27 13:11:30 2015 +0100"]]
 [[!tag finland politics rant]]
 
 It was a shock to be back in Finland after five years. The country had
@@ -31,7 +32,7 @@ Examples:
   to and including celebrating neo-nazism.
 * The government spends a lot of effort trying to break any power the
   labour unions have, so that the employers get to do what they want.
-  The whole stabilising syste of negotating between government,
+  The whole stabilising system of negotating between government,
   employer, and labour organisations is being torn down, and labour is
   being stripped of any power.
 * Prominent cabinet ministers talk condescendingly about science,

Publish
diff --git a/posts/back-to-finland.mdwn b/posts/back-to-finland.mdwn
index bbb138a..f23bb03 100644
--- a/posts/back-to-finland.mdwn
+++ b/posts/back-to-finland.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="Coming back to Finland after five years"]]
-[[!tag draft finland politics rant]]
+[[!tag finland politics rant]]
 
 It was a shock to be back in Finland after five years. The country had
 gone bad.

creating tag page tag/finland
diff --git a/tag/finland.mdwn b/tag/finland.mdwn
new file mode 100644
index 0000000..9a97a6b
--- /dev/null
+++ b/tag/finland.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged finland"]]
+
+[[!inline pages="tagged(finland)" actions="no" archive="yes"
+feedshow=10]]

Add draft about coming back to Finland
diff --git a/posts/back-to-finland.mdwn b/posts/back-to-finland.mdwn
new file mode 100644
index 0000000..bbb138a
--- /dev/null
+++ b/posts/back-to-finland.mdwn
@@ -0,0 +1,48 @@
+[[!meta title="Coming back to Finland after five years"]]
+[[!tag draft finland politics rant]]
+
+It was a shock to be back in Finland after five years. The country had
+gone bad.
+
+I was born in Finland, and lived here all my life, until
+January, 2010. I then moved abroad for five years, with my
+then-girlfriend, now wife. We lived in New Zealand, Scotland, and
+England. In October 2014 we came back, because my next job happened to
+be in Finland.
+
+When we came back, I found that the country had changed, or I had lost
+my rose-coloured glasses. The Finland I left was a place where
+equality and solidarity were assumed, though not universal. The
+country I came back to turned out to be racist, scared, and quickly
+abandoning everything that used to be examples of why the country is a
+good place to live. Some of the change has, possibly, only happened
+during 2015 and the refugee crisis in Europe, but the change started
+earlier.
+
+Examples:
+
+* Racist behaviour and violence is commonplace. Those who do not look
+  like the natives are insulted, threatened with physical violence,
+  and sometimes experience it.
+* Political violence is becoming commonplace. Refugee centers are
+  burnt down, sometimes with people inside. Government ministers are
+  attacked, albeit by throwing a drink on them.
+* Politicians get away with saying and doing clearly racist things, up
+  to and including celebrating neo-nazism.
+* The government spends a lot of effort trying to break any power the
+  labour unions have, so that the employers get to do what they want.
+  The whole stabilising syste of negotating between government,
+  employer, and labour organisations is being torn down, and labour is
+  being stripped of any power.
+* Prominent cabinet ministers talk condescendingly about science,
+  universities, and cut down educational funding. Universities should
+  concentrate on being R&D factories for business, forget about
+  advancing civilisation, or the humanities, or the arts. Unless it's
+  the type of arts that becomes best-selling games.
+
+Now, it is clear that Finland was never the kind of idyllic utopia
+that I thought it was, back when I was young. The older I get, the
+clearer it is that I was naive.
+
+The change over five years is still quite remarkable. I can't ever go
+back home. Now, I am sometimes ashamed of being Finnish.

creating tag page tag/sfc
diff --git a/tag/sfc.mdwn b/tag/sfc.mdwn
new file mode 100644
index 0000000..b99fa2a
--- /dev/null
+++ b/tag/sfc.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged sfc"]]
+
+[[!inline pages="tagged(sfc)" actions="no" archive="yes"
+feedshow=10]]

Post about SFC
diff --git a/posts/sfc2015.mdwn b/posts/sfc2015.mdwn
new file mode 100644
index 0000000..cc790ad
--- /dev/null
+++ b/posts/sfc2015.mdwn
@@ -0,0 +1,11 @@
+[[!meta title="Software Freedom Conservancy donation"]]
+[[!tag sfc]]
+
+I just donated to Software Freedom Conservancy as a supporter. They do
+great, important work in GPL enforcement, and they need some money to
+continue it.
+
+You can help, too: <https://sfconservancy.org/supporter/>.
+
+See also,
+<https://bits.debian.org/2015/12/conservancy-fundraising-campaign.html>.

Remove draft tag
diff --git a/posts/fuug-grant-part2.mdwn b/posts/fuug-grant-part2.mdwn
index baa8479..97debe4 100644
--- a/posts/fuug-grant-part2.mdwn
+++ b/posts/fuug-grant-part2.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="FUUG grant for Obnam development: what happened then"]]
-[[!tag draft obnam]]
+[[!tag obnam]]
 
 In September, The [FUUG Foundation][] gave me a [grant][] to buy some
 hardware for Obnam development. I used this money to buy a new

Wording fix
diff --git a/posts/fuug-grant-part2.mdwn b/posts/fuug-grant-part2.mdwn
index c4770d1..baa8479 100644
--- a/posts/fuug-grant-part2.mdwn
+++ b/posts/fuug-grant-part2.mdwn
@@ -66,8 +66,8 @@ The two benchmarks that I currently run are:
 * A single, 10 GB file.
 
 These are two extreme cases of what a backup needs to deal with:
-either the file metadata, or its content. Both are incur different
-costs for a backup program. Thus, two benchmarks.
+either the file metadata, or its content. They incur different costs
+for a backup program. Thus, two benchmarks.
 
 In both cases, the benchmark consists of an initial backup, a restore,
 and a second backup, without changes to the live data. The second

Clarifyt wording
diff --git a/posts/fuug-grant-part2.mdwn b/posts/fuug-grant-part2.mdwn
index 0013293..c4770d1 100644
--- a/posts/fuug-grant-part2.mdwn
+++ b/posts/fuug-grant-part2.mdwn
@@ -66,8 +66,8 @@ The two benchmarks that I currently run are:
 * A single, 10 GB file.
 
 These are two extreme cases of what a backup needs to deal with:
-either the file metadata, or its content. Both are cost for a backup
-program deal with, and the costs are different. Thus, two benchmarks.
+either the file metadata, or its content. Both are incur different
+costs for a backup program. Thus, two benchmarks.
 
 In both cases, the benchmark consists of an initial backup, a restore,
 and a second backup, without changes to the live data. The second

Split paragraph
diff --git a/posts/fuug-grant-part2.mdwn b/posts/fuug-grant-part2.mdwn
index 3679eeb..0013293 100644
--- a/posts/fuug-grant-part2.mdwn
+++ b/posts/fuug-grant-part2.mdwn
@@ -58,7 +58,9 @@ date| many files|one big file
 """]]
 
 In a bit over two months, I've made some significant progress, I
-think. The two benchmarks that I currently run are:
+think.
+
+The two benchmarks that I currently run are:
 
 * A million tiny files, containing a single, random byte.
 * A single, 10 GB file.

Try something
diff --git a/posts/fuug-grant-part2.mdwn b/posts/fuug-grant-part2.mdwn
index fbb6de8..3679eeb 100644
--- a/posts/fuug-grant-part2.mdwn
+++ b/posts/fuug-grant-part2.mdwn
@@ -52,7 +52,7 @@ snapshot of the results so far:
 [obbench]: http://git.liw.fi/cgi-bin/cgit/cgit.cgi/obnam-benchmarks/tree/
 
 [[!table data="""
-date|many files|one big file
+date| many files|one big file
 2015-09-28|2165.0|1381.9
 2015-12-06|1461.6|384.0
 """]]

Fix !table use
diff --git a/posts/fuug-grant-part2.mdwn b/posts/fuug-grant-part2.mdwn
index 3adb50a..fbb6de8 100644
--- a/posts/fuug-grant-part2.mdwn
+++ b/posts/fuug-grant-part2.mdwn
@@ -51,7 +51,7 @@ snapshot of the results so far:
 
 [obbench]: http://git.liw.fi/cgi-bin/cgit/cgit.cgi/obnam-benchmarks/tree/
 
-[[!table src="""
+[[!table data="""
 date|many files|one big file
 2015-09-28|2165.0|1381.9
 2015-12-06|1461.6|384.0

Fix typo
diff --git a/posts/fuug-grant-part2.mdwn b/posts/fuug-grant-part2.mdwn
index 241481e..3adb50a 100644
--- a/posts/fuug-grant-part2.mdwn
+++ b/posts/fuug-grant-part2.mdwn
@@ -4,7 +4,7 @@
 In September, The [FUUG Foundation][] gave me a [grant][] to buy some
 hardware for Obnam development. I used this money to buy a new
 desktop-ish machine, see below for details. It's sat in a corner, and
-I used it as a server: it's not normally connected to a monitor or
+I use it as a server: it's not normally connected to a monitor or
 keyboard. It runs Obnam benchmarks. Before this, I ran Obnam
 benchmarks and experiments on my laptop, or on BigV virtual servers
 donated by Bytemark.

Draft fuug part2
diff --git a/posts/fuug-grant-part2.mdwn b/posts/fuug-grant-part2.mdwn
new file mode 100644
index 0000000..241481e
--- /dev/null
+++ b/posts/fuug-grant-part2.mdwn
@@ -0,0 +1,125 @@
+[[!meta title="FUUG grant for Obnam development: what happened then"]]
+[[!tag draft obnam]]
+
+In September, The [FUUG Foundation][] gave me a [grant][] to buy some
+hardware for Obnam development. I used this money to buy a new
+desktop-ish machine, see below for details. It's sat in a corner, and
+I used it as a server: it's not normally connected to a monitor or
+keyboard. It runs Obnam benchmarks. Before this, I ran Obnam
+benchmarks and experiments on my laptop, or on BigV virtual servers
+donated by Bytemark.
+
+[FUUG Foundation]: http://fuug.fi/saatio/
+[grant]: http://blog.liw.fi/posts/fuug-grant/
+
+The hardware
+------------
+
+The parts:
+
+* CPU: Intel Core i7 4790K 4.0 GHz (4 cores, total of 8 hyperthreads)
+* RAM: Kingston HyperX Beast 32 GB
+* Mainboard: 46400 Asus H97M-Plus Intel H97 LGA 1150 micro-ATX
+* SSD: Samsung 850 EVO SSD 120 GB
+* HDD: 4 x WD Red 4 TB
+* PSU: Corsair CX750M ATX
+* Case: BitFenix Phenom micro-ATX
+
+Not to brag, but it's a nice machine. Much more power than my 2012 era
+laptop.
+
+The SSD is the system drive, the HDDs are for running Obnam benchmarks
+on. The HDDs are not RAIDed. Each drive is a PV for LVM2. All the data
+on those drives is scratch data: it's not valuable, and I do not care
+if it is lost. In fact, most of the data gets created and deleted
+during a benchmark run, and usually the disks are empty. The SSD
+contains the host operating system, and the virtual disks for all the
+virtual machines.
+
+I assembled the machine myself, with the help of a friend, and
+installed Debian jessie on it. The Debian installation is pretty bare
+bones, just enough to run and manage a bunch of virtual machines using
+libvirt and ansible. All the actual work, including benchmarks, are
+run in virtual machines.
+
+The benchmarks
+--------------
+
+The benchmarks are run by a kludge, called [obbench][], and the
+results are published at <http://benchmark.obnam.org/>. Here's a
+snapshot of the results so far:
+
+[obbench]: http://git.liw.fi/cgi-bin/cgit/cgit.cgi/obnam-benchmarks/tree/
+
+[[!table src="""
+date|many files|one big file
+2015-09-28|2165.0|1381.9
+2015-12-06|1461.6|384.0
+"""]]
+
+In a bit over two months, I've made some significant progress, I
+think. The two benchmarks that I currently run are:
+
+* A million tiny files, containing a single, random byte.
+* A single, 10 GB file.
+
+These are two extreme cases of what a backup needs to deal with:
+either the file metadata, or its content. Both are cost for a backup
+program deal with, and the costs are different. Thus, two benchmarks.
+
+In both cases, the benchmark consists of an initial backup, a restore,
+and a second backup, without changes to the live data. The second
+backup is an extreme case of what backups usually do: most data
+usually doesn't change, so keeping that in mind for optimisation is
+important.
+
+The above benchmarks are synthetic: they use data that's generated by
+a program ([genbackupdata][]), so that they can be reproduced.
+Synthetic benchmarks are useful, especially for looking at particular
+aspects of a program's operation for optimisation. However, they do
+not necessarily reflect how a program behaves in actual use.
+
+[genbackupdata]: http://liw.fi/genbackupdata/
+
+I also run, by hand, experiments with real data. I have a snapshot of
+our home file server and my laptop on the benchmark machine. The
+snapshots are static, and do not get updated. I experiment by running
+Obnam backups manually, the initial full backup and a no-change
+incremental one. In early October, I couldn't finish the initial full
+backups. They took too long, more than a week. Now I can finish them
+in about a day. This remarkable change is not evident from the
+synthetic benchmarks.
+
+In numbers: 572986 files in the live data, containing 4.5 TiB. Initial
+backup, about 18.5 hours. Incremental backup, 4m13s. This is from a
+local disk to a local disk.
+
+In addition to these, I've run numerous experiments on the new
+machine. These would have been much less easy to run on my laptop, and
+so I probably wouldn't have. Running benchmarks was always painful on
+my laptop, since it does not have the necessary disk space, and I'd
+really rather like to use it for other things.
+
+The results
+-----------
+
+Thanks to the benchmarks and experiments I've been able to take the
+in-development version of Obnam from being quite impractical for real
+use to being in experimental use for real data. I now use the new
+version as my primary backup of my laptop, with two secondary backups
+(with the old Obnam version, and rsync) in parallel. This would not
+have happened this year without the extra hardware.
+
+In addition to the Obnam work, I've used the new machine to develop a
+test suite for [vmdebootstrap][].
+
+[vmdebootstrap]: http://liw.fi/vmdebootstrap/
+
+My actual development still happens on my laptop, except for things
+that are heavy enough to be slow on the laptop. I've made sure I can
+do most development purely on my laptop, while offline, including
+running a CI system, and testing things on two architecture and three
+releases of Debian. I do not want my development to be dependent on
+incidental things such as network access, unless I'm doing things that
+by their nature depend on the network, such as publishing changes or
+releases.

Post about Obnam 1.18
diff --git a/posts/obnam-1.18.mdwn b/posts/obnam-1.18.mdwn
new file mode 100644
index 0000000..a245e46
--- /dev/null
+++ b/posts/obnam-1.18.mdwn
@@ -0,0 +1,41 @@
+[[!meta title="Obnam 1.18 released (backup software)"]]
+[[!tag obnam announcement]]
+
+I have just released version 1.18 of Obnam, my backup program. See the
+website at <http://obnam.org> for details on what the program does.
+The new version is available from git (see <http://git.liw.fi>) and as
+Debian packages from <http://code.liw.fi/debian>, and uploaded to
+Debian, and soon in unstable.
+
+The NEWS file extract below gives the highlights of what's new in this
+version.
+
+Version 1.18, released 2015-11-04
+---------------------------------
+
+Bug fixes:
+
+* William Boughton fixed parsing for sftp URLs with IPv6 addresses.
+  Previously, `sftp://[::1]` would be interpreted by Obnam as an
+  address `[` followed by the port `:1]`, but now it is correctly
+  interpreted as the adddress `::1` and no explicit port.
+
+* Ian Campbell fixed a bug in the kdirstat plugin, improving the
+  handling of unknown file types.
+
+* Lars Wirzenius changed the `scan_tree` code to not be recursive, to
+  avoid problems with directory trees that are deeper than Python's
+  call stack limit allows.
+
+Minor changes:
+
+* Lars Wirzenius added support for a multiline progress message during
+  backup. Version 0.24 or newer of `ttystatus` is needed for this, but
+  Obnam will work with an older version by displaying the same
+  single-line progress message as before.
+
+* Ben Boeckel added the `--gnupghome` setting so that Obnam can be
+  configured to use a separate GnuPG (gpg) configuration directory.
+
+* Henri Sivonen improved the compression code to not compress if the
+  result would be larger.

Remove draft tag
diff --git a/posts/preining.mdwn b/posts/preining.mdwn
index 9cc2538..3b89411 100644
--- a/posts/preining.mdwn
+++ b/posts/preining.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="On Norbert Preining, Sarah Sharp, and Debian"]]
-[[!tag draft debian rant]]
+[[!tag debian rant]]
 
 I disagree with pretty much everything Norbert Preining says in his
 [blog post about Sarah Sharp][] in response to Sharp's blog post

Add draft Preining post
diff --git a/posts/preining.mdwn b/posts/preining.mdwn
new file mode 100644
index 0000000..9cc2538
--- /dev/null
+++ b/posts/preining.mdwn
@@ -0,0 +1,28 @@
+[[!meta title="On Norbert Preining, Sarah Sharp, and Debian"]]
+[[!tag draft debian rant]]
+
+I disagree with pretty much everything Norbert Preining says in his
+[blog post about Sarah Sharp][] in response to Sharp's blog post
+[Closing a door][] about leaving Linux kernel development. I think
+Preining mis-characterises what happens on the Linux kernel mailing
+list, and in Debian, in free software development in general, and what
+Sarah Sharp has said and done.
+
+[blog post about Sarah Sharp]: http://www.preining.info/blog/2015/10/looking-at-the-facts-sarah-sharps-crusade/
+[Closing a door]: http://sarah.thesharps.us/2015/10/05/closing-a-door/
+
+I do not wish to participate in yet another discussion on the
+[Debian Code of Conduct][], respect, appropriate behaviour, or whether
+these things result in worse software. I won't spend any further of my
+time on debating, point-by-point, the arguments and straw-men Preining
+makes. Those discussions have happened often enough, without any
+effect on Preining and those who think like him. Likewise, despite the
+many times he makes the arguments, I continue to think he is wrong
+about everything on this topic.
+
+[Debian Code of Conduct]: https://www.debian.org/code_of_conduct
+
+I do feel it is important to make it clear to the people reading
+Planet Debian, where both Preining's and my blogs are published, that
+his opinions are not mainstream in the Debian project, and that
+despite what he says, Debian development continues to be fun.

Remove draft tag
diff --git a/posts/fuug-grant.mdwn b/posts/fuug-grant.mdwn
index 093fe1c..01e806e 100644
--- a/posts/fuug-grant.mdwn
+++ b/posts/fuug-grant.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="FUUG grant for Obnam development"]]
-[[!tag obnam draft]]
+[[!tag obnam]]
 
 I'm very pleased to say that the [FUUG foundation][] in Finland has
 awarded me a grant to buy some hardware to help development of

Markup fix
diff --git a/posts/fuug-grant.mdwn b/posts/fuug-grant.mdwn
index 1bd34db..093fe1c 100644
--- a/posts/fuug-grant.mdwn
+++ b/posts/fuug-grant.mdwn
@@ -3,9 +3,9 @@
 
 I'm very pleased to say that the [FUUG foundation][] in Finland has
 awarded me a grant to buy some hardware to help development of
-[Obnam][], by backup program. The [announcement in Finnish]() has more
-details.
+[Obnam][], by backup program. The [announcement][] has more
+details in Finnish.
 
 [FUUG foundation]: http://fuug.fi/saatio/
 [Obnam]: http://obnam.org
-[announcement in Finnish]: http://fuug.fi/2015/syyskuussa-2015-myonnetyt-apurahat/
+[announcement]: http://fuug.fi/2015/syyskuussa-2015-myonnetyt-apurahat/

Draft FUUG grant post
diff --git a/posts/fuug-grant.mdwn b/posts/fuug-grant.mdwn
new file mode 100644
index 0000000..1bd34db
--- /dev/null
+++ b/posts/fuug-grant.mdwn
@@ -0,0 +1,11 @@
+[[!meta title="FUUG grant for Obnam development"]]
+[[!tag obnam draft]]
+
+I'm very pleased to say that the [FUUG foundation][] in Finland has
+awarded me a grant to buy some hardware to help development of
+[Obnam][], by backup program. The [announcement in Finnish]() has more
+details.
+
+[FUUG foundation]: http://fuug.fi/saatio/
+[Obnam]: http://obnam.org
+[announcement in Finnish]: http://fuug.fi/2015/syyskuussa-2015-myonnetyt-apurahat/

Announce obnam 1.17
diff --git a/posts/obnam-1.17.mdwn b/posts/obnam-1.17.mdwn
new file mode 100644
index 0000000..5ef6a13
--- /dev/null
+++ b/posts/obnam-1.17.mdwn
@@ -0,0 +1,46 @@
+[[!meta title="Obnam 1.17 released (backup software)"]]
+[[!tag obnam announcement]]
+
+I have just released version 1.17 of Obnam, my backup program. See the
+website at <http://obnam.org> for details on what the program does.
+The new version is available from git (see <http://git.liw.fi>) and as
+Debian packages from <http://code.liw.fi/debian>, and uploaded to
+Debian, and soon in unstable.
+
+The NEWS file extract below gives the highlights of what's new in this
+version. It includes highlights for 1.15 and 1.16 as well, as I didn't
+announce those in this blog.
+
+Version 1.17, released 2015-09-12
+---------------------------------
+
+* Lukáš Poláček added the `--fsck-skip-checksums` setting to
+  greatly speed up `obnam fsck`.
+
+* Lars Wirzenius fixed a bug that caused Obnam to sometimes back up
+  the parent of the backup live data root. In other words, if running
+  `obnam backup $HOME/important`, then Obnam might backup the whole
+  of the home directory, instead of just the important subdirectory.
+
+
+Version 1.16, released 2015-09-06
+---------------------------------
+
+* Fixed another typo in a variable name ("netloc"), found by Benedikt
+  Neuffer.
+
+* Fixed a lot of missing module imports, unnecessary module imports,
+  and other minor bugs and style issues found by pylint. Pylint now
+  gets run automatically by the test suite.
+
+  This includes a fix in `exclude_pathnames_plugin.py` to add a missing
+  import and fix variable namaes, by Diane Trout. A similar fix was
+  also contributed by Mesar Hameed.
+
+* Lukáš Poláček fixed an unlocking problem when GnuPG fails during an
+  Obnam run. The lock should now be removed rather than left behind.
+
+Version 1.15, released 2015-08-19
+---------------------------------
+
+* Fixed a typo in a variable name ("netloc"), found by Dirk.

TWeak
diff --git a/posts/dependency-cost.mdwn b/posts/dependency-cost.mdwn
index a6ed5ba..7153c0b 100644
--- a/posts/dependency-cost.mdwn
+++ b/posts/dependency-cost.mdwn
@@ -1,16 +1,16 @@
 [[!meta title="On the cost analysis of dependencies"]]
 [[!tag programming obnam]]
 
-A question that I'm being asked repeatedly is why I chose not to use
-an existing library for serialising data structures in [Obnam]. This
-blog post is the answer.
+A question that I'm asked repeatedly recently is why I chose not to
+use an existing library for serialising data structures in [Obnam].
+This blog post is the answer.
 
 Obnam is a backup program, and it needs to store various data about
 files. This includes **stat**(2) information about each file in the
 live data, as well as data Obnam needs to keep track of everything. At
 run-time, Obnam keeps this data in memory data structures, such as
-Python dicts. For storage, these data structures need to be converted
-to and from streams of bytes.
+Python dicts. For storage, these data structures need to be converted,
+serialised, to and from streams of bytes.
 
 The are a variety of libraries for doing this, designed for different
 purposes and with their own constraints and pitfalls. Python's
@@ -19,7 +19,7 @@ serialisation format is not guaranteed to be compatible with any other
 version of Python.
 
 For Obnam, I need something that will last a long time. I do not want
-to have to deal with a library changing their serialisation format, as
+to have to deal with a library changing its serialisation format, as
 that would mean either that Obnam can't handle old backups, or that I
 need to start maintaining the old version of the library.
 
@@ -29,8 +29,9 @@ them.
 
 For example, Obnam depends on the [paramiko] library to implement the
 SSH protocol. This library has some cost, and I've run into one or two
-bugs in it that have been quite annoying. However, the benefit it
-brings is huge: I don't have to implement SSH myself.
+bugs in it that have been rather unfortunate. However, the benefit it
+brings is huge: I don't have to implement SSH myself. I'm happy to
+have Obnam depend on paramiko.
 
 For the serialisation thing, I wrote my own library, after a small
 about of research into existing ones. Research time is a cost, too.
@@ -47,20 +48,19 @@ TDD style, to make sure the code was reliable. The cost of writing my
 own serialisation code was less than the cost of finding, let alone
 evaluating existing libraries.
 
-It may be that my own library turns out to be inadequate some day.
-That day is when I start researching other libraries. Until then, I'll
-avoid the cost of research to find a suitable library, the cost of
-learning the chosen one, and the cost of integrating it into Obnam,
-and the risk of the library changing in ways that are unsuitable for
-Obnam.
+It may be that my own library turns out to be inadequate. Then, and
+only then, is when I start researching other libraries. Until then,
+I'll avoid the cost of research to find a suitable library, the cost
+of learning the chosen one, the cost of integrating it into Obnam, the
+cost to porters of Obnam of dealing with a new dependency, and the
+risk of the library changing in ways that are unsuitable for Obnam.
 
 Obviously, writing your own code has costs, too. Designing and
 implementing a library is a cost, as is maintaining it (debugging,
 changes in requirements, etc).
 
-Write your own or use existing codde? It's a cost/benefit analysis.
+Write your own or use existing code? It's a cost/benefit analysis.
 There's no clear one answer that's always correct.
 
 [Obnam]: http://obnam.org
-[FORMAT GREEN ALBATROSS]: http://obnam.org/format-green-albatross/
 [paramiko]: https://github.com/paramiko/paramiko

Remove draft tag
diff --git a/posts/dependency-cost.mdwn b/posts/dependency-cost.mdwn
index 271db08..a6ed5ba 100644
--- a/posts/dependency-cost.mdwn
+++ b/posts/dependency-cost.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="On the cost analysis of dependencies"]]
-[[!tag draft programming obnam]]
+[[!tag programming obnam]]
 
 A question that I'm being asked repeatedly is why I chose not to use
 an existing library for serialising data structures in [Obnam]. This

Add draft for dependency cost/benefit analysis
diff --git a/posts/dependency-cost.mdwn b/posts/dependency-cost.mdwn
new file mode 100644
index 0000000..271db08
--- /dev/null
+++ b/posts/dependency-cost.mdwn
@@ -0,0 +1,66 @@
+[[!meta title="On the cost analysis of dependencies"]]
+[[!tag draft programming obnam]]
+
+A question that I'm being asked repeatedly is why I chose not to use
+an existing library for serialising data structures in [Obnam]. This
+blog post is the answer.
+
+Obnam is a backup program, and it needs to store various data about
+files. This includes **stat**(2) information about each file in the
+live data, as well as data Obnam needs to keep track of everything. At
+run-time, Obnam keeps this data in memory data structures, such as
+Python dicts. For storage, these data structures need to be converted
+to and from streams of bytes.
+
+The are a variety of libraries for doing this, designed for different
+purposes and with their own constraints and pitfalls. Python's
+standard library comes with the cPickle library, for example, but its
+serialisation format is not guaranteed to be compatible with any other
+version of Python.
+
+For Obnam, I need something that will last a long time. I do not want
+to have to deal with a library changing their serialisation format, as
+that would mean either that Obnam can't handle old backups, or that I
+need to start maintaining the old version of the library.
+
+A way to look at this is that any dependencies your software have a
+cost, and that cost should be smaller than the benefit you get from
+them.
+
+For example, Obnam depends on the [paramiko] library to implement the
+SSH protocol. This library has some cost, and I've run into one or two
+bugs in it that have been quite annoying. However, the benefit it
+brings is huge: I don't have to implement SSH myself.
+
+For the serialisation thing, I wrote my own library, after a small
+about of research into existing ones. Research time is a cost, too.
+
+Mine is somewhat Obnam specific, in that it can make some assumptions
+about the data to be serialised, and this allows a simpler library. A
+generic library would have to handle a number of special cases that
+mine can ignore.
+
+It took me less than an hour to write this twice. I first wrote a
+quick prototype and a little microbenchmark to see if my approach
+would be feasible. Then I deleted that code, and started from scratch,
+TDD style, to make sure the code was reliable. The cost of writing my
+own serialisation code was less than the cost of finding, let alone
+evaluating existing libraries.
+
+It may be that my own library turns out to be inadequate some day.
+That day is when I start researching other libraries. Until then, I'll
+avoid the cost of research to find a suitable library, the cost of
+learning the chosen one, and the cost of integrating it into Obnam,
+and the risk of the library changing in ways that are unsuitable for
+Obnam.
+
+Obviously, writing your own code has costs, too. Designing and
+implementing a library is a cost, as is maintaining it (debugging,
+changes in requirements, etc).
+
+Write your own or use existing codde? It's a cost/benefit analysis.
+There's no clear one answer that's always correct.
+
+[Obnam]: http://obnam.org
+[FORMAT GREEN ALBATROSS]: http://obnam.org/format-green-albatross/
+[paramiko]: https://github.com/paramiko/paramiko

Announce Obnam 1.14
diff --git a/posts/obnam-1.14.mdwn b/posts/obnam-1.14.mdwn
new file mode 100644
index 0000000..47144ab
--- /dev/null
+++ b/posts/obnam-1.14.mdwn
@@ -0,0 +1,21 @@
+[[!meta title="Obnam 1.14 released (backup software)"]]
+[[!tag obnam announcement]]
+
+I have just released version 1.14 of Obnam, my backup program. See the
+website at <http://obnam.org> for details on what the program does.
+The new version is available from git (see <http://git.liw.fi>) and as
+Debian packages from <http://code.liw.fi/debian>, and uploaded to
+Debian, and soon in unstable.
+
+The NEWS file extract below gives the highlights of what's new in this
+version.
+
+Version 1.14, released 2015-08-14
+---------------------------------
+
+Bug fixes:
+
+* Since 1.9, Obnam has had trouble with sftp URLs for backup roots,
+  particularly for URLs specifying the server's root directory. Dennis
+  Jacobfeuerborn found the reason: the backup plugin was treating URLs
+  as filenames. This should now be fixed.

Remove draft tag
diff --git a/posts/obnam-1.13.mdwn b/posts/obnam-1.13.mdwn
index dceae0b..1a738e7 100644
--- a/posts/obnam-1.13.mdwn
+++ b/posts/obnam-1.13.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="Obnam 1.13 released (backup software)"]]
-[[!tag draft obnam announcement]]
+[[!tag obnam announcement]]
 
 I have just released version 1.13 of Obnam, my backup program. See the
 website at <http://obnam.org> for details on what it does. The new

Draft Obnam 1.13 announcement
diff --git a/posts/obnam-1.13.mdwn b/posts/obnam-1.13.mdwn
new file mode 100644
index 0000000..dceae0b
--- /dev/null
+++ b/posts/obnam-1.13.mdwn
@@ -0,0 +1,32 @@
+[[!meta title="Obnam 1.13 released (backup software)"]]
+[[!tag draft obnam announcement]]
+
+I have just released version 1.13 of Obnam, my backup program. See the
+website at <http://obnam.org> for details on what it does. The new
+version is available from git (see <http://git.liw.fi>) and as Debian
+packages from <http://code.liw.fi/debian>, and uploaded to Debian,
+and soon in unstable.
+
+The NEWS file extract below gives the highlights of what's new in this
+version.
+
+Version 1.13, released 2015-08-01
+---------------------------------
+
+Bug fixes:
+
+* Lukáš Poláček found and fixed a repository corruption problem: if
+  `obnam forget` was interrupted at the wrong moment, it might remove
+  a chunk, but not the reference to it. This would case a future run
+  of `obnam forget` to crash due to a missing chunk (error code
+  R43272X). `obnam forget` will now ignore such a missing chunk, since
+  it would've deleted it anyway.
+
+  Lars Wirzenius then changed things so that chunk files are only
+  removed once references to the chunks have been committed.
+
+Improvements:
+
+* `obnam forget` now commits changes after each generation it has
+  removed. This means that if the operation is committed, less work is
+  lost. Suggested by Lukáš Poláček, re-implemented by Lars Wirzenius.

creating tag page tag/reddit
diff --git a/tag/reddit.mdwn b/tag/reddit.mdwn
new file mode 100644
index 0000000..bb44fbd
--- /dev/null
+++ b/tag/reddit.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged reddit"]]
+
+[[!inline pages="tagged(reddit)" actions="no" archive="yes"
+feedshow=10]]

Post about leaving Reddit
diff --git a/posts/bye-reddit.mdwn b/posts/bye-reddit.mdwn
new file mode 100644
index 0000000..2b10868
--- /dev/null
+++ b/posts/bye-reddit.mdwn
@@ -0,0 +1,21 @@
+[[!meta title="/u/liw no more"]]
+[[!tag reddit]]
+
+I've used Reddit for many years. I used it for many years without an
+account, but eventually I made one. The site has always had its share
+of unpleasantness, people who're more interested in tearing down than
+in building. In recent years, it's gotten worse, and getting out of
+hand.
+
+During the fairly short reign of Ellen Pao as CEO, I found things to
+be getting better. The site was starting to make it clear that
+harrassment, for example, was unacceptable. Unsurprisingly, this made
+some of the nastier people quite upset.
+
+Pao has now resigned, and a new CEO has started. He had an "Ask Me
+Anything" session yesterday, and made it clear that he's changing
+things. From my point of view, it's changing to the worse. He made it
+clear that as long as Reddit itself does not get into legal trouble,
+and harrassment isn't too overt or particularly public, it's OK now.
+
+I've closed my Reddit account.

Typo fix
diff --git a/posts/obnam-1.12.mdwn b/posts/obnam-1.12.mdwn
index 99fd1ef..5d0d2c6 100644
--- a/posts/obnam-1.12.mdwn
+++ b/posts/obnam-1.12.mdwn
@@ -9,7 +9,7 @@ and soon in unstable.
 
 The NEWS file extract below gives the highlights of what's new in this
 version. It includes the changes for version 1.11, which was a bug fix
-for 1.10 and announced separately.
+for 1.10 and not announced separately.
 
 Version 1.12, released 2015-07-08
 ---------------------------------

Publish Obnam 1.12 announcement
diff --git a/posts/obnam-1.12.mdwn b/posts/obnam-1.12.mdwn
index 90191a2..99fd1ef 100644
--- a/posts/obnam-1.12.mdwn
+++ b/posts/obnam-1.12.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="Obnam 1.12 released (backup software)"]]
-[[!tag obnam announcement draft]]
+[[!tag obnam announcement]]
 
 I have just released version 1.12 of Obnam, my backup program. See the
 website at <http://obnam.org> for details on what it does. The new

Draft Obnam 1.12 announcement
diff --git a/posts/obnam-1.12.mdwn b/posts/obnam-1.12.mdwn
new file mode 100644
index 0000000..90191a2
--- /dev/null
+++ b/posts/obnam-1.12.mdwn
@@ -0,0 +1,37 @@
+[[!meta title="Obnam 1.12 released (backup software)"]]
+[[!tag obnam announcement draft]]
+
+I have just released version 1.12 of Obnam, my backup program. See the
+website at <http://obnam.org> for details on what it does. The new
+version is available from git (see <http://git.liw.fi>) and as Debian
+packages from <http://code.liw.fi/debian>, and uploaded to Debian,
+and soon in unstable.
+
+The NEWS file extract below gives the highlights of what's new in this
+version. It includes the changes for version 1.11, which was a bug fix
+for 1.10 and announced separately.
+
+Version 1.12, released 2015-07-08
+---------------------------------
+
+Bug fixes:
+
+* Steven Monai reported that using `--one-file-system` would crash,
+  and it turned out to be a missing import.
+
+* Jan Niggemann reported that `--exclude-caches` no longer worked.
+  This was due to a bug introduced when the option was moved to its
+  own plugin (for cleaner code). The bug was masked by another bug, in
+  the Yarn test suite. Both bugs have now been fixed.
+
+Improvements:
+
+* Jan Niggemann translated the Obnam manpage to German. Due to cliapp
+  not supporting other languages than English yet, the manual page
+  lacks option descriptions.
+
+Version 1.11, released 2015-07-02
+---------------------------------
+
+* The 1.10 release failed to correctly include the Green Albatross
+  code, due to a missing line in `setup.py`. This has been fixed.

Announce Obnam 1.10
diff --git a/posts/obnam-1.10.mdwn b/posts/obnam-1.10.mdwn
new file mode 100644
index 0000000..6de03e9
--- /dev/null
+++ b/posts/obnam-1.10.mdwn
@@ -0,0 +1,50 @@
+[[!meta title="Obnam 1.10 released (backup software)"]]
+[[!tag obnam announcement]]
+
+I have just released version 1.10 of Obnam, my backup program. See the
+website at <http://obnam.org> for details on what it does. The new
+version is available from git (see <http://git.liw.fi>) and as Debian
+packages from <http://code.liw.fi/debian>, and uploaded to Debian,
+hopefully soon in unstable.
+
+The NEWS file extract below gives the highlights of what's new in this
+version.
+
+Version 1.10, released 2015-07-01
+---------------------------------
+
+Major bug fixes:
+
+* Lars Wirzenius fixed the `obnam backup` command to lock the whole
+  repository, the same way as `obnam forget` does, when it removes
+  checkpoint generations. This means that during checkpoint removal,
+  no other client can make a backup, which is unfortunate. To avoid
+  that, set `leave-checkpoints = yes` in the configuration. That will
+  prevent `obnam backup` from removing checkpoints.
+
+Minor new features:
+
+* Lars Wirzenius added the `obnam list-formats` command to list all
+  repository formats.
+
+* The default value for the `upload-queue-size` setting is now 1024,
+  chosen based on some benchmarking made by Lars Wirzenius to balance
+  speed and memory use.
+
+* An EXPERIMENTAL new repository format, `green-albatross`, as been
+  introduced. It is not ready for actual use, and is only added so
+  that its code doesn't diverge far from the main line of development.
+
+* Teemu Hukkanen reported that the Synology NAS device returns EACCES
+  instead of ENOENT when user tries to remove a non-existent file.
+  Obnam now copes with either error code.
+
+Minor fixes:
+
+* `python setup.py build` no longer formats the manual page into plain
+  text. This is now done in `python setup.py docs` instead. The latter
+  is an optional build step, and probably only works on Debian.
+
+* `obnam restore --to=DIR` now requires that the directory `DIR`
+  either doesn't exist, or it is empty when the restore starts. This
+  is to prevent users from restore on top of a running system.

Post about software estimation
diff --git a/posts/estimation.mdwn b/posts/estimation.mdwn
new file mode 100644
index 0000000..0cf567e
--- /dev/null
+++ b/posts/estimation.mdwn
@@ -0,0 +1,14 @@
+[[!meta title="Software development estimation"]]
+[[!tag]]
+
+Acceptable estimations for software development:
+
+* Almost certainly doable in less than a day.
+* Probably doable in less than a day, almost certainly not going to
+  take more than three days.
+* Probably doable in less than a week, but who knows?
+* Certainly going to take longer than a week, and nobody can say how
+  long, but if you press me, the estimate is between two weeks and
+  four months.
+
+Reality prevents better accuracy.

Untag draft
diff --git a/posts/jessie-release-party.mdwn b/posts/jessie-release-party.mdwn
index 78c1ed5..daf8806 100644
--- a/posts/jessie-release-party.mdwn
+++ b/posts/jessie-release-party.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="Jessie release part in Helsinki"]]
-[[!tag draft debian announcement]]
+[[!tag debian announcement]]
 
 There will be a gathering of Debian people to celebrate the release of
 jessie this Saturday in Helsinki. For details, see the

Add draft post about jessie release party
diff --git a/posts/jessie-release-party.mdwn b/posts/jessie-release-party.mdwn
new file mode 100644
index 0000000..78c1ed5
--- /dev/null
+++ b/posts/jessie-release-party.mdwn
@@ -0,0 +1,7 @@
+[[!meta title="Jessie release part in Helsinki"]]
+[[!tag draft debian announcement]]
+
+There will be a gathering of Debian people to celebrate the release of
+jessie this Saturday in Helsinki. For details, see the
+[wiki page](https://wiki.debian.org/ReleasePartyJessie/Finland/Helsinki).
+Welcome, everyone.

Remove draft tag
diff --git a/posts/dpl-2015.mdwn b/posts/dpl-2015.mdwn
index b48b1e1..d205a40 100644
--- a/posts/dpl-2015.mdwn
+++ b/posts/dpl-2015.mdwn
@@ -1,5 +1,5 @@
 [[!meta title="DPL elections for 2015 are going on"]]
-[[!tag draft debian]]
+[[!tag debian]]
 
 The Debian Project Leader electsions are going on. This is the yearly
 election for the leader, where members of the project vote for a new leader