I'd rather stop watching YouTube than start watching ads. I disabled my adblocker to see how bad is it and it is truly disgusting, I cannot conceive how people can enjoy YouTube with so many ads.
And before you say "just pay YouTube Premium", no, the moment a majority of people start paying $10 (or whatever it is) for YouTube Premium, Google is going to add ads to it again and make you pay $20 for YouTube Premium For Real(TM) to get rid of the ads (and/or just make the free tier miserable to prevent people from stopping paying). Google has proven that it is not above abusing the user to get money and there's no reason not to abuse the user further once you have them hooked after all.
Is there any precedent at all for this? This feels more like a Netflix than a Google move. Google's consumer facing offerings have not really rubbed me the wrong way yet, except maybe the consolidation of music services into their worse one.
Ads pay near to nothing compared to a subscription. Why would they jeopardize that. Even someone who buys Premium in a country where it's exceptionally cheap makes them more money than an ad user.
This is happening to me in Chrome as well so I don't think it's tied to the browser you use.
Curiously it happens only on one profile, in another Chrome profile (which is also logged in to the same Google account) it does not happen. Both profiles run the code in your comment, but the one that does not have the delay does not wait for it to complete.
The only difference I spotted was that the profile that loads slowly does not include the #player-placeholder element in the initial HTML response. Maybe whether it sends it or not is tied to previous ad-blocker usage?
What does piss me off is that even if you clear cookies and local storage and turn off all extensions in both profiles it still somehow "knows" which profile is which, and I don't know how it's doing it.
> It's really not very hard, basically add indexes
It's really not but you'd be surprised how many people don't know the basics of how indexes work. I've had people tell me that their queries couldn't be optimized further because "they had already added an index for every column of the table".
It doesn't help that SQL, by design, hides the actual algorithm doing the data access from the users while simultaneously relying on them to add indexes to achieve performance, which is in my humble opinion the worst mistake of SQL.
I love to ask this very simple question in interviews: if a database index makes queries faster, why not add an index for every column on a table?
I want them to say “the heck are you talking about, because that’s not how anything works?”… it does trip some people up though that just legitimately don’t understand what’s happening.
The browser does not know the path. Also, if the function (or one of its parents) is in a closure, there may not even be a path to the function from window.
If you're sure the function is reachable from window you can search for it recursively:
(function () {
function search(prefix, obj, fn, seen = null) {
if (!seen) seen = new Set();
// Prevent cycles.
if (seen.has(obj)) return false;
seen.add(obj);
console.log('Looking in ' + prefix);
for (let key of Object.keys(obj)) {
let child = obj[key];
if (child === null || child === undefined) {
} else if (child === fn) {
console.log('Found it! ' + prefix + '.' + key);
return prefix + '.' + key;
} else if (typeof child === 'object') {
// Search this child.
let res = search(prefix + '.' + key, child, fn, seen);
if (res) {
return res;
}
}
}
return false;
}
// For example:
let fn = function() { alert('hi'); }
window.a = {};
window.a.b = {};
window.a.b.c = {};
window.a.b.c.f = fn;
return search('window', window, fn);
})();
The idea is that you use a breakpoint somewhere where you have a reference to the function to see it then paste the search() function in the debugger console and call it to find it in window
I don't think it is that much more secure, given that in this case "something you have" is bolted onto the machine you're attempting to protect and that a sufficiently long password provides enough space to make brute forcing impossible anyway.
In my opinion all the TPM achieves in this case is ensuring you lose your data if the machine dies (or if some OS update fucks up and doesn't properly ensure the TPM acknowledges the new version as valid).
That said it does help against the so called evil maid attacks, given that it would lock itself out if anyone modifies the OS, so if that's part of your threat model then it is useful, I guess.
Even with a TPM the disk is still fundamentally encrypted with a key that you can make a copy off and put in your drawer for recovery purposes. It just offers a way to do FDE with no or just a low entropy passcode. This protects against most data loss incidents (laptop getting stolen) without producing massive overhead.
> Capcom notes that "mods that are not officially supported by the game are impossible to distinguish from cheat tools, implementation-wise." But Capcom then talks about the "reputational damage caused by malicious mods," which can be "detrimental to the company."
That's like saying that if I paint my Ferrari pink I'm damaging Ferrari's image. Which may be true, but fuck you, it's my Ferrari.
After I purchase a product it's mine to do as I wish. I don't see why software should be any different.
The company I work for recently had the beautiful experience of having Windows Defender delete our program from many of our customers computers during the weekend, with the consequent support calls the next day about "your program does not run and I'm losing money!" and the headache of having to find out why the exe is magically gone, since the antivirus going crazy is the last thing you think of.
"Thankfully" it seems they did a progressive rollout of whatever version of Defender that detects our software so we didn't get every customer angry at once, which would come pretty close to a business ending event.
So yeah malware seems an adequate word to me. Especially since there's no way to find out what heuristic we're tripping and no one to ask for help so there's no guarantee that this won't happen again in a few weeks.
> and letting purchasers decide to buy it or not with full knowledge
Consumers never have full knowledge of the quality level of whatever they're purchasing, much less in something like a house that is not standard and has to be adapted to the place it's built in.
At least with a law setting minimums, if you're lucky, you can sue if it doesn't meet them.
If you buy a home without an inspection you're either very deep pocketed and playing a numbers game buying stuff off the market quickly, or very stupid.
I had an inspection for the first apartment and then the first house I bought in Auckland (New Zealand) in the first decade of the 21st century. Both turned out to be leaky. Whose fault was it? There's plenty of blame to go around - the inspectors (for failing to see the problem), the government (for deregulating), the builders (for using materials they shouldn't have), the architects (for design that would never have lasted), the local government (for approving the housing), and maybe me for not having understood something I had no experience of, and had never happened before in my country.
And before you say "just pay YouTube Premium", no, the moment a majority of people start paying $10 (or whatever it is) for YouTube Premium, Google is going to add ads to it again and make you pay $20 for YouTube Premium For Real(TM) to get rid of the ads (and/or just make the free tier miserable to prevent people from stopping paying). Google has proven that it is not above abusing the user to get money and there's no reason not to abuse the user further once you have them hooked after all.