frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Market orientation and national homicide rates

https://onlinelibrary.wiley.com/doi/10.1111/1745-9125.70023
1•PaulHoule•27s ago•0 comments

California urges people avoid wild mushrooms after 4 deaths, 3 liver transplants

https://www.cbsnews.com/news/california-death-cap-mushrooms-poisonings-liver-transplants/
1•rolph•1m ago•0 comments

Matthew Shulman, co-creator of Intellisense, died 2019 March 22

https://www.capenews.net/falmouth/obituaries/matthew-a-shulman/article_33af6330-4f52-5f69-a9ff-58...
1•canucker2016•2m ago•1 comments

Show HN: SuperLocalMemory – AI memory that stays on your machine, forever free

https://github.com/varun369/SuperLocalMemoryV2
1•varunpratap369•3m ago•0 comments

Show HN: Pyrig – One command to set up a production-ready Python project

https://github.com/Winipedia/pyrig
1•Winipedia•5m ago•0 comments

Fast Response or Silence: Conversation Persistence in an AI-Agent Social Network [pdf]

https://github.com/AysajanE/moltbook-persistence/blob/main/paper/main.pdf
1•EagleEdge•5m ago•0 comments

C and C++ dependencies: don't dream it, be it

https://nibblestew.blogspot.com/2026/02/c-and-c-dependencies-dont-dream-it-be-it.html
1•ingve•5m ago•0 comments

Show HN: Vbuckets – Infinite virtual S3 buckets

https://github.com/danthegoodman1/vbuckets
1•dangoodmanUT•6m ago•0 comments

Open Molten Claw: Post-Eval as a Service

https://idiallo.com/blog/open-molten-claw
1•watchful_moose•6m ago•0 comments

New York Budget Bill Mandates File Scans for 3D Printers

https://reclaimthenet.org/new-york-3d-printer-law-mandates-firearm-file-blocking
1•bilsbie•7m ago•0 comments

The End of Software as a Business?

https://www.thatwastheweek.com/p/ai-is-growing-up-its-ceos-arent
1•kteare•8m ago•0 comments

Exploring 1,400 reusable skills for AI coding tools

https://ai-devkit.com/skills/
1•hoangnnguyen•9m ago•0 comments

Show HN: A unique twist on Tetris and block puzzle

https://playdropstack.com/
1•lastodyssey•12m ago•0 comments

The logs I never read

https://pydantic.dev/articles/the-logs-i-never-read
1•nojito•13m ago•0 comments

How to use AI with expressive writing without generating AI slop

https://idratherbewriting.com/blog/bakhtin-collapse-ai-expressive-writing
1•cnunciato•15m ago•0 comments

Show HN: LinkScope – Real-Time UART Analyzer Using ESP32-S3 and PC GUI

https://github.com/choihimchan/linkscope-bpu-uart-analyzer
1•octablock•15m ago•0 comments

Cppsp v1.4.5–custom pattern-driven, nested, namespace-scoped templates

https://github.com/user19870/cppsp
1•user19870•16m ago•1 comments

The next frontier in weight-loss drugs: one-time gene therapy

https://www.washingtonpost.com/health/2026/01/24/fractyl-glp1-gene-therapy/
2•bookofjoe•19m ago•1 comments

At Age 25, Wikipedia Refuses to Evolve

https://spectrum.ieee.org/wikipedia-at-25
1•asdefghyk•22m ago•4 comments

Show HN: ReviewReact – AI review responses inside Google Maps ($19/mo)

https://reviewreact.com
2•sara_builds•22m ago•1 comments

Why AlphaTensor Failed at 3x3 Matrix Multiplication: The Anchor Barrier

https://zenodo.org/records/18514533
1•DarenWatson•23m ago•0 comments

Ask HN: How much of your token use is fixing the bugs Claude Code causes?

1•laurex•27m ago•0 comments

Show HN: Agents – Sync MCP Configs Across Claude, Cursor, Codex Automatically

https://github.com/amtiYo/agents
1•amtiyo•28m ago•0 comments

Hello

2•otrebladih•29m ago•1 comments

FSD helped save my father's life during a heart attack

https://twitter.com/JJackBrandt/status/2019852423980875794
3•blacktulip•32m ago•0 comments

Show HN: Writtte – Draft and publish articles without reformatting, anywhere

https://writtte.xyz
1•lasgawe•34m ago•0 comments

Portuguese icon (FROM A CAN) makes a simple meal (Canned Fish Files) [video]

https://www.youtube.com/watch?v=e9FUdOfp8ME
1•zeristor•35m ago•0 comments

Brookhaven Lab's RHIC Concludes 25-Year Run with Final Collisions

https://www.hpcwire.com/off-the-wire/brookhaven-labs-rhic-concludes-25-year-run-with-final-collis...
4•gnufx•37m ago•0 comments

Transcribe your aunts post cards with Gemini 3 Pro

https://leserli.ch/ocr/
1•nielstron•41m ago•0 comments

.72% Variance Lance

1•mav5431•42m ago•0 comments
Open in hackernews

Io_uring is not an event system (2021)

https://despairlabs.com/blog/posts/2021-06-16-io-uring-is-not-an-event-system/
49•signa11•4mo ago

Comments

PunchyHamster•4mo ago
>io_uring is not an event system at all. io_uring is actually a generic asynchronous syscall facility.

It's not an event system at all! It's an event system!

