Top all-time · #3995
JP Camara
Personal blog · jpcamara.comprogrammingsystems
JP Camara's personal blog at jpcamara.com covers programming and systems. Since 2023, 19 different Hacker News readers have linked it 29 times, most often “PgBouncer is useful, important, and fraught with peril”. It is still writing: the last post was on 2026-08-31, and you can follow it by feed.
Too few sampled comments (6) to say how often HN recommends it.?
Why HN links it
HN readers link JP Camara's posts on PgBouncer and connection pooling with PostgreSQL, and on Ruby performance, such as why built-in Ruby methods were rewritten in Ruby to run faster with YJIT.
Summarised by Claude from a sample of 6 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Follow @jpcamara on Micro.blog .
Most-linked posts?
- PgBouncer is useful, important, and fraught with peril7 people · 7 mentions · first linked 2023-04-13
- Speeding up Ruby by rewriting C in Ruby4 people · 4 mentions · first linked 2024-12-04
- Ruby methods are colorless3 people · 3 mentions · first linked 2024-07-18
- Bitmasks, Threads, and Interrupts: Concurrent, Colorless Ruby2 people · 2 mentions · first linked 2025-10-22
- When good threads go bad2 people · 2 mentions · first linked 2025-12-31
What Hacker News says?
Best to just forget about it and listen on a connection not using pooling. https://jpcamara.com/2023/04/12/pgbouncer-is-useful.html#lis...
Comment linking /2023/04/12/pgbouncer-is-useful.html
on “Show HN: PgQueuer – Transform PostgreSQL into a Job Queue”Submitted Speeding up Ruby by rewriting C in Ruby as a story · 297 points
HN discussionThere's a phenomenal breakdown by JPCamara ( https://jpcamara.com/2024/12/01/speeding-up-ruby.html ) on why the Ruby#each method was rewritten in Ruby ( https://bugs.ruby-lang.org/issues/20182 ). And bonus content from tender love: https://railsatscale.com/2023-08-29-ruby-outperforms-c/ . TL;dr - JIT rules.
Comment linking /2024/12/01/speeding-up-ruby.html
on “Tiny JITs for a Faster FFI”Submitted Ruby methods are colorless as a story · 187 points
HN discussionC itself is fast; it's calls to C from Ruby that are slow. [1] Crossing the Ruby -> C boundary means that a JIT compiler cannot optimize the code as much; because it cannot alter or inline the C code methods. Counterintuitively this means that rewriting (certain?) built-in methods in Ruby leads to performance gains when using YJIT. [2] [1]: https://railsatscale.com/2023-08-29-ruby-outperforms-c/ [2]: https://jpcamar…
Comment linking /2024/12/01/speeding-up-ruby.html
on “Fast Allocations in Ruby 3.5”Submitted The /o in Ruby regex stands for "oh the humanity " as a story · 186 points
HN discussionPossibly https://railsatscale.com/2023-08-29-ruby-outperforms-c/ or https://jpcamara.com/2024/12/01/speeding-up-ruby.html
Comment linking /2024/12/01/speeding-up-ruby.html
on “How I Made Ruby Faster Than Ruby”Submitted In-Depth Ruby Concurrency: Navigating the Ruby Concurrency Landscape as a story · 166 points
HN discussionYou don't need multiple postmasters to spawn connection processes, if you have a set of Postgres proxies each maintaining a set pool of long-standing connections, and parceling them out to application servers upon request. When your proxies use up all their allocated connections, they throttle the application servers rather than overwhelming Postgres itself (either postmaster or query-serving systems). That said, pr…
Comment linking /2023/04/12/pgbouncer-is-useful.html
on “Postgres Postmaster does not scale”Submitted Peephole optimizations: adding `opt_respond_to` to the Ruby VM, part 4 as a story · 38 points
HN discussionwhat a great post, we have had a ton of issues with users using pgbouncer and it's not because things are "broken" per se, it's just the situation is very complicated, and pgbouncer's docs are also IMO in need of updating to be more detailed and in a few critical cases less misleading, specifically the prepared statements docs. This blog post refers to this misleading nature at https://jpcamara.com/2023/04/12/pgboun…
Comment linking /2023/04/12/pgbouncer-is-useful.html
on “PgBouncer is useful, important, and fraught with peril”Submitted Calculating the largest known prime in Ruby as a story · 23 points
HN discussionSubmitted Ruby Methods Are Colorless as a story · 5 points
HN discussionSubmitted PgBouncer is useful, important, and fraught with peril as a story · 3 points
HN discussionSubmitted The Thread API: Concurrent, Colorless Ruby as a story · 3 points
HN discussionSubmitted Ruby Methods Are Colorless as a story · 3 points
HN discussionSubmitted When good threads go bad as a story · 2 points
HN discussionSubmitted Bitmasks, Threads, and Interrupts: Concurrent, Colorless Ruby as a story · 2 points
HN discussionSubmitted PgBouncer is useful, important, and fraught with peril as a story · 2 points
HN discussionSubmitted PgBouncer is useful, important, and fraught with peril (2023) as a story · 1 points
HN discussionSubmitted Bitmasks, Ruby Threads and Interrupts, oh my! as a story · 1 points
HN discussionSubmitted When good threads go bad as a story · 1 points
HN discussionSubmitted Bitmasks, Ruby Threads and Interrupts, oh my as a story · 1 points
HN discussionSubmitted PgBouncer is useful, important, and fraught with peril as a story · 1 points
HN discussionSubmitted Defining an instruction: adding opt_respond_to to the Ruby VM, part 5 as a story · 1 points
HN discussionSubmitted A comprehensive guide to PgBouncer/Postgres compatibility as a story · 1 points
HN discussionSubmitted PgBouncer is useful, important, and fraught with peril as a story · 1 points
HN discussionSubmitted PgBouncer is useful, important, and fraught with peril as a story · 1 points
HN discussionSubmitted Making Tanstack Table 1000x faster with a 1 line change as a story · 1 points
HN discussion