Hello!
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.
Open Source
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
and diagnostics
working groups and have been a co-lead of the polymorphisation
and meta
working groups. My contributions have included the #[non_exhaustive]
attribute from RFC 2008; polymorphisation, a code-size/compile-time
optimisation for reducing unnecessary monomorphisation; and Split DWARF
support.
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.
Personal Infrastructure
All of my personal infrastructure is maintained declaratively using
Nix, which you can find at davidtwco/veritas
.
Configuration for my desktops, servers, laptops, dotfiles, packages and
this website are built reproducibly from the veritas
project.
Work
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.
Contact
If you’d like to chat, send me a message on on Telegram, on WeChat (see QR code in
the sidebar), or you can shoot me an email at hello@davidtw.co
(my PGP
key is [0x9F53F154
][keybase], if you need it).