TS McNamara (41) [Avatar] Offline
#1
Welcome to the latest progress report for Rust in Action, a book on the Rust programming language for intermediate programmers that teaches Rust via systems programming.

Several chapters are already currently available via Manning's Early Access Program (MEAP). If you don't own the book and would like to preview its contents for free, visit the book's liveBook page. To get there, visit the book's webpage and click "Look inside".

Book Progress

Chapter 10 - Exceptions, Signals, Interrupts is written and submitted to the editor. I'm excited (nervous?) to hear reader feedback on this one. It's one of the few UNIX-only examples so far. I've used signals in all of the examples, as the programming model is very similar to adding interrupt handlers to the kernel. Although it's possible to implement userspace interrupt handlers, I decided against adding significantly more complexity. If you would like the chapter to dive deeper, please let me know in the forums when it comes out.

Chapter 9 - Time and Timers is written and submitted to the editor. It takes readers through the process of creating a fully-fledged NTP client that can update the system's time. Oh and describing how Google does with leap seconds and how that differs from almost everyone else in the world.

Chapter 8 - Networking is in the final planning stages. I have been considering the feasibility of implementing a proxy for the PostgreSQL on-wire format. Does this sound interesting? Let me know!

Chapter 7 - Files & File Systems is still awaiting its final refactoring. The chapter is quite large (nearly 80 pages) and there have been internal discussions about splitting into two or three smaller chapters. The chapter takes readers through the process of building several key/value stores and discusses how hashing and B-Trees operate.


Check out some code

If you would like to do some pre-reading, I've made one of the code projects available for review here: https://git.nzoss.org.nz/tim-mcnamara/timepong. I'm hoping that this project will outlive the book! If you have Rust installed, you should be able to keep your system's time in sync right away!


Should you buy the book?

If you're interested in learning Rust, then probably! In many ways, Rust in Action is intended as the next book that you read. It tries to teach you everything that seems to be assumed by the more advanced blog posts that the community tends to generate.

The book already has a few interesting projects:

- a CPU emulator
- a fully functional NTP client
- a skeleton grep implementation
- worked examples of strategies for working with the borrow checker when you're still learning Rust

More importantly - there is lots of social proof. Multiple readers have said that it's the best book they've ever read and the book's code examples even have a fan page.
174314 (1) [Avatar] Offline
#2
Hi Tim,

A proxy for PostgreSQL on-wire format does sound interesting, what were the other options that you considered ?

I have really enjoyed all the chapters so far, and looking forward to Ch 7 and others.