However, cries of foul "vendor lockin" erupted. So I dunno what to tell you, man.
5,056 karma · joined February 1, 2011
However, cries of foul "vendor lockin" erupted. So I dunno what to tell you, man.
"Google and Delphi said their cars were not at fault in any accidents, which the companies said were minor."
1. The tracking data that the online advertising industry gathers is bad for users and will ultimately be bad for advertisers. It should go away. Doing so will require a combination of technical and political restrictions on the way that advertisers do business. Solely one or the other will not be sufficient.
2. Advertising is and will remain the lifeblood of the Internet. The past is littered with the calcified husks of arguments claiming that subscription plans or microtransactions are capable replacements for advertising revenue. If a majority of users install ad blockers, society as a whole will suffer as content creators are squeezed out of the market. Whether or not this is a moral behavior is not the point -- users with ad blockers are game-theoretic parasites that feed off this weakness in the system. Societies have traditionally addressed such weaknesses by classifying such behavior as undesirable, shameful, or immoral. The movement to classify ad blockers in this category has already begun: in the future, either ad blockers will attain a majority or plurality install base among users or this movement towards demonizing ad-blocking users will intensify.
Where does this animus spring from?
Netflix's basic original goal is the same: they want it to be the entertainment option that you instinctively reach for when you have free time (the "moments of truth").
In the past, they achieved this via their vast catalog and their customers' viewing queues. Most customers have a queue full of things to watch, so when they sit down they can just pop the next thing off the queue.
In the future, it looks like they hope to achieve the same default status by simply replacing the queue with fantastic original and curated content and content recommendation systems. No, they won't have everything, but they'll still have more than your limited free time can handle, and their stuff will be of higher quality than anything you can get elsewhere.
I'm not sold on whether they can pull off the switcheroo, but it's also clear to everyone that their existing business model can't survive the next 10 years as content incumbents move their content off Netflix and onto their own proprietary platforms. In that world, no one can be Netflix (not even Netflix). However, Netflix has a good chance of being better than any of the other proprietary platforms. Given customers' limited money and patience with juggling accounts and different apps, Netflix stands a good chance to come out on top in that situation. That said, in that world I can't imagine them being more than 5x more profitable than the next most successful competitor in a landscape made up of tens of competitors.
Whether this algorithm should have been exposed to users is debatable, but it exists for a good reason.
The 25mph speed is a hack around US auto regulations, which are far less strict if the vehicle's max speed is 25mph or less.
There are three ways to invoke a function. The meaning of `this` depends on which method was used:
- If a function is invoked in the form `foo.func()`, then the value of `this` is `foo`.
- If a function is invoked in the form `func()` (sometimes called "bare"), then the value of `this` is the "root object". In browsers the root object is `window`, in Node this it's the `global` object [0]. It's easier to make a bare invocation than you think:
var bareFunc = foo.func;
bareFunc();
- If a function is invoked via the `call()` or `apply()` function, then the value of `this` is whatever the invocation specifies. For example, in `func.call(foo)` the value of `this` will be `foo`.If you ever pass a function to something else as a callback, you have no guarantee what the value of `this` will be when it is called. For example, if you register a callback for a click event, the value of `this` is whatever the caller wants it to be (in this case, it'll be the DOM element that's emitting the event):
function MyFoo(elem) {
elem.addEventListener('click', this.onClick);
}
MyFoo.prototype.onClick = function(e) {
// `this` is whatever the caller wanted it to be
}
You can force `this` to be a specific value by using the `bind()` function: function MyFoo(elem) {
elem.addEventListener('click', this.onClick.bind(this));
}
MyFoo.prototype.onClick = function(e) {
// `this` has been bound to what you think it should be.
}
[0] However, if you're in strict mode, then in either case `this` will be `undefined`.- In a game, write quest logic in the scriptable language so that game devs can tinker with quest design without recompiling the game binary.
- "plugins" (usually UI plugins of some kind). Games like Elder Scrolls Online and World of Warcraft allow for 3rd parties to write UI extensions in Lua.
- Any other logic that you want to run and frequently modify without modifying the binary.
There are other great uses-cases that I can't think of right now, hopefully others can help.
Unfortunately, the set of solutions {!collusion, practical} is very small. It might be empty.
That said...the other 50% was frequently so bad that it more than cancelled out the benefit on the other side. Which is why no one uses Flash anymore [1].
[1] Everyone still uses Flash.
[1] http://arstechnica.com/gaming/2014/08/amazon-not-google-repo...
Copying can be discouraged through legal means, but the results are usually unsatisfactory (witness our ongoing strife over technology patents). A culture where copying is viewed as shameful has the advantage that most situations never need to devolve into actual legal action. Companies will voluntarily avoid copying one another (in an obvious or crass manner) to avoid damaging their brand.
The fact that this weakness does not appear in the BitCoin protocol, but is rather implied by the human desire for convenience and marketplaces, doesn't make it less of a flaw. One can sneer at everyone who lost money with MtGox for "choosing poorly", so to speak, but on the other hand exchanges are the driving force behind BitCoin's success.
However, design is also trend-oriented, and flat is a rising trend.
Secondly, it's not clear that the implied solution in your comment ("more competition") would lead to firmer protections for net neutrality. Any changes to open the market to competition would take many years to come to fruition while current ISPs would jump at the chance to discriminate traffic immediately. By the time competition arrived, it is likely that the idea of traffic discrimination (and extortion) would have become so standard and endemic that it would no longer be a point of competition for these new competitors (especially true given how hard it is to explain net neutrality to laypersons).
It's for these reasons that I support both strengthening net neutrality regulation and loosening universal access restrictions (although, to be honest, I would rather have a government ISP with a universal access responsibility, similar to USPS).