frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Uv is the best thing to happen to the Python ecosystem in a decade

https://emily.space/posts/251023-uv
1409•todsacerdoti•11h ago•770 comments

Tell HN: Azure outage

708•tartieret•14h ago•661 comments

Minecraft removing obfuscation in Java Edition

https://www.minecraft.net/en-us/article/removing-obfuscation-in-java-edition
648•SteveHawk27•13h ago•236 comments

IRCd service (2024)

https://example.fi/blog/ircd.html
48•pabs3•3h ago•11 comments

China has added forest the size of Texas since 1990

https://e360.yale.edu/digest/china-new-forest-report
456•Brajeshwar•1d ago•350 comments

How ancient people saw themselves

https://worldhistory.substack.com/p/how-ancient-people-saw-themselves
43•crescit_eundo•3d ago•8 comments

Raspberry Pi Pico Bit-Bangs 100 Mbit/S Ethernet

https://www.elektormagazine.com/news/rp2350-bit-bangs-100-mbit-ethernet
110•chaosprint•6h ago•33 comments

Hello-World iOS App in Assembly

https://gist.github.com/nicolas17/966a03ce49f949dd17b0123415ef2e31
35•pabs3•3h ago•7 comments

Dithering – Part 1

https://visualrambling.space/dithering-part-1/
264•Bogdanp•11h ago•60 comments

OS/2 Warp, PowerPC Edition (2011)

https://www.os2museum.com/wp/os2-history/os2-warp-powerpc-edition/
45•TMWNN•6h ago•24 comments

Kafka is Fast – I'll use Postgres

https://topicpartition.io/blog/postgres-pubsub-queue-benchmarks
356•enether•16h ago•258 comments

AOL to be sold to Bending Spoons for $1.5B

https://www.axios.com/2025/10/29/aol-bending-spoons-deal
219•jmsflknr•13h ago•184 comments

Tailscale Peer Relays

https://tailscale.com/blog/peer-relays-beta
282•seemaze•13h ago•82 comments

Board: New game console recognizes physical pieces, with an open SDK

https://board.fun/
173•nicoles•1d ago•70 comments

One year with Next.js App Router and why we're moving on

https://paperclover.net/blog/webdev/one-year-next-app-router
31•nnx•3h ago•17 comments

Baker – Language-agnostic project scaffolder with hooks (Rust)

https://github.com/aliev/baker
6•aliev•4d ago•0 comments

OpenAI’s promise to stay in California helped clear the path for its IPO

https://www.wsj.com/tech/ai/openais-promise-to-stay-in-california-helped-clear-the-path-for-its-i...
177•badprobe•12h ago•235 comments

GLP-1 therapeutics: Their emerging role in alcohol and substance use disorders

https://academic.oup.com/jes/article/9/11/bvaf141/8277723?login=false
177•PaulHoule•2d ago•83 comments

How the U.S. National Science Foundation enabled Software-Defined Networking

https://cacm.acm.org/federal-funding-of-academic-research/how-the-u-s-national-science-foundation...
72•zdw•8h ago•19 comments

The Internet runs on free and open source software and so does the DNS

https://www.icann.org/en/blogs/details/the-internet-runs-on-free-and-open-source-softwareand-so-d...
131•ChrisArchitect•11h ago•11 comments

Why imperfection could be key to Turing patterns in nature

https://arstechnica.com/science/2025/10/why-imperfection-could-be-key-to-turing-patterns-in-nature/
9•furcyd•2d ago•0 comments

Keep Android Open

http://keepandroidopen.org/
2383•LorenDB•1d ago•757 comments

Carlo Rovelli’s radical perspective on reality

https://www.quantamagazine.org/carlo-rovellis-radical-perspective-on-reality-20251029/
12•vismit2000•1h ago•7 comments

A century of reforestation helped keep the eastern US cool (2024)

https://news.agu.org/press-release/a-century-of-reforestation-helped-keep-the-eastern-us-cool/
110•softwaredoug•6h ago•14 comments

More than DNS: Learnings from the 14 hour AWS outage

https://thundergolfer.com/blog/aws-us-east-1-outage-oct20
98•birdculture•2d ago•26 comments

Crunchyroll is destroying its subtitles

https://daiz.moe/crunchyroll-is-destroying-its-subtitles-for-no-good-reason/
242•Daiz•6h ago•80 comments

