fulmicotton

some random thoughts

Original date: 7/2/2021

Today I decided to get out of my comfort zone, and I replaced Fedora with Arch Linux on my desktop machine. My old machine (i5 4670, 8GB RAM, iGPU) supported the GNOME desktop environment very well on both OSs. I am not switching for a better performance (for that, I could have simply installed a different Fedora spin[1]).

1. Fedora spins

Installation was buttery-smooth. I've made simple choices for now: I've chosen ext4 as filesystem, GRUB as bootloader, GNOME desktop as the Desktop Environment (installed the gnome group) and I installed all the programs I need. In the future I will probably switch to a Window Manager (I am willing to try both Sway and dwm).

I've chosen Arch Linux because gives me the tools and encourages me to experiment with different Desktop Environments, Window Managers, different software, bootloader, maybe I will even install it again and switch to another filesystem (at the moment, I don't need extra features provided by newer filesystems such as BTRFS). Also the AUR is a big plus for some exotic software.

I will experiment on Arch a lot on my desktop.

I still use Fedora on my laptop and I will continue to do so. Fedora on the laptop works extraordinarily well, and it's a rock solid OS and never gave my a single issue.

Original date: 6/2/2021

After I've completely removed all my social media accounts on centralized networks as Twitter, Reddit and Facebook, I've been digging into the indieweb[1] blog sphere. This not only allowed me to improve the quality of my time, focusing only on blogs and content that matters to me, but it also let me discover totally new points of view that I actually didn't like at first, but made me reevaluate my ideas on politics, computer programming, system administration, and so on. This constant flow of ideas and cool stuff was barely possible on websites or aggregators like Reddit, where roughly 1 post out of 50 was worth my time and many of them (especially controversial ones) were silently hidden by their attention-keeping algorithm.

1. The Indie Web

There are many possible ways to keep in touch with your favourite blogs, but the simplest and most flexible technology are the old, fashioned RSS feeds. RSS feeds can be read by hundreds of different applications, they are widely supported, and almost any website with articles or news makes available an RSS feed for their content (even Twitter and YouTube have RSS feeds for channels and pages). You just look for the RSS icon and click it, or find the RSS feed with[2] other[3] methods[4].

2. Find a RSS feed

3. YouTube RSS feeds

4. Generic methods to find RSS feeds.

There are many advantages of RSS feeds over the mainstream social media platform, just to name a few:

  • contents are not filtered by an algorithm that decides what you are allowed to see: RSS feed readers just show you everything from the website you added. No filter bubble[5], you own the information you want to read;
  • they aren't constantly fighting for your attention. Social media use different techniques to manipulate and to tempt you to browse on their platform – constantly. RSS readers don't do that;
  • RSS readers are flexible. This is really important: when Facebook or Reddit fuck up, you have no alternatives. You're forced to use them to read their contents, even when they start going against your interests. When an RSS reader application doesn't fit you anymore, you simply switch to another one. That's it;
  • RSS readers that are free and open source[6] (on Android, install F-Droid and use Flym or Feeder) don't track their users. This is important: your interests and reads will not be randomly collected by whatsoever social media advertizing platform you're signed in.

5. What is the filter bubble

6. Free and open source RSS readers

How RSS readers work

