I’m a software engineer from Scotland, with an interest in systems
software and open source software. You’ll find me as
davidtwco around the internet.
I’m a member of the
Rust compiler team, so my open source contributions comprise mostly
of patches to the compiler for the Rust programming language. Throughout
my time contributing, I’ve been a member of the non-lexical
lifetimes (NLL), async/await
working groups and have been a co-lead of the polymorphisation
working groups. My contributions have included the
attribute from RFC 2008; polymorphisation, a code-size/compile-time
optimisation for reducing unnecessary monomorphisation; and Split DWARF
I’ve also contributed to other open source projects, such as NixOS - a reproducible Linux distribution - and Zulip - a real-time chat application with threading. You can find an exhaustive list of my open source contributions on GitHub.
All of my personal infrastructure is maintained declaratively using
Nix, which you can find at
Configuration for my desktops, servers, laptops, dotfiles, packages and
this website are built reproducibly from the veritas
I’m currently working on compilers and programming languages (including Rust!) at Huawei R&D in Edinburgh.
Previously, I’ve worked within the infrastructure team at Codeplay Software, where I was responsible for the continuous integration infrastructure and led the effort to make the core infrastructure reproducible. In addition, I was a compiler engineer on engineering projects at Codeplay where I worked with LLVM, Clang, SPIR-V and NVPTX.
You can download my curriculum vitae here.