pub ThisWeekInRust {} – Telegram
pub ThisWeekInRust {}
991 subscribers
2 photos
2.41K links
Handpicked Rust updates,
delivered to your telegram.

Contacts: @sergeysova
Reposted from: https://this-week-in-rust.org
Source code: https://github.com/sergeysova/this_week_in_rust.rs
Another: @this_week_in_react
Download Telegram
Updates from Rust Community

Official
On the RustConf keynote | Rust Blog
blog.rust-lang.org

Project/Tooling Updates
rumqttd now supports MQTTv5 features like topic alias and message expiry
bytebeam.io

GlueSQL v0.14 - Schemaless data support
gluesql/gluesql/releases/tag/v0.14.0

ratatui 0.21.0 is released! (community fork of tui-rs)
tui-rs-revival/ratatui/releases/tag/v0.21.0

rust-analyzer Changelog #183
rust-analyzer.github.io

IntelliJ Rust Changelog #195
intellij-rust.github.io

rustc_codegen_gcc: Progress Report #23
blog.antoyo.xyz

Statement on RustConf & Introspection
soasis.org

Observations/Thoughts
Paired benchmarking. How to measure performance
www.bazhenov.me

Pattern Extensions
blog.yoshuawuyts.com

A governance system, if you can keep it
without.boats

[video] Why You Shouldn’t Build Your Next App in Rust
youtu.be

Rust Walkthroughs
How I finally understood async/await in Rust (part 1)
hegdenu.net

Serving dynamic social preview images with rust and serverless functions
traits-crates-and-awaits.ghost.io

Phase Locked State Machines
onevariable.com

ESP32 Embedded Rust at the HAL: Analog Temperature Sensing using the ADC
apollolabsblog.hashnode.dev

[video] Atomics and Locks Book Club - Chapter 1 - Basics of Rust Concurrency
www.youtube.com

[video] Atomics and Locks Book Club - Chapter 2 - Atomics
www.youtube.com

[video] Deploy Rust with shuttle.rs
youtu.be

[video] Building WASM web UI with Rust
youtu.be

[video] A Practical Introduction to Derive Macros with Attributes
youtu.be

[video] Building an HTTP Server in Rust: Exploring TCP/IP, Socket Programming, and Asynchronous I/O
youtu.be

[video] Run Fast! Catch Performance Regressions in eBPF with Rust
youtu.be

[video] Building a Weather Forecast Command-Line App in Rust
www.youtube.com

Miscellaneous
I Am No Longer Speaking at RustConf 2023
thephd.dev

Josh Triplett's Statement on RustConf 2023
hackmd.io

Why I left Rust
www.jntrnr.com

How s2n-quic uses Kani to inspire confidence
model-checking.github.io
😢4👍1
Crate of the week: progenitor

This week's crate is progenitor, an OpenAPI client generator with support for strongly typed mock tests.
👎1
Updates from Rust Community

Official
Announcing Rust 1.70.0
blog.rust-lang.org

Newsletters
This Month in Rust GameDev #45 - April 2023
gamedev.rs

This Month in Rust OSDev: May 2023
rust-osdev.com

Project/Tooling Updates
Changelog #184
rust-analyzer.github.io

MsgPacker: Enhancing performance and security
vlopes11.github.io

Diesel 2.1: Generated Migrations and simplified MultiBackend support
diesel.rs

Quickwit 0.6: Elasticsearch compatible API, range & prefix phrase queries, histogram & percentiles aggregations, and more...!
quickwit.io

Meilisearch 1.2 - new features for filters and engine improvements
blog.meilisearch.com

[video] The status of parallel rustc - Nicholas Nethercote
www.youtube.com

Observations/Thoughts
A Proposal for an asynchronous Rust GUI framework
notgull.github.io

A locking war story
sentry.engineering

Building a Vector Database to Make Use of Vector Embeddings
terminusdb.com

Data Exfiltration through DNS with Rust
balwurk.com

The Rust I Wanted Had No Future
graydon2.dreamwidth.org

From Stacks to Trees: A new aliasing model for Rust
www.ralfj.de

