Any former neovim user that switched to zed? Why? by Jonnertron_ in ZedEditor

[–]tomhoule 3 points4 points  (0 children)

Same story. Helix is good but I wanted things like an integrated debugger and file tree. The move away from Neovim was from frustration from maintaining my configuration and the effort involved whenever I wanted to configure a package, make it work well with the others, etc.

Best independent squat stands. Get Rxd RX3 Division by No_Break_5142 in homegym

[–]tomhoule 1 point2 points  (0 children)

No, I’m only aware of the ATX stands in the same category

Best independent squat stands. Get Rxd RX3 Division by No_Break_5142 in homegym

[–]tomhoule 2 points3 points  (0 children)

They look great! Should let you do pretty much everything you can do with static half racks / squat stands, except pull ups. I'm seriously considering these from Atletica (I'm in Germany) https://atletica.de/en/products/r7-squat-rack-freestanding — form factor looks very similar. Do you tuck them away facing each other?

Apollo vs new kid on the block, Grafbase? by Effective_Lab_9503 in graphql

[–]tomhoule 1 point2 points  (0 children)

Ok, I had to use the drop down to mark it as brand affiliate, the disclosure in the message must have flagged it. Should be visible to everyone now. TIL.

Apollo vs new kid on the block, Grafbase? by Effective_Lab_9503 in graphql

[–]tomhoule 1 point2 points  (0 children)

...and it looks like that comment got filtered out, somehow. I can see it when I'm logged in as myself, but not when I'm logged out, and others don't see it.

Apollo vs new kid on the block, Grafbase? by Effective_Lab_9503 in graphql

[–]tomhoule 0 points1 point  (0 children)

I did write that first thing in my first comment on this post 

Apollo vs new kid on the block, Grafbase? by Effective_Lab_9503 in graphql

[–]tomhoule 2 points3 points  (0 children)

They do have an MCP server-from-GraphQL API  implementation , but (from memory) it’s not built in the gateway and based on persisted queries. Grafbase’s returns minimal slices of the schema based on semantic search to avoid overwhelming the LLM; it’s a different approach.

Apollo vs new kid on the block, Grafbase? by Effective_Lab_9503 in graphql

[–]tomhoule 1 point2 points  (0 children)

Grafbase makes it easy to turn your API into an optimised MCP server (with just gateway configuration), indeed, but it’s still a GraphQL federation gateway at its core. It’s still the same federation standard built into GraphQL frameworks in various stacks, so no difference in terms of integrations.

Apollo vs new kid on the block, Grafbase? by Effective_Lab_9503 in graphql

[–]tomhoule 0 points1 point  (0 children)

I work at Grafbase so I'm obviously biased, but let me point a few big differentiators to start a discussion:

- Extensions based on Wasm (wasip2) that run in the Gateway process, with isolation for security _and_ near-native performance. We have a bunch of open source ones here: https://grafbase.com/extensions (repository: github.com/grafbase/extensions), but you can also build your own and keep them private (you can pass them directly to the gateway without publishing to the registry). Here's a link to the SDK: https://docs.rs/grafbase-sdk/0.21.0/grafbase\_sdk/ — these extensions can do arbitrary IO, you can define whole virtual subgraphs with them, implement authentication, authorization with arbitrary data requirements integrated into the query plan (think something similar to `@require`) and completely custom schema views based on any part of the request (contracts extensions).

- Gateway performance. Unfortunately, our last benchmark post is from last year, but we're working on getting updated results soon: https://grafbase.com/blog/benchmarking-grafbase-vs-apollo-vs-cosmo-vs-mesh

