2,841 karma · joined September 4, 2010
Iff it's a part of the API you use directly or indirectly. Sometimes you're only using part of it, and changes to the rest don't matter.
[citation needed]
It's a lovely idea, but Peelian principles are currently only paid lip-service. People are trying to drag it back to something approaching that, but it's not the current actual situation, particularly in London. (Kettling, etc.)
> are operationally independent of HM government,
> the police literally are not the government,
> do not spy for the government,
Again, in the sense of "political party currently in control of Parliament", yes. But they're literally the enforcers of the law -- and their meaning of the law. People not in Parliamentary systems have a broader, and far more useful meaning of "government" -- those governing, determining what is going to be punished and what won't. If you're actually stuck on term "government" in the partisan meaning, please give me some other term to refer to the coherent actions of the state. The bureaucracy and enforcement arms actually do govern, regardless of whether they're doing so at the behest of particular partisan guidance (though sure, that's worse in terms of being able to politically course correct). An arrest and detention whilst CPS sorts out taking to the next level is actually a punishment. Hence the quote "You can beat the rap, but you can't beat the ride."
> do not routinely surveil the population; their surveillance powers are limited and regulated.
Hah. Hah. Hah. https://www.nytimes.com/2020/01/24/business/london-police-fa... .
Not in the ridiculous "party controlling parliament" sense, no. But they are absolutely the enforcement arm of the state, which is more on point.
* https://www.npr.org/sections/parallels/2013/10/28/241384089/...
* https://www.vice.com/en/article/5d9bp8/us-spies-allies-south...
And good faith and intent is not a sufficient guard.
Intent makes a difference, but it's not magic. It only makes a meaningful difference if it changes what data gets collected and stored. The data gets collected either way. Data breeches happen, and intent isn't stable (or even fully coherent in companies. You might trust them now, but you probably shouldn't trust them a few years down the line. Look at how different google of today acts than the google of 2000.
For the case in point, that data includes "The categories of websites you visit, but not the URL itself, Includes universal plug and play devices and devices that broadcast information to your computer on a local area network: for example, smart TV model and vendor information, and video streaming devices.", so far more than "data about how my product is used in order to make it better". That's some other purpose. We already have evident of bad intent. Bad faith is not at all uncommon with large companies. You do remember the sony rootkit[0], right?
And even with good intent it's easy to overcollect data, because of the fear of missing out on something useful. It really could be useful be useful to see if crashes correlate with other running software, various registry settings, etc, but collecting that absolutely should be considered way beyond the line. (That rootkit was packed with telemetry too, collecting e-mail addresses and listening habits)
Telemetry we _know about_ tends to be documented, however there's an unknown amount of sampling bias. Further, secrecy is not binary, things can be poorly disclosed. I'd argue they often are, with documents that are neither obviously visible nor transparent about what is collected. This is in no way surprising. Disclosure doesn't directly help any bottom line, it just guards against possible reputation and legal damage if it is discovered.
As you say, users mostly don't care. We live in an age of mass surveillance and have raised generations who think it normal.
[0]: https://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootk...
Um. You said the answer earlier:
> because the parser treats the literal as a double
BigFloats aren't built in to the syntax of the language (and probably should't be, so you need to escape the parser somehow -- either pass a string to the constructor, or use the @big_str macro to get a non-standard string parsed into a BigFloat.
Auxiliary functions are complex behavior that should be reflected in the name.
Go is instead doing something similar to the parent that is easily transformed to the right thing (i.e. accumulated in reverse or something), or more general that does the right thing when called with specific arguments. Communicating how and why the function does what it does and works in conjunction with the top level wrapper actually matters.
But calling auxiliary functions "go" is almost always bad naming.