Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
toomim
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
14 ms
·
121.
▲
by
toomim
2y ago
Try Bitcoin Cash. It's Bitcoin as it was intended. Transactions are practically free, and zero-conf hasn't been crippled by RBF!
122.
▲
by
toomim
2y ago
How does this relate to https://wormhole.app/ ?
123.
▲
by
toomim
2y ago
Quite a biased Wikipedia article. If you read the sources, you can read quotes from the officers themselves, who openly discuss their tattoos, but say they are being misinterpreted as rogue law enforcement groups when they are just particu
124.
▲
by
toomim
2y ago
...and they existed long before 2010, too. 1975 called, and said to check out the SCCS "Weave" data structure: https://en.wikipedia.org/wiki/Interleaved_deltas Weaves are the same thing as modern text CRDTs!
125.
▲
by
toomim
2y ago
So would Apple have to allow browsers other than Safari to exist on iOS?
126.
▲
by
toomim
2y ago
Yes, when I wrote that stateb.us/what page, my intent was to express the aspirational vision of statebus. It soon became clear that, in order for the vision to succeed, we needed the network protocol to become a widely-used standard
127.
▲
by
toomim
2y ago
> But it's also the case that the purposes of Braid don't lend themselves to large binary blobs. That's not true. We want to use Braid to distribute OS updates, sending patches to multi-GB binary blobs; and for filesystem
128.
▲
by
toomim
2y ago
Ah... you know, that idea sounds not too shtty to me.
129.
▲
by
toomim
2y ago
Yes, the big secret here is that CRDTs + Braid will enable a higher level of abstraction for programmers: an Abstraction of Distributed State . As a programmer, you'll no longer have to write any networking code. You won't be to
130.
▲
by
toomim
2y ago
I'm not convinced on 209, either. There might be a better response code. See the discussion at https://github.com/braid-org/braid-spec/issues/16 Braid is not trying to be "application logic"
131.
▲
by
toomim
2y ago
Base64 encoding hurts performance, adding about 33% overhead. It's more efficient to send binary over HTTP directly. > SSE frames or subscription events ... arrive in the order the server sent them by virtue of being sent over TCP.
132.
▲
by
toomim
2y ago
Perhaps you mean multipart/braid? There is no mixed/* mime-type prefix that I know of. How would your suggestion work? Can you give an example HTTP response to explain what it would look like? The purpose of standards is interop
133.
▲
by
toomim
2y ago
Yes! Phoenix Liveview is very similar to the Statebus project ( https://stateb.us ) that inspired Braid. Braid was the protocol that Statebus needed, and Phoneix Liveview is one of the most exciting projects in the Statebus spac
134.
▲
by
toomim
2y ago
Cool! We have been building feeds on braid, too! It would be very interesting to support FeedAPI with Braid -- you would get much faster pushed updates than you currently do with client-pulled updates! See our current work on the "fe
135.
▲
by
toomim
2y ago
We're actually "releasing" this new Braid-Text library today in 8 hours at Braid Meeting 86! https://braid.org/meeting-86 The meeting is open. You're all welcome to join. :)
136.
▲
by
toomim
2y ago
Ah, I've found the discussion on status code 209 here: https://github.com/braid-org/braid-spec/issues/16 Hope that helps.
137.
▲
by
toomim
2y ago
It's possible that Braid could switch back to status code 200. I expect this choice to be revised in discussion within the IETF HTTP WG, but we haven't gotten to this level of detail yet. If I remember correctly, the switch to 2
138.
▲
by
toomim
2y ago
You can use any CRDT with Braid. Many of them prune history. In fact, we have developed the first pruning p2p text sync algorithm: braid.org/antimatter Indeed, text sync requires old history to merge with old edits. However, Braid does
139.
▲
by
toomim
2y ago
See this comment on SSE: https://news.ycombinator.com/item?id=40482389 PATCH is supported in Braid, but only works for client->server. It does not support updates from server->client. So we need a way to express gene
140.
▲
by
toomim
2y ago
Yes, like for images. You can't send image updates over SSE.
141.
▲
by
toomim
2y ago
In some sense, you could! The reason is that almost every use WebSockets is actually for Synchronizing State. What you really want to do is to synchronize state. Braid is a protocol for doing just that. So you don't need to turn t
142.
▲
by
toomim
2y ago
Point taken. But to be fair, we're not a company, but a working group. And we don't hate hypertext, we just haven't gotten around to implementing server-side rendering, which would be a nice thing to do.
143.
▲
by
toomim
2y ago
Yes, we will want to extend URLs to standardize an optional version identifier. It's important for this to be optional. Consider that each keystroke that edits a text resource changes its version ID. You want to be able to link to
144.
▲
by
toomim
2y ago
> Why "peer-to-peer"? While Braid can be used in a local-first setting and probably do peer-to-peer, that isn't the focus here. > The focus is to help application developers to not get into the shenanigans of CRDTs and
145.
▲
by
toomim
2y ago
It works just fine. Existing servers, proxies, and middleboxes just pass through the response if they don't understand status 209. The braid.org site itself is running on Braid-HTTP, through a reverse proxy, and everything is peachy
146.
▲
by
toomim
2y ago
WebSockets and SSE are standards in the same way that TCP is a standard -- if you use them, you are still defining an ad-hoc protocol on top to subscribe to state and publish new state. HTTP is a standard on top of TCP. It provides a h
147.
▲
by
toomim
2y ago
You can use CRDT algorithms with Braid that heal from network partitions transparently, and guarantee strong eventual consistency. Here's an example CRDT algorithm for collaborative text that can handle arbitrary network partitions, a
148.
▲
by
toomim
2y ago
Transfer-Encoding: chunked is for something completely different. It is for streaming a single body that you do not know the length of. It does not define a subscription format. It does not specify versioning. It does not define a patch
149.
▲
by
toomim
2y ago
Yes, or even more simply: Let's say that your client runs GET /some-json, and that JSON gets updated, and the client wants to get the updates. Right now, your options are: 1. Re-run the GET /some-json again from the client (
150.
▲
by
toomim
2y ago
That is cool! Nobody has worked on a FireFox devtool yet, but we welcome contributions.
More ›