News for hackers. Stuff that matters.
Re:Stop Interviewing with Leet Code by UncleMeat on Thursday June 09, 2022 @08:11AM (#31680188)
Google doesn't allow any code on laptops. Everything is done via web IDEs or ssh into a linux machine. So nobody is using brew to obtain dependencies.
Re:Stop Interviewing with Leet Code by dekhn on Thursday June 09, 2022 @11:50AM (#31682717)
You are factually wrong. Not only that, you're conflating several different processes and team rules.

Many googlers use brew to install applications on their laptops. This not against policy. Other googlers work with code stored directly on their laptop. There may even be developers who are obtaining deps (for their own builds) from brew.

The problem with the brew author is that he had every opportunity to make himself look hirable at Google but instead chose to write an incorrect screed and publish it on the internet.

Re:Stop Interviewing with Leet Code by hnov on Thursday June 09, 2022 @12:11PM (#31683010)
You need a full Santa exemption with business reason to use brew. The average person working on some server that deploys to borg does indeed use their Macbook as a thin client. Who's obtaining deps for their builds from brew? If you're building stuff on Mac, it's via bazel and all your deps are in source control.
Re:Stop Interviewing with Leet Code by dekhn on Thursday June 09, 2022 @12:30PM (#31683292)
I never said anybody is obtaining deps for builds- that's all UncleMeat.

At the time I used brew (5 years ago) it didn't require a santa exception with business justfication (and my justification would have been "I need this for my work"). Fortunately this wasn't really a problem for me any way as I don't even look at Mac machines as anything other than a thin client.

Re:Stop Interviewing with Leet Code by UncleMeat on Thursday June 09, 2022 @12:53PM (#31683618)
It is true that this was the problem with the brew author. Homebrew being part of the typical Google workflow is entirely independent of the situation.

But, as usual for internet discussions, it is fun to rathole on side conversations.

Re:Stop Interviewing with Leet Code by dekhn on Thursday June 09, 2022 @07:04PM (#31688086)
The best part is, I was defending the use of homebrew (which I absolutely hate) and local development (which is far inferior, IMHO, to blaze/forge/citc/piper). I had really hoped releasing abseil/bazel would help but sadly, it was done too little, too late.
Re:Stop Interviewing with Leet Code by pojzon on Friday June 10, 2022 @03:17PM (#31698310)
How are those tools better than for example plain old mvn or gradle ?
Re:Stop Interviewing with Leet Code by sinop2 on Thursday June 09, 2022 @08:57AM (#31680648)
That seems unlikely, given that they’ve implemented an Xcode project generator for iOS apps built with their build system: https://tulsi.bazel.build/

No one’s running Xcode on the web or on a Linux machine.

Re:Stop Interviewing with Leet Code by compiler-guy on Thursday June 09, 2022 @10:49AM (#31681885)
I’m sure there are a few open source developers who use brew or Xcode directly, but most Mac builds happen in a distributed build system wired up to use remote macs. Yes, via Xcode. Not on local machines.
Re:Stop Interviewing with Leet Code by UncleMeat on Thursday June 09, 2022 @10:53AM (#31681950)
The mac build system is wild. It is still all done remotely with a farm of macs running xcode. You still don't build code for running on macs on your local machine.
Re:Stop Interviewing with Leet Code by hnov on Thursday June 09, 2022 @12:15PM (#31683077)
You actually do, what Tulsi generates is an XCode project that has shell script build steps that call out to bazel. Bazel underneath the covers will end up calling the clang that comes with XCode.
Re:Stop Interviewing with Leet Code by EdwardDiego on Thursday June 09, 2022 @08:24AM (#31680301)
Do you work for Google? I'm just doubting you a little. Like the guy from project zero is finding bugs in Windows via ssh to a Linux machine? Definitely going with Doubt here.
Re:Stop Interviewing with Leet Code by UncleMeat on Thursday June 09, 2022 @08:39AM (#31680447)
There are a few outliers, but yeah. Per policy, no code is allowed on laptops. And because Google's build tooling is very centralized basically everybody works on the same kind of machine.

The folks developing Chrome for Windows or iOS apps might have different workflows, but even then they aren't going to be using brew because of Google's third party code policies.

Re:Stop Interviewing with Leet Code by davidcbc on Thursday June 09, 2022 @08:30AM (#31680359)
They are correct. Stuff like project zero is an extreme outlier. I've been using a MBP for 5 years and have never used homebrew on it.
Re:Stop Interviewing with Leet Code by EdwardDiego on Thursday June 09, 2022 @08:32AM (#31680372)
Cheers for clarifying :)

I'll admit that surprises me greatly, I can't see why it's considered more efficient, but hey, Google.

Re:Stop Interviewing with Leet Code by compiler-guy on Thursday June 09, 2022 @10:52AM (#31681924)
The first program you build in Noogler training takes more compute and io to build than the Linux kernel. The distributed build systems laughs at such a trivial program and barely breaks a sweat at programs 10x that size.

A poor little laptop would break down and cry.

Re:Stop Interviewing with Leet Code by UncleMeat on Thursday June 09, 2022 @10:56AM (#31681993)
Google has a giant monorepo. It is too big for git. (Virtually) everything is built from source. Building a binary that just runs InitGoogle() is going to crush a laptop.

I believe that there are also a bunch of IP reasons for this policy, but from a practical perspective doing everything with citc and blaze is really the only option.

Re:Stop Interviewing with Leet Code by exdsq on Thursday June 09, 2022 @03:02PM (#31685381)
Can you share the order of magnitude we're talking about here?
Re:Stop Interviewing with Leet Code by eutropia on Thursday June 09, 2022 @10:17AM (#31681455)
probably efficient because their codebase size would outstretch local disk space requirements, and also would allow for comprehensive access controls
Re:Stop Interviewing with Leet Code by thisiswrongggg on Thursday June 09, 2022 @08:46AM (#31680528)
...worked in another place which didn't allow local code. It was the most horrible dev experience I had. Cannot fathom why google went that way too.
Re:Stop Interviewing with Leet Code by compiler-guy on Thursday June 09, 2022 @10:46AM (#31681837)
Google lives and does by its distributed build system. Most devs don’t even have exactly have code on their local workstation either—it comes via remotely mounting a file system.

But 99.9% of the builds happen remotely. So local vs remote code just isn’t that relevant.

It is also true that Google spends millions and millions on its dev environment every year, so this isn’t your average “no code on laptops” situation.

Re:Stop Interviewing with Leet Code by onei on Thursday June 09, 2022 @08:27AM (#31680324)
Is the code being in a VM mutually exclusive with having homebrew installed?
Re:Stop Interviewing with Leet Code by UncleMeat on Thursday June 09, 2022 @08:41AM (#31680470)
Why would I install homebrew on a work laptop if I cannot build or run code on my work laptop? Why would I install a dependency management system if company policy is that all third party code is checked into the repo as source and built using blaze?
Re:Stop Interviewing with Leet Code by jen20 on Thursday June 09, 2022 @08:38PM (#31688683)
Because you can also install applications via homebrew. I use it for a few things, including installing bat, delta and other Rust coreutil replacements that I prefer. I absolutely do not use homebrew for project dependencies.
Re:Stop Interviewing with Leet Code by dekhn on Thursday June 09, 2022 @11:51AM (#31682738)
When I worked for google, several of my projects were developed locally on laptops. My intern (who was developing tensorflow robotics computer vision stuff) used homebrew to install tools. Not everybody at Google used blaze.