ESP32 Embedded Rust at the HAL: GPIO Interrupts
apollolabsblog.hashnode.dev

Introducing posh: Type-Safe Graphics Programming with Functional Shaders in Rust
leod.github.io

Demystifying trait generics in Rust
gruebelinchen.wordpress.com

Rust Walkthroughs
Writing universal libraries using C++ and consuming it in Rust (WASI)
medium.com/@shyamsundarb

Rust's cfg Attribute
blog.parker-codes.dev

Looking at Rust builtin derives
cohenarthur.github.io

What is WASI?
blog.yoshuawuyts.com

Create a simple DSL for CSS like syntax for TUIs
developerlife.com

[video] A Practical Introduction to Derive Macros with Attributes
www.youtube.com

Miscellaneous
[audio] Shuttle Launchpad with Stefan Baumgartner :: Rustacean Station
rustacean-station.org

[audio] Episode 5: Putting Lipstick on a Pig
wayofthecrab.com

[video] Bevy Basics Timers
www.youtube.com

[video] We Built a Blazingly Fast Video Conferencing System in Rust & WASM
www.youtube.com

[video] Why Static Typing Came Back • Richard Feldman • GOTO 2022
www.youtube.com
👍6
Crate of the week: kanata

This week's crate is kanata, a keyboard remapper for Linux and Windows.
👍2
Updates from Rust Community

Foundation
2023 Rust Foundation Fellowship Application Open Through June 30
foundation.rust-lang.org

Project/Tooling Updates
Fyrox Game Engine 0.30
fyrox.rs

Announcing Nickel 1.0
www.tweag.io

rust-analyzer changelog #185
rust-analyzer.github.io

Announcing Zebra 1.0.0: a Rust implementation of Zcash
ZcashFoundation/zebra

Observations/Thoughts
Iterating on Testing in Rust
epage.github.io

Higher-ranked projections (send bound problem, part 4)
smallcultfollowing.com

[video] Raph Levien on Xilem Vector Graphics
www.youtube.com

[video] Unsafe Rust and Miri by Ralf Jung
www.youtube.com

[audio] Slint 1.0 with Tobias Hunger
rustacean-station.org

Rust Walkthroughs
A Beginner’s Guide to Rust Procedural Macros: Creating a JSON Derive Macro
medium.com/@otukof

Implementing data parallelism with Rayon Rust
blog.logrocket.com

Write a Redux library in Rust
developerlife.com

Check AI-Generated Code Perfectly and Automatically: My Experience Applying Kani’s Formal Verification to ChatGPT-Suggested Rust Code
medium.com/p

Observing your Rust application with Quickwit, Jaeger and Grafana
quickwit.io

[video] Introducing the enum data type in Rust
www.youtube.com

[video] Rust streams: Diving into WebAssembly and WASI (series)
www.youtube.com
👍3
Crate of the week: mailtutan

This week's crate is mailtutan, a simulating SMTP server.
👍1
Updates from Rust Community

Official
Introducing the Rust Leadership Council
blog.rust-lang.org

Project/Tooling Updates
rust-analyzer changelog #186
rust-analyzer.github.io

Tantivy 0.20: Schemaless
quickwit.io

lz4_flex 0.11: Gainzzzzz Unleashed!
flexineering.com

redb (Rust Embedded DataBase) 1.0 release
www.redb.org

rust-libp2p v0.52.0: a modular p2p networking stack
libp2p/rust-libp2p/releases/tag/libp2p-v0.52.0

autometrics 0.5 - Automatically connecting Prometheus metrics to traces with exemplars
fiberplane.com

Introducing ducktor: Duck typed constructors for Rust structs with wasm-bindgen JsValue
mhamza.dev

Observations/Thoughts
How we built the Grafbase local development experience in Rust
grafbase.com

Encoding ML-style modules in Rust
blog.waleedkhan.name

Shuttle Launchpad #2: Structs and Enums
www.shuttle.rs

Building vector search in 200 lines of Rust
fennel.ai

Leveraging the Type System for Domain Modeling in Rust
kellnr.io

Building an out-of-tree Rust Kernel Module Part Three
blog.rnstlr.ch

