Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
sambigeara
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
31.
▲
by
sambigeara
6mo ago
No idea why this post has picked up traction 2 days later, I’m out and about right now but will endeavour to respond thoughtfully when I’m back at my keyboard later on!
32.
▲
by
sambigeara
6mo ago
To clarify, are you asking if I’ve considered incorporating those concepts into the project? If so, I have loose ideas around how I might introduce shared state, it’s an interesting problem that’ll require a lot of thought. Early days yet,
33.
▲
by
sambigeara
6mo ago
Hi everyone, I'm Sam. I started Pollen as an experiment last summer, got carried away, and have landed here. It's a single Go binary. Install it on every machine you want in the cluster and they self-organise. Topology is derived
34.
▲
Show HN: Pollen – distributed WASM runtime, no control plane, single binary
(github.com)
137 points
by
sambigeara
6mo ago
|
65 comments
35.
▲
by
sambigeara
2y ago
Nice!
36.
▲
by
sambigeara
2y ago
Not happened across Loro, thanks for sharing.
37.
▲
by
sambigeara
2y ago
Blog author here! > or do servers only hold the mutex when briefly while they persist data? This: it's only held during document updates, which in itself is an operation we debounce to avoid unnecessarily hammering the DB. Eventual
38.
▲
From HTTP to gRPC: Trials, tribulations and triumphs of porting our Python SDK
(cerbos.dev)
8 points
by
sambigeara
3y ago
|
0 comments
39.
▲
by
sambigeara
5y ago
I built this one myself, it's an event log which is used to progressively build onto a secondary data structure (which is more closely tied to the client)
40.
▲
by
sambigeara
5y ago
I totally agree that the UX is basic and unclear at present. Lots to do on that front; on design, documentation and otherwise! Appreciate the feedback. You don't have to search in order to add anything, though. Focusing on the (empty,
41.
▲
by
sambigeara
5y ago
Good question. It's probably not even an edge case (dependent on usage), but a limitation right now is that a unique "unit" of collaboration is a single item/line, so if two people update a line offline, the winning line
42.
▲
by
sambigeara
5y ago
Haha, good point - perhaps "TBA" would have been more appropriate here! Thanks. I've been so far more focused on getting MVP out, so haven't given a lot of thought to the specific pricing tiers yet, but I hope to get all
43.
▲
by
sambigeara
5y ago
That is amazing! I hope it ticks some of the use-case boxes, and if it doesn't, I'd love to know what those boxes were
44.
▲
by
sambigeara
5y ago
Thanks so much! Honestly, this was a personal project that got a bit carried away. The initial iteration was just a simple terminal app that allowed me to fuzzy-search through a lot of my notes quickly, with the ability to store and access
45.
▲
by
sambigeara
5y ago
Manually! The CRDT itself is an event log. The client state is built from a secondary data structure which replays from the log (the extent of the "replay" determined by how much data needs to be merged etc)
46.
▲
by
sambigeara
5y ago
Hi HN! Author here. A little while ago I shared the terminal based version of the project ( https://github.com/Sambigeara/fuzzynote ) with the community. I since got inspired, and disappeared into my loft for 9 months to
47.
▲
Show HN: CRDTs+WASM for local-first, collaborative note-taking in the browser
(fuzzynote.xyz)
20 points
by
sambigeara
5y ago
|
15 comments
48.
▲
by
sambigeara
5y ago
Thanks, appreciate the feedback! Currently I'm just using the hosted AWS Cognito offering straight out the box (just as a temporary measure to enable people to sign up). I hope to have this looking/operating a bit better down the
49.
▲
by
sambigeara
5y ago
Massive fan of his work! Thanks for sharing
50.
▲
by
sambigeara
5y ago
Awesome - thanks for sharing
51.
▲
by
sambigeara
5y ago
Yes! Perhaps not in the way that _some_ might interpret it, though; given it's append-only nature, undo events need to generate a new event, so in practice, you end up with a temporary pointer which traverses back and forth over the WA
52.
▲
by
sambigeara
5y ago
Sorry, I think I misunderstood. The sync mechanism itself is completely agnostic. The interface I'm describing is more in regards to accessing it. Only requirement is that you can access a file and run a bunch of basic operations (list
53.
▲
by
sambigeara
5y ago
Ah, I understand. Fascinating stuff - thanks for sharing. Food for thought when considering how to evolve the app (e.g. moving beyond just plain text).
54.
▲
by
sambigeara
5y ago
Providing Go has a decent enough client/interface into the tools you listed above, absolutely!! The original "remote" I implemented was a single S3 bucket (no websockets, just a static file location), and if you set the synch
55.
▲
by
sambigeara
5y ago
Ooo! As an avid vim'er, I rate this highly - thanks for sharing!
56.
▲
by
sambigeara
5y ago
Actually, I'm intrigued by what you mean by this: > IIRC CRDTs do not work well for Google-docs type text editing because they cannot capture intent well. Could you elaborate? Appreciate the discussion
57.
▲
by
sambigeara
5y ago
Currently it's at an entry/line level like you suggest, although theoretically I could flip (for lack of a better term) the algorithm and apply it laterally on a per character basis. The data structure is a WAL storing all mutatio
58.
▲
by
sambigeara
5y ago
Thanks! Again, very good question. There's an answer I wrote in response to benrbray which explains this!
59.
▲
by
sambigeara
5y ago
Thanks! Really good question, particularly in this context. It's a problem I'm actively working on. For context: the underlying CRDT is basically a WAL housing all the events originating from user input. The app itself operates &q
60.
▲
by
sambigeara
5y ago
Author here. Happy to answer questions if there are any!
More ›