A Visual Journey Through Async Rust
A Visual Journey Through Async Rust
My latest blog post: VanSpoof v1.0
https://mikecoats.com/van-spoof-v1-0/
I'm happy to announce the v1.0 release of VanSpoof. My VanMoof X3 now starts up, without an e-shifter connected, and does not show an Error 44 status! The bike thinks it's connected to a working, functional, e-shifter!
#eBike #electronics #openSource #reverseEngineering #rustLang #stm32 #vanMoof
** Sponsor announcement ** NLnet Labs is a Supporter of RustWeek!
Find out more about them here: https://nlnetlabs.nl/
Thank you @nlnetlabs for your support! 馃檹
More info about RustWeek and tickets: https://rustweek.org/
RustRover 2025.1 Is Now Available
https://blog.jetbrains.com/rust/2025/04/16/rustrover-2025-1-is-now-available/
Fixed a compiler error that was suggesting a wrong location for the move
keyword.
It's been a minute (almost 3 years, but who's counting?), but I've just released a new version of broken-links, to add a user agent to it (thank you @mike_k for the suggestion).
It's a link checker - give it a starting URL, and it'll recursively crawl all pages with that domain, checking all internal and external links found.
Install via `cargo install broken-links` or see the release page for other options: https://codeberg.org/kdwarn/broken-links/releases/tag/v0.2.4
Had a interesting year or so learning #RustLang - started using it for a wasm based browser game (Nergal) and now the last few months using it embedded on a Raspberry Pi Pico (SmogOff).
Very different use cases, but pretty happy with it. Takes a while to stop being dismayed at the compiler and see it as a friend - but it definitely encourages good ways of thinking.
It helps a lot, when trying to figure out it's quirks - knowing exactly which bad situation (usually a C++ one) it's making impossible. Without that I can see how it feels very awkward and verbose.
I never want to use a language which isn't expression based any more, that's for sure.
Beyond the borrow checker, the simple things are what I've found the best - e.g. error propagation which is actually designed into the language (rather than a bolted on weird different thing like try/catch or a vague convention). In the embedded world, this has made it much easier to debug third party drivers and whatnot. Also to write code to cope with every single possible error state in a lot of peripheral devices.