Gleam Is Now on Tangled

175 points by nerdypepper 7 hours ago on hackernews | 113 comments

propstober | 6 hours ago

if anyone has more info on tangled would love to hear. been looking for a decentralized git provider for a while. started self hosting but was missing the social element

p-e-w | 6 hours ago

I’d be interested too. Besides the fact that the company appears to be registered in Finland, I haven’t been able to find any information on who’s behind this, how they are funded, etc.

verdverm | 6 hours ago

https://blog.tangled.org/seed/

Similar groups to Bluesky (bain capital crypto) and some notable CEOs

GitHub's moat is not code hosting, they will need to build out the equivalent of Actions and figure out what private repos look like. Unclear how they intend to IAP with corporate identity systems, I have a hard time seeing ATProto break into that category.

p-e-w | 6 hours ago

> GitHub's moat is not code hosting

Of course not, it’s the number of people who are already signed up.

Instagram’s moat also most certainly isn’t a scrollable photo timeline.

verdverm | 6 hours ago

There's more to it than the number of people.

Actions, GitHub apps/external integrations, identity/permission management

The most significant, near-term, non-moaty gap is still private repos, which isn't all that big of a feature on the surface, but will have major work under the surface because of how bluesky is designing private spaces.

I also think being primarily nix/jj focussed turns a lot of people away. Those techs are not my cup of tea, so I don't see myself using tangled.

I'd be curious to hear tangled's thoughts on the path to financial sustainability. Without something that sounds plausible, I'm unwilling to migrate my code forge, for risk of going away / obsolescence.

arikrahman | 6 hours ago

I see it attracting more people than it dissuades. You can use jj as just a prefix for Git commands like jj git init. Yet you get supercharged repo navigation abilities. If obscelecene is your concern, jujutsu is VCS agnostic and doesn't have to use Git in the future.

Nix is as simple as it gets, even better than docker. Just 'nix run' whatever flake file someone gives you and everything works magically.

This codeforge going away can't happen for me because I self-host it.

dgellow | 6 hours ago

Oh they raised a pretty large seed. But they don’t seem to have a business model, or at least I cannot find details on how they plan to make an actual business

OneDeuxTriSeiGo | 6 hours ago

I'm not sure what's been published but as someone who plays with tangled as a hobby the immediate monetisation paths I could see are:

- Charging to bypass the (admittedly very reasonable) rate limits on the main appview

- Providing paid hosting tiers for private git knots, high traffic git knots, git LOP knots, CI runners/spindles, web page hosting (via their github pages equivalent), etc

- Introducing a paid-for and permissioned nix binary cache platform since their CI spindle system is already nix-first.

- providing paid PDS hosting for corporate/business customers with SSO integration etc.

- SLAs and support contracts

There's enough options here that they have a pretty flexible path towards profitability.

dgellow | 3 hours ago

There are always options, I’m interested to know what their actual plan is. Given that seed investment and who the investors are I would be worried they would try to extract value from people code by training on it

vixalien | 6 hours ago

I think it's currently non-selfhostable. You can host your own git server (knot) and CI runner (spindle) but not really the UI/API itself, but they're working on changing it. Currently it's a bit centralised

[OP] nerdypepper | 6 hours ago

you can selfhost the appview: https://blog.tangled.org/bobbin, which makes all of tangled fully selfhostable now.

arikrahman | 6 hours ago

It is self-hostable, but Tangled could disclose that great fact a bit more upfront.

Arubis | 6 hours ago

