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.
I write Go and code which generates Go.
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.
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.
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.
Expected to submit in December 2017.
Received first-class honours for dissertation on the formal verification of stop-the-world garbage collectors.
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.
Was part of a small development team that implemented early-stage functionality in an open-source web browser using C and git.
I also have a more select version of my CV as a PDF.