They're not using `wal_level = logical`, which has been the "friendly" way of doing CDC on Postgres since ever, but are going straight to `wal_level = replica` which, afaik, has never really been used to build something atop of except Postgres' own replication.
This is very interesting. I'd never have guessed that it'd make such a difference. I also bet this is the sort of thing that would have never end up being implemented without access to coding agents. Having to figure out these protocol-level details is no longer the huge time sink it was
Ack, thank you! The idea was to minimize the operational overhead of logical replication (slot growth, slowdowns from reorder buffering, handling advance schema changes) and reducing load on Postgres. This approach lets us purpose-build replication for ClickHouse. Postgres logical replication was primarily designed keeping in mind with Postgres as the target.
There’s also some interesting work happening in core with a similar goal of decoupling logical decoding from the Postgres process. We plan to share learnings from WalShadow with the core and hopefully help bring this to Postgres someday :) https://hacking.postgres.tv/topics/logical-decoding/
Right, it takes some effort, but it’s worth it for the benefits of sub-second latency and reduced operational overhead. We expect the WAL format for existing commands to remain relatively stable across Postgres versions, while newer commands may need additional handling.
It's based on the Server-Driven UI philosophy where the backend streams both code and UI into a frontend that just knows how to render what it's told. This is pretty cool because it makes it makes over-the-air updates possible.
It also follows the batteries-included philosophy of Rails. Has an ORM, background and cron jobs (all based on Postgres), Django-style migrations, JSX Emails and pretty great FFI that's built around a simple `"use native"` directive, in the React Server Component fashion).
I came here to say this. I also prefer fully native apps but this is the elephant in the room. If most of your web code can be re-used on native, that's a ton of tokens you won't have to pay for.
I was about to comment this. The selling for svelte has always been that the compiler will output just the needed instructions for the expressed transformation. No virtual DOM.
OXC Transformers are amazingly faster than Babel. I'm building a framework (https://github.com/vmsp/flypath) for web, iOS and Android native development that's fully backed by OXC and Vite. Instead of transforming styles using Babel like StyleX, I just use OXC. Instead of Metro (React Native's bundler), which also uses Babel, it's just Vite. It's still very early but it's plenty, plenty fast.
Cool stuff. I'm moving One[stack.dev] onto pure rust now, and Tamagui v3 compiler will also is moving from Babel to Yuku which is quite interesting - from my testing it's more flexible and quite a bit faster than OXC.
Location: Portugal
Remote: Yes
Willing to relocate: No
Technologies: Ruby, TypeScript, Python, Go, Rails, Django, Postgres, React, React Native, Node, Next.js, Postgres, Redis
Résumé/CV: https://0x1.pt/Vitor_Sousa_Pereira_CV.pdf
Email: vmsousapereira@gmail.com
I was previously founding and lead engineer at a London-based startup in talent-tech that got acquired last year. Then I tried to do my own thing (https://hanlec.com/) and failed at that. Now looking for my next role.
In my free time, I work on https://github.com/vmsp/flypath. A framework for web, android and iOS native apps using Server-Driven UI.
Node's built-in Typescript support is just for type stripping. That works for a massive amount of TypeScript syntax, but not all of it. It also doesn't bother actually checking the types, just removing them so it runs. You also lose things like tsconfig.
This looks to support both the built-in stripping as well as actual TypeScript.
Exactly this. TypeScript also ended up being many users' entrypoint to JSX, decorators, etc as it became a catchall transpiler surface so respecting tsconfig is vital here (Node understandably has a policy against this). Plus there are extensionless imports, the "phantom" .js imports (pointing to .ts files), etc. List goes on. Type stripping ends up working out of the box for virtually no real world projects sadly.
I didn't know I was part of a trend, that's pretty cool. I've been buying originals related to the Portuguese Estado Novo and Carnation Revolution for some years. A ton of ad-hoc, clearly political, publishers spawned right after the revolution and I've been thinking of digitizing some of the stuff I have for historical purposes.
With the kind of press it’s getting, I bet this model will outsell all others made in the last 10y. I don’t remember the last time a Ferrari was on the news.
For people who buy a Ferrari the price is not part of the equation at all.
Also Ferrari’s whole game is demand and supply manipulation - there are always more people who want a Ferrari than can actually buy one. These will all sell out whatever happens.
Yeah, how many agents can you people even run at once and how much does it cost you? In company we used the monthly token quota and nowadays it's basically unusable with claude opus 4.6 on high reasoning. You can basically burn through 100% usage through a single day. How does it even scale for you with N agents and which magical plans or models do you use, where tools like this are even viable?
for clarification we're less of a agent swarm tool, and more of a launch a bunch of independent agents in isolated environments and have some nice UX to manage them too. I also havent had as much luck with agent swarms or ralph loops, but i'm sure the laps will improve them with time
This is very interesting. I'd never have guessed that it'd make such a difference. I also bet this is the sort of thing that would have never end up being implemented without access to coding agents. Having to figure out these protocol-level details is no longer the huge time sink it was
reply