Top all-time · #1536
Aaron Turon
Personal blog · aturon.github.ioprogrammingsystems
Aaron Turon's personal blog at aturon.github.io covers programming and systems. Since 2015, 49 different Hacker News readers have linked it 82 times, most often “Lock-freedom without garbage collection”. The last post was in 2020, but the archive is still widely read.
turon’s web site
Most-linked posts?
- Lock-freedom without garbage collection8 people · 8 mentions · first linked 2015-12-03
- /blog/2016/08/11/futures/8 people · 8 mentions · first linked 2016-08-22
- Designing futures for Rust5 people · 5 mentions · first linked 2016-09-09
- Borrowing in async code – Aaron Turon3 people · 9 mentions · first linked 2018-04-25
- Lock freedom without garbage collection in Rust3 people · 6 mentions · first linked 2015-08-27
- Zero-cost futures in Rust3 people · 4 mentions · first linked 2016-08-11
- Designing futures for Rust3 people · 3 mentions · first linked 2016-09-07
- The Rust Platform3 people · 3 mentions · first linked 2016-07-27
- Resurrecting impl Trait2 people · 3 mentions · first linked 2015-09-29
- /ownership/builders.html2 people · 2 mentions · first linked 2015-05-19
What Hacker News says?
Large organizations are full processes for balancing power between internal groups. As Rust Foundation, Amazon, and other companies become more involved, friction will happen more frequently. The Rust Foundation will need processes for balancing power between the companies and various groups inside the companies. PR pieces are usually full of deception. I expect that Rust Foundation will end up with a process for ap…
Comment linking /tech/2018/05/25/listening-part-1/
on “I refuse to let Amazon define Rust”Submitted Zero-cost futures in Rust as a story · 930 points
HN discussionNo, it's more related to the fact that Rust allows you to use traits in both a statically- and dynamically-dispatched way. You can read some more on the topic here: http://aturon.github.io/blog/2015/09/28/impl-trait/
Comment linking /blog/2015/09/28/impl-trait/
on “Zero-cost futures in Rust”Submitted The Rust Platform as a story · 362 points
HN discussionThis is an exciting upcoming feature in Rust, which you can read more about in a couple places: - http://aturon.github.io/blog/2015/09/28/impl-trait/ - https://github.com/rust-lang/rfcs/pull/1522 This feature allows you to return any struct that implements the trait, without having to type the name of the struct (which can sometimes be quite big). It also means that clients only know what traits are implemented; the…
Comment linking /blog/2015/09/28/impl-trait/
on “Zero-cost futures in Rust”Submitted Lock freedom without garbage collection in Rust as a story · 234 points
HN discussionAsync/await matters in Rust specifically because the borrow checker makes writing code without it difficult, inefficient, and unergonomic: http://aturon.github.io/tech/2018/04/24/async-borrowing/ (note that some of the details have changed here, but the thrust of it is very much the same.) That said, if you can get your job done without this stuff, that's fine too, but the reasons it was pursued specifically involve…
Comment linking /tech/2018/04/24/async-borrowing/
on “Tokio 1.0 – async runtime for Rust”Submitted Closing out an incredible week in Rust as a story · 92 points
HN discussionIt is a little old, but for the general gist of it, http://aturon.github.io/tech/2018/04/24/async-borrowing/ is an amazing description of the problem here. It is a PhD level research problem to know if monads and do notation would be able to work in Rust. The people who are most qualified to look into it (incidentally: a lot of the same crew was who was working on async) believe that it may literally be impossible.
Comment linking /tech/2018/04/24/async-borrowing/
on “Why asynchronous Rust doesn't work”Submitted Designing futures for Rust as a story · 20 points
HN discussionhttps://aturon.github.io/blog/2016/09/07/futures-design/ The completion based futures that Alex started with were also based on epoll. The performance issues it presented had nothing to do any sort of impedence mismatch between a completion based future and epoll, because there is no impedence issue. You are confused.
Comment linking /blog/2016/09/07/futures-design/
on “Why asynchronous Rust doesn't work”Submitted Resurrecting impl Trait as a story · 11 points
HN discussionMost guys I follow are either rust or haskell developers. @manishearth - rust - https://manishearth.github.io/ @bitemyapp - writer of haskell: first principles @bartoszmilewski - haskell - https://bartoszmilewski.com/ @jdegoes - writes informative FP blog posts - http://degoes.net/ @aaron_turon - rust - https://aturon.github.io/blog/ @pcwalton - rust @nikomatsakis - rust - http://smallcultfollowing.com/babysteps/ @p…
Comment linking /blog/
on “Ask HN: Which developers do you closely follow?”Submitted Version selection in Cargo as a story · 5 points
HN discussion> You simply can not do it with state machines polled in user code That's not really true. The only guarantees in Rust futures are that they are polled() once and must have their Waker's wake() called before they are polled again. A completion based future submits the request on first poll and calls wake() on completion. That's kind of the interesting design of futures in Rust - they support polling and completion.…
Comment linking /tech/2016/09/07/futures-design/
on “Io_uring, kTLS and Rust for zero syscall HTTPS server”Submitted Sound and ergonomic specialization for Rust as a story · 5 points
HN discussion> The fundamental problem is that rust async was developed when epoll was dominant (and almost no one in the Rust circles cared about IOCP) No, this is a mistaken retelling of history. The Rust developers were not ignorant of IOCP, nor were they zealous about any specific async model. They went looking for a model that fit with Rust's ethos, and completion didn't fit. Aaron Turon has an illuminating post from 2016 e…
Comment linking /tech/2016/09/07/futures-design/
on “Io_uring, kTLS and Rust for zero syscall HTTPS server”Submitted Version selection in Cargo as a story · 4 points
HN discussionIts a work in progress, but available bits were helpful. http://aturon.github.io/
Comment linking /
on “Rust vs. Go”Submitted Designing futures for Rust as a story · 4 points
HN discussionThe fact that two styles or concepts are formally dual does not make them equally practical or useful in all circumstances. Consider: in calling conventions, the continuation passing style is dual to the "direct" calling convention (i.e., call stack with return values); the call-by-name style is dual to call-by-value style; Lambda Calculus and Turing Machines are dual in their ability to compute all effectively calc…
Comment linking /blog/2016/08/11/futures/
on “Rust and the Future of Systems Programming [video]”Submitted Designing futures for Rust as a story · 4 points
HN discussion> However these systems have still lots of dynamic allocations, often one or more for each point where a suspension happens. And also less need for dynamic allocations in general, since lots of state can be put on the stack instead of being stored in various statemachine objects in the heap. I guess data locality might also be a plus for goroutines, instead of having state possibly spread all over the heap it's in a…
Comment linking /blog/2016/08/11/futures/
on “LLVM 4.0.0”Submitted Borrowing in async code – Aaron Turon as a story · 3 points
HN discussionYou’ll see more of that over the next few months. The roadmap process for rust kicks off with an end-of-the-year call for blog posts about what you want to see in Rust the next year. That invariably brings up areas where Rust could be improved, that’s kind of the point! We’re beta testing the last improvements for the year now, so looking at last year’s posts isn’t going to give you an accurate picture; a lot has ha…
Comment linking /2018/04/24/async-borrowing/
on “Falling in love with Rust”Submitted Retooling the Rust Libs Team for 2018 as a story · 3 points
HN discussionYou start your response with "No" but don't actually argue against anything I've said. > Rust is conflating memory safery and multithreading safety. Rust doesn't conflate anything. It just gets some multi-threading safety for free as a result of its memory model. And then gets quite a few other multi-threading safety characteristics that no other mainstream language has from the type system. That several features in…
Comment linking /blog/2015/08/27/epoch/
on “For Better Computing, Liberate CPUs from Garbage Collection”Submitted Designing futures for Rust as a story · 3 points
HN discussionThat is indeed interesting. I've thought about mentioning http://aturon.github.io/sponsor/ but then I realized you said about not individuals but a team. So I guess crowdfunded project idea is not bad at all. I mean there probably some rewards tier to have some tokens or souvenier
Comment linking /sponsor/
on “"Much" of the Rust/Wasmtime team hit by layoffs at Mozilla”Submitted Zero-cost Futures in Rust (2016) as a story · 2 points
HN discussion