frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

A Design Space Exploration of Async/Await

https://cel.cs.brown.edu/blog/design-space-async-await/
75•wcrichton•2d ago

Comments

homarp•2d ago
The paper explores how async/await behaves across today's languages: https://arxiv.org/abs/2608.20677
perrygeo•1h ago
Amazing work. It's one thing to say "async is complex". It's another to parse that statement so carefully as to have a cross-language theory of async execution. Looking forward to digging into this!
layer8•1h ago
It would be a fun coding agent benchmark to have them translate such a program between the different languages and see whether they preserve the respective semantics.
moralestapia•1h ago
Great work. Must read for anyone working with this type of concurrency.
agumonkey•46m ago
Beautiful
alilleybrinker•44m ago
With these dimensions of design variance defined, you could also make a closeness measure in 9-dimensional space and identify the most or least similar combos.

Also a great teaching tool, if someone knows one async system, to be able to show them the differences on each axis from their prior one to a new one they’re learning.

bradleybuda•39m ago
I answered the quiz and it said "you must be a Javascript developer", which is true enough - that's probably my second-most-proficient language. In fact, I'm a Ruby developer partially because I hate the idea of async/await and I'm feeling very smug about my choice after reading this.

Some of these design decisions seem indefensible to me. For example, what the authors call "Suspension":

-> Static: Await points guaranteed to suspend -- JavaScript

-> Dynamic: No guarantees on awaiting tasks -- C# · Swift · Tokio · Smol · Asyncio · Trio

What is "await" if not a synonym for "suspend"?!?

async/await is one product of a long line of thought that says "threads are too hard for programmers to get right". Threads (really, shared memory) have real usability issues for developers, but once you grok the semantics (which largely map to the physical execution model in a CPU) that knowledge is transferrable across virtually all languages and runtimes.

biorach•33m ago
> What is "await" if not a synonym for "suspend"?!?

it's a question of whether the runtime is guaranteed to suspend at an await point or if it may choose not to

> async/await is one product of a long line of thought that says "threads are too hard for programmers to get right".

what? no! concurrency vs parallelism etc etc

danilocesar•30m ago
I'm teaching async calls in makearcade to my 10yo son, to bypass a platform bug. He said he doesn't get it. My answer was: Don't worry, adults don't get it either.
nxc18•27m ago
> What is "await" if not a synonym for "suspend"?!?

There are scenarios where something might need to await and might not. Why take the hit if you are able to do something synchronously? Edit: this is especially important given the “viral” nature of colored functions.

It does make it hard to reason about, but this kind of problem is all over the place - e.g. very similar-looking code can have very different semantics depending on your framework if you’re using jsx or a particular decorator means one thing in one project and something else in another. That’s just part of the game at this point.

biorach•39m ago
At last someone took the time to pore over all the tedious crap that I have been trying and failing to keep straight in my head since forever.
jdw64•33m ago
>You must be a C#, Swift, Asyncio, or Tokio developer — hard to narrow down, you all agree on this one.

I think that's definitely right. Knowing the semantics of the language you mainly use is important.

cbm-vic-20•12m ago
or, Java Virtual Threads and chill.
bmm6o•15m ago
C# has Task.FromResult(), which is useful if you are implementing an interface that allows async work but your implementation doesn't require it. I believe the runtime will check for this case and continue execution. It's better for the cache to keep executing the current task on the current thread.

I don't really understand gp's point. From inside the code, you can't tell if there was a pause or not. Clock time or thread id are heuristics, but you can't really be sure.

A misalignment of AI in mathematics

https://mathandai.org/
486•meredydd•5h ago•552 comments

I spent $220 on Google app ads and 60% of the installs were robots

https://dayzlegame.com/blog/google-ads-bot-farm/
174•nickabe•4h ago•81 comments

GrapheneOS' rewritten Messages app is released

https://github.com/GrapheneOS/Messaging/releases/tag/13
152•microtonal•4h ago•87 comments

A Design Space Exploration of Async/Await

https://cel.cs.brown.edu/blog/design-space-async-await/
75•wcrichton•2d ago•14 comments