How to Obsessively Tune WezTerm

https://rashil2000.me/blogs/tune-wezterm
86•todsacerdoti•10h ago•50 comments

Eye prosthesis is the first to restore sight lost to macular degeneration

https://med.stanford.edu/news/all-news/2025/10/eye-prosthesis.html
207•gmays•1w ago•15 comments

Extropic is building thermodynamic computing hardware

https://extropic.ai/
113•vyrotek•11h ago•80 comments

Composer: Building a fast frontier model with RL

https://cursor.com/blog/composer
185•leerob•14h ago•138 comments
Open in hackernews

Zig's New Async I/O [video]

https://www.youtube.com/watch?v=mdOxIc0HM04
61•todsacerdoti•17h ago

Comments

sanity•12h ago
Andrew Kelley is one of my all-time favorite technical speakers, and zig is packed full of great ideas. He also seems to be a great model of an open source project leader.
ancarda•11h ago
I really hope this is going to be entirely optional, but I know realistically it just won't be. If Rust is any example, a language that has optional async support, async will permeate into the whole ecosystem. That's to be expected with colored functions. The stdlib isn't too bad but last time I checked a lot of crates.io is filled with async functions for stuff that doesn't actually block.

Async clearly works for many people, I do fully understand people who can't get their heads around threads and prefer async. It's wonderful that there's a pattern people can use to be productive!

For whatever reason, async just doesn't work for me. I don't feel comfortable using it and at this point I've been trying on and off for probably 10+ years now. Maybe it's never going to happen. I'm much more comfortable with threads, mutex locks, channels, Erlang style concurrency, nurseries -- literally ANYTHING but async. All of those are very understandable to me and I've built production systems with all of those.

I hope when Zig reaches 1.0 I'll be able to use it. I started learning it earlier this month and it's been really enjoyable to use.

eddd-ddde•11h ago
> I do fully understand people who can't get their heads around threads and prefer async.

Those are independent of each other. You can have async with and without threads. You can have threads with and without async.

rowanG077•6h ago
Yeah, it always mystifies me when people talking about async vs threads when they are completely orthogonal concepts. It doesn't give me the feeling they understand what they are talking about.
speed_spread•11h ago
I agree, async is way more popular than it should be. At least (AFAIU) Zig doesn't color functions so there won't be a big ecosystem rift between blocking and async libraries.
flohofwoe•11h ago
> I'm much more comfortable with threads

The example code shown in the first few minutes of the video is actually using regular OS threads for running the async code ;)

The whole thing is quite similar to the Zig allocator philosophy. Just like an application already picks a root allocator to pass down into libraries, it now also picks an IO implementation and passes it down. A library in turn doesn't care about how async is implemented by the IO system, it just calls into the IO implementation it got handed from the application.

hugs•10h ago
same. i don't like async. i don't like having to prepend "await" to every line of code. instead, lately (in js), i've been playing more with worker threads, message passing, and the "atomics" api. i get the benefits of concurrency without the extra async/await-everywhere baggage.
iknowstuff•10h ago
lol it’s just a very different tradeoff. Especially in js those approaches are far more of a “baggage” than async/await
hugs•8h ago
probably, but i'm petty like that. i just really don't like async/await. i'm looking forward to eventually being punished for that opinion!
01HNNWZ0MV43FF•10h ago
I understand threads but I like using async for certain things.

If I had a web service using threads, would I map each request to one thread in a thread pool? It seems like a waste of OS resources when the IO multiplexing can be done without OS threads.

> last time I checked a lot of crates.io is filled with async functions for stuff that doesn't actually block.

Like what? Even file I/O blocks for large files on slow devices, so something like async tarball handling has a use case.

It's best to write in the sans-IO style and then your threading or async can be a thin layer on top that drives a dumb state machine. But in practice I find that passable sans-IO code is harder to write than passable async. It makes a lot of sense for a deep indirect dependency like an HTTP library, but less sense for an app

tomck•10h ago
> I do fully understand people who can't get their heads around threads and prefer async

This is a bizarre remark

Async/await isn't "for when you can't get your head around threads", it's a completely orthogonal concept

Case in point: javascript has async/await, but everything is singlethreaded, there is no parallelism

Async/await is basically just coroutines/generators underneath.

