Hello!

I’m David, 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

Contributing to open source is a lot of fun and I love doing it - I mostly contribute to rustc, the compiler for the Rust programming language (as a compiler team contributor, a stepping stone to full compiler team membership). 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 and polymorphisation, a code-size/compile-time optimisation for reducing unnecessary monomorphisation.

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

I love investing in things that will pay off in the long-term, so I’ve maintained a dotfiles repository for years. The most recent manifestation of this is veritas, my personal mono-repo which contains the declarative configuration for all of my desktops, servers and laptops - including dotfiles, packages and this website!

Work

I work within the infrastructure team at Codeplay Software, where I’m responsible for the continuous integration infrastructure and lead the effort to make the core infrastructure reproducible. In addition, I’ve been a compiler engineer on engineering projects at Codeplay where I’ve 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 Keybase or shoot me an email at hello@davidtw.co (my PGP key is 0x9F53F154, if you need it).