My reading is the server with zsync can be any http server, client is zsync. Rsync on the other hand needs to use rsync on the server, and it scales badly because it does most work on the server.
That's exactly it. Zsync works only once per file, creates a signature in a second file and that's it. They are both distributed with an HTTP server, the most scalable way of centrally distributing data. The client fetches the signature, checks what part is missing and downloads it with Range: headers.
Came here to find the thread discussing this. You stated what I'd think is the conventional wisdom and I expected this to be the top thread.
However, this thinking comes at the cost of UX (or Developer eXperience). Much more mundane instance of the same thinking is hiding elements of the UI you are not allowed to use. This often gets me thinking - is there a way to do this that I'm not allowed to see, or is it just that I can't find the function in the UI?
A solution for the DX issue is logging the real error somewhere only accessible for an admin. Has this been implemeted anywhere in the wild? For UIs, just be honest and show the menu items disabled.
Do you want to build the next generation internet platform?
Blockchains with smart contract support (like Ethereum) allow for arbitrary computations with guaranteed integrity. However, computations are public, which is often a major limitation. Partisia is making a blockchain where computations can also be confidential, even to the nodes that are running it. It is done with a blockchain based secure multiparty computation (MPC) orchestration platform. MPC is an extension of ZK proofs, giving the possibility to perform arbitrary privacy-preserving computations.
We need engineers to work on a new programming language for writing smart contracts which allows distinguishing public state from private state. Executing computations in MPC requires specialized optimization and reordering of the computation graph - which needs to be integrated into the execution environment of the language. Expertise in compilers, optimization, graph theory, distributed systems or cryptography is helpful.
We are also looking for people to build the governance layer of the blockchain, i.e. the operating system for users of the platform. This work will be part software part cryptographic engineering. Understanding of game theory and finance is helpful.
Great resource, I'd missed a few goodies. https://javascript.info is similarly good in teaching modern Javascript.
I wish there was such a resource for modern C++ though. I learned and used C++ in the 90s and early 2000s, and apparently the language has progressed a lot meanwhile. People say idiomatic modern C++ (C++14/17/20) can be pleasant and metaprogramming capabilities are really powerful.
According to the blog post this site runs in AWS us-west-1. With Fauna you don't know the data center but according to their status page they have infrastructure in AWS us-west-2. Latency from us-west-1 to us-west-2 is 25ms so you can subtract that from the total time.
Fauna claims to route your request to the nearest data center so I'm interested in validating this. Seeing 400ms latency where I'd expect <50ms is important to me, especially on Lambda where you are billed waiting for the response.
Which should be the case, depending on what you do you will probably experience 10-50ms read latencies. Look for Evan's answers why the measured values here are higher.