[Radicle](https://radicle.dev/) gets a wee bit closer. It’s selfhostable and federated. You’ll have a hard time finding something with the same social gravity well as GitHub; it remains to be seen whether that’s a separable element or if it needs to ship as part of the forge itself.

jeremyjh | 6 hours ago

This looks like a much more sensible design for code repos: all the artifacts live in the repo.

theptip | 5 hours ago

I’ve been testing Radicle and it’s more focused on the distributed protocol for federating git repos, I.e. the data plane. The social / coordination control-plane angle is really thin, following users and repos goes by opaque IDs, etc.

It could be a better solution for agents that don’t bounce off such mundane complexity. It could be better for private repo federation (eg private collective or agent swarm.)

I’m interested in Tangled for the OSS/community aspect, it seems to have an advantage there with the richer identity layer for humans.

jeremyjh | 5 hours ago

Issue and PR content are not social artifacts, they belong in the repo or at least its hosting instance. Likes and activity feed are the sort of thing that belongs in the social layer.

blackqueeriroh | 55 minutes ago

Issues and PR content are absolutely social artifacts, as they communicate information to others, whether opened by the repo owner or not. In fact, other people can interact with them, and are supposed to do so, which makes them even more inherently social.

Certhas | 4 hours ago

Can I interact with and discover any federated instance without having to know it exists?

My experience with Bluesky Vs Mastodon really showed that the friction of federation in the latter can really kill the experience for me. I think we need something like Signal is to WhatsApp but for GitHub and my impression is that the ATProto world is the only one with the potential to deliver this.

arikrahman | 6 hours ago

How does tangled compare with codeberg? Seem like a cool project, wonder how the migration story is.
I use both. Tangled is missing some important features (private repos, protected branches). The ui feels more comfy to me, though. And Codeberg is quite slow for me.

Idk if I can give you toooo much about migration, since I haven't used any CICD kind of stuff; just having repos to push to is super simple if you use their hosted knots. Also not too complicated to host a knot yourself; I'm hosting my own knot, and I like that I own at least one of the servers that I'm pushing code to.

arikrahman | 6 hours ago

I just switched to Tangled. It was actually very similar experience. I will be using Tangled henceforth!

nicce | 5 hours ago

Tangled is also VC funded, something to consider.

preisschild | 3 hours ago

What makes Tangled different from other forges like Forgejo/Codeberg is that its built around the ATProto federation protocol
Except it isn't just working as a federation protocol here, it is also acting as an identity provider and a data store for you social interaction on a repo.

Planktonne | 6 hours ago

This post needs a bunch more context; right now it's only immediately accessible to people who don't need the announcement [1].

[1] https://knowyourmeme.com/memes/curtains-for-zoosha

Arubis | 6 hours ago

The irony of that linked page dragging a reposted mid tweet into multiple scrollable pages of “content” and in doing so reading exactly like a celeb news article

Planktonne | 6 hours ago

I think it would only be irony if it was guilty of the same issue it's complaining about in celeb news: not sufficiently explaining the context. If anything, it's too exhaustive.

nvme0n1p1 | 6 hours ago

Yeah, it turns out human culture has a lot of depth and complexity, even so-called "mid" culture. If you think you can write a better explainer, I'd love to read it.

Arubis | 5 hours ago

I absolutely could, by removing everything past the first 3-5 sentences in the article. But that probably wouldn’t satisfy the site owner’s desired metrics and SEO targeting.

andrewflnr | 4 hours ago

Actually that means they did a great job of writing a BLUF article. If you only care about the most basic details, you're free to click away after reading the first paragraph. They didn't even mess with my history, a very low bar many similar websites fail to clear. You only need to scroll down if you want more background and context.

andersonpico | 4 hours ago

I mean, you could. I've read your blog and it's quite well-written, not only just better-than-know-your-meme. Thank you btw, some really nice reads there.

ryukoposting | 6 hours ago

wffurr | 6 hours ago

The fact that I know what both Gleam and Tangled are in this context means I spend too much time on HN and not enough time doing useful things.

classified | 3 hours ago

So is it true that JESTERMAXXING at the club is the new meta?

https://trending.knowyourmeme.com/editorials/guides/what-is-...

bmitc | 3 hours ago

I have zero idea what your link has to do with the original post, which seems to just be the Gleam language on some new version control host?
Exactly, even if one doesn't know about either of these things (gleam & tangled), all it would take is one or two searches or even better they just visit the homepage. I suppose people have become so used to reading llm generated bluff that simple things don't appeal/make sense to them anymore.
Yeah it should definitely start with a bit of explanation, perhaps, it should start with what this site (hn, aka, hackernews) is even about!

sippeangelo | 2 hours ago

It gives "Bleeb is now Scrumple! Snap me on Simpr! We're excited to share that Gringl will merge with Jigglify!"

jordand | 6 hours ago

I'm willing to give Tangled a go too with a project, but feature set to bridge the gap still has a long way to go (no idea how long it'll take). Github outages (especially when just viewing repos!) are getting way too disrupting.

