• I love tuples • The macros are incredible • The integrated testing is terrific • format! is a pleasure • The community is amazing • include_str! is a godsend • The performance rips • Serde is stunningly good OXIDE
two things: I wanted to one day start a company with Steve Tuck – and whatever we did would be in Rust • Importantly: we did not (yet!) know what we would do! • …but the values of Rust – robustness, performance, expressiveness – clearly resonated with the software that I wanted to build • It is not an exaggeration to say that we needed a problem befitting the language – and the technologists that the language attracted… OXIDE
not by fiat – but we also wanted to be sure that Rust was thoroughly disqualified before using a different language at any layer • This disposition served as a cultural beacon, attracting like minds • Attracting technologists with a disposition towards Rust greatly strengthened that disposition – become a positive feedback loop • We quickly discovered that it was more versatile than we imagined – and Rust itself became the lens by which we made technology decisions OXIDE
RFD 26 Host Operating System & Hypervisor), we wanted a host operating system that was illumos-derived • This necessitated illumos Tier 2 support for Rust, which was… painful • Technically, this was straightforward – the challenge was getting fixes into the crate ecosystem upon which Rust tooling (e.g., rustup) depends • But it was also revealing: the Rust community was much more hospitable to alternative operating systems than other communities we’ve been in! OXIDE
very good for Oxide: not only as an artifact and as a community – but as a reflection and projection of values • The grand Rust bargain – the shift of cognitive load from production to development – has been emphatically and unequivocally the right one • Async cancellation was a point of despair exactly because Rust has generally saved us from problems that require non-local reasoning! • Our most vexing technical challenges with Rust rhyme with one another: they stem from emergent complexity in production OXIDE
that – above all else! – Rust not screw it up • We worry where Rust’s grand bargain may be undermined – and putative reduction in developer load exchanged for emergent production behavior • Debuggability – especially postmortem – can hold this in check (revisiting Kernighan's Law: if we can’t debug it, we shouldn’t write it!) • We are grateful for Rust and its community – they have allowed us to become who we are, attracting kindred spirits and like minds • We very much look forward to growing old together! OXIDE