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

to be honest, i thought this would be links to threads frequently mentioned on hn, which would be actually kind of useful

I think you fundamentally misunderstand how the protocol works.

First, Tangled has been entirely self-hostable since the beginning! We've just made it much easier to run for everyone.

Second, the "appview" is simply an indexer. It consumes records from the firehose and only those that it cares about. In our case, those are org.tangled.*. There's no reason we'd consume all of the firehose.

ActivityPub categorically does not make sense here because of how coupled identities are to instances.


> Tangled has been entirely self-hostable since the beginning!

As has BlueSky, as long as you had enough hardware to keep up with the firehose. The protocol heavily lends itself to centralization due to this design. I think this should be obvious by the fact that you haven't considered self-hosting to be the default case.

> In our case, those are org.tangled.*.

I suppose my wording was inaccurate, but this is what I meant by "the entire network". My indexer would have to consume "all of Tangled" instead of the things related to the repos, orgs and people I am interested in. Correct?

> ActivityPub categorically does not make sense here because of how coupled identities are to instances.

I feel like this is more of an inconvenience rather than a dealbreaker. Having to point people to a new account ID on the off-chance you lose your domain seems like much less of a problem than having to deal with ATProto's firehose architecture.


> As has BlueSky, as long as you had enough hardware to keep up with the firehose

We've already explained to you twice that this is incorrect, you don't need to do this. And that if you do want to do this for some ridiculous reason, just because, a $5 VPS can do it.

But you do acknowledge latter you are only talking about tangled records.

Currently very few people are worried about this problem, because all of the tangled traffic just isn't that big, and you can drop most of it very quickly with little impact. Relays do allow various kinds of filters though. You could use a service like Microcosm Constellation https://constellation.microcosm.blue/ that lets you find only records for your repos etc. That would work fine for finding the records pertinent to you!

No one does this right now, because the premise is faulty. There just really isn't any difficulty or cost of any note to having all the tangled records piped at you. Hopefully some day this gets worse, and that this becomes a good problem to have! One we already have tools (like constellation) to tackle.

In short: constellation is a (also easy to self host cheap light weight) service for reverse indexing, for finding records pertinent to you. Lots and lots of atproto apps use this for this kind of "find people making records about my stuff".


> for some ridiculous reason

A ridiculous reason, such as being able to interact with the federated world from my own server directly, and not through a third-party service. Why is the simple concept of going to your own server to interact with the entire network, getting content directly from your friends' servers, and receiving interactions (e.g. PRs) directly from someone else's server such an afterthought in ATProto?


The relay exists because it means running your own PDS server is very easy and cheap to do.

You can host your own data very cheaply. If you don't have to serve every single other server, and keep them all up to date, and can just pump some records out at aggregating relays, it makes it much easier for people to be online. You can run a massive PDS on a tiny ancient rpi.

Which is what activitypub doesn't do. It's protocols are very heavy and hard and stateful. Running mastadon or other servers requires peering with every other related server. And it's on you to deliver messages, to push, to track state and progress. All the network work is on you to get your message out. So your server with your data has a ton of work to do. This doesn't scale well. See again Paul's scaling with open social.

If you do want to run your own atproto services, yes, you need to pull from the network to see what is relevant, you need a relay server, you need a pull. And you can! Running those relays is very cheap! The protocols scale really well & is super well optimized to be efficient to do! You can just do it!

The one particular thing you keep trying to demand is what makes AP so hard, so difficult, and scale so very badly. It's the worst part of activitypub, it makes it super hard and super expensive. Switching from AP push model to the relay doing pull model is the secret sauce that makes everything super lightweight and scalable, and that makes sync so much easier.


Yes, the relay design is very convenient for PDS operators on a technical level, but it comes at the enormous cost of having to trust a third party with message delivery, or, alternatively, running services that are much more expensive than an ActivityPub server.

We will in the next couple weeks!

Cool! Will it be based on the spaces alpha?

Indeed. Repos own issues and pulls now! We will publish a post on how we do this very soon (hint: we store them as git objects within the repository and project them as an AT Protocol MST -- hence making knots PDS-like).

We already do.

Thanks. Now, my outie can enjoy all SHAs equally and not show preference for any over the others.

> I suppose in the long run we really shouldn't be assuming that code storage is just Always There or easily cached somewhere, but I anticipate some growing pains in the mean time.

Pretty much. We want to make running your own git remotes as easy as possible. Lets you scale on your own too.

> ATProto doesn't seem to have the benefit ActivityPub has where if the instance I wanted to view content on was down I can usually find some other instance that's gotten the messages.

It does give you (or anybody) the ability to index this data independently, and not miss messages -- which AP doesn't afford. Different tradeoffs!


> It does give you (or anybody) the ability to index this data independently, and not miss messages -- which AP doesn't afford. Different tradeoffs!

Someone (or some group) could also in theory go fully content-addressing with their data store, and make content available based on their hash, effectively layering that missing benefit on top of the existing architecture. Someone could probably vibecode this together in some hour(s) :)


Something like radicle? https://radicle.dev/

I do agree that the sweet spot in federated git hosting could be a system merging the features of tangled with the features of radicle

But I have to admit that the design tradeoffs are really different


Hi! Tangled co-founder here. We're super stoked with this launch -- we've stabilized our AT Protocol lexicons, completely overhauled our architecture and UI, and made self-hosting the entire stack (or parts of it!) incredibly easy. We've also shipped support for organizations, and have private repos rolling out in the following couple weeks.

Happy to answer any questions at all.


