Live data from Hacker News

Google Is 2B Lines of Code, All in One Place

wired.com

241–250 of 347 posts

Re: Google Is 2B Lines of Code, All in One Place

#241
post #224
post #220

Earlier quoted context omitted.

You'd be surprised at how many people assume these bigcos are open to doing the right thing when they're shutting down.

Hey, I've still got my complimentary MySpace zip file kicking around somewhere.

I had a hard drive crash on me with all of my photos some years back and my "backup" strategy failed. Dumping a myspace backup got me some of my most precious photos back. Thanks MySpace!

Re: Google Is 2B Lines of Code, All in One Place

#243

What are the best practices to follow in a single-repo-multiple-projecrs world? Some people recommend git submodule, others recommend subtree. How do you guys manage alerts and messages - does every developer get a commit notification,or is there a way to filter out messages based upon submodule. How does branching and merging work? I'm wondering what processes are used by non-Google/FB teams to help them be more pro…

Generally branching isn't really a thing at Google. Work is done at the code review level per change list ("CL"). Most changes happen through incremental submission of reviewed CLs, not by merging in feature branches. Every CL must run the gauntlet of code review, as well as can not usually be submitted without passing tests. There are rare cases where branching is used, but not commonly. As for notifications, the CL…

Can you explain this a little more - what is a CL vs a changeset...and what do you mean by watching changelists. It sounds like you're subscribing to specific commits...but I'm talking about more at a project/directory level within the monolithic repo.

Re: Google Is 2B Lines of Code, All in One Place

#244
post #13

Earlier quoted context omitted.

Because Google and Facebook are using Mercurial over Git internally. Edit: And for those that are just shocked that git isn't the answer. Facebook: https://code.facebook.com/posts/218678814984400/scaling-merc... Google: http://www.primordia.com/blog/2010/01/23/why-google-uses-mer...

How do you know that?

He/she doesn't. It's false.

Re: Google Is 2B Lines of Code, All in One Place

#245
post #22

Earlier quoted context omitted.

The solution to the excessive API change problem is to force whoever changes the API to fix all the consumers himself before the change is accepted. The Linux kernel generally uses this policy for internal APIs for example.

> The solution to the excessive API change problem is to force > whoever changes the API to fix all the consumers himself > before the change is accepted. This doesn't seem scalable. Let's consider the case of one api endpoint being changed by one developer, to add a new param to a function call. Further assume that this impacts hundreds of projects. Does it really make sense to make one developer update those hundre…

It seems bad but the alternative (wait forever for groups that don't understand the change and may not even exist anymore to update their code) seems worse.

Re: Google Is 2B Lines of Code, All in One Place

#246

Xoogler here. There were tons of benefits to Google's approach, but they were only viable with crazy amounts of tooling (code search, our own version control system, the aforementioned CitC, distributed builds that reused intermediate build objects, our own BUILD language, specialized code review tools, etc). I'd say the major downside was that this approach basically required a 'work only in HEAD' model, since the t…

Could you elaborate how the single repo model causes that thing you said in the last sentence?

Re: Google Is 2B Lines of Code, All in One Place

#247
post #109

Just because people are talking about it: I work at MSFT, and the numbers Wired quotes for the lines of code in Windows are not even close to being correct. Not even in the same order of magnitude. Their source claims that Windows XP has ~45 million lines of code. But that was 14 years ago. The last time Windows was even in the same order of magnitude as 50 million LOC was in the Windows Vista timeframe. EDIT: And, r…

I once torrented a WindowsXP+Office2003, ripped, together for about 120MB. Has basic functionalities working great.

Re: Google Is 2B Lines of Code, All in One Place

#249
post #90
post #81

I'm a google software engineer and it's nice to see this public article about our software control system. I think it has plusses and minuses, but one thing I'll say is that when you're in the coding flow, working on a single code base with thousands of engineers can be an intensely awesome experience. Part of my job- although it's not listed as a responsibility- is updating a few key scientific python packages. When…

Being able to make sweeping changes to a shared piece of code, and ensure that everyone's up to date (Hi, Rosie!) and not broken by your change (yay TAP train!) is phenomenal as well.

I just submitted a change today that affected 266,259 different build targets within google3. I was slightly terrified to make a change of this magnitude, having been at Google for less than three months, but I ran all the affected tests multiple times and it doesn't seem to have broken anything. (Fingers crossed!)

Working on the google codebase is pretty awesome. This week I've made changes/improvements to libraries owned by three different teams (not counting my own), in C++ and python, when my main project is all in Java. It's super fun. The code search tool is great - it's ridiculously fast, and makes navigating through the codebase very easy.

Re: Google Is 2B Lines of Code, All in One Place

#250
post #219
post #172

Earlier quoted context omitted.

If I recoup with latest news: The ranking algorithm is in one repo, Chrome and Android in another, and all the rest is in Piper? What is all the rest? Gmail, Calendar, the defunct Reader, the car, Maps, and OnHub... How does that fit with Alphabet? Is Piper a cross-functional initiative of Alphabet now?

Look at the companies that are non-Google entities (the ones under Alphabet that aren't under Google): * Google X - moonshot projects that aren't software centric. * Google Fiber - mainly a infrstructure setup. May share some stuff in piper. * Google Ventures - investment arm, not code related. * Google Capital - more investment stuff. * Calico - R&D for biotech. Anything that would be software centric will probably…

Don't forget Google Life Sciences -- we have lots of software. (The team I'm on is 100% software, and we're around 25 people split among 3 sub-teams.) All our code is in piper, and depends heavily on the rest of the google infrastructure.
Post reply on HN