Hacker Newsnew | past | comments | ask | show | jobs | submit | davexunit's commentslogin

On one hand atproto has content-addressed storage and portable identity that AP still lacks (but could have!), on the other hand atproto is far more centralized. The data layer is decentralized but everything on top is effectively centralized. Phrases like "practical decentralization" and "credible exit" are used to describe this design.

Whooo those are some doublespeak phrases if I've ever heard them.

Credible exit? What is that supposed to mean?


Credible exit was popularized by the co-author of ActivityPub.

https://dustycloud.org/blog/how-decentralized-is-bluesky/

https://dustycloud.org/blog/re-re-bluesky-decentralization/

Some of the bits in there are out of date, but still good reads.



This is my main confusion, too! I have an existing Wasm GC language implementation and I'm not sure how to reconcile it with the component model.


I would think you could treat it as a normal GC reference and then just drop the resource when the GC collects the object.


I am excited by the prospect of booting Wasm binaries without any JS glue, but when I've looked at the documentation for the component model and WIT it says that resources are references passed using a borrow checking model. That would be a serious downgrade compared to the GC-managed reference passing I can do today with Wasm GC. Do you know if there are any plans to resolve this mismatch?


Relevant: https://github.com/WebAssembly/component-model/issues/525

In my experience people are often disappointed by the shared-nothing architecture of the component model. I guess that shared-nothing architecture makes it impossible to properly share GC objects across component boundaries. But they can still be shared across core module boundaries.


A lot of the time I think you just won’t want to use multiple components. It’s nice to be able to compose them together, I guess, but in general it seems to me that a toolchain will typically just want to generate a single big component so that everything can interact without limits internally.


I really want stringref to make a comeback.


My god yes.

I'm building a new Wasm GC-based language and I'm trying to make as small as binaries as possible to target use cases like a module-per-UI-component, and strings are the biggest hinderance to that. Both for the code size and the slow JS interop.


Yeah it's really frustrating and JS string builtins are not a good fit for me as I do not want to deal with 16-bit code units.


Who killed stringref and why?


It couldn't get past a vote in the Wasm community group to advance from phase 1 to phase 2.

Here's a quote from the "requiem for stringref" article mentioned above:

> 1. WebAssembly is an instruction set, like AArch64 or x86. Strings are too high-level, and should be built on top, for example with (array i8).

> 2. The requirement to support fast WTF-16 code unit access will mean that we are effectively standardizing JavaScript strings.


Can you use WTF-16 for strings in your language?


I have a compiler flag to switch from wtf-8 and wtf-16 so if you compiler for your host you don't have to reencode strings. That means that strings in my language hide their byte representation, don't allow indexed access, and only have code point iterators.


Combining OpenClaw with sensitive personal data is a recipe for disaster.


... or disastrous comedy?


Permissions can be handled with capability systems. Keyhive [0] is the furthest along on this. I've also made my own prototype [1] showing how certificate capabilities can be composed with CRDTs.

[0] https://www.inkandswitch.com/keyhive/notebook/

[1] https://spritely.institute/news/composing-capability-securit...


> I'd guess that the Racket internals are now easier to work with than Guile's

Maybe, I couldn't say, but I find Chez's source code very cryptic and hard to read. More so than any other Scheme implementation.


Guile, being a bytecode VM with JIT currently, loses to Chez/Racket overall but it's honestly quite fast. I can make games that run at a smooth 60fps with infrequent GC pauses. Plenty of room to grow but Guile isn't slow by any means. I've never been a Gauche user but Guile has lots of nice libraries these days.


That's how I see it, too. I used these benchmarks early in Hoot's development as a rough measure of r7rs compliance and only occasionally as a guide for improving performance. I never published my results but I had Hoot passing more of the benchmarks than Guile itself, which I found funny.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: