Feier zur Erstellung des milliardsten Repositorys auf GitHub
(github.com/AasishPokhrel)- Der GitHub-Nutzer jonmagic gratulierte in Issue #1 zur Erstellung von GitHubs milliardstem Repository und teilte mit, dass das Repository
shitdiese ID habe - Als Beleg wurde eine
curl -s-Antwort angeführt, die id1000000000,node_idR_kgDOOO5rKAA,nameshitundfull_nameAasishPokhrel/shitenthält - Der Kommentarverlauf setzte sich vor allem aus Glückwünschen und Scherzen rund um den Repository-Namen und das 💩-Emoji zusammen; auf den ursprünglichen Beitrag entfielen Tausende 👍-, 😄- und 🎉-Reaktionen
- jonmagic hinterließ einen Link zur GitHub-Dokumentation mit dem Hinweis, dass der Repository-Eigentümer bei Bedarf die Konversation sperren oder das Abonnement beenden könne
- Am 28. Juni 2025 sperrte der Repository-Eigentümer die Konversation und beschränkte sie auf collaborators; am selben Tag wurde ein Kommentar gelöscht
shit als angeblich milliardstes Repository
- Der Issue-Titel lautet
Congratulations on creating the one billionth repository on GitHub!und gratuliert zur Erstellung von GitHubs milliardstem Repository - jonmagic gratulierte dem Ersteller des Repositorys und führte dafür unter anderem das Ergebnis des folgenden API-Aufrufs an
curl -s https://api.github.com/repositories/1000000000- Die Antwort enthält
id: 1000000000,node_id: R_kgDOOO5rKAA,name: shit,full_name: AasishPokhrel/shit
- Die Glückwunschbotschaft enthält ein Wortspiel mit dem Repository-Namen, sinngemäß in der Art: Man hoffe, dass daraus großartiger 💩 entstehe
Reaktionen und Scherze in den Kommentaren
- Die frühen Kommentare bestanden größtenteils aus Glückwünschen und Wortspielen
- „Bin gespannt, was für großartiger 💩 daraus wird“
- „Ich kann es kaum erwarten, bis dieser 💩 durchstartet“
- „Ich werde das forken“
- „Ich hinterlasse einen Kommentar, bevor dieses Issue gesperrt wird“
- MangoCubes schrieb, beruhigt zu sein, dass jonmagic ein GitHub-Mitarbeiter sei
- jordigh parodierte das typische Format von Issue-Kommentaren mit einer Frage nach einem „voraussichtlichen Termin für einen Fix oder einem Workaround“
- Danach folgten weitere kurze Kommentare wie
💩,sssssssshitund „peak shit“
Hinweis zur Benachrichtigungsflut
- jonmagic wies
AasishPokhreldarauf hin, dass bei Bedarf die Konversation gesperrt oder das Abonnement beendet werden könne - Verlinkt wurden dabei diese beiden Dokumentationsseiten
Umfang der Beteiligung und Reaktionen
- Im ursprünglichen Issue-Text werden Tausende von Reaktionen angezeigt
- 👍 4524
- 😄 2116
- 🎉 2638
- ❤️ 945
- 🚀 1201
- 👀 611
- In der Mitte der Kommentarliste erscheint der Hinweis, dass 1136 weitere Einträge vorhanden sind, sodass nur ein Teil der Kommentare sichtbar ist
- In den Metadaten werden einige Teilnehmende sowie
+1092angezeigt
Sperrung und späterer Status
- Am 28. Juni 2025 sperrte der Repository-Eigentümer die Konversation und beschränkte sie auf collaborators
- Am selben Tag wurde ein Kommentar von
luckydonaldgelöscht - Am unteren Ende des Issues erscheint der Hinweis, dass man sich registrieren oder anmelden müsse, um an GitHub-Konversationen teilzunehmen
1 Kommentare
Meinungen auf Hacker News
Ich musste an den 100-millionsten Changeset von OpenStreetMap denken.
Ein paar Leute, mich eingeschlossen, hatten locker darauf spekuliert, aber am Ende ging er nicht an jemanden, der es darauf angelegt hatte, sondern an jemanden, der fleißig Karten in Afrika zeichnete.
Im Nachhinein war das ein viel schöneres Ende, und die Person war zuvor sogar schon einmal für einen OSM-Award nominiert worden.
Bei OpenStreetMap sind alle Daten echte Betriebsdaten, daher ist es schwer, einfach irgendwelche Müll-Daten zu erzeugen; deshalb ist es wohl wahrscheinlicher, dass der N-te Commit aus einer spontanen Arbeit von jemandem stammt.
Auch für GitHub ist das ein netter Meilenstein :)
Wer mehr über den OSM-Meilenstein lesen möchte: der offizielle Blogbeitrag: https://blog.openstreetmap.org/2021/02/25/100-million-edits-...
Meine Zusammenfassung der damaligen Changeset-Aktivität: https://www.openstreetmap.org/user/LucGommans/diary/395954
Ich weiß nicht mehr, wie er es letztlich geschafft hat, aber das Team hat sogar eine kleine Party veranstaltet, um diese Leistung zu feiern.
Das ist wohl etwa 15 Jahre her; damals fühlte sich die Arbeit in der Tech-Branche irgendwie spaßiger an.
Cool! Selbst GitHubs eigene OpenAPI Spec hat nur noch etwas mehr als eine Milliarde Repositories vor sich, bis bei Repositories ein int32 überläuft.
Bei Workflow-Run-IDs passiert das bereits.
https://github.com/github/rest-api-description/issues/4511
Bei der damaligen Wachstumsrate wären die Primärschlüsselwerte innerhalb weniger Monate übergelaufen, daher haben wir ziemlich dringend ein Projekt gestartet, um die IDs auf 64 Bit umzustellen und eine Katastrophe zu vermeiden.
Diese Zahl kollidierte mit der LuaRocks-Implementierung in LuaJIT [1] [2], und einige CI/CD-Pipelines und persönliche Workflows von Nutzern fielen aus, was schmerzhaft war.
Es wurde recht schnell behoben, war aber eine interessante Sache.
[1] https://github.com/luarocks/luarocks/issues/1797
[2] https://github.com/openresty/docker-openresty/issues/276
Ich wünschte, ich wäre noch bei Apple.
Die meisten hier wissen vermutlich, dass Apple seit Langem ein internes Tool namens Radar verwendet.
Jeder Radar hat eine ID, also eine Bug-Nummer.
Ein Radar wie Bug #1,000,000 war ziemlich besonders.
Sofern nicht jemand versehentlich das ganze Team enttäuschte, war es normalerweise ein Fake-Radar voller Insider-Witze.
Schon einen einzigen zu öffnen reichte eigentlich, aber weil Radar auf andere Radars verweisen konnte, landete man von dort meist in einem Rabbit Hole und hatte seinen Spaß.
Es war wirklich dumm von mir, nicht wenigstens ein paar davon zu capturen oder auszudrucken, als ich die Gelegenheit hatte.
Leider haben vor ein paar Jahren, als eine runde Zahl näher rückte, Leute Skripte laufen lassen, um genau diese ID zu erwischen, wodurch das System in einen Denial-of-Service-Zustand geriet.
Daher werden IDs in der Nähe großer runder Zahlen heute übersprungen :(
Darin steckt vermutlich eine Lektion zum Schema-Design.
Apropos GitHub-Repository-IDs: Das erste Repository ist hier:
https://api.github.com/repositories/1
https://github.com/mojombo/grit
Das 1000. ist verschwunden.
Vermutlich hat jemand per Skript wiederholt https://api.github.com/repositories/999999999 abgefragt und in dem Moment, in dem es auftauchte, ein neues Repository erstellt.
Repositories lassen sich bearbeiten, also könnte die Person auch mit etwas Puffer mehrere erstellt und dann die gelöscht haben, die nicht die richtige Nummer hatten.
Wenn man sich die anderen Repositories ansieht, die der Autor gestern erstellt hat, war „yep“ wohl die magische Zahl, und „shit“ vermutlich das Eingeständnis, dass es danebenlag.
Erinnert sich noch jemand an Facebooks D666666?
Das war eine riesige Code-Transformation, und der Autor nutzte eine ähnliche Technik, um eine bestimmte Nummer zu bekommen.
Ich weiß nicht, warum man annimmt, dass diese Person absichtlich genau dieses Repository erwischt hat.
Im Ernst: Ich bin ein wenig überrascht, dass GitHub es so einfach gemacht hat, die Rate zu berechnen, mit der neue Repositorys erstellt werden.
Sind solche Informationen nicht normalerweise ein Geschäftsgeheimnis?
Ich sehe nicht, wie man das zum Nachteil von GitHub nutzen könnte.
Ich verstehe, dass viele Unternehmen standardmäßig keinerlei Informationen veröffentlichen, solange sie nicht dazu gezwungen sind.
Früher habe ich auf diese Weise das Wachstum mehrerer Websites verfolgt.
In gewisser Weise ist das sogar interessanter.
Ich frage mich, ob AasishPokhrel dieses Repository erstellt hat, um das milliardste Repository zu werden.
Zwischen dem 17. Mai und dem 10. Juni gab es keine Aktivität.
Ich weiß nicht, ob man die Erstellungsrate von Repositorys berechnen und dann ein Repository genau zur gewünschten Nummer anlegen kann.
Man erstellt einfach weiter Repositorys, bis das milliardste dabei ist, und löscht dann die vorherigen.
Mit der GitHub API ist das sehr einfach.
Das Einzige, was im Weg steht, sind Rate Limits und andere Leute, die gleichzeitig Repositorys erstellen; am Ende ist es also Glückssache.
Ich hoffe, er schreibt das groß in seinen Lebenslauf und findet eine gute Karriere in der Entwicklung.
Der Name dieses Repositorys wurde geändert, und es scheint jetzt auf https://github.com/AasishPokhrel/repository/ weiterzuleiten.
Nicht so toll :-(
Ich frage mich, wie viele Repositorys es insgesamt wären, wenn man lokale Forgejo- und GitLab-Server mit einrechnet.
Einschließlich Subversion, Mercurial, anderer Freunde von git und sogar seiner Feinde.
Hat schon jemand eine Suchmaschine für so etwas gebaut?
Es wäre schön, nach einem Wort wie „a“ suchen zu können, um die Größenordnung grob abzuschätzen.
Ein großer Vorteil des zentralisierten GitHub schien immer zu sein, dass Leute meinen Code tatsächlich finden können.
Nachdem Microsoft GitHub übernommen hatte, habe ich darüber nachgedacht, eine Suche zu bauen, habe es aber letztlich gelassen, weil ich mit dem Marketing nicht fertig geworden wäre und es wohl vergebliche Mühe gewesen wäre.
In letzter Zeit habe ich mehrere Projekte auf Codeberg gestellt und wieder darüber nachgedacht, ob es sich lohnen könnte, aber vielleicht ist mir schon jemand zuvorgekommen.
https://docs.gitlab.com/api/projects/#list-all-projects — aus irgendeinem merkwürdigen Grund nennt GitLab sie offenbar Projekte statt Repositorys.
https://codeberg.org/api/swagger#/repository/repoGetByID — da es von der Forgejo.org-Seite verlinkt ist, gilt das vermutlich sowohl für Forgejo als auch für Codeberg.
Und dessen Freund https://gitea.com/api/swagger#/repository/repoGetByID
Heptapod ist ein „freundlicher Fork“ von GitLab CE, daher funktioniert die API genauso: https://heptapod.net/pages/faq#api-hgrc
Danach müsste man wohl projektspezifische GitLab-Instanzen indexieren: Gnome, GNU (falls sie irgendwann wieder öffnen), die Lage bei Savannah, wahrscheinlich Sourceforge, vielleicht sogar sourcehut.
Wenn ich im Lotto gewinne, würde ich gern den Betrieb von sourcegraph-Instanzen aus der Zeit finanzieren, als es noch unter der Apache-Lizenz stand, und zwar über möglichst viele Orte hinweg, und diese Snapshots dem Internet Archive spenden.
Die Repository-Suche ist noch ziemlich eingeschränkt; sie erlaubt im Wesentlichen nur Volltextsuchen in URLs oder die Suche in einigen wenigen Metadatendateien wie package.json.
https://ohshitgit.com