Paying with (in memory) cache
juspay/hyperswitch/wiki/Paying-with-%28in-memory%29-cache

Rewriting Ockam in Rust
www.ockam.io

Rust Walkthroughs
API with Axum, SurrealDB, GraphQL - Template
radim.xyz

Miscellaneous
Fossil Data Platform Rewritten in Rust 🦀
blog.duyet.net

Build a CLI Tool for Data Masking, Encryption, and Decryption With Rust
medium.com/better-programming

Santiago Pastorino: Maintainer Retention
yaah.dev

Meilisearch across the Semantic Verse
meilisearch/meilisearch/issues/3838

[DE] Programmiersprachen: Die Beliebtheit von Rust bleibt ungebrochen
www.heise.de
Crate of the week: release-plz

This week's crate is release-plz, a crate to automate changelog generation, GitHub/Gitea release tagging, publishing on crates.io and bumping the version.
Updates from Rust Community

Official
Improved API tokens for crates.io
blog.rust-lang.org

Project/Tooling Updates
rust-analyzer changelog #187
rust-analyzer.github.io

Youki v0.1.0 has been released for use with Kubernetes and more
containers/youki/releases/tag/v0.1.0

Build Zellij WebAssembly (Rust) plugins for your Terminal
zellij.dev

Slint 1.1 Released with additional Royalty-Free License
slint.dev

Exograph: Declarative GraphQL backends with a Rust-powered runtime
exograph.dev

Nutype v0.3
greyblake/nutype/releases/tag/v0.3.0

Observations/Thoughts
Rust fact vs. fiction: 5 Insights from Google's Rust journey in 2022
opensource.googleblog.com

Escaping Macrophages
www.unnoscript.net

Code coverage in Rust
rrmprogramming.com

[video] Verus - Verified Rust for low-level systems code by Andrea Lattuada
www.youtube.com

[audio] Daily with Kwindla Hultman Kramer :: Rustacean Station
rustacean-station.org

[audio] Fish Folk with Erlend Sogge Heggen :: Rustacean Station
rustacean-station.org

Rust Walkthroughs
Serde Errors When Deserializing Untagged Enums Are Bad - But Easy to Make Better
www.gustavwengel.dk

Blowing up my compile times for dubious benefits
claytonwramsey.github.io

Walk-Through: Prefix Ranges in Rust, a Surprisingly Deep Dive
www.thecodedmessage.com

ESP32 Embedded Rust at the HAL: Remote Control Peripheral
apollolabsblog.hashnode.dev

Auto-Generating & Validating OpenAPI Docs in Rust: A Streamlined Approach with Utoipa and Schemathesis
identeco.de

[video] Writing a Rust-based ring buffer
www.youtube.com

[video] Supercharge your I/O in Rust with io_uring
www.youtube.com

[video] Graph Traversal with Breadth-First Search in Rust
www.youtube.com

[video] Nine Rules for Writing Python Extensions in Rust | PyData Seattle 2023
www.youtube.com

Research
Friend or Foe Inside? Exploring In-Process Isolation to Maintain Memory Safety for Unsafe Rust
arxiv.org

Agile Development of Linux Schedulers with Ekiben
arxiv.org

Miscellaneous
How to Deploy Cross-Platform Rust Binaries with GitHub Actions
dzfrias.dev
Crate of the week: Parsel

This week's crate is Parsel, an easy to use parser generator.
Updates from Rust Community

Official
Rustfmt support for let-else statements
blog.rust-lang.org

Newsletters
This Month in Rust GameDev #46 - May 2023
gamedev.rs

Project/Tooling Updates
rust-analyzer changelog #188
rust-analyzer.github.io

Pavex DevLog #5: redesigning our runtime types
www.lpalmieri.com

Bevy XPBD: A physics engine for the Bevy game engine
joonaa.dev

complgen: Generate {bash,fish,zsh} completions from a single EBNF-like grammar
adaszko/complgen

projectable: a command line TUI file manager
dzfrias.dev

Observations/Thoughts
How To Wrap Your Errors With Enums When Using Error-Stack
betterprogramming.pub

