Our main product has approximately 5400 unit tests, over ~150 files. The test suite runs on a single computer in about 14s. This is one of the advantages of using a fast language (C++) with multithreading :)
> An extension that is enabled is not the same as an extension that is actually running. To see the list of Chrome processes that are actually running, use Chrome's task manager. Hotword Triggering, as well as many other extensions will run briefly at startup. Those that are not actually being used will quit in about 10-15 seconds.
I'm sorry, what?! So I still have to trust that it's not doing anything malicious for 10-15 seconds?
You don't have to trust your maintainer, just go to chrome://voicesearch and check the status (but read up on it, it's badly labeled) or search for "hotword-x86-64.nexe" inside your chromium extensions folder and delete the extension containing it.
You have to extend trust out at some point. Your only other alternative is to manually type the machine code required for a C compiler and start from that.
Additionally, it's fairly ironic this is about a browser. If you don't trust packages maintainers, yet you want to use a browser, which the whole point of is to download and interpret text, code and binaries which you have little in the way of actually controlling after pointing it at a site, then I think you've made some interesting security trade-offs in your mind.
Okay, so the only other alternative is to create your own processor, manually type the machine code required for a C compiler, and then start from that. Sheesh.
Really, this is what everything in life is like. Every time you cross a bridge, you are implicitly trusting the builders who built it, the engineers who designed it, the mechanical engineering processes they used, and the mathematical disciplines that they rely on, all the way down to their fundamental axioms. You have to extend trust at some point there as well, otherwise you can start by proving there exists a class of numbers we will call integers...
Ergo: use a distribution like Arch Linux or Gentoo. Arch Linux has the advantage that you don't have to build everything from source yourself. Both have the advantage that the build scripts are easy to understand (Arch PKGBUILDs more so, IMHO).
In the end you will always arrive at a chicken and egg situation, you will ultimately need to trust the engineers who designed your CPU and chipset, the VLSI design software which they used, the developers who wrote the compiler and toolchain, the tools used to bootstrap it, external libraries, etc.
The world ultimately runs on trust, no matter how you slice it.
Release only open source products? Not sell our information to advertisers? Not collaborate with the government to spy on us? Not use their monopoly money to buy all of the smart people in the world? The list of how they could improve is endless.
Google open sources far more than most companies. They've also contributed greatly to building new open source projects, and they actually keep them open and are a generally benevolent maintainer. They're probably one of the best corporate citizens of the open source community.
> Not sell our information to advertisers?
It's their entire business model; if you don't like it, don't use their products.
> Not collaborate with the government to spy on us?
Google never willingly collaborated with the government. They were either hacked by the NSA (this isn't a mark of shame -- just read up on the Equation Group virus that went undetected for the better part of a decade) or they cooperated under a sealed court order. Corporations don't have the agency that individuals do in refusing to cooperate with a court order -- it's literally not possible for a company to refuse to comply with a court order because the feds can just keep arresting people until someone complies. Most companies refuse to put their employees in this position, so they comply under protest (which is exactly what Google did).
> Not use their monopoly money to buy all of the smart people in the world?
So they shouldn't hire under capitalist principles? Also note that this is beneficial for the smart people of the world, because it forces other companies to pay more as well.
What you're saying is that if I tell my friend Sean a secret in confidence, it's all the same whether or not he proceeds to share it with all his friends. In my mind, and in most people's minds, it isn't.
>So they shouldn't hire under capitalist principles? Also note that this is beneficial for the smart people of the world, because it forces other companies to pay more as well.
Yes, basically I'm asking for non-capitalism (sorry, I'm a relentless anti-capitalist). It's too much for a HN thread. But I'm sick of this world - Google is a company BUILT on free software. They only exist because of public largesse. Without Linus Torvalds and Stallman (and a million others), Google would not exist, period. Without the Internet, Google would not exist.
This sort of thing is rampant - github has a billion-dollar valuation based on the fact that Linus Torvalds wrote and open-sourced git, and pretty much for no other reason.
I want a word that acknowledges that we exist together, dammit, that the wealth we've made - all of it - is produced in common, and that we don't use every single scrap of advantage we get to arrogate more power to ourselves.
Google is a company that is built on taking a public good, perhaps the greatest public good we have ever made, and turning it into an engine for generating wealth and power for a few individuals.
It's the 21st century, dammit. Let's do better. We have the fucking model for how to do this. Let's build on it. Let's share what we produce instead of taking the collective bounty and using it for our own personal gain.
> github has a billion-dollar valuation based on the fact that Linus Torvalds wrote and open-sourced git, and pretty much for no other reason.
No, github has a billion-dollar valuation based on the fact that they took a pretty empty market (source code hosting) and created a developer ecosystem around it. Whether they used git, or mercurial, or svn, or any other version control system really doesn't make a big difference. They happened to pick up on the fact that git was picking up steam and went all-in on that bet, but you can replace git with practically any other VCS and it still could have worked. In fact, I'd say it brought more younger developers and enterprise companies to git than git bringing the developers to them.
Creating GitHub required both vision and a lot of hard work. Building Google required both vision and a lot of hard work. Yes, they use open source tools, but ultimately they built something people could get huge amounts of value from at a time when no one else was.
If Linus was interested in turning git into cash, there are a variety of ways he could make that happen, but it doesn't seem like that's his goal.
If Google has determined that they need the best employees, they have to pay high salaries.
And if you want to get pedantic about it, the roads were actually built by a private, for-profit construction company that was contracted by some level of government. Those workers didn't show up and pour asphalt because they felt like it; they did it because they were paid to do it. In a capitalist society, even non-capitalist activities have to abide by the rules of capitalism.
They don't sell your information, they sell access to your eyeballs, _based on_ the information they have about you, combined with advertisers saying "We want to show advert X to these types of people".
If they sold that information directly, they'd make a load of money today, but then none tomorrow. User information is the 'goose that lays the golden egg'.
There's nothing stopping anybody from doing this. Apple offers a DB dump of the store's content (including music). You could build a curation platform on top of that. They do, indeed, offer a referral fee for iTunes purchases.
Ah, good point. We are in a bit of a grey area at our current location. We don't really have UberX in this town (Middletown, CT), but we live near to the interstate that a lot of UberX drivers are on going to and from a metro they do support (New Haven, CT). So the app will call us a car, but it's always 15-20 mins for pickup time.