Rust
CGlue 0.3 Future and Beyond
Aug. 1, 2024, 3:43 p.m. by auri
CGlue 0.3 now supports Future
, Stream
, and Sink
in version 0.3! They're not only safe, but also, relatively fast. All this took around a year to build, and I may now explain the keys to the async.
Announcing mfio - Completion I/O for Everyone
Dec. 7, 2023, 5 p.m. by auri
I'm extremely proud to announce the first release of mfio
, mfio-rt
, and mfio-netfs
! This is the most flexible Rust I/O framework, period. Let's get into it, but before that, warning: this is going to be a dense post, so if you want a higher level overview, check out the release video :)
What If We Pretended That a Task = Thread?
May 22, 2023, 9:12 p.m. by auri
In my previous post I made a fairly inaccurate attempt at describing one of the primary problems plaguing current async ecosystem and an idea of solving it. Redditors criticized me, and rightfully so - the post was written in one go without giving it time to rest and the solution was not optimal. So I thought about it more, and I think I am on to something.
Read more`Future + Send` Was (Not) Unavoidable
May 9, 2023, 10:02 p.m. by auri
If you've done any async programming in Rust, you will have encountered the problem, where you can't run tokio::spawn
, because the future cannot be sent between threads safely
. This is a tale about why this problem exists, how it could be solved for good, and why it's not trivial to do without breaking existing code.
We Need Type Information, Not Stable ABI
Jan. 15, 2023, 5:42 p.m. by auri
I've always been a strong proponent of dynamic linking, and last month a new Rust proposal dropped - interoperable_abi. It sparked discussions, plans forward, and my excitement was immeasurable. Then, one member said something that got me thinking. And after much thinking, I don't think ABI is what we need today. What we need is type information. Let me explain.
Read moreNo compromises I/O
Dec. 26, 2022, 10:22 a.m. by auri
"Mr. h33p, what kind of substance are you on? All I want is 2 simple read/write functions!", said everyone in the room. Well, if you just let me get into the weeds, I'll tell you why that's not enough, and why we can do much, much better.
Read moreCGlue 0.2 is here!
Nov. 26, 2021, 2:37 a.m. by auri
Beautiful things happen, when you let the type system do the work for you. CGlue has reached a very important milestone, making Rust to C/C++ interop not just possible, but also seamless!
Read moreCGlue Today And The Road Ahead
July 23, 2021, 1:24 p.m. by auri
Hello again, CGlue has had several updates already with 0.1.2 being the latest. Let's cover it! And also, I think it's a good a time to start talking about the road ahead.
Read moreCGlue Update - Greatness Is Near!
May 27, 2021, 11:51 p.m. by auri
A few days ago I introduced a seamless ABI safety solution, and there has been rapid progress on it. It's very close to being feature complete, but there are some final important kinks that need working out.
Read moreGrand Plan for ABI Safety
May 24, 2021, 9:31 a.m. by auri
Rust does not have ABI safety by default. Meaning, any Rust (non extern "C") code that is called on your dynamically loaded libraries relies on an explicitly unstable ABI. It will work fine if the library is compiled with the same compiler version, but could break if they differ the slightest bit. But wait, it's 2021, how is it still an unsolved problem?
Read more