Exploring Graphs in Rust. Yikes
www.confessionsofadataguy.com

Writing a Linked List in Rust: A Walkthrough
cmooneycollett.github.io

Tree-Structured Concurrency
blog.yoshuawuyts.com

Rust Notes on Temporary values (usage of Mutex) - 4
dev.to

Method Overloading (kinda), and Advanced Trait Usage
youtu.be

Unlocking Possibilities: 4 Reasons Why ESP32 and Rust Make a Winning Combination
apollolabsblog.hashnode.dev

The magic of dependency resolution
ochagavia.nl

Writing E2E Tests for Axum & GraphQL
estebanborai.com

Detailed web-based 3D rendering of mining spatial data
www.kurtlawrence.info

[video] Choose the Right Option
www.youtube.com

[video] 4 levels of Rust error handling
www.youtube.com

Rust Walkthroughs
Build a Ray Tracer, pt. 4 - The Next Dimension
www.superperfundo.dev

Nine Rules for Running Rust on the Web and on Embedded: Practical Lessons from Porting range-set-blaze to no_std and WASM
towardsdatascience.com

Full Stack Rust Workshop: Shuttle, Actix Web, SQLx & Diouxus
bcnrust.github.io

Intercepting Allocations with the Global Allocator
bd103.github.io

A compressed indexable bitset
quickwit.io

A persistent task queue in Rust
jmmv.dev

How I finally understood async/await in Rust (part 2: how does a pending future get woken?)
hegdenu.net

Miscellaneous
Verify Rust code in VS Code with the Kani VS Code extension
model-checking.github.io

Reduce memory footprint by about 600% for M.E.D. — Performance Matters
medium.com/gitconnected

New MeetUp Group in Canada: Rust Halifax
www.meetup.com
🎉3👍1
Crate of the week: rustypaste

This week's crate is rustypaste, a minimal file upload/pastebin service.
Updates from Rust Community

Official
Announcing regex 1.9
blog.rust-lang.org

Newsletters
This Month in Rust OSDev: June 2023
rust-osdev.com

Project/Tooling Updates
Regex engine internals as a library
blog.burntsushi.net

Bevy 0.11
bevyengine.org

rustc_codegen_gcc: Progress Report #24
blog.antoyo.xyz

rust-analyzer changelog #189
rust-analyzer.github.io

Vector storage is coming to Meilisearch to empower search through AI | Rust SDK
blog.meilisearch.com

Rust on Espressif chips - June 30 2023
mabez.dev

esp-rs quarterly planning: Q3 2023
beta7.io

SQLPage • Build dynamic websites in SQL
crates.io

Observations/Thoughts
Deref specialization in const contexts
GoldsteinE/gh-blog/blob/master/const_deref_specialization/src/lib.md

How to think about async/await in Rust
cliffle.com

Back-end parallelism in the Rust compiler
nnethercote.github.io

bridging fuzzing and property testing
blog.yoshuawuyts.com

Mastering Rust: 2 Years of Building Brilliance and Lessons Learned
opeolluwa.hashnode.dev

Learning Rust - the first month
szabgab.com

Ideas for crafting CLI in Rust
dev.to

Beyond Pointers: How Rust outshines C++ with its Borrow Checker
dev.to

[audio] Shuttle with Ivan Cernja
rustacean-station.org

Rust Walkthroughs
[video] Build A Full Stack Chatbot in Rust (feat. Leptos & Rustformers)
www.youtube.com

[video] Render the Julia set in 3 dozen lines of Rust code
www.youtube.com

How We Generate JavaScript and Python SDKs From Our Canonical Rust SDK
postgresml.org

Put a Pin on That
ohadravid.github.io

Unit-testing a web service in Rust
jmmv.dev

Miscellaneous
Docker Desktop 4.21: Support for new Wasm runtimes, Docker Init support for Rust, Docker Scout Dashboard enhancements, Builds view (Beta), and more
www.docker.com

Rust Digger: identify low-hanging fruit improvements to crates
rust-digger.code-maven.com/
🎉4
Crate of the week: dysk

This week's crate is dysk, a nice df like utility to display the fill level of your disks.
👍5👎5