steve-chavez
[1]: https://github.com/orangeduck/mpc/commits?author=steve-chave...
Single header Parser Combinators for C
[1]: https://github.com/PostgREST/postgrest/blob/f1d0e8ea2266077d...
[2]: PostGIS has https://postgis.net/docs/AsTopoJSON.html but it doesn't take a record.
[1]: https://github.com/PostgREST/postgrest/blob/main/CONTRIBUTIN...
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-...
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.
PgPointcloud – A PostgreSQL extension for storing point cloud (Lidar) data
FFI Overhead
Asynchronous Exceptions in Practice (2017)
pg_csv: Flexible CSV Processing for Postgres
PostgreSQL Event Triggers without superuser access
PostgreSQL Event Triggers without superuser access
PostgreSQL Event Triggers without superuser access
Domain Representations
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...
The same can be achieved with "schema isolation". See https://docs.postgrest.org/en/v12/explanations/schema_isolat....
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....
Introduction to NixOS Specialisations (2022)
Beyond Relations: A Case for Elevating to the Entity-Relationship Abstraction [pdf]
Ask HN: Devshops Websites for Inspiration
Hi HN. Anyone know good devshops websites? I remember seeing many here over the years but I didn't save the links. Smaller, indier the better.
> 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.
Nginx vs. Caddy Performance [video]
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.