🔄
@ShadowJonathan The whole universe just deadlocked itself now, whoops.
[mentionuserid="683208c9-b6a0-4674-9191-3275c7b3c025"] you are not gonna like my code then
wafrn-backend/routes/activitypub/activitypub.ts at main · gabboman/wafrn-backend

Contribute to gabboman/wafrn-backend development by creating an account on GitHub.

GitHub
@ShadowJonathan My past week has literally been awaiting and map/reducing nested arrays of promises and I wanna die
@ShadowJonathan I love that we never finished the graphic (we have no idea when it's done)
@ShadowJonathan I get the feeling that somebody seriously misunderstands how async works. That person should first travel back to the start of the century and enter JavaScript Callback Hell, then jump forward by about 15 years to learn to appreciate promises, and then come back to learn to appreciate async.
@Denian it's a joke of a joke, the original joke was to bash async (or anything, really, look up "stop doing math") and then do it overtly so that it becomes funny, but in this case the joke is cut off strategically because of the whole "await" thing
@Denian @ShadowJonathan Thanks to promises and await, I can now write synchronously blocking code in JS!
@ShadowJonathan @Sterophonick feel this whenever a function reaches its end but the calling function doesn't resume
AWS re:Invent 2022 - Keynote with Dr. Werner Vogels

YouTube
@ShadowJonathan What comes first? Async? Await? Nice hen and egg problem there, Microsoft!

@ShadowJonathan CSP basically does everything async does better, more legibly and you can easily scale it over multiple cores without program changes.

Scaling over multiple hosts requires only some slight changes.

@ShadowJonathan i hope you enjoy my contribution
@ShadowJonathan oh it messed up. the 2nd frame is supposed to be way longer. but i guess this is far more frustrating and ironically far more accurate
@ShadowJonathan that code was always creepy...
@ShadowJonathan YEARS OF Pin<Box<dyn Future<Output = ()> + Send + '_>

@ShadowJonathan CSP > Async, Preemptive scheduling > non-preemptive scheduling.

Thank you for coming to my talk.

@lispi314 @ShadowJonathan Could I offer you a continuation monad while you wait?

@corbin @ShadowJonathan I dislike the monadic terminology around continuations, it's a lot more confusing and vague than that which Scheme uses.

Delimited continuations are very different from other types of continuations.

@corbin @ShadowJonathan That being said, I consider that to use continuations in this case would require leaking more through the abstractions (is it local or not? Single thread of execution or not?) than what looks like message-passing or procedure-calls (remote or local, both are trivial to add onto message passing).
@lispi314 @ShadowJonathan Good points. I think that purity is relevant; we usually intend for deferred actions to be impure and not idempotent, which is exactly the case where the continuation monad is non-trivial.
@ShadowJonathan Ok, I'll use Subscribers (?

@ShadowJonathan
That feel when your logic has to wait for clock while mine has solved at the speed of signal propagation
L+long response time+I already embedded the logic into the hardware+clock-dependent

Also VHDL is based because the acronym stands for another acronym
VHDL:
VHSIC
Hardware
Control
Linguini

@ShadowJonathan @starshine this made me laugh a lot thanks