Hacker Newsnew | past | comments | ask | show | jobs | submit | clemlesne's commentslogin

NATS is a fantastic piece of software. But doc’s unpractical and half backed. That’s a shame to be required to retro engineer the software from GitHub to know the auth schemes.


[flagged]


"PostgreSQL used fsync incorrectly for 20 years"

https://archive.fosdem.org/2019/schedule/event/postgresql_fs...

It did not prevent people from using it. You won't find a database that has the perfect durability, ease of use, performance ect.. It's all about tradeoffs.


Realistically speaking, postgresql wasn’t handling a failed call to fsync, which is wrong: but materially different from a bad design or errors in logic stemming from many areas.

Postgresql was able to fix their bug in 3 lines of code, how many for the parent system?

I understand your core thesis (sometimes durability guarantees aren’t as needed as we think) but in postgresql’s case, the edge was incredibly thin. It would have had to have been: a failed call to fsync and a system level failure of the host before another call to fsync (which are reasonably common).

It’s far too apples to oranges to be meaningful to bring up I am afraid.


NATS allows you to fsync every calls, it's not just the default value.


NATS was originally made for simple, fast, ephemeral messaging.

The persistence stuff is kinda new and it's not a surprise that there are limitations and bugs.

You should see this report as a good thing, as it will add pressure for improvements.


> The persistence stuff is kinda new and it's not a surprise that there are limitations and bugs.

It's not really that new. The precursor to JetStream was NATS Streaming Server [1], which was first tagged almost 10 years ago [2].

[1] https://github.com/nats-io/nats-streaming-server

[2] https://github.com/nats-io/nats-streaming-server/releases/ta...


do you have a better solution?

as they would say, NATS is a terrible message bus system, but all the others are worse


Pulsar can do most of what NATS can, but at a much higher cost in both compute and operations (though I haven’t seen a head-to-head of each with durability turned on), along with some simply different characteristics (like NATS being suitable for sidecar deployment). NATS is fantastic for ephemeral messaging, but some of this report is really concerning when JetStream has been shipping for years.


Are RabbitMQ's durable queues worse?


Interested to know if you found these issues yourself or from a source. Is Kafka any more robust?



This is just a tl;dr of the article with a mean-spirited barb added.


NATS is ephemeral. if you can accept that, then you'll be fine.


Project creator there. The biggest challenge in marketing this project to potential customers is not the fact that it does not work well, but the unions and human problems. It really marked me.


Funny because I written them myself at the time. Last year they were no really useful AI like CC!


Indeed. I’m the project creator. That’s standard legal notice we must add to these kind of “large” repos. If not a dev team should maintain it full time with security incidents response managed within a SLA, which is not the case there. The same project is working in production for a few customers.


Is there an English demo?


Probably related to AWS outage. Are they infra not reliable enough? Do you think this kind of critical communication service should be deployed cross-provider?


I built this after getting frustrated switching between AI platforms and losing conversation context. It analyzes your ChatGPT/Claude exports and creates markdown files with comprehensive context that you can paste into any AI to continue exactly where you left off.

Key features: - Extracts your actual implementation status vs what was just discussed - Tracks decision journeys and what you've already ruled out - Groups ChatGPT Project conversations into organized folders - Smart caching saves API calls on re-runs (100% cache hit rate after first run) - Works with any AI - paste the context into ChatGPT, Claude, Gemini, etc.

The context extraction goes way beyond simple summaries. It identifies critical unknowns, user expertise level, what's blocking you, and provides specific continuation advice for the next AI.

Perfect for when you want to switch from ChatGPT to Claude mid-project, or resume an old conversation months later with full context intact.

Built with Python + Claude API, requires your conversation exports from ChatGPT/Claude settings.


Feedbacks? Can share the prompt.


How do I consume it?

Well, like a standard OpenAI API. That's literally the point!


Enjoy


Wanted to ease the maintenance process for Azure DevOps maintainers and give best practices for delivering reliable software.

Eager for feedbacks!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: