Wednesday, February 11, 2026

Rust Bookclub: Deep Learning

Last year, the Rust Readers Discord Discussion bookclub covered three Rust books at the pace of one chapter a week:

Of these three books, I think Rust Atomics and Locks is the best.  This book is available both in print and freely available from the author's website.  I recommend reading Rust Atomics and Locks prior to reading Async Rust to get the concepts in prerequisite order.

Based on the interests of the bookclub attendees, I think future books that we cover will focus on Artificial Intelligence and Machine Learning (AI/ML), particularly Deep Learning and Generative AI (GenAI).  When I went looking for Rust books that covered these topics, I came across so much AI slop that I concluded that I needed to recommend something from a reputable publisher.  I received confirmation tonight of the publication of the Apress book Deep Learning with Rust: Mastering Efficient and Safe Neural Networks in the Rust Ecosystem by Mehrdad Maleki.

If you want to join us online via Discord for the discussion of Deep Learning with Rust (DLwR), please join the Dallas Rust User Meetup (DRUM) to receive event notices.  We will probably get started in mid-March.  We might go a bit slower with this book, maybe two chapters a month.


Tuesday, December 23, 2025

Dioxus 0.7 Updates

I updated my Rust-Dioxus Project Setup tutorial to support Dioxus version 0.7.  This step-by-step tutorial shows you how to build a Dioxus v0.7 web application with the static site generation (SSG) option for static pre-rendering and client-side hydration.  SSG lets you distribute your Single Page Application (SPA) from a Content Delivery Network (CDN) instead of a server while still supporting Search Engine Optimization (SEO).
 
The techniques described in the tutorial are used in the updated CroftSoft Dioxus Prototype.  This application includes an Animation demonstration in which the updates are locked to the screen refresh rate by repeatedly requesting an animation frame.  The code for this open source project is available from GitHub.
 

Sunday, March 02, 2025

Rust + Wasm = Mobility

Recently I gave a slideshow presentation on "Rust / Wasm: On Serverless & Frontend" to the Rust Miami Meetup.  My thanks to the Meetup organizer Eugenio Alvarez for inviting me to be a speaker.  You can download a copy of the slide deck in PDF format from my Rust and WebAssembly research webpage.

Eugenio is also the Organizer of the Miami Java User Group.  Back around the period of the dot-com boom, I used to be the leader of a number of Java User Groups (JUGs), including the Game Developers Java User Group and the Silicon Valley Java User Group (SVJUG).  These days I am seeing some of the same energy around Rust that I saw with Java back then.

When I first started with Java back in 1996, I would get hired by small software publishers of Web browser and desktop applications.  They wanted code that could run on Apple Macintosh, Microsoft Windows, Netscape Navigator, and Internet Explorer.  Java could do that because it could run on any platform with a Java Virtual Machine (JVM) runtime.

WebAssembly (Wasm) is the new JVM.  Whereas Java no longer runs in the browser, Wasm runs on all platforms including desktop, server, and serverless.  It is also comes wrapped in a security sandbox, which I appreciate from my past experience some decades ago implementing Java-based mobile agent frameworks.

Speaking of mobile, using a programming language that can run on any platform gives software developers career mobility.  Right now, Rust is the best language to use to write applications compiled to Wasm.  That is why I say:

Rust + Wasm = Mobility

 

Friday, September 06, 2024

Typestate Pattern

I recently gave a slideshow presentation that I entitled "Typestate Pattern in Rust: With Fluent Constructor and State Machine Examples".  My thanks again to Cameron Dershem, the Organizer of the Indy Rust Meetup, for giving me the opportunity to speak to his group a second time.  I also thank the members of the Dallas Rust User Meetup (DRUM) for letting me practice initial drafts of my talk on them at our semimonthly online meetings.

In my talk, I started by providing the contexts for using the typestate pattern before digging into the implementation details as demonstrated by the examples in my open source code repository.  By working daily on the code examples for a month, I reached the point where I finally feel like I understand typestate and its variations.  You can download the presentation slides in PDF format from my Rust and WebAssembly research page.


Sunday, July 07, 2024

Variance in Rust

