TS McNamara (26) [Avatar] Offline
Welcome to the December 2017 Rust in Action MEAP. Rust in Action is a book that aims to teach you to the language as well as introduce you to the world of systems programming.

About the Upcoming Chapter

First of all, the bad news: I wasn't able to get chapter 6 through to the editors by the end of the year. The good news is that the reason is that I'm trying to focus on quality, rather than pure pace. When I rush the work, it becomes harder to read and the examples are more bug prone.

Chapter 6 focuses on memory. It covers three main topics:

1) describing what "memory" means to an OS, a CPU and a program. Each element has slightly different idea
2) what pointers are, and how they might be different from other related terms such as reference and address. Also, what is meant by fat pointer, smart pointer, unique pointer, etc? If you're new to the domain, encountering something one of them (and I've noticed that they slip into the Rust community discourse fairly often) in can be frustrating and confusing.
3) What is meant by the term "allocation" and how do you inspect and tune an allocator?

Here is a taste of the examples that chapter 6 covers:

- a memory inspector, as used by gamers to cheat by modifying a game's state in-place
- an address space visualiser: create PNG images of a program's memory to study entropy/wasted space/readable text
- how to benchmark an application to decide between 4 choices of memory allocation (incl. how to evaluate a 3rd party allocator)

There have been a number of dead ends to get to where we are now though:

- I spent some time implementing a toy ray tracer for the allocation evaluation sub-topic. Unfortunately, that needed to be scrapped (for now) because it took the reader too far away from talking about computer memory
- I also looked into creating a strange attractor renderer (and other assorted bits from complexity theory). This ended up being a black hole of a time suck because it's far too fascinating.

Family/Personal Stuff

My productivity has also been affected by two other important considerations:

- end of year rush at work
- holidays / wanting to relax with family - it's been an amazing summer here in New Zealand and I don't want to miss all of it
- welcoming a new baby, who joined the world on 1 Jan smilie

Plans for January

I'm hoping to get a lot of content written in January as I have some parental leave. Fingers crossed I'll be getting enough sleep!

Thanks and reading options!

Hopefully the next MEAP update will be with you soon. If you haven't purchased the book, you are welcome to preview it via Manning's liveBook feature. (Click "Look inside!" on the book's homepage)