<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: abelanger</title><link>https://news.ycombinator.com/user?id=abelanger</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 09 Sep 2026 10:29:06 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=abelanger" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by abelanger in "Bufo pulls the andon cord"]]></title><description><![CDATA[
<p>Whoops sorry, I'll need to size this down but: <a href="https://gist.github.com/abelanger5/c513ef259b1b03fe2e5a27b963dd3057" rel="nofollow">https://gist.github.com/abelanger5/c513ef259b1b03fe2e5a27b96...</a><p>Going to create a PR into <a href="https://github.com/knobiknows/all-the-bufo" rel="nofollow">https://github.com/knobiknows/all-the-bufo</a> later today.</p>
]]></description><pubDate>Thu, 20 Aug 2026 14:52:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49375474</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49375474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49375474</guid></item><item><title><![CDATA[Bufo pulls the andon cord]]></title><description><![CDATA[
<p>Article URL: <a href="https://hatchet.run/blog/andon-cord">https://hatchet.run/blog/andon-cord</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49332754">https://news.ycombinator.com/item?id=49332754</a></p>
<p>Points: 16</p>
<p># Comments: 2</p>
]]></description><pubDate>Mon, 17 Aug 2026 15:36:27 +0000</pubDate><link>https://hatchet.run/blog/andon-cord</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49332754</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49332754</guid></item><item><title><![CDATA[New comment by abelanger in "Incident with Github.com"]]></title><description><![CDATA[
<p>If you really need to merge and deploy, I've been having some luck getting things moving with the gh cli:<p><pre><code>    gh pr review <xx> --approve
    gh pr merge <xx> --squash --delete-branch