I recently presented a slideshow on the subject of "Variance in Rust: Covariant, Contravariant, and Invariant".  My thanks to Cameron Dershem, the Organizer of the Indy Rust Meetup, for inviting me to speak to the group.  This was an updated version of the talk that I gave to Dallas Rust User Meetup (DRUM) a few weeks before.

In my talk, I introduced the terminology and showed some basic code examples.  An ending slide includes links to where I learned about this topic so that interested Rustaceans can dig in deeper.  You can download the presentation slides in PDF format from my Rust and WebAssembly research page.


Friday, March 08, 2024

Programming Rust

It took me a few months but I finally finished reading the O'Reilly book Programming Rust Second Edition (2e) authored by Blandy, Orendorff, and Tindall.  I see now that there is also a "Revised 2nd Edition" which "Covers Rust 2021 Edition" meaning Rust 1.56 or later.  The edition I read "Covers Rust 1.50" so it is probably not much different.

I started recommending this book even before I finished reading it.  If you could only read one Rust book, this would be it.  Since you can read more than one Rust book, I would start with The Rust Book and then read "Programming Rust" sometime before you pick up Rust for Rustaceans.

The cover subtitle is "Fast, Safe Systems Development" and the book does appear to be written for those already familiar with systems programming.  I was grateful to the authors that some of the more advanced concepts expressed in their example code included diagrams to accompany the in-depth explanations.  This might be the intermediate-level Rust book that you were looking for.

This 700+ page book is big but O'Reilly has published bigger.  The Fourth Edition of O'Reilly's "Java in a Nutshell" was almost one thousand pages.  In a review that I wrote many years ago, I joked that "over the years this 'in a nutshell' book has expanded to fill the size of a coconut".

The physical bulk of "Programming Rust" is such that it can be less comfortable to handle while reading.  For the next edition, my advice to the authors is that they split the book into two volumes when they add content.  I can see that the authors have already arranged the chapters such that the more esoteric material comes later which could work well for a second volume.

My next read might be the recently published PacktPub book Asynchronous Programming in Rust by Carl Fredrik Samson.  The quality of PacktPub books can be hit-or-miss but this looks like a good one.  I am also eagerly anticipating a wave of new Rust books, hopefully including a Third Edition of "Programming Rust", when the 2024 Edition of the Rust programming language is released later this year.

 

Wednesday, January 10, 2024

Advent of Spin 2023

Recently I participated in the Advent of Spin 2023, an annual holiday-themed coding challenge hosted by Fermyon.  I wrote Rust code, compiled it to WebAssembly (Wasm), and then deployed the code as Function-as-a-Service (FaaS) serverless components running in the Fermyon Cloud.  The source code is available from my GitHub repository advent-of-spin.

Yesterday I presented a slideshow to the Dallas Rust User Meetup (DRUM) in which I described my solutions to the coding challenges.  This was in preparation for my being the guest speaker today on the YouTube show Fermyon Cloud Office Hours.  My thanks to the DRUM Members (DRUMMers) for their attention and feedback and my thanks to the employees of Fermyon for running this event.

 

Friday, December 01, 2023

Rust in the Cloud

For the frontend, I have had some good success recently using the Rust-based user interface framework Dioxus to create web applications.  Now I am exploring using Rust on the backend with serverless cloud technologies such as Fermyon Spin and Cargo-Lambda.  You can check out what I have so far in my new GitHub repositories spin-prototype and cargo-lambda-prototype.

Yesterday when I tuned in to watch the livestream of the Amazon Web Services (AWS) re:Invent 2023 conference keynote by the Chief Technology Officer (CTO) of Amazon.com Dr. Werner Vogels, I suspected I might hear something about Rust because the AWS Software Development Kit (SDK) for Rust had just transitioned from Developer Preview to General Availability a couple of days before.  To my delight, Dr. Vogels made the case for switching from Java to Rust in the cloud for reasons of cost and sustainability.  You can watch his presentation on this topic at the one hour mark in the YouTube video recording.


Friday, October 20, 2023

Dioxus Prototype

Previously I made web application prototypes using the Rust-based front-end frameworks Sycamore and Yew.  With the recent release of Dioxus version 0.4, I updated my Dioxus Prototype.  It demonstrates capabilities such as animation, form inputs, and static prerendering.