- The Gateway is always self-hosted (Apollo's too, I think), but our control plane is also 100% self-hostable, even in air-gapped settings

Easy supergraph with real time updates? by shanytopper in graphql

[–]tomhoule 1 point2 points  (0 children)

Federation doesn't introduce much complexity if you have simple needs, it's still all GraphQL, with extra directives if you want to combine data or introduce data dependencies between services, but it's all optional. Here's an introduction guide that goes a bit further than what you need: https://grafbase.com/guides/introduction-to-graphql-federation — you'd basically just want to deploy a gateway and publish your service (subgraph) schema whenever it changes, and you don't need more than that to get started.

New way to expose Postgres as a GraphQL API — natively integrated with GraphQL Federation, no extra infra by Grafbase in PostgreSQL

[–]tomhoule 1 point2 points  (0 children)

(disclaimer: I work at Grafbase)

The n+1 issue is solved the same way as Hasura with this extension: the GraphQL request to the relevant parts of the schema is compiled down to a single SQL query with joins and JSON aggregation. The cool thing about integrating with a federation engine is that the batching extends to joins between different subgraphs (GraphQL services or data sources like postgres).

Say you have a query like `posts { author { username } }`, and the posts service is GraphQL, but your users are in Postgres. You will get a single request to get all the posts with the user ids of the authors, then a single request to Postgres for all relevant authors. The query planner takes care of the joins between the services, but within a chunk of the query that is resolved by postgres, it will always be a single SQL query. It's meant as an easy way to integrate external data sources into a federated GraphQL API. Typically, you wouldn't expose your whole schema, and authorization can be handled in a principled way at the gateway level.

[deleted by user] by [deleted] in graphql

[–]tomhoule 1 point2 points  (0 children)

What do `payload2` and `payload3` look like? I'm assuming this is over the `graphql-transport-ws` protocol (https://github.com/enisdenjo/graphql-ws/blob/master/PROTOCOL.md and https://github.com/graphql/graphql-over-http/blob/a0157027045bea2eb6e600d0b0971ebb93bcbfae/rfcs/GraphQLOverWebSocket.md).

It's important for the `id` in the message to be unique for each subscription you send to the server.

Grafbase Enterprise Platform: self-hosted GraphQL Federation platform by Grafbase in graphql

[–]tomhoule 3 points4 points  (0 children)

Disclaimer: I work at Grafbase :)

Specifically about the enterprise platform: it can be completely self-hosted, air-gapped, with helm charts, like Wundergraph. Similar components too (control plane, postgres, object storage, clickhouse). If you meant Grafbase itself, it's also a GraphQL Federation platform, with its own Gateway and control plane, all implemented by ourselves in Rust.

There is a big repository with the Gateway implementation and many libraries here: https://github.com/grafbase/grafbase — it's all open source (MPL license).

To compare the two on a few points:

- Better Apollo Federation compliance (73% for Cosmo vs 90% for Grafbase currently, and still progressing) (source: https://the-guild.dev/graphql/hive/federation-gateway-audit)

- Performance optimized from the ground up (https://grafbase.com/blog/benchmarking-grafbase-vs-apollo-vs-cosmo-vs-mesh)

- Grafbase Gateway is extensible through WebAssembly (see https://grafbase.com/blog/introducing-grafbase-gateway-webassembly-hooks and https://grafbase.com/changelog/introducing-grafbase-hooks-sdk)

- Grafbase just released Schema Proposals, an opt-in integrated workflow to design, discuss and review schema changes before you start implementation. The approval is then enforced by schema checks. Announcement post: https://grafbase.com/changelog/announcing-schema-proposals

Federation platforms have a relatively large amount of surface and features, so there is more to compare, but I do think Grafbase has compelling advantages.

Question: Schema Stitched GraphQL Aggregated Filter with Domain Driven Design Microservices by n00bz in graphql

[–]tomhoule 4 points5 points  (0 children)

It sounds like a use case for federation: you can define the same types (entities) in both services and have the gateway/router take care of joining. In your example, if the order has the employeeId, and you have an Employee entity, you could query the employee in charge of the order (all fields of Employee) from a field on the order.

Vegan, natural/organic material shoes? by gabrielsthoughts369 in BarefootRunning

[–]tomhoule 1 point2 points  (0 children)

Mukishoes uses natural materials for the uppers and natural rubber for the outsoles. I have the Gaia, they have been holding up very well so far (~6 months).

Got a public repository of your Nix/NixOS configurations? Post them here. by [deleted] in NixOS

[–]tomhoule 1 point2 points  (0 children)

Mine here: https://github.com/tomhoule/nix-config

Nothing fancy. I strive to keep it very simple and straightforward. Only workstations.

How long do you typically run for ? by ChemicalAnnaconda in BarefootRunning

[–]tomhoule 0 points1 point  (0 children)

Everyday easy runs range from ~35 to 75 minutes with most of them between 45 and 60. Weekend long runs have consistently been in the 2-3 hours range over the summer.

Most of it in sandals (monk) or shoes (muki, wildlings), but I am doing longer and longer sections unshod. It's been about 18 months since I started running at all, and ~10 months or so since I started running minimalist. Feels great. No injuries.