theothershoe
Joined 13 years ago
Joined 13 years ago
You have options for self-hosting one or all of three pieces: a headless git host (the knot) which you get direct ssh access to through a limited ssh interface like other forges use, a CI service (the spindle), and the service that provides your user identity and metadata (the PDS). Account metadata such as which repos are in your account, and public SSH keys are recorded in the PDS, while repo data such as pull requests are recorded in the knot (I think. There might be some cross-over for publishing user activity via the PDS, I'm not sure).
Tangled owns the frontend, which everyone accesses through tangled.org. That's the web interface for both git features, and for CI. The frontend is an "AppView" which is difficult to self-host because it requires ingesting and aggregating a lot of network data. That's what assembles the network-wide activity feed you see on tangled.org, and that's where "Bobbin" comes in. But you _could_ access everything through a different AppView because your identity, data, and metadata are all owned by your PDS and knot.
The AppView concept is a point where Atmosphere differs from the Fediverse. In all my Fediverse experiences the service that I log into is the same service that runs the app frontend. With Atmosphere an AppView uses OAuth to authenticate you with your PDS. So I can log in to both Bluesky and Tangled with the same identity, compared to Fediverse where I need different Mastodon and Lemmy accounts to use both "apps". (Bluesky is also an AppView btw.) Instead of many federated frontend+backend instances, Atmosphere tends toward many federated, headless backends, with a small number of centralized frontends.
The PDS provides your DID which is your unique identifier in the atmosphere. It seems like the knot, in addition to hosting git repos and providing SSH access, does some PDS-like things. The knot provides DIDs for your repos, and holds metadata. But again, the metadata in the knot applies to the repo - metadata that applies to you as a person lives in your PDS.
I'm self-hosting a knot, and I'm planning to self-host a spindle. But for the moment I'm using a PDS provided by Bluesky.
One of my sources is, https://www.cnet.com/home/tesla-superchargers-will-soon-work...
AFAICT "NACS" is a new thing as of November 2022. Maybe it's basically a renaming of Tesla's existing thing. But the shift to NACS includes important details around published specs and interoperability.
What's changed is that last year Tesla decided to publish an open standard. Now that other manufacturers can use the plug, they gave agreed to use Tesla's physical plug design, but with the CCS signaling protocol.
So NACS going forward is more of a new hybrid of the two rather than a switch to Tesla's existing charger. One of the outcomes is that cars equipped with CCS will be able to use NACS with a simple adapter.
Why not use Tesla's signaling protocol? I don't know the details. Maybe Tesla isn't ready or able to create an open standard for that part. Or maybe other manufacturers want to keep the signalling they have to keep adapters simple. In any case only one vehicle and charging station manufacturer (Tesla) will have to make updates on the software side, and to people who don't know the difference between the plug and the software it'll look like Tesla won the charger war.
I'm getting the hint that some people aren't happy with the current state of flakes. But right now it's the best solution for a certain large class of problems so it's what people are going to go with. Again, as a relative outsider I see flakes as The Way Nix Works with the requirement of enabling experimental features just being a part of the Nix process. Nix is rapidly growing in popularity with a lot of people drawing the same conclusion as me. Maybe there is a better alternative to flakes in the horizon, and when it's ready I'll consider switching. But I'm not going to wait to use Nix in the meantime, and for me the best way to use Nix currently is flakes.
On the other hand, hooks rely on hidden side effects so that each hook invocation returns something different depending on which component instance in the component tree is being rendered when the hook is called, and the number of times the hook has already been called while rendering that instance. This introduces semantics that are unlike anything I know of in the language. A redditor, u/hardwaregeek, pointed out that hooks behave kinda like a state monad, albeit emulated with imperative side-effects.
Some systems might not support the `-p` flag in `mkdir -p`, or the `-rf` flags in `rm -rf`. There are scripts distributed on NPM called `mkdirp` and `rimraf` to work around such issues.
[ my public key: https://keybase.io/hallettj; my proof: https://keybase.io/hallettj/sigs/idxnXm_V2fCQqybSF_0W3XA1sfa1JirYBFMaOiJotrg ]