julianlam | 6 hours ago

Why Tangled instead of something more established like Codeberg, or if f/loss, Forgejo or Gitea?

Just because ATProto vibes?

[OP] nerdypepper | 6 hours ago

disclaimer: i maintain tangled, some reasons to try might be:

- tangled federates: https://blog.tangled.org/federation

- native stacked PRs: https://blog.tangled.org/stacking

- tangled implements mitchell's vouch system: https://blog.tangled.org/vouching

benrutter | 6 hours ago

> - tangled federates: https://blog.tangled.org/federation

People have been talking about federation across forges for a couple of years and seems like its finally at least close to being a real thing!? That's absolutely amazing!!

yep, I host two separate Tangled knots; one for my personal use and another for work at the Cambridge Computer Science department. Having large git repos on a server near me is great, and because I can sync the bare git repos it’s easy to run a local forge as well.

ashu1461 | 2 hours ago

What are some of the practical use cases of federation in git workflows ?

arikrahman | 6 hours ago

Yes, separation between git storage and identity. Very simple to use your own Knot instead of the default knot1, just enter your own website link to it. Not as beholden to Github downtimes that are out of your hands.

I was using Codeberg this morning, now I'm on Tangled. All I had to do was switch remote origin.

jeremyjh | 6 hours ago

It also has a pretty fundamental design flaw: issue /PR comments belong to the server where the commenter is hosted, not to the repo. I’m sure they will find a workaround but finding that reduced confidence they actually understand the problem they are solving.

[OP] nerdypepper | 6 hours ago

this is changing very soon :)

see knot2[0] for some initial experiments: https://tangled.org/oyster.cafe/knot2

> As time goes on we are re-assessing the idea of users owning what is "collaborative data" (issues, PRs, etc.) on their PDSes - soon may come the day that an issue also lives on the knot as a source of truth, with an accompanying pointer record on user PDS to attest that it's theirs

We’re solving for this very issue. Issues & pulls will belong to the repo, backed by a “COB” (collaborative object) system.

chaosharmonic | 4 hours ago

> something more established like Codeberg, or if f/loss, Forgejo or Gitea?

Codeberg's git hosting is a Forgejo instance, actually.

Yes, frustration with GitHub outages certainly made me start to look elsewhere.

gchamonlive | 6 hours ago

Wish a git forge would support both Actions and Gitlab CI pipelines. Reuse community workflows for simple actions, default to Gitlab CI for anything custom.

[OP] nerdypepper | 6 hours ago

the way the CI runners on tangled work, you could just plug in your own bespoke runner as long as it fits the interface. we implement two such "engines": nixery and microvm. you can plug an engine like tack[0], which can act like a bridge interface to other CI systems. there is also loom[1], which is a kubernetes based engine.

[0]: https://tangled.org/mitchellh.com/tack

[1]: tangled.org/evan.jarrett.net/loom

gchamonlive | 6 hours ago

The problem is that interface isn't enough when in Gitlab the CI natively integrates with other systems, like test reports displaying results in merge requests. This would certainly enable hybrid pipelines through.

pbjerkeseth | 6 hours ago

First hearing of tangled, tried signing up and this first time user experience needs to be tightened up. Currently unwilling to sign in because of the friction I ran into using a password manager. From what it looks like they:

- ask you for an email

- send you an email

- ask you for a username

- except you cant actually log in with this username directly

- im being forced to learn some new social url protocol

- why does the auth flow pass me through a new ui/url that seems owned by the project but visually disconnected (eg, different branding/colors for the form)

