Performance Impact of Ad Blockers (2020)
I first started using an ad blocker (adblock plus or some such firefox plugin, don&#x27;t remember) somewhere around 2003 when people were hyping it on tech forums. About a year later, I removed it, because I felt (wrongly or rightly) that it was eating more CPU to have it on my already strained machine (yes, in 2020 it is more worth it). Instead of relying on the ad blocker to fix Firefox&#x27;s broken and non-working &quot;disable popups&quot; option, I set dom.popup_allowed_events to &quot;&quot; in about:config. Which also does not fully work (false positives and negatives), but is the least evil.<p>Around 2006 or so I started understanding the topic of computer security, and continued to not use an ad blocker, as that would increase attack surface, and is written by amateur hobbiests. Years later, my infosec buddies constantly talked about how X and Y plugins can be leveraged to do things range from RCE to XSS in Firefox. Of course this doesn&#x27;t really matter since any browser at this point already had an unrecoverably large attack surface, but was still a good exploration.<p>In 2009, I started only browsing the internet over Tor, as this is how the internet is meant to be used. IP addresses are an implementation detail and nothing other than high end real time low latency games have any business seeing it.<p>Then around 2011 Cloudflare came out and decided to block Tor (for pedants: yes, Tor was actually blocked automatically by their WAF; They didn&#x27;t explitly block Tor. Does that make their WAF good? No! Cloudbleed anyone?). This caused about 50% of ads to stop loading. I subsequently filled out thousands of captchas for the next 7 years to read 3 paragraph text articles (which consume less resources on than the captcha itself) and attained wrist problems.<p>Around 2013 or so, the web became so bad that it was not usable on my sub $1000 machines without entirely disabling JS, with or without an ad blocker with or without Tor. So I set javascript.enabled to false in about:config. No, this is not what Noscript is for. Noscript is an engine for mitigating web attacks such as XSS and CSRF. Basically a firewall. I do not use Firewalls, they are marketing hype. I would not install that just to use one tiny feature of it. Noscript has also _caused_ XSS vulns in the past. I will not have some hobbiest plugin arbitrarily modify the DOM or whatever else it modifies when forced to access my bank online who mysteriously thinks using the most insecure computing platform in the history of man kind for sensitive data is a good idea. Disabling Javascript is not only a good performance optimization, but will get rid of most ads.<p>Around 2018, I stopped using the internet for a year or two, and just went to the library instead, as this was now more efficient than trying to use the web. During this time I have written multiple pieces of software, each were better than I ever wrote. Sometimes I had some thing I wanted to lookup online, and just wrote it down and went to a cafe to look it up and save the results. I do not consider buying a phone and sending photo ID to websites (literally: steam [a website embedded in a terrible GUI marketed to 3 year olds] now will ask for a photo ID before you can go on a game when you logon from your friend&#x27;s house down the street) to view static content consisting of a paragraph of text surrounded in marketing boilerplate as a reasonable compromise. The web is simply dead to me at this point. Even using the web like a normal person, you will just get a non-stop stream of SEO&#x27;d garbage, half working programs (most websites are now programs written by low quality programmers that interactively fetch the 300 bytes of ASCII you wanted to read in some inefficient and error prone way from a server who&#x27;s WAF will block you for false positives), and delays. Even in the &quot;hacker community&quot; at this point, it&#x27;s just a bunch of hippies parroting &quot;X and Y is hard&quot;, and racing to implement the new best practices like linting, password hashing, 2FA, KYC, forward secrecy (yup, good to have, but people believe it&#x27;s the only thing they should care about. so bad that i&#x27;ve seen them literally miss gaping holes in their software because of it), etc, etc, while not understanding software engineering very well in the first place.<p>But none of this matters. There is no correct way to use the web. It&#x27;s broken by design. And so are all these new decentralized tech like Ethereum, Freenet, etc which use web tech as the front end. I merely use the web as described above out of principle, because I want computing to be good as opposed to 1000 layers of bad, and that&#x27;s what we&#x27;re going to make, and you can&#x27;t do anything about it. People will object because &quot;nooo you can&#x27;t just view a paragraph of text, what if it is saved to your hard drive? that will be piracy!!11oneone&quot;, and &quot;noo you can&#x27;t just use a memory safe language, that is slow because of GC and insecure because you might make an initial reference implementation in C, check mate!&quot; but we will not care about these pathetic tech reactionary ideas anymore. Yes, I know about the Gemini protocol. That&#x27;s how the web should have been in 1990, but not 2000.
The web should have only supported static content
The web should have had a real markup format as opposed to something that will be arbitrarily parsed however the implementor feels like
The web should have been on content addressable storage
The web should have based on strange military&#x2F;UNIX crap like MIME
Domain names should not exist
X.509 should not exist
The web should have been anonymous
&quot;Web applications&quot; (which are no different than real software aside from having 10x more hacks) should have been the same as .exe but with proper isolation of programs. It&#x27;s windows, mac, and linux&#x27;s faults that web applications are viable.