javascript:location.href='http://facebook.com/l.php?u='+encodeURIComponent(location.href)
encodeURIComponent because there might be special characters if (details.url.includes(url)) {
So, if I want to detect if you have this plugin installed, I load an image with ?plugin-test=wsj.com as any part in the url can have it to trigger.Might want to improve this...
"http://pbb.nkcss.com/*"
And if I can do it in a few minutes, I'm sure those who have a paywall can do so as well.This pattern:
if (details.url.includes(url)) {
return true;
}
return false;
should be replaced by this: return details.url.includes(url);
This pattern: array.map(someFunction).reduce(function(a, b) { return a ||b}, false)
should be replaced by this: array.some(someFunction)
(Note the semantics are slightly different—`.some` will break early, so it’s more efficient and equivalent provided there are no side-effects in the map function.)Taking both of these, the following:
var useTwitter = VIA_TWITTER.map(function(url) {
if (details.url.includes(url)) {
return true;
}
return false;
})
.reduce(function(a, b) { return a || b}, false);
can be rewritten much more simply as: var useTwitter = VIA_TWITTER.some(function(url) {
return details.url.includes(url);
}
You could even do it thus if you desired: var useTwitter = VIA_TWITTER.some(details.url.includes.bind(details.url));
… but that’s probably harder to read. I will mention arrow functions, however, which are pretty: var useTwitter = VIA_TWITTER.some(url => details.url.includes(url));
This part: details.requestHeaders.filter(function(header) {
// block cookies by default
if (header.name !== "Cookie") {
return header;
}
})
`.filter` only cares about truthiness in its return value—as this code does it, undefined is false and an object is true. But you could simplify it: details.requestHeaders.filter(function(header) {
// block cookies by default
return header.name !== "Cookie";
})
Also in the original code’s usage of map, it’s not actually changing the values, only things inside them, so using `map` is wasteful (as it entails allocating a new array). You could just use `forEach`: var reqHeaders = …;
reqHeaders.forEach(function(header) {
if (header.name === "Referer") {
header.value = setRefer(useTwitter);
foundReferer = true;
}
if (header.name === "User-Agent") {
header.value = setUserAgent(useTwitter);
foundUA = true;
}
});
A remark on fine-tuning performance: when you access properties inside an object multiple times, it’s optimal to store it as a local variable to save having to look it up multiple times. (This is especially the case if the property is expensive to access.) Take the `blockCookies` method: function blockCookies(details) {
for (var i = 0; i < details.responseHeaders.length; ++i) {
if (details.responseHeaders[i].name === "Set-Cookie") {
details.responseHeaders.splice(i, 1);
}
}
return {responseHeaders: details.responseHeaders};
}
This is accessing `details.responseHeaders` many times when it only needs to access it once. It is also accessing its `length` member once per iteration, rather than caching the length. Normally for that I’d say “store the length once up front,” but in this case the code is changing the array length in the loop, so that’d actually break things. On that note, the code as published is actually missing some cookies, because it removes an item from the array and then skips past the new element at that index. To fix that, you need to move the `++i` into the loop so it can be skipped if you do splice the array. Also in order to not need to access the length property many times you could iterate in reverse instead of forwards. I might write the whole function like this: function blockCookies(details) {
var headers = details.responseHeaders;
var i = headers.length - 1;
while (i > -1) {
if (headers[i].name === "Set-Cookie") {
headers.splice(i, 1);
} else {
i--;
}
}
return {responseHeaders: headers};
} for (var i = 0, l = details.responseHeaders.length; i < l; ++i) {Even then you could do it as a for loop with an empty increment clause, of course. Or even use a one-liner for loop with no body:
function blockCookies(details) {
for (var headers = details.responseHeaders, i = headers.length - 1; i > -1; headers[i].name === "Set-Cookie" ? headers.splice(i, 1) : i--);
return {responseHeaders: headers};
}
But that’s crazy talk. Leave optimisations that to the minifier if it feels so disposed.It's trivial to do this with a filtering proxy, which means it works in all browsers. On the other side, I've unknowingly embedded images from image hosting sites that didn't allow "hotlinking", only to be told by other users they couldn't see them, because of the referer headers (or lack thereof) my usual configuration sends.
IMHO things like this shouldn't be spread too widely... much like the fight between adblockers and anti-adblockers, it can only eventually lead to a more hostile computing environment.
Many internet generations ago news sites were mad at Google for showing ads alongside their headlines on news.google. They even got some lawmakers to agree. Google offered to de-index them. Stalemate.
Similar issue here. News sites want paid subscriptions if they can get them, so paywall. They also want the readers who won’t pay, so no paywall.
Overall, I think paywalling is a semi-dead end. I don’t mean that it won’t work for any site, but it’ll probably be a niche revenue source like a print-only publication. Most news sites want to be part of the greatest, most relevant discussions. Those happen on the internet as a whole, not inside walled gardens. This mess free for some, paid for others mess is to much of a kludge to be the model.
I think eventually you'll see a re-arranging of press wire cooperatives such as AP and CP to limit dissemination of wire content for free without strings attached, forcing the hand of many.
The business model is wrong and broken, and this failed business model is not our problem.
However I dispute the "customer" analogy too. In fact, turning this tired and one-sided analogy of a "store" on its head, how about it's my browser, and while they're in it, they can play by my rules?
There is nothing about a client-server paradigm (especially nowadays with thick clients) causing me to be "in their premises" or causing that to be a better analogy than their being in my premises[1]. The "online store" was just an analogy, and was how the www was sold to millions of profiteering dullards starting in the 90s, so naturally the idea has gotten a lot of traction and you can be forgiven for still thinking of it that way.
[1]Neither is accurate of course - The truth of the matter is that my robot handshakes with their robot across space. (And then their robot asks the Twitter robot whether my robot has the special Twitter street cred badge.)
[1] https://www.google.com/search?q=how+to+sneak+into+a+movie+th...
I mean, how many HNers have read the MIT lockpicking guide or the Anarchist's Cookbook? At least half?
1. Publishers have ability to configure access on paywalls as they see fit.
Whether based on referrer, UA, and a whole host of other attributes, history and so on.
2. Publishers don't care about a degree of paywall evasion.
Studies show that people willing to pay will pay, and those who go to great lengths to evade won't ever subscribe. The question is then, do you want to waste expensive developer resources in an arms-race against ppl who'll never give you a cent, or do you want to spend that developer time enhancing the experience for those who will subscribe.
3. Full locked-down paywalls are known to be bad.
Publishers still want to ensure their content is in the public conversation, and that means their content has to be accessible in soem form - or you strategically choose to follow a different business model. See: https://techcrunch.com/2010/11/02/times-paywall-4-million-re...
The WSJ approached me and offered this access to a project I'm building, Read Across The Aisle [1]. I've built an iOS app and Chrome extension, both of which are free. I don't know exactly what the WSJ gets out of this deal (we have not given them, or anyone else, any user data), but I think it's that they want to be associated with post-filter bubble projects.
It's arguably unfair that users of Facebook and Twitter and other social media sites should have access to more content than someone who has decided not to use those platforms.
As far as I can see, they are trying hard not to annoy people but at the same time try to make some money for their work.
And if you want the Chrome version you will need to manually download it: http://bypasspaywalls.weebly.com/
https://elaineou.com/2016/02/19/how-to-use-chrome-extensions...
"Update: A newer version of the chrome extension is available here."
Wall Street Journal ended allowing special access for search engines through their paywall. By spoofing Twitter app's Referer and User Agent access is still possible and an included Chrome Extension script implements this idea.
Better to write clap-trap for a single political view that will spread like wild fire in its echo chamber rather than a well-reasoned article properly contrasting the opposing viewpoints. People don't share articles that challenge them and their social circle, they share what they agree with.
- Republicans Ditch Senate Health Bill, Plan Repeal Vote
- Trump Certifies Iran Is Complying With Nuclear Deal
- Trump Unveils Blueprint for Nafta
- BNP Paribas Fined by Fed Over Currency Manipulation
- Netflix Surprises With Big Subscriber Gains, Shares Soar
- Activist Proxy Fight Puts Focus on P&G’s Cost-Cutting Effort
- Proxy Fights Are a Rarity for Peltz’s Trian
- Trian Launches Proxy Fight Against P&G
- Artificial Intelligence Won’t Take Over Wall Street
- U.K., EU Resume Brexit Talks
- Bond Trading in Focus Ahead of Goldman Sachs Earnings
- U.K. Inflation Eases Unexpectedly in June
- What Macron Sees in Trump
- The EU Needs to Get Tougher on Hezbollah
- Why Europeans Oppose the Russia Sanctions Bill Unable to Buy U.S. Military Drones, Allies Place Orders With China
A single user can be exposed to 3-4 (or more) ads per page. Each ad can earn them some money depending on the relevance of the ad to the viewer. In this case, the price they charge the advertiser is more guesswork/auction than science. They don't have to/can't prove to anyone that the ad truly worked. Advertisers tweak and A/B test ads to achieve higher engagements and better results.
A fixed rate model like you're suggesting limits the scalability of selling the same pair of eyeballs to 3-4+ advertisers. It forces google and content creators to attach a hard number to each visitor which is essentially upper bound by people's spending habits - if people are feeling poor, they can simply stop visiting websites to make ends meet!
Fir these reasons, I don't believe any advertising based company is ever truly going to get behind pay-as-you-go content. I've made my bet (see my profile for deets aka FD) and I'm in the process of quitting my job to put my money where my mouth is.
https://www.theguardian.com/technology/2014/nov/21/google-co... http://tech.firstpost.com/news-analysis/google-relaunches-co...
https://blog.brave.com/introducing-brave-payments/
https://medium.com/@robleathern/why-we-sold-optimals-technol...
I think they've tried this before but recently re-launched.
Maybe they can start anew if they used bearable ads - something like The Deck (no affiliation, just an example).
Then there is the point of view that newspapers were dying even before the web and that it all started when newspaper got funded by including advertising.
One way or the other I'd like to see how effective paywalls are at supporting investigative journalism.
HN is all about the articles, and then the discussion on top. If people are finding the articles to hard to penetrate that they need a tl;dr summary, then maybe HN isn't the site for them? </rant>
I think this is a backlash from the self-congratulatory, self-indulgent tone medium has perpetuated, not through design I'm sure.
Sometimes one just wants to validate what we expect/know and move on; personally I don't want more than 200 words to elaborate this headline.
edit: typo
I admit when they first appeared I felt the same way and didn't like them, but they have since saved me time now and then.
I don't like reading wordy articles. I don't like reading rushed, or poorly researched articles behind a paywall.
Traditional journalists/authors have another problem on their hands these days.
They have people out there summarizing their information, many times better, and more concise than the original article--for free. This whole change in the way things were once done is hurting all of us financially.
There are so many times I come here and get such a better understanding of said article by reading the comments.
(I do the think publications need to up their game a bit. It seems like too many decided to hire new college graduates, on the cheap, whom seem to reluctantly spit out a article, or they hire wordy authors who can't write well, but got the job because they know someone at the organization. This is not the time for any publication to hire employees kids, or practice any form form of nepotism. I understand they can't pay like they used to, but this is the time to up your game especially if you want us to pay. Even if they up their game--they might have lost the war. And in certain cities/locales a lot of important issues/information will go under the radar; which I find sad. Maybe the federal government should step in and fund certain publications, but in a hands off approach?)
- The Trumps and the Truth
- Millenials as seen by Corporate America
- Trump administration slaps Iran with additional sanctions
- Is Religion Still Tabboo? Not Everywhere
- Pay for College Interns is so 2020
- "Cereal for lunch, candy with 'new flavors and textures,' selfie-friendly makeup: what CEOs believe millennials want"
- Beachcombers Hunting for New York's Last Unspoiled Neighborhood
Still some real stuff in there, but a lot more noise.
https://chrome.google.com/webstore/search/paywall%20remover?...
I'm sure many get taken down by request but its usually on a technicality (flimsy trademark claim) or sloppy assessment on Google's part.
edit: Having to go through the Blendle site also means if you're looking at an article on wsj.com from a few months ago you won't be able to jump to the Blendle version to the best of my knowledge. Archives aren't Blendle's thing.
edit: Basically, I'd like to say: Don't sign up for Blendle.
It gets quite a bit scarier if I have the computing power and access to the full texts of all those books (like Amazon and Google Books do) to search for patterns in those texts that tell me about your fears, political affiliation, sexual desires, etc.
edit: I'm not sure what you mean by trusting Google. I trust Google to get the technical side of things right.
- simple button
- no hassle; only one subscription, which can be used on all websites
- low cost per article (on the order of tens of cents)
And perhaps:
- a free preview of the first couple of paragraphs of the article
- discount when I use the service a lot
Quite a few pages will not show you anything if they detect your adblocker, too. And don’t even get me started on all those scandals in which certain adblockers have been shown not to block ads because they were paid to do so... I don’t see adblockers as the answer. Also because the consumer-provider interaction should not feel like an arms race but as a trade at the end of which both sides should be happy.
I am sure I'm in the majority on this site, but I believe that it's possible to do advertising-supported content in a tasteful way where the ads add to the experience, or at least do not detract from it.
With NYT and WaPo, your subscription is supposed to support quality journalism. The tradeoff that you're agreeing to - pay but also see ads - is not going to work for say a music subscription service or a stock tips service. My argument holds for those businesses. I'd say that WaPo, WSJ, and NYT are outliers, not the mainstream.
Tasteful ads:
Web advertising is so democratic that even the smallest company or startup can spend a few hundred dollars and get in front of you. Demanding tastefulness from such advertisers puts us as the risk of "corporatising" ads again, imho.
Anyway, I don't want to commandeer this conversation. I'd love to hear other opinions from HN.
The proof is that the minute add-ons like DVRs and set top boxes like Roku came along, the first thing people did was to bail on the old TV model.
Internet ads don't
Yes, that's what I mean. They are less likely to get hacked.