frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Migrating from DigitalOcean to Hetzner: From $1,432 to $233 With Zero Downtime

https://isayeter.com/posts/digitalocean-to-hetzner-migration/
276•yusufusta•2h ago•129 comments

State of Kdenlive

https://kdenlive.org/news/2026/state-2026/
163•f_r_d•4h ago•59 comments

Why Japan has such good railways

https://worksinprogress.co/issue/why-japan-has-such-good-railways/
125•RickJWagner•3h ago•114 comments

Michael Rabin has died

https://en.wikipedia.org/wiki/Michael_O._Rabin
247•tkhattra•2d ago•47 comments

Amiga Graphics Archive

https://amiga.lychesis.net/
175•sph•9h ago•38 comments

Category Theory Illustrated – Orders

https://abuseofnotation.github.io/category-theory-illustrated/04_order/
155•boris_m•9h ago•47 comments

Sumida Aquarium Posts 2026 Penguin Relationship Chart, with Drama and Breakups

https://www.sumida-aquarium.com/special/sokanzu/en/2026/
25•Lwrless•2d ago•1 comments

Claude Design

https://www.anthropic.com/news/claude-design-anthropic-labs
1126•meetpateltech•1d ago•725 comments

80386 Memory Pipeline

https://nand2mario.github.io/posts/2026/80386_memory_pipeline/
10•wicket•3d ago•0 comments

Show HN: I made a calculator that works over disjoint sets of intervals

https://victorpoughon.github.io/interval-calculator/
234•fouronnes3•14h ago•45 comments

It's OK to compare floating-points for equality

https://lisyarus.github.io/blog/posts/its-ok-to-compare-floating-points-for-equality.html
96•coinfused•3d ago•62 comments

A Dumb Introduction to Z3 (2025)

https://ar-ms.me/thoughts/a-gentle-introduction-to-z3/
30•y1n0•4d ago•20 comments

Measuring Claude 4.7's tokenizer costs

https://www.claudecodecamp.com/p/i-measured-claude-4-7-s-new-tokenizer-here-s-what-it-costs-you
653•aray07•1d ago•458 comments

All 12 moonwalkers had "lunar hay fever" from dust smelling like gunpowder (2018)

https://www.esa.int/Science_Exploration/Human_and_Robotic_Exploration/The_toxic_side_of_the_Moon
397•cybermango•21h ago•230 comments

Towards trust in Emacs

https://eshelyaron.com/posts/2026-04-15-towards-trust-in-emacs.html
151•eshelyaron•3d ago•21 comments

I’m spending months coding the old way

https://miguelconner.substack.com/p/im-coding-by-hand
273•evakhoury•23h ago•269 comments

The simple geometry behind any road

https://sandboxspirit.com/blog/simple-geometry-of-roads/
88•azhenley•2d ago•9 comments

Brunost: The Nynorsk Programming Language

https://lindbakk.com/blog/introducing-brunost
115•atomfinger•4d ago•57 comments

Are the costs of AI agents also rising exponentially? (2025)

https://www.tobyord.com/writing/hourly-costs-for-ai-agents
267•louiereederson•3d ago•97 comments

Binary Encodings for JSON and Variant

https://jincongho.com/posts/designing-binary-encodings-for-json-and-variant/
12•jincongho•3d ago•1 comments

Show HN: Smol machines – subsecond coldstart, portable virtual machines

https://github.com/smol-machines/smolvm
394•binsquare•22h ago•124 comments

"cat readme.txt" is not safe if you use iTerm2

https://blog.calif.io/p/mad-bugs-even-cat-readmetxt-is-not
254•arkadiyt•21h ago•141 comments

Hyperscalers have already outspent most famous US megaprojects

https://twitter.com/finmoorhouse/status/2044933442236776794
252•nowflux•23h ago•217 comments

A simplified model of Fil-C

https://www.corsix.org/content/simplified-model-of-fil-c
190•aw1621107•18h ago•103 comments

Slop Cop

https://awnist.com/slop-cop
214•ericHosick•1d ago•137 comments

Rewriting Every Syscall in a Linux Binary at Load Time

https://amitlimaye1.substack.com/p/rewriting-every-syscall-in-a-linux
75•riteshnoronha16•4d ago•30 comments

Show HN: PanicLock – Close your MacBook lid disable TouchID –> password unlock

https://github.com/paniclock/paniclock/
224•seanieb•23h ago•100 comments

Middle schooler finds coin from Troy in Berlin

https://www.thehistoryblog.com/archives/75848
256•speckx•1d ago•123 comments

NASA Force

https://nasaforce.gov/
300•LorenDB•1d ago•293 comments

Landmark ancient-genome study shows surprise acceleration of human evolution

https://www.nature.com/articles/d41586-026-01204-5
100•unsuspecting•17h ago•110 comments
Open in hackernews

How async/await works in Python (2021)

https://tenthousandmeters.com/blog/python-behind-the-scenes-12-how-asyncawait-works-in-python/
61•sebg•11mo ago

Comments

quentinp•11mo ago
While it stays at the Python level, https://github.com/AndreLouisCaron/a-tale-of-event-loops really helped me to understand how asyncio and Trio are implemented. I had no idea how sleeps worked before reading that post.
incomingpain•11mo ago
Page didnt load for me.

https://realpython.com/async-io-python/

Multiprocessing all the way!

emmelaich•11mo ago
(2021)

Good article!

punnerud•11mo ago
A more simplified version:

Synchronous code is like a single-lane road where cars (tasks) must travel one after another in perfect sequence. If one car stops for gas (waiting for I/O), every car behind it must stop too. While orderly and predictable, this creates massive traffic jams as tasks wait unnecessarily for others to complete before they can proceed.

Pure asynchronous code (with callbacks) is like dispatching multiple cars onto independent routes with no coordination. Cars move freely without waiting for each other, but they arrive at unpredictable times and following their progress becomes chaotic. It's efficient but creates a complex tangle of paths that becomes hard to maintain.

Async/await combines the best of both approaches with a multi-lane highway system. Cars follow clear, synchronous-looking routes (making code readable), but only wait at strategic "await" exit ramps when truly necessary. When a car needs data, it signals with "await", pulls off the highway temporarily, and other cars continue flowing past. Once its operation completes, it merges back into traffic and continues. This gives you the logical simplicity of synchronous code with the performance benefits of asynchronous execution - cars only wait at crossroads when they must, maximizing throughput while maintaining order.

The genius of async/await is that it lets developers write code that looks sequential while the runtime handles all the complex traffic management under the hood.

explodes•11mo ago
Excellent write up. I appreciate the level of details here showing the history from the days of old, before async/await were even keywords.
bilsbie•11mo ago
How does the GIL come into play here?
punnerud•11mo ago
GIL is like a "red-cap" on the head for the CPU-core running the task, so you would not be able to run true Async without GIL. Have to hand the "red-cap" back, for the next task.

Instead of using a global lock ("red-cap"), Python objects have introduced a specialized reference counting system that distinguishes between "local" references (owned by a single thread) and "shared" references (accessed by multiple threads).

In that way enabling to remove GIL in the long run, now starting with making it optional.