Adblock Plus is probably the reason Firefox and Chrome are such memory hogs
extremetech.com
extremetech.com
https://github.com/gorhill/uBlock/wiki/%C2%B5Block-vs.-ABP:-...
https://chrome.google.com/webstore/detail/%C2%B5block/cjpalh... https://github.com/gorhill/uBlock
I suggest removing the icon and just putting a plain old checkbox with a label that says "Whitelist Site".
I guess the whole "hover over it if you're confused" thing is pretty established by now, so I'd say your original assessment is probably the correct one. I just want us (the industry) to get better at this stuff! :)
Since I went back to firefox those are the only extensions I really miss, there is policeman (https://github.com/futpib/policeman/) but it's not as good as them yet
To whoever develop extensions, please don't focus only on chrome, firefox during the last months has become must better that it was before, if developers only consider chrome, people will eventually migrate to it and firefox will die. Even though chromium is open it won't be good for the ecosystem
I've whitelisted a few sites I like to support (a couple of webcomics, HaD etc).
I have a lot of filters: "62,501 network filters + 40,728 cosmetic filters".
Opera's task manager says the extension is taking up a mere 32MB. Probably not accurate, but a lot better AdBlock (my previous favourite).
Off-topic but I wish people would stop using Mu for project names. Where is the Mu key on the keyboard? I have to copy and paste or alt-code it. Call the project microBlock or something! They use "u" instead of "µ" on Github, so why not just use something else entirely?
µTorrent was the one that really irritated me because I couldn't type "utorr" to search for it on my start menu.
I'd say something to gorhill (albeit far more politely), but it seems childish and ungrateful. He's clearly poured so much time and effort into making such useful software. "Great software but the name is fucking annoying, mate!"
I originally used the mu character in place of the u to emphasize smaller resource footprint relative to similar solutions out there.
I've never been good with picking name etc., unfortunately now we are stuck with it.
Sadly, the US-International keyboard on Windows does not implement a shortcut for the "micro" character (http://support.microsoft.com/kb/306560).
yup. Has been around since NT or maybe even longer..
It is having to open it every time you want to type the name of µSomething
At least for me, option-m is the µ key.
I've used it every day since starting a new job seven months ago and I've not noticed any issues with it.
Google helped to close the gap by making Chrome more bloated and much more unstable.
I've tried a couple of times to work with uBlock and uMatrix. I ended up going back to ABP each time. The 'block an ad on this page' feature is one of its best and most useful. That, and it doesn't go too far in blocking useful item on-page.
As I said in a similar thread on Reddit a few weeks ago, uBlock has some way to go before it can be considered user-friendly (at least, for the user who isn't familiar with the intricacies of how browsers work). I would love to be able to use it, though. ABP is an enormous resource hog on my system, but more to the point, pages render so slowly when it's switched on.
Thank you :)
----- EDIT
I reinstalled the plugin and the problems went away. So far looks good.
I see videos all fine on Youtube front-page, using out-of-the-box filter lists. That kind of issue was never reported for uBlock. I would need to know exactly what filter lists you were using, including custom filters.
uBlock relies on 3rd-party filter lists to do the job, specifically, out of the box:
- EasyList
- EasyPrivacy
- Fanboy's Social Blocking List
- Peter Lowe's Ad Servers
- Malware domains
So if you think it blocks too much, un-select the filter lists you do not want.Bottom line, whatever filter lists you use in uBlock, you will get the same results with the same lists with ABP.
I'd also recommend that the defaults should have YouTube and Facebook (at least) working out of the box. Otherwise I think people will just uninstall the plugin, rather than trying to figure out how to fix it, which would be a shame.
EDIT: ( Chrome 39.0.2171.95 (64-bit), linux )
If you have things being blocked you don't want, either whitelist the element or find the block rule in your rule list.
YouTube and Facebook definitely both work 'out of the box' with the recommended lists.
Still, I don't think everyone out there who has ABP installed necessarily understands how to use it, or how it works. I have installed it for my wife, and for friends, (the kind of people who spend 90% of their time on a handful of popular sites) and if Facebook or YouTube was broken they wouldn't know why or what to do about it.
EDIT: Spelling
n.b. Firefox results from experimental patch: https://news.ycombinator.com/item?id=8802509
https://code.google.com/p/chromium/issues/detail?id=441500
This affects all extensions.
Just so people are informed memory figures won't be too reliable as soon as you opened even only once the popup UI of an extension. (In all my benchmarks I of course avoided to do this).
Note: No automatic updates with this unofficial build.
I usually wouldn't notice a broken website with ABP, but with ublock I see something wrong at least once a week.
There is no filter which matches "api.google.com", so this can't be blocked, unless you have a custom filter which does that.
> also breaks a lot of sites that uses the google common javascript library CDN
uBlock uses third-party filter lists such as EasyList, EasyPrivacy, Peter Lowe's, etc. It won't block more than what is spelled out in these lists. Un-select whatever filter lists which you think should not be selected.
As I have said countless times now, uBlock will block as much as ABP blocks when using same filter lists.
As always, if you think something is blocked which should not be (for example if ABP with the same lists has a different behavior), I need a URL, a test case in order to be able to infirm/confirm that the problem is with uBlock and not with the filter lists. On that ground, uBlock has been quite stable for a while now, I don't remember the last time something was blocked which should not have been blocked (or vice versa) as per filter lists.
In short, auto-start audio in ads is quite simply so far outside of what I consider acceptable behavior, that I'm willing to burn the whole goddamned business model to the ground to stop it. I disable AdBlock Plus for sites that I know to behave responsibly with regard to their ads (reddit, probably a couple of others). If there were a list of Advertising Good Citizens who never use auto-starting audio ads (such a list would probably need to demand a few other things, like a good privacy policy, no popups/popunders, etc., but audio is the single reason I installed AdBlock Plus), that could be dropped into AdBlock Plus, I would happily use it. I don't mind ads, but the second somebody disrupts my work, my conversation on Skype, my partner's sleep, my music listening, etc. is the second I grow to hate the site and the advertiser.
It breaks down, however, when you want to listen to some music while working. In the end I have my audio muted most of the time, but over time I had to go through all those settings anyway.
It worked pretty good. As a poster upthread noted, though, the big issue with this approach is maintaining the list.
I don't notice the performance or memory problems being discussed, so it's not a big deal for me. My lappy has 8GB of RAM and I've never run into memory problems. But, I guess my tablet (with only 2GB of RAM) or phone probably shouldn't run AdBlock Plus, even if it becomes available for Android. Somehow I never see auto-start audio ads on those devices. Maybe I should just figure out how to make Flash and audio behave the same on my lappy.
There are advertising standards boards that recommend against these kinds of ads, but unfortunately, not enough publishers take them seriously.
http://www.addictivetips.com/web/stop-auto-play-in-chrome-fi...
Use the context menu. There is an option to "hide" (delete) the ad there.
Another option is this bookmarklet (only works if the element that should be deleted isn't in an iframe):
javascript:(function(){var e=document.body.style.cursor;document.body.style.cursor="crosshair";var t=document.createElement("div");var n="border:1px solid #3280FF;background-color:rgba(50,128,255,0.5);position:absolute;z-index:2147483647;display:none;";var r="pointer-events:none;";var i="transition:width 60ms,height 60ms,left 60ms,top 60ms;";n+=r+"-webkit-"+r+"-moz-"+r;n+=i+"-webkit-"+i+"-moz-"+i;t.setAttribute("style",n);document.body.appendChild(t);var s=null;var o=function(e){var n=e.target;if(n!==s&&n.parentNode){var r=n.getBoundingClientRect();var i=document.documentElement;var o=document.body;var u=i.clientTop||o.clientTop||0;var a=i.clientLeft||o.clientLeft||0;var f=window.pageYOffset||i.scrollTop||o.scrollTop;var l=window.pageXOffset||i.scrollLeft||o.scrollLeft;var c=l-a+r.left-1;var h=f-u+r.top-1;t.style.display="block";t.style.left=c+"px";t.style.top=h+"px";t.style.width=r.width+"px";t.style.height=r.height+"px";s=n}};var u=function(n){document.body.style.cursor=e;if(n.target.parentNode)n.target.parentNode.removeChild(n.target);if(t.parentNode)t.parentNode.removeChild(t);window.removeEventListener("click",u,false);window.removeEventListener("mouseover",o,false);n.stopPropagation();n.preventDefault()};window.addEventListener("mouseover",o,false);window.addEventListener("click",u,false)})();void(0)Personally, I just don't have Flash enabled at all – it's a security win and I haven't heard my laptop's fans while browsing in ages.
I know there are some small groups trying to do good advertising on the web but it is so insignificant it doesn't even register. Large and important websites don't care enough to curate their advertising (or won't curate it to an acceptable level because of the financial hit they'd take), it is a lost cause.
The worst part is that this shit-show is steadily seeping into the mobile app ecosystem, at least on Android (I'm not on iOS enough to make a judgment). I don't know how many times I've seen beautifully designed apps with a damn ridiculous yellow flashing banner (etc) shoved in the middle of it. And 99% of the time there is no option to pay for a version of the app without advertising. I get why people do this (gotta pay the bills, Android users won't pay for apps, etc) but it sometimes seems like people don't take any pride in software anymore. :(
In contrast, I was quite surprised with how pleasant the advertising is on my Kindle. I suppose that can be a benefit of having a closed ecosystem and a device with limited capabilities.
Advertising is predicated on lies, by definition, and I am only interested in making consumer decisions as far from the influence of marketing departments as is practicable. Advertising is the very worst that capitalism has to offer.
Moreover, I am not interested in being distracted by ads, ever.
If the the web turns out to be a house of cards that crumbles without billions of dollars of vapid ad revenues, then maybe that's a positive evolution.
Well not really. You can for instance have a genuinely good deal and just let people be aware of that. Though lying does happen of course.
Truth be told, I don't bother going back and whitelisting sites that may be OK.
It's unfortunate because this idea being held as a premise by so many users kind of give a free pass to developers to not work harder to improve their code.
No one expected the cure to be worse than the disease. I couldn't believe it somewhat recently when I had to use an older laptop to find that simply running Chrome was completely untenable if ABP was installed.
All things considered however, it's IMHO a small price to pay for having the freedom to decide which content is fetched during page rendering and thus which services won't know whether you're visiting a certain webpage.
So...Acrobat Reader?
I would be surprised if many would agree with accepting a performance hit for what ostensibly is your browser doing much less.
It is a sad reflection on the state of advertisement, but lacking any viable alternatives, using an adblocker (and NoScript) is pretty much non-negotiable to me. I am always apalled when I have to use a browser without an ad blocker installed.
It is not that I mind the ads in general, but too often, they are seriously distracting, and advertisers seem happy to go totally overboard. Imagine walking down the street and looking at blinking, flashing billboards. Imagine turning on your car and being greeted by an ad before the engine actually gets going. If ads outside the Internet were as annoying as they are online, we probably would have riots. (And that is ignoring the malware.)
And I wouldn't say that's the 'point'. Chrome groups tabs into fewer processes most of the time.
Personally I'm much more excited about the possibility of a compacting GC.
The increasing crashiness of Chrome was one of the reasons I stopped using it.
Also it still takes a nontrivial amount of time to not-load a lot of tabs.
1. I feel somewhat bad about using a free service and preventing them from getting ad revenue
2. I'm really good at ignoring advertising of all kinds. People might say it still works subliminally or it has an effect on me and I just don't notice it, but I seriously don't believe this is true. With TV I used to mute it, change the channel, or do something else on my computer (I don't watch TV anymore, but I do admit I pay attention to ads if I join somebody else that watches it). With video ads on the internet I mute the audio and do something else on my computer. I basically have never intentionally clicked a banner ad, besides maybe some Facebook ads only because they seem to have access to my Amazon search history and show me items I'm already shopping for. Facebook is certainly a different beast in terms of advertising because it involves showing businesses that friends have liked, but I wouldn't say this has a very positive effect on my opinion about that business.
That said, I used Adblock many years ago around when it first came out to block YouTube ads but switched over to my muting/ignoring method because it did affect my conscience negatively, not so much because of YouTube/Google but because of other content I browsed on the web.
My setup recently has been to have Adblock installed on Firefox (I have always primarily used Chrome) for the instances where ads on a website are causing performance/experience issues. I have had Adblock installed (disabled) on Chrome because I have a Chromebook and have occasionally enabled it in order to visit the problem website on it (it is pretty much unusable on this Atom processor without Adblock). In the past several months I have noticed some very weird bad performance issues if I leave it enabled and use YouTube (maybe some other websites), not sure if this is due to changes in Adblock or if YouTube is intentionally breaking itself when it detects Adblock usage.
P.S. I'm not sure if any of this has anything to do with my previous post being downvoted, but I felt compelled to explain my reasons for using Adblock.
P.P.S. The website I am primarily talking about that has become nearly unusable and quite unstable due to ads is tinychat.com... My reasons for being okay with blocking them for this website are complicated and I'd rather not go into detail.
But with the "download here"-button ads, there is no way to know what button to press anymore. Now installing Adblock is a requirement.
http://www.ghacks.net/2013/07/17/sourceforges-new-installer-...
https://blog.mozilla.org/security/2012/10/11/click-to-play-p...
Though I just never bothered installing Flash. If I need Flash for a site, I use Chrome (which comes with Flash embedded, I believe).
As someone with a browsing profile that isn't targeted by those kind of ads, I've found out second-hand that I've been running ads like that a few times. Trying to prune specific ads is an endless game of whack-a-mole that I've never been able to win, and disabling an entire category of ads just to prevent 1% of them from running is very tough on the bottom line.
There should be an easier way of black/white listing certain types of ads when setting up adsense.
Ad block needs to continue to run rampant over this "internet economy" because advertisers need to come to terms with the fact that now a days users get to choose what they see and how they see it. Maybe one day it will occur to someone in the industry that aggressively hostile ads are ruining their industry rather than being a staple of it.
If they don't... Then I don't mind seeing that industry die.
You may not mind seeing that industry die, but until you start paying for visiting websites, you'll have to amend that to say "I don't mind seeing the internet die".
I think you'll find in the absence of one solution, another presents itself.
As an example, github is not an ad based service, nor is it some sorta bait and switch. It's terms are reasonable and is generally useful to everyone.
That is ridiculously dramatic to say "The internet will die"
It's just the shitty part that will die.
THAT is why people install Adblock. Content owners crying butthurt because "Adblock hurts the sites you love" ignores that the sites you "love" can often just not be trusted not to accept ads that are shady, scummy, or worse. And there is no excuse for that. If your business revolves around spraying dog mess over people's windows, don't be surprised when people put up fences. You reap what you sow.
Though I've had more and more invasive ads in newspaper sites (the fact that I get so many ads on NYT's site despite being a subscriber is frustrating to say the least), I do like keeping free websites running. I find using ABP to be somew immoral , violating the contract with which you're looking at someone's content. I have less sympathy for people who are basically showing stolen content (not technically stolen , but still), though...
http://marc.durdin.net/2012/08/rant-of-the-day-the-big-green...
Have you never seen the print edition of the NYT (or any other newspaper)? Since they just use news to fill in the otherwise blank areas between ads the motto really should be all the news that fits, we print.
That is pretty much literally true. When I worked on a student newspaper, it was pretty common for the advertising manager to rush in to the editorial offices and say things like "I've just sold another full-page ad, so we're going to be printing extra pages - do you have any copy to fill them?"
Perhaps at a student paper, though that's considered a pretty huge ethical breach. I can attest that the New York Times definitely does not do that; they take this separation very seriously. Even at their headquarters, as of relatively recently, business and editorial enter through separate elevators, as they are on opposite sides of the building.
There definitely are publications without such strong and heavily enforced senses of editorial ethics, but the New York Times is not one of them.
The papers I've worked on usually had a little flexibility in terms of extra copy or advertising to populate pages as required.
Well, that by definition would be considered an ethical violation at a paper like the Times. Not at a student paper, no, but at the New York Times, definitely.
What possible ethical issue is there?
I'm curious about what you think the ethical breach here is. Advertising and editorial departments have to coordinate on practical matters like page layout.
Not on a computer right now to try it out for myself, but it sounds like an interesting approach.
In addition to the NSA, GCHQ, SVR RF, Mossad and other n-letter agencies, there are some 30 corporations that know everything about what and where you browse, keep that data not-very-secure, sell it to the highest bidder - any bidder, actually.
Do you like that? I don't.
You could blacklist them, rather than universally denying revenue.
I do think that only a very small portion of adblocking users wants to "justify" anything in this regard. Most just don't want to see ads and skip the faulty and economically biased moral debate around it.
edit: While I agree that the blacklisting solution shouldn't be too much work, the charming "setup and forget" experience most adblockers provide will probably win through.
That said, thankfully the new design has fewer ads, which should help a lot. It really just depends, it's easy to go down a rabbit whole with ads... but we get 90% if our ad revenue from 40% of our ads. So cutting out a lot changes the layout of income without nearly so much impact on revenue.
This is possibly true, but not particularly relevant, as my comment mentions that I'm talking specifically about those who _do_ engage in moral justification. Among the people with whom I've talked about it, those who claim a moral justification are far more common than those who simply say "I don't like ads and I don't care about creators not getting paid". I would be surprised if there weren't many HNers whose sample is similar to mine.
Tangentially but not importantly, I'm not convinced that only a small portion of users openly think "yes I'm consuming a product without paying and I have no other justification other than 'i dont want to pay' ". Part of the reason you see such contortions in an attempt at moral justification is because one can draw a pretty clear parallel to "I would shoplift if I didn't think I'd get caught", with the only (somewhat dubious) distinction being differences in marginal cost.
Note that I have talked to people who have a moral stance on adblocking and piracy that _is_ consistent, but this is rare since it's usually accompanied by a pretty radical stance along the lines of "all information (music, art, writing, etc) should be completely free", which requires a pretty massive amount of philosophical baggage in terms of having a sense of how this affects the incentive to create said information.
"In the _absence_ of non-ad monetization for a given product, do I decide that the transaction (view ads, get the product) is not for me or do I unilaterally decide to take the product without compensation".
I don't want to download a trojan from a malicious ad-server. Not even once.
Fuck that. You pull that shit, your whole industry can just go and get fucked. If you need to pull that shit to live, you need to fucking die.
This laptop has 8GB because Firefox with ABP is really fat. It's worth every byte. I use FF for personal stuff, Chromium for work; occasionally I load a non-work page in Chromium and am bloody horrified at what the web looks like with ads.
I should note that I have no qualms about blocking ads I would never click anyway. I don't harbor ridiculous puritanical notions that I must suffer in exchange for "free" content. Nor do I abide by the notion that anyone else has the right to sell my attention merely because they make content. Monetization should be cooperative, not coercive (and I also support content creators directly quite often).
setTimeout(function() {
fundraisingBanner.hide();
}, 1000); ||https://meta.wikimedia.org/wiki/special:bannerloader194MB for a single webpage that should mainly be text communicating a message. Does anyone else than me find this crazy?
You also have to consider that images are decompressed for display; that 474x350 image in the lead spot on the Techcrunch homepage is 474 * 359 * 4 = 663,600 bytes in RAM, plus any overhead. When you consider how image-heavy sites have become, that's a lot of memory that can disappear in a hurry.
That was more or less true of the web in, say, 1995.
Today, a web browser is an advanced programming environment with broad multimedia capabilities (including audio, video, and 2D and 3D graphics) that also happens to have some excellent document presentation features relating to text and images.
(Edit: I previously said this much better here: https://news.ycombinator.com/item?id=7743284)
You may think this is a bad thing, and that's a reasonable opinion to have. But if you think it's not true you'll only mislead yourself.
It doesn't matter what the tool is to you. When we're visiting something like techcrunch, we're there for the text and then maybe a few pictures.
I didn't check if they still work with new Firefox versions but there are extensions that exactly do this.
https://addons.mozilla.org/en-US/firefox/addon/strict-pop-up...
<:D
It's an in-development feature to block parts of websites that track you. In practice, it mostly blocks ads, and it blocks most ads. And it doesn't have the performance/memory hit of AdBlock Plus for two reasons:
* The domain matching is simpler (no regexps) and thus much faster.
* It doesn't use CSS to fix up the layout of pages that have had ads removed; it just leaves blank white rectangles. (AdBlock Plus has lots of complex and even site-specific CSS code to do this.)
(I've been told this by one of the Tracking Protection developers, though I may have got the details slightly wrong.)
In testing done by its developers, it speeds up the load time of the median page by 20%! So overall it gives more privacy, less page clutter, and faster browsing. Fantastic stuff.
Wondering about catching on-error events for iframes.. or load errors, etc... that may help in detection, and reflow. I'm more concerned about things continuing to look nice with adblockers than circumventing them.
You could as well ask "What kind of fucked up add-on unconditionally injects minimum of 14K+ CSS rules per page? (assuming no iframe)".
The original point is that the approach is detrimental to Firefox the browser regardless of that stress test, and I can understand very well Firefox developers wanting to raise the issue [1], as the browser ends up taking the blame when resources are abused.
The like button is just one of many of Facebook's components which can be embedded into pages; another being the comment box which shows your name and display picture but cannot allow the hosting page to get at that information unauthorized.
FWIW, on a site I work for, we use a plain facebook like link without any personalisation because that's all we require, and we recognise that it respects our visitors' privacy more than the full-on iframe variant.
There are lots of gray boxes now all over the web, but I prefer them over resource-hungry attention-grabbing Flash ads.
Rarely there are sites that hide their flash elements if they aren't loaded properly, which can make it difficult to click them, but then you just whitelist the website if it's really important.
So you'll need to go to the URL level at a minimum if you don't want to use some important functionality.
I a DNS server on my router which has zone that routes all ad hosting & other wanted stuff to an IP which is then rejected by the firewall.
I also have a transparent proxy rewriting all web pages removing IFRAMEs - this does ocassionally break things, but it's extremely rare to find a site that actually has a use for them other than serving ads.
include "/etc/bind/adblock.conf";
That file is generated by a script that uses a hosts file maintained on http://someonewhocares.org/hosts/
the script is something like: #!/bin/bash
cat /etc/bind/adblock.conf | xz -z - > /etc/bind/adblock.conf-$(date "+%Y%m%d-%H%M%S").xz
echo "" > /etc/bind/adblock.conf
curl -o - http://someonewhocares.org/hosts/ | sed -rn 's:^127\.0\.0\.1 ([^ #\t]+).*$:\1:p' > /tmp/addrs.txt
cat /tmp/addrs.txt | while read line; do
! egrep -i $line /etc/bind/whitelist.txt >/dev/null \
&& echo 'zone "'${line}'" IN { type master;notify no; file "/etc/bind/pri/adblock.zone";};' >> /etc/bind/adblock.conf
done
which can be called from cron or similar (if you do you need to reload/SIGHUP bind to reload its condiguration)
you can whitelist stuff by adding a FQDN to /etc/bind/whitelist.txtThe file /etc/bind/pri/adblock.zone contains something like:
@ 1 IN SOA localhost. root.localhost. (1000 7200 120 1209600 3600)
@ 259200 IN NS localhost.
* 259200 IN A X.X.X.X
@ 2 IN A X.X.X.X
where X.X.X.X is an IP on different (but private and not internet routable) subnet, and iptables rules
something like: iptables -N DNSBLACKHOLE
iptables -A DNSBLACKHOLE -j LOG --log-prefix "DNSBLACKHOLE ::"
iptables -A DNSBLACKHOLE -j REJECT
iptables -A OUTPUT -p all -d X.X.X.X -j DNSBLACKHOLE
iptables -A FORWARD -p all -d X.X.X.X -j DNSBLACKHOLE
Transparent proxying is accomplished by iptables rules redirecting port 80 and 443 through SQUID which essentially performs
a MITM, you can find out how to do this here:http://blog.davidvassallo.me/2011/03/22/squid-transparent-ss...
Edit: it's also worth mentioning I transparently redirect all DNS traffic the router sees to my own bind instance, so untrusted devices are unable to use an alternative dns server.
Do all designers work on their iExpensiveMachine and don't care about other peoples lower-end machines/phones/tables/whatever?
Also, last I checked, most phones have 1 to 2 gigs of RAM, and they're not keeping many tabs in memory. If the RAM is there, using it is not really an issue (until you start getting into the whole virtual memory stuff I guess)
If your webpage has that many images, you need to redesign your webpage. An uncompressed image at my screen resolution is 21MB - your webpage needs ten times that in memory? For maybe 500 words of prose and some meme/cat picture?
Modern web design is just so bad that they can't help themselves from this madness. A modern webpage needs 10+ iframes? Absolutely bullshit.
Not that all or most do.. but there are a lot of really nice sites that use a lot of large images for full content display. Other techniques can be used to reserve space and load when a section comes into view, but that's not always prudent.
Images are crucial, and optimizing your rendering is also becoming more crucial.. just the same, not everything on the web is text.. and I'd say people spend more time on the web looking at pictures than text, not to mention video.
The average web page is what we're talking about here. Even your page which is demonstrably unaverage should not be hundreds and hundreds of megabytes of raw images.
Images are crucial, but running a car classified site, you should know how to properly demand load images and not just have the page load every image unscaled as soon as you hit the page. Thumbnailing was properly figured out in the 1990s, we've only added fanciness to it over the intervening decades. And even at "retina" sizes, thumbnails are a pittance in the memory budget for a webpage - if you went nuts and had 640x480 "retina thumbnails" for 20 cars, that's still only 24.6MB uncompressed. Feel free to rerun the math with your own numbers on your own time.
Since it needs repeating, we're talking about the average webpage coming in at 200MB. Give yourself some logos and a few other UI images and you're still talking nowhere near 50MB of decompressed images on the page. Yet, that's only a quarter of the page's size in memory. Somehow the DOM, Javascript engine, iframes and UI element layout are costing the other 150MB. And that's where I call bullshit. That's how nasty and tangled and batshit insane modern web design has become.
And we're not discussing video here at all, since video is probably one of most insane things about the modern web: either you're forced to use Flash which is basically like running an entire second browser rendering engine inside of your browser, just to download, decode, and play some video, or you're lucky and can use HTML5 at which point the overhead beyond audio/video decompression buffers (which people will be doing in Javascript soon enough, yay!), the setup for the OS's multimedia engine, and a small bit of DOM is inconsequential in comparison to the video stream itself. This makes the amount of space video takes on the client at best unpredictable and at worst, terrible to think about.
With ABP:
12961 XXXXXX 20 0 2615960 1.483g 58692 S 45.2 9.5 2:13.00 firefox
Without: 13098 XXXXXX 20 0 2157212 1.109g 57476 R 142.6 7.1 1:26.25 firefox
Both after a complete stop and start of the browser, restoring every tab by activating it.Also from a scaling perspective I wonder if its linear with tabs. There are various tribes of tab users and if its linear, a "normal user" who uses about 3 or so would scale down to approximately nil.
It's very much a paper analogy, highlight the interesting bits, add new stuff to the 'to read' stack, and when the 'to read' stack is empty you're done and the notes file contains the extracted information.
The note taking extension I use is called scrapbook and I couldn't live without it. I also use vertical tabs which makes it much easier to work with large numbers of tabs.
https://wiki.thingsandstuff.org/Main_Page
Edit:
also https://github.com/343max/TabHibernation great to save resources when processing too many tabs. also, https://chrome.google.com/webstore/detail/session-buddy/edac... for snapshots in case you do crash
otherwise, Readability
Tabs are sort of a halfway house to bookmarks for me. They persist across browser restarts, but the fact that they are still open increases the chances that I'll consume the information in them.
My solution was to add a 8GB stick of RAM with the usual disabling of javascript by default, no iframes allowed and no flash installed with adblock and fanboy's lists.
That's a reasonable conclusion only if people are aware that they're making the trade, which I suspect most users are not (otherwise this article would be rather boring)
I think low-memory situations are the most likely explanation for slowdowns experienced by typical home or office users.
We could say the same about jQuery or bootstrap. You could have pages with many iFrames to other pages using the same js or css files. Right now these pages waste memory on the browsers too...
It's not clear that we want to make those tradeoffs.
We _should_ of course make the changes that don't involve such a tradeoff. They're not trivial, and have significant opportunity costs, so haven't been the top priority for Gecko, unfortunately. You can tell how long https://bugzilla.mozilla.org/show_bug.cgi?id=77999 has been around, for example.
Just to be clear, what we're talking about here is a stylesheet which has about 13000 rules. The data structures used inside Gecko to optimize dynamic changes to documents without having to recompute all style for the document are about 200 bytes per style rule. So you get about 3MB per document, which can add up once you have a large number of documents. Ignoring ABP, having that many rules is not that common, and having that many rules in random dummy iframes sprinkled in your page is something that basically never happens.
Disclaimer: I'm a style system module peer for Gecko, and I've looked in quite some detail at the ABP sitation here; see https://bugzilla.mozilla.org/show_bug.cgi?id=988266#c20 and following.
First I was using this [2] hosts file by Dan Pallock. But now I've switched to this Neocities [3] hosted site. I don't know who manages this site, but the entries are uniquely sorted from various sources, which includes entries from Dan Pallock's hosts file.
Apart from this, I use Privacy Badger [4], Self-Destructing Cookies [5], HTTPS-Everywhere [6] and Disconnect [7].
[1] https://blog.mozilla.org/nnethercote/2014/05/14/adblock-plus...
[2] http://someonewhocares.org/hosts/
[3] https://hosts.neocities.org/
[4] https://www.eff.org/privacybadger
[5] https://addons.mozilla.org/en-US/firefox/addon/self-destruct...
This file is far too large and may cause DNS cache problems on Windows.
[1] https://addons.mozilla.org/en-US/firefox/addon/policeman/
UPDATE: Here is the bug to track: https://bugzilla.mozilla.org/show_bug.cgi?id=988266
I would recommend trying the Reader view in Safari (I'm sure there's similar functionality in other browsers) to read articles without clutter. Works like a charm.
Privacy Badger most likely has the same issue that this article is talking about.
I wrote AdLimiter, (adlimiter.com) which eliminates certain ads from Google search result pages. It's really a demo for our site rating service, SiteTruth,but it has the internal machinery to find and remove ads. The basic idea is that it finds links to sites in the DOM, and works outward in the DOM to find the ad boundary. Then, if analysis of the link indicates the ad should be deleted, the offending section is deleted from the DOM. It takes one linear pass through the DOM to find ads. If the page changes, five seconds after the changes quiet down, another pass is made. This approach is reasonably general and requires little maintenance.
I once looked at AdBlock's code. Internally, AdBlock makes heavy use of regular expressions and does a lot of searching. It seems to be doing more work per page than should be necessary.
In some ways, Ghostery is more useful than AdBlock. It blocks most trackers, which reduces network I/O. Some ads disappear once their tracker is disabled. (CBS TV shows play without commercials if Ghostery is running.)
I've been toying with the idea of an ad blocker that uses simple machine learning. All content coming from off-site links gets a light grey overlay. If you click on the grey overlay, it disappears so you can view the content, and the off-site link is rated as less spammy. If you ignore the overlay, the off-site link is viewed as more spammy. The grey overlays gradually get more opaque over areas where you never remove them, and when they go fully opaque, the covered content is deleted completely.
Network filters = to prevent the fetching of remote resources.
Cosmetic filters = to prevent portion of the DOM to be visible.
Adblock won't load any content when filtered through network filters, the requests to the remote server won't even be made.
The problem the article refers to is related to how cosmetic filters are implemented in Adblock. And that problem has nothing to do with "placing overlays", whatever that means.
https://addons.mozilla.org/en-us/firefox/addon/bluhell-firew...
>"* The main problem, though, is the process by which ABP actually blocks ads. Basically, ABP inserts a massive CSS stylesheet — occupying around 4MB of RAM — into every single webpage that you visit, stripping out the ads.*"
Isn't then the actual problem the way that Adblock+ removes the ads? Why not simply allow an API for a plugin to easily strip content from a site. If there is one already, then ABP should switch to it to reduce memory usage. If not, well then we should look at the actual culprits of this problem which is the browsers.
[0] - https://learn.adafruit.com/raspberry-pi-as-an-ad-blocking-ac...
Turning off JS instantly removes a ton of annoyances, effectively removes a huge attack area for browser exploits (I've accidentally infected others by sending them links to sites that had no effect on me...), and while there are certainly sites that require it (often not even of the "application" type, but just to do something that could've been done without), the majority of the ones I come across in e.g. searching for info don't need it. If a site I find when searching refuses to show anything, then I'll just go back and continue with the next search result or use Google's text-only cache which often does have the content I'm looking for in a more readable format. The whitelist is reserved for sites that are both highly trusted and absolutely necessary to enable JS on.
Edit: To clarify, the above is in comparison to HTTPSB.
Workaround is to un-block whatever net requests which are causing a site to break. I can't make sense of "no work-around": unblock everything?
Edit: There is a scope-based switch to completely turn off matrix filtering.
I was referring to a few issues I encounter in uMatrix which are not present in HTTPSB. I probably should log them; was not sure if uMatrix is ready for full-time use yet.
Furthermore if sites are paid per click my pre AdBlock contribute to all the ads sustained web sites was probably way less than $1. They are losing little by my use of AdBlock. One reason I didn't click ads was precisely that they are so intrusive and ugly. Thanks to AdBlock I'm spared with that and they don't lose bandwidth and CPU to serve ads that won't be clicked. Win-win.
Consider the technical solution alternatives, and getting people to use them. Now look at how easy it is to install ABP.
All browsers became huge memory hogs lately, but I'd rather have 100MB+ of RAM just for Adblock than blinded by ads (of which a lot are malicious).
Now this ET site with 28 spyware modules from random advertisers is telling me - "Don't use your CPU it will make it slower, also don't use too much RAM. Instead make your brain slower and use more brain memory for useless stuff. Because you know - think about children, and because we are entitled for our business model by birth right.".
I have a counterargument page dedicated to apologists of inefficient software: https://github.com/gorhill/uBlock/wiki/Who-cares-about-effic...
A typical workload for me includes a mail client, a spreadsheet tracking time, a horde of browser tabs relevant to something I'm working on, possibly one or more virtual machines, hordes of MacVim tabs and terminal windows, intermittent C++ compiles and neural network training runs, sometimes Eclipse, etc.
My browser isn't the only thing running. As machines get faster, I expect them to handle more work, not for software to expand to take up all available resources.
I can understand e.g. using otherwise unused RAM for aggressive caching to reduce latency—I did buy RAM to use it. I can't understand wasting both RAM and CPU just because we have more these days. I'm not talking crazy micro-optimization—just not being completely blind to runtime costs.
For desktops CPU and RAM are largely irrelevant in such amount (temporary up to 25-50% CPU usage increase for one core, and up to 500-1000Mb of memory usage increase in worst case - for instance my FF never exceeds 1Gb overall with ABP and other stuff). I sometimes "fix" old PCs for relatives and even in worst cases ABP usage isn't a noticeable hit on performance.
For laptops resources are more relevant as well as battery life. I'll even agree with your point for this category, but still for now ABP hit is not that big as compared to ad noise.
For touchscreens resources are very important BUT! This is a very big "BUT". But the websites are almost unusable without adblock. I use iphone and ipad where there are no adblockers afaik. When I browse the web it is horrible (with a big H - Horrible) - everything is jumping, jiggling and wobbling for a long time during page load. One moment there is a text in some point and I try to scroll - and instantly there appears stupid facebook crap which I of course click. Same with multiple frames, banners, popups (I hope these devs will burn in hell). And additionally there weird motion gestures in-built into page, transparent overlays which are part of a nearest ad. The list goes on...
Basically on touchscreens web browsing experience is so horrible that I'm willing to trade adblocker for x2 increase in battery consumption (note that web browsing is not the only thing to do on a phone or tablet, so this is not a total x2 lifetime decrease).
Remember: ABP = Shit. AB = Good.
https://github.com/gorhill/uBlock
I use AdBlock on one machine and uBlock on the other, both in Opera. I've not noticed any real difference in unattended use, except uBlock seems to use less resources.
AdBlock 2.6.11 (2013-10-25): The AdBlock feature which sends a unique user ID to the AdBlock server every day has been extended. The server can now decide that the user should see a survey — this one is being opened in a new tab, immediately, no matter what the user is doing right now.
AdBlock 2.6.14 (2013-11-09): AdBlock won’t just send a unique user ID to its server now, it will also transmit user’s setting determining whether Google Search ads are allowed.
AdBlock 2.6.29 (2014-04-28): The “AdBlock custom filters” (AdBlock-specific filter list that is installed by default and listed as recommended) add a set of filters to whitelist Mixpanel tracking on the AdBlock website.
AdBlock 2.7 (2014-06-06): Also, AdBlock will tell getadblock.com whether AdBlock has just been installed or has been used for a while
Interestingly, there is a uBlock alternative which I had not heard about[1]. If the more efficient claims are true, it would definitely be worthwhile to switch over to that instead.
[1] https://github.com/gorhill/uBlock/wiki/%C2%B5Block-vs.-ABP:-...
You don't need an add-on for that. Firefox and Chrome both have this as an optional built-in feature. I think it should be on by default (which it sadly isn't).
Under "Filter Preferences", uncheck everything marked EasyList. Under "Custom Filters" add EasyList without element hiding rules and make sure it's checked. Restart. This speeds things up considerably.
On Chromium I don't use AdBlock Plus, it's too much of a memory hog. Instead, I use the much leaner and faster µBlock for dynamic filtering:
No worries, until those video and audio ads got out of control.
Some pages would bury my machine! And it's a good machine too. 2012 Mac Book Pro.
The memory profile of Firefox itself is kind of a pig, but not something I would worry too much about. Firefox with those ads? Out of control. Firefox with simple Adblock is back to no worries again.
I'll have to give uBlock a try.
http://someonewhocares.org/hosts/ HN Thread: https://news.ycombinator.com/item?id=6002544
Make sure localhost / 127.0.0.1 resolves to something though. A blank `index.html` in the root is lightweight enough. For the perfnerds, you can resolve it using lighthttpd
I'm using RequestPolicyContinued. Using a whitelist for third-party requests seems to do a lot of the heavy lifting so that my Adblock Plus filters are limited to a handful of specific things I don't want to see.
Ghostrank is used to build profiles on who is blocking what, and when, so they can sell this data to advertisers and trackers. Which just seems hypocritical to me. To be fair, Ghostrank is disabled, and opt-in by default.
Instead, I think you may be better protected by running Privacy Badger by the EFF. It's Free Software and it isn't tracking you.
Regarding Ghostrank -- isn't it better that ad companies learn to create non-intrusive, acceptable ads so that we don't have to rely on adblockers everywhere and can actually give sites their ad-revenue?
http://lifehacker.com/ad-blocking-extension-ghostery-actuall...
http://www.informationweek.com/software/social/ghostery-make...
https://gigaom.com/2014/11/19/ghostery-uses-plugin-data-to-p...
Ghostrank tracks you. Plain and simple.
You don't have to opt in.
You are not bugged to opt in.
Plain and simple.
[1] https://github.com/gorhill/uBlock/wiki/Own-memory-usage:-ben...
I haven't tried it again since.
I suggest try HTTP Switchboard instead (see the previous thread).
[1] https://github.com/gorhill/uMatrix/wiki/Changes-from-HTTP-Sw...
I want to control what sites I allow to execute scripts in my browser rather than give global authority to any random site I may happen to land on.
I see no value in allowing scripts from Facebook or Twitter, for example, to run on any of the sites I visit.
For example, for someone just wanting to casually browse on random web sites, blocking 3rd-party scripts/frames is no hurdle, as the important content most of the time can be viewed.
Examples: https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-Be...
Edge cases are not completely ironed out but if people want to help perfect it I'll very happily accept PRs !
Works across all applications, e.g. browsers, apps, and requires no installation of third party software e.g. extensions.
I'm curious: do these ad blocking "solutions" operate as businesses? Do ad servers pay to be removed from blacklists? Pardon my ignorance.
Now that's real irony.
You may find others having an opposite experience:
Safari+adblock+ any amount of tabs+history = I want 64g of ram on my laptop stat.
A quick `ps aux` will let you see what extensions are the worst offenders; clearing out a bunch of unused extensions helped restore my computer back to normal.
A lot hinges on modern auto-update pipelines.
So I usually just block ads that are really obnoxious. Every few months I review the list and remove any entry that was filtered less than 10 times or so.
That has two advantages. First I get to control what is filtered, and second it prevents that list from growing so much.
because ad block won't work on mobiles, and devices owned more by Google/apple than yourself.
if you want to block malicious scripts and plugins you should use noscript.
both will actually improve memory use and performance, not to mention getting closer to solving the problem in the first place
I'm using https://github.com/gorhill/uBlock to replace Adblock plus since last week.
this would explain why i've never considered chrome to be a memory hog.. (although, all my machines have a lot of memory, too)
it's not as elegant as hiding the HTML elements, you see some question marks on the page if safari couldn't load the resource. but overall i'm pretty pleased and it gets the job done.
1) Website owners use ads to earn money (server and employee costs, revenue).
2) Several Ad networks create ads that influence and annoy users and track their browser habits. e.g. blinking buggy video ads with sound that sometimes even crash the flash plugin
3) Visitors install Adblock+ because they dislike intrusive ads that don't adhere to the browser privacy settings. Some websites are unusable without an ad-blocker. Many websites even crash the mobile browser.
4) Companies buy ads cheaper as ads are clicked in reality by clicking-bots and are worth less than years ago.
4) Website owner places more ads because the earn less for the same amount of served ads as last year and because more and more block all ads altogether.
5) Even more visitors install adblockers and turn them on for all websites.
6) Website owners introduce a paywall so that parts of their content or everything is behind closed doors for paying customers only.
7) The visitors switch to alternative website that offer comparable content for free, monetized by ads or maintained as hobby.
8) and so on...
Paywalls are not the solution. Another website will appear that offers comparable content for free. Example: The Microsoft Network (MSN 1) that was meant to replace the WWW in 1995 and shipped with Win95. Bill Gates had to rewrite his vision of the information highway, micro payments and Microsoft Network in his famous book "The Road Ahead", half a year later as MSN failed and WWW succeeded he released a second book edition that removed all references and now acknowledges the WWW. Pictures of MSN 1: http://winsupersite.com/windows-live/msn-inside-story
Everyone has to change a bit, to improve the current status:
* The ad-networks that still code flash-based ads should move to HTML5.
* The companies that buy ad-space from such ad-networks should care more about the ad-quality.
* The website owners should care more about which ad-network they select.
* The visitors should use less adblock-plugins.
* The WHATWG/W3C/browser developer should improve some situations with HTML 5.x so that there is no single reason for flash based ads.
The ad networks bare most of the blame because they face a moral hazard. They can either deny annoying ads and lose revenue, or accept them and push the risk of adverse events to the publisher. The publisher will respond as you describe above. Ultimately the publisher fizzles out and their ad network drops them for non-performance.
Most ad networks appear to be willing to accept trashy ads in lieu of instituting quality controls.
This is my experience in working at a publishing network that did not have its own ad server.
But as you've described it, that 'other website' is far inferior: it contains crap-loads of advertising that I need to take steps to remove in order to make the site usable. In such cases, I'd far rather pay a tiny amount of money to view unencumbered content.
Noted in http://www.drdobbs.com/architecture-and-design/farewell-dr-d...
>> They've come to realize that website ads tend to be less effective than they once were. Given that I've never bought a single item by clicking on an ad on a website, this conclusion seems correct in the small
On my website, office furniture manufacturers use the advertising space to display their new products to our readers - the majority of whom design office environments for a living and purchase 0% of the products they use in their projects on the internet.
Let me fix that for you:
> On a shit website, there can be dozens of iframes.
It’s like ten thousand spoons when all you need is a knife.
If you use Chromium I recommend HTTPSwitchboard.
BTW, I'm another that won't log into Google services with a Google-owned browser: I usually use IE11 for that. But I use Firefox for Microsoft services ...
window.hasOwnProperty('google_ad_block') || (document.body.innerHTML = 'Please disable adblock to use this page')