</code></pre>
Might not help your deploy process if webhooks are degrading, but at least it can keep your remote in sync with local changes, if you need to deploy from local.</p>
]]></description><pubDate>Mon, 17 Aug 2026 15:12:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49332373</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49332373</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49332373</guid></item><item><title><![CDATA[New comment by abelanger in "Clues by Sam"]]></title><description><![CDATA[
<p>My wife and I have been playing this game every day for the past few weeks or so. Some of the daily levels are incredibly satisfying.<p>We have very different ways of approaching the harder problems; some of the clues are easier for someone with a formal CS/engineering background, but others just require a better memory of the different constraints, and she's much better at building a tagging system around those constraints.<p>Previously launched here: <a href="https://news.ycombinator.com/item?id=43923843">https://news.ycombinator.com/item?id=43923843</a></p>
]]></description><pubDate>Sun, 16 Aug 2026 13:23:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=49319829</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49319829</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49319829</guid></item><item><title><![CDATA[Clues by Sam]]></title><description><![CDATA[
<p>Article URL: <a href="https://cluesbysam.com/">https://cluesbysam.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49319773">https://news.ycombinator.com/item?id=49319773</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Sun, 16 Aug 2026 13:16:04 +0000</pubDate><link>https://cluesbysam.com/</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49319773</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49319773</guid></item><item><title><![CDATA[Does anyone run Postgres without PgBouncer?]]></title><description><![CDATA[
<p>Article URL: <a href="https://brandur.org/fragments/postgres-without-pgbouncer">https://brandur.org/fragments/postgres-without-pgbouncer</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49277952">https://news.ycombinator.com/item?id=49277952</a></p>
<p>Points: 165</p>
<p># Comments: 113</p>
]]></description><pubDate>Wed, 12 Aug 2026 20:13:06 +0000</pubDate><link>https://brandur.org/fragments/postgres-without-pgbouncer</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49277952</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49277952</guid></item><item><title><![CDATA[Am I the problem? Interviewing another team to find out]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.macchaffee.com/blog/2026/am-i-the-problem/">https://www.macchaffee.com/blog/2026/am-i-the-problem/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49266856">https://news.ycombinator.com/item?id=49266856</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 12 Aug 2026 01:36:05 +0000</pubDate><link>https://www.macchaffee.com/blog/2026/am-i-the-problem/</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49266856</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49266856</guid></item><item><title><![CDATA[Why tech companies are bad (2019)]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.alexcrompton.com/blog/why-tech-companies-are-bad">https://www.alexcrompton.com/blog/why-tech-companies-are-bad</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49247284">https://news.ycombinator.com/item?id=49247284</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 10 Aug 2026 17:57:53 +0000</pubDate><link>https://www.alexcrompton.com/blog/why-tech-companies-are-bad</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49247284</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49247284</guid></item><item><title><![CDATA[Concurrency vs. Throughput: why more parallelism can make databases slower]]></title><description><![CDATA[
<p>Article URL: <a href="https://planetscale.com/blog/concurrency-vs-throughput-vitess-mysql">https://planetscale.com/blog/concurrency-vs-throughput-vitess-mysql</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49214499">https://news.ycombinator.com/item?id=49214499</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 07 Aug 2026 18:28:13 +0000</pubDate><link>https://planetscale.com/blog/concurrency-vs-throughput-vitess-mysql</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49214499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49214499</guid></item><item><title><![CDATA[Coding agents supercharge Murphy's Law]]></title><description><![CDATA[
<p>Article URL: <a href="https://hatchet.run/blog/murphys-law">https://hatchet.run/blog/murphys-law</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49212253">https://news.ycombinator.com/item?id=49212253</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 07 Aug 2026 15:45:56 +0000</pubDate><link>https://hatchet.run/blog/murphys-law</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49212253</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49212253</guid></item><item><title><![CDATA[New comment by abelanger in "Ask HN: Who is hiring? (August 2026)"]]></title><description><![CDATA[
<p>Hatchet | Product Engineer | NYC or SF or REMOTE (US and EU) | <a href="https://hatchet.run">https://hatchet.run</a><p>Hey HN! I'm Alexander, one of the founders of Hatchet. Hatchet is an open-source platform for running background jobs at scale.<p>We're hiring product engineers who are excited to build the next class of engineering primitives, starting with queues, background tasks and durable execution. We started in early 2024 after launching our distributed task queue (<a href="https://news.ycombinator.com/item?id=39643136">https://news.ycombinator.com/item?id=39643136</a>).<p>Hatchet is currently used by thousands of engineers for all kinds of workloads: log ingestion pipelines, code review agents, video encoding, GPU scheduling, etc. Our target customer is fast-growing startups who have a strong need for background jobs system. These days, that tends to be AI companies, though we're general-purpose and not exclusively targeted for AI workloads.<p>Stack: Postgres, Go, Typescript, React, Kubernetes<p>Applying: I'm trying something different this time. `ssh hatchet-jobs.com`<p>Note that we're fully open-source, which you can check out here: <a href="https://github.com/hatchet-dev/hatchet" rel="nofollow">https://github.com/hatchet-dev/hatchet</a> (and if you have thoughts / opinions / questions about the codebase, please include those in your note!)</p>
]]></description><pubDate>Mon, 03 Aug 2026 22:00:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=49162047</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49162047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49162047</guid></item><item><title><![CDATA[Implementing PaxosLease in Python with HTTP Flask]]></title><description><![CDATA[
<p>Article URL: <a href="https://bytepawn.com/paxoslease-python.html">https://bytepawn.com/paxoslease-python.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49127314">https://news.ycombinator.com/item?id=49127314</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 31 Jul 2026 19:04:30 +0000</pubDate><link>https://bytepawn.com/paxoslease-python.html</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49127314</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49127314</guid></item><item><title><![CDATA[A Treatise on Restaurant Design]]></title><description><![CDATA[
<p>Article URL: <a href="https://substack.com/@haterade/p-196473733">https://substack.com/@haterade/p-196473733</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49114325">https://news.ycombinator.com/item?id=49114325</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 30 Jul 2026 19:11:04 +0000</pubDate><link>https://substack.com/@haterade/p-196473733</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49114325</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49114325</guid></item><item><title><![CDATA[Building Online Communities]]></title><description><![CDATA[
<p>Article URL: <a href="http://hintjens.com/blog:117">http://hintjens.com/blog:117</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49100116">https://news.ycombinator.com/item?id=49100116</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 29 Jul 2026 17:05:12 +0000</pubDate><link>http://hintjens.com/blog:117</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49100116</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49100116</guid></item><item><title><![CDATA[The First Idempotency Key]]></title><description><![CDATA[
<p>Article URL: <a href="https://hatchet.run/blog/first-idempotency-key">https://hatchet.run/blog/first-idempotency-key</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49083207">https://news.ycombinator.com/item?id=49083207</a></p>
<p>Points: 36</p>
<p># Comments: 9</p>
]]></description><pubDate>Tue, 28 Jul 2026 13:04:51 +0000</pubDate><link>https://hatchet.run/blog/first-idempotency-key</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49083207</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49083207</guid></item><item><title><![CDATA[New comment by abelanger in "The startup's Postgres survival guide"]]></title><description><![CDATA[
<p>> I do wish the guide was expanded a bit with lots of specific examples and details... a lot of it is hand-wavy blurbs.<p>I appreciate the feedback; I'm usually someone who tends to go into way too much detail, so this was difficult to write - I tried to focus on the "mental model" of understanding Postgres rather than very nuanced specifics. I tried to link out to my favorite articles on a number of subjects, and the Postgres manual is quite good.<p>Some external links from the article:<p>- <a href="https://www.digitalocean.com/community/tutorials/database-normalization" rel="nofollow">https://www.digitalocean.com/community/tutorials/database-no...</a><p>- <a href="https://www.cybertec-postgresql.com/en/benefits-of-a-descending-index" rel="nofollow">https://www.cybertec-postgresql.com/en/benefits-of-a-descend...</a><p>- <a href="https://martinfowler.com/bliki/ParallelChange.html" rel="nofollow">https://martinfowler.com/bliki/ParallelChange.html</a><p>- <a href="https://www.cybertec-postgresql.com/en/tuning-autovacuum-postgresql/" rel="nofollow">https://www.cybertec-postgresql.com/en/tuning-autovacuum-pos...</a><p>Some internal links on where I've gone into our own use-cases in more detail:<p>- <a href="https://hatchet.run/blog/multi-tenant-queues">https://hatchet.run/blog/multi-tenant-queues</a> (PG-backed queues)<p>- <a href="https://hatchet.run/blog/postgres-partitioning">https://hatchet.run/blog/postgres-partitioning</a> (PG partitioning)<p>(edit: formatting)</p>
]]></description><pubDate>Wed, 22 Jul 2026 16:20:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=49009215</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49009215</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49009215</guid></item><item><title><![CDATA[New comment by abelanger in "The startup's Postgres survival guide"]]></title><description><![CDATA[
<p>OP here, I appreciate this.<p>> in addition to minimizing locked records, make sure your locks are ordered deterministically across all queries (eg by id asc, always) or you’ll deadlock (but postgres has a really good deadlock detector so you’ll more likely just error out if you’re lucky)<p>This is really good advice, I should put this somewhere in the guide. To add to this, not only can you deadlock by not having a consistent `ORDER BY` when you're locking sets of rows, but you should also be careful of locking rows on tables in different orders. For example, even if you lock each row in a table with an ORDER BY and FOR UPDATE, if one tx locks `table_a` and then `table_b`, and the other locks `table_b` and then `table_a`, you'll deadlock. This is obvious in theory but exponentially harder to debug in practice, because you need to be globally aware of every table that a write touches - something that's bitten us in particular with certain extensions.<p>> learn about GIN (and GIST) indexes<p>We're just testing GIN for fast key-value lookups for JSONB columns, and the performance improvements have been really massive. Interestingly there was a large performance skew between AND vs OR on these key-value queries.</p>
]]></description><pubDate>Wed, 22 Jul 2026 16:05:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49008957</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49008957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49008957</guid></item><item><title><![CDATA[New comment by abelanger in "The startup's Postgres survival guide"]]></title><description><![CDATA[
<p>OP here, I appreciate the feedback! I tried to focus on things which could take down your database, so things like particularly slow reads and writes, autovacuum settings, reducing lock contention, particularly focused on cases that I've seen. There are lots of things that I left out which would belong in a general user guide.<p>We're heavy users of stored functions because we're (perhaps overly) reliant on Postgres triggers, which can improve performance by reducing network round-trips but are fairly risky because they're difficult to monitor and observe.</p>
]]></description><pubDate>Wed, 22 Jul 2026 16:00:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=49008878</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49008878</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49008878</guid></item><item><title><![CDATA[The startup's Postgres survival guide]]></title><description><![CDATA[
<p>Article URL: <a href="https://hatchet.run/blog/postgres-survival-guide">https://hatchet.run/blog/postgres-survival-guide</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49005787">https://news.ycombinator.com/item?id=49005787</a></p>
<p>Points: 523</p>
<p># Comments: 240</p>
]]></description><pubDate>Wed, 22 Jul 2026 12:36:08 +0000</pubDate><link>https://hatchet.run/blog/postgres-survival-guide</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=49005787</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49005787</guid></item><item><title><![CDATA[New comment by abelanger in "Ask HN: Who is hiring? (June 2026)"]]></title><description><![CDATA[
<p>Hatchet | Full-Stack Engineer | NYC or SF or REMOTE (US and EU) | <a href="https://hatchet.run">https://hatchet.run</a><p>Hey HN! I'm Alexander, one of the founders of Hatchet. Hatchet is an open-source platform for running background jobs at scale.<p>We're hiring engineers who are excited to build the next class of engineering primitives, starting with queues, background tasks and durable execution. We started in early 2024 after launching our distributed task queue (<a href="https://news.ycombinator.com/item?id=39643136">https://news.ycombinator.com/item?id=39643136</a>).<p>Hatchet is currently used by thousands of engineers for all kinds of workloads: log ingestion pipelines, code review agents, video encoding, GPU scheduling, etc. Our target customer is fast-growing startups who have a strong need for background jobs system. These days, that tends to be AI companies, though we're general-purpose and not exclusively targeted for AI workloads.<p>Stack: Postgres, Go, Typescript, React, Kubernetes<p>Applying: email me at alexander@hatchet.run and tell me about something impressive you've built, along with your CV and why you're interested in Hatchet.<p>Note that we're fully open-source, which you can check out here: <a href="https://github.com/hatchet-dev/hatchet" rel="nofollow">https://github.com/hatchet-dev/hatchet</a> (and if you have thoughts / opinions / questions about the codebase, please include those in your note!)</p>
]]></description><pubDate>Mon, 01 Jun 2026 20:50:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48362455</link><dc:creator>abelanger</dc:creator><comments>https://news.ycombinator.com/item?id=48362455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48362455</guid></item></channel></rss>