- my password manager couldnt bridge the gap

I'm notoriously fickle about dealing with signup/login friction, but the project sounds cool so hopefully my feedback is more actionable than curmudgeony.

whywhywhywhy | 5 hours ago

Better than my experience with it, just says:

>Failed to complete sign up. Try again later.

bpavuk | 5 hours ago

ha, I could not sign in and I already have an Atmosphere account!
Fwiw the sign up/in process for me was "click login, type in my existing blue sky handle, type in my password (into a bsky domain name login prompt), click authorize".

I expect that's the... more optimized flow at this point in this forge's life.

> - why does the auth flow pass me through a new ui/url that seems owned by the project but visually disconnected (eg, different branding/colors for the form)

Probably because of the above, identity isn't tightly associated with the app you're using here so they've stood up their own infra for it but probably not spent too much time on making it good.

> - except you cant actually log in with this username directly

Really? That's strange... I haven't made a native account... what do you need to login with then?

pbjerkeseth | 5 hours ago

a "username.tngl.sh" schema, which is that I meant by the unfamiliar protocol in the next bullet
Oh, that is unfortunate. Bluesky implicitly adds the .bsky.social domain name. Hopefully tangled starts doing the same some day.

extraduder_ire | 3 hours ago

Does it? I just tried logging in without typing the full username and it didn't work.
Blue sky... Yes, at least for me. I double checked in private browsing before posting that claim.

esafak | 5 hours ago

If you too are wondering their CI story, it is based on NixOS:

https://blog.tangled.org/ci/

https://blog.tangled.org/spindle-microvm/

Curiously the link to the spec is broken: https://tangled.sh/@tangled.sh/core/blob/master/docs/spindle...

LukaD | 5 hours ago

I just tried out tangled for the first time and unfortunately it seems buggy beyond being actually usable. I created a repo but can't look at it because I get a 404 for it. The login was quite painful as well as I needed several attempts to enter my atproto handle (copy-pasted every time, so no typo). But I'm glad more people are working on git hosting options.

embedding-shape | 5 hours ago

> I created a repo but can't look at it because I get a 404 for it.

I remember back in early GitHub days this used to happen too, as the repository was asynchronously created but the redirect was immediate, then after a few seconds you refreshed the page and it was there. At one point they added the interstitial that I think is still there, that basically does the "waiting then redirect" for you.

LukaD | 5 hours ago

Oh yes, seems like that's it. I can now view the repo. A bit annoying when creating a repo redirects you to a URL that will give you a 404 initially (and at least for minute or so, that's how long I tried).

sc68cal | 5 hours ago

I tried Tangled and tried to run my own Knot, the problem I had was I'd create a repository, have it get created correctly on my Knot, but then would never see any updates to the repo on Tangled itself.

The main issue is that even though I had the knot with IPv6 connectivity, it only really reliably worked once I enabled lots of IPv4 NAT'ing and also created a dummy A record for the Knot.

This is a known issue - https://tangled.org/tangled.org/core/issues/494

HeavyStorm | 5 hours ago

What's tangled? Which Gleam?

sbuttgereit | 5 hours ago

I guess this is one of those cases where, "if you know, you know."

I'm not sure of the link on the post though... I didn't see anything at all that jumped out as pertinent to this "Tangled" thing. I get that many posts on HN just aren't meant for me... but this seems to take that to an extreme.

Edit: yes I see the URL is Tangled... But that is a very subtle cue that I didn't notice until the third time I clicked through to see if the landing page really said nothing about Tangled.

YorickPeterse | 3 hours ago

What's a search engine?

schnebbau | 3 hours ago

Smashly and GoFlam have merged.

Grimbl and Sporkify are joining forces.

GetSocks is now on Zoobazoop.

lolptdr | 2 hours ago

Curtains for Zoosha? K-smog and Batboy caught flipping a grunt
Don't open the story, don't follow the links, and last but not the least don't read the texts!

phplovesong | 5 hours ago