Phrasing async as 'for people who can't get their heads around threads' makes it sound like you're just insecure that you never learned how async works yet, and instead of just sitting down + learning it you would rather compensate

Async is probably a more complex model than threads/fibers for expressing concurrency. It's fine to say that, it's fine to not have learned it if that works for you, but it's silly to put one above the other as if understanding threads makes async/await irrelevant

> The stdlib isn't too bad but last time I checked a lot of crates.io is filled with async functions for stuff that doesn't actually block

Can you provide an example? I haven't found that to be the case last time I used rust, but I don't use rust a great deal anymore

vjerancrnjak•10h ago
It's more about how the code ends up evolving.

Async-await in JS is sometimes used to swallow exceptions. It's very often used to do 1 thing at a time when N things could be done instead. It serializes the execution a lot when it could be concurrent.

    if (await is_something_true()) {
      // here is_something_true() can be false
    }
And above, the most common mistake.

Similar side-effects happen in other languages that have async-await sugar.

It smells as bad as the Zig file interface with intermediate buffers reading/writing to OS buffers until everything is a buffer 10 steps below.

It's fun for small programs but you really have to be very strict to not have it go wrong (performance, correctness).

tomck•8h ago
I think you replied to the wrong person.

That being said, I don't understand your `is_something_true` example.

> It's very often used to do 1 thing at a time when N things could be done instead

That's true, but I don't think e.g. fibres fare any better here. I would say that expressing that type of parallel execution is much more convenient with async/await and Promise.all() or whatever alternative, compared to e.g. raw promises or fibres.

ksec•8h ago
>Case in point: javascript has async/await, but everything is singlethreaded, there is no parallelism, Async/await is basically just coroutines/generators underneath.

May be I just wish Zig dont call it async and use a different name.

duped•9h ago
It sounds like your trouble with async is mistaking concurrency for parallelism.
Maxatar•8h ago
Weird claim since threads were originally introduced as a concurrency primitive, basically a way to make user facing programs more responsive while sharing the same address space and CPU.

The idea of generalizing threads for use in parallel computing/SMP didn't come until at least a decade after the introduction of threads for use as a concurrency tool.

metaltyphoon•4h ago
> Weird claim since threads were originally introduced as a concurrency primitive

Wasn't this only true when CPUs were single core only? Only when multi core CPUs came, true parallelism could happen (outside of using multiple CPUs)

audunw•8h ago
You don’t have to hope. Avoiding function colours and being able to write libraries that are agnostic to whether the IO is async or not is one of the top priorities of this new IO implementation.

If you don’t want to use async/await just don’t call functions through io.async.

pkulak•5h ago
> can't get their heads around threads and prefer async

Wow. Do you expect anyone to continue reading after a comment like that?

gethly•11h ago
I almost fell out of my chair at 22:06 from laughter :D
synergy20•11h ago
have not played with zig for a while, remain in the C world.

with the cleanup attribute(a cheap "defer" for C), and the sanitizers, static analysis tools, memory tagging extension(MTE) for memory safety at hardware level, etc, and a zig 1.0 still probably years away, what's the strong selling point that I need spend time with zig these days? Asking because I'm unsure if I should re-try it.

flohofwoe•10h ago
My 2ct: A much more useful stdlib (that's also currently the most unstable part though, and I don't agree with all the design decisions in the stdlib - but mostly still better than a nearly useless stdlib like C provides - and don't even get me started about the C++ stdlib heh), integrated build system and package manager (even great for pure C/C++ projects), and comptime with all the things it enables (like straightforward reflection and generics).

It also fixes a shitton of tiny design warts that we've become accustomed to in C (also very slowly happening in the C standard, but that will take decades while Zig has those fixes now).

Also, probably the best integration with C code you can get outside of C++. E.g. hybrid C/Zig projects is a regular use case and has close to no friction.

C won't go away for me, but tinkering with Zig is just more fun :)

cassepipe•3h ago
Could you expand on what are the design decisions you disapprove of ? You got me curious
AndyKelley•10h ago
text version: https://andrewkelley.me/post/zig-new-async-io-text-version.h...
pragmatic•4h ago
https://andrewkelley.me/post/zig-new-async-io-text-version.h...

Text version.

The desynced video makes the video a bit painful to watch.