HNHacker News
TopNewBestAskShowJobs

grug_htmx_dev

92 karma · joined August 18, 2023

submissionscomments
grug_htmx_dev··on Maybe Rust isn’t a good tool for massively concurrent, userspace software
Exactly, because something somewhere needs to make one http call, and it's would be impossible if it wasn't done with scalable async executor. /i
grug_htmx_dev··on Maybe Rust isn’t a good tool for massively concurrent, userspace software
Threads are driven by the OS. Something needs to drive couritines, so there's no way around needing some (even rudimentary, like in embedded) executor. But to be a versatile and universal systems language, Rust can't just build-in executor into a language.

I think that stackless coroutines are better than stackfull, in particular for Rust. Everything was done correctly by the Rust team.

Again, this is all fair and good, as long as people understand the tradeoff and make good technical decisions around. If they all jump on async bandwagon blind o the obvious limitations, we get where Rust ecosystem is now.

grug_htmx_dev··on Maybe Rust isn’t a good tool for massively concurrent, userspace software
Yes, async is effectively a much harder version of Rust, and it's regrettable how it's been shoved down the throats of everyone, while only 1% of projects using it really need it. Hover, async is also amazing in these 1% of cases when it's useful.

If you have a service that handles massive amounts of network calls at the core (think linkerd, nginx, etc.), or you want to have a massive amount of lightweight tasks in your game, or working on an embedded software where you want cooperative concurrency, async Rust is an amazing super-power.

Most system/application level things is not going to need async IO. Your REST app is going to be perfectly fine with a threadpool. Even when you do need async, you probably want to use it in a relatively small part of your software (network), while doing most of the things in threads, using channels to pass work around between async/blocking IO parts (aka hybrid model).

Rust community just mindlessly over-did using async literally everywhere, to the point where the blocking IO Rust (the actually better UX one) became a second class citizen in the ecosystem.

Especially visible with web frameworks where there is N well designed async web frameworks (Axum, Wrap, etc.) and if you want a blocking one you get:

  tiny_http, absolute bare bones but very well done
  rouille - more wholesome, on top of tiny_http, but APIs feel very meh comparing to e.g. Axum
  astra - very interesting but immature, and rather barebones
grug_htmx_dev··on Klack – Satisfying sound with every keystroke
Seen a conference talk with someone that had quake weapon sounds set on every keypress. Now, that's what I'd like to get. :D
grug_htmx_dev··on The Cynical Genius Illusion (2018)
I'm too cynical to take seriously social studies research. Most of it doesn't replicate.
grug_htmx_dev··on Proof-of-Work Defense for Onion Services
Currently attacking is nearly free, and you can't access the site at all anyway.
grug_htmx_dev··on 5 years ago Valve released Proton
> Just like Windows.

And just like with Windows Valve is trying to build on an open platform instead.

grug_htmx_dev··on 5 years ago Valve released Proton
Mac is just another tightly closed platform, Valve could get squeezed from by Apple at any time. There's just no reason to invest in it.

If you can afford a Mac, you can afford a Steam Deck.