The type of events being subset of all possible events in system does not make it not events system. Nor it being essentially a queue

ciconia•4mo ago
It's not an event system in the sense that it's not just a way to get notified when a file descriptor is ready for reading or writing. Like the OP says, it is a way to run syscalls asynchronously.
jcelerier•4mo ago
> It's not an event system in the sense that it's not just a way to get notified when a file descriptor is ready for reading or writing.

first time in my life I hear people calling this an event system. For me it's always been any architecture centered around asynchronous message queues.

hxtk•4mo ago
Event-Driven Architecture refers to a different thing, but people used to refer to async code as event-based back before async/await existed, when doing async meant writing the Event Loop yourself.
Sharlin•4mo ago
Yes, but "fd readiness checker" is a super narrow nonstandard definition of "event system". Though I get what the author tries to say.
lordnacho•4mo ago
I thought the main selling point was that you could tell the system "when you finally get this response, run this function on it"
ciconia•4mo ago
There are no callbacks in io_uring. You submit an operation (SQE), the kernel runs your request while you're doing other stuff, eventually you get back a completion entry (CQE) with the results of the operation.
Muromec•4mo ago
Sounds like a callback to me
vlovich123•4mo ago
Saying it’s a callback is equivalent to claiming select is a callback. Receiving an event does not a callback make - providing the function address to invoke would make it a callback.
Veserv•4mo ago
Callback execution is: wait until begin event occurs, then do this operation.

Asynchronous execution is: do this operation, then wait until finish event occurs.

They are opposites.

pyrolistical•4mo ago
There is no callback. The response just shows up on the other ring buffer.

The client decides when to look at the ring buffer

Analemma_•4mo ago
It's not. The NT kernel and some others have genuine callbacks in some of their syscalls, where you pass a userspace function pointer which the kernel invokes on completion; io_uring isn't that and Linux doesn't have anything like that.
signa11•4mo ago
no it is not.
lstodd•4mo ago
The kernel can't "run a function". It can only wake a thread sleeping on a syscall. This is called blocking IO.

The whole point of async is to find a compromise between context switch cost and event buffering and the latency resulting from the latter. It is not about "running a function".

lukeh•4mo ago
io_uring can also use an eventfd to signal you need to check the completion queue. We use this with libdispatch to run a clang block on completion (the block is stored in the user_data). Admittedly this is a very specific use case.
touisteur•4mo ago
There is limited chaining capability in io_uring that can be an actual gamechanger if your chain of ops can be fully in-kernel.

An intern of mine wrote a whole tcp-checkpoint-(pause-ingress-and-egress-and-the-socket-save-all-state-unpause-everything)-and-send-full-state-on-other-socket (which was a dozen or so ops - netlink writes, ioctls, set/getsockopt, read/write calls...) in a chain - all in one command-queue-write IIRC.

Performance was as good as an ad-hoc kernel module, without any ebpf. We just had one kernel patch to handle some unhandled syscall (getsockopt ? Setsockopt ? Ioctl?) (that we sadly didn't upstream... 2 years ago) and we were done. Really a great system for batching syscalls.

It made me wish for a form of DAG for error-handling or for parallel operations in chains...

themafia•4mo ago
> The kernel can't "run a function".

What is a signal handler?

wahern•4mo ago
Yep. Signals were literally the original async model on Unix. They were a userspace abstraction over hardware interrupts, much as they are today, but the abstraction didn't turn out to be as fruitful as it might have been, perhaps because it was too thin. (Signaling queueing, i.e. real-time signals, meant to make signals more useful for application events, never went mainstream.) Back in the 1970s and 1980s the big arguments regarding async were about interrupt-driven (aka signals) and readiness-driven (aka polling), and relatedly edge-triggered vs level-triggered events. BSD added the select syscall along with the sockets API and that's when the readiness-driven, level-triggered model began to dominate. Though, before kqueue and then epoll came along there were some attempts at scaling async I/O using the interrupt-driven model--a signal delivered along with the associated descriptor. I think there's a vestige of this still in Linux, SIGIO.

It's not always either/or, though. From the perspective of userspace APIs it's usually one or the other, but further down the stack one model might be implemented in terms of the other, sometimes with multiple transitions between the two, especially around software/hardware boundaries. Basically, it's turtles all the way down.

Similarly, the debates regarding cancellation, stack management, etc, still persist; the fundamental dilemmas haven't changed.

ThrownOffGame•4mo ago
After decades of gleefully using signal handlers to handle all sorts of contingencies, systems programmers were solemnly informed that signal handler functions were very dangerous indeed, because a bunch of other stuff was on the stack and undefined while they were being run, and therefore, handler functions couldn't call anything that was unsafe or non-reentrant.

Systems programmers were told that the best signal handler function was one that set a flag, a volatile int, and then exited immediately without doing or touching anything else.

Sort of defeats the purpose of the elaborate signal-handler-callback-pointer-to-function system we had in place, but them's the breaks.

lstodd•4mo ago
It's still a context switch per event.

Like other people here wrote nowadays one can push some processing into kernel context, but that sort of defeats the purpose of kernel/userland border. One can just write a kmod and be done with it then (and lose isolation).

kiitos•4mo ago
"event system" is any mechanism where events (readiness, completion, signals, GUI messages) drive control flow, restricting "event system" to descriptor readiness exclusively is the author's personal framing, not exactly common parlance