I'm also building a network server with thread-per-core and io_uring, except it's a web server, it's written in Rust, and io_uring is provided by a fork of Monoio runtime (I forked it to make it work with Windows and FreeBSD).
Unusual tones all around in the thread here. My initial observations before reading the comments here:
* "wow, OSS projects are starting to have some pretty wild landing pages, guess it's not just AI logos at the top of the README anymore"
* "wow, all in one commit. was it vibe-one-shotted, curated private work that was squashed, or something in between"
* "wow, Zig is kind easy to read although I really don't want to learn another language in 2026 although I already started learning some to use libghostty"
* "wow, is Zig really this much performant than Golang at the tails"
* "weird it uses Bazel, doesn't Zig have it's own build system like Golang"
* "so who is the author? I see they made an GitHub org for this. Are they going to keep doing stuff after the commit and should I keep this in my messaging queue neurons? Is this some company or person I should follow"
* "the README has a misalignment, do I PR that?"
* "oh cool, it lets you tune memory and the dispatcher"
---
I never thought of exactly how it manifested, except about the single commit. I have started "vibe coding" much more as the capabilities really improved in the last few months, so that isn't intrinsically a trash approach.
But the "who" and the "how" and the "why" do matter, in terms of whether one should look at it for education or infotainment or as a potential tool.
Disclosure of the intention and method would be courteous to the community when we create and share these things. Otherwise we'll all have high cognitive burden with the amount of projects we'll be seeing in 2026!
That’s fair, I should have framed it more clearly upfront. Thanks for the feedback.
I was excited about the results. The intent was to talk about performance and architecture, not to imply this was a quick or effortless project. There’s been a lot of iteration and experimentation behind it, and I should have communicated that context better as well as the use of AI for the help.
Upvote for Bazel. I think these days I place a lot more value on how well an ecosystem slots into Bazel/friends because monorepos are increasingly more useful and relevant.
So nice to see there are good rules for Zig and that folks are using them.
Also ironically I think starting with Bazel/Buck/whatever your poison of choice is almost always a good move even if people tell you it's overkill. The easiest time to do it as at the beginning, all times after that is too hard and the marginal cost of building with it from the start is minimal.
> I am assuming the message durability guarantees lean towards YOLO rather than ACID?
"Core" nats doesn't have durability. Nats jetstream is the api built on top of nats that in the main nats-server impl provides durability. Jepsen tested Nats Jetstream.
Also from your link:
> Regular NATS streams offer only best-effort delivery, but a subsystem, called JetStream, guarantees messages are delivered at least once.
The project linked here does not implement the nats jetstream api, just normal nats.
So yes, it seems its same (documented, understood) "yolo" as normal nats.
Putting aside the whole presenting slop-coded things as cromulent projects, is anyone else tired of this constant myopic focus on performance? I don't need a message queue that can "saturate the bandwidth of the next generation of hardware". Rather I want middleware that is easy to use - simple to set up (not hundreds of configuration knobs for optimizing performance), reliable (can run clustered on a few instances on its own, not using k666s or anything, and handle instances going away for a few weeks if one dies or I'm reconfiguring things), has good semantics that won't encourage Heisenbugs down the line (eg look at MQTT's actual semantics versus how it's incorrectly used by Home Assistant generic MQTT endpoints), and so on. I get that there's no surveillance industry money backing projects aimed at individual users, but it's still pretty sad that individuals creating projects in their spare time are still focusing on features desired by the surveillance industry.
Oh god no. Just having fun with zig and being a little over enthusiast I guess. I'm a big fan of nats, and really wanted to see how far you can push the idea if you do it differently. I was not expecting that tbh but, hpn too!
maxpert|2 months ago
- Where did you get the machine to test your server on?
- Why did you end up going with zig?
simlevesque|2 months ago
jbaptiste|2 months ago
dorianniemiec|2 months ago
spicypixel|2 months ago
One day Claude will do it correctly but today is not that day.
neomantra|2 months ago
* "wow, OSS projects are starting to have some pretty wild landing pages, guess it's not just AI logos at the top of the README anymore"
* "wow, all in one commit. was it vibe-one-shotted, curated private work that was squashed, or something in between"
* "wow, Zig is kind easy to read although I really don't want to learn another language in 2026 although I already started learning some to use libghostty"
* "wow, is Zig really this much performant than Golang at the tails"
* "weird it uses Bazel, doesn't Zig have it's own build system like Golang"
* "so who is the author? I see they made an GitHub org for this. Are they going to keep doing stuff after the commit and should I keep this in my messaging queue neurons? Is this some company or person I should follow"
* "the README has a misalignment, do I PR that?"
* "oh cool, it lets you tune memory and the dispatcher"
---
I never thought of exactly how it manifested, except about the single commit. I have started "vibe coding" much more as the capabilities really improved in the last few months, so that isn't intrinsically a trash approach.
But the "who" and the "how" and the "why" do matter, in terms of whether one should look at it for education or infotainment or as a potential tool.
Disclosure of the intention and method would be courteous to the community when we create and share these things. Otherwise we'll all have high cognitive burden with the amount of projects we'll be seeing in 2026!
jbaptiste|2 months ago
I was excited about the results. The intent was to talk about performance and architecture, not to imply this was a quick or effortless project. There’s been a lot of iteration and experimentation behind it, and I should have communicated that context better as well as the use of AI for the help.
koakuma-chan|1 month ago
ngrilly|2 months ago
ahoka|2 months ago
phplovesong|1 month ago
[deleted]
jpgvm|2 months ago
So nice to see there are good rules for Zig and that folks are using them.
Also ironically I think starting with Bazel/Buck/whatever your poison of choice is almost always a good move even if people tell you it's overkill. The easiest time to do it as at the beginning, all times after that is too hard and the marginal cost of building with it from the start is minimal.
carverauto|2 months ago
owyn|2 months ago
snehesht|1 month ago
smarx007|1 month ago
codys|1 month ago
"Core" nats doesn't have durability. Nats jetstream is the api built on top of nats that in the main nats-server impl provides durability. Jepsen tested Nats Jetstream.
Also from your link:
> Regular NATS streams offer only best-effort delivery, but a subsystem, called JetStream, guarantees messages are delivered at least once.
The project linked here does not implement the nats jetstream api, just normal nats.
So yes, it seems its same (documented, understood) "yolo" as normal nats.
samgranieri|1 month ago
I paired with Claude and simply added nats.c to the zig buildup system for my zig project at work. It works like a charm.
BiteCode_dev|2 months ago
jbaptiste|2 months ago
mindslight|1 month ago
hhhhhggg|1 month ago
PaywallBuster|2 months ago
mertleee|2 months ago
[deleted]
phplovesong|2 months ago
[deleted]
littlestymaar|1 month ago
steeve|2 months ago
[deleted]
littlestymaar|2 months ago
[deleted]
jbaptiste|2 months ago
steeve|2 months ago
you need to touch grass