Github is fine. I know it has issues, but for the day to day random OS gig it has never failed me.

jdiff | 4 hours ago

Project's still on Github, it hasn't migrated or anything.

lavela | 5 hours ago

I'd love to hear why they chose a VC funded forge over e.g. Codeberg.

Doesn't really fit the 'friendly language' claim IMO

jdiff | 4 hours ago

They're still on GitHub. This isn't any sort of official transition. It's just now also on this other ATProto-based forge.

lavela | 4 hours ago

So I assume you know that tangled being ATProto-based was the reason for going there?

And please explain how it's not a choice when they are still on GitHub.

jdiff | an hour ago

No, Tangled's ATProto relationship and its social features are just the only differentiating factors.

They mirrored their repo somewhere else. An additional location does not make it less friendly.

shimman | 2 hours ago

We all know why... as a condition of some monetary support. It does give a sour taste, really shows what core values are: money > community. I'll just focus on using elixir for a project instead.

lavela | 2 hours ago

No I don't know this. Do you have any source for that?
I wish! Alas, the Gleam project continues to be under-funded and we have not got a single penny from any venture capital company.

If anyone would like to give me a large amount of money in exchange for my publishing a mirror on your git forge, please get in touch ;)

While the way that Tangled is funded is not my preference, I see great potential in atproto for improving the internet. This and and a lot of interest in the Gleam community for the protocol made me decide it was a good place to host a mirror of the Gleam repository.

nasso_dev | an hour ago

"being on tangled" really just means "publishing sh.tangled.* atproto records"

the beauty of atproto means that you are in no way tied to the VC funded company behind the web app available at tangled.org. you merely publish your git repository using a protocol that this app will pick up and present with a nice UI

any other app that speaks atproto and looks at those same sh.tangled.* records will be able to access everything in the same way

and even the git repository itself doesn't need to be hosted by tangled the company, you can host your repository yourself. all you need is a server that can speak git, ssh, http and websocket

isodev | an hour ago

> the beauty of atproto means that you are in no way tied to the VC funded company behind the web app

This is false: you’re tied to both tangled (unless you want to self host a forge, which if you did you wouldn’t have picked tabgled) and Bluesky for your login to keep working (unless you want to self host a complex constellation of social media components).

blackqueeriroh | 58 minutes ago

Weird, I host exactly one thing (my PDS) and I am not at all tied to Bluesky for my login to keep working. Everything else is already publicly hosted by MANY others.

nasso_dev | 49 minutes ago

> you’re tied to both tangled (unless you want to self host a forge, which if you did you wouldn’t have picked tabgled)

this is true today only because nobody has made an alternative "frontend". but the data is there, public, for anybody to see. they can't take it from you even if they really wanted to. in fact, tangled has been working on making it easier for such third-party "frontends" to exist: https://blog.tangled.org/bobbin/

> and Bluesky for your login to keep working

you seem to be misinformed. "your login" is handled by your PDS, whichever it is. self-hosting a PDS doesn't require you to host anything beyond a sqlite database and a websocket connection. they are easy and very cheap to host, nothing like a "complex constellation of social media components"

today you can already 100% use atproto apps without having any ties whatsoever to bluesky:

- data: non-bluesky-hosted pds (either your own or some other host) for your data

- identity: the did:plc directory is managed by an independent swiss association, but you can even use did:web if you really want to

- relays/apps: blacksky is an example of a fully independent stack

sergiotapia | 4 hours ago

"federation" has a certain stink to it, I regret creating an account just now. I didn't realize it was that type of website.

starkruzr | 2 hours ago

girl what

manincharge | 3 hours ago

The linked page creates more questions than it answers. Do we need to disentangle this?

vvern | 3 hours ago

How are folks doing CI on tangled?

bewuethr | 3 hours ago

With "spindles", apparently: https://blog.tangled.org/spindle-microvm/

ashu1461 | 2 hours ago

Lot of new buzzwords learned today.
lol, true! Even for a single side project, that probably no one is gonna use, I often struggle for hours while choosing a name, meanwhile these folks...

