Top all-time · #5155
The Sequin Blog
Company blog · blog.sequin.ioprogrammingsystems
The Sequin Blog is the company blog at blog.sequin.io, writing about programming and systems. Since 2022, 15 different Hacker News readers have linked it 20 times, most often “All the ways to capture changes in Postgres”. The last post was in 2024, but the archive is still widely read.
Too few sampled comments (7) to say how often HN recommends it.?
Why HN links it
HN readers link Sequin's 'events, not webhooks' post, which commenters call a favourite, along with posts on capturing Postgres changes and webhook ordering. Topics are event delivery and webhook design.
Summarised by Claude from a sample of 7 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Blog posts from the Sequin team. Explore a new frontier in integration.
Most-linked posts?
- All the ways to capture changes in Postgres4 people · 4 mentions · first linked 2023-09-20
- /events-not-webhooks/3 people · 3 mentions · first linked 2022-08-03
- Give me /events, not webhooks3 people · 3 mentions · first linked 2022-01-07
- GenServer.reply: Don't Call Us, We'll Call You2 people · 2 mentions · first linked 2023-08-01
- LiveView Is Best with Svelte2 people · 2 mentions · first linked 2024-04-01
What Hacker News says?
This is one of my favorite articles along these lines: https://blog.sequin.io/events-not-webhooks/
Comment linking /events-not-webhooks/
on “WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport”Submitted LiveView Is Best with Svelte as a story · 295 points
HN discussionAs this page makes very clear, it's actually pretty hard to make a robust webhooks implementation! What alternatives are there? I've looked at: * Publishing AWS EventBridge events to other accounts. * /events instead of webhooks https://blog.sequin.io/events-not-webhooks/ * ???
Comment linking /events-not-webhooks/
on “Collection of best practices for providing and consuming webhooks”Submitted Give me /events, not webhooks as a story · 153 points
HN discussionIf you run out of things to do... https://blog.sequin.io/events-not-webhooks PS: Well done!
Comment linking /events-not-webhooks
on “Show HN: The Brutalist Report – A rolling snapshot of the day’s headlines”Submitted We used Elixir's Observer to hunt down bottlenecks as a story · 152 points
HN discussionThe solution to receiving webhooks in unknown order is to ignore the payload and refetch the resource. Yet naively implemented, this still leaves race conditions on the recipient end: if two webhooks can come in at once, you have to make sure you process them serially, since your refetch or database write could complete in arbitrary order. That's non-trivial engineering to foist upon every recipient of your webhooks…
Comment linking /events-not-webhooks/
on “You Can't Guarantee Webhook Ordering”Submitted NATS: First Impressions as a story · 24 points
HN discussionNeat, this is the pattern I've been thinking about for a while now. Also glad to see this is Elixir based and that Jose is involved. I've been using https://github.com/cpursley/walex (basically a fork of cainophile via a fork for subabase) to listen to Postgres changes in Elixir. Sequin is also doing some neat stuff in this space as well: https://blog.sequin.io/all-the-ways-to-capture-changes-in-po...
Comment linking /all-the-ways-to-capture-changes-in-postgres/
on “Show HN: ElectricSQL, Postgres to SQLite active-active sync for local-first apps”Submitted LiveView Is Best with Svelte as a story · 7 points
HN discussionThis is an article on the subject I really enjoyed recently: https://blog.sequin.io/events-not-webhooks
Comment linking /events-not-webhooks
on “Ask HN: What Comes After Webhooks?”Submitted All the ways to capture changes in Postgres as a story · 7 points
HN discussionJust to add to sibling comments, one killer feature for me is ChangeStreams[1]. It's miles ahead of what Postgres[2] offers, and it enables really interesting use cases. Some of my services built around ChangeStreams end up not doing a single query to the DB. Data is right there in the program memory, indexed how I need it to be, and program is immediately reactive to any changes in the DB. [1] https://www.mongodb.c…
Comment linking /all-the-ways-to-capture-changes-in-postgres/
on “MongoDB’s New Query Engine”Submitted Make it easy to find out what's changed in your API as a story · 3 points
HN discussionSubmitted Design patterns for extracting from REST APIs as a story · 2 points
HN discussionSubmitted All the ways to capture changes in Postgres as a story · 1 points
HN discussionSubmitted GenServer.reply: Don't Call Us, We'll Call You as a story · 1 points
HN discussionSubmitted GenServer.reply: Don't Call Us, We'll Call You as a story · 1 points
HN discussionSubmitted Exploring Elixir's Break Menu as a story · 1 points
HN discussionSubmitted Building a sync on HubSpot's API as a story · 1 points
HN discussion