RSSAmplifier

Blog

featherweight musings

Thoughts on Rust and stuff

ncameron.orgRSS feed ↗15 posts

Latest posts

KCL part 2: program memory

In this post I'll cover a fun and interesting problem (and two solutions) in the implementation of KCL. This post is part of a series of blog posts on KCL. Previously: part 0: intro and part1: units . KCL is an interpreted language - it is interpreted directly rather than being

KCL part 1: units

This blog post is about numeric units . Numbers in KCL are not just a number like 42 they always include units, e.g., 42mm . This is not unknown: F# has a famous and well-designed system, and more recently Swift added units. It is a bit different (and interesting) in KCL

Recent Rust Changes

In May last year I wrote a blog post on how Rust had evolved from the 1.0 release to 1.78. I found it really interesting to group all the changes together by topic, rather than seeing the language evolve one release at a time. We're now at 1.

KCL part 0

For roughly the past year, I've been working with the good folk at Zoo on their CAD product, the Zoo Modelling Studio (aka ZMS, aka KittyCAD). I've mostly been working on the design and implementation of KCL, a domain-specific language for CAD. Since that work has just wrapped up, and

To panic or not to panic

From a user's perspective an uncaught panic in a Rust program is a crash. A panic will terminate the thread and unless the developers have taken some care, that leads to the program terminating. This is not an exploitable crash and Rust usually ensures that destructors are called, but the

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, but been too busy to do a proper blog post). I've decided to try out being an

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 consulting and training , and will have some courses coming soon; more detail coming in another blog post.

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 worse? How did we persuade the Rust community to stop arguing about tabs vs spaces (and other

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 a third due later this year. Quite a lot has changed! Those changes have been fairly incremental,

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. It's aimed at engineers with a background in high-level languages (Go, Python, Java, ...) moving to Rust to

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 (which iirc was recommended to me by Aaron Turon and/or Dave Herman). I thought I'd write

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. on the Rust side, but I found that I simply did not have the energy. I've been

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 I have opinions on programming language design from Rust (it is almost exactly a decade since I

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 near future, mostly here on this blog, but also on various social media platforms. Twitter used to

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. That is sometimes difficult, especially when working on things which evoke strong feelings from a large group