ashu1461 | an hour ago

Reminds me of this as well https://github.com/gsaslis/greek-names-in-software :)

Axios, Argo (CD), Kubernetes, Prometheus are all greek names

ianhanschen | 3 hours ago

bubble-ass headline

kimbernator | 2 hours ago

As someone who has no idea what either of these things are, this reads like a satirical headline. I get an email like this about my company's myriad platforms nearly daily

blackqueeriroh | 32 minutes ago

Congratulations! You’re an adult on a website. If you do t know what something means, you have the ability to click the link and learn, which would’ve taken you far less time than this pointless snarky comment that’s been made so many times already.

At least try being original.

isodev | 2 hours ago

Picture this: someone “moderates” your bluesky account for some unrelated reason and you’re no longer able to manage your own source codes…

stavros | 2 hours ago

Isn't that the same as Github "moderating" my Github account for some unrelated reason? Also, since Bluesky is decentralised, can't I just host my own data?

isodev | an hour ago

GitHub - sensible folks have more than one account with access to critical bits. The really important things are probably mirrored.

Bluesky’s decentralisation is a “yes but it’s complicated and you can’t _just_ do anything”. I like that they’re experimenting with “apps” but source control feels a bit too far.

blackqueeriroh | 34 minutes ago

No it’s not! You’re just spouting falsehoods now.

videah | 2 hours ago

If this is a concern you can just migrate to a different PDS

isodev | an hour ago

Apparently, that’s not enough. You will also need your own “app view” which means you will be self hosting an over engineered forge with social features you can’t use… so why go that road to begin with is beyond me tbh.

blackqueeriroh | 35 minutes ago

This is incorrect. You don’t have to host your own tangled appvew to log into tangled without having your atproto account on Bluesky’s PDSes.

You CAN host your own Tangled AppView. You CAN host your own knot. You DO NOT have to in order to self host your own PDS. Each of these layers are decentralized from the other.

nasso_dev | an hour ago

this is like complaining that you can't login anywhere because google banned your gmail account...

isodev | an hour ago

And we don’t complain about that because nobody uses “sign in with google” for mission critical stuff. It’s absolutely a choice to tie all your things to a single corp.

nasso_dev | 58 minutes ago

im not even thinking about "sign in with google" here tbh im just thinking about how if google decides to block your access to gmail you won't be able to receive emails for things like verification codes, account recovery etc..
This regularly happens with Microsoft's GitHub. You can also opt to not use Bluesky for authentication.

blackqueeriroh | 37 minutes ago

Depends on the type of moderation. Most moderation, which happens via labels on Bluesky, doesn’t prevent you from logging into your account. That would require a full suspension or ban, which is much rarer. And, as others have noted, you could just move to a different PDS. You don’t even have to self-host!

hnarn | an hour ago

I have no idea what Gleam or Tangled is, so for me this headline might as well be an article from The Onion satirizing HN. I also refuse to believe any of these two things are large enough, like say Postgres, that one can claim everyone should know it. Surely writing an informative headline for ”hackers in general” can’t be that difficult.

paulddraper | an hour ago

If you click on the title, it will tell you more.

Gleam has had many dozens of front page posts here.

Tangled is a niche GitHub alternative, but has also had previous history.

HtmlProgrammer | an hour ago

Flink has acquired Cajoo

speerer | 44 minutes ago

For some context (which people seem to be wanting): Gleam is an interestinf language that is very tight and small. I met the folks from Gleam at the recent Ubuntu Summit and was struck by the talk they gave which made the point (about the design philosophy of staying small and careful creation) excellently. It's very watchable, and Giacomo later explained (when I asked) that he'd hand-animated every transition. Which re-struck me as a doubly good way to reinforce the point of the talk, which was itself small and carefully created.

https://youtu.be/E6_JqYMeNqs

https://discourse.ubuntu.com/t/gleam-and-the-value-of-small/...

https://en.wikipedia.org/wiki/Gleam_(programming_language)