• I spent a couple of days thinking about how we can treat tuning our search query as an optimisation problem. A search query has two parts: there’s the structure (“match against these fields”, “combine field scores by multiplying”, etc), and the parameters (“weight this field by X”, “boost this document type by Y”, etc). I’ve done some experimenting, and particle swarm optimisation does an alright job of tuning the parameters. So maybe we just need to come up with a good query structure, and can then automatically find good parameters for it.

  • I wrote a blog post about upgrading from Elasticsearh 2 all the way to Elasticsearch 6. That’s currently with the blog editors, and will go out some time after we finally switch ES5 off (which I hope will be soon).

  • Some small business-as-usual user-facing improvements: making the “Corporate reports” link on organisation about pages go to the right place and changing the default sort order for statistics announcements to “soonest first”.


  • I’m moving out of my current flat mid next month, so I’ve been looking at new flats online, and am hoping to have a few viewings next week. Flat hunting is really tedious.

  • I read Raft (by Stephen Baxter)00Not to be confused with Raft (by Diego Ongaro and John Ousterhout), a distributed consensus algorithm I used while at Pusher.

    , about a small human civilisation living in a universe where gravity is a billion times stronger than in our home universe. They live in a nebula which, thanks to the strong gravity, has an atmosphere dense enough to be breathable (fortunately it’s also oxygen rich). The story is about one man’s quest to figure out why the nebula is dying, and what to do about it. It’s considered the first novel in the Xeelee Sequence, though the Xeelee themselves are never mentioned, so I don’t know why.