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

Why does it take $17m to beat Git?

How will you ever get the network effects needed to get sustained users with a commercial tool?

Given Git was created because BitKeeper, a commercial tool, pulled their permission for kernel developers to use their tool aren’t we ignoring a lesson there?


Apparently it takes $17M and a whole team full of people to do what one guy with a chip on his shoulder could do for free.

On one hand that’s true. On the other, the “one guy” there is, like, the guy who does impressive projects “just as a hobby.”

Yeah, it's really burying the lede to call Linus Torvalds "one guy with a chip on his shoulder".

"Why fund $17M towards development of an operating system, when Linux was made by one guy with a chip on his shoulder?"


While he's technically excellent (or so it seems on the outside) he's still just, like, a guy

Uhh, to be fair, if the goal was only to recreate git from 2005, it probably wouldn't cost $17M. I'd hazard a guess that they're recreating modern git and the emergent stuff like issues, PRs, projects, etc. I've also heard that the core devs for git are essentially paid a salary to maintain git.

They're not though, they're using Git internally.

Literally true if it's that one guy you're talking about.

Also, you should hear Linus talk about building git himself, what he built wasn't what you know as git today. It didn't even have the commands like git pull, git commit etc until he handed development over.


I'm not sure if I should take these comments seriously or as a joke...

Thinking it for bit it comes to "what comes after Git" and what does "Git" mean there.

To build better tool than git, probably a few months by tiny team of good developers. Just thinking of problem and making what is needed... So either free time or few hundred thousand at max.

On other hand to replace GitHub. Endless millions will be spend... For some sort of probable gains? It might even make money in long run... But goal is probably to flip it.


Linus built git in 8 days or something.

No he didn’t. He built a proof of concept demo in 7 days then handed it off to other maintainers to code for real. I’m not sure why this myth keeps getting repeated. Linus himself clarifies this in every interview about git.

His main contributions were his ideas.

1) The distributed model, that doesn’t need to dial the internet.

2) The core data structures. For instance, how git stores snapshots for files changes in a commit. Other tools used diff approaches which made rewinding, branch switching, and diffing super slow.

Those two ideas are important and influenced git deeply, but he didn’t code the thing, and definitely not in 7 days!


Those were not his ideas. Before Git, the Linux kernel team was using BitKeeper for DVCS (and other DVCS implementations like Perforce existed as well). Git was created as a BitKeeper replacement after a fight erupted between Andrew Tridgell (who was accused of trying to reverse engineer BitKeeper in violation of its license) and Larry McVoy (the author of BitKeeper).

https://graphite.com/blog/bitkeeper-linux-story-of-git-creat...

You may find this 10-year-old thread on HN enlightening, too: https://news.ycombinator.com/item?id=11667494


That's just being pedantic for the sake of it.

Git is decades old. Of course, there are tons of contributions after the first 10 days. Everyone knows that.

He started it and built the first working version.


He did what needed to be done. Linux similarly has thousands of contributors and Linus's personal "code contribution" is almost negligible these days. But code doesn't matter. Literally anyone can generate thousands of lines of code that will flip bits all day long. What matters is some combination of the following: a vision, respect from peers earned with technical brilliance, audaciousness, tenacity, energy, dedication etc. This is what makes Linus special. Not his ability to bash on a keyboard all day long.

The point was only that Linus didn't build git in 8 days and alone.

Nah, on the 7th day he rested... On the 8th he apologized for his behavior having learned the error of his ways.

On the ninth he roasted some fool.


I wish we had old Linus back just one day to review some vibecoded patch to Linux. I’d love to hear him rant about it.

In a cave, with a box of scraps!

At first I thought it might be a train. “Surely he’s not doing that on a plane“.

Once he showed he went to Hawaii my idea made slightly less sense.


There must be a way to tell them apart in the USB protocol because I’ve never gotten the keyboard prompt on my Mac when I plug one of those in.

But it WAS ultra popular with OEMs. If you had embedded video there was a huge chance that was it.

The big feature of the All-in-Wonder was TV in. You could record, in glorious analog detail that could quickly use up your entire hard drive.

I can remember using an AiW card to play PS2 on my computer screen when my TV died. The latency wasn’t great but we still had fun.

Sure it does.

They used their AI tool to extract the rules for the Apollo guidance system based on the source code.

Then they used Claude to check if all paths followed those rules.


VHS was not worse is better. It’s better is better.

Specifically, VHS had both longer recording times and cheaper VCRs (due to Matsushita’s liberal licensing) than Betamax did. Beta only had slightly better picture quality if you were willing to sacrifice recording length per tape. Most Betamax users adopted the βII format which lowered picture quality to VHS levels in order to squeeze more recording time onto the tape. At that point Betamax’s only advantage was a slightly more compact cassette.

Also to correct another common myth, porn was widely available on both formats and was not the cause of VHS’s success over Betamax.



Not in ways that the market cared about.

Arguably better quality, but at the cost of being shorter. In the great trade off of time, size, and quality, I think VHS chose a better combination.

Importantly, it was so short that it was inadequate. Go beats no go every time.

It depends which definition of "better" you use. VHS won the adoption race, so it was better there. While Betamax may have been technologically superior, in hindsight we can say it apparently failed to address other key aspects of the technology adoption lifecycle.

Who cares? It couldn’t hold a movie on one tape. Thats what the market ended up selecting for. As soon as renting movies took off Beta lost.

When they compromised quality to get there, they were just more expensive.