Despite being very different, they work all the same way: you add the RSS feed URL the website gave you (for example, if you want to follow Drew Devault's fantastic blog (https://drewdevault.com/) you simply add to your RSS reader the link he provides on his website, ( e.g. https://drewdevault.com/blog/index.xml ). After that, your RSS reader should start fetching content and visualizing articles from the resources you added.

What about newsboat?

Newsboat is a RSS/Atom (Atom is another technology similar to RSS) feed reader for the terminal. It provides you a clean, elegant, and minimal interface to comfortably read your favourite blogs inside your terminal of choice. I use it because it is very simple (in the sense of essential), configuration is inside dotfiles, and allows me to set up Vim-like hotkeys, read links directly into the console with my custom theming, and when it's not enough it lets me open any article or link in my browser.

Whatever, let's see how I use it.

Regardless of the Linux distribution, newsboat should be available in the main repository without adding external sources. Find it and install it.

After installation, your feed reader will be empty. To add links, create a folder with name .newsboat in your $HOME folder. Inside that folder we will put the configuration file (named config), and the file containing all the URLs we want it to fetch (named urls).

The configuration file in ~/.newsboat/config doesn't exist or is empty, and we are going to set up ours. I will post my simple configuration and comment it:

auto-reload yes
reload-time 120
reload-threads 100

download-retries 5
download-timeout 60

bind-key j down
bind-key k up
bind-key j next articlelist
bind-key k prev articlelist
bind-key J next-feed articlelist
bind-key K prev-feed articlelist
bind-key G end
bind-key g home
bind-key d pagedown
bind-key u pageup
bind-key l open
bind-key h quit
bind-key a toggle-article-read
bind-key n next-unread
bind-key N prev-unread
bind-key D pb-download
bind-key U show-urls
bind-key x pb-delete

browser "firefox %u"

macro y set browser "mpv %u" ; open-in-browser ; set browser "firefox %u"
macro , set browser "firefox %u"; open-in-browser

The line auto-reload yes makes sure that the reader will fetch content automatically, and not only when started. The delay between auto-reloadings is declared (in minutes) with reload-time and you can also set up the number of threads involved with reload-threads, to speed up the process if you are subscribed to many different sources. download-retries and download-timeout (in seconds) are useful if you're fetching your feeds over TOR or behind a slow network. The first is the number of times it will retry the connection if the reader cannot fetch the content, and the second one defines the timeout for declaring a content unreachable.

The next part of the list is dedicated to key bindings. They are set up to closely resemble Vim-hotkeys, but if you don't need them you can stick with the default ones (to view them, press ? when running newsboat).

browser "firefox %u allows me to set the default browser. Any other browsers, such as Chromium, Brave or Vivaldi, follow the same syntax.

The next two commands define two macros. Macros are available when pressing , (the comma). The first macro is called when pressing y after , . I use it when I want to watch a YouTube video from the feeds. It sets the browser to mpv (the most powerful media player available), open the URL in the browser (the media player) that starts to fetch and comfortably display the video. After that, it sets the browser to the default choice. The second one simply opens the URL in firefox, and it is called by pressing twice , .

The config files allows to setup your own colorscheme, but since this is optional we will go through it later.

Most of the supplemental infos on configuration file can be found in the documentation[7].

7. Documentation

After the configuration setup, we can start adding URLs. RSS feeds may be simply added into ~/.newsboat/urls, one per line, for example:

https://drewdevault.com/blog/index.xml
https://www.schneier.com/feed/atom/
https://robertheaton.com/feed
http://www.hackerfactor.com/blog/index.php?/feeds/index.rss2
https://www.unixsheikh.com/feed.rss
https://ar.al/index.xml
https://kevq.uk/feed.xml
https://mikestone.me/feed.xml
https://rusingh.com/feed.xml

When launching newsboat, they will be shown in the same order we put them here.

I added a little bit of customization, adding text-only lines to divide my feeds into categories. I did this by putting " at the beginning of such lines:

" =============================================================================
" ===> BLOGS <=================================================================
" =============================================================================
" ------> Programming and Security <-------------------------------------------
https://drewdevault.com/blog/index.xml
https://www.schneier.com/feed/atom/
https://robertheaton.com/feed
http://www.hackerfactor.com/blog/index.php?/feeds/index.rss2
https://www.unixsheikh.com/feed.rss
https://ar.al/index.xml
https://kevq.uk/feed.xml
https://mikestone.me/feed.xml
https://rusingh.com/feed.xml
" "
" ------> Linux <--------------------------------------------------------------
https://fedoramagazine.org/feed/
https://newsboat.org/news.atom
https://www.phoronix.com/rss.php
" "
" =============================================================================
" ===> YOUTUBE CHANNELS <======================================================
" =============================================================================
https://www.youtube.com/feeds/videos.xml?channel_id=UCYFgn8_JgaQL1E-N2tg1xcQ
https://www.youtube.com/feeds/videos.xml?channel_id=UCIPsK5xspHC3-ZFNPTx2X_w

and so on. Of course, designing this part is up to you, and it depends on your tastes and needs.

After running newsboat, you may notice that a file, cache.db has been created into the .newsboat folder. This file allows the program to keep track of the already seen articles, and may be worthwhile to sync it across devices if you're running newsboat on multiple machines.

Custom colorschemes

This part is completely optional. I personally love the gruvbox colorscheme[8], and I use it on almost everything. The documentation[9] offers a nice section on how to customize newsboat colors.

8. gruvbox color palette

9. Newsboat official documentation on colorscheme customization.

This is what I added in my config file:

# colors
color background          black      default
color listnormal          color8     default
color listnormal_unread   green      default bold
color listfocus           white     blue bold
color listfocus_unread    yellow     blue bold
color info                cyan      color235 bold standout
color article             white      default

# highlights
highlight article "^(Feed|Link):.*$" yellow default bold
highlight article "^(Title|Date|Author):.*$" yellow default bold
highlight article "https?://[^ ]+" blue default underline
highlight article "\\[[0-9]+\\]" yellow default bold
highlight article "\\[image\\ [0-9]+\\]" yellow default bold
highlight feedlist "^─.*$" yellow color235 bold

and it's quite suited for terminal gruvbox colorscheme. As you can see, it doesn't only allow to declare colors, but it also allows to configure highlights with regex.

Colorscheme setup depends on your terminal colorscheme, and it is a trial-and-error process to find the perfect one for you.

Other informations can be found, of course, in the official documentation[10], in the manpage[11] or in the Arch Wiki[12].

10. Official documentation

11. manpage

12. Arch Wiki page for newsboat.

Original date: 5/2/2021

Today I've made my decision, and I uninstalled WhatsApp. It was liberating. I wanted to do that for a long time, but some family needs prevented me to accomplish it. In place of WhatsApp I will use Telegram and Signal only.

WhatsApp just sucks. It is owned by Facebook, the second biggest advertisement company, it is closed-source (it can contain trivial backdoors in their source code which can also affect their encryption protocol) and it is very clunky to use. Every messaging app is waaay better than WhatsApp. Its only advantage is their massive user adoption, which now counts 5 billion users.

The first one is undoubtedly superior from the point of view of functionality. It's the perfect compromise between privacy and comfort. Default chats aren't end-to-end encrypted, but they only are encrypted in transit (basically, between the person and the server. The server can still view contents of messages). This system doesn't guarantee privacy from Telegram servers, but it allows server-side processing that allows unparalleled comfort. If you wanted to, you could also communicate in a end-to-end protected chat, with a cryptographic protocol that guarantees that only the two persons involved can read the message. Groups and channels cannot be end-to-end protected.

On the functionality side, Telegram is unrivalled.

Signal has less funcionalities included, because every chat is end-to-end encrypted by default. In other words, one can do less things, but the chat is more protected by default. A Signal's secondary flaw is the lack of people to communicate with, at least in Italy. At the moment, the chat has 50 millions users, against the 500 millions of Telegram (just to say, WhatsApp has more than 5 billions users). This will be solved overtime and convincing people to switch to privacy-respecting software. Many Free Software projects started from nothing and became important with the progressive adoption from people and enterprises. The important thing is to perseverate using products that actually respect people. Another Signal's flaw is that both users in a chat currently need each other's phone number, and that may be an issue if you are concerned with revealing your phone number. In Telegram, you don't need to expose your phone number to chat with other people.

That said, privacy is a compromise: only after some of my parents and important contacts switched to Telegram or Signal, I could switch in turn.

Lingua italiana a fine post Publication date: 29/1/2021

I can't exactly recall the moment the idea pop up in my mind, but I want to start my own blog. I want to write down ideas and thoughts, say something (hopefully) useful, share my vision of the world and the tools I use in my life.

Days ago I stumbled upon the hashtag #100DaysToOffload on Fosstodon. It's a challenge by Kev Quirk where you're invited to start your own blog, and just write a hundred of blog posts in the space of a year. I've never looked kindly on social media challenges or whatsoever, but this time it was something actually cool, and I decided it was a good stimulus to start my own blog. If something went wrong, or for some reason I couldn't write enough and I failed the challenge, well, who cares.

A brief descrption of myself. I am an Electronic Engineering student, with a strong passion for Linux, Programming, technology ethics and privacy. I also studied Music Composition years ago (I had to interrupt it for some reasons that are very long to tell) and I have a strong passion for Cinema (I am not a real cinephile, but I will sometimes suggest movies that left their deep mark on me). I recently started reading books, it's never too late to start doing it. I will talk about and suggest some of them, too.

I also will talk about privacy, and user-respecting tools and software. I firmly believe in Linux, Free Software, user communities and people sharing their work with others and cooperating. There's no person that can achieve great things alone, therefore cooperation and respect are fundamental to our society – software is no exception.

Another passion of mine is visiting places. I don't have much money, so at the moment my girlfriend and I are mainly visiting nearby locations. I live in North-East Italy, therefore I will write about some cool places you can visit when you're there – and good restaurants to eat delicious food. I am no travel guide, so the list will be far from exhaustive.

I will sometimes talk about politics, and personal opinions on what happens in Italy and across the world. Those posts will be limited in number, since I hate politics stuff. If a political post appears on my feed, something very disgraceful happened.

Oh, and of course, I will sometimes translate articles in Italian. This will not happen every time, and I don't promise anything, but I will try to translate them as soon as possible.

Well, this is it for now, and I started my own blog. Let's see where the wind will drag the boat.

Il mio primo post e perché ho creato un blog

Data di prima pubblicazione: 29/1/2021

Non riesco a ricordare esattamente l'istante in cui l'idea mi è saltata in mente, ma voglio creare il mio blog personale. Voglio buttare giù idee e pensieri, scrivere qualcosa (si spera) di utile, e condividere la mia visione del mondo e gli strumenti che uso nel quotidiano.

Giorni fa mi sono imbattuto nell'hashtag #100DaysToOffload su Fosstodon. Si tratta di una challenge ideata da Kev Quirk dove si è invitati a mettere in piedi il proprio blog, e semplicemente scrivere cento post, nell'arco di un anno. Non mi sono mai andate a genio le challenge da social media o giù di lì, però stavolta era qualcosa di davvero interessante, e ho deciso che era il perfetto stimolo per incominciare a scrivere in un blog. Se qualcosa fosse andato storto, o per qualche ragione non avessi potuto scrivere abbastanza e avessi fallito la sfida, beh, chi se ne frega.

Una breve descrizione. Sono uno studente di Ingegneria Elettronica, con una forte passione per Linux, la programmazione, la tecnologia etica e la privacy. Ho anche studiato Composizione musicale anni fa (ho dovuto interromperla per alcune ragioni che sono un po' lunghe da spiegare) e ho una forte passione per il Cinema (non sono un vero cinefilo, ma qualche volta suggerirò film che mi hanno lasciato un segno profondo). Ho recentemente iniziato a leggere, non è mai troppo tardi per incominciare. Parlerò anche di alcuni libri.

Parlerò anche riguardo la privacy, e di strumenti e software che rispettano la privacy dell'utente. Credo fermamente in Linux, nel Software Libero, nelle comunità di utenti e di persone che condividono il lavoro con altri e che cooperano per il meglio. Non c'è persona che può compiere grandi imprese da sola, dunque la cooperazione ed il rispetto sono fondamentali per la nostra società; il software non fa eccezione.

Un'altra mia passione è visitare luoghi. Non ho molto denaro, perciò al momento io e la mia ragazza stiamo visitando posti abbastanza vicini. Vivo nel Nord-Est, perciò scriverò di alcuni posti fighi che si può visitare quandi si è lassù, e qualche buon ristorante. Non sono una guida turistica, perciò la lista sarà tutt'altro che esaustiva.

Parlerò raramente di politica, e di ciò che succede in Italia e in giro per il mondo. Siccome detesto le faccende politiche, questi post saranno in numero limitato. Se un post politico appare nel mio blog, significa che è accaduto qualcosa di deplorevole.

Bene, questo è quanto, e ho appena iniziato il mio blog. Vediamo dove il vento trascinerà la barca.