Back to work Hi ho! Hi ho! It's back to work I go! After taking a bit of a break from work, I am officially back into it (I've actually been back into it since July,
New website Over the last few months I've been putting together a new website. It is now all online at https://www.ncameron.org/. The website is mostly about work - I'm available now for
Eternal Sunshine of the Rustfmt'ed Mind I will be giving a talk at Rustconf this year about Rustfmt and code formatters. The abstract is: How does Rustfmt work? How could it work better? (Demonstrated by a working prototype). Or
Rust through the ages How has Rust changed over the years? It's been nine years since 1.0 was released (well, next week, technically). In that time, there have been 78 major releases and two editions, with
Work news! (This blog post is an edited version of posts on social media, slightly edited and posted here for completeness/further reach). I'm preparing a training course to teach performance engineering to Rust programmers.
Notes on personal productivity Over the years I've found it pretty important to have a good system for self-organisation. This has evolved over time, with a major influence being the book Getting Things Done by David Allen
Status update I left Microsoft at the beginning of July (after two years) and also stopped working on Rust at the same time. I intended to finish up some work and hand stuff over etc.
A response to 'A decade of developing a programming language' I recently read the blog post A decade of developing a programming language by Yorick Peterse (found via Steve Klabnik). I thought it was an interesting blog post which got me thinking, and
Social media update I've been a bit quiet on social media the past few months (more on what I've been up to in an upcoming post). I would like to write a bit more in the
Some thoughts on open collaboration Rust is an open source project. More than just the source code for the compiler being available, that means the project works in the open, inclusive of, and collaborating with, the wider community.
Defer blocks and async drop It seems to be fashionable to drop language design ideas in blog posts at the moment, so I thought I'd join in the fun with a post about defer blocks (don't run off
Clarification/correction of Rust in 2023 I seem to be writing a few of these 'clarification' posts... Anyway, in my last post, I wrote "One partial solution might be to start planning a 2.0 release", I was deliberately
Rust in 2023 The core team used to call for blog posts to help plan the next year. The core team has pretty much disappeared and certainly hasn't called for blog posts, but I'm going to
Follow-up to Foundation post I had a good conversation with Ryan Levick (the core team's representative on the Foundation board) about my last blog post, between that and some more thinking, I'd like to refine and clarify
Rust Foundation in 2023-25 In response to the 'Call for blogs / ideas on Rust Foundation Strategy 2023-25', this post details where I think the Foundation should be headed over the next few years. I think we must
Error docs Error handling in Rust is a bit of an intermediate topic. That is in part because error handling in any language is actually more complicated than it seems, partly because it is a
Mini-post: the role of Rust's teams The Rust project is run by its teams, such as the language team, library team, and community team. The teams are the primary structure for organising work and people in the Rust project,
Ten challenges for Rust Rust is in a pretty good place; it is getting more and more popular, has more and more contributors, and is used in some pretty significant places. However, it is a time of
Complexity In programming and programming language design we often talk about complexity. And for good reason! Complexity often feels like the enemy we are battling when learning a new codebase or new programming language,
Async IO with completion-model IO systems Completion-model IO systems don't work naturally with the Read trait. In this post I want to explore why that is and some alternatives. Many of the issues are related to cancellation, and there
We need to talk about RFCs I think the Rust RFC process needs serious reform. In this blog post, I'll explain why I think that, by covering some of the problems with the current process. Before I get all
Async read and write traits The Read and Write traits are key to IO in Rust and designing the async versions of these traits (and migrating runtimes to use them) is crucial for improving interoperability and portability in
Async IO fundamentals Async programming in Rust is built on top of the operating system's async IO facilities. While it is possible to just use async/await for control flow, mostly people use async for async
Rust in 2022 In previous years, the core team have asked the community to write new years blog posts about Rust in the coming year. They haven't this year, but I wanted to write one anyway.
Ezio I made a small crate for easy-to-use IO in Rust. It is called ezio, and 0.1 is released today. It is a simple crate and it is ready to use now. I