HackerTrans
TopNewTrendsCommentsPastAskShowJobs

joelg

no profile record

Submissions

Spatio-temporal indexing the Bluesky firehose

joelgustafson.com
46 points·by joelg·11 bulan yang lalu·0 comments

Cloudflare/actors library – SDK for Durable Objects in beta

developers.cloudflare.com
3 points·by joelg·tahun lalu·0 comments

With Behaviors Like These in Complex Systems, Who Needs Mechanisms?

physics.aps.org
4 points·by joelg·tahun lalu·0 comments

Visualizing 13M Bluesky users

joelgustafson.com
261 points·by joelg·2 tahun yang lalu·237 comments

Merklizing the key/value store for fun and profit

joelgustafson.com
118 points·by joelg·3 tahun yang lalu·16 comments

About Encrypted Direct Messages

help.twitter.com
2 points·by joelg·3 tahun yang lalu·0 comments

Merklizing the key/value store for fun and profit

joelgustafson.com
3 points·by joelg·3 tahun yang lalu·0 comments

comments

joelg
·12 bulan yang lalu·discuss
yeah I completely agree, I think there's a whole logic of reasons to using useEffect/useCallback/useMemo that the post didn't acknowledge.

personally, I want to have a comprehensive understanding of exactly when and why each of my components re-renders, and to do that I use hooks and design around referential equality. like you said, it's a kind of documentation, more about organization than performance.

not to say that this way is intrinsically better! just that the style is appealing for its own reasons
joelg
·12 bulan yang lalu·discuss
my understanding (which is definitely not exhaustive!) is that the case between Galileo and the church was way more nuanced than is popularly retold, and had nothing whatsoever to do with Biblical literalism like the passage in Joshua about making the sun stand still.

Paul Feyerabend has a book called Against Method in which he essentially argues that it was the Catholic Church who was following the classical "scientific method" of weighing evidence between theories, and Galileo's hypothesis was rationally judged to be inferior to the existing models. Very fun read.
joelg
·2 tahun yang lalu·discuss
one of my biggest subjective takeaways from spending hours scrolling around the map is that my impression that the userbase was dominated by software types was ~mostly wrong! feels like less than half, and the rest is huge swaths of normie, artist, furry, and media people
joelg
·2 tahun yang lalu·discuss
there are a other few places tracking those stats too; I just counted 14487454 in my database :)
joelg
·3 tahun yang lalu·discuss
point taken, but as the blog post here and many other comments have pointed out, there is a very sharp qualitative difference between just-Apple and Apple+Google doing this. Apple alone has a minority market share but together they cover enough of the market that many websites would be tempted to only allow connections from trusted clients.
joelg
·3 tahun yang lalu·discuss
The merkle tree is persisted, and updating it is only log(n). You only have to "hash 2n elements" once, and then incrementally maintain it. It's negligible overhead for free log(n) diffing.
joelg
·3 tahun yang lalu·discuss
The difference is that a trie over the hashes doesn't preserve lexicographical key ordering or support range queries, which are typically expected from key/value stores. But you're right - if you just need `get` / `set` / `delete`, you could just do that!
joelg
·3 tahun yang lalu·discuss
it’s definitely not an exact solution, but i’ve been thinking about ways prolly trees could fit into CRDT systems. they essentially give you efficient peer-to-peer entry-wise diffs, so could be good for identifying conflicts after-the-fact. but if you store operations in a prolly tree, you end up hashing them all (plus logarithmic additional space overhead), so it might be a non-starter.

i have a blog post to shill if you haven’t heard of them: https://joelgustafson.com/posts/2023-05-04/merklizing-the-ke...
joelg
·3 tahun yang lalu·discuss
on bluesky (sorry) the devs have been super active and responsive and eager to explain their approach. they have talked about this specific choice at length - that after an extensive ecosystem review and lots of thought, it seemed like a different architecture had a better chance of working at scale. I hope they find the time to explain this more publicly but it’s definitely a decision they didn’t make lightly.

More generally, I have a ton of respect for the standardization process and for the amount of (mostly volunteer!) engineering over the years that had gone into fediverse, but it’s been so long and growth has been so slow that I don’t think it’s unreasonable for a new project to try something different.