I wrote ✏️ 🎉 an article about Running Tasks Concurrently in Django Asynchronous Views :django: Buckle-up for our async-journey together! 🚗 #django#python#async
Been putting the template annotations into @reactphp's async package. This will make PHPStan understand that when you await a PromiseInterface<bool>, the await function returns a bool. All with this amazing view:
"Now that we’re at the end I want to thank you for reading all the way to the end. I wanted this book to feel like a journey we took together, not like a lecture. I wanted you to be the focus, not me.
I hope I succeeded with that, and I genuinely hope that you learned something that you find useful and can take with you going forward."
I definitely learned a lot! And a journey it has been indeed! This book will be my go-to reference for all things #Async in #Rust!
#Swift can be so much cleaner and more concise than #ObjectiveC. Really digging the new concurrency syntax with #ASync and #await for working with #CloudKit. Now if only I could convert my entire project to this. But 16 years of development has lots of legacy code. But I am slowly modernizing some of it and writing new stuff in Swift and SwiftUI.
Upcoming, a new & simplified implementation of https://thi.ng/csp (currently still only on a feature branch[2]) for building blocks for Communicating Sequential Processes.
Also still WIP only, async iterable support for https://thi.ng/rdom, i.e. in the same way as rstream subscriptions, such async iterables can soon be directly embedded as component/element bodies or attribute values and then perform pinpointed DOM updates each time their value changes...
As I said, async all the thi.ngs...
[1] h/t @sjb3d for an ancient tweet with a similar sentiment & outcome :)
[2] The CSP package too was somewhat deprecated (for similar reasons) and a while ago I added another alternative CSP implementation via https://thi.ng/fibers, but that package too might see some more refactoring/simplifying by switching to async generators...
It champions #TonyHoare's #CSP model of concurrency which takes me back. Back to the time I failed to get funding for a start-up to build an #Occam compiler targeting i386. Which was largely a ploy to get the UK government to buy me some neat kit 🤷♂️
One of the big pain points for me with #async#rust is the gap between async features and the rest of the languages. For instance, you need external crates for async traits and closures and the errors become unreadable once they involve those async traits.
Finally migrating some old EventLoopFuture-based Vapor code to new async approach. Feels really good to unwrap those crazy nested EventLoopFuture blocks to clean meaningful async code. Good job @0xTim & co.
Is there a way in Rust to use standard lib traits (Ord, Eq, Into/From...) with async functions?
Perhaps a crate or something?
Or must it be a separate function implemented for the structs?
I am reading the rust for rustaceans book, but it’s not the end of all, I need to implement my learning. What could be the best, short and crisp way to utilise most of async and concurrent feature in a small application?
My goal is to get confident enough that I can build/contribute to something like #pingora or a database like #quadrant
Been putting the finishing touches on Bunny's transformation into #fibers PR. One of the major things for me there is visualizing the changes, especially the breaking changes. For example switching from a promise based API to a fibers based API: