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, but been too busy to do a proper blog post). I've decided to try out being an| featherweight musings
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 consulting and training, and will have some courses coming soon; more detail coming in another blog post.| featherweight musings
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 worse? How did we persuade the Rust community to stop arguing about tabs vs spaces (and other| featherweight musings
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 a third due later this year. Quite a lot has changed! Those changes have been fairly incremental,| featherweight musings
(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. It's aimed at engineers with a background in high-level languages (Go, Python, Java, ...) moving to Rust to| featherweight musings
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 (which iirc was recommended to me by Aaron Turon and/or Dave Herman). I thought I'd write| featherweight musings
A goal of the async foundations working group is for async Rust to be portable and interoperable. I want to dig in to what that means in this blog post. For a little background, see my earlier post on async runtimes. To run async Rust code, you need an async| featherweight musings
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. on the Rust side, but I found that I simply did not have the energy. I've been| featherweight musings
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 I have opinions on programming language design from Rust (it is almost exactly a decade since I| featherweight musings
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 near future, mostly here on this blog, but also on various social media platforms. Twitter used to| featherweight musings
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 cautious with the language, but not cautious enough. This part of the post has been picked up| featherweight musings
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 some of what I said in the post. First off, a bunch of things in the post| featherweight musings
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 start by considering the Foundation's relationship to the Rust Project. First and foremost, I would like for| featherweight musings
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. That is sometimes difficult, especially when working on things which evoke strong feelings from a large group| featherweight musings
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 to diss the idea on reddit just yet, there is a reason for this!). The motivation here| featherweight musings
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 write one anyway because I have opinions and I want you to hear them. Sorry. I think| featherweight musings
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 flux and change, and transitioning from a research project then a new, rapidly changing language to a| featherweight musings
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 negative, I think RFCs are amazing! They've been a crucial part of Rust's open design and community-focussed| featherweight musings