Michael Walker

I am Michael Walker, otherwise known online as barrucadu. I am a Computer Science Ph.D Student at the University of York. Although I’m currently on a little break and interning at Pusher in London this summer, writing Go.

My research relates to nondeterministic concurrency, and I’m doing my work in Haskell. Increasingly, turning to concurrency for performance gains is a no-brainer, but it can be hard to get right. Concurrency is hard in a number of areas:

I recently submitted a paper on checking temporal logic properties of concurrent Haskell programs to RV’16. Next I plan to look at testing distributed systems with lossy communication channels, such as UDP. Such channels have less overhead than lossless ones, and so if you need rapid data transfer and can tolerate a bit of loss, they’re a good choice. They also underly lossless protocols, such as TCP.

I write sometimes. See my blog.



Pusher, Software Engineering Intern (May 2016–now, London)

I write Go and code which generates Go.

University of York

University of York, Postgraduate Teaching Assistant (TPOP) (Oct 2015–May 2016, York)

Assisted lecturer with the teaching of the first year “Theory and Practice of Programming” module by marking student homeworks and leading small-group discussions. TPOP teaches algorithms, data structures, and the basics of complexity theory.

University of York, Postgraduate Teaching Assistant (MFCS) (Oct 2014–May 2015, York)

Assisted lecturer with the teaching of the first year “Mathematical Foundations of Computer Science” module by answering student queries during problem classes, and invigilating and marking formative assessments. MFCS teaches simple logic, set theory, and proof; and formal languages, grammars, and automata.


CoreFiling, Software Engineering Intern (Jul 2014–Sep 2014, Oxford)

Refactored an extensively-used in-house wiki program, fixing numerous long-standing bugs. Built a parser/renderer for a Creole-like markup language using ANTLR in Java. Wrote a JIRA plug-in enabling the use of this markup in issue descriptions and comments.


University of York

University of York

Computer Science (Ph.D) (2014–now)

Expected to submit in December 2017.

Computer Systems and Software Engineering (M.Eng) (2010–2014)

Received first-class honours for dissertation on the formal verification of stop-the-world garbage collectors.

Open Source

Arch Hurd

Arch Hurd, Project Leader (2010–2015)

Managed a small, geographically-diverse, development team porting core Linux software to the GNU/Hurd platform. Also produced installation media and maintained a website and online software repository.


Uzbl, Developer (2009)

Was part of a small development team that implemented early-stage functionality in an open-source web browser using C and git.


Déjà Fu, Concurrency testing library


Conference papers


I also have a more select version of my CV as a PDF.