News for hackers. Stuff that matters.

steve-chavez

Re:Single header Parser Combinators for C on Wednesday July 01, 2026 @05:19PM (#48753267)
Many thanks! It took me a long time to come up with the interface. I've been wanting a good parser combinator library for C since 2023 when I contributed to mpc[1]:

[1]: https://github.com/orangeduck/mpc/commits?author=steve-chave...

Re:GeoJSON on Friday May 08, 2026 @02:10PM (#48066747)
Many thanks for your work pramsey. We use that exact function [1], do you have any plans for a similar function for TopoJSON? One that also has a record parameter? [2].

[1]: https://github.com/PostgREST/postgrest/blob/f1d0e8ea2266077d...

[2]: PostGIS has https://postgis.net/docs/AsTopoJSON.html but it doesn't take a record.

One thing that is missing is a standard no-LLM policy, like the "Contributor Covenant Code of Conduct". On PostgREST we recently added a strict no-LLM policy [1], basically linking Gentoo's AI policy, which we found the most apt in lack of a standard.

[1]: https://github.com/PostgREST/postgrest/blob/main/CONTRIBUTIN...

Re:Show HN: PgDog – Scale Postgres without changing the app on Tuesday February 24, 2026 @11:44AM (#47139258)
> It's a replacement for SQL, the language

PostgREST doesn't provide a replacement, rather a subset of the SQL language meant to be safe to expose to untrusted (frontend) clients.

Load balancing is not built-in currently, but it can be done at the proxy layer, taking the advantage that GET/HEAD requests are always executed on read only transactions, so they can be routed to read replicas. This is what Supabase does [1] for example.

[1]: https://supabase.com/docs/guides/platform/read-replicas#api-...

> PostgREST translates HTTP straight into SQL, so if you get a policy wrong (or forget one), game over

Do note that by default in PostgreSQL/PostgREST, RLS is the third layer of AuthZ defense, you have table and column level security before and these are closed by default.

> In Supabase's model, it's a breach.

Supabase is currently working on being closed by default.

Re:The Windows Subsystem for Linux is now open source on Wednesday May 21, 2025 @09:30AM (#44051250)
I played starcraft2 13 years ago on Linux, the wizard installer worked just fine.
Re:Supabase raises $200M Series D at $2B valuation on Friday April 25, 2025 @02:23PM (#43796972)
Not really, the work is much reduced.

1. If your function returns a table type, you can reuse all the filters that PostgREST offers on regular tables or views [1].

2. The SQL code will be much more concise (and performant, which leads to less maintenance work) than the code of a backend programming language.

3. The need for migrations is a common complaint, but you can treat SQL as regular code and version control it. Supabase recently released some tooling [2] that helps with this.

[1]: https://docs.postgrest.org/en/v12/references/api/functions.h...

[2]: https://supabase.com/docs/guides/local-development/declarati...

Re:Supabase raises $200M Series D at $2B valuation on Thursday April 24, 2025 @11:17AM (#43783831)
Yes, it does many-to-many joins automatically: https://docs.postgrest.org/en/v12/references/api/resource_em....
Re:Supabase raises $200M Series D at $2B valuation on Wednesday April 23, 2025 @10:23AM (#43772595)
> My server is going to provide an API that isolates the application from the DB structure.

The same can be achieved with "schema isolation". See https://docs.postgrest.org/en/v12/explanations/schema_isolat....

Re:Supabase raises $200M Series D at $2B valuation on Wednesday April 23, 2025 @10:16AM (#43772518)
> If my DB structure changes, I have to force new app versions on every platform because I didn't insulate back-end changes with an API.

To avoid the above problem, it's a standard practice in PostgREST to only expose a schema consisting of views and functions. That allows you to shield the applications from table changes and achieve "logical data independence".

For more details, see https://docs.postgrest.org/en/v12/explanations/schema_isolat....

Re:Is NixOS truly reproducible? on Wednesday February 12, 2025 @11:30PM (#43032685)
Re:Clay – UI Layout Library on Friday December 20, 2024 @10:50PM (#42477426)
So cool! For some reason navigating to Github/Discord by clicking the links is slow on my phone (old galaxy s20fe). The click highlight of the button is normal, just going to the sites is slow.
Re:Nginx vs. Caddy Performance [video] on Sunday November 17, 2024 @04:29PM (#42167477)
There's not much substance in the reply there, on one part there's this argument:

> Go programs are fast enough for Google, Netflix, Stripe, and many other large Internet companies… it’s probably fast enough for you

Which of course is an appeal to authority. Overall, it's pretty well known that a GC language will have downsides in perf when compared to system programming languages.

I also got one of these. AFAICT for Linux, we need to wait for kernel 6.12, which is still at the rc stage but should be ready at the end of this month. As a NixOS user, I'm keeping track of this repo [1] for support.

[1]: https://github.com/kuruczgy/x1e-nixos-config

Re:Nginx vs. Caddy Performance [video] on Monday November 04, 2024 @10:33AM (#42042462)
The TLDR is that Nginx offers about x2 more throughput than Caddy.
Re:Nginx vs. Caddy Performance [video] on Sunday November 03, 2024 @07:29PM (#42037336)
That's false. On the same youtube channel there's a video [1] comparing Nginx vs Envoy and Nginx offers higher throughput.

Besides that, from what I've seen Envoy has a higher dependency footprint:

- It comes bloated with GRPC functionality.

- Configuration requires running python.

I'd be glad to be proven wrong on the performance side of Envoy but so far I've only heard rumors and never seen a conclusive benchmark.

[1]: https://www.youtube.com/watch?v=0Q9I-x--np4

Older »