Project Blinkenlights

https://blinkenlights.de/en/
13•doener•35m ago•6 comments

Show HN: ResolveHQ – A Helpdesk Built on Cloudflare Workers, D1, R2 and Queues

https://github.com/mirza-rizvi/ResolveHQ
8•mirza_rizvi•1h ago•1 comments

Litelm: LiteLLM Without the Bloat

https://github.com/kennethwolters/litelm
78•kennethwolters•4h ago•27 comments

Λ Snap – An inviting programming language for kids and adults for CS study

https://snap.berkeley.edu/
92•dr_kiszonka•5h ago•50 comments

AlphaGenome maps 9B DNA variants

https://spectrum.ieee.org/alphagenome-atlas
55•ltononro•2d ago•5 comments

GPT-6 built this earth exploration site in 5 prompts

https://earth.ethanplus.ai/
21•ethanplusai•1h ago•30 comments

The EPA is planning to scrap public review rules for data center pollution

https://capitalbnews.org/data-centers-permit-rules-epa/
273•doener•4h ago•184 comments

Rune is now open source

https://rune.build/blog/rune-is-now-open-source
116•ernestrc•7h ago•47 comments

I've operated petabyte-scale ClickHouse clusters for 5 years

https://www.tinybird.co/blog/what-i-learned-operating-clickhouse
163•adastral•4d ago•60 comments

So you want to use OpenRouter?

https://mmoustafa.com/blog/so-you-want-to-use-openrouter/
675•player85•2d ago•185 comments

Mind-altering drugs played key role in rise of Andean civilization

https://www.science.org/content/article/mind-altering-drugs-played-key-role-rise-andean-civilization
80•geneticdrifts•5h ago•59 comments

Txt: A fast, keyboard-driven terminal text editor for engineers

https://txt.hellman.io/
17•jlundberg•3h ago•15 comments

Logo Programming Language

https://el.media.mit.edu/logo-foundation/what_is_logo/logo_programming.html
226•azhenley•2d ago•94 comments

Zep AI (YC W24) Is Hiring a Head of Forward Deployed Engineering

https://www.getzep.com/careers/
1•roseway4•5h ago

118M Queries per Second on Neki

https://planetscale.com/blog/118-million-queries-per-second-on-neki
83•joshmgross•6h ago•38 comments

Show HN: Godot and Rust based multiplexer (terminal panes and more)

https://github.com/godot-pty/gpty
71•1nv1n•6h ago•38 comments

Claude is only available to people over 18 years

https://support.claude.com/en/articles/15171100-age-assurance-on-claude
535•Muhammad523•12h ago•576 comments

There is no 10x RBAC

https://infisical.com/blog/folder-based-rbac
4•FinnLobsien•2d ago•0 comments

RTK reports token savings, but our cost benchmarks disagree

https://quesma.com/blog/does-rtk-make-ai-coding-cheaper/
140•michalwarda•11h ago•68 comments

From Front Panel to Program: Thinking Like a PDP-8

https://pikuma.com/blog/pdp-8-minicomputer
13•atan2•1d ago•2 comments

Show HN: Bodily Oddities

https://vester.si/bodily-oddities/
141•vesterde•1d ago•117 comments

CIA Releases President's Daily Briefs in Commemoration of 9/11

https://www.cia.gov/stories/story/cia-releases-presidents-daily-briefs-in-commemoration-of-the-25...
76•stmw•4h ago•48 comments

Stop making swap partitions—use swap files instead

https://gist.github.com/joshenders/c4960cec9c63a7b7d68ffa9543356c43
106•jenders•3d ago•171 comments

Global Glacier Extinction Explorer

https://glacierextinction.com
146•guillego•6h ago•48 comments

How the Chorleywood Bread Process transformed British bread

https://edconway.substack.com/p/the-little-holes-in-your-bread-are
93•baud147258•3d ago•92 comments

Measuring the sloppiness of code

https://earendil.com/posts/measuring-code-sloppiness/
230•doppp•9h ago•218 comments