tags:

AI XAI blogging flask open_source python rants raspberry_pi sports streamlit tennis web_dev

Ads, Chrome, black holes and Instagram Stories

Tags: rants, raspberry_pi, open_source
Date: 2025-05-02

Fahrenheit 451 is a dystopian novel written by Ray Bradbury. I read it a long time ago, so I don't remember much, but I remember two details: the first is that it describes a society where books are banned and therefore burned, the second is the constant bombardment of advertising that the population has to endure.
Regarding books, we got rid of them without even needing to burn them. Most of us have our brains fried by "short-form content", including myself, and for the few who do read, statistics suggest that many are unable to effectively understand the content of a text. And then, read what? Of the few who have the audacity to write, most have nothing to say, including myself again. And this isn't false modesty – my click-through rate of 0% speaks for itself.
Regarding advertising, however, I would say there are many parallels.

The institutionalisation of Instagram

Facebook used to be a place to share mostly fun stuff with your friends. It was just another way of hanging out with your mates, just online. Over time, it became more and more serious to the point that younger generations started moving away from it. They landed on Instagram, again to share frivolous stuff with their friends, while they kept their Facebook account for more "serious" stuff. Then Instagram suffered the same fate. The younger generations are moving elsewhere (I am guessing TikTok, too old to know) while Instagram has been "institutionalised".
What I mean by this is that accounts are no longer being used to express yourself, to post spontaneous photos with your friends or to share fun stuff, they are being used to convey an unrealistic image of yourself. In other words, they became LinkedIn profiles.
I have a theory about why this phenomenon occurs, and it involves money, of course.
Real users, for a variety of reasons, begin to use a platform and it becomes popular. Companies, public figures, influencers and wannabe influencers notice this and begin to use the platform to profit, either directly or indirectly. Over time, the platform fills up with advertisements, salespeople, gurus, fake news, alarmist headlines and consequently toxic discussions. This changes the tone of the content, and with it the aim of the platform. What were once conversations with your friends are now public speeches. Your not at your friend's place anymore, you are at the marketplace.

Now, I'm not saying that social media should only be used to post nonsense. What I'm saying is that spontaneity has been lost, and all the beauty that comes with it. Look at Instagram Stories. They were created to give back the ability to post something spontaneous, since posts had long been institutionalised. Now there isn't a story that doesn't involve a meticulous study of every detail, that isn't perfect in short. Everything is too filtered. Let's take the risk of showing something of ourselves, even if it's not "aesthetic."

What does this have to do with advertising? Oh yes: let's not turn the internet into a giant billboard.

Long live the ad-blocker

It was only a matter of time before Google noticed the problem. After all, if you own the most widely used browser in the world, and at the same time earn money from advertising, why would you allow users to block ads on your browser?
With the introduction of Manifest V3, a new format for Chrome extensions, Google is clearly aiming at ending the use of the most effective ad-blockers. Obviously, the official excuse isn't this, but I refuse to serve it to you.

I, quite simply, don't want to passively endure advertising. It's not even a matter of privacy; it's that they're unpleasant. From here came days of struggling to find the right alternative to Chrome that would have the same performance, be open source and allow me to use a proper ad-blocker. The choice fell on Brave, which, among other things, integrates a sort of ad-blocker on its own. On the positive side, it's chromium-based, open source and still supports Chrome extensions based on Manifest V2. On the negative side, it's full of useless and unrequested functions, but they can be easily disabled.

What about the other devices?

To be completely honest, I was just waiting for an excuse to test a Raspberry Pi. The pretext was the aversion to ads , and it led me to buy a Raspberry Pi Zero 2W to install Pi-Hole on it, a Linux software defined by its developers as "a black hole for internet advertisement".
Installing Pi-Hole is the simplest part. Following the official guides, you can easily set up everything. The complicated part is setting a static IP for the Raspberry Pi, in order to use this IP address as the DNS server for your router, and to make sure that all devices connected to the network "pass through" the Pi-Hole.

Pi-Hole, ad-blocker... all's well that ends well then, right? If you're browsing with a PC, yes, otherwise not really. If you're browsing from your phone, you might still see ads on Instagram or YouTube, for example. In fact, when ads are served by third parties, a Pi-Hole can easily block them. For example, if you're visiting a news website, you probably won't see ads. If instead you are using an app owned by an advertising company, like Meta or Google, the ads will come from the same domain of the website/app, hence they won't be blocked unless you decide to block the entire website. Again, none of this applies if you are browsing from a PC with an ad-blocker installed.

How to set a static IP to your Raspberry Pi

If by your misfortune you were looking for how to set a static IP for your Raspberry Pi and stumbled upon this site, I'm sorry for you. However, I'll try to help you out. After many failed attempts, I managed to do it as follows:

0. Get your router's IP by executing the command ip route in the terminal. Take the first IP, the one after "default via". Your static IP must be on the same subnet as this IP (for example, if the router's IP is 192.168.0.254, the static IP must be set as 192.168.0.XXX).

1. In the terminal, execute the command nmtui to open the connection management interface.

2. Click on Edit a connection and select your connection (in my case the Wi-Fi connection is called "preconfigured"), then select Edit.

3. On IPV4 Configuration set Manual and modify the following fields:
- Addresses: enter here the static IP chosen for the Raspberry Pi.
- Gateway: enter here the router's IP.
- DNS servers: I recommend public DNS like Cloudflare's 1.1.1.1 or Google's 8.8.8.8 .

4. Click Ok, exit and reboot the device.

5. Enter your router's configuration panel and set your static IP as the router's primary DNS server. If possible, also enter a secondary DNS server to avoid blockages in case of problems with Pi-Hole.