And later S-VHS improved quality anyway.


So perhaps this is a regression specifically in the arm64 code, or said differently maybe it’s a performance bug that has been there for a long time but covered up by the scheduler part that was removed?

The following messages concluded that using huge pages mitigates the regression, while not using huge pages reproduces it.

Could be either of those, or something else entirely. Or even measurement error.

Turns out the amd machine had huge tables enabled and after disabling those the regression was there on and too. So arm vs amd was a red herring.

Of course not a nice regression but you should not run PostgreSQL on large servers without huge pages enabled so thud regression will only hurt people who have a bad configuration. That said I think these bad configurations are common out there, especially in containerized environments where the one running PostgreSQL may not have the ability to enable huge pages.


Still that huge a regression that affects multiple platforms doesn't sound too neat, did they narrow down the root cause?

That should be obvious to anyone who read the initial message. The regression was caused by a configuration change that changed the default from PREEMPT_NONE to PREEMT_LAZY. If you don’t know what those options do, use the source. (<https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...>)

Yes, I had a good laugh at that. It might technically be a regression, but not one that most people will see in practice. Pretty weird that someone at Amazon is bothering to run those tests without hugepages.

I doubt they explicitly said "I'll run without huge pages, which is an important AWS configuration". They probably just forgot a step. And "someone at Amazon" describes a lot of people; multiply your mental probability tables accordingly.

The number of people at Amazon is pretty much irrelevant; the org is going to ensure that someone is keeping an eye on kernel performance, but also that the work isn’t duplicative.

Surely they would be testing the configuration(s) that they use in production? They’re not running RDS without hugepages turned on, right?


> The number of people at Amazon is pretty much irrelevant; the org is going to ensure that someone is keeping an eye on kernel performance, but also that the work isn’t duplicative.

I'd guess they have dozens of people across say a Linux kernel team, a Graviton hardware integration team, an EC2 team, and a Amazon RDS for PostgreSQL team who might at one point or another run a benchmark like this. They probably coordinate to an extent, but not so much that only one person would ever run this test. So yes it is duplicative. And they're likely intending to test the configurations they use in production, yes, but people just make mistakes.


True; to err is human. But it is weird that they didn’t just fire up a standard RDS instance of one or more sizes and test those. After all, it’s already automated; two clicks on the website gets you a standard configuration and a couple more get you a 96c graviton cpu. I just wonder how the mistake happened.

You're assuming that they ran the workload with huge-pages disabled unintentionally.

No… I’m assuming that they didn’t use the same automation that creates RDS clusters for actual customers. No doubt that automation configures the EC2 nodes sanely, with hugepages turned on. Leaving them turned off in this benchmark could have been accidental, but some accident of that kind was bound to happen as soon as the tests use any kind of setup that is different from what customers actually get.

You're again assuming that having huge pages turned on always brings the net benefit, which it doesn't. I have at least one example where it didn't bring any observable benefit while at the same time it incurred extra code complexity, server administration overhead, and necessitated extra documentation.

FYI: huge pages isn't just a system-wide toggle, but a variety of things you can do:

* explicit huge pages

* transparent huge pages system-wide default

* app-specific or even mapping-specific toggles

* various memory allocator settings to raise its effectiveness

It would be really surprising to me to see a workload for which it's optimal to not use huge pages anywhere on the system.


It is a system-wide toggle in a sense that it requires you to first enable huge-pages, and then set them up, even if you just want to use explicit huge pages from within your code only (madvise, mmap). I wasn't talking about the THP.

When you deploy software all around the globe and not only on your servers that you fully control this becomes problematic. Even in the latter case it is frowned upon by admins/teams if you can't prove the benefit.

Yes, there are workloads where huge-pages do not bring any measurable benefit, I don't understand why would that be questionable? Even if they don't bring the runtime performance down, which they could, extra work and complexity they incur is in a sense not optimal when compared to the baseline of not using huge-pages.


It wouldn’t be the first time one of the other maintainers ran afoul of “Linus’s law“.

He may simply be waiting until more is known on exactly what’s causing it.


The government doesn’t care? They’re a minority of the market? The vast majority of their computers didn’t have slots to put Nvidia GPUs in, and now none of them do?

They said eGPU

Yeh external GPU

eGPUs are kind of a joke. People would be way more likely to use dedicated GPUs with Macs if they had PCIe slots.

The last Mac with good PCIe slots was the 2019-2023 Mac Pro. So that’s almost a decade ago, and sold poorly. It never got a real refresh.

Before that was the pre-trash can Mac Pro in 2006-2012. So that was canceled most of a decade before the 2019 model.

High bandwidth PCIe hasn’t been a thing in Apple world for most of 15 years.


Yeah I want to know who exactly was their target audience with the 2013 and 2019 models. It made sense before that. I loved my 2009 model (4,1).

What exactly is the difference between an internal PCIe slot and Oculink or Thunderbolt from an electrical and functional perspective?

An internal PCIe slot can be had in up to 16x 5.0, whereas Thunderbolt 5 maxes out at 4x of 4.0. Plus you have another Thunderbolt controller in between the CPU and the hardware, and it takes more energy to push that many bits 1m over a cable vs a few dozen cm over traces.

Also Thunderbolt is trivially disconnected, which in many critical workflows is not a positive, but an opportunity for ill-timed interruptions. Plus I don't have to buy a fucking dongle/dock for a real goddamn slot, make room for external power supplies, etc.


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

Search: