Hello,

I'm barrucadu, also known in meatspace as Michael Walker.

I'm a Senior Developer working on GOV.UK for the Government Digital Service.

In my spare time, I like programming and tinkering with DevOps for fun. My go-to languages are Python, Ruby, and Haskell. I run NixOS on all my machines. I like Configuration as Code and Infrastructure as Code.

I have a blog, updated weekly with what's been going on in my life.

I also play, and think a lot about, roleplaying games. My current game of choice is Call of Cthulhu 7th edition. I run a TTRPG blog, updated once or twice a month.

You can find me elsewhere on the internet:

If you want to send me encrypted mail, here's my GPG key.


Work

I'm currently the Tech Lead for GOV.UK's accounts and personalisation team.

We're aiming to make it easier to use government services and to find things you need.

I lead a small team of developers, and work with product, delivery and user-centred design teammates to define what we build and advise on relevant technical matters. I also work with more senior stakeholders, both technical and nontechnical, to ensure that what we're doing meets the GOV.UK vision and fits in with what other teams are doing.

In the past at GOV.UK I've also spent a lot of time working on search, upgrading Elasticsearch and productionising a machine learning search ranking system.

I like working on tricky technical challenges, and gravitate to infrastructure or backend.

See my CV for a bullet-point highlight reel.


Research

I did a Ph.D at the University of York on the topic of testing concurrent Haskell programs. I ultimately decided that academia wasn't for me, but I'm glad I stuck it out to the end.

Here's a PDF of my thesis.

I published a couple of papers too:

If you want to cite any of my publications, click the headings below to show the BibTeX:

Show BibTeX to cite my thesis.
@PhdThesis{walker2018,
  author = "Walker, Michael",
  title  = "Revealing Behaviours of Concurrent Functional Programs by Systematic Testing",
  year   = 2018,
}
Show BibTeX to cite my paper "Déjà Fu: A Concurrency Testing Library for Haskell".
@InProceedings{dejafu-hs15,
  author    = "Walker, Michael and Runciman, Colin",
  title     = {{D{'e}j\`{a} Fu}: {A} Concurrency Testing Library for {Haskell}},
  booktitle = "Proceedings of the 8th ACM SIGPLAN Symposium on Haskell",
  series    = "Haskell 2015",
  year      = "2015",
  isbn      = "978-1-4503-3808-0",
  location  = "Vancouver, BC, Canada",
  pages     = "141--152",
  numpages  = "12",
  url       = "http://doi.acm.org/10.1145/2804302.2804306",
  doi       = "10.1145/2804302.2804306",
  acmid     = "2804306",
  publisher = "ACM",
  address   = "New York, NY, USA",
}
Show BibTeX to cite my paper "Cheap Remarks About Concurrent Programs".
@InProceedings{coco-flops18,
  author    = "Walker, Michael and Runciman, Colin",
  title     = "Cheap Remarks About Concurrent Programs",
  booktitle = "Functional and Logic Programming",
  year      = 2018,
  editor    = "Gallagher, John P. and Sulzmann, Martin",
  series    = "FLOPS 2018",
  pages     = "264-279",
  publisher = "Springer International Publishing",
  isbn      = "978-3-319-90686-7",
  location  = "Nagoya, Japan",
  url       = "https://doi.org/10.1007/978-3-319-90686-7_17",
  doi       = "10.1007/978-3-319-90686-7_17",
}

Open source

My main open source project is Déjà Fu, a library for testing concurrent Haskell programs, which came out of my Ph.D research. You can write deterministic unit tests to catch race conditions and other such bugs. It comes with HUnit and Tasty bindings, so you can easily integrate it with your existing testsuite.

In the past I've also served as project leader for Arch Hurd, a GNU/Hurd distribution based on Arch Linux; and worked as one of the first few developers for Uzbl, a Webkit-based web browser.

I also have some Haskell IRC libraries: irc-ctcp, irc-conduit, and irc-client. But these are essentially abandonware right now. If you want to maintain them, get in touch!