Walgit – a Git server that is one binary in front of an object store
github.com
github.com
But I now understand the growth in Github's activity that led to its instability recently. Folks just see a project (Cursor's Origin), open up a claude session with a couple harness, and just throw a lot of money, and external energy at generating what will most likely end up being garbage.
But this garbage looks and feels good at the onset, and so a few iterations happen, more PRs, more commits until it dies down.
In the end, almost nothing of value was created, it was just machine creating stuff for other machines, while humans were mostly spectators of an illusion.
Rinse and repeat.
Prior to this it would have been the millions of throw-away "hello world" intro projects, or "todo app" websites. Hell - think of how many people wrote "facebook clones" back in the day.
The author is likely still gaining some skills & experience - although they're more likely project management & ops style skills than technical coding skills (ex - what does interaction with this look like, what's the desired cli surface, how do I configure/deploy it, etc).
Intellectual property is pretty much always going to be a case where 99.999% of everything gets thrown away. Because the cost of duplication is zero, so the model trends very hard towards a "winner take all" popularity contest. A very small number of projects will see large success, everything else will likely be gone in a couple years.
---
If anything, I quite like this new space. I no longer have to worry about trying to make software "big enough" for other people to use. Previously, it would take a large enough investment that simply scratching my own itch was prohibitively expensive - so I had to be picky about what I would pick up and work on.
Now I can bang out all sorts of things designed just for me.
I needed a way to limit screen time for kids, and existing apps are both expensive and junk. Cool - local llms wrote me a new home app for my android tvs in an hour. It does exactly what I want, and nothing else.
I wanted to point my Home assistant audio satellites at unsloth studio instead of ollama. Cool - local ai in unsloth picked apart the ollama implementation and updated it to work with unsloth.
Wanted a new ph monitor for my hydroponics setup, with an auto-doser (some super cheap peristalitic pumps), awesome, an old arduino plus an llm and it runs just fine.
etc...
I love it. It's simple to get relatively effective results on a scale of 1, for a scale of 1. I don't have to worry about trying to get community help or onboard people, or pitch it as a product, etc... It's mine, it'll last as long as I want. It is trash? Sure - to you (seriously, it'd be hard to run, is explicitly designed for my stuff, has no docs, etc... I'm under no illusions that it's not garbage in the broader context). But it's treasure to me.
The thirty-five thousand other "S3-backed CLI tool for AI" projects are now obsolete.
Turns out this is kind of a horrible idea in practice in ways that only really turn up when you try to square peg -> round hole as hard as I did (pushing gcc.git took multiple hours due to filesystem iops latency, turns out a thing designed for nanoseconds of latency copes poorly with a setup that has milliseconds of latency). I'm probably going to end up using the filesystem as a staging area and then have the git server asynchronously unpack git objects into individual S3 objects. I'm still not sure how to best implement merging or other git operations, but this is just kind of a hard problem in practice.
> no state that matters
PicoMQ also showing up today, a Durable Streams implementation on object store (S3). https://news.ycombinator.com/item?id=49421806 https://picomq.com/
Celld, a Durable Objects implementation, is also heavily heavily using conditional put, for all manners of coordination. https://news.ycombinator.com/item?id=49185430 https://celld.dev
Longstanding SlateDB is built around it too! https://news.ycombinator.com/item?id=41714858 https://slatedb.io/
Yet another fine example here! Data comes in, we make sure we don't overwrite work, we write what we have.
And it has since Terraform v1.11
The buckets then are actual remotes and double as static sites. GitSocial website itself is hosted on Cloudflare R2.
Up to the reader to believe it or not.
But if you weaken what you want there are several already.
[0]: slivingdoc.dev
There's a git server, it's installed when you install git, and it really does work very well.
> every instance is a disposable cache that revalidates with one conditional GET. No database, no Redis, no gossip, no leader, no node identity.
Git famously doesn't use that either...? What is the point?
> "just put the repositories on NFS" failed at every large host that tried it
Yeah, that's a terrible idea. You can just host Git on a server or two. Where's the limit? How much does it scale to put a single 64 core server with a 10 gbit link on a local network and put ONLY git on it? Is that really that slow and bad? You can give it 20+ TB of RAID storage for VERY cheap. What is the limit you're hitting? 200ms ping to it from across the world? Is that the issue we're solving?
> walgit takes that as-is, and adds what a monorepo on small machines needs: serving refs and web pages for a repository whose packs will never fit on the instance (a remote reader over HTTP range requests), keeping commits and trees local while blobs stay in the bucket (the history pack), and moving clone bytes out of the server entirely (bundle-uri: fresh clones and catch-ups are static files the bucket or a CDN hands out).
So it's about monorepos that, for some reason, have blobs large enough to be impossible to serve via range requests, shallow clones, etc? Are people committing binary blobs of 1TB+ to their git? There's Git LFS, that hooks up an object store (like S3) to git for large files.
As an aside, I kind of adore that Tobi's latest post on his website, from 2019, talks about shopify's carbon emissions, meanwhile today his github is full of AI slop projects and enabling others to "vibe" even harder. He also missed that his clanker wrote an announcement post; https://github.com/tobi/walgit/blob/main/docs/announcing-wal...
Tobi didn't write any of this. He probably has never even read it.
The blog article explains why this is needed — that is, needed by any git-based code forge that wants to scale to many, many repos.
As an aside i keep meaning to review Git LFS to see if there's some fundamental reason that it requires a server. Eg could Git LFS write directly to an Object Storage?
I run a lfs proxy at home and it bothers me that it exists heh. Though i don't run ObjectStorage (minio/etc), so i guess swapping out my lfs server for OS wouldn't really net me anything - but still, feels like it was designed first and foremost for the Github API rather than generically for Git users with Git principles.
[1] https://www.cbc.ca/news/canada/shopify-ceo-endorses-idea-to-...
Amazing he still codes. But likely more experiment than prod level.