Filosofia della parmigiana

Mentre sparavo sgrassatore come un forsennato sperando che la sola forza della chimica bastasse a far sparire le macchie di pomodoro rinsecchito dalla superficie una volta luccicante dei fornelli, contavo mentalmente quanto tempo avevo speso per cucinare la parmigiana di melanzane:
– una mezz’ora abbondante per comprare gli ingredienti necessari (se avessi preferito i commercianti di quartiere al perfido supermercato ci avrei messo qualcosa di più)
– una ora e mezza di preparazione, in buona parte spesa a grigliare melanzane nei 30° dei primi di agosto, ad un metro circa dal forno che lentamente arrivava ai 180° previsti cominciando a disperdere generosamente nell’ambiente parte del calore generato
– mezz’ora circa per sparecchiare, lavare i piatti e riporre gli avanzi (era buona, ma le mie porzioni sono quelle della nonna di un qualsiasi youtuber del sud).

Totale: 2,5 ore circa
Tempo necessario a consumare un porzione: 10 minuti (scarsi)

Ho cominciato a fare paragoni e paralleli, pensando ad esempio alle ore e ore di girato che finiscono poi per fare un’ora e mezza di film, oppure alle migliaia di ore che un nuotatore passa in vasca rinunciando a tutto il resto della propria vita per poi giocarsi il tutto in qualche minuto.
(I 9 mesi di gravidanza li ho esclusi perchè poi un figlio, di solito, ti rimane tutta la vita e l’aspettativa media di una donna in età fertile è probabilmente superiore ai 9 mesi in buona parte del mondo).

Quanto tempo ho passato a studiare i miei saggi di flauto che poi duravano massimo 5 minuti? Pomeriggi, mentre i miei amici erano ai giardinetti a giocare a pallone e imparare le prima parolacce da quelli più grandi.

Facile arrivare a conclusioni sulla tristezza della condizione umana, ma poi ho pensato che a noi essere umani piace così: quando abbiamo in testa il risultato questo diventa l’idolo a cui rimaniamo più fedeli.
Ci piace fare le cose, con le nostre mani o con la nostra testa, e quando riusciamo a fregarcene di quanto ci costa farle, queste cose, possiamo essere felici in tanti modi diversi, in una scala che va da un estremo all’altro dello spettro delle emozioni che siamo in grado di provare.

Poi ho anche pensato che la prossima volta mi faccio meno seghe mentali e vado in rosticceria.

Il senescente e gli Youtuber, cap.1

Sospetto che gli youtuber seguiti dai miei figli (gente che si riprende mentre gioca ai videogiochi) seguano dei corsi di dizione e intonazione appositi: mi rifiuto di pensare che qualcuno possa già nascere con una vocetta così garrula e irritante.

Dopo 5 minuti che sento gridolini e imprecazioni da Ned Flanders * l’istinto che mi viene è sempre quello di strappare il tablet dalle mani di mio figlio e portarlo di peso davanti al PC e costringerlo a giocare lui, fino a farsi venire le convulsioni.

*Scopri anche tu se sei senescente oppure no: conosci Ned Flanders?
SI – benvenuto nella categoria, quelli prima di noi li chiamavano boomer, c’è una definizione anche per noi, ma ovviamente noi non lo sappiamo.
NO – o sei davvero giovane o hai passato i primi due decenni della tua vita guardando solo l’Albero Azzurro. In ciascun caso clicca almeno qui.

Headscale come alternativa a Tailscale

Tailscale è un ottimo modo per collegare tra loro server diversi.
I client sono open source e disponibili per una grande varietà di piattaforme, non da ultima i NAS Synology, compreso il mio vecchio DS214se.
La configurazione è rapida e di nessuna difficoltà, le prestazioni sono inferiori a quelle che pare si possano avere utilizzando un semplice tunnel Wireguard ma sono comunque all’altezza dei compiti svolti dai miei server amatoriali.
Il problema è che il server di autenticazione è l’unico componente proprietario.

Headscale è un’implementazione opensource del server Tailscale.
Al momento in cui scrivo è arrivato alla release 0.12, quindi il progetto non ancora del tutto maturo, ma dalle mie prime prove è già utilizzabile con un buon margine di tranquillità.

Per l’installazione mi sono avvalso di questo tutorial, con qualche aggiunta presa qua e là.
Questa procedura prevede che Docker e Docker Compose siano installati sulla macchina che farà da server, io ho utilizzato una VPS molto economica con Debian Buster ed installarli è facile.
E’ inoltre necessario un web proxy – io ho utilizzato Nginx con certbot che gestisce i certificati SSL e relativi redirect.
Questo è un esempio di configurazione:

# Redirect HTTP to HTTPS
server {
    if ($host = esempio.miodominio.it) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    listen [::]:80;
    server_name esempio.miodominio.it;
    return 301 https://$host$request_uri;


}
server {
    listen 443 ssl;
    server_name esempio.miodominio.it;

    client_body_timeout 5m;
    client_header_timeout 5m;

    access_log            /var/log/nginx/esempio.miodominio.it.log;
    error_log            /var/log/nginx/esempio.miodominio.it.error.log info;

    # reverse proxy
    location / {
         proxy_pass http://127.0.0.1:27896;  # headscale listen_addr
         proxy_read_timeout 6m;
         proxy_ignore_client_abort off;
         proxy_request_buffering off;
         proxy_buffering off;
         proxy_no_cache "always";
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    ssl_certificate /etc/letsencrypt/live/esempio.miodominio.it/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/esempio.miodominio.it/privkey.pem; # managed by Certbot
}

Per l’installazione dei client sulle varie piattaforme la documentazione reperibile sul sito di Tailscale o con una qualsiasi ricerca è sufficientemente esauriente e di facile esecuzione.

Come prima cosa creaiamo la cartella in cui installeremo Headscale:

sudo mkdir -p /opt/headscale

Spostiamoci nella cartella appena creata e eseguiamo i seguenti comandi:

mkdir -p ./config
touch ./config/db.sqlite
curl https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml -o ./config/config.yaml

abbiamo così creata una cartella per le configurazioni, al cui interno abbiamo creato un file .sqlite per l’archivio e scaricato una copia dell’esempio di file di configurazione. Le modifiche a questo ultimo file saranno minime.

Ora creiamo il file docker-compose.yml:

nano docker-compose.yml

version: '3.5'
services:
  headscale:
    image: headscale/headscale:latest
    volumes:
      - ./config:/etc/headscale/
      - ./data:/var/lib/headscale
    ports:
      - 27896:8080
    command: headscale serve
    restart: unless-stopped

La porta esterna è la 27896, ma siete liberi di cambiarla come meglio preferite, impostate correttamente il proxy (cfr. la configurazione di Nginx qui sopra).

Prima di avviare Headscale editiamo il file di configurazione:

nano config/config.yml

inserendo l’URL del nostro server:

server_url: https://esempio.miodominio.it

Adesso possiamo avviare Headscale:

docker-compose up -d

Sui client, una volta installato Tailscale, basterà specificare il server di login al momento dell’avvio perchè tutto funzioni quasi magicamente:

tailscale up --login-server https://esempio.miodominio.it