I’m excited about this direction. I’ve moved most of my own projects onto my own Forgejo, but miss it being easy for remote strangers to open PRs and such without registering in my system, which I have zero desire to allow.

So what’s the state of Tangled today? Say I have a Tangled server (instance? host?) up and running with my repos. Some stranger wants to contribute. What do they have to do before they can open issues or send PRs or whatever?


That's exactly the problem we want to solve. Of course, they still need identity of some kind -- in this case, they'll need an AT Protocol account -- either by self-hosting a Personal Data Server[0], or signing up with a provider such as Tangled or Bluesky/Blacksky, etc. This is the last ever account they'll need (and it's theirs, and portable!). They can then begin contributing; they'll use this same account for all of Tangled and other AT Protocol services.

Your Tangled git server that you'd want to run is a 'knot'[1]. It's not exactly analogous to Forgejo because it's headless, but that makes it super light on resources to run.

[0]: https://atproto.com/guides/the-at-stack#pds [1]: https://tangled.org/docs/knots/self-hosting/


Got it. I'm still trying slightly unsuccessfully to wrap my head around this, but I've run a Mastodon instance for about 10 years and it took me a little while to wrap my head around that, too.

This is great. I'm delighted at the idea of having my own knot hosting my projects, talking to my friend's knot, and coordinating on a global project's knot, all without having to lock everyone into one centralized point of failure (even mine). Amazing. I love it!


all they would need is an atproto account. you can get one of these on Tangled itself, or bring your own. they can then open issues on your repository.

soon, repos will be able to declare a contribution policy: presently its open to all (anybody can open an issue), but owners can choose to limit this to just contributors for example.


How soon will that be, do you suppose? It's not a blocker for most of my projects, but I can think of a few that I'd like to keep more closed (while still making them publicly cloneable). That doesn't keep me from using Tangled today for the open repos. It just means I'd need to have at least a couple of sharing setups - Tangled plus Forgejo - going at the same time for a while.

Also, will Tangled support private repos that are only visible or fetchable to specific people? Would that even make sense in its model?


for collaboration policies: its already part of the protocol, just needs to be baked into the flagship client!

private repos are coming very soon, we have a working demo of private repositories.


Love it. Thanks!

Tangled looks great, and I may consider self-hosting a knot. But what I am curious about, and what I weigh in such decision, is what your business model is. Right now it isn't clear from the website, so I hope you are perhaps willing to share a bit on that here.

What are your thoughts on https://forgefed.org/?

Are there any plans to add HTTPS clone/push support? For those who want to self-host their own Knots, an obvious approach is to put them behind Cloudflare. And being SSH only makes that complicated.

it’s a little dated now but i did a port to support this, entirely feasible and scaleable: https://tangled.org/solpbc.org/aerie

i just found this too, more recent, possibly better! https://tangled.org/darko.mx/tangledart


I wanted to try this but when I signed up for a BlueSky account it was immediately banned by some automation. I appealed but never heard back.

don't need to signup for bsky to try out Tangled however, you can directly just signup for an account with Tangled.

Congrats on the release - private repos are going to be huge. How do you see the positioning vs Buzz and Radicle? Do you see them doing anything better now, and are you planning to try to close any specific gaps?

From my very limited testing private repos were the big missing piece; interested in other areas yet to be filled in.


One of my biggest questions about the forged about is what kind of CI (and somewhat CD) do they offer?

What can I expect as a developer using Tangled to build (and deploy) my app? What is the native platform? What are typical other CI systems that have been adapted to work on Tangled (Dagger, Drone, whatnot, especially if there are repos to demonstrate the adaption)? What can I expect as enterprise or lone developer using Tangled or self-hosting or federation?

The system is called Spindle, but what about it? What does it take inspiration from, what are things like it that would help us spool up on this?


Tangled has its own CI named Spindle. However it is not limited to that as there is for example https://tangled.org/mitchellh.com/tack which allows connecting different CIs to Tangled.

Are there plans to add http(s) support to knot? I was planning on hosting my own knot at home, but didn't want to expose my home IP (I use cloudflared for other services that need to be exposed)

already exists :)

its undocumented at the moment but you push over https as well.

somebody has set up a git credential helper here: https://tangled.org/pds.dad/tangled-core/blob/feature%2Fgit-...


I wish I knew this before I setup mirroring of my personal forge to github haha.

> made self-hosting the entire stack (or parts of it!) incredibly easy

Back when you first launched, I thought running a knot was already pretty easy :) Could you expand on how it's different now, and what part(s) aren't now easy to self-host, if there is any?


self-hosting the appview was a bit trickier back then, but we have worked towards making that trivial. it now runs entirely in-memory, and is completely stateless (rebuilds the state of the network from scratch each time).

https://tangled.org/docs/self-hosting/indexer/

we have also stabilized lexicons, so if you are a selfhoster, you can expect to not require a breaking upgrade!


The article, while interesting, is clearly Claudeslop.


Clearly the author is not a native english speaker (from the other blog posts) i found skimming it interesting nonetheless, i hate slop as much as the next guy but appreciate the language barrier braking qualities of llms.


Bluesky?


Great! Then we've got a hosted solution at tangled.org. :)


no thanks, not interested ;]

atproto is a red flag for me now, toxic leaders at bluesky, who effectively control the protocol, it's not really open for others to have a say in what it looks like

you also don't have private repos and you will need to have centralized app view permission addons to have parity with user expectations, given the weak permissioned data proposal bluesky chose (their own proposal that works for what they need)


Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

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

Search: