<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Das Böse Büro</title>
    <link>https://keinpfusch.net/</link>
    <description>Le etichette sono il contrario del pensiero.</description>
    <pubDate>Wed, 02 Sep 2026 05:15:47 +0000</pubDate>
    <item>
      <title>Ribellione o protesta?</title>
      <link>https://keinpfusch.net/ribellione-o-protesta</link>
      <description>&lt;![CDATA[Una delle cose che mi dà più la nausea delle generazioni successive alla GenX è il fatto che, anziché ribellarsi, protestano.&#xA;E non si rendono conto della differenza, perché credono che sia la stessa cosa.&#xA;L&#39;ultimo post mi ha dato la possibilità di verificarlo ancora una volta. Ed è qualcosa che mi urta anche personalmente, perché la ribellione non è stata soltanto una costante della mia vita: era una cosa piuttosto frequente nella mia generazione. Un atteggiamento che oggi vedo molto meno.&#xA;Quando qualcosa non gli piace, protestano.&#xA;Il bimbetto che urla perché la mamma gli dia quello che vuole.&#xA;&#xA;!--more--&#xA;&#xA;Patetici.&#xA;&#xA;Ho detto: «Guardate che, con i mezzi odierni, con la rete e con i computer che abbiamo oggi, potreste agevolmente costruirvi una Internet 2.0».&#xA;&#xA;La risposta è stata:&#xA;&#xA;«Sì, basterebbe una legge».&#xA;&#xA;Eh?&#xA;&#xA;No.&#xA;&#xA;Non serve alcuna cazzo di legge.&#xA;&#xA;La legge significa che tu piagnucoli con la mamma, spieghi alla mamma che una cosa non ti piace, e aspetti che la mamma stabilisca che da oggi si farà diversamente.&#xA;&#xA;La ribellione significa un&#39;altra cosa.&#xA;&#xA;Significa che tu, da oggi, fai diversamente.&#xA;&#xA;Non chiedi il permesso. Non aspetti che qualcuno trasformi la tua protesta in regolamento. Non deleghi a un&#39;autorità il compito di cambiare il mondo al posto tuo.&#xA;&#xA;Cominci a comportarti come se quel cambiamento fosse già avvenuto.&#xA;&#xA;E questa è una differenza enorme.&#xA;&#xA;br&#xA;Prendete la storia dei DNS.&#xA;Tempo fa, quando in alcuni paesi c&#39;erano rivolte, repressioni o semplicemente blocchi governativi, e certi domini non governativi venivano fatti sparire attraverso i DNS degli operatori locali, era diventato abbastanza comune fare una cosa molto semplice: scrivere 8.8.8.8 sul cellulare o sul computer e usare i DNS pubblici di Google.&#xA;Era una cosa abbastanza diffusa da diventare quasi una procedura standard: «non ti risolve il sito? Cambia DNS».&#xA;E in alcuni paesi questa cosa è stata fatta in massa.&#xA;Quindi, se volete lanciare un nuovo dominio, che so io .narnia, il problema tecnico non è affatto quello che molti sembrano immaginare.&#xA;Dovete &#34;solo&#34; mettere in piedi una root DNS alternativa, magari trovare un sodale che ne metta in piedi una seconda, replicare le zone e poi far circolare l&#39;informazione:&#xA;&#xA;  Se volete vedere gli host della nostra associazione, cliccate qui e aggiungete a.b.c.d alla lista dei vostri DNS.&#xA;&#xA;Da quel momento, per chi usa quei resolver, .narnia esiste.&#xA;&#xA;Per il resto di Internet no.&#xA;&#xA;Ma questa è esattamente la questione: non avete chiesto il permesso a nessuno perché esistesse.&#xA;&#xA;br&#xA;&#xA;br&#xA;E già: ci fu un precedente.&#xA;E funzionò.&#xA;&#xA;Forse non avete mai sentito parlare di AlterNIC.&#xA;&#xA;AlterNIC nacque a metà degli anni Novanta, quando Network Solutions godeva sostanzialmente del monopolio sulla registrazione dei principali domini Internet. Eugene Kashpureff e soci decisero che, invece di protestare perché qualcuno cambiasse il sistema, avrebbero semplicemente costruito un sistema diverso.&#xA;&#xA;Misero quindi in piedi una propria root DNS.&#xA;&#xA;La cosa interessante è che non crearono una &#34;Internet parallela&#34;. Nei loro DNS continuarono ad inserire .com, .net, .org e tutti i domini della root ufficiale, ma aggiunsero anche i propri TLD.&#xA;&#xA;Per esempio .xxx, .med, .nic, .ltd, .lnx, .exp.&#xA;&#xA;Se usavate i DNS normali, quei domini non esistevano.&#xA;&#xA;Se usavate quelli di AlterNIC, esistevano.&#xA;&#xA;Tutto qui.&#xA;&#xA;E al massimo della diffusione, secondo le loro stime, qualcosa come il 3% di Internet utilizzava quella root alternativa.&#xA;&#xA;Che non sembra molto finché non ricordate una cosa: nessuno aveva obbligato quelle persone a cambiare configurazione. Avevano deliberatamente deciso che, per loro, la root DNS sarebbe stata quella.&#xA;&#xA;Poi la storia finì male, ma per una ragione che va tenuta distinta.&#xA;&#xA;Kashpureff decise di fare il passo più lungo della gamba.&#xA;&#xA;Nel luglio del 1997 sfruttò una vulnerabilità dei DNS dell&#39;epoca per avvelenare le cache di parecchi nameserver e fare in modo che www.internic.net puntasse al sito di AlterNIC. Chi cercava InterNIC finiva quindi sulla sua pagina di protesta.&#xA;&#xA;Quello non era più &#34;costruisco il mio DNS&#34;.&#xA;&#xA;Quello era mettere le mani sul DNS degli altri.&#xA;&#xA;Network Solutions lo portò in tribunale, intervenne l&#39;FBI, Kashpureff venne arrestato in Canada ed estradato negli Stati Uniti.&#xA;&#xA;AlterNIC da quel momento perse progressivamente importanza e scomparve.&#xA;&#xA;Ma attenzione al dettaglio.&#xA;&#xA;Non fallì perché una root DNS alternativa fosse tecnicamente impossibile.&#xA;&#xA;Quella funzionava.&#xA;&#xA;Fallì perché il sistema ufficiale cominciò nel frattempo ad aprirsi alla concorrenza e ai nuovi TLD e, soprattutto, perché il suo fondatore trasformò una ribellione tecnica perfettamente legale in un attacco informatico contro il sistema concorrente. Ma nel frattempo,&#xA;la &#34;concorrenza/monopolio&#34; americana comincio&#39; a capire che gli alternic sarebbero spuntati come i funghi, e decise di aprirsi ai tld alternativi.&#xA;&#xA;Sono due cose molto diverse.&#xA;&#xA;AlterNIC aveva già dimostrato la cosa che interessa a noi.&#xA;&#xA;br&#xA;&#xA;AlterNIC fallì anche perché il sistema ufficiale, nel frattempo, cominciò ad aprirsi alla concorrenza e ai nuovi TLD e, soprattutto, perché il suo fondatore trasformò una ribellione tecnica perfettamente legittima in un attacco informatico contro il sistema concorrente.&#xA;&#xA;Ma nel frattempo il messaggio era arrivato.&#xA;&#xA;E lo ricordo bene, perché c&#39;ero.&#xA;&#xA;In quegli anni diversi piccoli ISP cominciavano a offrire due cose diverse: Internet e una specie di Internet allargata, spesso come servizio aggiuntivo a pagamento.&#xA;&#xA;La differenza era semplice: con il DNS normale vedevate la Internet ufficiale. Con i resolver alternativi vedevate anche i domini delle root alternative.&#xA;&#xA;Quella roba era sovversiva il giusto.&#xA;&#xA;Perché a quel punto non stavamo più parlando di quattro hacker che giocavano con il DNS. Stavamo parlando di operatori commerciali che potevano vendere ai propri clienti un namespace più grande di quello ufficiale.&#xA;&#xA;E quando questo comincia a succedere, il problema per chi controlla il sistema diventa abbastanza evidente.&#xA;&#xA;Se continui a tenere chiusa la root, se continui a decidere tu quali TLD possano esistere e quali no, qualcun altro può semplicemente costruirne una diversa.&#xA;&#xA;Poi un altro.&#xA;&#xA;Poi un altro ancora.&#xA;&#xA;E a quel punto di AlterNIC ne spuntano come funghi.&#xA;&#xA;Altroché se capirono l&#39;antifona.&#xA;&#xA;La possibilità che qualcun altro rifacesse la stessa cosa, magari meglio, magari con l&#39;appoggio di ISP veri e con una massa critica più grande, era precisamente il genere di minaccia che poteva trasformare il DNS da infrastruttura globale unica in una collezione di namespace concorrenti.&#xA;&#xA;E infatti il sistema ufficiale cominciò ad aprirsi.&#xA;&#xA;Nuovi registrar. Nuovi TLD. Più concorrenza.&#xA;&#xA;Non perché qualcuno avesse improvvisamente scoperto le virtù filosofiche del pluralismo.&#xA;&#xA;Ma perché era diventato evidente che il monopolio sul namespace esisteva soltanto finché la gente accettava di usarlo.&#xA;&#xA;br&#xA;&#xA;br&#xA;Oggi il 1995 è lontano, e non ricordate più la ribellione.&#xA;&#xA;Non ricordate più quando si andavano a cercare i domini .xxx per vedere le foto — perché allora di video praticamente non si parlava nemmeno — porno.&#xA;&#xA;Era un&#39;altra Internet, ma soprattutto era un altro atteggiamento.&#xA;&#xA;Se non vi piace il monopolio americano, oggi ci sono moltissime cose che potreste fare.&#xA;&#xA;Tecnicamente.&#xA;&#xA;Fare.&#xA;&#xA;Non protestare perché diventi obbligatorio farle. Non chiedere una legge che costringa qualcuno a costruirle per voi. Non aspettare che un&#39;autorità stabilisca che da domani si cambia.&#xA;&#xA;Farle e basta.&#xA;&#xA;L&#39;esempio di una darknet per un&#39;organizzazione che ha moltissimi soci, come Autistici/Inventati, è soltanto uno dei tanti.&#xA;&#xA;Non sarebbe nemmeno un&#39;idea particolarmente esotica.&#xA;&#xA;Nell&#39;ambiente del Chaos Computer Club e degli hackerspace tedeschi esiste da anni ChaosVPN, una rete overlay pensata precisamente per collegare hacker, hackerspace, server, laptop e intere reti attraverso Internet. È costruita su tinc, usa collegamenti cifrati e una topologia distribuita, senza un singolo punto centrale dal quale debba necessariamente passare tutto il traffico.&#xA;&#xA;In altre parole: Internet viene usata semplicemente come trasporto.&#xA;&#xA;Sopra, ci costruite la vostra rete.&#xA;&#xA;I vostri indirizzi.&#xA;&#xA;I vostri servizi.&#xA;&#xA;Le vostre regole di routing.&#xA;&#xA;E nessuno deve promulgare una legge perché possiate farlo.&#xA;&#xA;La tecnologia esiste già.&#xA;&#xA;La differenza sta tutta tra chi dice:&#xA;&#xA;  «Bisognerebbe obbligare qualcuno a costruire una rete indipendente».&#xA;&#xA;e chi dice:&#xA;&#xA;  «Abbiamo costruito una rete indipendente. Se vuoi entrarci, installa questo».&#xA;&#xA;br&#xA;Nel primo caso, state protestando.&#xA;&#xA;«Mamma, mamma, voio, voio».&#xA;&#xA;Nell&#39;altro caso, avete costruito la vostra casa sull&#39;albero.&#xA;&#xA;È diverso.&#xA;&#xA;Il mondo non lo hanno mai cambiato le proteste. Lo hanno cambiato le ribellioni. Quelli che dicevano:&#xA;&#xA;«Me ne sbatto, e faccio lo stesso come dico io».&#xA;&#xA;O ancora meglio, quelli che dicevano:&#xA;&#xA;«Adesso creo il mio spazio e faccio come dico io».&#xA;&#xA;Protestare significa chiedere a qualcun altro il permesso di fare qualcosa, ma urlando.&#xA;&#xA;Ribellarsi significa decidere di fare qualcosa, e chi se ne fotte delle autorità.&#xA;&#xA;Questa è la parte che è morta in voi.&#xA;&#xA;Internet e il mondo dell&#39;open source vi danno possibilità IMMENSE di crearvi spazi vostri, autonomi, DAVVERO autogestiti e immuni da interferenze.&#xA;&#xA;E no, non quel progetto fatto dalla US Navy che è Tor.&#xA;&#xA;Parlo della VOSTRA rete overlay.&#xA;&#xA;La vostra.&#xA;&#xA;Costruita da voi, gestita da voi, con i vostri nodi, i vostri servizi e le vostre regole.&#xA;&#xA;Ma non lo farete.&#xA;&#xA;br&#xA;La strategia di rallentare le cose è una vecchia strategia democristiana.&#xA;&#xA;Prendere l&#39;opposizione per stanchezza.&#xA;&#xA;Attrito.&#xA;&#xA;Frizione.&#xA;&#xA;Vecchiaia.&#xA;&#xA;«Sì, ma guarda che io penso che tu abbia ragione. Solo che per questi cambiamenti ci vuole tempo. Forse fra venti, trent&#39;anni».&#xA;«Tu sei troppo avanti coi tempi, con le tue idee».&#xA;«Ma io non dico mica che sbagli. Dico solo che è troppo presto. Devi avere pazienza».&#xA;«Il problema di voi giovani è che volete tutto e subito».&#xA;&#xA;E invece noi volevamo tutto e subito.&#xA;&#xA;Erano gli anni Ottanta. Il telefono era SIP, in regime di monopolio — nel 1980 aveva già circa dodici milioni di abbonati — e non compravi semplicemente una linea sulla quale fare quello che ti pareva: sottoscrivevi un abbonamento a un servizio telefonico disciplinato da condizioni d&#39;uso piuttosto rigide. La concessione SIP dell&#39;epoca fu formalizzata, tra l&#39;altro, con il D.P.R. 13 agosto 1984, n. 523.&#xA;&#xA;E nelle condizioni di abbonamento c&#39;erano limitazioni sull&#39;uso della linea, comprese quelle relative ad attività e comunicazioni che oggi considereremmo perfettamente normali.&#xA;&#xA;A noi, naturalmente, non fregava assolutamente niente.&#xA;&#xA;Prendevamo il modem, lo attaccavamo alla linea SIP e ci mettevamo sopra una BBS.&#xA;&#xA;Una macchina chiamava un&#39;altra macchina.&#xA;&#xA;Poi un&#39;altra.&#xA;&#xA;Poi qualcuno metteva su FidoNet.&#xA;&#xA;Non abbiamo aspettato che la SIP introducesse il tariffario «BBS», che il ministero decidesse cosa fosse una BBS o che qualche commissione parlamentare stabilisse se fosse opportuno consentire ai cittadini di trasformare il telefono in una rete dati.&#xA;&#xA;Abbiamo fatto le BBS.&#xA;&#xA;Se avessimo aspettato il permesso, Internet sarebbe arrivata e sarebbe passata prima ancora che qualcuno avesse finito di discutere il regolamento.&#xA;Invece le abbiamo fatte.&#xA;&#xA;br&#xA;E non valeva soltanto per le BBS.&#xA;&#xA;Le ragazze non hanno aspettato vent&#39;anni perché qualcuno concedesse loro il diritto di divertirsi.&#xA;&#xA;Si organizzavano feste private, e ci si divertiva.&#xA;&#xA;Erano atti osceni, secondo qualche articolo del codice penale sulla moralità pubblica e il buon costume?&#xA;&#xA;Oooooh.&#xA;&#xA;Non si pagava la SIAE per la musica?&#xA;&#xA;In culo alla SIAE.&#xA;&#xA;Era roba contraria alla morale?&#xA;&#xA;In culo alla morale.&#xA;&#xA;Non potevi servire birra a uno sotto i sedici anni?&#xA;&#xA;Ooooh, che dispiacere che ti daremo quando un amico piu&#39; vecchio andra&#39; a comprare gli alcoolici al supermarket e ci sfonderemo anche noi quattordicenni.&#xA;&#xA;E attenzione: non sto usando questi termini per modo di dire.&#xA;&#xA;Negli anni Ottanta “atti osceni”, “moralità pubblica”, “buon costume” erano realmente categorie del codice penale. La SIAE aveva realmente qualcosa da dire sulla musica eseguita fuori dalla strettissima cerchia familiare. E l&#39;articolo 689 del codice penale vietava realmente agli esercenti di somministrare alcolici ai minori di sedici anni.&#xA;&#xA;Non erano fantasmi che ci inventavamo per sentirci ribelli.&#xA;&#xA;Le regole c&#39;erano davvero.&#xA;&#xA;Semplicemente, ce ne sbattevamo.&#xA;&#xA;Non andavamo in piazza per il diritto delle ragazze di fare pompini.&#xA;&#xA;Non andavamo in piazza per il diritto di fare questo o di fare quello.&#xA;&#xA;Lo facevamo e basta.&#xA;&#xA;br&#xA;E questa è la differenza tra ribellione e protesta.&#xA;&#xA;Se protestate, troverete resistenza.&#xA;&#xA;Se fate il cazzo che volete e ve ne infischiate, la legge vi corre dietro.&#xA;&#xA;E tutte quelle cose che facevamo oggi sono legali. Ma non perché siamo andati in piazza a chiedere alcool ai quattordicenni: perché ce ne sbattevamo il cazzo e andavamo a comprarlo.&#xA;&#xA;I rave party sono nati in quel periodo, perché ce ne sbattevamo il cazzo. Gli anni Novanta hanno goduto della libertà che avevamo creato.&#xA;&#xA;Poi siete arrivati voi codardi, e avete deciso che ribellarsi significa protestare.&#xA;&#xA;E qui avete perso tutto.&#xA;&#xA;E perderete anche di più.&#xA;&#xA;Volete una rete libera?&#xA;&#xA;Avete tinc.&#xA;Avete Yggdrasil, che vi costruisce una rete IPv6 cifrata e decentralizzata sopra Internet, con routing proprio.&#xA;Avete cjdns, da cui nasce parte della stessa famiglia di idee: indirizzamento crittografico, IPv6 e routing mesh.&#xA;Avete I2P, se volete una vera overlay network anonima con servizi interni.&#xA;Avete Lokinet, se volete una rete decentralizzata onion-routed capace di trasportare direttamente traffico IP e di ospitare servizi raggiungibili soltanto dall&#39;interno della rete.&#xA;Avete Nebula, open source e self-hosted, che crea una rete Layer 3 peer-to-peer con tunnel cifrati, NAT traversal e discovery dei nodi.&#xA;Avete WireGuard, se volete costruirvela quasi a mano.&#xA;Avete Headscale, se volete un control plane open source e self-hosted per una rete compatibile con Tailscale, invece di consegnare il controllo della rete a Tailscale.&#xA;Avete NetBird, che costruisce reti peer-to-peer sopra WireGuard e può essere self-hostato.&#xA;Avete Netmaker, che prende WireGuard e vi automatizza full mesh, partial mesh, routing, gateway e gestione dei peer.&#xA;Avete ZeroTier, se volete una LAN virtuale distribuita.&#xA;&#xA;E poi avete GRE, VXLAN, IPsec, OpenVPN, SSH tunneling, routing dinamico, bridge, namespace Linux, container, VPS da cinque euro e tutto il resto della ferramenta che negli ultimi trent&#39;anni è stata inventata precisamente per collegare macchine che fisicamente non stanno sulla stessa rete.&#xA;&#xA;Potete usarne uno.&#xA;&#xA;Potete usarne tre insieme.&#xA;&#xA;Potete forkare quello che non vi piace.&#xA;&#xA;Potete scrivere il vostro.&#xA;&#xA;Potete distribuire una configurazione con uno script.&#xA;&#xA;Potete fare un&#39;immagine Docker.&#xA;&#xA;Potete mettere un QR code sul sito e dire:&#xA;&#xA;«Vuoi entrare nella nostra rete? Installa questo».&#xA;&#xA;Non dovete convincere Google.&#xA;&#xA;Non dovete convincere ICANN.&#xA;&#xA;Non dovete convincere Cloudflare.&#xA;&#xA;Non dovete convincere il governo americano.&#xA;&#xA;Non dovete convincere Bruxelles.&#xA;&#xA;Non dovete andare in piazza a chiedere che qualcuno vi conceda una rete libera.&#xA;&#xA;La rete ve la fate.&#xA;&#xA;È software.&#xA;&#xA;È questo il particolare che continuate a dimenticare.&#xA;&#xA;br&#xA;Ma voi siete codardi, e al rischio della ribellione preferite la sconfitta: dolorosa, sì, ma non troppo, della protesta.&#xA;&#xA;Perché la protesta ha un vantaggio enorme.&#xA;&#xA;Vi permette di perdere senza aver mai davvero rischiato.&#xA;&#xA;La verità è che fate gli hacker, fate gli hackerspace, fate la cybersecurity, vi riempite la bocca di decentralizzazione, autonomia, crittografia, indipendenza.&#xA;&#xA;Neuromante is the new Il Maestro e Margherita.&#xA;&#xA;Ma quando vi si mette davanti un compilatore e vi si dice:&#xA;&#xA;«Fate».*&#xA;&#xA;allora salta fuori il poco che siete.&#xA;&#xA;Perché lì non basta più avere l&#39;estetica dell&#39;hacker.&#xA;&#xA;Non basta la felpa, non basta il nickname, non basta il talk al congresso, non basta spiegare quanto sia cattivo il monopolio di turno.&#xA;&#xA;Bisogna costruire qualcosa.&#xA;&#xA;Bisogna rischiare che non funzioni.&#xA;&#xA;Bisogna metterci macchine, tempo, codice, errori, responsabilità.&#xA;&#xA;Bisogna decidere che una cosa esiste prima che qualcuno vi abbia dato il permesso di farla esistere.&#xA;&#xA;E allora tornate bambini.&#xA;&#xA;Bambini che chiedono alla mamma il permesso di fare qualcosa.&#xA;&#xA;O meglio:&#xA;&#xA;protestano perché la mamma continua a dire di no.&#xA;&#xA;E la internet libera che volete l&#39;avrete, forse, il 32 febbraio duemilamai.&#xA;&#xA;O se preferite, coi tempi della UE. Si comincia nel 2034, poi va in vigore nel 2040, e nel 2050 e&#39; obbligatorio.&#xA;&#xA;Ma nel 2050 forse non ci sarete neppure.&#xA;&#xA;br&#xA;&#xA;div align=&#34;left&#34; style=&#34;text-align: left;&#34;&#xD;&#xA;  Uriel Fanellibr&#xD;&#xA;  br&#xD;&#xA;  --br&#xD;&#xA;  Written using Blogfrei:&#xD;&#xA;  a href=&#34;https://git.keinpfusch.net/loweel/blogfrei&#34;https://git.keinpfusch.net/loweel/blogfrei/abr&#xD;&#xA;  Fedi: @uriel@bbs.keinpfusch.netbr&#xD;&#xA;  XMPP: uriel@keinpfusch.netbr&#xD;&#xA;  vecchio blog:&#xD;&#xA;  a href=&#34;https://blog.keinpfusch.net&#34;https://blog.keinpfusch.net/abr&#xD;&#xA;  email:&#xD;&#xA;  a href=&#34;mailto:blog@keinpfusch.net&#34;blog@keinpfusch.net/abr&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>Una delle cose che mi dà più la nausea delle generazioni successive alla GenX è il fatto che, anziché ribellarsi, protestano.
E non si rendono conto della differenza, perché credono che sia la stessa cosa.
L&#39;ultimo post mi ha dato la possibilità di verificarlo ancora una volta. Ed è qualcosa che mi urta anche personalmente, perché la ribellione non è stata soltanto una costante della mia vita: era una cosa piuttosto frequente nella mia generazione. Un atteggiamento che oggi vedo molto meno.
Quando qualcosa non gli piace, protestano.
Il bimbetto che urla perché la mamma gli dia quello che vuole.</p>

<hr/>

<p>Patetici.</p>

<p>Ho detto: «Guardate che, con i mezzi odierni, con la rete e con i computer che abbiamo oggi, potreste agevolmente costruirvi una Internet 2.0».</p>

<p>La risposta è stata:</p>

<p>«Sì, basterebbe una legge».</p>

<p>Eh?</p>

<p>No.</p>

<p>Non serve alcuna cazzo di legge.</p>

<p>La legge significa che tu piagnucoli con la mamma, spieghi alla mamma che una cosa non ti piace, e aspetti che la mamma stabilisca che da oggi si farà diversamente.</p>

<p>La ribellione significa un&#39;altra cosa.</p>

<p>Significa che tu, da oggi, fai diversamente.</p>

<p>Non chiedi il permesso. Non aspetti che qualcuno trasformi la tua protesta in regolamento. Non deleghi a un&#39;autorità il compito di cambiare il mondo al posto tuo.</p>

<p>Cominci a comportarti come se quel cambiamento fosse già avvenuto.</p>

<p>E questa è una differenza enorme.</p>

<hr/>

<p><br>
Prendete la storia dei DNS.
Tempo fa, quando in alcuni paesi c&#39;erano rivolte, repressioni o semplicemente blocchi governativi, e certi domini non governativi venivano fatti sparire attraverso i DNS degli operatori locali, era diventato abbastanza comune fare una cosa molto semplice: scrivere <code>8.8.8.8</code> sul cellulare o sul computer e usare i DNS pubblici di Google.
Era una cosa abbastanza diffusa da diventare quasi una procedura standard: «non ti risolve il sito? Cambia DNS».
E in alcuni paesi questa cosa è stata fatta in massa.
Quindi, se volete lanciare un nuovo dominio, che so io <code>.narnia</code>, il problema tecnico non è affatto quello che molti sembrano immaginare.
Dovete “solo” mettere in piedi una root DNS alternativa, magari trovare un sodale che ne metta in piedi una seconda, replicare le zone e poi far circolare l&#39;informazione:</p>

<blockquote><p>Se volete vedere gli host della nostra associazione, cliccate qui e aggiungete <code>a.b.c.d</code> alla lista dei vostri DNS.</p></blockquote>

<p>Da quel momento, per chi usa quei resolver, <code>.narnia</code> esiste.</p>

<p>Per il resto di Internet no.</p>

<p>Ma questa è esattamente la questione: non avete chiesto il permesso a nessuno perché esistesse.</p>

<p><br>
<hr/></p>

<p><br>
E già: ci fu un precedente.
E funzionò.</p>

<p>Forse non avete mai sentito parlare di <strong>AlterNIC</strong>.</p>

<p>AlterNIC nacque a metà degli anni Novanta, quando Network Solutions godeva sostanzialmente del monopolio sulla registrazione dei principali domini Internet. Eugene Kashpureff e soci decisero che, invece di protestare perché qualcuno cambiasse il sistema, avrebbero semplicemente costruito un sistema diverso.</p>

<p>Misero quindi in piedi una propria root DNS.</p>

<p>La cosa interessante è che non crearono una “Internet parallela”. Nei loro DNS continuarono ad inserire <code>.com</code>, <code>.net</code>, <code>.org</code> e tutti i domini della root ufficiale, ma aggiunsero anche i propri TLD.</p>

<p>Per esempio <code>.xxx</code>, <code>.med</code>, <code>.nic</code>, <code>.ltd</code>, <code>.lnx</code>, <code>.exp</code>.</p>

<p>Se usavate i DNS normali, quei domini non esistevano.</p>

<p>Se usavate quelli di AlterNIC, esistevano.</p>

<p>Tutto qui.</p>

<p>E al massimo della diffusione, secondo le loro stime, qualcosa come il 3% di Internet utilizzava quella root alternativa.</p>

<p>Che non sembra molto finché non ricordate una cosa: nessuno aveva obbligato quelle persone a cambiare configurazione. Avevano deliberatamente deciso che, per loro, la root DNS sarebbe stata quella.</p>

<p>Poi la storia finì male, ma per una ragione che va tenuta distinta.</p>

<p>Kashpureff decise di fare il passo più lungo della gamba.</p>

<p>Nel luglio del 1997 sfruttò una vulnerabilità dei DNS dell&#39;epoca per avvelenare le cache di parecchi nameserver e fare in modo che <code>www.internic.net</code> puntasse al sito di AlterNIC. Chi cercava InterNIC finiva quindi sulla sua pagina di protesta.</p>

<p>Quello non era più “costruisco il mio DNS”.</p>

<p>Quello era mettere le mani sul DNS degli altri.</p>

<p>Network Solutions lo portò in tribunale, intervenne l&#39;FBI, Kashpureff venne arrestato in Canada ed estradato negli Stati Uniti.</p>

<p>AlterNIC da quel momento perse progressivamente importanza e scomparve.</p>

<p>Ma attenzione al dettaglio.</p>

<h2 id="non-fallì-perché-una-root-dns-alternativa-fosse-tecnicamente-impossibile"><strong>Non fallì perché una root DNS alternativa fosse tecnicamente impossibile.</strong></h2>

<p>Quella funzionava.</p>

<p>Fallì perché il sistema ufficiale cominciò nel frattempo ad aprirsi alla concorrenza e ai nuovi TLD e, soprattutto, perché il suo fondatore trasformò una ribellione tecnica perfettamente legale in un attacco informatico contro il sistema concorrente. Ma nel frattempo,
la “concorrenza/monopolio” americana comincio&#39; a capire che gli alternic sarebbero spuntati come i funghi, e decise di aprirsi ai tld alternativi.</p>

<p>Sono due cose molto diverse.</p>

<p>AlterNIC aveva già dimostrato la cosa che interessa a noi.</p>

<p><br>
<hr/></p>

<p>AlterNIC fallì anche perché il sistema ufficiale, nel frattempo, cominciò ad aprirsi alla concorrenza e ai nuovi TLD e, soprattutto, perché il suo fondatore trasformò una ribellione tecnica perfettamente legittima in un attacco informatico contro il sistema concorrente.</p>

<p>Ma nel frattempo il messaggio era arrivato.</p>

<p>E lo ricordo bene, perché c&#39;ero.</p>

<p>In quegli anni diversi piccoli ISP cominciavano a offrire due cose diverse: <strong>Internet</strong> e una specie di <strong>Internet allargata</strong>, spesso come servizio aggiuntivo a pagamento.</p>

<p>La differenza era semplice: con il DNS normale vedevate la Internet ufficiale. Con i resolver alternativi vedevate anche i domini delle root alternative.</p>

<p>Quella roba era sovversiva il giusto.</p>

<p>Perché a quel punto non stavamo più parlando di quattro hacker che giocavano con il DNS. Stavamo parlando di operatori commerciali che potevano vendere ai propri clienti un namespace più grande di quello ufficiale.</p>

<p>E quando questo comincia a succedere, il problema per chi controlla il sistema diventa abbastanza evidente.</p>

<p>Se continui a tenere chiusa la root, se continui a decidere tu quali TLD possano esistere e quali no, qualcun altro può semplicemente costruirne una diversa.</p>

<p>Poi un altro.</p>

<p>Poi un altro ancora.</p>

<p>E a quel punto di AlterNIC ne spuntano come funghi.</p>

<p>Altroché se capirono l&#39;antifona.</p>

<p>La possibilità che qualcun altro rifacesse la stessa cosa, magari meglio, magari con l&#39;appoggio di ISP veri e con una massa critica più grande, era precisamente il genere di minaccia che poteva trasformare il DNS da infrastruttura globale unica in una collezione di namespace concorrenti.</p>

<p>E infatti il sistema ufficiale cominciò ad aprirsi.</p>

<p>Nuovi registrar. Nuovi TLD. Più concorrenza.</p>

<p>Non perché qualcuno avesse improvvisamente scoperto le virtù filosofiche del pluralismo.</p>

<p>Ma perché era diventato evidente che il monopolio sul namespace esisteva <strong>soltanto finché la gente accettava di usarlo.</strong></p>

<p><br>
<hr/></p>

<p><br>
Oggi il 1995 è lontano, e non ricordate più la ribellione.</p>

<p>Non ricordate più quando si andavano a cercare i domini <code>.xxx</code> per vedere le foto — perché allora di video praticamente non si parlava nemmeno — porno.</p>

<p>Era un&#39;altra Internet, ma soprattutto era un altro atteggiamento.</p>

<p>Se non vi piace il monopolio americano, oggi ci sono moltissime cose che potreste fare.</p>

<p><strong>Tecnicamente.</strong></p>

<h2 id="fare">Fare.</h2>

<p>Non protestare perché diventi obbligatorio farle. Non chiedere una legge che costringa qualcuno a costruirle per voi. Non aspettare che un&#39;autorità stabilisca che da domani si cambia.</p>

<h2 id="farle-e-basta">Farle e basta.</h2>

<p>L&#39;esempio di una darknet per un&#39;organizzazione che ha moltissimi soci, come Autistici/Inventati, è soltanto uno dei tanti.</p>

<p>Non sarebbe nemmeno un&#39;idea particolarmente esotica.</p>

<p>Nell&#39;ambiente del Chaos Computer Club e degli hackerspace tedeschi esiste da anni <strong>ChaosVPN</strong>, una rete overlay pensata precisamente per collegare hacker, hackerspace, server, laptop e intere reti attraverso Internet. È costruita su <code>tinc</code>, usa collegamenti cifrati e una topologia distribuita, senza un singolo punto centrale dal quale debba necessariamente passare tutto il traffico.</p>

<p>In altre parole: Internet viene usata semplicemente come trasporto.</p>

<p>Sopra, ci costruite la vostra rete.</p>

<p>I vostri indirizzi.</p>

<p>I vostri servizi.</p>

<p>Le vostre regole di routing.</p>

<p>E nessuno deve promulgare una legge perché possiate farlo.</p>

<p>La tecnologia esiste già.</p>

<p>La differenza sta tutta tra chi dice:</p>

<blockquote><p>«Bisognerebbe obbligare qualcuno a costruire una rete indipendente».</p></blockquote>

<p>e chi dice:</p>

<blockquote><p>«Abbiamo costruito una rete indipendente. Se vuoi entrarci, installa questo».</p></blockquote>

<hr/>

<p><br>
Nel primo caso, state protestando.</p>

<p>«Mamma, mamma, voio, voio».</p>

<p>Nell&#39;altro caso, avete costruito la vostra casa sull&#39;albero.</p>

<p>È diverso.</p>

<p>Il mondo non lo hanno mai cambiato le proteste. Lo hanno cambiato le ribellioni. Quelli che dicevano:</p>

<p>«Me ne sbatto, e faccio lo stesso come dico io».</p>

<p>O ancora meglio, quelli che dicevano:</p>

<p>«Adesso creo il mio spazio e faccio come dico io».</p>

<p>Protestare significa chiedere a qualcun altro il permesso di fare qualcosa, ma urlando.</p>

<p>Ribellarsi significa decidere di fare qualcosa, e chi se ne fotte delle autorità.</p>

<p>Questa è la parte che è morta in voi.</p>

<p>Internet e il mondo dell&#39;open source vi danno possibilità <strong>IMMENSE</strong> di crearvi spazi vostri, autonomi, <strong>DAVVERO</strong> autogestiti e immuni da interferenze.</p>

<p>E no, non quel progetto fatto dalla US Navy che è Tor.</p>

<p>Parlo della <strong>VOSTRA</strong> rete overlay.</p>

<p>La vostra.</p>

<p>Costruita da voi, gestita da voi, con i vostri nodi, i vostri servizi e le vostre regole.</p>

<p>Ma non lo farete.</p>

<hr/>

<p><br>
La strategia di rallentare le cose è una vecchia strategia democristiana.</p>

<p>Prendere l&#39;opposizione per stanchezza.</p>

<p>Attrito.</p>

<p>Frizione.</p>

<p>Vecchiaia.</p>
<ul><li>«Sì, ma guarda che io penso che tu abbia ragione. Solo che per questi cambiamenti ci vuole tempo. Forse fra venti, trent&#39;anni».</li>
<li>«Tu sei troppo avanti coi tempi, con le tue idee».</li>
<li>«Ma io non dico mica che sbagli. Dico solo che è troppo presto. Devi avere pazienza».</li>
<li>«Il problema di voi giovani è che volete tutto e subito».</li></ul>

<p>E invece noi volevamo <strong>tutto e subito</strong>.</p>

<p>Erano gli anni Ottanta. Il telefono era SIP, in regime di monopolio — nel 1980 aveva già circa dodici milioni di abbonati — e non compravi semplicemente una linea sulla quale fare quello che ti pareva: sottoscrivevi un abbonamento a un servizio telefonico disciplinato da condizioni d&#39;uso piuttosto rigide. La concessione SIP dell&#39;epoca fu formalizzata, tra l&#39;altro, con il <strong>D.P.R. 13 agosto 1984, n. 523</strong>.</p>

<p>E nelle condizioni di abbonamento c&#39;erano limitazioni sull&#39;uso della linea, comprese quelle relative ad attività e comunicazioni che oggi considereremmo perfettamente normali.</p>

<p>A noi, naturalmente, non fregava assolutamente niente.</p>

<p>Prendevamo il modem, lo attaccavamo alla linea SIP e ci mettevamo sopra una BBS.</p>

<p>Una macchina chiamava un&#39;altra macchina.</p>

<p>Poi un&#39;altra.</p>

<p>Poi qualcuno metteva su FidoNet.</p>

<p>Non abbiamo aspettato che la SIP introducesse il tariffario «BBS», che il ministero decidesse cosa fosse una BBS o che qualche commissione parlamentare stabilisse se fosse opportuno consentire ai cittadini di trasformare il telefono in una rete dati.</p>

<p>Abbiamo fatto le BBS.</p>

<p>Se avessimo aspettato il permesso, Internet sarebbe arrivata e sarebbe passata prima ancora che qualcuno avesse finito di discutere il regolamento.
Invece le abbiamo fatte.</p>

<p><br>
E non valeva soltanto per le BBS.</p>

<p>Le ragazze non hanno aspettato vent&#39;anni perché qualcuno concedesse loro il diritto di divertirsi.</p>

<p>Si organizzavano feste private, e ci si divertiva.</p>

<p>Erano atti osceni, secondo qualche articolo del codice penale sulla moralità pubblica e il buon costume?</p>

<p>Oooooh.</p>

<p>Non si pagava la SIAE per la musica?</p>

<p>In culo alla SIAE.</p>

<p>Era roba contraria alla morale?</p>

<p>In culo alla morale.</p>

<p>Non potevi servire birra a uno sotto i sedici anni?</p>

<p>Ooooh, che dispiacere che ti daremo quando un amico piu&#39; vecchio andra&#39; a comprare gli alcoolici al supermarket e ci sfonderemo anche noi quattordicenni.</p>

<p>E attenzione: non sto usando questi termini per modo di dire.</p>

<p>Negli anni Ottanta <strong>“atti osceni”, “moralità pubblica”, “buon costume”</strong> erano realmente categorie del codice penale. La SIAE aveva realmente qualcosa da dire sulla musica eseguita fuori dalla strettissima cerchia familiare. E l&#39;articolo 689 del codice penale vietava realmente agli esercenti di somministrare alcolici ai minori di sedici anni.</p>

<p>Non erano fantasmi che ci inventavamo per sentirci ribelli.</p>

<p>Le regole c&#39;erano davvero.</p>

<p>Semplicemente, ce ne sbattevamo.</p>

<p>Non andavamo in piazza per il diritto delle ragazze di fare pompini.</p>

<p>Non andavamo in piazza per il diritto di fare questo o di fare quello.</p>

<p>Lo facevamo e basta.</p>

<hr/>

<p><br>
E questa è la differenza tra ribellione e protesta.</p>

<p>Se protestate, troverete resistenza.</p>

<p>Se fate il cazzo che volete e ve ne infischiate, la legge vi corre dietro.</p>

<p>E tutte quelle cose che facevamo oggi sono legali. Ma non perché siamo andati in piazza a chiedere alcool ai quattordicenni: perché ce ne sbattevamo il cazzo e andavamo a comprarlo.</p>

<p>I rave party sono nati in quel periodo, perché ce ne sbattevamo il cazzo. Gli anni Novanta hanno goduto della libertà che avevamo creato.</p>

<p>Poi siete arrivati voi codardi, e avete deciso che ribellarsi significa protestare.</p>

<p>E qui avete perso tutto.</p>

<p>E perderete anche di più.</p>

<p>Volete una rete libera?</p>
<ul><li>Avete <code>tinc</code>.</li>
<li>Avete <strong>Yggdrasil</strong>, che vi costruisce una rete IPv6 cifrata e decentralizzata sopra Internet, con routing proprio.</li>
<li>Avete <strong>cjdns</strong>, da cui nasce parte della stessa famiglia di idee: indirizzamento crittografico, IPv6 e routing mesh.</li>
<li>Avete <strong>I2P</strong>, se volete una vera overlay network anonima con servizi interni.</li>
<li>Avete <strong>Lokinet</strong>, se volete una rete decentralizzata onion-routed capace di trasportare direttamente traffico IP e di ospitare servizi raggiungibili soltanto dall&#39;interno della rete.</li>
<li>Avete <strong>Nebula</strong>, open source e self-hosted, che crea una rete Layer 3 peer-to-peer con tunnel cifrati, NAT traversal e discovery dei nodi.</li>
<li>Avete <strong>WireGuard</strong>, se volete costruirvela quasi a mano.</li>
<li>Avete <strong>Headscale</strong>, se volete un control plane open source e self-hosted per una rete compatibile con Tailscale, invece di consegnare il controllo della rete a Tailscale.</li>
<li>Avete <strong>NetBird</strong>, che costruisce reti peer-to-peer sopra WireGuard e può essere self-hostato.</li>
<li>Avete <strong>Netmaker</strong>, che prende WireGuard e vi automatizza full mesh, partial mesh, routing, gateway e gestione dei peer.</li>
<li>Avete <strong>ZeroTier</strong>, se volete una LAN virtuale distribuita.</li></ul>

<p>E poi avete GRE, VXLAN, IPsec, OpenVPN, SSH tunneling, routing dinamico, bridge, namespace Linux, container, VPS da cinque euro e tutto il resto della ferramenta che negli ultimi trent&#39;anni è stata inventata precisamente per collegare macchine che fisicamente non stanno sulla stessa rete.</p>

<p>Potete usarne uno.</p>

<p>Potete usarne tre insieme.</p>

<p>Potete forkare quello che non vi piace.</p>

<p>Potete scrivere il vostro.</p>

<p>Potete distribuire una configurazione con uno script.</p>

<p>Potete fare un&#39;immagine Docker.</p>

<p>Potete mettere un QR code sul sito e dire:</p>

<p><strong>«Vuoi entrare nella nostra rete? Installa questo».</strong></p>

<p>Non dovete convincere Google.</p>

<p>Non dovete convincere ICANN.</p>

<p>Non dovete convincere Cloudflare.</p>

<p>Non dovete convincere il governo americano.</p>

<p>Non dovete convincere Bruxelles.</p>

<p>Non dovete andare in piazza a chiedere che qualcuno vi conceda una rete libera.</p>

<p>La rete ve la fate.</p>

<p>È software.</p>

<p>È questo il particolare che continuate a dimenticare.</p>

<hr/>

<p><br>
Ma voi siete codardi, e al rischio della ribellione preferite la sconfitta: dolorosa, sì, ma non troppo, della protesta.</p>

<p>Perché la protesta ha un vantaggio enorme.</p>

<p>Vi permette di perdere senza aver mai davvero rischiato.</p>

<p>La verità è che fate gli hacker, fate gli hackerspace, fate la cybersecurity, vi riempite la bocca di decentralizzazione, autonomia, crittografia, indipendenza.</p>

<p><strong>Neuromante is the new Il Maestro e Margherita.</strong></p>

<p>Ma quando vi si mette davanti un compilatore e vi si dice:</p>

<p><strong>«Fate».</strong></p>

<p>allora salta fuori il poco che siete.</p>

<p>Perché lì non basta più avere l&#39;estetica dell&#39;hacker.</p>

<p>Non basta la felpa, non basta il nickname, non basta il talk al congresso, non basta spiegare quanto sia cattivo il monopolio di turno.</p>

<p>Bisogna costruire qualcosa.</p>

<p>Bisogna rischiare che non funzioni.</p>

<p>Bisogna metterci macchine, tempo, codice, errori, responsabilità.</p>

<p>Bisogna decidere che una cosa esiste prima che qualcuno vi abbia dato il permesso di farla esistere.</p>

<p>E allora tornate bambini.</p>

<p>Bambini che chiedono alla mamma il permesso di fare qualcosa.</p>

<p>O meglio:</p>

<p>protestano perché la mamma continua a dire di no.</p>

<p>E la internet libera che volete l&#39;avrete, forse, il 32 febbraio duemilamai.</p>

<p>O se preferite, coi tempi della UE. Si comincia nel 2034, poi va in vigore nel 2040, e nel 2050 e&#39; obbligatorio.</p>

<p>Ma nel 2050 forse non ci sarete neppure.</p>

<p><br></p>

<div style="text-align: left;">
  Uriel Fanelli<br>
  <br>
  --<br>
  Written using Blogfrei:
  <a href="https://git.keinpfusch.net/loweel/blogfrei">https://git.keinpfusch.net/loweel/blogfrei</a><br>
  Fedi: <a href="https://keinpfusch.net/@/uriel@bbs.keinpfusch.net" class="u-url mention">@<span>uriel@bbs.keinpfusch.net</span></a><br>
  XMPP: uriel@keinpfusch.net<br>
  vecchio blog:
  <a href="https://blog.keinpfusch.net">https://blog.keinpfusch.net</a><br>
  email:
  <a href="mailto:blog@keinpfusch.net">blog@keinpfusch.net</a><br>
</div>
]]></content:encoded>
      <guid>https://keinpfusch.net/ribellione-o-protesta</guid>
      <pubDate>Sun, 30 Aug 2026 19:54:58 +0000</pubDate>
    </item>
    <item>
      <title>E&#39; possibile farsi una darknet &#34;privata&#34;?</title>
      <link>https://keinpfusch.net/e-possibile-farsi-una-darknet-privata</link>
      <description>&lt;![CDATA[Avendo fatto partire una diatriba tecnologica intorno alla vicenda di Autistici/Inventati, non dovrebbe stupirmi che, prima o poi, sia saltata fuori una domanda piuttosto strana.&#xA;Sì, Tor va bene, ma ha un problema evidente: è fin troppo facile che qualcuno vi associ automaticamente a qualsiasi genere di attività sospetta solo perché lo usate. I2P è interessante, tecnicamente anche molto elegante, ma appena volete usarlo per costruire qualcosa di stabile la gestione dei tunnel può diventare un piccolo delirio operativo.&#xA;Quindi la domanda è stata: come faccio ad avere una rete privata, sempre in piedi, destinata al mio piccolo gruppo, alla mia associazione o alla mia organizzazione?&#xA;In pratica: come mi costruisco una mia piccola fetta di darknet?&#xA;&#xA;!--more--&#xA;&#xA;Che ci crediate o meno, per un sysadmin minimamente decente non è un&#39;operazione particolarmente difficile.&#xA;&#xA;Benvenuti in una rete mesh chiamata Yggdrasil.&#xA;&#xA;Yggdrasil è una rete mesh overlay IPv6 cifrata: ogni nodo riceve un proprio indirizzo IPv6 e può comunicare con gli altri nodi passando, quando serve, attraverso altri peer.&#xA;&#xA;Non esiste un server centrale. Ogni macchina conosce uno o più peer Yggdrasil, e da questi collegamenti nasce automaticamente il grafo della rete e il relativo routing.&#xA;&#xA;Se configurate soltanto i vostri peer, ottenete una mesh privata tra le vostre macchine. Se invece vi collegate anche a peer pubblici, entrate nella rete Yggdrasil pubblica.&#xA;&#xA;Non è Tor: non nasce per anonimizzarvi, ma per creare connettività cifrata, distribuita e resiliente tra nodi.&#xA;&#xA;Siccome non state commettendo crimini, ma volete semplicemente sottrarvi alla dipendenza dai registrar, dal DNS e dalle varie autorità che possono intervenire su quella catena, dovrebbe essere sufficiente. Se invece vi serve anche l&#39;anonimato, allora dovrete guardare a qualcosa come I2P, che personalmente considero ormai molto più macchinoso di quanto valga.&#xA;Tor, invece, io non lo userei nemmeno a morire se il problema fosse evitare qualcosa di simile a quanto accaduto ad Autistici/Inventati.&#xA;&#xA;Non perché Tor &#34;non funzioni&#34;. Il problema è un altro.&#xA;&#xA;L&#39;onion routing nasce negli anni Novanta nei laboratori dello U.S. Naval Research Laboratory, cioè all&#39;interno della Marina militare americana; Tor deriva direttamente da quella linea di ricerca. Questo non è complottismo: lo racconta tranquillamente lo stesso Tor Project nella propria storia ufficiale.&#xA;&#xA;Successivamente Tor è diventato un progetto open source e il Tor Project un&#39;organizzazione indipendente, ma il rapporto economico con il governo statunitense non è esattamente marginale. Nell&#39;esercizio fiscale 2023-2024, per esempio, circa il 35% delle entrate del Tor Project proveniva dal governo degli Stati Uniti; nel 2021-2022 era addirittura il 53,5%. Il Tor Project stesso pubblica questi numeri e dichiara esplicitamente di voler ridurre nel tempo questa dipendenza.&#xA;&#xA;E se il mio problema specifico fosse proprio costruire un&#39;infrastruttura che non dipenda, politicamente o amministrativamente, dagli Stati Uniti, diciamo che questo sarebbe sufficiente a farmi cercare altrove.&#xA;&#xA;br&#xA;&#xA;Ma diciamo che vogliamo usare Yggdrasil.&#xA;Allora ci servono alcuni amici smanettoni, o comunque dei sysadmin decenti, e diciamo tre VPC distribuite su cloud europei. Volendo possono anche essere tre macchine a casa: il punto è semplicemente avere tre nodi abbastanza stabili, possibilmente su reti diverse.&#xA;Su ciascuno installiamo Linux e Yggdrasil.&#xA;Diciamo che usiamo Debian.&#xA;I comandi sono questi:&#xA;&#xA;sudo apt-get update&#xA;sudo apt-get install -y dirmngr gnupg&#xA;&#xA;sudo mkdir -p /usr/local/apt-keys&#xA;&#xA;gpg --fetch-keys \&#xA;https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt&#xA;&#xA;gpg --export 1C5162E133015D81A811239D1840CDAC6011C5EA \&#xA;| sudo tee /usr/local/apt-keys/yggdrasil-keyring.gpg   /dev/null&#xA;&#xA;echo &#39;deb [signed-by=/usr/local/apt-keys/yggdrasil-keyring.gpg] https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil&#39; \&#xA;| sudo tee /etc/apt/sources.list.d/yggdrasil.list&#xA;&#xA;sudo apt-get update&#xA;sudo apt-get install -y yggdrasil&#xA;&#xA;sudo systemctl enable --now yggdrasil&#xA;&#xA;A questo punto Yggdrasil ha già creato la sua configurazione in:&#xA;&#xA;/etc/yggdrasil.conf&#xA;&#xA;e il demone è attivo.&#xA;Potete verificarlo con:&#xA;&#xA;systemctl status yggdrasil&#xA;&#xA;e vedere l&#39;indirizzo IPv6 Yggdrasil assegnato alla macchina con:&#xA;&#xA;ip addr&#xA;&#xA;Da qui in poi comincia la parte interessante: fare in modo che i tre nodi si conoscano fra loro e diventino l&#39;ossatura della nostra piccola rete.&#xA;&#xA;br&#xA;&#xA;br&#xA;Il vostro indirizzo IPv6 Yggdrasil viene derivato dalla vostra chiave pubblica crittografica. Finché conservate la stessa coppia di chiavi, quindi, conserverete anche lo stesso indirizzo.&#xA;La probabilità che due normali indirizzi Yggdrasil /128 collidano accidentalmente è talmente bassa da poterla, per i nostri scopi, considerare irrilevante.&#xA;Adesso però ricordate una cosa: Yggdrasil cifra il traffico, ma non è un firewall. Se una porta è aperta sull&#39;interfaccia Yggdrasil, chi può raggiungere il vostro nodo può tentare di collegarcisi. La documentazione stessa raccomanda quindi esplicitamente di usare un firewall IPv6.&#xA;Diciamo che l&#39;interfaccia si chiami ygg0 e che, per il momento, vogliamo accettare soltanto SSH sulla porta 22.&#xA;&#xA;Con nftables possiamo fare, per esempio:&#xA;&#xA;sudo nft add table inet yggdrasil&#xA;sudo nft &#39;add chain inet yggdrasil input { type filter hook input priority 0; policy accept; }&#39;&#xA;&#xA;sudo nft add rule inet yggdrasil input iifname &#34;ygg0&#34; ct state established,related accept&#xA;sudo nft add rule inet yggdrasil input iifname &#34;ygg0&#34; tcp dport 22 accept&#xA;sudo nft add rule inet yggdrasil input iifname &#34;ygg0&#34; drop&#xA;&#xA;A questo punto, dall&#39;interfaccia Yggdrasil entra soltanto SSH e il traffico appartenente a connessioni già stabilite.&#xA;Il resto viene buttato via.&#xA;&#xA;br&#xA;&#xA;br&#xA;Forse la vostra interfaccia avrà un altro nome: dipende dalla versione, dal packaging e dalla configurazione. Controllate con ip addr e usate il nome effettivo.&#xA;Adesso dovete entrare nella mesh, o almeno cominciare a costruirne una.&#xA;Per farlo avete bisogno degli indirizzi IP “normali” dei vostri amici — cioè gli IPv4 o IPv6 con cui le loro macchine sono raggiungibili su Internet — e della porta TCP o TLS sulla quale Yggdrasil ascolta.&#xA;Poi li inserite nel file di configurazione, /etc/yggdrasil.conf, nella sezione Peers.&#xA;Per esempio:&#xA;&#xA;Peers:&#xA;  tls://203.0.113.10:443&#xA;  tls://198.51.100.27:443&#xA;&#xA;Naturalmente quegli indirizzi sono solo esempi. E chiaramente, la porta deve essere aperta e deve girarci Yggdrasil.&#xA;&#xA;Volendo potreste usare anche degli hostname al posto degli indirizzi IP. Ma, se il motivo per cui state facendo tutto questo è proprio sottrarvi alla dipendenza da DNS, registrar e hostname revocabili, sarebbe abbastanza buffo reintrodurre il problema dalla finestra dopo averlo cacciato dalla porta.&#xA;&#xA;Quindi, per questa configurazione, usiamo direttamente gli IP.&#xA;&#xA;A questo punto il vostro nodo proverà a collegarsi direttamente a quei peer. E se anche loro hanno configurato almeno uno degli altri nodi, comincia a formarsi la mesh.&#xA;&#xA;Non serve che ogni macchina conosca tutte le altre: basta che il grafo rimanga connesso.&#xA;&#xA;Naturalmente quegli indirizzi sono soltanto esempi.&#xA;E, altrettanto naturalmente, sui nodi remoti quella porta deve essere raggiungibile attraverso il firewall e Yggdrasil deve essere configurato per ascoltarvi. Mettere tls://203.0.113.10:443 dentro Peers non fa comparire magicamente un peer dall&#39;altra parte: su 203.0.113.10:443 deve esserci davvero un&#39;istanza Yggdrasil in ascolto.&#xA;&#xA;br&#xA;Se abbiamo tre macchine:&#xA;&#xA;A = 11.12.13.14&#xA;B = 21.22.23.24&#xA;C = 31.32.33.34&#xA;&#xA;sulla macchina A possiamo avere, dentro /etc/yggdrasil.conf :&#xA;&#xA;Peers: [&#xA;  tls://21.22.23.24:443&#xA;  tls://31.32.33.34:443&#xA;]&#xA;&#xA;Listen: [&#xA;  tls://[::]:443&#xA;]&#xA;&#xA;sulla macchina B:&#xA;&#xA;Peers: [&#xA;  tls://11.12.13.14:443&#xA;  tls://31.32.33.34:443&#xA;]&#xA;&#xA;Listen: [&#xA;  tls://[::]:443&#xA;]&#xA;&#xA;e sulla C:&#xA;&#xA;Peers: [&#xA;  tls://11.12.13.14:443&#xA;  tls://21.22.23.24:443&#xA;]&#xA;&#xA;Listen: [&#xA;  tls://[::]:443&#xA;]&#xA;&#xA;Ovviamente la 443 dovrebbe essere esposta su internet.&#xA;&#xA;br&#xA;Adesso le vostre macchine creeranno una mesh. E se mettete una configurazione compatibile su altre macchine Linux con Yggdrasil installato, queste potranno collegarsi alla stessa rete.&#xA;&#xA;A quel punto emerge un problema molto terra-terra: gli indirizzi IPv6 Yggdrasil non sono esattamente il genere di cosa che volete ricordare a memoria.&#xA;&#xA;Vi serve un DNS.&#xA;&#xA;Quindi voi tre compari che avete dato inizio alla cosa potete anche mettere in piedi tre server DNS autoritativi interni alla mesh.&#xA;&#xA;Diciamo che decidiate di usare:&#xA;&#xA;.narnia&#xA;&#xA;.narnia, al momento, non è un TLD delegato nella root pubblica. Quindi, dentro la vostra rete, potete tranquillamente comportarvi come se foste gli dei del namespace.&#xA;&#xA;Avete tre nodi Yggdrasil, diciamo con questi indirizzi IPv6:&#xA;&#xA;200:1111:2222:3333:4444:5555:6666:7777&#xA;200:8888:9999:aaaa:bbbb:cccc:dddd:eeee&#xA;200:1234:5678:9abc:def0:1234:5678:9abc&#xA;&#xA;Su tutti e tre installate BIND.&#xA;&#xA;Uno sarà il primary della zona narnia, gli altri due saranno secondary.&#xA;&#xA;Non serve multicast: BIND possiede già il suo sistema per mantenere sincronizzate le zone, attraverso NOTIFY e trasferimenti IXFR o AXFR.&#xA;&#xA;Sul primary, dentro la configurazione di named, avrete qualcosa del genere:&#xA;&#xA;zone &#34;narnia&#34; {&#xA;    type primary;&#xA;    file &#34;/etc/bind/db.narnia&#34;;&#xA;&#xA;    allow-transfer {&#xA;        200:8888:9999:aaaa:bbbb:cccc:dddd:eeee;&#xA;        200:1234:5678:9abc:def0:1234:5678:9abc;&#xA;    };&#xA;&#xA;    also-notify {&#xA;        200:8888:9999:aaaa:bbbb:cccc:dddd:eeee;&#xA;        200:1234:5678:9abc:def0:1234:5678:9abc;&#xA;    };&#xA;};&#xA;&#xA;Sugli altri due:&#xA;&#xA;zone &#34;narnia&#34; {&#xA;    type secondary;&#xA;&#xA;    primaries {&#xA;        200:1111:2222:3333:4444:5555:6666:7777;&#xA;    };&#xA;&#xA;    file &#34;/var/cache/bind/db.narnia&#34;;&#xA;};&#xA;&#xA;Quando cambiate la zona sul primary e aumentate il seriale del record SOA, il primary avvisa i secondary e questi si aggiornano automaticamente.&#xA;&#xA;In pratica avete appena costruito il vostro piccolo DNS interno, che vive interamente dentro Yggdrasil e non ha bisogno né di registrar né del DNS pubblico.&#xA;&#xA;br&#xA;&#xA;br&#xA;Domanda avanzata: per sincronizzare i DNS dovrei usare anche TSIG?&#xA;&#xA;No. In questo caso sarebbe sostanzialmente ridondante.&#xA;&#xA;Gli indirizzi Yggdrasil derivano già dall&#39;identità crittografica dei nodi, e le comunicazioni tra quei nodi sono già autenticate e cifrate dalla rete stessa. Se state permettendo i trasferimenti di zona soltanto verso gli indirizzi Yggdrasil dei vostri secondary, avete già un&#39;identità crittografica sottostante sulla quale basare l&#39;ACL.&#xA;&#xA;Aggiungere TSIG significherebbe sovrapporre un secondo meccanismo di autenticazione a uno che, per questo specifico threat model, avete già.&#xA;&#xA;Non aggiungereste sostanzialmente niente, se non altre chiavi da distribuire e gestire.&#xA;&#xA;br&#xA;br&#xA;br&#xA;A questo punto, sui client della vostra rete, dovete dire al resolver di usare i tre DNS della mesh.&#xA;In un sistema che usa direttamente /etc/resolv.conf, avrete qualcosa del genere:&#xA;&#xA;nameserver 200:1111:2222:3333:4444:5555:6666:7777&#xA;nameserver 200:8888:9999:aaaa:bbbb:cccc:dddd:eeee&#xA;nameserver 200:1234:5678:9abc:def0:1234:5678:9abc&#xA;&#xA;Da quel momento, quando chiedete per esempio:&#xA;&#xA;git.narnia&#xA;chat.narnia&#xA;files.narnia&#xA;&#xA;la risoluzione avviene usando i DNS che vivono dentro la vostra rete Yggdrasil.&#xA;&#xA;Se non volete vivere solo dentro Narnia, allora dovete fare una cosa piu&#39; lunga:&#xA;&#xA;Lasciare /etc/resolv.conf per i fatti suoi e se usate systemd-resolved, potete fare una cosa molto più elegante: dire al sistema che soltanto il dominio .narnia deve essere risolto attraverso i DNS Yggdrasil.&#xA;&#xA;Supponiamo che l&#39;interfaccia si chiami ygg0:&#xA;&#xA;sudo resolvectl dns ygg0 \&#xA;  200:1111:2222:3333:4444:5555:6666:7777 \&#xA;  200:8888:9999:aaaa:bbbb:cccc:dddd:eeee \&#xA;  200:1234:5678:9abc:def0:1234:5678:9abc&#xA;&#xA;sudo resolvectl domain ygg0 &#39;~narnia&#39;&#xA;&#xA;Quel ~narnia significa: tutte le query per .narnia devono passare da questa interfaccia.&#xA;&#xA;Il resto del DNS continua invece a funzionare normalmente attraverso la vostra connessione Internet ordinaria.&#xA;&#xA;Quindi:&#xA;&#xA;git.narnia&#xA;chat.narnia&#xA;files.narnia&#xA;&#xA;andranno ai DNS della mesh, mentre:&#xA;&#xA;debian.org&#xA;wikipedia.org&#xA;kernel.org&#xA;&#xA;continueranno a essere risolti attraverso i DNS normali.&#xA;&#xA;Questo è esattamente lo split-DNS che ci serve.&#xA;&#xA;br&#xA;&#xA;br&#xA;Una volta fatto questo, avete una rete , diciamo &#34;organization-wise&#34;.&#xA;&#xA;Cosa potete fare? Potete decidere che esiste chat.narnia , e assegnarlo all&#39; IP di un server (magari un raspberry o un odroid da due lire, che fanno girare irc a casa di qualcuno), oppure decidere che avete&#xA;smtp.narnia , per inviare posta, o imap4.narnia per scaricarla.&#xA;&#xA;Siete voi tre i regnanti di .narnia, e quindi potete, se vi fidate di qualcuno, assegnare quel che volete a chi volte.&#xA;&#xA;Vi servono certificati? No. non davvero. Il traffico e&#39; gia&#39; criptato, gli indirizzi IPv6 che usate sono gia&#39; validati per via crittografica. Potete liberarvi di questa ridondanza.&#xA;&#xA;Voi direte adesso:&#xA;&#xA;  si, ma non e&#39; che milioni di persone adesso si mettono una debian e poi installano tutta la baracca: anche senza i DNS da gestire, per l&#39;utente medio e&#39; davvero troppo.&#xA;&#xA;Vero. Infatti io parlavo di una rete molto privata e molto &#34;organization-wise&#34;. Significa che se vi cacciano fuori dalla internet regolare, almeno gli amministratori dei vari sistemi&#xA;(forum, mailing list, eccetera) potrebbero pur sempre parlare sul forum.narnia o usare la posta sui server smtp/imap di Narnia. Almeno per decidere sul da farsi.&#xA;&#xA;Potreste sempre continuare ad inviare messaggi sulla mailing list: se il sistema che fa da mailing list sta su una macchina che serve sia internet che yggdrasil, la posta in uscita dovrebbe venire consegnata&#xA;normalmente.&#xA;&#xA;E quindi potreste avvisare i vostri utenti.&#xA;&#xA;br&#xA;&#xA;br&#xA;Ma non esiste proprio un modo per far accedere il pubblico a .narnia?&#xA;&#xA;Non del tutto.&#xA;&#xA;Nel senso che un membro di .narnia, qualcuno di cui vi fidate, potrebbe mettere in piedi un proxy su una macchina che abbia contemporaneamente accesso a Internet normale e alla rete Yggdrasil.&#xA;&#xA;Per esempio, uno Squid su un piccolo computer sempre acceso.&#xA;&#xA;Quella macchina avrebbe quindi due gambe:&#xA;&#xA;Internet normale&#xA;       |&#xA;       |&#xA;     Squid&#xA;       |&#xA;       |&#xA;   Yggdrasil&#xA;       |&#xA;       |&#xA;    .narnia&#xA;&#xA;Squid può essere configurato per usare resolver DNS specifici. Quindi il proxy può sapere come risolvere forum.narnia, chat.narnia, files.narnia e gli altri nomi interni, anche se il computer dell&#39;utente che lo sta usando non sa assolutamente nulla di Yggdrasil.&#xA;In pratica avete costruito un gateway applicativo.&#xA;&#xA;L&#39;utente normale non entra realmente nella mesh e non possiede un indirizzo Yggdrasil. Dice semplicemente al proprio browser:&#xA;&#xA;usa questo proxy&#xA;&#xA;e sarà il proxy, dall&#39;altra parte, a raggiungere i servizi .narnia.&#xA;&#xA;Quindi uno Squid con un piede su Internet e uno su Yggdrasil può fare da ponte tra il pubblico e quella parte della vostra infrastruttura che avete deciso di rendere accessibile.&#xA;E lato utente la cosa può essere resa abbastanza semplice.&#xA;Esistono molte estensioni per browser che permettono di scegliere automaticamente un proxy in base al dominio richiesto. Per esempio FoxyProxy, SwitchyOmega o estensioni analoghe basate su regole per dominio.&#xA;In pratica potete dire:&#xA;&#xA;.narnia  -  usa il proxy&#xA;tutto il resto -  connessione normale&#xA;&#xA;Quindi l&#39;utente continua a navigare normalmente su Internet, ma quando apre:&#xA;&#xA;forum.narnia&#xA;files.narnia&#xA;wiki.narnia&#xA;&#xA;il browser manda automaticamente quelle richieste attraverso il proxy Squid.&#xA;Non deve configurare Yggdrasil, non deve conoscere gli IPv6 della mesh e non deve modificare il proprio DNS di sistema.&#xA;&#xA;Per lui .narnia diventa semplicemente un&#39;altra porzione del Web, raggiungibile attraverso quel proxy.&#xA;&#xA;br&#xA;&#xA;Se volete, potete anche distribuire direttamente un file .pac, cioè un Proxy Auto-Configuration file*, evitando persino di chiedere agli utenti di installare un&#39;estensione.&#xA;&#xA;Per esempio:&#xA;&#xA;function FindProxyForURL(url, host) {&#xA;    if (host == &#34;narnia&#34; || shExpMatch(host, &#34;.narnia&#34;)) {&#xA;        return &#34;PROXY 11.12.13.14:3128&#34;;&#xA;    }&#xA;&#xA;    return &#34;DIRECT&#34;;&#xA;}&#xA;&#xA;La regola significa semplicemente:&#xA;&#xA;.narnia  -  proxy 11.12.13.14:3128&#xA;tutto il resto -  Internet normale&#xA;&#xA;E ho usato direttamente l&#39;indirizzo IP del proxy per una ragione abbastanza ovvia: se stiamo costruendo tutto questo proprio per sopravvivere alla perdita di domini e registrar, sarebbe piuttosto stupido distribuire un PAC contenente:&#xA;&#xA;PROXY proxy.qualcosa.org:3128&#xA;&#xA;e ritrovarci nuovamente dipendenti dal DNS pubblico quando gli americani ti droppano qualcosa.org&#xA;&#xA;Il file .pac può essere distribuito agli utenti e configurato nei browser o nel sistema operativo come configurazione automatica del proxy.&#xA;A quel punto l&#39;utente digita:&#xA;&#xA;https://forum.narnia/&#xA;&#xA;e il browser manda quella connessione a Squid.&#xA;&#xA;Squid, che conosce i DNS di .narnia e possiede anche un&#39;interfaccia Yggdrasil, risolve forum.narnia e raggiunge il server attraverso la mesh.&#xA;&#xA;Per tutto il resto, il browser continua tranquillamente a usare Internet come prima.&#xA;&#xA;br&#xA;**&#xA;&#xA;br&#xA;Direte: e&#39; sempre troppo complicato per un utente bestia.&#xA;&#xA;Vero. Ma dovete capire una cosa.&#xA;&#xA;Se volete una cosa sicura e robusta, l&#39;utente bestia e&#39; esattamente la parte piu&#39; pericolosa. Tutti gli attacchi sul layer 8 passano, infatti, dall&#39;utente bestia.&#xA;&#xA;L&#39;utente bestia e&#39; quello che clicca sui link di phishing. L&#39;utente bestia e&#39; quello che da&#39; le credenziali del suo home banking al primo che telefona. L&#39;utente bestia e&#39; quello che da&#39; i suoi risparmi da gestire a Wanna Marchi.&#xA;&#xA;L&#39;utente bestia e&#39; quello che risponde al Principe Nigeriano cui serve solo il vostro conto corrente per poggarci 800.000 euro.&#xA;&#xA;L&#39;utente bestia e&#39; pericoloso. Quindi, se non riesce nemmeno a configurare un proxy nel browser, teletelo fuori.&#xA;&#xA;Questa rete privata e&#39; per gli amministratori della rete mesh, per chi vuole aggiungervi i servizi , per chi vuole gestire dei servizi che stanno dentro.&#xA;&#xA;Il pubblico li leggera&#39; tramite internet, ma gli amministratori, in caso di attacco, potranno pur sempre incontrarsi telematicamente e parlare.&#xA;E decidere come reagire.&#xA;&#xA;br&#xA;&#xA;div align=&#34;left&#34; style=&#34;text-align: left;&#34;&#xD;&#xA;  Uriel Fanellibr&#xD;&#xA;  br&#xD;&#xA;  --br&#xD;&#xA;  Written using Blogfrei:&#xD;&#xA;  a href=&#34;https://git.keinpfusch.net/loweel/blogfrei&#34;https://git.keinpfusch.net/loweel/blogfrei/abr&#xD;&#xA;  Fedi: @uriel@bbs.keinpfusch.netbr&#xD;&#xA;  XMPP: uriel@keinpfusch.netbr&#xD;&#xA;  vecchio blog:&#xD;&#xA;  a href=&#34;https://blog.keinpfusch.net&#34;https://blog.keinpfusch.net/abr&#xD;&#xA;  email:&#xD;&#xA;  a href=&#34;mailto:blog@keinpfusch.net&#34;blog@keinpfusch.net/abr&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>Avendo fatto partire una diatriba tecnologica intorno alla vicenda di Autistici/Inventati, non dovrebbe stupirmi che, prima o poi, sia saltata fuori una domanda piuttosto strana.
Sì, Tor va bene, ma ha un problema evidente: è fin troppo facile che qualcuno vi associ automaticamente a qualsiasi genere di attività sospetta solo perché lo usate. I2P è interessante, tecnicamente anche molto elegante, ma appena volete usarlo per costruire qualcosa di stabile la gestione dei tunnel può diventare un piccolo delirio operativo.
Quindi la domanda è stata: come faccio ad avere una rete privata, sempre in piedi, destinata al mio piccolo gruppo, alla mia associazione o alla mia organizzazione?
In pratica: come mi costruisco una mia piccola fetta di darknet?</p>

<hr/>

<p>Che ci crediate o meno, per un sysadmin minimamente decente non è un&#39;operazione particolarmente difficile.</p>

<p>Benvenuti in una rete mesh chiamata <strong>Yggdrasil</strong>.</p>

<p>Yggdrasil è una rete mesh overlay IPv6 cifrata: ogni nodo riceve un proprio indirizzo IPv6 e può comunicare con gli altri nodi passando, quando serve, attraverso altri peer.</p>

<p>Non esiste un server centrale. Ogni macchina conosce uno o più peer Yggdrasil, e da questi collegamenti nasce automaticamente il grafo della rete e il relativo routing.</p>

<p>Se configurate soltanto i vostri peer, ottenete una mesh privata tra le vostre macchine. Se invece vi collegate anche a peer pubblici, entrate nella rete Yggdrasil pubblica.</p>

<h2 id="non-è-tor-non-nasce-per-anonimizzarvi-ma-per-creare-connettività-cifrata-distribuita-e-resiliente-tra-nodi"><strong>Non è Tor: non nasce per anonimizzarvi, ma per creare connettività cifrata, distribuita e resiliente tra nodi.</strong></h2>

<p>Siccome non state commettendo crimini, ma volete semplicemente sottrarvi alla dipendenza dai registrar, dal DNS e dalle varie autorità che possono intervenire su quella catena, dovrebbe essere sufficiente. Se invece vi serve anche l&#39;anonimato, allora dovrete guardare a qualcosa come I2P, che personalmente considero ormai molto più macchinoso di quanto valga.
Tor, invece, io non lo userei nemmeno a morire se il problema fosse evitare qualcosa di simile a quanto accaduto ad Autistici/Inventati.</p>

<p>Non perché Tor “non funzioni”. Il problema è un altro.</p>

<p>L&#39;<strong>onion routing nasce negli anni Novanta nei laboratori dello U.S. Naval Research Laboratory</strong>, cioè all&#39;interno della Marina militare americana; Tor deriva direttamente da quella linea di ricerca. Questo non è complottismo: lo racconta tranquillamente lo stesso Tor Project nella propria storia ufficiale.</p>

<p>Successivamente Tor è diventato un progetto open source e il Tor Project un&#39;organizzazione indipendente, ma il rapporto economico con il governo statunitense non è esattamente marginale. Nell&#39;esercizio fiscale 2023-2024, per esempio, <strong>circa il 35% delle entrate del Tor Project proveniva dal governo degli Stati Uniti</strong>; nel 2021-2022 era addirittura il 53,5%. Il Tor Project stesso pubblica questi numeri e dichiara esplicitamente di voler ridurre nel tempo questa dipendenza.</p>

<p>E se il mio problema specifico fosse proprio costruire un&#39;infrastruttura che non dipenda, politicamente o amministrativamente, dagli Stati Uniti, <strong>diciamo che questo sarebbe sufficiente a farmi cercare altrove.</strong></p>

<p><br>
<hr/></p>

<p>Ma diciamo che vogliamo usare Yggdrasil.
Allora ci servono alcuni amici smanettoni, o comunque dei sysadmin decenti, e diciamo tre VPC distribuite su cloud europei. Volendo possono anche essere tre macchine a casa: il punto è semplicemente avere tre nodi abbastanza stabili, possibilmente su reti diverse.
Su ciascuno installiamo Linux e Yggdrasil.
Diciamo che usiamo Debian.
I comandi sono questi:</p>

<pre><code>sudo apt-get update
sudo apt-get install -y dirmngr gnupg

sudo mkdir -p /usr/local/apt-keys

gpg --fetch-keys \
https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt

gpg --export 1C5162E133015D81A811239D1840CDAC6011C5EA \
| sudo tee /usr/local/apt-keys/yggdrasil-keyring.gpg &gt;/dev/null

echo &#39;deb [signed-by=/usr/local/apt-keys/yggdrasil-keyring.gpg] https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil&#39; \
| sudo tee /etc/apt/sources.list.d/yggdrasil.list

sudo apt-get update
sudo apt-get install -y yggdrasil

sudo systemctl enable --now yggdrasil
</code></pre>

<p>A questo punto Yggdrasil ha già creato la sua configurazione in:</p>

<pre><code>/etc/yggdrasil.conf
</code></pre>

<p>e il demone è attivo.
Potete verificarlo con:</p>

<pre><code>systemctl status yggdrasil
</code></pre>

<p>e vedere l&#39;indirizzo IPv6 Yggdrasil assegnato alla macchina con:</p>

<pre><code>ip addr
</code></pre>

<p>Da qui in poi comincia la parte interessante: fare in modo che i tre nodi si conoscano fra loro e diventino l&#39;ossatura della nostra piccola rete.</p>

<p><br>
<hr/></p>

<p><br>
Il vostro indirizzo IPv6 Yggdrasil viene derivato dalla vostra chiave pubblica crittografica. Finché conservate la stessa coppia di chiavi, quindi, conserverete anche lo stesso indirizzo.
La probabilità che due normali indirizzi Yggdrasil <code>/128</code> collidano accidentalmente è talmente bassa da poterla, per i nostri scopi, considerare irrilevante.
Adesso però ricordate una cosa: <strong>Yggdrasil cifra il traffico, ma non è un firewall</strong>. Se una porta è aperta sull&#39;interfaccia Yggdrasil, chi può raggiungere il vostro nodo può tentare di collegarcisi. La documentazione stessa raccomanda quindi esplicitamente di usare un firewall IPv6.
Diciamo che l&#39;interfaccia si chiami <code>ygg0</code> e che, per il momento, vogliamo accettare soltanto SSH sulla porta 22.</p>

<p>Con <code>nftables</code> possiamo fare, per esempio:</p>

<pre><code>sudo nft add table inet yggdrasil
sudo nft &#39;add chain inet yggdrasil input { type filter hook input priority 0; policy accept; }&#39;

sudo nft add rule inet yggdrasil input iifname &#34;ygg0&#34; ct state established,related accept
sudo nft add rule inet yggdrasil input iifname &#34;ygg0&#34; tcp dport 22 accept
sudo nft add rule inet yggdrasil input iifname &#34;ygg0&#34; drop
</code></pre>

<p>A questo punto, dall&#39;interfaccia Yggdrasil entra soltanto SSH e il traffico appartenente a connessioni già stabilite.
Il resto viene buttato via.</p>

<p><br>
<hr/></p>

<p><br>
Forse la vostra interfaccia avrà un altro nome: dipende dalla versione, dal packaging e dalla configurazione. Controllate con <code>ip addr</code> e usate il nome effettivo.
Adesso dovete entrare nella mesh, o almeno cominciare a costruirne una.
Per farlo avete bisogno degli indirizzi IP “normali” dei vostri amici — cioè gli IPv4 o IPv6 con cui le loro macchine sono raggiungibili su Internet — e della porta TCP o TLS sulla quale Yggdrasil ascolta.
Poi li inserite nel file di configurazione, <code>/etc/yggdrasil.conf</code>, nella sezione <code>Peers</code>.
Per esempio:</p>

<pre><code>Peers:
  - tls://203.0.113.10:443
  - tls://198.51.100.27:443
</code></pre>

<p>Naturalmente quegli indirizzi sono solo esempi. E chiaramente, la porta deve essere aperta e deve girarci Yggdrasil.</p>

<p>Volendo potreste usare anche degli hostname al posto degli indirizzi IP. Ma, se il motivo per cui state facendo tutto questo è proprio sottrarvi alla dipendenza da DNS, registrar e hostname revocabili, sarebbe abbastanza buffo reintrodurre il problema dalla finestra dopo averlo cacciato dalla porta.</p>

<p>Quindi, per questa configurazione, usiamo direttamente gli IP.</p>

<p>A questo punto il vostro nodo proverà a collegarsi direttamente a quei peer. E se anche loro hanno configurato almeno uno degli altri nodi, comincia a formarsi la mesh.</p>

<p>Non serve che ogni macchina conosca tutte le altre: basta che il grafo rimanga connesso.</p>

<pre><code></code></pre>

<hr/>

<p>Naturalmente quegli indirizzi sono soltanto esempi.
E, altrettanto naturalmente, sui nodi remoti quella porta deve essere raggiungibile attraverso il firewall e Yggdrasil deve essere configurato per ascoltarvi. Mettere <code>tls://203.0.113.10:443</code> dentro <code>Peers</code> non fa comparire magicamente un peer dall&#39;altra parte: su <code>203.0.113.10:443</code> deve esserci davvero un&#39;istanza Yggdrasil in ascolto.</p>

<p><br>
Se abbiamo tre macchine:</p>

<pre><code>A = 11.12.13.14
B = 21.22.23.24
C = 31.32.33.34
</code></pre>

<p>sulla macchina A possiamo avere, dentro /etc/yggdrasil.conf :</p>

<pre><code>Peers: [
  tls://21.22.23.24:443
  tls://31.32.33.34:443
]

Listen: [
  tls://[::]:443
]
</code></pre>

<p>sulla macchina B:</p>

<pre><code>Peers: [
  tls://11.12.13.14:443
  tls://31.32.33.34:443
]

Listen: [
  tls://[::]:443
]
</code></pre>

<p>e sulla C:</p>

<pre><code>Peers: [
  tls://11.12.13.14:443
  tls://21.22.23.24:443
]

Listen: [
  tls://[::]:443
]
</code></pre>

<p>Ovviamente la 443 dovrebbe essere esposta su internet.</p>

<hr/>

<p><br>
Adesso le vostre macchine creeranno una mesh. E se mettete una configurazione compatibile su altre macchine Linux con Yggdrasil installato, queste potranno collegarsi alla stessa rete.</p>

<p>A quel punto emerge un problema molto terra-terra: gli indirizzi IPv6 Yggdrasil non sono esattamente il genere di cosa che volete ricordare a memoria.</p>

<p>Vi serve un DNS.</p>

<p>Quindi voi tre compari che avete dato inizio alla cosa potete anche mettere in piedi tre server DNS autoritativi interni alla mesh.</p>

<p>Diciamo che decidiate di usare:</p>

<pre><code>.narnia
</code></pre>

<p><code>.narnia</code>, al momento, non è un TLD delegato nella root pubblica. Quindi, dentro la vostra rete, potete tranquillamente comportarvi come se foste gli dei del namespace.</p>

<p>Avete tre nodi Yggdrasil, diciamo con questi indirizzi IPv6:</p>

<pre><code>200:1111:2222:3333:4444:5555:6666:7777
200:8888:9999:aaaa:bbbb:cccc:dddd:eeee
200:1234:5678:9abc:def0:1234:5678:9abc
</code></pre>

<p>Su tutti e tre installate BIND.</p>

<p>Uno sarà il <strong>primary</strong> della zona <code>narnia</code>, gli altri due saranno <strong>secondary</strong>.</p>

<p>Non serve multicast: BIND possiede già il suo sistema per mantenere sincronizzate le zone, attraverso <code>NOTIFY</code> e trasferimenti <code>IXFR</code> o <code>AXFR</code>.</p>

<p>Sul primary, dentro la configurazione di <code>named</code>, avrete qualcosa del genere:</p>

<pre><code>zone &#34;narnia&#34; {
    type primary;
    file &#34;/etc/bind/db.narnia&#34;;

    allow-transfer {
        200:8888:9999:aaaa:bbbb:cccc:dddd:eeee;
        200:1234:5678:9abc:def0:1234:5678:9abc;
    };

    also-notify {
        200:8888:9999:aaaa:bbbb:cccc:dddd:eeee;
        200:1234:5678:9abc:def0:1234:5678:9abc;
    };
};
</code></pre>

<p>Sugli altri due:</p>

<pre><code>zone &#34;narnia&#34; {
    type secondary;

    primaries {
        200:1111:2222:3333:4444:5555:6666:7777;
    };

    file &#34;/var/cache/bind/db.narnia&#34;;
};
</code></pre>

<p>Quando cambiate la zona sul primary e aumentate il seriale del record SOA, il primary avvisa i secondary e questi si aggiornano automaticamente.</p>

<p>In pratica avete appena costruito il vostro piccolo DNS interno, che vive interamente dentro Yggdrasil e non ha bisogno né di registrar né del DNS pubblico.</p>

<p><br>
<hr/></p>

<p><br>
Domanda avanzata: per sincronizzare i DNS dovrei usare anche TSIG?</p>

<p>No. In questo caso sarebbe sostanzialmente ridondante.</p>

<p>Gli indirizzi Yggdrasil derivano già dall&#39;identità crittografica dei nodi, e le comunicazioni tra quei nodi sono già autenticate e cifrate dalla rete stessa. Se state permettendo i trasferimenti di zona soltanto verso gli indirizzi Yggdrasil dei vostri secondary, avete già un&#39;identità crittografica sottostante sulla quale basare l&#39;ACL.</p>

<p>Aggiungere TSIG significherebbe sovrapporre un secondo meccanismo di autenticazione a uno che, per questo specifico threat model, avete già.</p>

<p>Non aggiungereste sostanzialmente niente, se non altre chiavi da distribuire e gestire.</p>

<hr/>

<p><br>
<br>
<br>
A questo punto, sui client della vostra rete, dovete dire al resolver di usare i tre DNS della mesh.
In un sistema che usa direttamente /etc/resolv.conf, avrete qualcosa del genere:</p>

<p>nameserver 200:1111:2222:3333:4444:5555:6666:7777
nameserver 200:8888:9999:aaaa:bbbb:cccc:dddd:eeee
nameserver 200:1234:5678:9abc:def0:1234:5678:9abc</p>

<p>Da quel momento, quando chiedete per esempio:</p>

<p>git.narnia
chat.narnia
files.narnia</p>

<p>la risoluzione avviene usando i DNS che vivono dentro la vostra rete Yggdrasil.</p>

<p>Se non volete vivere solo dentro Narnia, allora dovete fare una cosa piu&#39; lunga:</p>

<p>Lasciare /etc/resolv.conf per i fatti suoi e se usate <code>systemd-resolved</code>, potete fare una cosa molto più elegante: dire al sistema che soltanto il dominio <code>.narnia</code> deve essere risolto attraverso i DNS Yggdrasil.</p>

<p>Supponiamo che l&#39;interfaccia si chiami <code>ygg0</code>:</p>

<pre><code>sudo resolvectl dns ygg0 \
  200:1111:2222:3333:4444:5555:6666:7777 \
  200:8888:9999:aaaa:bbbb:cccc:dddd:eeee \
  200:1234:5678:9abc:def0:1234:5678:9abc

sudo resolvectl domain ygg0 &#39;~narnia&#39;
</code></pre>

<p>Quel <code>~narnia</code> significa: <strong>tutte le query per <code>.narnia</code> devono passare da questa interfaccia</strong>.</p>

<p>Il resto del DNS continua invece a funzionare normalmente attraverso la vostra connessione Internet ordinaria.</p>

<p>Quindi:</p>

<pre><code>git.narnia
chat.narnia
files.narnia
</code></pre>

<p>andranno ai DNS della mesh, mentre:</p>

<pre><code>debian.org
wikipedia.org
kernel.org
</code></pre>

<p>continueranno a essere risolti attraverso i DNS normali.</p>

<p>Questo è esattamente lo split-DNS che ci serve.</p>

<p><br>
<hr/></p>

<p><br>
Una volta fatto questo, avete una rete , diciamo “organization-wise”.</p>

<p>Cosa potete fare? Potete decidere che esiste chat.narnia , e assegnarlo all&#39; IP di un server (magari un raspberry o un odroid da due lire, che fanno girare irc a casa di qualcuno), oppure decidere che avete
smtp.narnia , per inviare posta, o imap4.narnia per scaricarla.</p>

<p>Siete voi tre i regnanti di .narnia, e quindi potete, se vi fidate di qualcuno, assegnare quel che volete a chi volte.</p>

<p>Vi servono certificati? No. non davvero. Il traffico e&#39; gia&#39; criptato, gli indirizzi IPv6 che usate sono gia&#39; validati per via crittografica. Potete liberarvi di questa ridondanza.</p>

<p>Voi direte adesso:</p>

<blockquote><p>si, ma non e&#39; che milioni di persone adesso si mettono una debian e poi installano tutta la baracca: anche senza i DNS da gestire, per l&#39;utente medio e&#39; davvero troppo.</p></blockquote>

<p>Vero. Infatti io parlavo di una rete molto privata e molto “organization-wise”. Significa che se vi cacciano fuori dalla internet regolare, almeno gli amministratori dei vari sistemi
(forum, mailing list, eccetera) potrebbero pur sempre parlare sul forum.narnia o usare la posta sui server smtp/imap di Narnia. Almeno per decidere sul da farsi.</p>

<p>Potreste sempre continuare ad inviare messaggi sulla mailing list: se il sistema che fa da mailing list sta su una macchina che serve sia internet che yggdrasil, la posta in uscita dovrebbe venire consegnata
normalmente.</p>

<p>E quindi potreste avvisare i vostri utenti.</p>

<p><br>
<hr/></p>

<p><br>
Ma non esiste proprio un modo per far accedere il pubblico a <code>.narnia</code>?</p>

<p>Non del tutto.</p>

<p>Nel senso che un membro di <code>.narnia</code>, qualcuno di cui vi fidate, potrebbe mettere in piedi un <strong>proxy</strong> su una macchina che abbia contemporaneamente accesso a Internet normale e alla rete Yggdrasil.</p>

<p>Per esempio, uno Squid su un piccolo computer sempre acceso.</p>

<p>Quella macchina avrebbe quindi due gambe:</p>

<pre><code>Internet normale
       |
       |
     Squid
       |
       |
   Yggdrasil
       |
       |
    .narnia
</code></pre>

<p>Squid può essere configurato per usare resolver DNS specifici. Quindi il proxy può sapere come risolvere <code>forum.narnia</code>, <code>chat.narnia</code>, <code>files.narnia</code> e gli altri nomi interni, anche se il computer dell&#39;utente che lo sta usando non sa assolutamente nulla di Yggdrasil.
In pratica avete costruito un <strong>gateway applicativo</strong>.</p>

<p>L&#39;utente normale non entra realmente nella mesh e non possiede un indirizzo Yggdrasil. Dice semplicemente al proprio browser:</p>

<pre><code>usa questo proxy
</code></pre>

<p>e sarà il proxy, dall&#39;altra parte, a raggiungere i servizi <code>.narnia</code>.</p>

<p>Quindi uno Squid con un piede su Internet e uno su Yggdrasil può fare da ponte tra il pubblico e quella parte della vostra infrastruttura che avete deciso di rendere accessibile.
E lato utente la cosa può essere resa abbastanza semplice.
Esistono molte estensioni per browser che permettono di scegliere automaticamente un proxy in base al dominio richiesto. Per esempio <strong>FoxyProxy</strong>, <strong>SwitchyOmega</strong> o estensioni analoghe basate su regole per dominio.
In pratica potete dire:</p>

<pre><code>*.narnia  -&gt; usa il proxy
tutto il resto -&gt; connessione normale
</code></pre>

<p>Quindi l&#39;utente continua a navigare normalmente su Internet, ma quando apre:</p>

<pre><code>forum.narnia
files.narnia
wiki.narnia
</code></pre>

<p>il browser manda automaticamente quelle richieste attraverso il proxy Squid.
Non deve configurare Yggdrasil, non deve conoscere gli IPv6 della mesh e non deve modificare il proprio DNS di sistema.</p>

<p>Per lui <code>.narnia</code> diventa semplicemente un&#39;altra porzione del Web, raggiungibile attraverso quel proxy.</p>

<p><br>
<hr/></p>

<p>Se volete, potete anche distribuire direttamente un file <code>.pac</code>, cioè un <strong>Proxy Auto-Configuration file</strong>, evitando persino di chiedere agli utenti di installare un&#39;estensione.</p>

<p>Per esempio:</p>

<pre><code>function FindProxyForURL(url, host) {
    if (host == &#34;narnia&#34; || shExpMatch(host, &#34;*.narnia&#34;)) {
        return &#34;PROXY 11.12.13.14:3128&#34;;
    }

    return &#34;DIRECT&#34;;
}
</code></pre>

<p>La regola significa semplicemente:</p>

<pre><code>*.narnia  -&gt; proxy 11.12.13.14:3128
tutto il resto -&gt; Internet normale
</code></pre>

<p>E ho usato direttamente l&#39;indirizzo IP del proxy per una ragione abbastanza ovvia: se stiamo costruendo tutto questo proprio per sopravvivere alla perdita di domini e registrar, sarebbe piuttosto stupido distribuire un PAC contenente:</p>

<pre><code>PROXY proxy.qualcosa.org:3128
</code></pre>

<p>e ritrovarci nuovamente dipendenti dal DNS pubblico quando gli americani ti droppano qualcosa.org</p>

<p>Il file <code>.pac</code> può essere distribuito agli utenti e configurato nei browser o nel sistema operativo come configurazione automatica del proxy.
A quel punto l&#39;utente digita:</p>

<pre><code>https://forum.narnia/
</code></pre>

<p>e il browser manda quella connessione a Squid.</p>

<p>Squid, che conosce i DNS di <code>.narnia</code> e possiede anche un&#39;interfaccia Yggdrasil, risolve <code>forum.narnia</code> e raggiunge il server attraverso la mesh.</p>

<p>Per tutto il resto, il browser continua tranquillamente a usare Internet come prima.</p>

<p><br>
<hr/></p>

<p><br>
Direte: e&#39; sempre troppo complicato per un utente bestia.</p>

<p>Vero. Ma dovete capire una cosa.</p>

<p>Se volete una cosa sicura e robusta, l&#39;utente bestia e&#39; esattamente la parte piu&#39; pericolosa. Tutti gli attacchi sul layer 8 passano, infatti, dall&#39;utente bestia.</p>

<p>L&#39;utente bestia e&#39; quello che clicca sui link di phishing. L&#39;utente bestia e&#39; quello che da&#39; le credenziali del suo home banking al primo che telefona. L&#39;utente bestia e&#39; quello che da&#39; i suoi risparmi da gestire a Wanna Marchi.</p>

<p>L&#39;utente bestia e&#39; quello che risponde al Principe Nigeriano cui serve solo il vostro conto corrente per poggarci 800.000 euro.</p>

<p>L&#39;utente bestia e&#39; pericoloso. Quindi, se non riesce nemmeno a configurare un proxy nel browser, teletelo fuori.</p>

<p>Questa rete privata e&#39; per gli amministratori della rete mesh, per chi vuole aggiungervi i servizi , per chi vuole gestire dei servizi che stanno dentro.</p>

<p>Il pubblico li leggera&#39; tramite internet, ma gli amministratori, in caso di attacco, potranno pur sempre incontrarsi telematicamente e parlare.
E decidere come reagire.</p>

<p><br></p>

<div style="text-align: left;">
  Uriel Fanelli<br>
  <br>
  --<br>
  Written using Blogfrei:
  <a href="https://git.keinpfusch.net/loweel/blogfrei">https://git.keinpfusch.net/loweel/blogfrei</a><br>
  Fedi: <a href="https://keinpfusch.net/@/uriel@bbs.keinpfusch.net" class="u-url mention">@<span>uriel@bbs.keinpfusch.net</span></a><br>
  XMPP: uriel@keinpfusch.net<br>
  vecchio blog:
  <a href="https://blog.keinpfusch.net">https://blog.keinpfusch.net</a><br>
  email:
  <a href="mailto:blog@keinpfusch.net">blog@keinpfusch.net</a><br>
</div>
]]></content:encoded>
      <guid>https://keinpfusch.net/e-possibile-farsi-una-darknet-privata</guid>
      <pubDate>Sun, 30 Aug 2026 13:33:35 +0000</pubDate>
    </item>
    <item>
      <title>Sul discorso degli Autistici/Inventati</title>
      <link>https://keinpfusch.net/sul-discorso-degli-autistici-inventati</link>
      <description>&lt;![CDATA[Si comincia a parlare della vicenda di Autistici/Inventati, ma vedo che esiste ancora un certo pudore nello spiegare quale sia, secondo me, la parte davvero allarmante della storia.&#xA;Che gli Stati Uniti abbiano una certa tendenza al manicheismo politico lo sappiamo da sempre; e almeno dai tempi del maccartismo sappiamo anche quanto facilmente possano trasformare una categoria politica o ideologica in una categoria di sicurezza nazionale, per poi esercitare l&#39;autorità con una prepotenza notevole non appena esista una cornice legale che glielo consenta.&#xA;Quindi, di per sé, il fatto che il governo statunitense abbia designato Autistici/Inventati come “Specially Designated Global Terrorist”, applicando le sanzioni previste dall&#39;Executive Order 13224, non è nemmeno la parte che dovrebbe stupire di più. Il governo americano sostiene che il collettivo abbia fornito infrastrutture e servizi tecnologici a organizzazioni considerate terroristiche o estremiste dagli Stati Uniti; Autistici/Inventati respinge completamente queste accuse.&#xA;&#xA;!--more--&#xA;&#xA;In Italia, per quanto risulta pubblicamente, Autistici/Inventati non è invece classificato come organizzazione terroristica. E non stiamo parlando di un paese privo di strumenti in materia: l&#39;Italia possiede una legislazione antiterrorismo stratificata e particolarmente sviluppata, costruita in buona parte durante e dopo gli anni di piombo, quando il terrorismo politico non era precisamente un&#39;ipotesi accademica.&#xA;&#xA;Insomma: se le autorità italiane, che sul terrorismo interno hanno accumulato una discreta esperienza storica, non trattano Autistici/Inventati come un&#39;organizzazione terroristica, mentre Washington decide di classificarla come tale perché avrebbe fornito servizi informatici anche a soggetti che gli USA considerano terroristi, una certa differenza di metro appare quantomeno evidente.&#xA;&#xA;Ma, appunto, questo non è ancora il problema interessante.&#xA;&#xA;Negli USA, a volte, sembra funzionare così: o sei un tipo simpatico, oppure da qualche parte esiste già una casella nella quale possono scrivere “pericoloso terrorista”.&#xA;&#xA;br&#xA;&#xA;br&#xA;Il punto, però, è un altro.&#xA;Questo gruppo gestiva — e gestisce — tra le altre cose un sistema di blogging distribuito sotto il dominio noblogs.org, oltre naturalmente ai servizi legati ad autistici.org.&#xA;&#xA;E qui entra in gioco una parte dell&#39;infrastruttura di Internet della quale normalmente nessuno si occupa, perché finché funziona sembra quasi una legge naturale.&#xA;&#xA;I domini .org, infatti, non sono semplicemente delle stringhe che galleggiano magicamente su Internet. Come tutti i generic Top Level Domain, fanno parte di una struttura gerarchica regolata da ICANN. Ma il registro vero e proprio del .org, quello che materialmente mantiene la zona e decide quali domini esistano dentro di essa, è gestito da Public Interest Registry, o PIR.&#xA;&#xA;E PIR è un&#39;organizzazione statunitense.&#xA;&#xA;Questo dettaglio, che normalmente interessa soltanto amministratori di sistema particolarmente annoiati, improvvisamente diventa molto interessante.&#xA;&#xA;Perché il 28 agosto autistici.org è stato messo in stato serverHold nel registro .org. Non è stato spento il server. Non è stata sequestrata una macchina in Italia. Non è stato ordinato a un provider italiano di staccare una spina. I server continuavano ad esistere.&#xA;&#xA;È stato tolto il nome.&#xA;&#xA;serverHold significa, in pratica, che il registry smette di pubblicare quel dominio nella zona .org. Da quel momento il normale DNS mondiale non sa più come raggiungerlo. Potete avere i vostri server in Italia, Germania, Svizzera, Islanda o dentro una grotta del Carso: se qualcuno che controlla il livello superiore della gerarchia cancella il collegamento fra il vostro nome e Internet, per quasi tutti gli utenti siete spariti.&#xA;&#xA;Ed è precisamente questo il punto interessante.&#xA;&#xA;Il registrar di autistici.org era Gandi, cioè un&#39;azienda francese. Ma sopra Gandi c&#39;è il registry del .org, Public Interest Registry, che si trova negli Stati Uniti e opera all&#39;interno del sistema contrattuale di ICANN. Il record pubblico del dominio mostra infatti uno stato imposto lato server, non semplicemente dal client o dal proprietario del dominio.&#xA;&#xA;Quindi abbiamo un&#39;organizzazione italiana, con servizi e utenti prevalentemente europei, sottoposta alla legge italiana, che per quanto risulta pubblicamente in Italia non è accusata di terrorismo né condannata per terrorismo, e alla quale tuttavia può essere sottratto uno dei principali strumenti con cui esiste su Internet perché una parte fondamentale dell&#39;infrastruttura mondiale dei nomi di dominio ricade materialmente sotto la giurisdizione statunitense.&#xA;&#xA;Non serve mandare l&#39;FBI a Milano.&#xA;&#xA;Non serve sequestrare i server.&#xA;&#xA;Non serve ottenere una sentenza da un tribunale italiano.&#xA;&#xA;È sufficiente agire abbastanza in alto nella gerarchia del DNS.&#xA;&#xA;Ed ecco la parte della storia sulla quale, secondo me, bisognerebbe cominciare a perdere un po&#39; di più il sonno.&#xA;&#xA;br&#xA;&#xA;br&#xA;I francesi, in questo caso, non sembrano avere colpe particolari perché Gandi era soltanto il registrar, cioè l&#39;intermediario presso cui il dominio era stato registrato e attraverso il quale il titolare ne gestiva gli aspetti amministrativi.&#xA;&#xA;Il potere effettivo di togliere un .org dalla zona DNS, però, non appartiene al registrar: appartiene al registry del .org, Public Interest Registry, che è statunitense.&#xA;&#xA;Questo significa che le autorità USA potevano intervenire a monte di Gandi, direttamente sul soggetto che controlla il registro del dominio di primo livello. Non serviva quindi ottenere un ordine da un tribunale francese, né chiedere alle autorità francesi di sequestrare qualcosa, né costringere Gandi a collaborare.&#xA;&#xA;Dal punto di vista tecnico e giuridico, la Francia poteva semplicemente essere scavalcata.&#xA;&#xA;Ed è proprio questo il punto: avere un registrar europeo non protegge necessariamente da un intervento statunitense, se il dominio di primo livello che avete scelto è amministrato da un registry sottoposto alla giurisdizione degli Stati Uniti.&#xA;&#xA;br&#xA;&#xA;Ecco alcuni esempi di rilievo. Ci ho messo .uno perche&#39; sui social avevo risposto che sembrava sotto influenza diretta di ICANN, mentre investigando meglio&#xA;ho visto he l&#39;influenza e&#39; limitata. Possono essere soggetti a forte pressione, si, ma come agiranno dipende dalla pressione e da come la pensano loro di Radix.&#xA;&#xA;| TLD | Registry / operatore | Giurisdizione / sede rilevante | Esposizione alla giurisdizione USA |&#xA;| --- | -------------------- | ------------------------------ | ---------------------------------- |&#xA;| .org | Public Interest Registry (PIR) | USA, Virginia | Totale |&#xA;| .com | VeriSign Global Registry Services | USA, Virginia | Totale |&#xA;| .net | VeriSign Global Registry Services | USA, Virginia | Totale |&#xA;| .name | VeriSign | USA, Virginia | Totale |&#xA;| .xyz | XYZ.COM LLC | USA, Nevada | Totale |&#xA;| .blog | Knock Knock WHOIS There LLC | USA, California | Totale |&#xA;| .app | Charleston Road Registry / Google | USA, California | Totale |&#xA;| .dev | Charleston Road Registry / Google | USA, California | Totale |&#xA;| .info | Identity Digital | Forte presenza societaria e operativa negli USA | Elevata |&#xA;| .pro | Identity Digital | Forte presenza societaria e operativa negli USA | Elevata |&#xA;| .mobi | Identity Digital | Forte presenza societaria e operativa negli USA | Elevata |&#xA;| .uno | Radix Technologies | Isole Cayman | Limitata |&#xA;| .online | Radix Technologies | Isole Cayman | Limitata |&#xA;&#xA;Legenda:&#xA;&#xA;Totale: il registry è direttamente soggetto alla giurisdizione statunitense.&#xA;Elevata: il registry o il gruppo societario ha una presenza statunitense significativa, tale da creare una forte esposizione legale o operativa.&#xA;Limitata: il registry è formalmente soggetto a una giurisdizione non statunitense, anche se può avere rapporti contrattuali o infrastrutturali con soggetti USA.&#xA;Scarsa: registry e struttura operativa sono principalmente fuori dalla giurisdizione statunitense, con pochi punti diretti di pressione legale dagli USA.&#xA;&#xA;Il fatto che un TLD faccia parte del sistema ICANN non significa automaticamente che il suo registry sia sotto giurisdizione statunitense. Il punto decisivo è quale soggetto gestisce materialmente il registry e a quale ordinamento giuridico è sottoposto.&#xA;&#xA;br&#xA;Visto che si parla di sovranita&#39; digitale europea, la domanda e&#39; &#34;ommioddio, sono sotto il tallone americano&#34;. Per esempio, sono coscente che il .net sia sotto il dominio americano, cosi&#39; come&#xA;sono cosciente di tutto il resto dello stack da cui dipendo. D&#39;altro canto, tutto cio&#39; che gestisco e&#39; generato da file di configrazione dichiarativi, quindi mi basterebbe cambiare dominio, andare nel folder dei docker compose,&#xA;e poi dire&#xA;&#xA;perl -pi -e &#39;s/keinpfusch\.net/nuovodominio.eu/g&#39; .yml&#xA;&#xA;diverso e&#39; il problema se siete un ente come autistici/inventati e offrite cose al pubblico, tipo mailing list, servizi di blog, eccetera&#xA;&#xA;Se siete una simile organizzazione, dove di conviene aprire il vostro dominio, la prossima volta?&#xA;&#xA;Partiamo da quelli meno influenzabili, di solito europei:&#xA;&#xA;.de — DENIC, Germania&#xA;Giuridico: diritto tedesco; registry fuori dalla giurisdizione diretta USA.&#xA;Tecnico: DNSSEC; infrastruttura Anycast molto estesa e fortemente ridondata.&#xA;Valutazione: ECCELLENTE.&#xA;.eu — EURid, Unione Europea / Belgio&#xA;Giuridico: regolato dal diritto UE.&#xA;Tecnico: DNSSEC; infrastruttura DNS distribuita e ridondata; registry grande e maturo.&#xA;Valutazione: ECCELLENTE.&#xA;.it — Registro .it / IIT-CNR, Italia&#xA;Giuridico: diritto italiano/europeo; registry pubblico nazionale.&#xA;Tecnico: DNSSEC; infrastruttura DNS ridondata; registry storico e maturo.&#xA;Valutazione: ECCELLENTE.&#xA;.ch — SWITCH, Svizzera&#xA;Giuridico: diritto svizzero; fuori da USA e UE.&#xA;Tecnico: DNSSEC; infrastruttura DNS professionale, distribuita e molto resiliente.&#xA;Valutazione: ECCELLENTE.&#xA;.is — ISNIC, Islanda&#xA;Giuridico: diritto islandese.&#xA;Tecnico: DNSSEC; registry piccolo ma storico e tecnicamente solido.&#xA;Valutazione: MOLTO BUONO.&#xA;.se — Internetstiftelsen, Svezia&#xA;Giuridico: diritto svedese.&#xA;Tecnico: DNSSEC; registry molto maturo; infrastruttura DNS robusta e distribuita.&#xA;Valutazione: ECCELLENTE.&#xA;.nl — SIDN, Paesi Bassi&#xA;Giuridico: diritto olandese.&#xA;Tecnico: DNSSEC; registry di grandi dimensioni; infrastruttura molto ridondata.&#xA;Valutazione: ECCELLENTE.&#xA;.at — nic.at, Austria&#xA;Giuridico: diritto austriaco.&#xA;Tecnico: DNSSEC; nameserver globalmente distribuiti e ridondanti.&#xA;Valutazione: ECCELLENTE.&#xA;.fi — Traficom, Finlandia&#xA;Giuridico: diritto finlandese.&#xA;Tecnico: DNSSEC; infrastruttura stabile e requisiti tecnici rigorosi.&#xA;Valutazione: MOLTO BUONO.&#xA;.no — Norid, Norvegia&#xA;Giuridico: diritto norvegese.&#xA;Tecnico: DNSSEC; mix Anycast/Unicast; server distribuiti geograficamente e su reti diverse.&#xA;Valutazione: ECCELLENTE.&#xA;Nota: registrazione più restrittiva rispetto ad altri ccTLD.&#xA;.li — SWITCH, Liechtenstein&#xA;Giuridico: diritto del Liechtenstein.&#xA;Tecnico: DNSSEC; infrastruttura professionale collegata all’ecosistema SWITCH.&#xA;Valutazione: ECCELLENTE.&#xA;.dk — Punktum dk, Danimarca&#xA;Giuridico: diritto danese.&#xA;Tecnico: DNSSEC; infrastruttura DNS stabile e ridondata.&#xA;Valutazione: MOLTO BUONO.&#xA;.be — DNS Belgium, Belgio&#xA;Giuridico: diritto belga/europeo.&#xA;Tecnico: DNSSEC; infrastruttura DNS robusta e ben gestita.&#xA;Valutazione: MOLTO BUONO.&#xA;.fr — AFNIC, Francia&#xA;Giuridico: diritto francese/europeo.&#xA;Tecnico: DNSSEC; infrastruttura DNS molto matura e distribuita.&#xA;Valutazione: ECCELLENTE.&#xA;.es — Red.es, Spagna&#xA;Giuridico: diritto spagnolo/europeo.&#xA;Tecnico: DNSSEC; infrastruttura nazionale solida.&#xA;Valutazione: MOLTO BUONO.&#xA;.pt — .PT, Portogallo&#xA;Giuridico: diritto portoghese/europeo.&#xA;Tecnico: DNSSEC; infrastruttura DNS moderna e ridondata.&#xA;Valutazione: MOLTO BUONO.&#xA;.cz — CZ.NIC, Repubblica Ceca&#xA;Giuridico: diritto ceco/europeo.&#xA;Tecnico: DNSSEC; registry tecnicamente molto avanzato; forte cultura DNS e sicurezza.&#xA;Valutazione: ECCELLENTE.&#xA;.sk — SK-NIC, Slovacchia&#xA;Giuridico: diritto slovacco/europeo.&#xA;Tecnico: DNSSEC; infrastruttura DNS stabile.&#xA;Valutazione: BUONO.&#xA;.pl — NASK, Polonia&#xA;Giuridico: diritto polacco/europeo.&#xA;Tecnico: DNSSEC; registry nazionale maturo e infrastruttura robusta.&#xA;Valutazione: ECCELLENTE.&#xA;.ee — Estonian Internet Foundation, Estonia&#xA;Giuridico: diritto estone/europeo.&#xA;Tecnico: DNSSEC; infrastruttura moderna e orientata alla resilienza.&#xA;Valutazione: MOLTO BUONO.&#xA;.lv — NIC.LV, Lettonia&#xA;Giuridico: diritto lettone/europeo.&#xA;Tecnico: DNSSEC; infrastruttura stabile.&#xA;Valutazione: BUONO.&#xA;.lt — DOMREG / Kaunas University of Technology, Lituania&#xA;Giuridico: diritto lituano/europeo.&#xA;Tecnico: DNSSEC; registry accademico/nazionale maturo.&#xA;Valutazione: MOLTO BUONO.&#xA;.ie — .IE, Irlanda&#xA;Giuridico: diritto irlandese/europeo.&#xA;Tecnico: DNSSEC; infrastruttura DNS professionale e ridondata.&#xA;Valutazione: MOLTO BUONO.&#xA;.gr — FORTH / Grecia&#xA;Giuridico: diritto greco/europeo.&#xA;Tecnico: DNSSEC; infrastruttura nazionale consolidata.&#xA;Valutazione: BUONO.&#xA;.hr — CARNET, Croazia&#xA;Giuridico: diritto croato/europeo.&#xA;Tecnico: DNSSEC; infrastruttura nazionale stabile.&#xA;Valutazione: BUONO.&#xA;.si — ARNES, Slovenia&#xA;Giuridico: diritto sloveno/europeo.&#xA;Tecnico: DNSSEC; registry accademico/nazionale affidabile.&#xA;Valutazione: MOLTO BUONO.&#xA;.ro — RoTLD, Romania&#xA;Giuridico: diritto rumeno/europeo.&#xA;Tecnico: DNSSEC; infrastruttura nazionale matura.&#xA;Valutazione: BUONO.&#xA;.bg — Register.BG, Bulgaria&#xA;Giuridico: diritto bulgaro/europeo.&#xA;Tecnico: DNSSEC; infrastruttura DNS nazionale.&#xA;Valutazione: BUONO.&#xA;.lu — RESTENA, Lussemburgo&#xA;Giuridico: diritto lussemburghese/europeo.&#xA;Tecnico: DNSSEC; infrastruttura solida e professionale.&#xA;Valutazione: MOLTO BUONO.\&#xA;&#xA;Io, personalmente, andrei con .eu.&#xA;&#xA;Non perché sia magicamente immune da pressioni esterne, ma perché cambia il livello dello scontro. Se gli Stati Uniti facessero quello che fanno spesso — pressioni diplomatiche, minacce, richieste di collaborazione — non starebbero più parlando con una singola azienda o con un singolo paese.&#xA;&#xA;Andrebbero a provocare direttamente l&#39;Unione Europea, proprio sul terreno della sovranità digitale, cioè su una politica che Bruxelles sostiene ormai apertamente.&#xA;&#xA;Un singolo paese europeo può anche piegarsi. L&#39;intera UE avrebbe molti più problemi politici a farlo, perché significherebbe ammettere che tutta la retorica sulla sovranità digitale vale soltanto finché Washington non alza il telefono.&#xA;&#xA;Sapete bene che io non parteggio normalmente per gruppi come Autistici/Inventati. Ma qui è irrilevante: il problema riguarda tutti.&#xA;&#xA;Riguarda chi gestisce servizi Internet, chi possiede domini, e soprattutto riguarda Internet stessa come infrastruttura globale.&#xA;&#xA;Ho parlato spesso di splinternet. Forse è arrivato il momento di smettere di chiedersi se accadrà, e cominciare a chiedersi quanto sia ormai inevitabile.&#xA;&#xA;div align=&#34;left&#34; style=&#34;text-align: left;&#34;&#xD;&#xA;  Uriel Fanellibr&#xD;&#xA;  br&#xD;&#xA;  --br&#xD;&#xA;  Written using Blogfrei:&#xD;&#xA;  a href=&#34;https://git.keinpfusch.net/loweel/blogfrei&#34;https://git.keinpfusch.net/loweel/blogfrei/abr&#xD;&#xA;  Fedi: @uriel@bbs.keinpfusch.netbr&#xD;&#xA;  XMPP: uriel@keinpfusch.netbr&#xD;&#xA;  vecchio blog:&#xD;&#xA;  a href=&#34;https://blog.keinpfusch.net&#34;https://blog.keinpfusch.net/abr&#xD;&#xA;  email:&#xD;&#xA;  a href=&#34;mailto:blog@keinpfusch.net&#34;blog@keinpfusch.net/abr&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>Si comincia a parlare della vicenda di <strong>Autistici/Inventati</strong>, ma vedo che esiste ancora un certo pudore nello spiegare quale sia, secondo me, la parte davvero allarmante della storia.
Che gli Stati Uniti abbiano una certa tendenza al manicheismo politico lo sappiamo da sempre; e almeno dai tempi del maccartismo sappiamo anche quanto facilmente possano trasformare una categoria politica o ideologica in una categoria di sicurezza nazionale, per poi esercitare l&#39;autorità con una prepotenza notevole non appena esista una cornice legale che glielo consenta.
Quindi, di per sé, il fatto che il governo statunitense abbia designato Autistici/Inventati come <strong>“Specially Designated Global Terrorist”</strong>, applicando le sanzioni previste dall&#39;Executive Order 13224, non è nemmeno la parte che dovrebbe stupire di più. Il governo americano sostiene che il collettivo abbia fornito infrastrutture e servizi tecnologici a organizzazioni considerate terroristiche o estremiste dagli Stati Uniti; Autistici/Inventati respinge completamente queste accuse.</p>

<p>In Italia, per quanto risulta pubblicamente, Autistici/Inventati non è invece classificato come organizzazione terroristica. E non stiamo parlando di un paese privo di strumenti in materia: l&#39;Italia possiede una legislazione antiterrorismo stratificata e particolarmente sviluppata, costruita in buona parte durante e dopo gli <strong>anni di piombo</strong>, quando il terrorismo politico non era precisamente un&#39;ipotesi accademica.</p>

<p>Insomma: se le autorità italiane, che sul terrorismo interno hanno accumulato una discreta esperienza storica, non trattano Autistici/Inventati come un&#39;organizzazione terroristica, mentre Washington decide di classificarla come tale perché avrebbe fornito servizi informatici anche a soggetti che gli USA considerano terroristi, una certa differenza di metro appare quantomeno evidente.</p>

<p>Ma, appunto, questo non è ancora il problema interessante.</p>

<p>Negli USA, a volte, sembra funzionare così: o sei un tipo simpatico, oppure da qualche parte esiste già una casella nella quale possono scrivere <strong>“pericoloso terrorista”</strong>.</p>

<p><br>
<hr/></p>

<p><br>
Il punto, però, è un altro.
Questo gruppo gestiva — e gestisce — tra le altre cose un sistema di blogging distribuito sotto il dominio <strong>noblogs.org</strong>, oltre naturalmente ai servizi legati ad <strong>autistici.org</strong>.</p>

<p>E qui entra in gioco una parte dell&#39;infrastruttura di Internet della quale normalmente nessuno si occupa, perché finché funziona sembra quasi una legge naturale.</p>

<p>I domini <code>.org</code>, infatti, non sono semplicemente delle stringhe che galleggiano magicamente su Internet. Come tutti i generic Top Level Domain, fanno parte di una struttura gerarchica regolata da ICANN. Ma il registro vero e proprio del <code>.org</code>, quello che materialmente mantiene la zona e decide quali domini esistano dentro di essa, è gestito da <strong>Public Interest Registry</strong>, o PIR.</p>

<p>E PIR è un&#39;organizzazione statunitense.</p>

<p>Questo dettaglio, che normalmente interessa soltanto amministratori di sistema particolarmente annoiati, improvvisamente diventa molto interessante.</p>

<p>Perché il 28 agosto <strong>autistici.org è stato messo in stato <code>serverHold</code> nel registro <code>.org</code></strong>. Non è stato spento il server. Non è stata sequestrata una macchina in Italia. Non è stato ordinato a un provider italiano di staccare una spina. I server continuavano ad esistere.</p>

<p>È stato tolto il <strong>nome</strong>.</p>

<p><code>serverHold</code> significa, in pratica, che il registry smette di pubblicare quel dominio nella zona <code>.org</code>. Da quel momento il normale DNS mondiale non sa più come raggiungerlo. Potete avere i vostri server in Italia, Germania, Svizzera, Islanda o dentro una grotta del Carso: se qualcuno che controlla il livello superiore della gerarchia cancella il collegamento fra il vostro nome e Internet, per quasi tutti gli utenti siete spariti.</p>

<p>Ed è precisamente questo il punto interessante.</p>

<p>Il registrar di <code>autistici.org</code> era <strong>Gandi</strong>, cioè un&#39;azienda francese. Ma sopra Gandi c&#39;è il registry del <code>.org</code>, Public Interest Registry, che si trova negli Stati Uniti e opera all&#39;interno del sistema contrattuale di ICANN. Il record pubblico del dominio mostra infatti uno stato imposto lato server, non semplicemente dal client o dal proprietario del dominio.</p>

<p>Quindi abbiamo un&#39;organizzazione italiana, con servizi e utenti prevalentemente europei, sottoposta alla legge italiana, che per quanto risulta pubblicamente <strong>in Italia non è accusata di terrorismo né condannata per terrorismo</strong>, e alla quale tuttavia può essere sottratto uno dei principali strumenti con cui esiste su Internet perché una parte fondamentale dell&#39;infrastruttura mondiale dei nomi di dominio ricade materialmente sotto la giurisdizione statunitense.</p>

<p>Non serve mandare l&#39;FBI a Milano.</p>

<p>Non serve sequestrare i server.</p>

<p>Non serve ottenere una sentenza da un tribunale italiano.</p>

<p>È sufficiente agire abbastanza in alto nella gerarchia del DNS.</p>

<p>Ed ecco la parte della storia sulla quale, secondo me, bisognerebbe cominciare a perdere un po&#39; di più il sonno.</p>

<p><br>
<hr/></p>

<p><br>
I francesi, in questo caso, non sembrano avere colpe particolari perché <strong>Gandi era soltanto il registrar</strong>, cioè l&#39;intermediario presso cui il dominio era stato registrato e attraverso il quale il titolare ne gestiva gli aspetti amministrativi.</p>

<p>Il potere effettivo di togliere un <code>.org</code> dalla zona DNS, però, non appartiene al registrar: appartiene al <strong>registry del <code>.org</code>, Public Interest Registry</strong>, che è statunitense.</p>

<p>Questo significa che le autorità USA potevano intervenire <strong>a monte di Gandi</strong>, direttamente sul soggetto che controlla il registro del dominio di primo livello. Non serviva quindi ottenere un ordine da un tribunale francese, né chiedere alle autorità francesi di sequestrare qualcosa, né costringere Gandi a collaborare.</p>

<p>Dal punto di vista tecnico e giuridico, la Francia poteva semplicemente essere scavalcata.</p>

<p>Ed è proprio questo il punto: avere un registrar europeo non protegge necessariamente da un intervento statunitense, se il dominio di primo livello che avete scelto è amministrato da un registry sottoposto alla giurisdizione degli Stati Uniti.</p>

<p><br>
<hr/></p>

<p>Ecco alcuni esempi di rilievo. Ci ho messo .uno perche&#39; sui social avevo risposto che sembrava sotto influenza diretta di ICANN, mentre investigando meglio
ho visto he l&#39;influenza e&#39; limitata. Possono essere soggetti a forte pressione, si, ma come agiranno dipende dalla pressione e da come la pensano loro di Radix.</p>

<table>
<thead>
<tr>
<th>TLD</th>
<th>Registry / operatore</th>
<th>Giurisdizione / sede rilevante</th>
<th>Esposizione alla giurisdizione USA</th>
</tr>
</thead>

<tbody>
<tr>
<td><code>.org</code></td>
<td>Public Interest Registry (PIR)</td>
<td>USA, Virginia</td>
<td><strong>Totale</strong></td>
</tr>

<tr>
<td><code>.com</code></td>
<td>VeriSign Global Registry Services</td>
<td>USA, Virginia</td>
<td><strong>Totale</strong></td>
</tr>

<tr>
<td><code>.net</code></td>
<td>VeriSign Global Registry Services</td>
<td>USA, Virginia</td>
<td><strong>Totale</strong></td>
</tr>

<tr>
<td><code>.name</code></td>
<td>VeriSign</td>
<td>USA, Virginia</td>
<td><strong>Totale</strong></td>
</tr>

<tr>
<td><code>.xyz</code></td>
<td>XYZ.COM LLC</td>
<td>USA, Nevada</td>
<td><strong>Totale</strong></td>
</tr>

<tr>
<td><code>.blog</code></td>
<td>Knock Knock WHOIS There LLC</td>
<td>USA, California</td>
<td><strong>Totale</strong></td>
</tr>

<tr>
<td><code>.app</code></td>
<td>Charleston Road Registry / Google</td>
<td>USA, California</td>
<td><strong>Totale</strong></td>
</tr>

<tr>
<td><code>.dev</code></td>
<td>Charleston Road Registry / Google</td>
<td>USA, California</td>
<td><strong>Totale</strong></td>
</tr>

<tr>
<td><code>.info</code></td>
<td>Identity Digital</td>
<td>Forte presenza societaria e operativa negli USA</td>
<td><strong>Elevata</strong></td>
</tr>

<tr>
<td><code>.pro</code></td>
<td>Identity Digital</td>
<td>Forte presenza societaria e operativa negli USA</td>
<td><strong>Elevata</strong></td>
</tr>

<tr>
<td><code>.mobi</code></td>
<td>Identity Digital</td>
<td>Forte presenza societaria e operativa negli USA</td>
<td><strong>Elevata</strong></td>
</tr>

<tr>
<td><code>.uno</code></td>
<td>Radix Technologies</td>
<td>Isole Cayman</td>
<td><strong>Limitata</strong></td>
</tr>

<tr>
<td><code>.online</code></td>
<td>Radix Technologies</td>
<td>Isole Cayman</td>
<td><strong>Limitata</strong></td>
</tr>
</tbody>
</table>

<p><strong>Legenda:</strong></p>
<ul><li><strong>Totale</strong>: il registry è direttamente soggetto alla giurisdizione statunitense.</li>
<li><strong>Elevata</strong>: il registry o il gruppo societario ha una presenza statunitense significativa, tale da creare una forte esposizione legale o operativa.</li>
<li><strong>Limitata</strong>: il registry è formalmente soggetto a una giurisdizione non statunitense, anche se può avere rapporti contrattuali o infrastrutturali con soggetti USA.</li>
<li><strong>Scarsa</strong>: registry e struttura operativa sono principalmente fuori dalla giurisdizione statunitense, con pochi punti diretti di pressione legale dagli USA.</li></ul>

<p>Il fatto che un TLD faccia parte del sistema ICANN non significa automaticamente che il suo registry sia sotto giurisdizione statunitense. Il punto decisivo è <strong>quale soggetto gestisce materialmente il registry e a quale ordinamento giuridico è sottoposto</strong>.</p>

<hr/>

<p><br>
Visto che si parla di sovranita&#39; digitale europea, la domanda e&#39; “ommioddio, sono sotto il tallone americano”. Per esempio, sono coscente che il .net sia sotto il dominio americano, cosi&#39; come
sono cosciente di tutto il resto dello stack da cui dipendo. D&#39;altro canto, tutto cio&#39; che gestisco e&#39; generato da file di configrazione dichiarativi, quindi mi basterebbe cambiare dominio, andare nel folder dei docker compose,
e poi dire</p>

<pre><code>
perl -pi -e &#39;s/keinpfusch\.net/nuovodominio.eu/g&#39; *.yml
</code></pre>

<p>diverso e&#39; il problema se siete un ente come autistici/inventati e offrite cose al pubblico, tipo mailing list, servizi di blog, eccetera</p>

<p>Se siete una simile organizzazione, dove di conviene aprire il vostro dominio, la prossima volta?</p>

<p>Partiamo da quelli meno influenzabili, di solito europei:</p>
<ul><li><strong>.de — DENIC, Germania</strong></li>
<li>Giuridico: diritto tedesco; registry fuori dalla giurisdizione diretta USA.</li>
<li>Tecnico: DNSSEC; infrastruttura Anycast molto estesa e fortemente ridondata.</li>
<li>Valutazione: ECCELLENTE.</li>
<li></li>
<li><strong>.eu — EURid, Unione Europea / Belgio</strong></li>
<li>Giuridico: regolato dal diritto UE.</li>
<li>Tecnico: DNSSEC; infrastruttura DNS distribuita e ridondata; registry grande e maturo.</li>
<li>Valutazione: ECCELLENTE.</li>
<li></li>
<li><strong>.it — Registro .it / IIT-CNR, Italia</strong></li>
<li>Giuridico: diritto italiano/europeo; registry pubblico nazionale.</li>
<li>Tecnico: DNSSEC; infrastruttura DNS ridondata; registry storico e maturo.</li>
<li>Valutazione: ECCELLENTE.</li>
<li></li>
<li><strong>.ch — SWITCH, Svizzera</strong></li>
<li>Giuridico: diritto svizzero; fuori da USA e UE.</li>
<li>Tecnico: DNSSEC; infrastruttura DNS professionale, distribuita e molto resiliente.</li>
<li>Valutazione: ECCELLENTE.</li>
<li></li>
<li><strong>.is — ISNIC, Islanda</strong></li>
<li>Giuridico: diritto islandese.</li>
<li>Tecnico: DNSSEC; registry piccolo ma storico e tecnicamente solido.</li>
<li>Valutazione: MOLTO BUONO.</li>
<li></li>
<li><strong>.se — Internetstiftelsen, Svezia</strong></li>
<li>Giuridico: diritto svedese.</li>
<li>Tecnico: DNSSEC; registry molto maturo; infrastruttura DNS robusta e distribuita.</li>
<li>Valutazione: ECCELLENTE.</li>
<li></li>
<li><strong>.nl — SIDN, Paesi Bassi</strong></li>
<li>Giuridico: diritto olandese.</li>
<li>Tecnico: DNSSEC; registry di grandi dimensioni; infrastruttura molto ridondata.</li>
<li>Valutazione: ECCELLENTE.</li>
<li></li>
<li><strong>.at — nic.at, Austria</strong></li>
<li>Giuridico: diritto austriaco.</li>
<li>Tecnico: DNSSEC; nameserver globalmente distribuiti e ridondanti.</li>
<li>Valutazione: ECCELLENTE.</li>
<li></li>
<li><strong>.fi — Traficom, Finlandia</strong></li>
<li>Giuridico: diritto finlandese.</li>
<li>Tecnico: DNSSEC; infrastruttura stabile e requisiti tecnici rigorosi.</li>
<li>Valutazione: MOLTO BUONO.</li>
<li></li>
<li><strong>.no — Norid, Norvegia</strong></li>
<li>Giuridico: diritto norvegese.</li>
<li>Tecnico: DNSSEC; mix Anycast/Unicast; server distribuiti geograficamente e su reti diverse.</li>
<li>Valutazione: ECCELLENTE.</li>
<li>Nota: registrazione più restrittiva rispetto ad altri ccTLD.</li>
<li></li>
<li><strong>.li — SWITCH, Liechtenstein</strong></li>
<li>Giuridico: diritto del Liechtenstein.</li>
<li>Tecnico: DNSSEC; infrastruttura professionale collegata all’ecosistema SWITCH.</li>
<li>Valutazione: ECCELLENTE.</li>
<li></li>
<li><strong>.dk — Punktum dk, Danimarca</strong></li>
<li>Giuridico: diritto danese.</li>
<li>Tecnico: DNSSEC; infrastruttura DNS stabile e ridondata.</li>
<li>Valutazione: MOLTO BUONO.</li>
<li></li>
<li><strong>.be — DNS Belgium, Belgio</strong></li>
<li>Giuridico: diritto belga/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura DNS robusta e ben gestita.</li>
<li>Valutazione: MOLTO BUONO.</li>
<li></li>
<li><strong>.fr — AFNIC, Francia</strong></li>
<li>Giuridico: diritto francese/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura DNS molto matura e distribuita.</li>
<li>Valutazione: ECCELLENTE.</li>
<li></li>
<li><strong>.es — Red.es, Spagna</strong></li>
<li>Giuridico: diritto spagnolo/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura nazionale solida.</li>
<li>Valutazione: MOLTO BUONO.</li>
<li></li>
<li><strong>.pt — .PT, Portogallo</strong></li>
<li>Giuridico: diritto portoghese/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura DNS moderna e ridondata.</li>
<li>Valutazione: MOLTO BUONO.</li>
<li></li>
<li><strong>.cz — CZ.NIC, Repubblica Ceca</strong></li>
<li>Giuridico: diritto ceco/europeo.</li>
<li>Tecnico: DNSSEC; registry tecnicamente molto avanzato; forte cultura DNS e sicurezza.</li>
<li>Valutazione: ECCELLENTE.</li>
<li></li>
<li><strong>.sk — SK-NIC, Slovacchia</strong></li>
<li>Giuridico: diritto slovacco/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura DNS stabile.</li>
<li>Valutazione: BUONO.</li>
<li></li>
<li><strong>.pl — NASK, Polonia</strong></li>
<li>Giuridico: diritto polacco/europeo.</li>
<li>Tecnico: DNSSEC; registry nazionale maturo e infrastruttura robusta.</li>
<li>Valutazione: ECCELLENTE.</li>
<li></li>
<li><strong>.ee — Estonian Internet Foundation, Estonia</strong></li>
<li>Giuridico: diritto estone/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura moderna e orientata alla resilienza.</li>
<li>Valutazione: MOLTO BUONO.</li>
<li></li>
<li><strong>.lv — NIC.LV, Lettonia</strong></li>
<li>Giuridico: diritto lettone/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura stabile.</li>
<li>Valutazione: BUONO.</li>
<li></li>
<li><strong>.lt — DOMREG / Kaunas University of Technology, Lituania</strong></li>
<li>Giuridico: diritto lituano/europeo.</li>
<li>Tecnico: DNSSEC; registry accademico/nazionale maturo.</li>
<li>Valutazione: MOLTO BUONO.</li>
<li></li>
<li><strong>.ie — .IE, Irlanda</strong></li>
<li>Giuridico: diritto irlandese/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura DNS professionale e ridondata.</li>
<li>Valutazione: MOLTO BUONO.</li>
<li></li>
<li><strong>.gr — FORTH / Grecia</strong></li>
<li>Giuridico: diritto greco/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura nazionale consolidata.</li>
<li>Valutazione: BUONO.</li>
<li></li>
<li><strong>.hr — CARNET, Croazia</strong></li>
<li>Giuridico: diritto croato/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura nazionale stabile.</li>
<li>Valutazione: BUONO.</li>
<li></li>
<li><strong>.si — ARNES, Slovenia</strong></li>
<li>Giuridico: diritto sloveno/europeo.</li>
<li>Tecnico: DNSSEC; registry accademico/nazionale affidabile.</li>
<li>Valutazione: MOLTO BUONO.</li>
<li></li>
<li><strong>.ro — RoTLD, Romania</strong></li>
<li>Giuridico: diritto rumeno/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura nazionale matura.</li>
<li>Valutazione: BUONO.</li>
<li></li>
<li>.<strong>bg — Register.BG, Bulgaria</strong></li>
<li>Giuridico: diritto bulgaro/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura DNS nazionale.</li>
<li>Valutazione: BUONO.</li>
<li></li>
<li><strong>.lu — RESTENA, Lussemburgo</strong></li>
<li>Giuridico: diritto lussemburghese/europeo.</li>
<li>Tecnico: DNSSEC; infrastruttura solida e professionale.</li>
<li>Valutazione: MOLTO BUONO.*</li></ul>

<p>Io, personalmente, andrei con <strong><code>.eu</code></strong>.</p>

<p>Non perché sia magicamente immune da pressioni esterne, ma perché cambia il livello dello scontro. Se gli Stati Uniti facessero quello che fanno spesso — pressioni diplomatiche, minacce, richieste di collaborazione — non starebbero più parlando con una singola azienda o con un singolo paese.</p>

<p>Andrebbero a provocare direttamente <strong>l&#39;Unione Europea</strong>, proprio sul terreno della <strong>sovranità digitale</strong>, cioè su una politica che Bruxelles sostiene ormai apertamente.</p>

<p>Un singolo paese europeo può anche piegarsi. L&#39;intera UE avrebbe molti più problemi politici a farlo, perché significherebbe ammettere che tutta la retorica sulla sovranità digitale vale soltanto finché Washington non alza il telefono.</p>

<p>Sapete bene che io non parteggio normalmente per gruppi come <strong>Autistici/Inventati</strong>. Ma qui è irrilevante: il problema riguarda tutti.</p>

<p>Riguarda chi gestisce servizi Internet, chi possiede domini, e soprattutto riguarda Internet stessa come <strong>infrastruttura globale</strong>.</p>

<p>Ho parlato spesso di <em>splinternet</em>. Forse è arrivato il momento di smettere di chiedersi se accadrà, e cominciare a chiedersi quanto sia ormai inevitabile.</p>

<div style="text-align: left;">
  Uriel Fanelli<br>
  <br>
  --<br>
  Written using Blogfrei:
  <a href="https://git.keinpfusch.net/loweel/blogfrei">https://git.keinpfusch.net/loweel/blogfrei</a><br>
  Fedi: <a href="https://keinpfusch.net/@/uriel@bbs.keinpfusch.net" class="u-url mention">@<span>uriel@bbs.keinpfusch.net</span></a><br>
  XMPP: uriel@keinpfusch.net<br>
  vecchio blog:
  <a href="https://blog.keinpfusch.net">https://blog.keinpfusch.net</a><br>
  email:
  <a href="mailto:blog@keinpfusch.net">blog@keinpfusch.net</a><br>
</div>
]]></content:encoded>
      <guid>https://keinpfusch.net/sul-discorso-degli-autistici-inventati</guid>
      <pubDate>Sat, 29 Aug 2026 21:00:36 +0000</pubDate>
    </item>
    <item>
      <title>La bolla AI, parliamo di predittori.</title>
      <link>https://keinpfusch.net/la-bolla-ai-parliamo-di-predittori</link>
      <description>&lt;![CDATA[Si fa un gran parlare della possibile esplosione della bolla dell&#39;AI, e ancora di più si prova a prevedere quando e come potrebbe avvenire. Il problema è che quasi nessuno sa davvero indicare né il momento né il meccanismo preciso, anche perché non esiste una spiegazione unica e convincente del motivo per cui la capitalizzazione di Wall Street sia cresciuta così tanto negli ultimi anni, concentrandosi in misura enorme proprio attorno alle aziende legate all&#39;AI.&#xA;Di spiegazioni, naturalmente, ne esistono parecchie: aspettative di crescita futura, concentrazione dei profitti nelle grandi aziende tecnologiche, entusiasmo per l&#39;AI generativa, flussi di capitale verso pochi titoli dominanti, convinzione che l&#39;AI produrrà enormi aumenti di produttività. Ma nessuna di queste, presa da sola, sembra spiegare del tutto dimensioni e velocità del fenomeno.&#xA;E questo rende particolarmente difficile prevederne la fine.&#xA;&#xA;!--more--&#xA;&#xA;Perché quando una crescita appare sproporzionata perfino rispetto alla razionalità finanziaria — che già di per sé non è esattamente sinonimo di razionalità — diventa difficile capire quale evento, o quale semplice cambiamento di aspettative, possa essere sufficiente a invertirla.&#xA;&#xA;Ma dal punto di vista del pinco pallino che ha investito in Borsa i soldi della pensione, il problema non è tanto sapere quando e perché scoppierà la bolla. Il problema vero è riuscire a individuare dei predittori: segnali osservabili che dicano che qualcosa sta cambiando prima che il mercato se ne accorga tutto insieme.&#xA;&#xA;Un pochino come nell&#39;Apocalisse, dove prima della fine dell&#39;universo intero compaiono comunque dei segnali abbastanza vistosi: angeli che suonano la tromba, il mare che diventa sangue, stelle che cadono dal cielo e altra discreta segnaletica di emergenza cosmica.&#xA;&#xA;Così proverò a fare un esercizio: chiedermi quali potrebbero essere, nel caso della bolla dell&#39;AI, i segni della fine. Non necessariamente le cause dello scoppio, e nemmeno una data precisa, ma quei fenomeni che potrebbero funzionare da predittori, indicando che il meccanismo che sostiene la crescita sta cominciando a rompersi.&#xA;&#xA;Per arrivare ai segni del disastro, però, occorre prima capire bene quali siano le cose che costano e quali, invece, siano i prodotti che queste aziende riescono effettivamente a vendere.&#xA;&#xA;Il fatto che oggi molte aziende del settore non siano in utile, preso da solo, conta relativamente poco. Una società può continuare per anni a bruciare capitale se gli investitori ritengono credibile la crescita futura, o semplicemente se credono che qualcun altro continuerà a finanziarla.&#xA;&#xA;Twitter, per esempio, è stata fondata nel 2006 e ha chiuso il primo intero esercizio annuale in utile soltanto nel 2018; nel quarto trimestre del 2017 aveva raggiunto per la prima volta la profittabilità GAAP trimestrale. Quindi non proprio quindici anni, ma circa dodici anni dalla fondazione al primo bilancio annuale positivo. Nel frattempo è stata finanziata prima dal venture capital e, dopo l&#39;IPO del 2013, anche dal mercato azionario.&#xA;&#xA;Essere in perdita, quindi, non è di per sé il segnale che una bolla stia per scoppiare. La domanda interessante è un&#39;altra: che cosa deve continuare a succedere affinché qualcuno continui a pagare quei costi?&#xA;&#xA;br&#xA;&#xA;br&#xA;Proviamo a vedere, a grandi linee, come funziona un&#39;azienda di AI.&#xA;Il design del modello, sulla scala del loro cash flow, non è necessariamente la cosa che costa di più. La parte realmente costosa è la costruzione del modello: raccogliere e preparare enormi quantità di dati, addestrarlo, ripetere gli esperimenti, scartare quelli che non funzionano e soprattutto mettere a disposizione le risorse hardware necessarie. E questo costo, cosa importante, non cresce in maniera lineare rispetto al miglioramento ottenuto.&#xA;Proviamo a ragionarci con un esempio molto più semplice.&#xA;&#xA;Mettiamo di dover fare una misura, e di voler misurare qualcosa lungo 20 centimetri. Quando faremo la misura, a meno di non possedere strumenti infinitamente precisi — che non esistono — otterremo qualcosa del tipo:&#xA;&#xA;20 cm ± X&#xA;&#xA;dove X rappresenta l&#39;incertezza della misura.&#xA;&#xA;Quanto è grande questo X?&#xA;&#xA;Se continuiamo a ripetere la misura, assumendo di aver eliminato o controllato gli errori sistematici e che gli errori residui siano indipendenti e casuali, l&#39;incertezza statistica della media diminuisce approssimativamente come l&#39;inverso della radice quadrata del numero delle misure:&#xA;&#xA;X \~ 1 / √N&#xA;&#xA;Ed è qui che comincia il problema.&#xA;&#xA;Per dimezzare X, cioè l&#39;errore, non basta raddoppiare il numero delle misure: dobbiamo quadruplicarlo. Se vogliamo ridurre l&#39;errore a un terzo, dobbiamo idealmente fare nove volte il numero delle misure. Per ridurlo a un decimo, cento volte.&#xA;&#xA;Non è quindi una funzione ERF: la error function compare nella matematica della distribuzione normale, ma la legge che ci interessa qui è la classica dipendenza 1/√N dell&#39;errore statistico.&#xA;&#xA;Il punto però rimane esattamente quello: ottenere un miglioramento progressivamente più piccolo può richiedere una quantità di lavoro progressivamente molto più grande.&#xA;&#xA;Adesso supponiamo, per semplicità, che per un certo prompt esista una “risposta perfetta”.&#xA;&#xA;Se chiediamo a una AI quanto sia lungo qualcosa, e immaginiamo che esista una risposta esatta, possiamo pensare alla risposta prodotta dal modello come a qualcosa che si trova a una certa distanza X dalla risposta ideale. Questa distanza può rappresentare un errore numerico, una discrepanza semantica, una risposta incompleta o semplicemente una qualità inferiore a quella che consideriamo perfetta.&#xA;&#xA;A questo punto viene spontaneo pensare che, per ridurre X, occorra aumentare la quantità e soprattutto la qualità dei dati usati durante l&#39;addestramento, oltre alla capacità del modello e al calcolo impiegato.&#xA;&#xA;Qui però bisogna stare attenti all&#39;analogia con gli strumenti di misura.&#xA;&#xA;Per una misura fisica ripetuta, sotto ipotesi abbastanza precise, l&#39;errore statistico può diminuire come 1/sqrt(N). Per i modelli linguistici non esiste invece una legge universale che dica che la distanza dalla “risposta perfetta” debba diminuire esattamente nello stesso modo.&#xA;&#xA;Quello che si osserva empiricamente sono piuttosto delle scaling laws: aumentando dati, parametri e calcolo, la loss del modello tende a diminuire secondo leggi di potenza. In forma molto semplificata:&#xA;errore ~ N^(-alpha) dove N può rappresentare la quantità di dati, il compute o qualche altra risorsa, e alpha è normalmente minore di uno.&#xA;&#xA;Il risultato pratico è comunque quello che ci interessa: rendimenti sempre decrescenti.&#xA;&#xA;Per ottenere un miglioramento sempre più piccolo bisogna spendere quantità sempre maggiori (E NON PROPORZIONALI) di dati e di calcolo.&#xA;&#xA;Ed è qui che entra in gioco la natura probabilistica dei modelli linguistici. Un LLM non possiede una tabella contenente “la risposta corretta”: durante la generazione produce, passo dopo passo, una distribuzione di probabilità sui token possibili e sceglie da quella distribuzione secondo il metodo di decoding utilizzato.&#xA;&#xA;Potete immaginarlo come una specie di paradosso di Zenone applicato all&#39;AI: più ci si avvicina alla risposta perfetta, più ogni ulteriore miglioramento diventa piccolo, mentre il costo necessario per ottenerlo continua ad aumentare.&#xA;&#xA;I passi verso l&#39;obiettivo diventano sempre più brevi, ma ciascun passo richiede più dati, più calcolo, più energia e più hardware del precedente.&#xA;&#xA;Non perché esista davvero una legge di Zenone dentro un LLM, naturalmente, ma perché le scaling laws osservate mostrano proprio questo genere di rendimento decrescente: migliorare ancora è possibile, ma ogni incremento marginale di qualità tende a costare sempre di più.&#xA;&#xA;Quindi, punto primo: la parte più costosa per creare un nuovo modello di frontiera è normalmente l&#39;addestramento che lo produce, non la singola esecuzione dell&#39;LLM.&#xA;&#xA;Qui però occorre distinguere bene due cose. Il training concentra enormi costi in una fase relativamente breve: GPU, energia, dati, esperimenti, fine-tuning, valutazioni. L&#39;inference, cioè l&#39;uso del modello già addestrato, costa molto meno per singola richiesta, ma può diventare a sua volta una voce enorme quando viene moltiplicata per milioni o miliardi di richieste. Quindi non è affatto gratuita: semplicemente ha una struttura di costo diversa.&#xA;&#xA;E, soprattutto, nessuno paga per “possedere un LLM” in astratto. Si paga per usarlo.&#xA;&#xA;Lo si paga sotto forma di abbonamento a un chatbot, consumo di API, generazione di testo, immagini o codice, oppure come componente di un agente che svolge qualche attività concreta. In altre parole, il modello è l&#39;infrastruttura; il prodotto venduto è quasi sempre l&#39;accesso alla sua capacità di produrre qualcosa.&#xA;&#xA;Ed è questa distinzione che ci interessa, perché da una parte abbiamo costi enormi per costruire e migliorare il modello, e dall&#39;altra dobbiamo chiederci quanto denaro il suo utilizzo riesca effettivamente a generare.&#xA;&#xA;L&#39;idea che sta alla base di tutto, quindi, è abbastanza semplice: le aziende spendono un botto per produrre i modelli, cosa che richiede enormi quantità di calcolo e quindi infrastrutture HPC gigantesche; dopodiché cercano di recuperare quei costi vendendo l&#39;accesso al modello.&#xA;&#xA;E anche qui l&#39;hardware torna immediatamente in scena, perché non basta costruire il modello una volta sola: bisogna poi farlo girare per milioni di utenti, continuamente. Quindi servono altri data center, altre GPU, altra memoria, altra rete e altra energia per sostenere l&#39;inference, cioè il servizio vero e proprio che viene venduto.&#xA;&#xA;In forma molto brutale:&#xA;&#xA;Uscite: hardware HPC, energia, rete e infrastruttura per addestrare i modelli e per farli girare.&#xA;Entrate: i soldi che gli utenti spendono per usare quei modelli, direttamente o indirettamente, spesso attraverso API fatturate a token, abbonamenti ai chatbot o servizi agentici.&#xA;&#xA;La semplificazione “si vendono token” non vale per ogni prodotto commerciale, perché molti servizi vengono venduti a forfait o in abbonamento. Ma dal punto di vista industriale il succo non cambia: l&#39;azienda investe capitale in capacità di calcolo e cerca poi di monetizzare il consumo di quella capacità.&#xA;&#xA;E siccome ci stiamo finalmente avvicinando ai predittori, adesso possiamo chiederci quale sia il pericolo mortale di questo modello economico.&#xA;Il pericolo è abbastanza semplice: che persone e aziende decidano di far girare i modelli in casa, o, nel gergo aziendale, on premise.&#xA;&#xA;Questo rischio nasce dal fatto che i modelli nuovi arrivano prima dei servizi costruiti sopra di essi. Se un modello disponibile oggi è già abbastanza buono per il lavoro quotidiano di un programmatore, di un&#39;azienda o di un reparto tecnico, allora quell&#39;utente potrebbe semplicemente decidere che non gli serve inseguire ogni nuovo upgrade.&#xA;&#xA;A quel punto può cominciare a fare un altro ragionamento: invece di continuare a pagare token per sempre, compro l&#39;hardware una volta sola e faccio girare il modello per conto mio.&#xA;&#xA;E qui il rischio diventa concreto, perché esistono ormai molti modelli open-weight, cioè modelli dei quali è possibile scaricare direttamente i pesi ed eseguire l&#39;inference sulla propria infrastruttura. Molti dei protagonisti di questa tendenza sono cinesi — per esempio le famiglie Qwen e DeepSeek — ma la pressione competitiva ha spinto anche aziende occidentali nella stessa direzione. OpenAI stessa distribuisce oggi modelli gpt-oss scaricabili, eseguibili localmente e utilizzabili anche su infrastruttura privata.&#xA;&#xA;Questo non significa che tutti questi modelli siano “gratis” in senso assoluto: l&#39;hardware, l&#39;energia e la gestione continuano a costare. Ma significa che il produttore del modello non viene necessariamente pagato ogni volta che il modello viene usato.&#xA;&#xA;Ed è precisamente questo il punto pericoloso.&#xA;&#xA;Perché se la qualità di un modello locale diventa “abbastanza buona”, allora il cliente può smettere di comprare continuamente inference dal produttore e trasformare una spesa ricorrente in un investimento una tantum in hardware.&#xA;&#xA;br&#xA;&#xA;br&#xA;E da qui, arriviamo al discorso &#34;i segni della fine&#34;.&#xA;&#xA;E da qui arriviamo finalmente al discorso dei segni della fine.&#xA;&#xA;Uno dei motivi per cui oggi persone e aziende non si stanno semplicemente installando l&#39;AI on premise è che l&#39;hardware necessario costa cifre esorbitanti. Ma costa così tanto anche perché una parte enorme della capacità produttiva disponibile viene assorbita dalla costruzione dei data center per l&#39;AI.&#xA;&#xA;E qui bisogna chiarire bene una cosa: non funziona come quando andate in un negozio e comprate quello che trovate sullo scaffale.&#xA;&#xA;Non è che Microsoft, Google, Meta o OpenAI vadano da NVIDIA, SK Hynix o TSMC e dicano: «Non è che avete per caso un miliardo di chip in magazzino?».&#xA;&#xA;No.&#xA;&#xA;Quei chip devono ancora essere fabbricati. E le fabbriche hanno una capacità finita: numero di wafer lavorabili, linee produttive, packaging avanzato, disponibilità di HBM, macchinari, energia, personale. Oggi, peraltro, proprio memoria HBM e capacità produttiva avanzata continuano a essere colli di bottiglia importanti; SK Hynix dichiara una domanda superiore alla propria capacità produttiva, mentre TSMC continua ad aumentare gli investimenti proprio per inseguire una domanda AI che descrive come strutturale e pluriennale.&#xA;&#xA;Per questo è più corretto dire che le grandi aziende dell&#39;AI prenotano capacità produttiva futura.&#xA;&#xA;Si assicurano allocazioni, firmano contratti, fanno ordini con largo anticipo e, in sostanza, si mettono in coda davanti agli altri compratori. NVIDIA stessa deve assicurarsi in anticipo capacità sufficiente presso la propria supply chain per sostenere la crescita prevista.&#xA;&#xA;Quindi quando diciamo che «le aziende di AI stanno comprando tutte le GPU e tutta la memoria», stiamo usando una scorciatoia linguistica.&#xA;Più precisamente, stanno occupando una quota enorme della produzione futura.&#xA;&#xA;Le aziende di AI stanno quindi prenotando, ma non necessariamente comprando nell&#39;immediato, enormi quantità di chip.&#xA;&#xA;La distinzione è importante. Una parte della capacità produttiva futura viene impegnata con ordini, accordi di fornitura, prepagamenti o contratti pluriennali: in pratica, si riserva posto nella coda industriale. Il denaro può anche cominciare a muoversi prima, ma i chip fisici ancora non esistono.&#xA;&#xA;Dire semplicemente che “li hanno comprati” dà l&#39;idea di magazzini già pieni di GPU pronte all&#39;uso. In realtà, una parte sostanziale di quella domanda è domanda futura già impegnata sulla capacità produttiva futura.&#xA;&#xA;Ed è proprio questo che ci interessa, perché una prenotazione può essere un segnale economico molto diverso da un chip già prodotto, consegnato e messo in servizio.&#xA;&#xA;E questa differenza, come vedremo, è importante.&#xA;&#xA;br&#xA;&#xA;Questo meccanismo — cioè il fatto che una parte enorme delle supply chain sia già oberata di prenotazioni — contribuisce a tenere molto alti i prezzi di memorie, acceleratori e GPU.&#xA;&#xA;Per esempio, io posso già far girare localmente un modello più che sufficiente per le mie necessità: editing, generazione di immagini e anche programmazione di software OSS. Il problema è che la macchinetta che un anno fa avrei potuto immaginare intorno ai 1000 euro oggi, a parità di classe di hardware utile, può facilmente costarne 2000 o 2500.&#xA;&#xA;Niente di incredibile, in assoluto. Ma quando il prezzo più che raddoppia, l&#39;acquisto smette di essere una curiosità tecnica e diventa una decisione economica vera.&#xA;&#xA;E questo gigantesco aumento dei prezzi scoraggia persone e aziende dal costruirsi l&#39;AI in casa.&#xA;&#xA;Anche perché il ragionamento spontaneo è sempre lo stesso:&#xA;&#xA;«Sì, ma l&#39;anno prossimo con questo hardware non riuscirò più a far girare l&#39;ultimo modello.»&#xA;&#xA;Vero.&#xA;&#xA;Ma questo ragionamento ha senso soltanto finché si presume che l&#39;ultimo modello sia sempre indispensabile.&#xA;&#xA;Se invece i modelli progrediscono a passi sempre più piccoli — alla Zenone, per continuare con la metafora — allora a un certo punto qualcuno può perfettamente dire:&#xA;&#xA;«Ehi. Fissiamo che il modello X ci basta. Fa già quello che ci serve, e continuerà a bastarci per i progetti che abbiamo in coda almeno per i prossimi tre anni.»&#xA;&#xA;A quel punto il problema cambia completamente.&#xA;&#xA;Non si tratta più di inseguire ogni generazione successiva, ma di fare un normale calcolo industriale: conosciamo il costo dell&#39;hardware, conosciamo quanto spendiamo oggi in API o abbonamenti, possiamo stimare il ROI e il break-even.&#xA;&#xA;E allora la domanda diventa inevitabile: possiamo pensare di farcelo in casa?&#xA;&#xA;br&#xA;&#xA;br&#xA;E qui siamo arrivati al nostro primo predittore.&#xA;&#xA;Se il ragionamento fatto finora è corretto, allora uno dei segnali che potrebbero precedere lo scoppio della bolla sarà un calo generalizzato e persistente del prezzo di memorie, GPU e acceleratori, fino a riportarli verso livelli più vicini a quelli precedenti alla corsa all&#39;AI.&#xA;&#xA;Non basta, naturalmente, vedere una scheda video scendere di prezzo del 20% per gridare all&#39;Apocalisse. I prezzi dell&#39;hardware possono diminuire per moltissime ragioni: aumento della capacità produttiva, miglioramento dei processi industriali, nuove generazioni di chip, concorrenza, normalizzazione delle scorte.&#xA;&#xA;Il segnale interessante sarebbe un altro: un calo ampio, contemporaneo e non spiegabile soltanto con il normale progresso tecnologico, specialmente se accompagnato da una diminuzione dei tempi di consegna e da una maggiore disponibilità di memoria e acceleratori.&#xA;&#xA;Perché significherebbe che qualcosa sta cambiando nella coda.&#xA;&#xA;Le aziende di AI stanno prenotando meno capacità, oppure stanno ridimensionando gli ordini futuri, oppure l&#39;offerta sta finalmente raggiungendo — o superando — quella domanda gigantesca che fino a quel momento aveva tenuto la supply chain sotto pressione.&#xA;&#xA;E a quel punto succederebbe anche la cosa più pericolosa per chi vende inference: l&#39;hardware necessario per far girare i modelli localmente comincerebbe a costare molto meno.&#xA;&#xA;Il primo angelo, insomma, potrebbe non avere una tromba.&#xA;&#xA;Potrebbe avere un listino prezzi.&#xA;&#xA;*&#xA;&#xA;br&#xA;Questo calo di prezzo potrebbe essere sia la causa dello scoppio della bolla, sia una conseguenza.&#xA;&#xA;Potrebbe esserne la causa se il calo dei prezzi fosse dovuto all&#39;entrata in produzione di nuove fabbriche, nuove linee e maggiore capacità produttiva. In quel caso diventerebbe progressivamente più economico costruirsi l&#39;AI in casa, facendo girare modelli pubblici o open-weight su hardware proprio.&#xA;&#xA;E allora le grandi aziende di AI rischierebbero di rimanere con il cerino in mano: continuerebbero a spendere quantità immense di denaro per progettare, addestrare e distribuire modelli sempre nuovi, mentre una parte crescente degli utenti potrebbe smettere di pagarli secondo il modello ad abbonamento o a consumo.&#xA;&#xA;In altre parole, il problema non sarebbe che il modello non funziona. Il problema sarebbe che funziona abbastanza bene anche senza continuare a pagare chi lo ha prodotto.&#xA;&#xA;Ma il calo dei prezzi potrebbe anche essere una conseguenza.&#xA;&#xA;Se a un certo punto il cash flow non fosse più sufficiente a sostenere la corsa agli investimenti, le aziende comincerebbero inevitabilmente a ridurre gli ordini e le prenotazioni di hardware futuro. Per quanto una dirigenza possa essere ottimista, prima o poi arrivano i financial controller, i limiti di spesa, il costo del capitale e qualcuno che dice che oltre una certa cifra non si va.&#xA;&#xA;A quel punto la pressione sulla supply chain diminuirebbe, le code si accorcerebbero e i prezzi di memoria, GPU, acceleratori e storage potrebbero cominciare a scendere.&#xA;&#xA;Quindi il rapporto causale può andare in entrambe le direzioni.&#xA;&#xA;Ma ai fini del nostro esercizio importa relativamente poco.&#xA;&#xA;Che sia la causa o che sia la conseguenza, rimane un predittore.&#xA;&#xA;Se osservate nel tempo i prezzi di memorie, GPU e storage, e vedete un calo sensibile, generalizzato e persistente, accompagnato magari da disponibilità crescente e tempi di consegna più brevi, allora significa che qualcosa di importante sta cambiando nell&#39;economia della corsa all&#39;AI.&#xA;A quel punto, almeno secondo questa ipotesi, sapete che la festa sta finendo.&#xA;Quindi, parlando di predittori, direi questo:&#xA;&#xA;Tenete sott&#39;occhio i prezzi dell&#39;hardware&#xA;&#xA;Proprio di quell&#39;hardware i cui prezzi sono esplosi insieme alla corsa all&#39;AI.&#xA;Se memorie, GPU, acceleratori e storage cominciano a calare sensibilmente di prezzo, e non per una promozione momentanea o per il normale ricambio generazionale, ma in maniera ampia e persistente, allora il segnale diventa interessante.&#xA;Perché può voler dire che la domanda futura si sta sgonfiando, che le prenotazioni stanno diminuendo, che la capacità produttiva sta raggiungendo la domanda oppure che il modello economico sta iniziando a perdere pressione.&#xA;&#xA;La festa è finita.&#xA;&#xA;E da quel momento...&#xA;&#xA;FUGGITE, SCIOCCHI!!!!&#xA;&#xA;br&#xA;br&#xA;br&#xA;br&#xA;br&#xA;br&#xA;br&#xA;&#xA;div align=&#34;left&#34; style=&#34;text-align: left;&#34;&#xD;&#xA;  Uriel Fanellibr&#xD;&#xA;  br&#xD;&#xA;  --br&#xD;&#xA;  Written using Blogfrei:&#xD;&#xA;  a href=&#34;https://git.keinpfusch.net/loweel/blogfrei&#34;https://git.keinpfusch.net/loweel/blogfrei/abr&#xD;&#xA;  Fedi: @uriel@bbs.keinpfusch.netbr&#xD;&#xA;  XMPP: uriel@keinpfusch.netbr&#xD;&#xA;  vecchio blog:&#xD;&#xA;  a href=&#34;https://blog.keinpfusch.net&#34;https://blog.keinpfusch.net/abr&#xD;&#xA;  email:&#xD;&#xA;  a href=&#34;mailto:blog@keinpfusch.net&#34;blog@keinpfusch.net/abr&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>Si fa un gran parlare della possibile esplosione della bolla dell&#39;AI, e ancora di più si prova a prevedere quando e come potrebbe avvenire. Il problema è che quasi nessuno sa davvero indicare né il momento né il meccanismo preciso, anche perché non esiste una spiegazione unica e convincente del motivo per cui la capitalizzazione di Wall Street sia cresciuta così tanto negli ultimi anni, concentrandosi in misura enorme proprio attorno alle aziende legate all&#39;AI.
Di spiegazioni, naturalmente, ne esistono parecchie: aspettative di crescita futura, concentrazione dei profitti nelle grandi aziende tecnologiche, entusiasmo per l&#39;AI generativa, flussi di capitale verso pochi titoli dominanti, convinzione che l&#39;AI produrrà enormi aumenti di produttività. Ma nessuna di queste, presa da sola, sembra spiegare del tutto dimensioni e velocità del fenomeno.
E questo rende particolarmente difficile prevederne la fine.</p>

<p>Perché quando una crescita appare sproporzionata perfino rispetto alla razionalità finanziaria — che già di per sé non è esattamente sinonimo di razionalità — diventa difficile capire quale evento, o quale semplice cambiamento di aspettative, possa essere sufficiente a invertirla.</p>

<p>Ma dal punto di vista del pinco pallino che ha investito in Borsa i soldi della pensione, il problema non è tanto sapere <em>quando</em> e <em>perché</em> scoppierà la bolla. Il problema vero è riuscire a individuare dei predittori: segnali osservabili che dicano che qualcosa sta cambiando prima che il mercato se ne accorga tutto insieme.</p>

<p>Un pochino come nell&#39;Apocalisse, dove prima della fine dell&#39;universo intero compaiono comunque dei segnali abbastanza vistosi: angeli che suonano la tromba, il mare che diventa sangue, stelle che cadono dal cielo e altra discreta segnaletica di emergenza cosmica.</p>

<p>Così proverò a fare un esercizio: chiedermi quali potrebbero essere, nel caso della bolla dell&#39;AI, i segni della fine. Non necessariamente le cause dello scoppio, e nemmeno una data precisa, ma quei fenomeni che potrebbero funzionare da predittori, indicando che il meccanismo che sostiene la crescita sta cominciando a rompersi.</p>

<p>Per arrivare ai segni del disastro, però, occorre prima capire bene quali siano le cose che costano e quali, invece, siano i prodotti che queste aziende riescono effettivamente a vendere.</p>

<p>Il fatto che oggi molte aziende del settore non siano in utile, preso da solo, conta relativamente poco. Una società può continuare per anni a bruciare capitale se gli investitori ritengono credibile la crescita futura, o semplicemente se credono che qualcun altro continuerà a finanziarla.</p>

<p>Twitter, per esempio, è stata fondata nel 2006 e ha chiuso il primo intero esercizio annuale in utile soltanto nel 2018; nel quarto trimestre del 2017 aveva raggiunto per la prima volta la profittabilità GAAP trimestrale. Quindi non proprio quindici anni, ma circa dodici anni dalla fondazione al primo bilancio annuale positivo. Nel frattempo è stata finanziata prima dal venture capital e, dopo l&#39;IPO del 2013, anche dal mercato azionario.</p>

<p>Essere in perdita, quindi, non è di per sé il segnale che una bolla stia per scoppiare. La domanda interessante è un&#39;altra: <strong>che cosa deve continuare a succedere affinché qualcuno continui a pagare quei costi?</strong></p>

<p><br>
<hr/></p>

<p><br>
Proviamo a vedere, a grandi linee, come funziona un&#39;azienda di AI.
Il design del modello, sulla scala del loro cash flow, non è necessariamente la cosa che costa di più. La parte realmente costosa è la costruzione del modello: raccogliere e preparare enormi quantità di dati, addestrarlo, ripetere gli esperimenti, scartare quelli che non funzionano e soprattutto mettere a disposizione le risorse hardware necessarie. E questo costo, cosa importante, non cresce in maniera lineare rispetto al miglioramento ottenuto.
Proviamo a ragionarci con un esempio molto più semplice.</p>

<p>Mettiamo di dover fare una misura, e di voler misurare qualcosa lungo 20 centimetri. Quando faremo la misura, a meno di non possedere strumenti infinitamente precisi — che non esistono — otterremo qualcosa del tipo:</p>

<p><strong>20 cm ± X</strong></p>

<p>dove <em>X</em> rappresenta l&#39;incertezza della misura.</p>

<p>Quanto è grande questo <em>X</em>?</p>

<p>Se continuiamo a ripetere la misura, assumendo di aver eliminato o controllato gli errori sistematici e che gli errori residui siano indipendenti e casuali, l&#39;incertezza statistica della media diminuisce approssimativamente come l&#39;inverso della radice quadrata del numero delle misure:</p>

<p><strong>X ~ 1 / √N</strong></p>

<p>Ed è qui che comincia il problema.</p>

<p>Per dimezzare <em>X</em>, cioè l&#39;errore, non basta raddoppiare il numero delle misure: dobbiamo quadruplicarlo. Se vogliamo ridurre l&#39;errore a un terzo, dobbiamo idealmente fare nove volte il numero delle misure. Per ridurlo a un decimo, cento volte.</p>

<p>Non è quindi una funzione ERF: la <em>error function</em> compare nella matematica della distribuzione normale, ma la legge che ci interessa qui è la classica dipendenza <strong>1/√N</strong> dell&#39;errore statistico.</p>

<p>Il punto però rimane esattamente quello: ottenere un miglioramento progressivamente più piccolo può richiedere una quantità di lavoro progressivamente molto più grande.</p>

<p>Adesso supponiamo, per semplicità, che per un certo prompt esista una “risposta perfetta”.</p>

<p>Se chiediamo a una AI quanto sia lungo qualcosa, e immaginiamo che esista una risposta esatta, possiamo pensare alla risposta prodotta dal modello come a qualcosa che si trova a una certa distanza <em>X</em> dalla risposta ideale. Questa distanza può rappresentare un errore numerico, una discrepanza semantica, una risposta incompleta o semplicemente una qualità inferiore a quella che consideriamo perfetta.</p>

<p>A questo punto viene spontaneo pensare che, per ridurre <em>X</em>, occorra aumentare la quantità e soprattutto la qualità dei dati usati durante l&#39;addestramento, oltre alla capacità del modello e al calcolo impiegato.</p>

<p>Qui però bisogna stare attenti all&#39;analogia con gli strumenti di misura.</p>

<p>Per una misura fisica ripetuta, sotto ipotesi abbastanza precise, l&#39;errore statistico può diminuire come <code>1/sqrt(N)</code>. Per i modelli linguistici non esiste invece una legge universale che dica che la distanza dalla “risposta perfetta” debba diminuire esattamente nello stesso modo.</p>

<p>Quello che si osserva empiricamente sono piuttosto delle <strong>scaling laws</strong>: aumentando dati, parametri e calcolo, la loss del modello tende a diminuire secondo leggi di potenza. In forma molto semplificata:
<code>errore ~ N^(-alpha)</code>dove <code>N</code> può rappresentare la quantità di dati, il compute o qualche altra risorsa, e <code>alpha</code> è normalmente minore di uno.</p>

<p>Il risultato pratico è comunque quello che ci interessa: <strong>rendimenti sempre decrescenti</strong>.</p>

<p>Per ottenere un miglioramento sempre più piccolo bisogna spendere quantità sempre maggiori (E NON PROPORZIONALI) di dati e di calcolo.</p>

<p>Ed è qui che entra in gioco la natura probabilistica dei modelli linguistici. Un LLM non possiede una tabella contenente “la risposta corretta”: durante la generazione produce, passo dopo passo, una distribuzione di probabilità sui token possibili e sceglie da quella distribuzione secondo il metodo di decoding utilizzato.</p>

<p>Potete immaginarlo come una specie di paradosso di Zenone applicato all&#39;AI: più ci si avvicina alla risposta perfetta, più ogni ulteriore miglioramento diventa piccolo, mentre il costo necessario per ottenerlo continua ad aumentare.</p>

<p>I passi verso l&#39;obiettivo diventano sempre più brevi, ma ciascun passo richiede più dati, più calcolo, più energia e più hardware del precedente.</p>

<p>Non perché esista davvero una legge di Zenone dentro un LLM, naturalmente, ma perché le scaling laws osservate mostrano proprio questo genere di rendimento decrescente: migliorare ancora è possibile, ma ogni incremento marginale di qualità tende a costare sempre di più.</p>

<h2 id="quindi-punto-primo-la-parte-più-costosa-per-creare-un-nuovo-modello-di-frontiera-è-normalmente-l-addestramento-che-lo-produce-non-la-singola-esecuzione-dell-llm">Quindi, punto primo: la parte più costosa <strong>per creare un nuovo modello di frontiera</strong> è normalmente l&#39;addestramento che lo produce, non la singola esecuzione dell&#39;LLM.</h2>

<p>Qui però occorre distinguere bene due cose. Il training concentra enormi costi in una fase relativamente breve: GPU, energia, dati, esperimenti, fine-tuning, valutazioni. L&#39;inference, cioè l&#39;uso del modello già addestrato, costa molto meno per singola richiesta, ma può diventare a sua volta una voce enorme quando viene moltiplicata per milioni o miliardi di richieste. Quindi non è affatto gratuita: semplicemente ha una struttura di costo diversa.</p>

<p>E, soprattutto, nessuno paga per “possedere un LLM” in astratto. Si paga per <strong>usarlo</strong>.</p>

<p>Lo si paga sotto forma di abbonamento a un chatbot, consumo di API, generazione di testo, immagini o codice, oppure come componente di un agente che svolge qualche attività concreta. In altre parole, il modello è l&#39;infrastruttura; il prodotto venduto è quasi sempre l&#39;accesso alla sua capacità di produrre qualcosa.</p>

<h2 id="ed-è-questa-distinzione-che-ci-interessa-perché-da-una-parte-abbiamo-costi-enormi-per-costruire-e-migliorare-il-modello-e-dall-altra-dobbiamo-chiederci-quanto-denaro-il-suo-utilizzo-riesca-effettivamente-a-generare">Ed è questa distinzione che ci interessa, perché da una parte abbiamo costi enormi per costruire e migliorare il modello, e dall&#39;altra dobbiamo chiederci quanto denaro il suo utilizzo riesca effettivamente a generare.</h2>

<p>L&#39;idea che sta alla base di tutto, quindi, è abbastanza semplice: le aziende spendono un botto per produrre i modelli, cosa che richiede enormi quantità di calcolo e quindi infrastrutture HPC gigantesche; dopodiché cercano di recuperare quei costi vendendo l&#39;accesso al modello.</p>

<p>E anche qui l&#39;hardware torna immediatamente in scena, perché non basta costruire il modello una volta sola: bisogna poi farlo girare per milioni di utenti, continuamente. Quindi servono altri data center, altre GPU, altra memoria, altra rete e altra energia per sostenere l&#39;inference, cioè il servizio vero e proprio che viene venduto.</p>

<p>In forma molto brutale:</p>

<p><strong>Uscite:</strong> hardware HPC, energia, rete e infrastruttura per addestrare i modelli e per farli girare.
<strong>Entrate:</strong> i soldi che gli utenti spendono per usare quei modelli, direttamente o indirettamente, spesso attraverso API fatturate a token, abbonamenti ai chatbot o servizi agentici.</p>

<p>La semplificazione “si vendono token” non vale per ogni prodotto commerciale, perché molti servizi vengono venduti a forfait o in abbonamento. Ma dal punto di vista industriale il succo non cambia: l&#39;azienda investe capitale in capacità di calcolo e cerca poi di monetizzare il consumo di quella capacità.</p>

<p>E siccome ci stiamo finalmente avvicinando ai predittori, adesso possiamo chiederci quale sia il pericolo <strong>mortale</strong> di questo modello economico.
Il pericolo è abbastanza semplice: che persone e aziende decidano di far girare i modelli <strong>in casa</strong>, o, nel gergo aziendale, <strong>on premise</strong>.</p>

<p>Questo rischio nasce dal fatto che i modelli nuovi arrivano prima dei servizi costruiti sopra di essi. Se un modello disponibile oggi è già abbastanza buono per il lavoro quotidiano di un programmatore, di un&#39;azienda o di un reparto tecnico, allora quell&#39;utente potrebbe semplicemente decidere che non gli serve inseguire ogni nuovo upgrade.</p>

<p>A quel punto può cominciare a fare un altro ragionamento: invece di continuare a pagare token per sempre, compro l&#39;hardware una volta sola e faccio girare il modello per conto mio.</p>

<p>E qui il rischio diventa concreto, perché esistono ormai molti modelli <strong>open-weight</strong>, cioè modelli dei quali è possibile scaricare direttamente i pesi ed eseguire l&#39;inference sulla propria infrastruttura. Molti dei protagonisti di questa tendenza sono cinesi — per esempio le famiglie Qwen e DeepSeek — ma la pressione competitiva ha spinto anche aziende occidentali nella stessa direzione. OpenAI stessa distribuisce oggi modelli <code>gpt-oss</code> scaricabili, eseguibili localmente e utilizzabili anche su infrastruttura privata.</p>

<p>Questo non significa che tutti questi modelli siano “gratis” in senso assoluto: l&#39;hardware, l&#39;energia e la gestione continuano a costare. Ma significa che <strong>il produttore del modello non viene necessariamente pagato ogni volta che il modello viene usato</strong>.</p>

<p>Ed è precisamente questo il punto pericoloso.</p>

<p>Perché se la qualità di un modello locale diventa “abbastanza buona”, allora il cliente può smettere di comprare continuamente inference dal produttore e trasformare una spesa ricorrente in un investimento una tantum in hardware.</p>

<p><br>
<hr/></p>

<p><br>
E da qui, arriviamo al discorso “i segni della fine”.</p>

<p>E da qui arriviamo finalmente al discorso dei <strong>segni della fine</strong>.</p>

<p>Uno dei motivi per cui oggi persone e aziende non si stanno semplicemente installando l&#39;AI on premise è che l&#39;hardware necessario costa cifre esorbitanti. Ma costa così tanto anche perché una parte enorme della capacità produttiva disponibile viene assorbita dalla costruzione dei data center per l&#39;AI.</p>

<p>E qui bisogna chiarire bene una cosa: non funziona come quando andate in un negozio e comprate quello che trovate sullo scaffale.</p>

<p>Non è che Microsoft, Google, Meta o OpenAI vadano da NVIDIA, SK Hynix o TSMC e dicano: «Non è che avete per caso un miliardo di chip in magazzino?».</p>

<p>No.</p>

<p>Quei chip devono ancora essere fabbricati. E le fabbriche hanno una capacità finita: numero di wafer lavorabili, linee produttive, packaging avanzato, disponibilità di HBM, macchinari, energia, personale. Oggi, peraltro, proprio memoria HBM e capacità produttiva avanzata continuano a essere colli di bottiglia importanti; SK Hynix dichiara una domanda superiore alla propria capacità produttiva, mentre TSMC continua ad aumentare gli investimenti proprio per inseguire una domanda AI che descrive come strutturale e pluriennale.</p>

<p>Per questo è più corretto dire che le grandi aziende dell&#39;AI <strong>prenotano capacità produttiva futura</strong>.</p>

<p>Si assicurano allocazioni, firmano contratti, fanno ordini con largo anticipo e, in sostanza, si mettono in coda davanti agli altri compratori. NVIDIA stessa deve assicurarsi in anticipo capacità sufficiente presso la propria supply chain per sostenere la crescita prevista.</p>

<p>Quindi quando diciamo che «le aziende di AI stanno comprando tutte le GPU e tutta la memoria», stiamo usando una scorciatoia linguistica.
Più precisamente, stanno <strong>occupando una quota enorme della produzione futura</strong>.</p>

<h2 id="le-aziende-di-ai-stanno-quindi-prenotando-ma-non-necessariamente-comprando-nell-immediato-enormi-quantità-di-chip">Le aziende di AI stanno quindi <strong>prenotando</strong>, ma non necessariamente comprando nell&#39;immediato, enormi quantità di chip.</h2>

<p>La distinzione è importante. Una parte della capacità produttiva futura viene impegnata con ordini, accordi di fornitura, prepagamenti o contratti pluriennali: in pratica, si riserva posto nella coda industriale. Il denaro può anche cominciare a muoversi prima, ma i chip fisici ancora non esistono.</p>

<p>Dire semplicemente che “li hanno comprati” dà l&#39;idea di magazzini già pieni di GPU pronte all&#39;uso. In realtà, una parte sostanziale di quella domanda è <strong>domanda futura già impegnata sulla capacità produttiva futura</strong>.</p>

<p>Ed è proprio questo che ci interessa, perché una prenotazione può essere un segnale economico molto diverso da un chip già prodotto, consegnato e messo in servizio.</p>

<p>E questa differenza, come vedremo, è importante.</p>

<p><br>
<hr/></p>

<p>Questo meccanismo — cioè il fatto che una parte enorme delle supply chain sia già oberata di <strong>prenotazioni</strong> — contribuisce a tenere molto alti i prezzi di memorie, acceleratori e GPU.</p>

<p>Per esempio, io posso già far girare localmente un modello più che sufficiente per le mie necessità: editing, generazione di immagini e anche programmazione di software OSS. Il problema è che la macchinetta che un anno fa avrei potuto immaginare intorno ai 1000 euro oggi, a parità di classe di hardware utile, può facilmente costarne 2000 o 2500.</p>

<p>Niente di incredibile, in assoluto. Ma quando il prezzo più che raddoppia, l&#39;acquisto smette di essere una curiosità tecnica e diventa una decisione economica vera.</p>

<p>E questo gigantesco aumento dei prezzi scoraggia persone e aziende dal costruirsi l&#39;AI in casa.</p>

<p>Anche perché il ragionamento spontaneo è sempre lo stesso:</p>

<p>«Sì, ma l&#39;anno prossimo con questo hardware non riuscirò più a far girare l&#39;ultimo modello.»</p>

<p>Vero.</p>

<p>Ma questo ragionamento ha senso soltanto finché si presume che <strong>l&#39;ultimo modello sia sempre indispensabile</strong>.</p>

<p>Se invece i modelli progrediscono a passi sempre più piccoli — alla Zenone, per continuare con la metafora — allora a un certo punto qualcuno può perfettamente dire:</p>

<p>«Ehi. Fissiamo che il modello X ci basta. Fa già quello che ci serve, e continuerà a bastarci per i progetti che abbiamo in coda almeno per i prossimi tre anni.»</p>

<p>A quel punto il problema cambia completamente.</p>

<p>Non si tratta più di inseguire ogni generazione successiva, ma di fare un normale calcolo industriale: conosciamo il costo dell&#39;hardware, conosciamo quanto spendiamo oggi in API o abbonamenti, possiamo stimare il ROI e il break-even.</p>

<p>E allora la domanda diventa inevitabile: <strong>possiamo pensare di farcelo in casa?</strong></p>

<p><br>
<hr/></p>

<p><br>
E qui siamo arrivati al nostro primo <strong>predittore</strong>.</p>

<p>Se il ragionamento fatto finora è corretto, allora uno dei segnali che potrebbero precedere lo scoppio della bolla sarà un <strong>calo generalizzato e persistente del prezzo di memorie, GPU e acceleratori</strong>, fino a riportarli verso livelli più vicini a quelli precedenti alla corsa all&#39;AI.</p>

<p>Non basta, naturalmente, vedere una scheda video scendere di prezzo del 20% per gridare all&#39;Apocalisse. I prezzi dell&#39;hardware possono diminuire per moltissime ragioni: aumento della capacità produttiva, miglioramento dei processi industriali, nuove generazioni di chip, concorrenza, normalizzazione delle scorte.</p>

<p>Il segnale interessante sarebbe un altro: <strong>un calo ampio, contemporaneo e non spiegabile soltanto con il normale progresso tecnologico</strong>, specialmente se accompagnato da una diminuzione dei tempi di consegna e da una maggiore disponibilità di memoria e acceleratori.</p>

<p>Perché significherebbe che qualcosa sta cambiando nella coda.</p>

<p>Le aziende di AI stanno prenotando meno capacità, oppure stanno ridimensionando gli ordini futuri, oppure l&#39;offerta sta finalmente raggiungendo — o superando — quella domanda gigantesca che fino a quel momento aveva tenuto la supply chain sotto pressione.</p>

<p>E a quel punto succederebbe anche la cosa più pericolosa per chi vende inference: <strong>l&#39;hardware necessario per far girare i modelli localmente comincerebbe a costare molto meno</strong>.</p>

<p>Il primo angelo, insomma, potrebbe non avere una tromba.</p>

<p>Potrebbe avere un listino prezzi.</p>

<hr/>

<p><br>
Questo calo di prezzo potrebbe essere sia <strong>la causa</strong> dello scoppio della bolla, sia <strong>una conseguenza</strong>.</p>

<p>Potrebbe esserne la causa se il calo dei prezzi fosse dovuto all&#39;entrata in produzione di nuove fabbriche, nuove linee e maggiore capacità produttiva. In quel caso diventerebbe progressivamente più economico costruirsi l&#39;AI in casa, facendo girare modelli pubblici o open-weight su hardware proprio.</p>

<p>E allora le grandi aziende di AI rischierebbero di rimanere con il cerino in mano: continuerebbero a spendere quantità immense di denaro per progettare, addestrare e distribuire modelli sempre nuovi, mentre una parte crescente degli utenti potrebbe smettere di pagarli secondo il modello ad abbonamento o a consumo.</p>

<p>In altre parole, il problema non sarebbe che il modello non funziona. Il problema sarebbe che funziona abbastanza bene <strong>anche senza continuare a pagare chi lo ha prodotto</strong>.</p>

<p>Ma il calo dei prezzi potrebbe anche essere una conseguenza.</p>

<p>Se a un certo punto il cash flow non fosse più sufficiente a sostenere la corsa agli investimenti, le aziende comincerebbero inevitabilmente a ridurre gli ordini e le prenotazioni di hardware futuro. Per quanto una dirigenza possa essere ottimista, prima o poi arrivano i financial controller, i limiti di spesa, il costo del capitale e qualcuno che dice che oltre una certa cifra non si va.</p>

<p>A quel punto la pressione sulla supply chain diminuirebbe, le code si accorcerebbero e i prezzi di memoria, GPU, acceleratori e storage potrebbero cominciare a scendere.</p>

<p>Quindi il rapporto causale può andare in entrambe le direzioni.</p>

<p>Ma ai fini del nostro esercizio importa relativamente poco.</p>

<h2 id="che-sia-la-causa-o-che-sia-la-conseguenza-rimane-un-predittore"><strong>Che sia la causa o che sia la conseguenza, rimane un predittore.</strong></h2>

<p>Se osservate nel tempo i prezzi di memorie, GPU e storage, e vedete un calo sensibile, generalizzato e persistente, accompagnato magari da disponibilità crescente e tempi di consegna più brevi, allora significa che qualcosa di importante sta cambiando nell&#39;economia della corsa all&#39;AI.
A quel punto, almeno secondo questa ipotesi, sapete che la festa sta finendo.
Quindi, parlando di predittori, direi questo:</p>

<h2 id="tenete-sott-occhio-i-prezzi-dell-hardware">Tenete sott&#39;occhio i prezzi dell&#39;hardware</h2>

<p>Proprio di quell&#39;hardware i cui prezzi sono esplosi insieme alla corsa all&#39;AI.
Se memorie, GPU, acceleratori e storage cominciano a calare sensibilmente di prezzo, e non per una promozione momentanea o per il normale ricambio generazionale, ma in maniera ampia e persistente, allora il segnale diventa interessante.
Perché può voler dire che la domanda futura si sta sgonfiando, che le prenotazioni stanno diminuendo, che la capacità produttiva sta raggiungendo la domanda oppure che il modello economico sta iniziando a perdere pressione.</p>

<h2 id="la-festa-è-finita">La festa è finita.</h2>

<p>E da quel momento...</p>

<h1 id="fuggite-sciocchi">FUGGITE, SCIOCCHI!!!!</h1>

<p><br>
<br>
<br>
<br>
<br>
<br>
<br></p>

<div style="text-align: left;">
  Uriel Fanelli<br>
  <br>
  --<br>
  Written using Blogfrei:
  <a href="https://git.keinpfusch.net/loweel/blogfrei">https://git.keinpfusch.net/loweel/blogfrei</a><br>
  Fedi: <a href="https://keinpfusch.net/@/uriel@bbs.keinpfusch.net" class="u-url mention">@<span>uriel@bbs.keinpfusch.net</span></a><br>
  XMPP: uriel@keinpfusch.net<br>
  vecchio blog:
  <a href="https://blog.keinpfusch.net">https://blog.keinpfusch.net</a><br>
  email:
  <a href="mailto:blog@keinpfusch.net">blog@keinpfusch.net</a><br>
</div>
]]></content:encoded>
      <guid>https://keinpfusch.net/la-bolla-ai-parliamo-di-predittori</guid>
      <pubDate>Thu, 27 Aug 2026 10:23:51 +0000</pubDate>
    </item>
    <item>
      <title>Fediverso, 2.0 [English version at the end]</title>
      <link>https://keinpfusch.net/fediverso-2-0-english-version-at-the-end</link>
      <description>&lt;![CDATA[Scrivere Xenomorph da zero, in un linguaggio di programmazione di nicchia come SPARK/Ada, mi ha dato parecchia soddisfazione, ma contemporaneamente mi ha dato una libertà creativa che con gli altri fork semplicemente non avevo.&#xA;E quindi, a un certo punto, ho dovuto farmi una domanda: ok, puoi cambiare quello che vuoi. Ma cosa? Cosa cambieresti, esattamente, se dovessi progettare una specie di Fediverso 2.0?&#xA;La cosa interessante è che Mastodon nasce, nel 2016, esplicitamente nel mondo del microblogging come alternativa decentralizzata a Twitter. Eugen Rochko era un utente di Twitter insoddisfatto della direzione presa dalla piattaforma, e descriveva Mastodon proprio come un&#39;alternativa federata a Twitter. Quindi dire che ne imitasse il modello è sostanzialmente corretto, anche se lo scopo era precisamente eliminare il controllo centrale sul sistema.&#xA;E lo fa bene.&#xA;!--more--&#xA;&#xA;Il problema è che Twitter — e finalmente ve ne siete accorti — è un pozzo di tossicità.&#xA;&#xA;E non soltanto perché è centralizzato, oppure perché a un certo punto è finito nelle mani di questo o quell&#39;altro proprietario. Il problema è più profondo: ci sono MOLTE cose nel design stesso di Twitter, nel modo in cui sono costruite le interazioni, che spingono gli utenti verso la tossicità.&#xA;&#xA;Se quindi prendete Twitter, togliete l&#39;azienda centrale e distribuite il sistema su migliaia di server, avete certamente risolto un problema molto importante.&#xA;&#xA;Ma non avete necessariamente risolto gli altri.&#xA;&#xA;Così, ho deciso che Xenomorph continuerà a federare normalmente con il resto del Fediverso e manterrà, grosso modo, lo stesso insieme di funzioni essenziali di snac, al quale si ispira per filosofia di semplicità e leggerezza.&#xA;&#xA;Ma non sarà semplicemente un altro snac scritto in Ada.&#xA;&#xA;L&#39;idea è precisamente quella di approfittare del fatto che sto scrivendo tutto da zero per modificare alcune delle scelte che, a mio avviso, il Fediverso ha ereditato quasi automaticamente dal modello Twitter.&#xA;&#xA;Perché se il problema è anche nel design delle interazioni, allora non basta cambiare il protocollo di trasporto, decentralizzare i server o distribuire la moderazione.&#xA;&#xA;Bisogna cambiare anche come gli utenti vengono spinti a comportarsi.&#xA;&#xA;Ed è qui che cominciano le modifiche.&#xA;&#xA;br&#xA;&#xA;Il meccanismo del blocco istanza&#xA;&#xA;È stato pensato, ovviamente, con una delle idee più tossiche del mondo in testa: la cancel culture.&#xA;&#xA;Non intendo dire che storicamente il domain block sia nato dalla cancel culture: tecnicamente nasce da un&#39;esigenza reale di moderazione, cioè poter isolare in blocco un server che produce spam, molestie, contenuti illegali o comunque una quantità di problemi tale da rendere assurdo intervenire utente per utente. Mastodon, infatti, consente agli amministratori di limitare o sospendere interi domini proprio per questo motivo.&#xA;&#xA;Il problema è il modello mentale che ne deriva.&#xA;&#xA;Perché appena mettete nelle mani di qualcuno un grosso pulsante con scritto, metaforicamente, “cancella quella gente dal mio universo”, state anche creando un ruolo che attira tutti gli aspiranti sceriffi del mondo: gente che vuole diventare admin anche per il piacere di poter bloccare Tizio, Caio, Sempronio e magari l&#39;intera città dalla quale provengono, sentendosi nel frattempo investita di un qualche potere morale.&#xA;&#xA;È una feature necessaria in certi casi. Ma è anche una feature potenzialmente tossica.&#xA;&#xA;Xenomorph, invece, prova a togliere il più possibile questa dinamica dalle mani dell&#39;admin.&#xA;&#xA;Ha un proprio meccanismo automatico di rilevamento: se scopre che un&#39;istanza remota lo ha bloccato, reagisce bloccandola a sua volta. Non per ripicca, ma perché continuare a tentare di federare con qualcuno che ha già deciso di non ricevere le vostre attività significa semplicemente sprecare traffico, code, retry e risorse.&#xA;&#xA;La cosa interessante è che il blocco non viene trattato come una sentenza eterna.&#xA;&#xA;Se l&#39;istanza remota ricomincia successivamente a mandare attività valide, Xenomorph interpreta il fatto come un segnale che la federazione è nuovamente possibile e rimuove automaticamente il proprio blocco.&#xA;&#xA;Quindi niente liste nere da amministrare religiosamente, niente vendette che sopravvivono per anni, niente archeologia diplomatica per capire perché nel 2024 qualcuno abbia bloccato qualcun altro.&#xA;&#xA;Soprattutto: niente peso per l&#39;admin.&#xA;&#xA;Va tutto in automatico.&#xA;&#xA;Poi esiste naturalmente il caso eccezionale. Quello nel quale non state semplicemente ricevendo un block remoto, ma avete davvero bisogno di interrompere immediatamente ogni rapporto con un&#39;istanza: per esempio perché sta distribuendo materiale illegale, oppure perché sta causando un problema abbastanza grave da non poter aspettare i normali automatismi.&#xA;&#xA;In quel caso esiste il pulsante Nuke.&#xA;&#xA;Il nome è intenzionale: deve essere perfettamente chiaro che non state facendo ordinaria amministrazione. State usando l&#39;opzione nucleare.&#xA;&#xA;È disponibile soltanto all&#39;admin.&#xA;&#xA;Ma anche dal Nuke si può uscire.&#xA;&#xA;Perché un sistema di moderazione che sa soltanto accumulare blocchi, senza avere anche un meccanismo per dimenticarli quando non servono più, prima o poi non diventa più sicuro.&#xA;&#xA;Diventa semplicemente fossile.&#xA;&#xA;br&#xA;&#xA;br&#xA;Il blocco degli utenti remoti&#xA;&#xA;Per molti utenti, il blocco* finisce per diventare un altro meccanismo tossico: quello che permette di pensare di aver zittito qualcuno.&#xA;&#xA;Solo che non sentire più qualcuno e averlo zittito sono due cose completamente diverse.&#xA;&#xA;Quella persona continua a parlare. Parla con gli altri, scrive, viene letta, continua tranquillamente a esistere. Semplicemente, voi non la sentite più.&#xA;&#xA;Pensare il contrario è un meccanismo abbastanza infantile: è il bambino che si tappa le orecchie e comincia a dire lalalala, non ti sento.&#xA;&#xA;Il problema è che, quando questa cosa viene trasformata in una funzione dell&#39;interfaccia, rischia di nutrire a dismisura proprio quella sensazione: io ho premuto il bottone, quindi tu sei sparito. Una piccola gratificazione di potere che, in realtà, non corrisponde affatto a quello che sta succedendo.&#xA;&#xA;Xenomorph mantiene comunque il blocco degli utenti. ActivityPub prevede infatti l&#39;attività Block, e Mastodon la usa anche tra server: quando un utente locale blocca un account remoto, può inviare al server remoto una Block activity.&#xA;&#xA;Curiosamente, lo stesso standard ActivityPub raccomanda invece che queste attività non vengano normalmente consegnate all&#39;oggetto del blocco nel caso server-to-server; Mastodon ha scelto di farlo ugualmente come estensione del comportamento federato.&#xA;&#xA;Ed è proprio questa informazione che Xenomorph può sfruttare.&#xA;&#xA;Quando qualcuno vi blocca e il server remoto comunica il Block, Xenomorph se ne accorge. Internamente esiste anche una notifica dell&#39;evento, sebbene normalmente non ci sia alcun motivo per sbattervela in faccia: sapere che Tizio vi ha bloccato, nella maggior parte dei casi, non migliora in alcun modo la vostra giornata.&#xA;&#xA;Xenomorph semplicemente blocca di rimando.&#xA;&#xA;Non come vendetta, ma come conseguenza tecnica: se quell&#39;account ha dichiarato di non voler più interagire con voi, non c&#39;è una particolare ragione per continuare a spendere risorse nel tentativo di interagire con lui.&#xA;&#xA;E anche questo blocco non deve necessariamente diventare eterno.&#xA;&#xA;Se successivamente arriva un Undo Block, oppure l&#39;account remoto torna in una condizione nella quale l&#39;interazione è nuovamente valida secondo le regole di Xenomorph, il blocco automatico può essere rimosso. Mastodon stesso prevede esplicitamente Undo anche per annullare un precedente Block.&#xA;&#xA;Il blocco manuale continua quindi a esistere, perché ovviamente ci sono situazioni nelle quali serve davvero. Anche Mastodon distingue il semplice mute, che serve sostanzialmente a non vedere qualcuno, dal block, che modifica anche la relazione tra i due account e impedisce follow e altre interazioni.&#xA;&#xA;Ma in Xenomorph il blocco manuale dovrebbe essere soprattutto uno strumento per le situazioni nelle quali siete voi ad avere bisogno di interrompere un rapporto.&#xA;&#xA;Per tutti quelli che invece decidono di bloccare voi, non c&#39;è bisogno di trasformare la cosa in un piccolo evento diplomatico.&#xA;&#xA;Non dovete controllare chi vi ha bloccato.&#xA;&#xA;Non dovete compilare liste.&#xA;&#xA;Non dovete ricambiare manualmente.&#xA;&#xA;Non dovete nemmeno interessarvene.&#xA;&#xA;Se non volete occuparvi di chi vi blocca, semplicemente non fatelo.&#xA;&#xA;Lasciate fare a Xenomorph.&#xA;&#xA;Niente stress, nemmeno qui.&#xA;&#xA;Il numero di follower&#xA;&#xA;Poi c&#39;è il numero di follower*.&#xA;&#xA;È la continuazione digitale del vecchio: sono il ragazzo o la ragazza più popolare del liceo. Un meccanismo competitivo, tossico e abbastanza bullistico, molto da scuola superiore americana: la popolarità trasformata in una quantità numerica, visibile a tutti, e quindi utilizzabile come misura del valore sociale di una persona.&#xA;&#xA;A che serve?&#xA;&#xA;A monetizzare la popolarità? A stabilire quanto vale un influencer? A vendere pubblicità?&#xA;&#xA;Perfetto. Allora nel Fediverso non serve.&#xA;&#xA;Il problema non è nemmeno teorico. Abbiamo avuto esempi quasi caricaturali di questo modo di ragionare.&#xA;&#xA;Nel 2012 Maurizio Gasparri rispose a un utente che lo criticava facendo notare che aveva soltanto 48 follower: prima «Seguito da 48, imbarazzante», poi «Con 48 non arrivi neanche all&#39;angolo», e infine il magnifico «Non sei nessuno». Il&#xA;&#xA;Corriere dell&#39;epoca riassunse la faccenda parlando, molto appropriatamente, di Twitter «tanto al peso».&#xA;&#xA;Per la serie: io so&#39; io, e tu non sei un cazzo.&#xA;&#xA;Gasparri.&#xA;&#xA;Ed è precisamente questo il problema del contatore pubblico. Non misura soltanto una proprietà dell&#39;account: finisce inevitabilmente per diventare una gerarchia. Uno ne ha cento, uno diecimila, uno un milione, e improvvisamente sembra perfettamente naturale pensare che il terzo conti più del primo.&#xA;&#xA;In Xenomorph, quindi, il proprietario dell&#39;account può vedere il proprio numero reale di follower quando è autenticato.&#xA;&#xA;Le istanze federate, invece, vedranno sempre un numero falso e volutamente spropositato.&#xA;&#xA;Non serve a simulare popolarità. Serve esattamente al contrario: a rendere il numero inutilizzabile come segnale di status.&#xA;&#xA;Se ogni account dichiara di avere una quantità assurda di follower, il dato smette di servire per costruire classifiche, confronti, prestigio, ansia da prestazione e gerarchie sociali.&#xA;&#xA;Quando tutti sono star, nessuno è una star.&#xA;&#xA;E abbiamo eliminato un altro piccolo pezzo di liceo americano dal social network.&#xA;&#xA;br&#xA;&#xA;E con questo voglio dire una cosa.&#xA;&#xA;Passando da un sistema centralizzato a uno federato avete risolto una parte del problema. Una parte importante, certamente: avete eliminato il singolo proprietario, il singolo algoritmo, il singolo centro di potere che può decidere per tutti.&#xA;&#xA;Ma l&#39;altra parte del problema è rimasta lì.&#xA;&#xA;Perché è insita nel design del servizio.&#xA;&#xA;Se conservate gli stessi meccanismi sociali, le stesse metriche di prestigio, gli stessi pulsanti pensati per gratificare il conflitto e la stessa architettura delle interazioni, la decentralizzazione da sola non basta.&#xA;&#xA;Avete cambiato chi controlla il sistema, ma non necessariamente quello che il sistema induce le persone a fare.&#xA;&#xA;E adesso io ho deciso di attaccare proprio quella parte.&#xA;&#xA;Xenomorph si trova qui:&#xA;https://git.keinpfusch.net/loweel/xenomorph&#xA;&#xA;L&#39;immagine Docker già pronta si trova qui:&#xA;&#xA;https://hub.docker.com/r/loweel/xenomorph*&#xA;&#xA;Le istruzioni per l&#39;installazione normale e per Docker/Docker Swarm si trovano direttamente nel repository, nei file INSTALL.md e DOCKER.md.&#xA;&#xA;È già abbastanza stabile per ospitare pochi utenti e per essere usato sul serio. Il README lo definisce attualmente utilizzabile per test reali su piccole istanze e per il normale dogfooding, anche se è ancora in fase di hardening e non viene ancora presentato come scelta conservativa per istanze pubbliche lasciate incustodite.&#xA;&#xA;Il resto verrà provandolo, rompendolo, correggendolo e soprattutto continuando a chiedersi una domanda che, secondo me, nel mondo dei social network viene fatta troppo raramente:&#xA;questa feature serve davvero agli utenti, oppure serve soltanto a riprodurre un comportamento tossico che ci siamo abituati a considerare normale?&#xA;&#xA;br&#xA;&#xA;ENGLISH VERSION&#xA;&#xA;br&#xA;Writing Xenomorph from scratch, in a niche programming language like SPARK/Ada, gave me quite a lot of satisfaction, but at the same time it gave me a degree of creative freedom that I simply never had with the other forks.&#xA;&#xA;And so, at some point, I had to ask myself a question: OK, you can change whatever you want. But what?&#xA;&#xA;What would you change, exactly, if you had to design some kind of Fediverse 2.0?&#xA;&#xA;The interesting thing is that Mastodon was born, in 2016, explicitly in the microblogging world as a decentralized alternative to Twitter. Eugen Rochko was a Twitter user dissatisfied with the direction the platform was taking, and he described Mastodon precisely as a federated alternative to Twitter.&#xA;&#xA;So saying that Mastodon imitated Twitter&#39;s model is basically correct, even though the purpose was specifically to eliminate centralized control over the system.&#xA;&#xA;And it does that well.&#xA;&#xA;The problem is that Twitter — and finally you noticed — is a cesspool of toxicity.&#xA;&#xA;And not only because it is centralized, or because at some point it ended up in the hands of this or that owner.&#xA;&#xA;The problem goes deeper: there are MANY things in Twitter&#39;s design itself, in the way interactions are constructed, that push users toward toxic behavior.&#xA;&#xA;So if you take Twitter, remove the central corporation and distribute the system across thousands of servers, you have certainly solved one very important problem.&#xA;&#xA;But you have not necessarily solved the others.&#xA;&#xA;So I decided that Xenomorph will continue to federate normally with the rest of the Fediverse, and will retain roughly the same essential set of features as snac, which inspired its philosophy of simplicity and lightweight design.&#xA;&#xA;But it will not simply be another snac written in Ada.&#xA;&#xA;The whole point of writing everything from scratch is precisely that I can take advantage of this freedom to modify some of the choices that, in my opinion, the Fediverse inherited almost automatically from the Twitter model.&#xA;&#xA;Because if part of the problem lies in the design of the interactions themselves, then changing the transport protocol, decentralizing the servers, or distributing moderation is not enough.&#xA;&#xA;You also have to change the way users are encouraged to behave.&#xA;&#xA;And this is where the changes begin.&#xA;&#xA;Instance blocking&#xA;&#xA;It was designed, obviously, with one of the most toxic ideas in the world in mind: cancel culture*.&#xA;&#xA;I am not saying that domain blocking historically originated from cancel culture. Technically, it exists because of a real moderation requirement: sometimes you need to isolate an entire server that produces spam, harassment, illegal material, or simply so many problems that dealing with its users one by one would be ridiculous.&#xA;&#xA;Mastodon therefore allows administrators to limit or suspend entire domains for exactly this reason.&#xA;&#xA;The problem is the mental model that comes with it.&#xA;&#xA;Because the moment you put a big button into someone&#39;s hands which metaphorically says &#34;delete those people from my universe&#34;, you are also creating a role that attracts every aspiring sheriff on the planet: people who want to become admins partly for the pleasure of being able to block Tom, Dick, Harry, and perhaps the entire town they come from, while feeling invested with some kind of moral authority.&#xA;&#xA;It is a necessary feature in some cases.&#xA;&#xA;But it is also a potentially toxic feature.&#xA;&#xA;Xenomorph instead tries to remove as much of this dynamic as possible from the administrator&#39;s hands.&#xA;&#xA;It has its own automatic detection mechanism: if it discovers that a remote instance has blocked it, it reacts by blocking that instance in return.&#xA;&#xA;Not out of spite, but because continuing to attempt federation with someone who has already decided not to receive your activities simply means wasting traffic, queues, retries, and resources.&#xA;&#xA;The interesting part is that the block is not treated as an eternal sentence.&#xA;&#xA;If the remote instance later starts sending valid activities again, Xenomorph interprets this as a signal that federation is possible again and automatically removes its own block.&#xA;&#xA;So there are no blacklists to maintain religiously, no grudges surviving for years, no diplomatic archaeology required to discover why somebody blocked somebody else in 2024.&#xA;&#xA;Most importantly: no administrative burden.&#xA;&#xA;It all happens automatically.&#xA;&#xA;Then, of course, there is the exceptional case.&#xA;&#xA;The case where you are not merely receiving a remote block, but genuinely need to cut off all relations with an instance immediately: for example because it is distributing illegal material, or because it is causing a problem serious enough that you cannot wait for the normal automatic mechanisms.&#xA;&#xA;In that case, there is the Nuke button.&#xA;&#xA;The name is intentional: it must be perfectly clear that this is not routine administration.&#xA;&#xA;You are using the nuclear option.&#xA;&#xA;It is available only to the administrator.&#xA;&#xA;But even a Nuke can be reversed.&#xA;&#xA;Because a moderation system that only knows how to accumulate blocks, without also having a mechanism for forgetting them when they are no longer necessary, does not eventually become safer.&#xA;&#xA;It simply becomes fossilized.&#xA;&#xA;Blocking remote users&#xA;&#xA;For many users, blocking* eventually becomes another toxic mechanism: the mechanism that makes them think they have silenced someone.&#xA;&#xA;Except that not hearing someone anymore and having silenced them are two completely different things.&#xA;&#xA;That person keeps talking.&#xA;&#xA;They talk to other people, they write, they are read, they continue to exist perfectly well.&#xA;&#xA;You simply do not hear them anymore.&#xA;&#xA;Thinking otherwise is a rather childish mechanism: it is the child putting their hands over their ears and going lalalala, I can&#39;t hear you.&#xA;&#xA;The problem is that when this behavior is turned into an interface feature, it risks feeding exactly that feeling to absurd proportions:&#xA;&#xA;I pressed the button, therefore you disappeared.&#xA;&#xA;A tiny gratification of power which, in reality, does not correspond to what is actually happening.&#xA;&#xA;Xenomorph still supports user blocking.&#xA;&#xA;ActivityPub defines the Block activity, and Mastodon also uses it between servers: when a local user blocks a remote account, it can send a Block activity to the remote server.&#xA;&#xA;Interestingly, the ActivityPub standard itself recommends that these activities not normally be delivered to the object of the block in server-to-server communication; Mastodon chose to do so anyway as an extension of federated behavior.&#xA;&#xA;And this is precisely the information Xenomorph can use.&#xA;&#xA;When somebody blocks you and the remote server communicates the Block, Xenomorph notices.&#xA;&#xA;Internally, there is even a notification for the event, although there is normally no reason to shove it into your face: knowing that some random person blocked you will, in most cases, not improve your day in any way.&#xA;&#xA;Xenomorph simply blocks them back.&#xA;&#xA;Not as revenge, but as a technical consequence: if that account has declared that it no longer wants to interact with you, there is little reason to keep spending resources attempting to interact with it.&#xA;&#xA;And this block does not need to become eternal either.&#xA;&#xA;If an Undo Block later arrives, or the remote account returns to a state in which interaction is valid again according to Xenomorph&#39;s rules, the automatic block can be removed.&#xA;&#xA;Mastodon itself explicitly supports Undo to reverse a previous Block.&#xA;&#xA;Manual blocking therefore still exists, because obviously there are situations where it is genuinely necessary.&#xA;&#xA;Mastodon itself distinguishes a simple mute, which essentially means that you no longer see somebody, from a block, which also changes the relationship between the two accounts and prevents follows and other interactions.&#xA;&#xA;But in Xenomorph, manual blocking should mainly be a tool for situations in which you need to terminate a relationship.&#xA;&#xA;For everyone who decides to block you instead, there is no reason to turn the event into a miniature diplomatic crisis.&#xA;&#xA;You do not have to check who blocked you.&#xA;&#xA;You do not have to maintain lists.&#xA;&#xA;You do not have to retaliate manually.&#xA;&#xA;You do not even have to care.&#xA;&#xA;If you do not want to deal with people who block you, simply don&#39;t.&#xA;&#xA;Let Xenomorph handle it.&#xA;&#xA;No stress here either.&#xA;&#xA;Follower counts&#xA;&#xA;Then there is the follower count*.&#xA;&#xA;It is the digital continuation of the old:&#xA;&#xA;I am the most popular boy or girl in high school.&#xA;&#xA;A competitive, toxic, fairly bullying mechanism, very much in the style of an American high school: popularity transformed into a number, visible to everyone, and therefore usable as a measurement of somebody&#39;s social value.&#xA;&#xA;What is it for?&#xA;&#xA;Monetizing popularity?&#xA;&#xA;Establishing how much an influencer is worth?&#xA;&#xA;Selling advertising?&#xA;&#xA;Perfect.&#xA;&#xA;Then we do not need it in the Fediverse.&#xA;&#xA;And this problem is not merely theoretical.&#xA;&#xA;We have seen almost caricatural examples of this kind of thinking.&#xA;&#xA;In 2012, Maurizio Gasparri replied to a user who criticized him by pointing out that the user had only 48 followers.&#xA;&#xA;First:&#xA;&#xA;  &#34;Followed by 48 people, embarrassing.&#34;&#xA;&#xA;Then:&#xA;&#xA;  &#34;With 48 you don&#39;t even make it around the corner.&#34;&#xA;&#xA;And finally the magnificent:&#xA;&#xA;  &#34;You are nobody.&#34;&#xA;&#xA;The Corriere at the time summarized the affair, quite appropriately, as Twitter being valued &#34;by weight.&#34;&#xA;&#xA;Or, to quote the Roman expression:&#xA;&#xA;io so&#39; io, e tu non sei un cazzo.&#xA;&#xA;Roughly:&#xA;&#xA;I&#39;m somebody, and you&#39;re fucking nobody.&#xA;&#xA;Gasparri.&#xA;&#xA;And that is precisely the problem with the public counter.&#xA;&#xA;It does not merely measure a property of the account: inevitably, it becomes a hierarchy.&#xA;&#xA;One person has a hundred followers, another has ten thousand, another has a million, and suddenly it seems perfectly natural to assume that the third person somehow matters more than the first.&#xA;&#xA;So in Xenomorph, the owner of an account can see their real follower count while authenticated.&#xA;&#xA;Federated instances, however, will always see a fake and deliberately ridiculous number.&#xA;&#xA;The purpose is not to simulate popularity.&#xA;&#xA;Quite the opposite: the purpose is to make the number useless as a status signal.&#xA;&#xA;If every account claims to have an absurd number of followers, then the metric stops being useful for rankings, comparisons, prestige, performance anxiety, and social hierarchies.&#xA;&#xA;When everybody is a star, nobody is a star.&#xA;&#xA;And we have removed yet another small piece of American high school from the social network.&#xA;&#xA;And with all this, I want to make one point.&#xA;&#xA;By moving from a centralized system to a federated one, you solved part of the problem.&#xA;&#xA;An important part, certainly: you removed the single owner, the single algorithm, the single center of power capable of deciding for everyone.&#xA;&#xA;But the other part of the problem remained exactly where it was.&#xA;&#xA;Because it is built into the design of the service.&#xA;&#xA;If you preserve the same social mechanisms, the same prestige metrics, the same buttons designed to reward conflict, and the same architecture of interactions, decentralization alone is not enough.&#xA;&#xA;You changed who controls the system.&#xA;&#xA;You did not necessarily change what the system encourages people to do.&#xA;&#xA;And now I have decided to attack precisely that part.&#xA;&#xA;Xenomorph is here:&#xA;&#xA;https://git.keinpfusch.net/loweel/xenomorph&#xA;&#xA;The ready-to-use Docker image is here:&#xA;&#xA;https://hub.docker.com/r/loweel/xenomorph*&#xA;&#xA;Instructions for normal installation and for Docker/Docker Swarm are available directly in the repository, in INSTALL.md and DOCKER.md.&#xA;&#xA;It is already stable enough to host a small number of users and to be used for real.&#xA;&#xA;The README currently describes it as suitable for real-world testing on small instances and normal dogfooding*, although it is still undergoing hardening and is not yet presented as the conservative choice for unattended public instances.&#xA;&#xA;The rest will come from trying it, breaking it, fixing it, and above all from continuing to ask a question which, in my opinion, is asked far too rarely in the world of social networks:&#xA;&#xA;does this feature actually serve the users, or does it merely reproduce a toxic behavior that we have become accustomed to considering normal?&#xA;&#xA;div align=&#34;left&#34; style=&#34;text-align: left;&#34;&#xD;&#xA;  Uriel Fanellibr&#xD;&#xA;  br&#xD;&#xA;  --br&#xD;&#xA;  Written using Blogfrei:&#xD;&#xA;  a href=&#34;https://git.keinpfusch.net/loweel/blogfrei&#34;https://git.keinpfusch.net/loweel/blogfrei/abr&#xD;&#xA;  Fedi: @uriel@bbs.keinpfusch.netbr&#xD;&#xA;  XMPP: uriel@keinpfusch.netbr&#xD;&#xA;  vecchio blog:&#xD;&#xA;  a href=&#34;https://blog.keinpfusch.net&#34;https://blog.keinpfusch.net/abr&#xD;&#xA;  email:&#xD;&#xA;  a href=&#34;mailto:blog@keinpfusch.net&#34;blog@keinpfusch.net/abr&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>Scrivere Xenomorph da zero, in un linguaggio di programmazione di nicchia come SPARK/Ada, mi ha dato parecchia soddisfazione, ma contemporaneamente mi ha dato una libertà creativa che con gli altri fork semplicemente non avevo.
E quindi, a un certo punto, ho dovuto farmi una domanda: ok, puoi cambiare quello che vuoi. Ma <strong>cosa</strong>? Cosa cambieresti, esattamente, se dovessi progettare una specie di <strong>Fediverso 2.0</strong>?
La cosa interessante è che Mastodon nasce, nel 2016, esplicitamente nel mondo del microblogging come alternativa decentralizzata a Twitter. Eugen Rochko era un utente di Twitter insoddisfatto della direzione presa dalla piattaforma, e descriveva Mastodon proprio come un&#39;alternativa federata a Twitter. Quindi dire che ne imitasse il modello è sostanzialmente corretto, anche se lo scopo era precisamente eliminare il controllo centrale sul sistema.
E lo fa bene.</p>

<p>Il problema è che Twitter — e finalmente ve ne siete accorti — è un pozzo di tossicità.</p>

<p>E non soltanto perché è centralizzato, oppure perché a un certo punto è finito nelle mani di questo o quell&#39;altro proprietario. Il problema è più profondo: ci sono <strong>MOLTE</strong> cose nel design stesso di Twitter, nel modo in cui sono costruite le interazioni, che spingono gli utenti verso la tossicità.</p>

<p>Se quindi prendete Twitter, togliete l&#39;azienda centrale e distribuite il sistema su migliaia di server, avete certamente risolto un problema molto importante.</p>

<p>Ma non avete necessariamente risolto gli altri.</p>

<p>Così, ho deciso che Xenomorph continuerà a federare normalmente con il resto del Fediverso e manterrà, grosso modo, lo stesso insieme di funzioni essenziali di snac, al quale si ispira per filosofia di semplicità e leggerezza.</p>

<p>Ma non sarà semplicemente un altro snac scritto in Ada.</p>

<p>L&#39;idea è precisamente quella di approfittare del fatto che sto scrivendo tutto da zero per modificare alcune delle scelte che, a mio avviso, il Fediverso ha ereditato quasi automaticamente dal modello Twitter.</p>

<p>Perché se il problema è anche nel design delle interazioni, allora non basta cambiare il protocollo di trasporto, decentralizzare i server o distribuire la moderazione.</p>

<p>Bisogna cambiare anche <strong>come gli utenti vengono spinti a comportarsi</strong>.</p>

<p>Ed è qui che cominciano le modifiche.</p>

<p><br>
<hr/></p>

<h3 id="il-meccanismo-del-blocco-istanza">Il meccanismo del blocco istanza</h3>

<p>È stato pensato, ovviamente, con una delle idee più tossiche del mondo in testa: la <strong>cancel culture</strong>.</p>

<p>Non intendo dire che storicamente il domain block sia nato <em>dalla</em> cancel culture: tecnicamente nasce da un&#39;esigenza reale di moderazione, cioè poter isolare in blocco un server che produce spam, molestie, contenuti illegali o comunque una quantità di problemi tale da rendere assurdo intervenire utente per utente. Mastodon, infatti, consente agli amministratori di limitare o sospendere interi domini proprio per questo motivo.</p>

<p>Il problema è il modello mentale che ne deriva.</p>

<p>Perché appena mettete nelle mani di qualcuno un grosso pulsante con scritto, metaforicamente, <strong>“cancella quella gente dal mio universo”</strong>, state anche creando un ruolo che attira tutti gli aspiranti sceriffi del mondo: gente che vuole diventare admin anche per il piacere di poter bloccare Tizio, Caio, Sempronio e magari l&#39;intera città dalla quale provengono, sentendosi nel frattempo investita di un qualche potere morale.</p>

<p>È una feature necessaria in certi casi. Ma è anche una feature potenzialmente tossica.</p>

<p>Xenomorph, invece, prova a togliere il più possibile questa dinamica dalle mani dell&#39;admin.</p>

<p>Ha un proprio meccanismo automatico di rilevamento: se scopre che un&#39;istanza remota lo ha bloccato, reagisce bloccandola a sua volta. Non per ripicca, ma perché continuare a tentare di federare con qualcuno che ha già deciso di non ricevere le vostre attività significa semplicemente sprecare traffico, code, retry e risorse.</p>

<p>La cosa interessante è che il blocco non viene trattato come una sentenza eterna.</p>

<p>Se l&#39;istanza remota ricomincia successivamente a mandare attività valide, Xenomorph interpreta il fatto come un segnale che la federazione è nuovamente possibile e rimuove automaticamente il <strong>proprio</strong> blocco.</p>

<p>Quindi niente liste nere da amministrare religiosamente, niente vendette che sopravvivono per anni, niente archeologia diplomatica per capire perché nel 2024 qualcuno abbia bloccato qualcun altro.</p>

<p>Soprattutto: <strong>niente peso per l&#39;admin</strong>.</p>

<p>Va tutto in automatico.</p>

<p>Poi esiste naturalmente il caso eccezionale. Quello nel quale non state semplicemente ricevendo un block remoto, ma avete davvero bisogno di interrompere immediatamente ogni rapporto con un&#39;istanza: per esempio perché sta distribuendo materiale illegale, oppure perché sta causando un problema abbastanza grave da non poter aspettare i normali automatismi.</p>

<p>In quel caso esiste il pulsante <strong>Nuke</strong>.</p>

<p>Il nome è intenzionale: deve essere perfettamente chiaro che non state facendo ordinaria amministrazione. State usando l&#39;opzione nucleare.</p>

<p>È disponibile soltanto all&#39;admin.</p>

<p>Ma anche dal <strong>Nuke</strong> si può uscire.</p>

<p>Perché un sistema di moderazione che sa soltanto accumulare blocchi, senza avere anche un meccanismo per dimenticarli quando non servono più, prima o poi non diventa più sicuro.</p>

<p>Diventa semplicemente fossile.</p>

<p><br>
<hr/></p>

<p><br></p>

<h3 id="il-blocco-degli-utenti-remoti">Il blocco degli utenti remoti</h3>

<p>Per molti utenti, il <strong>blocco</strong> finisce per diventare un altro meccanismo tossico: quello che permette di pensare di aver <em>zittito</em> qualcuno.</p>

<p>Solo che non sentire più qualcuno e averlo zittito sono due cose completamente diverse.</p>

<p>Quella persona continua a parlare. Parla con gli altri, scrive, viene letta, continua tranquillamente a esistere. Semplicemente, <strong>voi non la sentite più</strong>.</p>

<p>Pensare il contrario è un meccanismo abbastanza infantile: è il bambino che si tappa le orecchie e comincia a dire <em>lalalala, non ti sento</em>.</p>

<p>Il problema è che, quando questa cosa viene trasformata in una funzione dell&#39;interfaccia, rischia di nutrire a dismisura proprio quella sensazione: <em>io ho premuto il bottone, quindi tu sei sparito</em>. Una piccola gratificazione di potere che, in realtà, non corrisponde affatto a quello che sta succedendo.</p>

<p>Xenomorph mantiene comunque il blocco degli utenti. ActivityPub prevede infatti l&#39;attività <code>Block</code>, e Mastodon la usa anche tra server: quando un utente locale blocca un account remoto, può inviare al server remoto una <code>Block</code> activity.</p>

<p>Curiosamente, lo stesso standard ActivityPub raccomanda invece che queste attività <strong>non</strong> vengano normalmente consegnate all&#39;oggetto del blocco nel caso server-to-server; Mastodon ha scelto di farlo ugualmente come estensione del comportamento federato.</p>

<p>Ed è proprio questa informazione che Xenomorph può sfruttare.</p>

<p>Quando qualcuno vi blocca e il server remoto comunica il <code>Block</code>, Xenomorph se ne accorge. Internamente esiste anche una notifica dell&#39;evento, sebbene normalmente non ci sia alcun motivo per sbattervela in faccia: sapere che Tizio vi ha bloccato, nella maggior parte dei casi, non migliora in alcun modo la vostra giornata.</p>

<p>Xenomorph semplicemente <strong>blocca di rimando</strong>.</p>

<p>Non come vendetta, ma come conseguenza tecnica: se quell&#39;account ha dichiarato di non voler più interagire con voi, non c&#39;è una particolare ragione per continuare a spendere risorse nel tentativo di interagire con lui.</p>

<p>E anche questo blocco non deve necessariamente diventare eterno.</p>

<p>Se successivamente arriva un <code>Undo Block</code>, oppure l&#39;account remoto torna in una condizione nella quale l&#39;interazione è nuovamente valida secondo le regole di Xenomorph, il blocco automatico può essere rimosso. Mastodon stesso prevede esplicitamente <code>Undo</code> anche per annullare un precedente <code>Block</code>.</p>

<p>Il blocco manuale continua quindi a esistere, perché ovviamente ci sono situazioni nelle quali serve davvero. Anche Mastodon distingue il semplice <em>mute</em>, che serve sostanzialmente a non vedere qualcuno, dal <em>block</em>, che modifica anche la relazione tra i due account e impedisce follow e altre interazioni.</p>

<p>Ma in Xenomorph il blocco manuale dovrebbe essere soprattutto uno strumento per le situazioni nelle quali <strong>siete voi</strong> ad avere bisogno di interrompere un rapporto.</p>

<p>Per tutti quelli che invece decidono di bloccare voi, non c&#39;è bisogno di trasformare la cosa in un piccolo evento diplomatico.</p>

<p>Non dovete controllare chi vi ha bloccato.</p>

<p>Non dovete compilare liste.</p>

<p>Non dovete ricambiare manualmente.</p>

<p>Non dovete nemmeno interessarvene.</p>

<p>Se non volete occuparvi di chi vi blocca, semplicemente <strong>non fatelo</strong>.</p>

<p>Lasciate fare a Xenomorph.</p>

<p>Niente stress, nemmeno qui.</p>

<hr/>

<h3 id="il-numero-di-follower">Il numero di follower</h3>

<p>Poi c&#39;è il <strong>numero di follower</strong>.</p>

<p>È la continuazione digitale del vecchio: <em>sono il ragazzo o la ragazza più popolare del liceo</em>. Un meccanismo competitivo, tossico e abbastanza bullistico, molto da scuola superiore americana: la popolarità trasformata in una quantità numerica, visibile a tutti, e quindi utilizzabile come misura del valore sociale di una persona.</p>

<p>A che serve?</p>

<p>A monetizzare la popolarità? A stabilire quanto vale un influencer? A vendere pubblicità?</p>

<p>Perfetto. Allora nel Fediverso non serve.</p>

<p>Il problema non è nemmeno teorico. Abbiamo avuto esempi quasi caricaturali di questo modo di ragionare.</p>

<p>Nel 2012 Maurizio Gasparri rispose a un utente che lo criticava facendo notare che aveva soltanto 48 follower: prima «Seguito da 48, imbarazzante», poi «Con 48 non arrivi neanche all&#39;angolo», e infine il magnifico <strong>«Non sei nessuno»</strong>. Il</p>

<p>Corriere dell&#39;epoca riassunse la faccenda parlando, molto appropriatamente, di Twitter «tanto al peso».</p>

<p>Per la serie: <strong>io so&#39; io, e tu non sei un cazzo</strong>.</p>

<p>Gasparri.</p>

<p>Ed è precisamente questo il problema del contatore pubblico. Non misura soltanto una proprietà dell&#39;account: finisce inevitabilmente per diventare una gerarchia. Uno ne ha cento, uno diecimila, uno un milione, e improvvisamente sembra perfettamente naturale pensare che il terzo <em>conti</em> più del primo.</p>

<p>In Xenomorph, quindi, il proprietario dell&#39;account può vedere il proprio numero reale di follower quando è autenticato.</p>

<p>Le istanze federate, invece, vedranno sempre un numero falso e <strong>volutamente spropositato</strong>.</p>

<p>Non serve a simulare popolarità. Serve esattamente al contrario: a rendere il numero inutilizzabile come segnale di status.</p>

<p>Se ogni account dichiara di avere una quantità assurda di follower, il dato smette di servire per costruire classifiche, confronti, prestigio, ansia da prestazione e gerarchie sociali.</p>

<p>Quando tutti sono star, <strong>nessuno è una star</strong>.</p>

<p>E abbiamo eliminato un altro piccolo pezzo di liceo americano dal social network.</p>

<p><br>
<hr/></p>

<p>E con questo voglio dire una cosa.</p>

<p>Passando da un sistema centralizzato a uno federato avete risolto <strong>una parte</strong> del problema. Una parte importante, certamente: avete eliminato il singolo proprietario, il singolo algoritmo, il singolo centro di potere che può decidere per tutti.</p>

<p>Ma l&#39;altra parte del problema è rimasta lì.</p>

<p>Perché è <strong>insita nel design del servizio</strong>.</p>

<p>Se conservate gli stessi meccanismi sociali, le stesse metriche di prestigio, gli stessi pulsanti pensati per gratificare il conflitto e la stessa architettura delle interazioni, la decentralizzazione da sola non basta.</p>

<p>Avete cambiato chi controlla il sistema, ma non necessariamente quello che il sistema induce le persone a fare.</p>

<p>E adesso io ho deciso di attaccare proprio quella parte.</p>

<p>Xenomorph si trova qui:
<strong><a href="https://git.keinpfusch.net/loweel/xenomorph">https://git.keinpfusch.net/loweel/xenomorph</a></strong></p>

<p>L&#39;immagine Docker già pronta si trova qui:</p>

<p><strong><a href="https://hub.docker.com/r/loweel/xenomorph">https://hub.docker.com/r/loweel/xenomorph</a></strong></p>

<p>Le istruzioni per l&#39;installazione normale e per Docker/Docker Swarm si trovano direttamente nel repository, nei file <code>INSTALL.md</code> e <code>DOCKER.md</code>.</p>

<p>È già abbastanza stabile per ospitare pochi utenti e per essere usato sul serio. Il README lo definisce attualmente utilizzabile per test reali su piccole istanze e per il normale <em>dogfooding</em>, anche se è ancora in fase di hardening e non viene ancora presentato come scelta conservativa per istanze pubbliche lasciate incustodite.</p>

<p>Il resto verrà provandolo, rompendolo, correggendolo e soprattutto continuando a chiedersi una domanda che, secondo me, nel mondo dei social network viene fatta troppo raramente:
<strong>questa feature serve davvero agli utenti, oppure serve soltanto a riprodurre un comportamento tossico che ci siamo abituati a considerare normale?</strong></p>

<p><br>
<hr/></p>

<h1 id="english-version">ENGLISH VERSION</h1>

<hr/>

<p><br>
Writing Xenomorph from scratch, in a niche programming language like SPARK/Ada, gave me quite a lot of satisfaction, but at the same time it gave me a degree of creative freedom that I simply never had with the other forks.</p>

<p>And so, at some point, I had to ask myself a question: OK, you can change whatever you want. But <strong>what</strong>?</p>

<p>What would you change, exactly, if you had to design some kind of <strong>Fediverse 2.0</strong>?</p>

<p>The interesting thing is that Mastodon was born, in 2016, explicitly in the microblogging world as a decentralized alternative to Twitter. Eugen Rochko was a Twitter user dissatisfied with the direction the platform was taking, and he described Mastodon precisely as a federated alternative to Twitter.</p>

<p>So saying that Mastodon imitated Twitter&#39;s model is basically correct, even though the purpose was specifically to eliminate centralized control over the system.</p>

<p>And it does that well.</p>

<p>The problem is that Twitter — and finally you noticed — is a cesspool of toxicity.</p>

<p>And not only because it is centralized, or because at some point it ended up in the hands of this or that owner.</p>

<p>The problem goes deeper: there are <strong>MANY</strong> things in Twitter&#39;s design itself, in the way interactions are constructed, that push users toward toxic behavior.</p>

<p>So if you take Twitter, remove the central corporation and distribute the system across thousands of servers, you have certainly solved one very important problem.</p>

<p>But you have not necessarily solved the others.</p>

<p>So I decided that Xenomorph will continue to federate normally with the rest of the Fediverse, and will retain roughly the same essential set of features as snac, which inspired its philosophy of simplicity and lightweight design.</p>

<p>But it will not simply be another snac written in Ada.</p>

<p>The whole point of writing everything from scratch is precisely that I can take advantage of this freedom to modify some of the choices that, in my opinion, the Fediverse inherited almost automatically from the Twitter model.</p>

<p>Because if part of the problem lies in the design of the interactions themselves, then changing the transport protocol, decentralizing the servers, or distributing moderation is not enough.</p>

<p>You also have to change <strong>the way users are encouraged to behave</strong>.</p>

<p>And this is where the changes begin.</p>

<hr/>

<h3 id="instance-blocking">Instance blocking</h3>

<p>It was designed, obviously, with one of the most toxic ideas in the world in mind: <strong>cancel culture</strong>.</p>

<p>I am not saying that domain blocking historically originated <em>from</em> cancel culture. Technically, it exists because of a real moderation requirement: sometimes you need to isolate an entire server that produces spam, harassment, illegal material, or simply so many problems that dealing with its users one by one would be ridiculous.</p>

<p>Mastodon therefore allows administrators to limit or suspend entire domains for exactly this reason.</p>

<p>The problem is the mental model that comes with it.</p>

<p>Because the moment you put a big button into someone&#39;s hands which metaphorically says <strong>“delete those people from my universe”</strong>, you are also creating a role that attracts every aspiring sheriff on the planet: people who want to become admins partly for the pleasure of being able to block Tom, Dick, Harry, and perhaps the entire town they come from, while feeling invested with some kind of moral authority.</p>

<p>It is a necessary feature in some cases.</p>

<p>But it is also a potentially toxic feature.</p>

<p>Xenomorph instead tries to remove as much of this dynamic as possible from the administrator&#39;s hands.</p>

<p>It has its own automatic detection mechanism: if it discovers that a remote instance has blocked it, it reacts by blocking that instance in return.</p>

<p>Not out of spite, but because continuing to attempt federation with someone who has already decided not to receive your activities simply means wasting traffic, queues, retries, and resources.</p>

<p>The interesting part is that the block is not treated as an eternal sentence.</p>

<p>If the remote instance later starts sending valid activities again, Xenomorph interprets this as a signal that federation is possible again and automatically removes <strong>its own</strong> block.</p>

<p>So there are no blacklists to maintain religiously, no grudges surviving for years, no diplomatic archaeology required to discover why somebody blocked somebody else in 2024.</p>

<p>Most importantly: <strong>no administrative burden</strong>.</p>

<p>It all happens automatically.</p>

<p>Then, of course, there is the exceptional case.</p>

<p>The case where you are not merely receiving a remote block, but genuinely need to cut off all relations with an instance immediately: for example because it is distributing illegal material, or because it is causing a problem serious enough that you cannot wait for the normal automatic mechanisms.</p>

<p>In that case, there is the <strong>Nuke</strong> button.</p>

<p>The name is intentional: it must be perfectly clear that this is not routine administration.</p>

<p>You are using the nuclear option.</p>

<p>It is available only to the administrator.</p>

<p>But even a <strong>Nuke</strong> can be reversed.</p>

<p>Because a moderation system that only knows how to accumulate blocks, without also having a mechanism for forgetting them when they are no longer necessary, does not eventually become safer.</p>

<p>It simply becomes fossilized.</p>

<hr/>

<h3 id="blocking-remote-users">Blocking remote users</h3>

<p>For many users, <strong>blocking</strong> eventually becomes another toxic mechanism: the mechanism that makes them think they have <em>silenced</em> someone.</p>

<p>Except that not hearing someone anymore and having silenced them are two completely different things.</p>

<p>That person keeps talking.</p>

<p>They talk to other people, they write, they are read, they continue to exist perfectly well.</p>

<p>You simply <strong>do not hear them anymore</strong>.</p>

<p>Thinking otherwise is a rather childish mechanism: it is the child putting their hands over their ears and going <em>lalalala, I can&#39;t hear you</em>.</p>

<p>The problem is that when this behavior is turned into an interface feature, it risks feeding exactly that feeling to absurd proportions:</p>

<p><em>I pressed the button, therefore you disappeared.</em></p>

<p>A tiny gratification of power which, in reality, does not correspond to what is actually happening.</p>

<p>Xenomorph still supports user blocking.</p>

<p>ActivityPub defines the <code>Block</code> activity, and Mastodon also uses it between servers: when a local user blocks a remote account, it can send a <code>Block</code> activity to the remote server.</p>

<p>Interestingly, the ActivityPub standard itself recommends that these activities <strong>not</strong> normally be delivered to the object of the block in server-to-server communication; Mastodon chose to do so anyway as an extension of federated behavior.</p>

<p>And this is precisely the information Xenomorph can use.</p>

<p>When somebody blocks you and the remote server communicates the <code>Block</code>, Xenomorph notices.</p>

<p>Internally, there is even a notification for the event, although there is normally no reason to shove it into your face: knowing that some random person blocked you will, in most cases, not improve your day in any way.</p>

<p>Xenomorph simply <strong>blocks them back</strong>.</p>

<p>Not as revenge, but as a technical consequence: if that account has declared that it no longer wants to interact with you, there is little reason to keep spending resources attempting to interact with it.</p>

<p>And this block does not need to become eternal either.</p>

<p>If an <code>Undo Block</code> later arrives, or the remote account returns to a state in which interaction is valid again according to Xenomorph&#39;s rules, the automatic block can be removed.</p>

<p>Mastodon itself explicitly supports <code>Undo</code> to reverse a previous <code>Block</code>.</p>

<p>Manual blocking therefore still exists, because obviously there are situations where it is genuinely necessary.</p>

<p>Mastodon itself distinguishes a simple <em>mute</em>, which essentially means that you no longer see somebody, from a <em>block</em>, which also changes the relationship between the two accounts and prevents follows and other interactions.</p>

<p>But in Xenomorph, manual blocking should mainly be a tool for situations in which <strong>you</strong> need to terminate a relationship.</p>

<p>For everyone who decides to block you instead, there is no reason to turn the event into a miniature diplomatic crisis.</p>

<p>You do not have to check who blocked you.</p>

<p>You do not have to maintain lists.</p>

<p>You do not have to retaliate manually.</p>

<p>You do not even have to care.</p>

<p>If you do not want to deal with people who block you, simply <strong>don&#39;t</strong>.</p>

<p>Let Xenomorph handle it.</p>

<p>No stress here either.</p>

<hr/>

<h3 id="follower-counts">Follower counts</h3>

<p>Then there is the <strong>follower count</strong>.</p>

<p>It is the digital continuation of the old:</p>

<p><em>I am the most popular boy or girl in high school.</em></p>

<p>A competitive, toxic, fairly bullying mechanism, very much in the style of an American high school: popularity transformed into a number, visible to everyone, and therefore usable as a measurement of somebody&#39;s social value.</p>

<p>What is it for?</p>

<p>Monetizing popularity?</p>

<p>Establishing how much an influencer is worth?</p>

<p>Selling advertising?</p>

<p>Perfect.</p>

<p>Then we do not need it in the Fediverse.</p>

<p>And this problem is not merely theoretical.</p>

<p>We have seen almost caricatural examples of this kind of thinking.</p>

<p>In 2012, Maurizio Gasparri replied to a user who criticized him by pointing out that the user had only 48 followers.</p>

<p>First:</p>

<blockquote><p>“Followed by 48 people, embarrassing.”</p></blockquote>

<p>Then:</p>

<blockquote><p>“With 48 you don&#39;t even make it around the corner.”</p></blockquote>

<p>And finally the magnificent:</p>

<blockquote><p><strong>“You are nobody.”</strong></p></blockquote>

<p>The <em>Corriere</em> at the time summarized the affair, quite appropriately, as Twitter being valued “by weight.”</p>

<p>Or, to quote the Roman expression:</p>

<p><strong>io so&#39; io, e tu non sei un cazzo.</strong></p>

<p>Roughly:</p>

<p><strong>I&#39;m somebody, and you&#39;re fucking nobody.</strong></p>

<p>Gasparri.</p>

<p>And that is precisely the problem with the public counter.</p>

<p>It does not merely measure a property of the account: inevitably, it becomes a hierarchy.</p>

<p>One person has a hundred followers, another has ten thousand, another has a million, and suddenly it seems perfectly natural to assume that the third person somehow <em>matters</em> more than the first.</p>

<p>So in Xenomorph, the owner of an account can see their real follower count while authenticated.</p>

<p>Federated instances, however, will always see a fake and <strong>deliberately ridiculous</strong> number.</p>

<p>The purpose is not to simulate popularity.</p>

<p>Quite the opposite: the purpose is to make the number useless as a status signal.</p>

<p>If every account claims to have an absurd number of followers, then the metric stops being useful for rankings, comparisons, prestige, performance anxiety, and social hierarchies.</p>

<p>When everybody is a star, <strong>nobody is a star</strong>.</p>

<p>And we have removed yet another small piece of American high school from the social network.</p>

<hr/>

<p>And with all this, I want to make one point.</p>

<p>By moving from a centralized system to a federated one, you solved <strong>part</strong> of the problem.</p>

<p>An important part, certainly: you removed the single owner, the single algorithm, the single center of power capable of deciding for everyone.</p>

<p>But the other part of the problem remained exactly where it was.</p>

<p>Because it is <strong>built into the design of the service</strong>.</p>

<p>If you preserve the same social mechanisms, the same prestige metrics, the same buttons designed to reward conflict, and the same architecture of interactions, decentralization alone is not enough.</p>

<p>You changed who controls the system.</p>

<p>You did not necessarily change what the system encourages people to do.</p>

<p>And now I have decided to attack precisely that part.</p>

<p>Xenomorph is here:</p>

<p><strong><a href="https://git.keinpfusch.net/loweel/xenomorph">https://git.keinpfusch.net/loweel/xenomorph</a></strong></p>

<p>The ready-to-use Docker image is here:</p>

<p><strong><a href="https://hub.docker.com/r/loweel/xenomorph">https://hub.docker.com/r/loweel/xenomorph</a></strong></p>

<p>Instructions for normal installation and for Docker/Docker Swarm are available directly in the repository, in <code>INSTALL.md</code> and <code>DOCKER.md</code>.</p>

<p>It is already stable enough to host a small number of users and to be used for real.</p>

<p>The README currently describes it as suitable for real-world testing on small instances and normal <em>dogfooding</em>, although it is still undergoing hardening and is not yet presented as the conservative choice for unattended public instances.</p>

<p>The rest will come from trying it, breaking it, fixing it, and above all from continuing to ask a question which, in my opinion, is asked far too rarely in the world of social networks:</p>

<p><strong>does this feature actually serve the users, or does it merely reproduce a toxic behavior that we have become accustomed to considering normal?</strong></p>

<div style="text-align: left;">
  Uriel Fanelli<br>
  <br>
  --<br>
  Written using Blogfrei:
  <a href="https://git.keinpfusch.net/loweel/blogfrei">https://git.keinpfusch.net/loweel/blogfrei</a><br>
  Fedi: <a href="https://keinpfusch.net/@/uriel@bbs.keinpfusch.net" class="u-url mention">@<span>uriel@bbs.keinpfusch.net</span></a><br>
  XMPP: uriel@keinpfusch.net<br>
  vecchio blog:
  <a href="https://blog.keinpfusch.net">https://blog.keinpfusch.net</a><br>
  email:
  <a href="mailto:blog@keinpfusch.net">blog@keinpfusch.net</a><br>
</div>
]]></content:encoded>
      <guid>https://keinpfusch.net/fediverso-2-0-english-version-at-the-end</guid>
      <pubDate>Tue, 25 Aug 2026 12:33:53 +0000</pubDate>
    </item>
    <item>
      <title>E discutiamo di &#34;woke&#34;?</title>
      <link>https://keinpfusch.net/e-discutiamo-di-woke</link>
      <description>&lt;![CDATA[In questi giorni stiamo vedendo sui giornali italiani una conferma, quasi a fortiori, di quello che sostenevo qualche post fa: l’Italia ha la singolare abitudine di fare propri i problemi degli americani, anziché preoccuparsi prima dei propri.&#xA;Un esempio è la discussione, esplosa recentemente anche in Italia, sulla questione “woke”. Discussione che potrei tranquillamente liquidare dicendo: a nessuno frega un cazzo, tranne che a qualche migliaio di studenti universitari. E questo, con proporzioni diverse, vale sia qui sia negli Stati Uniti.&#xA;&#xA;!--more--&#xA;&#xA;O, se preferite una formulazione meno brutale: è essenzialmente una questione liberal, nel significato americano del termine. Riguarda soprattutto battaglie culturali, linguistiche, identitarie e accademiche che appartengono alla tradizione politica liberal statunitense. Il problema è che tutto questo ha ben poco a che vedere con le tradizionali istanze socialdemocratiche europee: salari, lavoro, pensioni, sanità, scuola, casa, welfare, redistribuzione e sicurezza economica. Che sono poi, molto più concretamente, il genere di aspettative che una larga parte degli italiani continua ad avere quando pensa alla politica e, soprattutto, quando pensa a ciò che dovrebbe fare una sinistra.&#xA;&#xA;Chi invoca la questione “woke”, invece, dimentica spesso due grossi convitati di pietra storici.&#xA;&#xA;Quando una sinistra sposta il proprio baricentro dal conflitto sociale alla battaglia culturale, la destra radicale tende molto spesso a beneficiarne. Forse non sempre, ma il meccanismo ricorre con una regolarità abbastanza inquietante: quando la sinistra comincia a parlare soprattutto il linguaggio di minoranze politicizzate, ambienti universitari e avanguardie culturali, lasciando alla destra il linguaggio del lavoro, dell’ordine, della sicurezza e della vita quotidiana, la destra finisce spesso per raccogliere precisamente gli elettori che la sinistra ha smesso di rappresentare. E qualche volta, storicamente, il risultato è stato molto peggiore di una semplice sconfitta elettorale.&#xA;Il meccanismo del comunicare-tramite-fastidio può forse funzionare negli Stati Uniti, ma in Italia ha pochissimo senso, e storicamente ha quasi sempre funzionato male. L’idea è quella di ottenere visibilità provocando deliberatamente una reazione: modificare il linguaggio, violare convenzioni, imporre continuamente nuovi codici sociali, costringere l’interlocutore a prendere posizione. Negli Stati Uniti, dove politica, università, media e industria culturale sono fortemente intrecciati e dove la polarizzazione stessa produce pubblico, denaro e mobilitazione, una strategia del genere può perfino avere una sua razionalità.&#xA;&#xA;In Italia, molto meno. Qui il fastidio raramente viene interpretato come pedagogia politica: viene interpretato come fastidio. E quando una forza politica dà l’impressione di voler educare, correggere o disciplinare linguisticamente persone che non le hanno chiesto nulla, queste persone non diventano automaticamente più progressiste. Molto più facilmente, smettono di ascoltarla oppure votano qualcun altro.&#xA;&#xA;br&#xA;&#xA;Certo, dopo anni di Trump, gli americani voterebbero forse per chiunque. Ma bisogna ricordarsi una caratteristica abbastanza curiosa dell’elettorato americano: le elezioni di Mid-Term vengono usate molto spesso per punire il presidente in carica, senza che questo significhi necessariamente volerlo cacciare due anni dopo.&#xA;&#xA;Anzi, storicamente è quasi la norma che il partito del presidente perda terreno alle Mid-Term. È successo in 20 delle ultime 22 elezioni di metà mandato a partire dal 1938.&#xA;&#xA;E gli esempi più recenti sono piuttosto istruttivi.&#xA;&#xA;Nel 1982 i repubblicani di Reagan persero 26 seggi alla Camera. Due anni dopo Reagan venne rieletto travolgendo Walter Mondale e conquistando 49 Stati su 50.&#xA;&#xA;Nel 1994 arrivò la famosa Republican Revolution di Newt Gingrich: i democratici di Bill Clinton persero 54 seggi alla Camera e il controllo del Congresso. Sembrava quasi il certificato di morte della presidenza Clinton. Nel 1996, invece, Clinton venne rieletto comodamente.&#xA;&#xA;Nel 2010 arrivò un’altra catastrofe: i democratici di Obama persero 63 seggi alla Camera, una delle peggiori sconfitte di Mid-Term dell’epoca moderna. Due anni dopo Obama batté comunque Mitt Romney e rimase alla Casa Bianca.&#xA;&#xA;Questo perché Mid-Term e presidenziali sono elezioni diverse, con elettorati parzialmente diversi e soprattutto con una funzione politica diversa. Alle Mid-Term l’americano può permettersi di dire al presidente: “mi stai sulle palle, adesso ti tolgo il Congresso”. Alle presidenziali, due anni dopo, la domanda diventa invece: “bene, ma tra questi due chi voglio alla Casa Bianca?”&#xA;&#xA;Sono due giudizi che possono tranquillamente produrre risultati opposti.&#xA;&#xA;Perciò una possibile sconfitta repubblicana alle Mid-Term non sarebbe, da sola, la dimostrazione dell’esistenza di una gigantesca conversione ideologica dell’America. Potrebbe essere semplicemente l’ennesima applicazione di un comportamento elettorale che gli americani praticano da decenni: bastonare il presidente a metà mandato, e poi eventualmente rieleggerlo.&#xA;&#xA;br&#xA;Ma il problema, ripeto, rimane essenzialmente americano.&#xA;&#xA;È negli Stati Uniti che stanno vincendo candidati definibili, dentro le coordinate politiche americane*, come “woke”. È lì che questa categoria descrive realmente una corrente politica, un elettorato, un pezzo del mondo universitario e mediatico e, in alcuni casi, candidati che su quelle battaglie costruiscono una parte consistente della propria identità politica.&#xA;&#xA;In Italia, semplicemente, non sta succedendo la stessa cosa.&#xA;&#xA;Se anche volessimo forzare l’analogia e considerare le elezioni locali italiane come una specie di equivalente delle Mid-Term americane, bisognerebbe poi andare a vedere chi si presenta davvero alle elezioni. E di questa fantomatica ondata “woke”, tra i candidati italiani, se ne vede piuttosto poca.&#xA;&#xA;E nemmeno la presidenza del PD fornisce un grande sostegno alla tesi. Elly Schlein è certamente molto più sensibile ai temi dei diritti civili rispetto a parecchi suoi predecessori, ma il resto del PD gioca un gioco diverso. Chi sarebbero &#34;woke&#34; del PD?&#xA;&#xA;Se poi allarghiamo il cosiddetto “campo progressista” e ci mettiamo dentro anche il Movimento 5 Stelle, la faccenda diventa ancora più evidente. Le priorità che il M5S sta discutendo per il proprio programma riguardano sanità, lavoro, welfare, crescita economica, piccole imprese, disabilità, agricoltura, scuola, evasione fiscale, giustizia e politica europea. Potrà piacere o non piacere Conte, ma chiamare tutto questo “woke” richiede ormai una definizione della parola talmente larga da renderla praticamente inutile.&#xA;&#xA;E quanto agli altri cespugli della sinistra italiana: se è lì che dovrebbe nascondersi la grande avanzata politica del woke, beh, auguri.&#xA;&#xA;Perché a quel punto non stiamo più descrivendo una forza politica capace di conquistare il paese. Stiamo descrivendo qualche percentuale elettorale, qualche assemblea universitaria e parecchie discussioni sui giornali.&#xA;&#xA;Che è precisamente il mio punto: abbiamo importato dagli Stati Uniti persino il dibattito sull’esistenza di un fenomeno politico che, nelle dimensioni nelle quali viene raccontato, in Italia praticamente non esiste.&#xA;&#xA;E ripeto: praticamente.&#xA;&#xA;E se pensate il contrario, allora facciamo una cosa semplice: indicatemi chi sarebbero, concretamente, i politici “woke” del PD.&#xA;&#xA;Nomi e cognomi, possibilmente. Non impressioni, non aggettivi, non il fatto che qualcuno abbia partecipato a un Pride o abbia parlato di diritti civili.&#xA;&#xA;Perché se dentro questa categoria ci mettete automaticamente anche Elly Schlein, allora abbiamo un problema molto semplice: la parola “woke” non significa più nulla.&#xA;&#xA;Schlein può essere definita progressista, liberal sui diritti civili, ecologista, socialdemocratica su molte questioni economiche. Ma se basta questo per diventare “woke”, allora “woke” finisce per significare semplicemente “politico di sinistra che non piace alla destra”.&#xA;&#xA;E a quel punto non è più una categoria politica: è un insulto generico.&#xA;&#xA;*&#xA;&#xA;br&#xA;E come se non bastasse, il woke tende spesso ad adottare una tattica politica che, storicamente, ha dimostrato di funzionare molto male da almeno un secolo: grosso modo dalla rivolta spartachista in poi.&#xA;&#xA;Non sto dicendo che il woke sia marxista-leninista in senso dottrinario. Sto dicendo che il meccanismo politico della provocazione e dell’escalation assomiglia molto a quello della tradizione rivoluzionaria novecentesca.&#xA;&#xA;Funziona più o meno così:&#xA;&#xA;Una parte comincia alzando deliberatamente il livello dello scontro. Il linguaggio diventa militante, aggressivo: lotta, rivoluzione, resistenza, combattere. Anche le manifestazioni cercano esplicitamente di essere provocatorie, disturbanti, oltraggiose.&#xA;La controparte reagisce e comincia a usare un linguaggio altrettanto violento.&#xA;A quel punto la tensione sale ancora, e questa sinistra scende in piazza nella maniera più provocatoria possibile.&#xA;Prima o poi qualcuno, dall’altra parte, cede alla violenza.&#xA;A quel punto si denuncia la violenza subita, si alza ulteriormente il volume dello scontro e contemporaneamente si presenta la propria provocazione come qualcosa di “allegro, colorato e pacifico”.&#xA;Lo scontro verbale diventa scontro fisico.&#xA;Qualcuno, prima o poi, ci lascia la pelle.&#xA;E nella mitologia rivoluzionaria dovrebbe essere proprio quella la scintilla: il morto che rende intollerabile la situazione, mobilita le masse e fa partire qualcosa di molto più grande.&#xA;&#xA;È uno schema che ha un precedente reale nella politica rivoluzionaria europea, ma bisogna stare attenti a non trasformarlo in una caricatura della Rivoluzione russa: i bolscevichi non abbatterono lo zar semplicemente irritando abbastanza la controparte. Nel 1917 c’erano una guerra mondiale, un esercito allo sfascio, carestie, una crisi dello Stato e una rivoluzione già in corso. Insomma, condizioni leggermente più sostanziose di qualche slogan particolarmente irritante.&#xA;&#xA;Il problema è che, quando questo modello incontra una destra organizzata e disposta a usare una violenza molto superiore, il finale cambia completamente.&#xA;&#xA;La rivolta berlinese del gennaio 1919 — quella tradizionalmente chiamata “spartachista”, anche se gli storici discutono quanto sia corretto attribuirne la direzione agli spartachisti — finì nel giro di pochi giorni sotto i colpi dell’esercito e dei Freikorps. Rosa Luxemburg e Karl Liebknecht vennero poi assassinati.&#xA;&#xA;In Italia il fenomeno fu ancora più evidente nel passaggio dal Biennio Rosso al Biennio Nero. Scioperi, occupazioni e retorica rivoluzionaria non produssero la rivoluzione socialista: produssero anche una reazione organizzata, finanziata e armata, cioè lo squadrismo fascista, che attaccò sistematicamente sedi sindacali, cooperative, amministrazioni socialiste e organizzazioni della sinistra.&#xA;&#xA;I fatti di Parma del 1922, a essere precisi, sono un caso particolarmente interessante proprio perché localmente andarono al contrario: gli Arditi del Popolo e gli abitanti dei quartieri popolari riuscirono a respingere migliaia di squadristi fascisti e costrinsero Italo Balbo alla ritirata. Fu una vittoria militare antifascista.&#xA;&#xA;Solo che due mesi dopo ci fu la Marcia su Roma.&#xA;&#xA;Ed è proprio questo il dettaglio istruttivo: puoi anche vincere la battaglia di strada. Non significa affatto che tu stia vincendo politicamente il paese.&#xA;&#xA;La Spagna di Franco costituisce poi una prova a fortiori: quando la polarizzazione politica sfocia nella logica secondo cui lo scontro definitivo è ormai inevitabile, e dall’altra parte esistono esercito, milizie, apparati e forze politiche perfettamente disposte a combatterlo davvero, non è affatto garantito che la “scintilla rivoluzionaria” accenda la rivoluzione che avevi ordinato dal catalogo. Può benissimo accendere quella degli altri.&#xA;&#xA;Nella realtà, quindi, il processo tende a rompersi circa a metà.&#xA;&#xA;A un certo punto entra in campo una controparte che non considera più la provocazione un gioco comunicativo, e risponde con una violenza sproporzionata. Oppure intervengono gli apparati dello Stato con manganelli, arresti e repressione. In Italia repubblicana questo ruolo verrà svolto, in altri contesti e in un’altra epoca, anche dai reparti celeri della polizia: ma la Celere appartiene al dopoguerra e non va confusa con lo squadrismo fascista.&#xA;&#xA;Ed è lì che le velleità rivoluzionarie normalmente finiscono: non nella presa del Palazzo d’Inverno, ma in qualche cassonetto incendiato, qualche vetrina sfondata, qualche ferito e una gigantesca caciara televisiva nella quale nessuno ricorda più quale fosse il problema iniziale.&#xA;&#xA;Con un ulteriore dettaglio: quasi sempre, a quel punto, la maggioranza della popolazione non vede la “rivoluzione”.&#xA;&#xA;Vede il caos.&#xA;&#xA;E al potere vanno i fascisti, promettendo di riportare ordine.&#xA;&#xA;Ci-cascano-sempre.&#xA;&#xA;*&#xA;&#xA;br&#xA;Su questo si innesta un altro problema grave del woke: la perdita del senso del ridicolo, o forse del patetico. Cioè l’incapacità di distinguere tra una rivendicazione ragionevole e una formulazione talmente esagerata da rendere ridicola perfino la rivendicazione originaria.&#xA;&#xA;Per fare un esempio.&#xA;&#xA;Un conto è dire che le persone trans non devono essere aggredite, picchiate o discriminate per strada. Su questo, direi, qualsiasi persona ragionevole può aderire senza bisogno di una teoria politica particolarmente sofisticata: non si picchiano le persone perché sono trans. Fine.&#xA;&#xA;Un altro conto è sostenere che, siccome la biologia della riproduzione sessuata è complessa e presenta eccezioni, varianti dello sviluppo sessuale e casi che non rientrano perfettamente nelle classificazioni più semplici, allora la scienza direbbe che non esistono differenze tra maschi e femmine.&#xA;&#xA;La scienza non dice questo.&#xA;&#xA;La biologia distingue normalmente il sesso sulla base dell’organizzazione riproduttiva: produzione di gameti grandi o piccoli, insieme alle strutture anatomiche e fisiologiche collegate. Il fatto che esistano condizioni intersessuali, anomalie cromosomiche o variazioni dello sviluppo sessuale rende la realtà biologica più complessa; non rende inesistente la distinzione sessuale.&#xA;&#xA;Allo stesso modo, bisogna stare molto attenti a frasi come “la scienza dice che i maschi possono rimanere gravidi”. Un uomo trans può certamente rimanere incinto se conserva utero e ovaie funzionanti: questo è un fatto medico. Ma questo non significa che un organismo maschile, nel significato biologico e riproduttivo del termine, abbia acquisito improvvisamente la capacità di gestare. Significa che stiamo usando “uomo” come categoria di identità di genere e “maschio” come categoria biologica, e che confondere deliberatamente i due piani produce soltanto rumore.&#xA;&#xA;Sono due cose diverse.&#xA;&#xA;Ed è precisamente qui che nasce il problema politico: una battaglia perfettamente comprensibile — non aggredite e non discriminate le persone trans — viene appesantita da affermazioni pseudoscientifiche o da giochi semantici che non sono necessari per sostenerla.&#xA;&#xA;E quando per difendere una posizione moralmente semplice siete costretti a pretendere che la biologia dica qualcosa che non dice, non state rendendo più forte quella posizione.&#xA;&#xA;La state rendendo più facile da ridicolizzare.&#xA;&#xA;Anche il fatto che, sui temi più delicati, si tenda a estremizzare tutto è devastante.&#xA;&#xA;Prendiamo l’aborto. La destra americana, su questo tema, riesce tranquillamente a produrre posizioni deliranti: divieti quasi assoluti, attacchi all’autonomia delle donne, legislazioni costruite come se una gravidanza fosse una questione astratta e non una faccenda medica, personale e spesso traumatica.&#xA;&#xA;Ma proporre come alternativa culturale Lena Dunham che dice “I still haven’t had an abortion, but I wish I had”* non è esattamente un modo meno delirante di affrontare la questione.&#xA;&#xA;La frase è autentica. Dunham la pronunciò nel 2016, durante il suo podcast Women of the Hour, in un episodio dedicato allo stigma sull’aborto. Il contesto era questo: raccontava di essersi resa conto di provare lei stessa una specie di imbarazzo nel precisare di non avere mai abortito, nonostante fosse attivista pro-choice. Da lì arrivò quella frase, che voleva essere una provocazione contro lo stigma.&#xA;&#xA;Il problema è che la provocazione divorò completamente il messaggio.&#xA;&#xA;Tanto che Dunham stessa, il giorno dopo, si scusò definendola una “distasteful joke”, precisando di non voler banalizzare le difficoltà fisiche ed emotive legate all’interruzione di gravidanza.&#xA;&#xA;E infatti la domanda rimane: per chi parlava Lena Dunham?&#xA;&#xA;Perché io non ho mai sentito una donna che abbia davvero dovuto affrontare un aborto dire: “bella esperienza, facciamo un altro giro?”. E naturalmente le esperienze individuali sono diversissime: per alcune donne può prevalere il sollievo, per altre il dolore, per altre ancora entrambe le cose. Ma proprio per questo trasformare l’aborto in una specie di distintivo identitario, qualcosa che quasi si dovrebbe desiderare per dimostrare di essere abbastanza emancipati, è una caricatura persino della posizione pro-choice.&#xA;&#xA;La posizione ragionevole sarebbe molto più semplice: una donna deve poter interrompere una gravidanza quando decide che quella è la scelta giusta per lei, senza che lo Stato, una chiesa o qualche invasato politico glielo impediscano.&#xA;&#xA;Non occorre desiderare un aborto.&#xA;&#xA;Non occorre celebrarlo.&#xA;&#xA;Occorre poterlo scegliere.&#xA;&#xA;Ma quando il bisogno di essere provocatori diventa più importante del tema di cui state parlando, riuscite nel piccolo miracolo politico di prendere una posizione largamente difendibile e trasformarla in qualcosa che persino molte persone favorevoli al diritto all’aborto trovano grottesco.&#xA;&#xA;E ancora una volta il problema diventa quello di prima: il senso del ridicolo.&#xA;&#xA;E quello della misura, anche.&#xA;&#xA;br&#xA;Infine, il problema del femminicidio offre a Vannacci la possibilità di attaccare tutto il tema, nonostante dovrebbe essere, per la sinistra, un ariete politico formidabile*.&#xA;&#xA;Chiunque sia sano di mente riconoscerà che uccidere una donna approfittando anche della propria maggiore forza fisica e della maggiore capacità di infliggere violenza letale sia qualcosa da reprimere con estrema decisione.&#xA;&#xA;Eppure Vannacci riesce comunque a qualificarsi politicamente su questo argomento.&#xA;&#xA;Come fa?&#xA;&#xA;Anche perché una parte della sinistra cosiddetta woke riesce a trasformare il problema in una questione principalmente nominalistica, come se il punto decisivo fosse stabilire come debba chiamarsi il reato.&#xA;“Femminicidio” oppure “omicidio”? Una fattispecie autonoma oppure un’aggravante? Il nome descrive correttamente il fenomeno oppure introduce una distinzione artificiale?&#xA;&#xA;Dategli pure il contentino al botolo militare.&#xA;&#xA;Chiamatelo “omicidio misogino”, se proprio il termine femminicidio gli procura l’orticaria. Oppure trovate un’altra formulazione giuridicamente sensata. Il nome, rispetto al problema concreto, è secondario.&#xA;&#xA;Perché il problema importante non è vincere una gara terminologica.&#xA;&#xA;Il problema importante è capire quali omicidi di donne costituiscano un fenomeno specifico, quali siano davvero le cause di quel fenomeno e quali strumenti funzionino realmente per impedirli.&#xA;&#xA;Ed è proprio qui che la discussione dovrebbe diventare interessante.&#xA;&#xA;Invece, se passate il tempo a litigare sulla parola da stampare sull’etichetta, regalate alla destra il terreno ideale. La discussione non riguarda più donne morte, cause, prevenzione, efficacia delle leggi o capacità delle istituzioni di intervenire.&#xA;&#xA;Riguarda un vocabolo.&#xA;&#xA;E su un vocabolo Vannacci può fare quello che vuole: può costruire paradossi, analogie, battute, casi-limite e tutta la consueta artiglieria retorica.&#xA;&#xA;Perché i fascisti, quando si tratta di retorica, sono storicamente piuttosto allenati.&#xA;&#xA;Casomai nessuno lo avesse notato.&#xA;&#xA;br&#xA;E su questo tema si innesta un’altra ideologia zombie. Zombie nel senso letterale del termine: morta, putrefatta, ma ancora perfettamente capace di mangiarti il cervello.&#xA;Secondo questa lettura, lo schema sarebbe più o meno questo:&#xA;&#xA;DONNA SE NE VA -  IDEOLOGIA MASCHILISTA -  PATRIARCATO / POSSESSO / CONTROLLO -  VIOLENZA -  UCCISIONE&#xA;&#xA;Il maschio, cioè, ucciderebbe la donna perché non ne accetta l’autonomia, l’indipendenza, la libertà di andarsene; e questa incapacità di accettarla sarebbe a sua volta il prodotto del patriarcato.&#xA;&#xA;Il problema è che presentare questo schema come la spiegazione della violenza maschile è una puttanata.&#xA;&#xA;Non perché controllo, possesso, gelosia o modelli tradizionali di genere non possano entrare in gioco. La ricerca trova associazioni anche con questi fattori. Ma trova contemporaneamente rabbia, gelosia, paura dell’abbandono, umiliazione, stress relazionale e, soprattutto, difficoltà nella regolazione delle emozioni. Una meta-analisi su 62 campioni trova infatti un’associazione significativa, da piccola a moderata, fra difficoltà di regolazione emotiva e violenza di coppia; altre revisioni mostrano che gelosia, rabbia, bisogno di controllo e disregolazione emotiva possono coesistere nello stesso meccanismo.&#xA;&#xA;Ed è proprio per questo che ridurre tutto a “patriarcato e possesso” produce immediatamente l’abbandono di gran parte del pubblico maschile.&#xA;&#xA;Perché moltissimi uomini non si riconoscono affatto in quello schema.&#xA;&#xA;Se volete costruire un modello che almeno descriva una parte importante di ciò che succede nella testa di un uomo quando una relazione collassa, lo schema può essere molto più banalmente questo:&#xA;&#xA;DONNA SE NE VA -  SOFFERENZA -  NON RIESCO A GESTIRE LA SOFFERENZA -  RABBIA / DISREGOLAZIONE -  VIOLENZA -  UCCISIONE&#xA;&#xA;Questo, almeno, descrive un meccanismo psicologico riconoscibile.&#xA;&#xA;Essere lasciati, sentirsi umiliati, sentire certe parole, vedere la persona con qualcun altro, percepire di aver perso definitivamente una relazione: tutto questo può produrre gelosia, certo, ma la gelosia stessa non è una sostanza misteriosa. È un impasto di rabbia, tristezza, paura, vergogna, senso di perdita, impotenza e umiliazione. La letteratura psicologica sulla gelosia romantica descrive infatti proprio questa combinazione di emozioni, e collega gelosia e sospetta infedeltà a un aumento del rischio di violenza di coppia.&#xA;&#xA;Il punto, quindi, non è assolvere chi diventa violento perché “stava soffrendo”. La sofferenza può essere comprensibile oppure assurda, proporzionata oppure patologica: non giustifica comunque la violenza.&#xA;&#xA;Il punto è capire quale meccanismo si debba interrompere.&#xA;&#xA;Perché se il percorso reale, almeno in molti casi, passa attraverso l’incapacità di gestire perdita, rifiuto, rabbia, umiliazione e dolore emotivo, allora una politica di prevenzione che parli soltanto di “decostruire il patriarcato” rischia di mancare una parte enorme del bersaglio.&#xA;&#xA;Ed è qui che arriviamo alla famosa educazione affettiva.&#xA;&#xA;Che io, peraltro, penso sia utile e che andrebbe fatta.&#xA;&#xA;Ma dovrebbe comprendere molto più esplicitamente qualcosa che potremmo chiamare educazione alla gestione della sofferenza: cosa succede quando vieni lasciato; cosa fai quando non dormi perché continui a ripeterti in testa una conversazione; cosa fai quando senti salire rabbia e umiliazione; come riconosci il momento in cui stai perdendo il controllo; come ti allontani fisicamente dalla situazione; come chiedi aiuto prima di trasformare una crisi emotiva in violenza.&#xA;&#xA;Questo sarebbe un linguaggio nel quale molti uomini potrebbero riconoscersi.&#xA;&#xA;Dire invece a un ragazzo:&#xA;&#xA;  “Potresti diventare violento perché sei stato educato dal patriarcato a considerare la donna una tua proprietà”&#xA;&#xA;può magari descrivere alcuni individui e alcuni contesti, ma se viene proposto come spiegazione universale produce un problema ovvio: la maggioranza degli uomini non riconosce la propria esperienza interiore in quella descrizione*.&#xA;&#xA;E quando una teoria pretende di spiegare le persone meglio di quanto quelle persone riescano a riconoscersi nella teoria, forse vale la pena chiedersi se non sia la teoria ad avere bisogno di una revisione.&#xA;&#xA;La vecchia spiegazione del possesso e dell’onore aveva certamente molto più senso in una società nella quale il delitto d’onore era persino riconosciuto dall’ordinamento e nella quale la sessualità e il comportamento della moglie erano considerati anche socialmente parte dell’onore maschile. Ma non possiamo semplicemente prendere il modello culturale di due o tre generazioni fa, sostituire la parola “onore” con “patriarcato” e presumere che spieghi automaticamente ogni omicidio di coppia contemporaneo.&#xA;&#xA;La realtà sembra essere molto più sporca e molto meno ideologicamente elegante. E la disregolazione emotiva (cosi&#39; la scienza chiama quello che ho descritto come &#34;eccesso di sofferenza&#34;) è effettivamente un fattore documentato nella violenza di coppia.&#xA;&#xA;E proprio per questo la famosa educazione affettiva, se significa soltanto spiegare ai maschi che devono rispettare l’autonomia femminile, rischia di funzionare poco. Non perché rispettare l’autonomia femminile sia sbagliato — evidentemente — ma perché non basta a insegnare cosa fare quando il dolore diventa ingestibile.&#xA;&#xA;Il mondo femminista woke, invece, tende troppo spesso a partire da una spiegazione ideologica già pronta e a trattarla come verità assoluta.&#xA;&#xA;E il risultato politico è prevedibile: moltissimi uomini ascoltano la descrizione che viene fatta di loro e pensano semplicemente:&#xA;&#xA;“Io non funziono così.”&#xA;&#xA;Dopodiché smettono di ascoltare anche tutto il resto.&#xA;&#xA;br&#xA;Infine, c’è il concetto di purezza ideologica.&#xA;&#xA;Pietro Nenni lo riassunse in una frase diventata proverbiale:&#xA;&#xA;“C’è sempre un puro più puro che ti epura.”*&#xA;&#xA;La frase gli viene attribuita da decenni ed è entrata stabilmente perfino nel linguaggio parlamentare italiano.&#xA;&#xA;Nenni è morto nel 1980. Insomma, questa cosa avremmo dovuto impararla parecchio tempo fa.&#xA;&#xA;E invece siamo qui a parlarne nel 2026.&#xA;&#xA;Perché una delle caratteristiche più autodistruttive di certa cultura woke è precisamente questa: la politica viene sostituita dall’esame di purezza.&#xA;&#xA;Non basta essere d’accordo sull’obiettivo. Bisogna essere d’accordo anche sulle parole, sulle definizioni, sui simboli, sulle sfumature, sulla genealogia corretta dell’argomento e possibilmente persino sulle motivazioni interiori per le quali siete arrivati alla conclusione giusta.&#xA;&#xA;Non basta dire che non bisogna discriminare una persona trans: bisogna dirlo usando il vocabolario corretto.&#xA;&#xA;Non basta essere favorevoli al diritto all’aborto: bisogna avere anche il giusto atteggiamento culturale nei confronti dell’aborto.&#xA;&#xA;Non basta voler ridurre la violenza contro le donne: bisogna accettare anche la spiegazione ideologica corretta delle sue cause.&#xA;&#xA;E se per caso siete d’accordo sul risultato ma non sulla dottrina che dovrebbe giustificarlo, comincia immediatamente il processo.&#xA;&#xA;Non siete abbastanza informati.&#xA;&#xA;Non avete ancora “decostruito” qualcosa.&#xA;&#xA;State riproducendo qualche struttura.&#xA;&#xA;Dovete educarvi.&#xA;&#xA;Dovete ascoltare.&#xA;&#xA;Dovete fare un percorso.&#xA;&#xA;E soprattutto, prima o poi, arriva qualcuno ancora più puro di quello che vi stava facendo l’esame, e comincia a fare l’esame a lui.&#xA;&#xA;Nenni aveva già descritto perfettamente il meccanismo.&#xA;&#xA;C’è sempre un puro più puro che ti epura.&#xA;&#xA;Il risultato politico è devastante, perché una coalizione dovrebbe funzionare esattamente al contrario: mettere insieme persone che hanno motivazioni, culture e perfino valori differenti, ma che su alcuni obiettivi concreti riescono comunque a votare dalla stessa parte.&#xA;&#xA;La purezza ideologica, invece, restringe continuamente il recinto.&#xA;&#xA;Ogni nuovo requisito serve a espellere qualcuno.&#xA;&#xA;Ogni nuova definizione produce un eretico.&#xA;&#xA;Ogni nuova parola d’ordine crea immediatamente qualcuno che la pronuncia male.&#xA;&#xA;E alla fine rimangono in pochi.&#xA;&#xA;Purissimi.&#xA;&#xA;E sconfitti.&#xA;&#xA;br&#xA;E se volete una conferma di questo meccanismo, basta ricordare che cosa successe con il DDL Zan*.&#xA;&#xA;Perché anche lì comparve immediatamente il problema del puro più puro.&#xA;&#xA;Il disegno di legge nasceva per estendere le tutele contro discriminazione e violenza motivate da sesso, genere, orientamento sessuale, identità di genere e disabilità. E ci si aspetterebbe che, almeno dentro il campo progressista, una legge del genere incontrasse soprattutto il problema di come farla approvare.&#xA;&#xA;Invece cominciò anche una guerra intestina sulle definizioni.&#xA;&#xA;Una parte del femminismo contestò in particolare il concetto di “identità di genere”, sostenendo che potesse entrare in conflitto con la categoria politica e giuridica di sesso. E questa discussione arrivò anche dentro il PD: la senatrice dem Valeria Valente, allora presidente della Commissione parlamentare sul femminicidio, chiese modifiche al testo e propose, tra le altre cose, di eliminare sia il riferimento alle donne sia quello all’identità di genere. Paola Concia sostenne posizioni analoghe.&#xA;&#xA;Ora, attenzione: dire che “le femministe del PD hanno cassato la legge Zan” sarebbe troppo semplice, perché tecnicamente non sappiamo chi votò cosa. Il DDL venne fermato al Senato il 27 ottobre 2021 con la cosiddetta tagliola, approvata a scrutinio segreto con 154 voti contro 131. Il centrosinistra perse parecchi voti rispetto ai numeri teoricamente disponibili, ma proprio perché il voto era segreto non possiamo distribuire con certezza le responsabilità individuali.&#xA;&#xA;Il punto politico, però, rimane.&#xA;&#xA;Una legge nata per proteggere omosessuali, transessuali, donne e altre categorie dalla discriminazione si trovò sotto il fuoco non soltanto della destra, ma anche di persone appartenenti allo stesso campo politico che avrebbero dovuto sostenerla, perché la definizione usata non era ideologicamente abbastanza pura.&#xA;&#xA;E qui torna Nenni.&#xA;&#xA;Non basta avere davanti una legge che, magari imperfetta, va nella direzione che dici di volere.&#xA;&#xA;Bisogna che sia formulata con le categorie corrette.&#xA;&#xA;Bisogna che la definizione di donna sia quella corretta.&#xA;&#xA;Bisogna che la definizione di genere sia quella corretta.&#xA;&#xA;Bisogna che nessun pezzo della propria teoria venga contaminato da quella dell’altro.&#xA;&#xA;E se il compromesso necessario per far passare la legge implica concedere qualcosa all’altra corrente, allora improvvisamente il compromesso diventa tradimento.&#xA;&#xA;Il risultato?&#xA;&#xA;La destra presenta la tagliola.&#xA;&#xA;Il testo cade.&#xA;&#xA;E tutti tornano a casa con la propria purezza teorica perfettamente intatta.&#xA;&#xA;Tranne la legge, che non esiste più.&#xA;&#xA;C’è sempre un puro più puro che ti epura.&#xA;&#xA;A volte epura anche la legge che diceva di voler approvare.&#xA;&#xA;br&#xA;*&#xA;&#xA;E quindi il problema non è nemmeno discutere se il woke, in Italia, vada abbandonato oppure no.&#xA;&#xA;Un sistema ideologico del genere, costruito in modo tale da respingere il consenso attraverso la ricerca continua della purezza, da riproporre schemi politici nei quali non si riconosce quasi più nessuno, e da usare l’irritazione come tattica comunicativa nella speranza che l’escalation produca mobilitazione, semplicemente non può funzionare.&#xA;&#xA;O, quantomeno, non può funzionare come strategia per conquistare una maggioranza.&#xA;&#xA;Volete pensare che esista davvero, questo woke* italiano?&#xA;&#xA;Fatelo.&#xA;&#xA;E allora lo vedrete prima o poi disintegrarsi sotto il peso della propria antipatia, delle proprie contraddizioni interne e della propria capacità quasi scientifica di cacciare chiunque non superi l’ennesimo esame di purezza.&#xA;&#xA;Volete invece sostenere che non esista affatto?&#xA;&#xA;Fatelo pure.&#xA;&#xA;Ma allora dovrete almeno spiegare perché, ogni volta che qualcuno riconducibile a quel linguaggio apre bocca, una parte consistente del pubblico sviluppa immediatamente l’orticaria.&#xA;&#xA;Perché qualcosa, evidentemente, sta reagendo.&#xA;&#xA;Può essere un movimento politico vero e proprio, può essere una sottocultura universitaria e mediatica, può essere un insieme di tic linguistici, categorie importate dagli Stati Uniti e comportamenti sociali. Possiamo anche discutere per giorni su quale sia il nome corretto.&#xA;&#xA;Ma torniamo sempre allo stesso punto.&#xA;&#xA;In Italia, politicamente, il problema è irrilevante. Il woke&#34;&#xA;&#xA;Non sta conquistando il paese.&#xA;Non sta producendo una nuova maggioranza.&#xA;Non sta sostituendo la socialdemocrazia come domanda politica degli italiani.&#xA;Sta soprattutto occupando spazio nella discussione pubblica, spesso grazie a chi lo combatte con più entusiasmo di quanto venga praticato da chi dovrebbe sostenerlo.&#xA;&#xA;E così finiamo ancora una volta per discutere di un problema americano come se fosse il centro della politica italiana.&#xA;&#xA;Che, guarda caso, era esattamente il punto da cui eravamo partiti.&#xA;&#xA;br&#xA;br&#xA;br&#xA;br&#xA;br&#xA;&#xA;div align=&#34;left&#34; style=&#34;text-align: left;&#34;&#xD;&#xA;  Uriel Fanellibr&#xD;&#xA;  br&#xD;&#xA;  --br&#xD;&#xA;  Written using Blogfrei:&#xD;&#xA;  a href=&#34;https://git.keinpfusch.net/loweel/blogfrei&#34;https://git.keinpfusch.net/loweel/blogfrei/abr&#xD;&#xA;  Fedi: @uriel@bbs.keinpfusch.netbr&#xD;&#xA;  XMPP: uriel@keinpfusch.netbr&#xD;&#xA;  vecchio blog:&#xD;&#xA;  a href=&#34;https://blog.keinpfusch.net&#34;https://blog.keinpfusch.net/abr&#xD;&#xA;  email:&#xD;&#xA;  a href=&#34;mailto:blog@keinpfusch.net&#34;blog@keinpfusch.net/abr&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>In questi giorni stiamo vedendo sui giornali italiani una conferma, quasi <em>a fortiori</em>, di quello che sostenevo qualche post fa: l’Italia ha la singolare abitudine di fare propri i problemi degli americani, anziché preoccuparsi prima dei propri.
Un esempio è la discussione, esplosa recentemente anche in Italia, sulla questione “woke”. Discussione che potrei tranquillamente liquidare dicendo: <strong>a nessuno frega un cazzo, tranne che a qualche migliaio di studenti universitari</strong>. E questo, con proporzioni diverse, vale sia qui sia negli Stati Uniti.</p>

<p>O, se preferite una formulazione meno brutale: è essenzialmente una questione <em>liberal</em>, nel significato americano del termine. Riguarda soprattutto battaglie culturali, linguistiche, identitarie e accademiche che appartengono alla tradizione politica liberal statunitense. Il problema è che tutto questo ha ben poco a che vedere con le tradizionali istanze socialdemocratiche europee: salari, lavoro, pensioni, sanità, scuola, casa, welfare, redistribuzione e sicurezza economica. Che sono poi, molto più concretamente, il genere di aspettative che una larga parte degli italiani continua ad avere quando pensa alla politica e, soprattutto, quando pensa a ciò che dovrebbe fare una sinistra.</p>

<p>Chi invoca la questione “woke”, invece, dimentica spesso due grossi <strong>convitati di pietra</strong> storici.</p>
<ol><li><strong>Quando una sinistra sposta il proprio baricentro dal conflitto sociale alla battaglia culturale, la destra radicale tende molto spesso a beneficiarne.</strong> Forse non sempre, ma il meccanismo ricorre con una regolarità abbastanza inquietante: quando la sinistra comincia a parlare soprattutto il linguaggio di minoranze politicizzate, ambienti universitari e avanguardie culturali, lasciando alla destra il linguaggio del lavoro, dell’ordine, della sicurezza e della vita quotidiana, la destra finisce spesso per raccogliere precisamente gli elettori che la sinistra ha smesso di rappresentare. E qualche volta, storicamente, il risultato è stato molto peggiore di una semplice sconfitta elettorale.</li>
<li><strong>Il meccanismo del comunicare-tramite-fastidio può forse funzionare negli Stati Uniti, ma in Italia ha pochissimo senso, e storicamente ha quasi sempre funzionato male.</strong> L’idea è quella di ottenere visibilità provocando deliberatamente una reazione: modificare il linguaggio, violare convenzioni, imporre continuamente nuovi codici sociali, costringere l’interlocutore a prendere posizione. Negli Stati Uniti, dove politica, università, media e industria culturale sono fortemente intrecciati e dove la polarizzazione stessa produce pubblico, denaro e mobilitazione, una strategia del genere può perfino avere una sua razionalità.</li></ol>

<p>In Italia, molto meno. Qui il fastidio raramente viene interpretato come pedagogia politica: viene interpretato come fastidio. E quando una forza politica dà l’impressione di voler educare, correggere o disciplinare linguisticamente persone che non le hanno chiesto nulla, queste persone non diventano automaticamente più progressiste. Molto più facilmente, smettono di ascoltarla oppure votano qualcun altro.</p>

<p><br>
<hr/></p>

<p>Certo, dopo anni di Trump, gli americani voterebbero forse per chiunque. Ma bisogna ricordarsi una caratteristica abbastanza curiosa dell’elettorato americano: <strong>le elezioni di Mid-Term vengono usate molto spesso per punire il presidente in carica, senza che questo significhi necessariamente volerlo cacciare due anni dopo</strong>.</p>

<p>Anzi, storicamente è quasi la norma che il partito del presidente perda terreno alle Mid-Term. È successo in 20 delle ultime 22 elezioni di metà mandato a partire dal 1938.</p>

<p>E gli esempi più recenti sono piuttosto istruttivi.</p>

<p>Nel 1982 i repubblicani di Reagan persero 26 seggi alla Camera. Due anni dopo Reagan venne rieletto travolgendo Walter Mondale e conquistando 49 Stati su 50.</p>

<p>Nel 1994 arrivò la famosa <em>Republican Revolution</em> di Newt Gingrich: i democratici di Bill Clinton persero 54 seggi alla Camera e il controllo del Congresso. Sembrava quasi il certificato di morte della presidenza Clinton. Nel 1996, invece, Clinton venne rieletto comodamente.</p>

<p>Nel 2010 arrivò un’altra catastrofe: i democratici di Obama persero 63 seggi alla Camera, una delle peggiori sconfitte di Mid-Term dell’epoca moderna. Due anni dopo Obama batté comunque Mitt Romney e rimase alla Casa Bianca.</p>

<p>Questo perché Mid-Term e presidenziali sono elezioni diverse, con elettorati parzialmente diversi e soprattutto con una funzione politica diversa. Alle Mid-Term l’americano può permettersi di dire al presidente: <strong>“mi stai sulle palle, adesso ti tolgo il Congresso”</strong>. Alle presidenziali, due anni dopo, la domanda diventa invece: <strong>“bene, ma tra questi due chi voglio alla Casa Bianca?”</strong></p>

<p>Sono due giudizi che possono tranquillamente produrre risultati opposti.</p>

<p>Perciò una possibile sconfitta repubblicana alle Mid-Term non sarebbe, da sola, la dimostrazione dell’esistenza di una gigantesca conversione ideologica dell’America. Potrebbe essere semplicemente l’ennesima applicazione di un comportamento elettorale che gli americani praticano da decenni: bastonare il presidente a metà mandato, e poi eventualmente rieleggerlo.</p>

<hr/>

<p><br>
Ma il problema, ripeto, rimane essenzialmente americano.</p>

<p>È negli Stati Uniti che stanno vincendo candidati definibili, <strong>dentro le coordinate politiche americane</strong>, come “woke”. È lì che questa categoria descrive realmente una corrente politica, un elettorato, un pezzo del mondo universitario e mediatico e, in alcuni casi, candidati che su quelle battaglie costruiscono una parte consistente della propria identità politica.</p>

<p>In Italia, semplicemente, non sta succedendo la stessa cosa.</p>

<p>Se anche volessimo forzare l’analogia e considerare le elezioni locali italiane come una specie di equivalente delle <em>Mid-Term</em> americane, bisognerebbe poi andare a vedere chi si presenta davvero alle elezioni. E di questa fantomatica ondata “woke”, tra i candidati italiani, se ne vede piuttosto poca.</p>

<p>E nemmeno la presidenza del PD fornisce un grande sostegno alla tesi. Elly Schlein è certamente molto più sensibile ai temi dei diritti civili rispetto a parecchi suoi predecessori, ma il resto del PD gioca un gioco diverso. Chi sarebbero “woke” del PD?</p>

<p>Se poi allarghiamo il cosiddetto “campo progressista” e ci mettiamo dentro anche il Movimento 5 Stelle, la faccenda diventa ancora più evidente. Le priorità che il M5S sta discutendo per il proprio programma riguardano sanità, lavoro, welfare, crescita economica, piccole imprese, disabilità, agricoltura, scuola, evasione fiscale, giustizia e politica europea. Potrà piacere o non piacere Conte, ma chiamare tutto questo “woke” richiede ormai una definizione della parola talmente larga da renderla praticamente inutile.</p>

<p>E quanto agli altri cespugli della sinistra italiana: se è lì che dovrebbe nascondersi la grande avanzata politica del <em>woke</em>, beh, auguri.</p>

<p>Perché a quel punto non stiamo più descrivendo una forza politica capace di conquistare il paese. Stiamo descrivendo qualche percentuale elettorale, qualche assemblea universitaria e parecchie discussioni sui giornali.</p>

<p>Che è precisamente il mio punto: <strong>abbiamo importato dagli Stati Uniti persino il dibattito sull’esistenza di un fenomeno politico che, nelle dimensioni nelle quali viene raccontato, in Italia praticamente non esiste.</strong></p>

<p>E ripeto: praticamente.</p>

<p>E se pensate il contrario, allora facciamo una cosa semplice: <strong>indicatemi chi sarebbero, concretamente, i politici “woke” del PD</strong>.</p>

<p>Nomi e cognomi, possibilmente. Non impressioni, non aggettivi, non il fatto che qualcuno abbia partecipato a un Pride o abbia parlato di diritti civili.</p>

<p>Perché se dentro questa categoria ci mettete automaticamente anche Elly Schlein, allora abbiamo un problema molto semplice: <strong>la parola “woke” non significa più nulla</strong>.</p>

<p>Schlein può essere definita progressista, liberal sui diritti civili, ecologista, socialdemocratica su molte questioni economiche. Ma se basta questo per diventare “woke”, allora “woke” finisce per significare semplicemente “politico di sinistra che non piace alla destra”.</p>

<p>E a quel punto non è più una categoria politica: è un insulto generico.</p>

<hr/>

<p><br>
E come se non bastasse, il <em>woke</em> tende spesso ad adottare una tattica politica che, storicamente, ha dimostrato di funzionare molto male da almeno un secolo: grosso modo dalla rivolta spartachista in poi.</p>

<p>Non sto dicendo che il <em>woke</em> sia marxista-leninista in senso dottrinario. Sto dicendo che il <strong>meccanismo politico della provocazione e dell’escalation</strong> assomiglia molto a quello della tradizione rivoluzionaria novecentesca.</p>

<p>Funziona più o meno così:</p>
<ul><li>Una parte comincia alzando deliberatamente il livello dello scontro. Il linguaggio diventa militante, aggressivo: <em>lotta</em>, <em>rivoluzione</em>, <em>resistenza</em>, <em>combattere</em>. Anche le manifestazioni cercano esplicitamente di essere provocatorie, disturbanti, oltraggiose.</li>
<li>La controparte reagisce e comincia a usare un linguaggio altrettanto violento.</li>
<li>A quel punto la tensione sale ancora, e questa sinistra scende in piazza nella maniera più provocatoria possibile.</li>
<li>Prima o poi qualcuno, dall’altra parte, cede alla violenza.</li>
<li>A quel punto si denuncia la violenza subita, si alza ulteriormente il volume dello scontro e contemporaneamente si presenta la propria provocazione come qualcosa di “allegro, colorato e pacifico”.</li>
<li>Lo scontro verbale diventa scontro fisico.</li>
<li>Qualcuno, prima o poi, ci lascia la pelle.</li>
<li>E nella mitologia rivoluzionaria dovrebbe essere proprio quella la <strong>scintilla</strong>: il morto che rende intollerabile la situazione, mobilita le masse e fa partire qualcosa di molto più grande.</li></ul>

<p>È uno schema che ha un precedente reale nella politica rivoluzionaria europea, ma bisogna stare attenti a non trasformarlo in una caricatura della Rivoluzione russa: i bolscevichi non abbatterono lo zar semplicemente irritando abbastanza la controparte. Nel 1917 c’erano una guerra mondiale, un esercito allo sfascio, carestie, una crisi dello Stato e una rivoluzione già in corso. Insomma, condizioni leggermente più sostanziose di qualche slogan particolarmente irritante.</p>

<p>Il problema è che, quando questo modello incontra una destra organizzata e disposta a usare una violenza molto superiore, il finale cambia completamente.</p>

<p>La rivolta berlinese del gennaio 1919 — quella tradizionalmente chiamata “spartachista”, anche se gli storici discutono quanto sia corretto attribuirne la direzione agli spartachisti — finì nel giro di pochi giorni sotto i colpi dell’esercito e dei <em>Freikorps</em>. Rosa Luxemburg e Karl Liebknecht vennero poi assassinati.</p>

<p>In Italia il fenomeno fu ancora più evidente nel passaggio dal Biennio Rosso al Biennio Nero. Scioperi, occupazioni e retorica rivoluzionaria non produssero la rivoluzione socialista: produssero anche una reazione organizzata, finanziata e armata, cioè lo squadrismo fascista, che attaccò sistematicamente sedi sindacali, cooperative, amministrazioni socialiste e organizzazioni della sinistra.</p>

<p>I fatti di Parma del 1922, a essere precisi, sono un caso particolarmente interessante proprio perché <strong>localmente andarono al contrario</strong>: gli Arditi del Popolo e gli abitanti dei quartieri popolari riuscirono a respingere migliaia di squadristi fascisti e costrinsero Italo Balbo alla ritirata. Fu una vittoria militare antifascista.</p>

<p>Solo che due mesi dopo ci fu la Marcia su Roma.</p>

<p>Ed è proprio questo il dettaglio istruttivo: puoi anche vincere la battaglia di strada. Non significa affatto che tu stia vincendo politicamente il paese.</p>

<p>La Spagna di Franco costituisce poi una prova <em>a fortiori</em>: quando la polarizzazione politica sfocia nella logica secondo cui lo scontro definitivo è ormai inevitabile, e dall’altra parte esistono esercito, milizie, apparati e forze politiche perfettamente disposte a combatterlo davvero, non è affatto garantito che la “scintilla rivoluzionaria” accenda la rivoluzione che avevi ordinato dal catalogo. Può benissimo accendere quella degli altri.</p>

<p>Nella realtà, quindi, il processo tende a rompersi circa a metà.</p>

<p>A un certo punto entra in campo una controparte che non considera più la provocazione un gioco comunicativo, e risponde con una violenza sproporzionata. Oppure intervengono gli apparati dello Stato con manganelli, arresti e repressione. In Italia repubblicana questo ruolo verrà svolto, in altri contesti e in un’altra epoca, anche dai reparti celeri della polizia: ma la <em>Celere</em> appartiene al dopoguerra e non va confusa con lo squadrismo fascista.</p>

<p>Ed è lì che le velleità rivoluzionarie normalmente finiscono: non nella presa del Palazzo d’Inverno, ma in qualche cassonetto incendiato, qualche vetrina sfondata, qualche ferito e una gigantesca caciara televisiva nella quale nessuno ricorda più quale fosse il problema iniziale.</p>

<p>Con un ulteriore dettaglio: quasi sempre, a quel punto, la maggioranza della popolazione non vede la “rivoluzione”.</p>

<p>Vede il caos.</p>

<p><strong>E al potere vanno i fascisti, promettendo di riportare ordine.</strong></p>

<p>Ci-cascano-sempre.</p>

<hr/>

<p><br>
Su questo si innesta un altro problema grave del <em>woke</em>: <strong>la perdita del senso del ridicolo, o forse del patetico</strong>. Cioè l’incapacità di distinguere tra una rivendicazione ragionevole e una formulazione talmente esagerata da rendere ridicola perfino la rivendicazione originaria.</p>

<p>Per fare un esempio.</p>

<p>Un conto è dire che le persone trans non devono essere aggredite, picchiate o discriminate per strada. Su questo, direi, qualsiasi persona ragionevole può aderire senza bisogno di una teoria politica particolarmente sofisticata: non si picchiano le persone perché sono trans. Fine.</p>

<p>Un altro conto è sostenere che, siccome la biologia della riproduzione sessuata è complessa e presenta eccezioni, varianti dello sviluppo sessuale e casi che non rientrano perfettamente nelle classificazioni più semplici, <strong>allora la scienza direbbe che non esistono differenze tra maschi e femmine</strong>.</p>

<p>La scienza non dice questo.</p>

<p>La biologia distingue normalmente il sesso sulla base dell’organizzazione riproduttiva: produzione di gameti grandi o piccoli, insieme alle strutture anatomiche e fisiologiche collegate. Il fatto che esistano condizioni intersessuali, anomalie cromosomiche o variazioni dello sviluppo sessuale rende la realtà biologica più complessa; non rende inesistente la distinzione sessuale.</p>

<p>Allo stesso modo, bisogna stare molto attenti a frasi come “la scienza dice che i maschi possono rimanere gravidi”. Un <strong>uomo trans</strong> può certamente rimanere incinto se conserva utero e ovaie funzionanti: questo è un fatto medico. Ma questo non significa che un organismo maschile, nel significato biologico e riproduttivo del termine, abbia acquisito improvvisamente la capacità di gestare. Significa che stiamo usando “uomo” come categoria di identità di genere e “maschio” come categoria biologica, e che confondere deliberatamente i due piani produce soltanto rumore.</p>

<p>Sono due cose diverse.</p>

<p>Ed è precisamente qui che nasce il problema politico: una battaglia perfettamente comprensibile — <strong>non aggredite e non discriminate le persone trans</strong> — viene appesantita da affermazioni pseudoscientifiche o da giochi semantici che non sono necessari per sostenerla.</p>

<p>E quando per difendere una posizione moralmente semplice siete costretti a pretendere che la biologia dica qualcosa che non dice, non state rendendo più forte quella posizione.</p>

<p>La state rendendo più facile da ridicolizzare.</p>

<hr/>

<p>Anche il fatto che, sui temi più delicati, si tenda a estremizzare tutto è devastante.</p>

<p>Prendiamo l’aborto. La destra americana, su questo tema, riesce tranquillamente a produrre posizioni deliranti: divieti quasi assoluti, attacchi all’autonomia delle donne, legislazioni costruite come se una gravidanza fosse una questione astratta e non una faccenda medica, personale e spesso traumatica.</p>

<p>Ma proporre come alternativa culturale Lena Dunham che dice <strong>“I still haven’t had an abortion, but I wish I had”</strong> non è esattamente un modo meno delirante di affrontare la questione.</p>

<p>La frase è autentica. Dunham la pronunciò nel 2016, durante il suo podcast <em>Women of the Hour</em>, in un episodio dedicato allo stigma sull’aborto. Il contesto era questo: raccontava di essersi resa conto di provare lei stessa una specie di imbarazzo nel precisare di non avere mai abortito, nonostante fosse attivista pro-choice. Da lì arrivò quella frase, che voleva essere una provocazione contro lo stigma.</p>

<p>Il problema è che la provocazione divorò completamente il messaggio.</p>

<p>Tanto che Dunham stessa, il giorno dopo, si scusò definendola una <strong>“distasteful joke”</strong>, precisando di non voler banalizzare le difficoltà fisiche ed emotive legate all’interruzione di gravidanza.</p>

<p>E infatti la domanda rimane: <strong>per chi parlava Lena Dunham?</strong></p>

<p>Perché io non ho mai sentito una donna che abbia davvero dovuto affrontare un aborto dire: “bella esperienza, facciamo un altro giro?”. E naturalmente le esperienze individuali sono diversissime: per alcune donne può prevalere il sollievo, per altre il dolore, per altre ancora entrambe le cose. Ma proprio per questo trasformare l’aborto in una specie di distintivo identitario, qualcosa che quasi si dovrebbe desiderare per dimostrare di essere abbastanza emancipati, è una caricatura persino della posizione pro-choice.</p>

<p>La posizione ragionevole sarebbe molto più semplice: <strong>una donna deve poter interrompere una gravidanza quando decide che quella è la scelta giusta per lei, senza che lo Stato, una chiesa o qualche invasato politico glielo impediscano</strong>.</p>

<p>Non occorre desiderare un aborto.</p>

<p>Non occorre celebrarlo.</p>

<p>Occorre poterlo scegliere.</p>

<p>Ma quando il bisogno di essere provocatori diventa più importante del tema di cui state parlando, riuscite nel piccolo miracolo politico di prendere una posizione largamente difendibile <strong>e trasformarla in qualcosa che persino molte persone favorevoli al diritto all’aborto trovano grottesco.</strong></p>

<p>E ancora una volta il problema diventa quello di prima: <strong>il senso del ridicolo</strong>.</p>

<p>E quello della misura, anche.</p>

<hr/>

<p><br>
Infine, il problema del femminicidio offre a Vannacci la possibilità di attaccare tutto il tema, nonostante dovrebbe essere, per la sinistra, <strong>un ariete politico formidabile</strong>.</p>

<p>Chiunque sia sano di mente riconoscerà che uccidere una donna approfittando anche della propria maggiore forza fisica e della maggiore capacità di infliggere violenza letale sia qualcosa da reprimere con estrema decisione.</p>

<p>Eppure Vannacci riesce comunque a qualificarsi politicamente su questo argomento.</p>

<p>Come fa?</p>

<p>Anche perché una parte della sinistra cosiddetta <em>woke</em> riesce a trasformare il problema in una questione principalmente <strong>nominalistica</strong>, come se il punto decisivo fosse stabilire come debba chiamarsi il reato.
“Femminicidio” oppure “omicidio”? Una fattispecie autonoma oppure un’aggravante? Il nome descrive correttamente il fenomeno oppure introduce una distinzione artificiale?</p>

<p>Dategli pure il contentino al botolo militare.</p>

<p>Chiamatelo <strong>“omicidio misogino”</strong>, se proprio il termine <em>femminicidio</em> gli procura l’orticaria. Oppure trovate un’altra formulazione giuridicamente sensata. Il nome, rispetto al problema concreto, è secondario.</p>

<p>Perché il problema importante non è vincere una gara terminologica.</p>

<p>Il problema importante è capire <strong>quali omicidi di donne costituiscano un fenomeno specifico, quali siano davvero le cause di quel fenomeno e quali strumenti funzionino realmente per impedirli</strong>.</p>

<p>Ed è proprio qui che la discussione dovrebbe diventare interessante.</p>

<p>Invece, se passate il tempo a litigare sulla parola da stampare sull’etichetta, regalate alla destra il terreno ideale. La discussione non riguarda più donne morte, cause, prevenzione, efficacia delle leggi o capacità delle istituzioni di intervenire.</p>

<p>Riguarda un vocabolo.</p>

<p>E su un vocabolo Vannacci può fare quello che vuole: può costruire paradossi, analogie, battute, casi-limite e tutta la consueta artiglieria retorica.</p>

<p>Perché i fascisti, quando si tratta di retorica, sono storicamente piuttosto allenati.</p>

<p>Casomai nessuno lo avesse notato.</p>

<hr/>

<p><br>
E su questo tema si innesta un’altra ideologia zombie. Zombie nel senso letterale del termine: <strong>morta, putrefatta, ma ancora perfettamente capace di mangiarti il cervello</strong>.
Secondo questa lettura, lo schema sarebbe più o meno questo:</p>

<p><strong>DONNA SE NE VA –&gt; IDEOLOGIA MASCHILISTA –&gt; PATRIARCATO / POSSESSO / CONTROLLO –&gt; VIOLENZA –&gt; UCCISIONE</strong></p>

<p>Il maschio, cioè, ucciderebbe la donna perché non ne accetta l’autonomia, l’indipendenza, la libertà di andarsene; e questa incapacità di accettarla sarebbe a sua volta il prodotto del patriarcato.</p>

<p>Il problema è che presentare questo schema come <strong>la spiegazione</strong> della violenza maschile è una puttanata.</p>

<p>Non perché controllo, possesso, gelosia o modelli tradizionali di genere non possano entrare in gioco. La ricerca trova associazioni anche con questi fattori. Ma trova contemporaneamente rabbia, gelosia, paura dell’abbandono, umiliazione, stress relazionale e, soprattutto, difficoltà nella regolazione delle emozioni. Una meta-analisi su 62 campioni trova infatti un’associazione significativa, da piccola a moderata, fra difficoltà di regolazione emotiva e violenza di coppia; altre revisioni mostrano che gelosia, rabbia, bisogno di controllo e disregolazione emotiva possono coesistere nello stesso meccanismo.</p>

<p>Ed è proprio per questo che ridurre tutto a <strong>“patriarcato e possesso”</strong> produce immediatamente l’abbandono di gran parte del pubblico maschile.</p>

<p>Perché moltissimi uomini non si riconoscono affatto in quello schema.</p>

<p>Se volete costruire un modello che almeno descriva una parte importante di ciò che succede nella testa di un uomo quando una relazione collassa, lo schema può essere molto più banalmente questo:</p>

<p><strong>DONNA SE NE VA –&gt; SOFFERENZA –&gt; NON RIESCO A GESTIRE LA SOFFERENZA –&gt; RABBIA / DISREGOLAZIONE –&gt; VIOLENZA –&gt; UCCISIONE</strong></p>

<p>Questo, almeno, descrive un meccanismo psicologico riconoscibile.</p>

<p>Essere lasciati, sentirsi umiliati, sentire certe parole, vedere la persona con qualcun altro, percepire di aver perso definitivamente una relazione: tutto questo può produrre gelosia, certo, ma la gelosia stessa non è una sostanza misteriosa. È un impasto di rabbia, tristezza, paura, vergogna, senso di perdita, impotenza e umiliazione. La letteratura psicologica sulla gelosia romantica descrive infatti proprio questa combinazione di emozioni, e collega gelosia e sospetta infedeltà a un aumento del rischio di violenza di coppia.</p>

<p>Il punto, quindi, non è assolvere chi diventa violento perché “stava soffrendo”. La sofferenza può essere comprensibile oppure assurda, proporzionata oppure patologica: <strong>non giustifica comunque la violenza</strong>.</p>

<p>Il punto è capire quale meccanismo si debba interrompere.</p>

<p>Perché se il percorso reale, almeno in molti casi, passa attraverso l’incapacità di gestire perdita, rifiuto, rabbia, umiliazione e dolore emotivo, allora una politica di prevenzione che parli soltanto di “decostruire il patriarcato” rischia di mancare una parte enorme del bersaglio.</p>

<p>Ed è qui che arriviamo alla famosa <strong>educazione affettiva</strong>.</p>

<p>Che io, peraltro, penso sia utile e che andrebbe fatta.</p>

<p>Ma dovrebbe comprendere molto più esplicitamente qualcosa che potremmo chiamare <strong>educazione alla gestione della sofferenza</strong>: cosa succede quando vieni lasciato; cosa fai quando non dormi perché continui a ripeterti in testa una conversazione; cosa fai quando senti salire rabbia e umiliazione; come riconosci il momento in cui stai perdendo il controllo; come ti allontani fisicamente dalla situazione; come chiedi aiuto prima di trasformare una crisi emotiva in violenza.</p>

<p>Questo sarebbe un linguaggio nel quale molti uomini potrebbero riconoscersi.</p>

<p>Dire invece a un ragazzo:</p>

<blockquote><p>“Potresti diventare violento perché sei stato educato dal patriarcato a considerare la donna una tua proprietà”</p></blockquote>

<p>può magari descrivere alcuni individui e alcuni contesti, ma se viene proposto come spiegazione universale produce un problema ovvio: <strong>la maggioranza degli uomini non riconosce la propria esperienza interiore in quella descrizione</strong>.</p>

<p>E quando una teoria pretende di spiegare le persone meglio di quanto quelle persone riescano a riconoscersi nella teoria, forse vale la pena chiedersi se non sia la teoria ad avere bisogno di una revisione.</p>

<p>La vecchia spiegazione del possesso e dell’onore aveva certamente molto più senso in una società nella quale il <em>delitto d’onore</em> era persino riconosciuto dall’ordinamento e nella quale la sessualità e il comportamento della moglie erano considerati anche socialmente parte dell’onore maschile. Ma non possiamo semplicemente prendere il modello culturale di due o tre generazioni fa, sostituire la parola “onore” con “patriarcato” e presumere che spieghi automaticamente ogni omicidio di coppia contemporaneo.</p>

<p>La realtà sembra essere molto più sporca e molto meno ideologicamente elegante. E la <strong>disregolazione emotiva</strong> (cosi&#39; la scienza chiama quello che ho descritto come “eccesso di sofferenza”) è effettivamente un fattore documentato nella violenza di coppia.</p>

<p>E proprio per questo la famosa educazione affettiva, se significa soltanto spiegare ai maschi che devono rispettare l’autonomia femminile, rischia di funzionare poco. Non perché rispettare l’autonomia femminile sia sbagliato — evidentemente — ma perché <strong>non basta a insegnare cosa fare quando il dolore diventa ingestibile</strong>.</p>

<p>Il mondo femminista <em>woke</em>, invece, tende troppo spesso a partire da una spiegazione ideologica già pronta e a trattarla come verità assoluta.</p>

<p>E il risultato politico è prevedibile: moltissimi uomini ascoltano la descrizione che viene fatta di loro e pensano semplicemente:</p>

<p><strong>“Io non funziono così.”</strong></p>

<p>Dopodiché smettono di ascoltare anche tutto il resto.</p>

<hr/>

<p><br>
Infine, c’è il concetto di <strong>purezza ideologica</strong>.</p>

<p>Pietro Nenni lo riassunse in una frase diventata proverbiale:</p>

<p><strong>“C’è sempre un puro più puro che ti epura.”</strong></p>

<p>La frase gli viene attribuita da decenni ed è entrata stabilmente perfino nel linguaggio parlamentare italiano.</p>

<p>Nenni è morto nel 1980. Insomma, questa cosa avremmo dovuto impararla parecchio tempo fa.</p>

<p>E invece siamo qui a parlarne nel 2026.</p>

<p>Perché una delle caratteristiche più autodistruttive di certa cultura <em>woke</em> è precisamente questa: <strong>la politica viene sostituita dall’esame di purezza</strong>.</p>

<p>Non basta essere d’accordo sull’obiettivo. Bisogna essere d’accordo anche sulle parole, sulle definizioni, sui simboli, sulle sfumature, sulla genealogia corretta dell’argomento e possibilmente persino sulle motivazioni interiori per le quali siete arrivati alla conclusione giusta.</p>

<p>Non basta dire che non bisogna discriminare una persona trans: bisogna dirlo usando il vocabolario corretto.</p>

<p>Non basta essere favorevoli al diritto all’aborto: bisogna avere anche il giusto atteggiamento culturale nei confronti dell’aborto.</p>

<p>Non basta voler ridurre la violenza contro le donne: bisogna accettare anche la spiegazione ideologica corretta delle sue cause.</p>

<p>E se per caso siete d’accordo sul risultato ma non sulla dottrina che dovrebbe giustificarlo, comincia immediatamente il processo.</p>

<p>Non siete abbastanza informati.</p>

<p>Non avete ancora “decostruito” qualcosa.</p>

<p>State riproducendo qualche struttura.</p>

<p>Dovete educarvi.</p>

<p>Dovete ascoltare.</p>

<p>Dovete fare un percorso.</p>

<p>E soprattutto, prima o poi, arriva qualcuno ancora più puro di quello che vi stava facendo l’esame, e comincia a fare l’esame a lui.</p>

<p>Nenni aveva già descritto perfettamente il meccanismo.</p>

<p><strong>C’è sempre un puro più puro che ti epura.</strong></p>

<p>Il risultato politico è devastante, perché una coalizione dovrebbe funzionare esattamente al contrario: mettere insieme persone che hanno motivazioni, culture e perfino valori differenti, ma che su alcuni obiettivi concreti riescono comunque a votare dalla stessa parte.</p>

<p>La purezza ideologica, invece, restringe continuamente il recinto.</p>

<p>Ogni nuovo requisito serve a espellere qualcuno.</p>

<p>Ogni nuova definizione produce un eretico.</p>

<p>Ogni nuova parola d’ordine crea immediatamente qualcuno che la pronuncia male.</p>

<p>E alla fine rimangono in pochi.</p>

<p>Purissimi.</p>

<p>E sconfitti.</p>

<hr/>

<p><br>
E se volete una conferma di questo meccanismo, basta ricordare che cosa successe con il <strong>DDL Zan</strong>.</p>

<p>Perché anche lì comparve immediatamente il problema del <em>puro più puro</em>.</p>

<p>Il disegno di legge nasceva per estendere le tutele contro discriminazione e violenza motivate da sesso, genere, orientamento sessuale, identità di genere e disabilità. E ci si aspetterebbe che, almeno dentro il campo progressista, una legge del genere incontrasse soprattutto il problema di <strong>come farla approvare</strong>.</p>

<p>Invece cominciò anche una guerra intestina sulle definizioni.</p>

<p>Una parte del femminismo contestò in particolare il concetto di <strong>“identità di genere”</strong>, sostenendo che potesse entrare in conflitto con la categoria politica e giuridica di sesso. E questa discussione arrivò anche dentro il PD: la senatrice dem Valeria Valente, allora presidente della Commissione parlamentare sul femminicidio, chiese modifiche al testo e propose, tra le altre cose, di eliminare sia il riferimento alle donne sia quello all’identità di genere. Paola Concia sostenne posizioni analoghe.</p>

<p>Ora, attenzione: dire che <strong>“le femministe del PD hanno cassato la legge Zan”</strong> sarebbe troppo semplice, perché tecnicamente non sappiamo chi votò cosa. Il DDL venne fermato al Senato il 27 ottobre 2021 con la cosiddetta <em>tagliola</em>, approvata a scrutinio segreto con 154 voti contro 131. Il centrosinistra perse parecchi voti rispetto ai numeri teoricamente disponibili, ma proprio perché il voto era segreto non possiamo distribuire con certezza le responsabilità individuali.</p>

<p>Il punto politico, però, rimane.</p>

<p>Una legge nata per proteggere omosessuali, transessuali, donne e altre categorie dalla discriminazione si trovò sotto il fuoco non soltanto della destra, ma anche di persone appartenenti allo stesso campo politico che avrebbero dovuto sostenerla, perché <strong>la definizione usata non era ideologicamente abbastanza pura</strong>.</p>

<p>E qui torna Nenni.</p>

<p>Non basta avere davanti una legge che, magari imperfetta, va nella direzione che dici di volere.</p>

<p>Bisogna che sia formulata con le categorie corrette.</p>

<p>Bisogna che la definizione di donna sia quella corretta.</p>

<p>Bisogna che la definizione di genere sia quella corretta.</p>

<p>Bisogna che nessun pezzo della propria teoria venga contaminato da quella dell’altro.</p>

<p>E se il compromesso necessario per far passare la legge implica concedere qualcosa all’altra corrente, allora improvvisamente il compromesso diventa tradimento.</p>

<p>Il risultato?</p>

<p>La destra presenta la tagliola.</p>

<p>Il testo cade.</p>

<p>E tutti tornano a casa con la propria purezza teorica perfettamente intatta.</p>

<p>Tranne la legge, che non esiste più.</p>

<p><strong>C’è sempre un puro più puro che ti epura.</strong></p>

<p>A volte epura anche la legge che diceva di voler approvare.</p>

<p><br>
<hr/></p>

<p>E quindi il problema non è nemmeno discutere se il <em>woke</em>, in Italia, vada abbandonato oppure no.</p>

<p>Un sistema ideologico del genere, costruito in modo tale da <strong>respingere il consenso attraverso la ricerca continua della purezza</strong>, da riproporre schemi politici nei quali non si riconosce quasi più nessuno, e da usare l’irritazione come tattica comunicativa nella speranza che l’escalation produca mobilitazione, semplicemente non può funzionare.</p>

<p>O, quantomeno, non può funzionare come strategia per conquistare una maggioranza.</p>

<p>Volete pensare che esista davvero, questo <em>woke</em> italiano?</p>

<p>Fatelo.</p>

<p>E allora lo vedrete prima o poi disintegrarsi sotto il peso della propria antipatia, delle proprie contraddizioni interne e della propria capacità quasi scientifica di cacciare chiunque non superi l’ennesimo esame di purezza.</p>

<p>Volete invece sostenere che non esista affatto?</p>

<p>Fatelo pure.</p>

<p>Ma allora dovrete almeno spiegare perché, ogni volta che qualcuno riconducibile a quel linguaggio apre bocca, una parte consistente del pubblico sviluppa immediatamente l’orticaria.</p>

<p>Perché qualcosa, evidentemente, sta reagendo.</p>

<p>Può essere un movimento politico vero e proprio, può essere una sottocultura universitaria e mediatica, può essere un insieme di tic linguistici, categorie importate dagli Stati Uniti e comportamenti sociali. Possiamo anche discutere per giorni su quale sia il nome corretto.</p>

<p>Ma torniamo sempre allo stesso punto.</p>

<p><strong>In Italia, politicamente, il problema è irrilevante. Il woke”</strong></p>
<ul><li>Non sta conquistando il paese.</li>
<li>Non sta producendo una nuova maggioranza.</li>
<li>Non sta sostituendo la socialdemocrazia come domanda politica degli italiani.</li>
<li>Sta soprattutto occupando spazio nella discussione pubblica, spesso grazie a chi lo combatte con più entusiasmo di quanto venga praticato da chi dovrebbe sostenerlo.</li></ul>

<p>E così finiamo ancora una volta per discutere di un problema americano come se fosse il centro della politica italiana.</p>

<p>Che, guarda caso, era esattamente il punto da cui eravamo partiti.</p>

<p><br>
<br>
<br>
<br>
<br></p>

<div style="text-align: left;">
  Uriel Fanelli<br>
  <br>
  --<br>
  Written using Blogfrei:
  <a href="https://git.keinpfusch.net/loweel/blogfrei">https://git.keinpfusch.net/loweel/blogfrei</a><br>
  Fedi: <a href="https://keinpfusch.net/@/uriel@bbs.keinpfusch.net" class="u-url mention">@<span>uriel@bbs.keinpfusch.net</span></a><br>
  XMPP: uriel@keinpfusch.net<br>
  vecchio blog:
  <a href="https://blog.keinpfusch.net">https://blog.keinpfusch.net</a><br>
  email:
  <a href="mailto:blog@keinpfusch.net">blog@keinpfusch.net</a><br>
</div>
]]></content:encoded>
      <guid>https://keinpfusch.net/e-discutiamo-di-woke</guid>
      <pubDate>Mon, 24 Aug 2026 14:35:09 +0000</pubDate>
    </item>
    <item>
      <title>Computer comunisti?</title>
      <link>https://keinpfusch.net/computer-comunisti</link>
      <description>&lt;![CDATA[Come sapete, per me l&#39;informatica non e&#39; solo un lavoro, ma una vera passione. E quindi mi interessa anche l&#39;archeologia e la storia. Detto questo, un amico che ama molto speculare mi ha chiesto se ci siano caratteristiche tecniche &#34;capitaliste&#34; nei computer che usiamo, e se quindi possano esistere dei computer&#xA;ad architettura &#34;comunista&#34;, cioe&#39; computer la cui architettura sia legata alle esigenze o ai paradigmi di un sistema comunista. La cosa divertente e&#39; che per rispondere a questa&#xA;domanda non occorre speculare, perche&#39; effettivamente gli anni diciamo &#34;creativi&#34; delle architetture informatiche vedevano i sovietici fare cose, diciamo, aliene, e facilmente&#xA;riconducibili all&#39;esigenza di pianificazione e di giustificazione della spesa, di un sistema comunista.&#xA;&#xA;!--more--&#xA;&#xA;Il problema di base e&#39; che in un sistema sovietico l&#39;economia era completamente pianificata. Era un periodo nel quale i computer (sia in URSS che in occidente) li facevano le universita&#39;, in occidente magari con la cooperazione di un&#39;azienda tipo IBM,&#xA;e quindi erano vastamente finanziati dallo stato. Di conseguenza, si faceva ogni cinque anni una pianificazione e si decideva cosa finanziare, e specialmente CHI finanziare: essendo che l&#39;intero sistema teoricamente doveva servire chi lavorava,&#xA;avreste ottenuto macchine per fisici, per ingegneri, per militari, per controllo industriale.&#xA;&#xA;In Occidente ha vinto storicamente più o meno questa successione:&#xA;von Neumann → CPU general purpose → byte → registri → C → Unix → RISC/x86 → enormi quantità di software sopra.&#xA;&#xA;In alcuni filoni sovietici invece troviamo continuamente tentativi di dire:&#xA;&#xA;&#34;Perché devo fare una macchina generica? Qual è la struttura matematica del problema? Costruiamo direttamente quella, fatta per quelli che ci lavoreranno.&#34;&#xA;&#xA;Da lì vengono:&#xA;&#xA;ternario perché matematicamente ha proprietà interessanti;&#xA;stack perché le espressioni sono alberi;&#xA;tagged memory perché i valori hanno un tipo;&#xA;hardware per linguaggi ad alto livello;&#xA;SIMD perché molti problemi scientifici sono vettori;&#xA;macchine specializzate per algebra simbolica;&#xA;parallelismo esplicito invece di fingere che tutto sia una sequenza di istruzioni.&#xA;&#xA;Ed è proprio questo che le rende &#34;aliene&#34;: non partono necessariamente dalla CPU come oggetto fondamentale.&#xA;Partono dal calcolo che vuoi fare e cercano una macchina che gli assomigli.&#xA;&#xA;Se volete andare ancora più nel weird, ce n&#39;è un secondo strato decisamente più oscuro: M-9 di Kartsev, macchine di Glushkov, sistemi macro-pipeline, REFAL, SKIF, Kronos, le architetture recursive/tagged di Akademgorodok.&#xA;&#xA;Lì cominciano veramente le cose da &#34;la storia del computing avrebbe potuto andare da un&#39;altra parte&#34;.&#xA;&#xA;br&#xA;&#xA;br&#xA;br&#xA;E ce ne sono parecchie che, viste oggi, sembrano provenire da una linea evolutiva alternativa del calcolo. Non tutto era esclusivamente sovietico — spesso c&#39;erano idee parallele anche in Occidente — ma in URSS alcune furono portate molto più avanti o assemblate in modi davvero strani.&#xA;&#xA;Quelle che secondo me meritano di più sono queste:&#xA;&#xA;Setun / Setun-70 — calcolo ternario bilanciato&#xA;    Non 0,1, ma −1, 0, +1. Quindi un numero può essere rappresentato senza bit di segno separato e la negazione è banalmente lo scambio + ↔ −. Inoltre in ternario alcune operazioni aritmetiche hanno meno riporti rispetto al binario. Il primo Setun fu costruito alla Moscow State University nel 1958 e ne vennero prodotti circa 50.&#xA;    La cosa veramente aliena però è Setun-70. Non era semplicemente &#34;Setun più veloce&#34;: era una macchina nuova, organizzata intorno a tryte di 6 trit, istruzioni a lunghezza variabile e una architettura a due stack. Il programma veniva espresso sostanzialmente in una forma di notazione polacca inversa e l&#39;architettura era pensata per rendere naturali le strutture del programma.&#xA;    Quindi qui abbiamo già qualcosa di concettualmente folle: non una CPU che &#34;esegue istruzioni&#34;, nel senso moderno, ma una macchina progettata intorno all&#39;algebra delle espressioni e alla struttura del programma.&#xA;MIR — il computer che capiva matematica&#xA;    La serie MIR di Viktor Glushkov, dalla metà degli anni Sessanta, era progettata apposta per ingegneri e matematici. Non era semplicemente una macchina con BASIC o FORTRAN sopra: parte del suo linguaggio ad alto livello era supportata direttamente dall&#39;architettura.&#xA;br&#xA;    MIR poteva lavorare simbolicamente su frazioni, polinomi, derivate e integrali.&#xA;br&#xA;In altre parole, l&#39;idea non era:&#xA;&#xA;      CPU generica → sistema operativo → programma di algebra.&#xA;&#xA;    ma qualcosa più simile a:&#xA;&#xA;      computer = macchina matematica interattiva.&#xA;&#xA;    È una genealogia abbastanza diversa da quella PC/Unix. Se Mathematica avesse avuto dei nonni hardware, MIR sarebbe uno di quelli.&#xA;Elbrus-1 / Elbrus-2 — il tipo dei dati è proprietà della memoria&#xA;    Questa è una delle mie preferite.&#xA;    Ogni parola di memoria aveva un tag hardware che diceva che cosa quella parola era. Il processore quindi non vedeva soltanto 48/64 bit da interpretare secondo l&#39;istruzione corrente: aveva informazione hardware sul tipo dell&#39;oggetto.&#xA;    Conseguenza: molte cose che oggi affidiamo al compilatore, al runtime o alla sicurezza della memoria erano controllate dalla macchina.&#xA;    E ancora più stranamente, su Elbrus non esisteva realmente l&#39;assembler nel senso tradizionale. Sistema operativo, compilatori e software di sistema venivano scritti in EL-76, un linguaggio ad alto livello imparentato concettualmente con ALGOL 68.&#xA;    Va detto che qui i sovietici non partirono dal nulla: l&#39;influenza delle macchine Burroughs B5000/B6500 è importante. Ma svilupparono l&#39;idea in una direzione propria.&#xA;    Vista nel 2026, la cosa fa pensare immediatamente a tagged memory, capability architectures, CHERI, managed runtimes e memory safety.&#xA;Elbrus e le procedure come oggetti hardware&#xA;    Collegato al punto precedente: la CPU era progettata sapendo che esistevano procedure, stack, tipi e strutture del linguaggio.&#xA;    Il modello dominante che abbiamo ereditato è:&#xA;&#xA;      CPU stupida, compilatore intelligente.&#xA;&#xA;    La filosofia Elbrus/Burroughs era molto più:&#xA;&#xA;      CPU che conosce la semantica fondamentale del linguaggio.&#xA;&#xA;    Quindi chiamate di procedura, stack e protezione non erano convenzioni inventate dal compilatore sopra un ISA di registri: entravano direttamente nell&#39;architettura.&#xA;    È probabilmente uno dei più grandi &#34;what if?&#34; della storia dei computer.&#xA;PS-2000 — 64 processori che fanno la stessa cosa su dati diversi, nel 1981&#xA;br&#xA;    Qui comincia a sembrare familiare per una ragione inquietante.&#xA;br&#xA;    PS-2000 aveva fino a 64 processing elements, ciascuno con memoria locale, governati da una unità comune che inviava loro le operazioni. Era una macchina SIMD.&#xA;    Vale a dire:&#xA;&#xA;      stessa istruzione → moltissimi elementi di dati contemporaneamente.&#xA;&#xA;    Ti ricorda qualcosa?&#xA;    Una GPU.&#xA;    Non era una GPU naturalmente, ma la filosofia è proprio quella. E non era un giocattolo sperimentale: ne furono prodotti 242 esemplari, usati fra l&#39;altro per elaborazione sismica e telemetria spaziale in tempo reale.&#xA;    Il motivo era molto sovietico: avevano enormi flussi di dati geofisici, radar, telemetrici e scientifici, quindi invece di chiedersi &#34;come facciamo una CPU general purpose più veloce?&#34; si chiedevano:&#xA;&#xA;      come facciamo a masticare 64 flussi dello stesso tipo contemporaneamente?&#xA;M-10 — parallelismo su istruzioni E dati negli anni Settanta&#xA;    Mikhail Kartsev progettò M-10 per il sistema sovietico di early warning antimissile. Era una macchina multiprocessore, vector-parallel, progettata per sfruttare parallelismo sia a livello delle istruzioni sia dei dati.&#xA;    Nel 1972.&#xA;    Aveva circa 5 MB di memoria e dell&#39;ordine di 5 milioni di operazioni al secondo; per certi modelli fisici poteva essere enormemente più veloce di BESM-6.&#xA;    E anche qui il contesto cambia completamente l&#39;architettura. Non:&#xA;&#xA;      computer general purpose che occasionalmente fa calcolo parallelo.&#xA;&#xA;    ma:&#xA;&#xA;      oggetto matematico parallelo al quale attacco un problema fisico.&#xA;BESM-6 — una CPU stranissima anche se binaria&#xA;    BESM-6 vale la pena guardarlo proprio perché corregge l&#39;equivoco iniziale: era binario, ma comunque molto poco &#34;PC-like&#34;.&#xA;    Parole da 48 bit, memoria word-addressed, due pipeline separate per controllo e aritmetica, piccoli buffer associativi per istruzioni, operandi e risultati, look-ahead di diverse istruzioni.&#xA;    Nel paper sull&#39;hardware viene descritta una ALU toroidale, costruita intorno a nuclei magnetici e logiche abbastanza diverse dalla struttura che immaginiamo pensando a una CPU moderna.&#xA;    Non è concettualmente aliena quanto Setun, ma è un ottimo esempio del fatto che la microarchitettura non aveva ancora prodotto la nostra grammatica attuale.&#xA;DSSP — il software diventa continuazione della CPU ternaria&#xA;    Quando Setun-70 sparì come macchina fisica, la sua architettura sopravvisse sotto forma di DSSP, Dialogue System of Structured Programming.&#xA;    Ed è una cosa filosoficamente interessante: invece di portare un linguaggio su una nuova CPU, fecero in pratica il contrario, emulando il modello astratto della vecchia macchina sulle macchine binarie successive.&#xA;    Cioè l&#39;ISA smette quasi di essere hardware e diventa un modello computazionale persistente.&#xA;    È molto vicino all&#39;idea moderna di VM, bytecode e abstract machine.&#xA;&#xA;br&#xA;br&#xA;E fin qui siamo ancora al bizzarro. Ma col comunismo, nella job description arriva qualcosa di ancora piu&#39; bizzarro. Il mondo sovietico si proponeva una &#34;scienza sovietica&#34; che doveva essere non solo piu&#39; avanzata, ma completamente&#xA;diversa, al punto da diventare identitaria. E con essa, una tecnologia sovietica. E questo, unito al &#34;cosmismo&#34;, una strana filosofia iperpositivista scientificista che in confronto Elon Musk e&#39; uno che leggeva superman e ci credeva,&#xA;portava i sovietici a finanziare progetti &#34;perche&#39; questa e&#39; scienza sovietica e voi occidentali non potete capire&#34;.&#xA;&#xA;br&#xA;br&#xA;Insomma, il sistema comunista consentiva che venissero finanziate cose infinanziabili in occidente. I financial controller avrebbero sbattuto la testa sul tavolo gridando &#34;pecche? pecche?&#34;, e la riunione di risks assessment sarebbe finita in una sessione di taranta sotto LSD. Ma loro potevano.&#xA;&#xA;E uscirono robe davvero aliene, possibili solo in sistemi che non badano a &#34;successo sul mercato&#34; ma a &#34;idea interessante e superiore a quelle occidentali&#34;.&#xA;&#xA;br&#xA;Qui entriamo nella parte davvero interessante: non più semplicemente &#34;computer sovietici strani&#34;, ma vere e proprie famiglie di idee che provavano a ridefinire che cosa fosse una macchina.&#xA;&#xA;Prima però una correzione rispetto alla carrellata precedente: avevo mescolato scuole ed epoche diverse. SKIF non appartiene davvero all&#39;archeologia sovietica classica: è un progetto russo-bielorusso nato dopo la dissoluzione dell&#39;URSS, all&#39;inizio degli anni 2000. Lo terrei quindi come discendente tardivo di certe idee, non come membro della stessa famiglia storica.&#xA;&#xA;Il nucleo veramente alieno passa soprattutto attraverso Kartsev, Glushkov, Turchin e Akademgorodok.&#xA;&#xA;M-9 di Kartsev: l&#39;operando non è un numero, è una funzione&#xA;&#xA;M-9 è probabilmente uno dei progetti più strani dell&#39;intera storia dell&#39;informatica sovietica.&#xA;&#xA;Mikhail Kartsev lo propose nella seconda metà degli anni Sessanta per problemi nei quali occorreva elaborare enormi quantità di dati, in particolare segnali radar.&#xA;&#xA;L&#39;idea fondamentale era questa:&#xA;&#xA;  Per certi problemi scientifici non ha molto senso considerare l&#39;operando elementare come un numero. L&#39;operando naturale può essere direttamente una funzione.&#xA;&#xA;Immaginiamo, per esempio, una funzione di due variabili:&#xA;&#xA;f(x,y)&#xA;&#xA;campionata su una griglia 32 x 32.&#xA;&#xA;Su una macchina convenzionale penseremmo qualcosa del genere:&#xA;&#xA;for x&#xA;    for y&#xA;        risultato[x,y] = operazione(f[x,y])&#xA;&#xA;Kartsev invece dice, in sostanza:&#xA;&#xA;  No. f è l&#39;operando.&#xA;&#xA;E progetta una matrice di 32 x 32 unità aritmetiche, quindi 1024 elementi di calcolo capaci di lavorare contemporaneamente sui punti della funzione.&#xA;&#xA;Una rappresentazione molto semplificata potrebbe essere:&#xA;&#xA;                    FUNZIONE F(x,y)&#xA;                           |&#xA;                           v&#xA;        +--------------------------------------+&#xA;        |                                      |&#xA;        |        32 x 32 PROCESSING ELEMENTS   |&#xA;        |                                      |&#xA;        |   PE  PE  PE  PE  PE  ...  PE       |&#xA;        |   PE  PE  PE  PE  PE  ...  PE       |&#xA;        |   PE  PE  PE  PE  PE  ...  PE       |&#xA;        |   .   .   .   .   .        .        |&#xA;        |   .   .   .   .   .        .        |&#xA;        |   PE  PE  PE  PE  PE  ...  PE       |&#xA;        |                                      |&#xA;        +--------------------------------------+&#xA;                           |&#xA;                           v&#xA;                    FUNZIONE G(x,y)&#xA;&#xA;La semantica della macchina diventa concettualmente qualcosa del tipo:&#xA;&#xA;G := sin(F)&#xA;&#xA;H := F + G&#xA;&#xA;K := derivatax(H)&#xA;&#xA;e non:&#xA;&#xA;LOAD elemento 17&#xA;ADD  elemento 18&#xA;STORE elemento 19&#xA;&#xA;È una differenza enorme.&#xA;&#xA;Non stai semplicemente costruendo una CPU molto veloce.&#xA;&#xA;Stai costruendo una macchina nella quale l&#39;oggetto matematico del problema coincide quasi con l&#39;oggetto hardware della computazione.&#xA;&#xA;Il progetto M-9 prevedeva inoltre componenti specializzati differenti, destinati a classi diverse di operazioni:&#xA;&#xA;              +----------------------+&#xA;              |  PROCESSORE CONTROLLO |&#xA;              +----------+-----------+&#xA;                         |&#xA;       +-----------------+------------------+&#xA;       |                 |                  |&#xA;       v                 v                  v&#xA;&#xA;+-------------+    +-------------+    +-------------+&#xA;| FUNCTIONAL  |    | NUMERICAL   |    | ASSOCIATIVE |&#xA;| OPERATOR    |    | COMPUTER    |    | COMPUTER    |&#xA;+-------------+    +-------------+    +-------------+&#xA;&#xA;                         |&#xA;                         v&#xA;&#xA;                  +-------------+&#xA;                  | PERIPHERAL  |&#xA;                  | COMPUTER    |&#xA;                  +-------------+&#xA;&#xA;L&#39;obiettivo teorico era arrivare nell&#39;ordine del miliardo di operazioni al secondo, in un&#39;epoca nella quale macchine come BESM-6 stavano nell&#39;ordine del milione.&#xA;&#xA;Il progetto completo non entrò in produzione, ma diverse idee confluirono poi nell&#39;M-10.&#xA;&#xA;Oggi ciò che gli assomiglia di più non è una CPU tradizionale.&#xA;&#xA;È una specie di incrocio fra:&#xA;&#xA;GPU;&#xA;array processor;&#xA;SIMD;&#xA;tensor accelerator;&#xA;domain-specific architecture.&#xA;&#xA;E siamo intorno al 1967.&#xA;&#xA;M-9 e il parallelismo esplicito&#xA;&#xA;Nel progetto M-9 compare anche un&#39;altra idea interessante.&#xA;&#xA;La macchina prevedeva operazioni relativamente semplici, ma parole di comando molto larghe capaci di specificare contemporaneamente attività su più unità funzionali.&#xA;&#xA;Una visione semplificata potrebbe essere:&#xA;&#xA;              UNA PAROLA DI COMANDO&#xA;                       |&#xA;        +--------------+--------------+&#xA;        |              |              |&#xA;        v              v              v&#xA;&#xA;   [ operazione ] [ operazione ] [ operazione ]&#xA;        |              |              |&#xA;        v              v              v&#xA;&#xA;      UNIT A          UNIT B         UNIT C&#xA;&#xA;Il parallelismo non deve essere scoperto faticosamente dalla CPU osservando una sequenza di istruzioni.&#xA;&#xA;È già dichiarato nella struttura del comando.&#xA;&#xA;Retrospettivamente, alcuni storici hanno paragonato certi aspetti di questa impostazione a concetti che in seguito avremmo chiamato RISC e VLIW.&#xA;&#xA;Sarebbe naturalmente anacronistico dire che Kartsev &#34;inventò RISC&#34; o &#34;inventò VLIW&#34;.&#xA;&#xA;Ma la domanda è sorprendentemente moderna:&#xA;&#xA;  Perché costruire una ISA estremamente complicata, se posso usare operazioni semplici e rendere esplicito il parallelismo?&#xA;&#xA;Questo è un tratto ricorrente in molti dei progetti sovietici più interessanti:&#xA;&#xA;prima viene il problema matematico, poi si costruisce l&#39;architettura che gli assomiglia.&#xA;&#xA;Glushkov: aboliamo proprio la macchina di von Neumann&#xA;&#xA;Viktor Glushkov andò ancora oltre.&#xA;&#xA;Negli anni Settanta sviluppò l&#39;idea di un recursive computer, una macchina pensata esplicitamente per superare alcuni limiti fondamentali dell&#39;architettura von Neumann.&#xA;&#xA;Una macchina tradizionale viene concettualmente vista così:&#xA;&#xA;                PROGRAMMA&#xA;                    |&#xA;                    v&#xA;          SEQUENZA DI ISTRUZIONI&#xA;                    |&#xA;                    v&#xA;                 +-----+&#xA;                 | CPU |&#xA;                 +--+--+&#xA;                    |&#xA;                    |&#xA;              +-----+-----+&#xA;              |           |&#xA;              v           v&#xA;          MEMORIA       I/O&#xA;&#xA;Il programma viene trasformato in una sequenza:&#xA;&#xA;istruzione 1&#xA;     |&#xA;     v&#xA;istruzione 2&#xA;     |&#xA;     v&#xA;istruzione 3&#xA;     |&#xA;     v&#xA;istruzione 4&#xA;     |&#xA;     v&#xA;    ...&#xA;&#xA;Ma molte espressioni matematiche reali non hanno affatto questa forma.&#xA;&#xA;Assomigliano molto più a un albero:&#xA;&#xA;                    F&#xA;                  /   \&#xA;                 /     \&#xA;                G       H&#xA;               / \     / \&#xA;              A   B   C   D&#xA;&#xA;Allora nasce una domanda ovvia, ma estremamente radicale:&#xA;&#xA;  Perché trasformare artificialmente questa struttura in una sequenza lineare di LOAD, STORE, CALL e JUMP?&#xA;&#xA;La recursive machine cercava di fare della struttura ricorsiva del problema la struttura stessa della computazione.&#xA;&#xA;Invece di:&#xA;&#xA;LOAD A&#xA;LOAD B&#xA;CALL G&#xA;STORE X&#xA;LOAD C&#xA;LOAD D&#xA;CALL H&#xA;STORE Y&#xA;LOAD X&#xA;LOAD Y&#xA;CALL F&#xA;&#xA;l&#39;idea diventa qualcosa di molto più vicino a:&#xA;&#xA;                    [ F ]&#xA;                   /     \&#xA;                  /       \&#xA;              [ G ]       [ H ]&#xA;              /   \       /   \&#xA;             A     B     C     D&#xA;&#xA;e la macchina cerca di valutare direttamente quella struttura.&#xA;&#xA;La versione completa di questa architettura non fu mai realizzata nella forma immaginata da Glushkov.&#xA;&#xA;La tecnologia dell&#39;epoca semplicemente non rendeva economico costruire tutto ciò che serviva.&#xA;&#xA;Ma parecchie idee confluirono in progetti più concreti.&#xA;&#xA;Macro-pipeline: pipeline di algoritmi, non di istruzioni&#xA;&#xA;Il termine &#34;pipeline&#34; può trarre in inganno.&#xA;&#xA;Una CPU convenzionale può avere una pipeline del tipo:&#xA;&#xA;FETCH&#xA;  |&#xA;  v&#xA;DECODE&#xA;  |&#xA;  v&#xA;EXECUTE&#xA;  |&#xA;  v&#xA;MEMORY&#xA;  |&#xA;  v&#xA;WRITEBACK&#xA;&#xA;Ogni stadio manipola singole istruzioni.&#xA;&#xA;Nel macro-pipeline sviluppato dalla scuola di Glushkov, invece, ogni stadio può rappresentare un pezzo consistente dell&#39;algoritmo.&#xA;&#xA;Immaginiamo di avere molti oggetti:&#xA;&#xA;X1  X2  X3  X4  X5  X6  ...&#xA;&#xA;e una computazione composta da:&#xA;&#xA;A(X) -  B(X) -  C(X) -  D(X)&#xA;&#xA;Possiamo assegnare:&#xA;&#xA;CPU1 = A&#xA;CPU2 = B&#xA;CPU3 = C&#xA;CPU4 = D&#xA;&#xA;e ottenere una situazione del genere:&#xA;&#xA;tempo ---  CPU1        CPU2        CPU3        CPU4&#xA;              A           B           C           D&#xA;&#xA;X1         [ A ]&#xA;&#xA;X2         [ A ] ------  [ B ]&#xA;&#xA;X3         [ A ] ------  [ B ] -----  [ C ]&#xA;&#xA;X4         [ A ] ------  [ B ] -----  [ C ] -----  [ D ]&#xA;&#xA;X5         [ A ] ------  [ B ] -----  [ C ] -----  [ D ]&#xA;&#xA;X6         [ A ] ------  [ B ] -----  [ C ] -----  [ D ]&#xA;&#xA;Fin qui può sembrare una normale pipeline.&#xA;&#xA;Ma la differenza fondamentale è che A, B, C e D non sono istruzioni.&#xA;&#xA;Possono essere interi processi numerici.&#xA;&#xA;La granularità è macroscopica.&#xA;&#xA;È come se invece di pipelinizzare:&#xA;&#xA;ADD&#xA;MUL&#xA;LOAD&#xA;STORE&#xA;&#xA;pipelinizzassi:&#xA;&#xA;filtra il segnale&#xA;        |&#xA;        v&#xA;calcola la trasformata&#xA;        |&#xA;        v&#xA;riconosci il pattern&#xA;        |&#xA;        v&#xA;aggiorna il modello&#xA;&#xA;Il macro-pipeline dinamico&#xA;&#xA;La parte più interessante è che la pipeline non doveva necessariamente essere fissa.&#xA;&#xA;Le architetture sviluppate attorno a queste idee prevedevano processori con memoria distribuita e interconnessioni riconfigurabili.&#xA;&#xA;Un processore poteva ricevere un lavoro quando i dati necessari diventavano disponibili.&#xA;&#xA;Quindi la struttura dell&#39;esecuzione poteva emergere dal grafo delle dipendenze, invece di essere imposta da una sequenza rigida di istruzioni.&#xA;&#xA;Per esempio:&#xA;&#xA;             +--------+&#xA;        A --  | TASK 1 |----+&#xA;             +--------+    |&#xA;                           v&#xA;                        +--------+&#xA;                        | TASK 3 |----  RISULTATO&#xA;                        +--------+&#xA;                           ^&#xA;             +--------+    |&#xA;        B --  | TASK 2 |----+&#xA;             +--------+&#xA;&#xA;TASK 3 non parte perché il program counter è arrivato alla sua istruzione.&#xA;&#xA;Parte quando i suoi input sono pronti.&#xA;&#xA;Vista oggi, questa idea ricorda immediatamente:&#xA;&#xA;task graph;&#xA;DAG scheduler;&#xA;dataflow runtime;&#xA;actor systems;&#xA;futures;&#xA;stream processing;&#xA;workflow engines distribuiti.&#xA;&#xA;Da questa linea di ricerca nacquero macchine concrete come ES-2701 ed ES-1766, prodotte negli anni Ottanta.&#xA;&#xA;Erano sistemi multiprocessore MIMD, con riconfigurazione dinamica e l&#39;obiettivo di ottenere una crescita quasi lineare delle prestazioni aggiungendo risorse.&#xA;&#xA;Quindi non si trattava soltanto di teoria.&#xA;&#xA;Le costruirono davvero.&#xA;&#xA;REFAL: Lisp da una linea evolutiva differente&#xA;&#xA;Con REFAL, sviluppato da Valentin Turchin, usciamo dall&#39;hardware ed entriamo nei linguaggi.&#xA;&#xA;REFAL nasce negli anni Sessanta come linguaggio orientato alla manipolazione simbolica.&#xA;&#xA;Ma non pensa esattamente come Lisp.&#xA;&#xA;Lisp tende a vedere strutture costruite attraverso liste e operazioni come:&#xA;&#xA;CAR&#xA;CDR&#xA;CONS&#xA;&#xA;REFAL parte invece dall&#39;idea che un programma sia fondamentalmente un insieme di trasformazioni di forme simboliche*.&#xA;&#xA;Il cuore è:&#xA;&#xA;PATTERN MATCHING&#xA;       TERM REWRITING&#xA;&#xA;Concettualmente puoi immaginare regole del tipo:&#xA;&#xA;f(0)  -  1&#xA;&#xA;f(n)  -  n  f(n-1)&#xA;&#xA;La computazione diventa allora una sequenza di trasformazioni:&#xA;&#xA;            f(3)&#xA;              |&#xA;              v&#xA;         3  f(2)&#xA;              |&#xA;              v&#xA;      3  2  f(1)&#xA;              |&#xA;              v&#xA;   3  2  1  f(0)&#xA;              |&#xA;              v&#xA;              6&#xA;&#xA;Non stai più necessariamente &#34;eseguendo istruzioni&#34;.&#xA;&#xA;Stai riscrivendo un oggetto simbolico finché assume una forma finale.&#xA;&#xA;Un&#39;altra rappresentazione può essere:&#xA;&#xA;+------------------+&#xA;| FORMA SIMBOLICA  |&#xA;+--------+---------+&#xA;         |&#xA;         | trova pattern&#xA;         v&#xA;+------------------+&#xA;| APPLICA REGOLA   |&#xA;+--------+---------+&#xA;         |&#xA;         v&#xA;+------------------+&#xA;| NUOVA FORMA      |&#xA;+--------+---------+&#xA;         |&#xA;         | trova pattern&#xA;         v&#xA;        ...&#xA;&#xA;Quanto è moderno REFAL&#xA;&#xA;Questa impostazione compare oggi dappertutto.&#xA;&#xA;Nei compilatori:&#xA;&#xA;AST pattern&#xA;     |&#xA;     v&#xA;AST trasformato&#xA;&#xA;Nei sistemi di algebra simbolica:&#xA;&#xA;x + 0  -  x&#xA;&#xA;x  1  -  x&#xA;&#xA;Nei theorem prover:&#xA;&#xA;termine&#xA;   |&#xA;   v&#xA;termine normalizzato&#xA;&#xA;Negli ottimizzatori:&#xA;&#xA;pattern IR&#xA;    |&#xA;    v&#xA;IR migliore&#xA;&#xA;REFAL nasce esattamente per questo genere di manipolazione.&#xA;&#xA;Turchin sviluppò poi anche il concetto di supercompilation.&#xA;&#xA;L&#39;idea è molto più ambiziosa dell&#39;ottimizzazione locale.&#xA;&#xA;Invece di guardare una singola istruzione o una piccola funzione, il sistema cerca di esplorare simbolicamente il comportamento del programma e costruirne una nuova versione specializzata.&#xA;&#xA;Molto schematicamente:&#xA;&#xA;               PROGRAMMA&#xA;                   |&#xA;                   v&#xA;        ESECUZIONE SIMBOLICA&#xA;                   |&#xA;                   v&#xA;        ANALISI DELLE FORME&#xA;                   |&#xA;                   v&#xA;       SPECIALIZZAZIONE CODICE&#xA;                   |&#xA;                   v&#xA;          NUOVO PROGRAMMA&#xA;&#xA;In termini moderni, la supercompilation ha parentela concettuale con:&#xA;&#xA;partial evaluation;&#xA;symbolic execution;&#xA;program specialization;&#xA;compile-time reasoning;&#xA;aggressive optimizer transformations.&#xA;&#xA;E queste idee vengono sviluppate già negli anni Settanta.&#xA;&#xA;Programmi come reti dinamiche di automi&#xA;&#xA;Un&#39;altra linea collegata alla scuola di Glushkov sviluppò architetture nelle quali il programma poteva essere rappresentato come una rete di automi.&#xA;&#xA;Un automa poteva rappresentare:&#xA;&#xA;un dato;&#xA;un&#39;operazione;&#xA;una relazione;&#xA;un riferimento;&#xA;una risorsa hardware.&#xA;&#xA;Gli automi potevano combinarsi in strutture più grandi.&#xA;&#xA;A quel punto la macchina non deve necessariamente seguire un program counter:&#xA;&#xA;PC = PC + 1&#xA;&#xA;La computazione può consistere nella trasformazione di una rete:&#xA;&#xA;       RETE 0&#xA;          |&#xA;          v&#xA;       RETE 1&#xA;          |&#xA;          v&#xA;       RETE 2&#xA;          |&#xA;          v&#xA;       RETE 3&#xA;          |&#xA;          v&#xA;      RISULTATO&#xA;&#xA;Oppure:&#xA;&#xA;       [ A ]----\&#xA;                 \&#xA;                    ----[ F ]----\&#xA;                 /               \&#xA;       [ B ]----/                 \&#xA;                                     ----[ H ]&#xA;       [ C ]----\                 /&#xA;                 \               /&#xA;                    ----[ G ]----/&#xA;                 /&#xA;       [ D ]----/&#xA;&#xA;La computazione non consiste necessariamente nel percorrere la rete da sinistra a destra.&#xA;&#xA;La rete stessa può cambiare struttura durante l&#39;esecuzione.&#xA;&#xA;È un modo radicalmente diverso di intendere il computer.&#xA;&#xA;Assomiglia più a una combinazione di:&#xA;&#xA;graph reduction;&#xA;dataflow;&#xA;term rewriting;&#xA;Petri nets;&#xA;reti di automi;&#xA;&#xA;che a una CPU tradizionale.&#xA;&#xA;Data-driven computing&#xA;&#xA;Una delle possibilità era il calcolo data-driven.&#xA;&#xA;L&#39;operazione parte quando sono disponibili i dati necessari.&#xA;&#xA;Per esempio:&#xA;&#xA;        A --------\&#xA;                   \&#xA;                    +----  [ ADD ] ----  C&#xA;                   /&#xA;        B --------/&#xA;&#xA;ADD non viene eseguita perché:&#xA;&#xA;PC = indirizzodi_ADD&#xA;&#xA;Viene eseguita perché:&#xA;&#xA;A disponibile = SI&#xA;B disponibile = SI&#xA;&#xA;quindi:&#xA;&#xA;             A pronto&#xA;                \&#xA;                 \&#xA;                    ---- [ ADD ] ----  C&#xA;                 /&#xA;                /&#xA;             B pronto&#xA;&#xA;Non serve necessariamente un program counter globale che ordini:&#xA;&#xA;adesso esegui ADD&#xA;&#xA;È la disponibilità dei dati a far partire il calcolo.&#xA;&#xA;Demand-driven computing&#xA;&#xA;L&#39;altra possibilità è quasi speculare.&#xA;&#xA;Qualcuno richiede C.&#xA;&#xA;La macchina scopre che per calcolare C servono A e B.&#xA;&#xA;Quindi:&#xA;&#xA;                 WANT C&#xA;                   |&#xA;                   v&#xA;        +-----------------------+&#xA;        | Per produrre C servono|&#xA;        |         A e B         |&#xA;        +-----------+-----------+&#xA;                    |&#xA;             +------+------+&#xA;             |             |&#xA;             v             v&#xA;          WANT A         WANT B&#xA;             |             |&#xA;             +------+------+&#xA;                    |&#xA;                    v&#xA;                [ CALCOLO ]&#xA;                    |&#xA;                    v&#xA;                    C&#xA;&#xA;La computazione viene quindi attivata dalla domanda del risultato.&#xA;&#xA;È concettualmente molto vicina alla lazy evaluation.&#xA;&#xA;Solo che qui la lazy evaluation non è soltanto una proprietà del linguaggio.&#xA;&#xA;Può diventare una proprietà dell&#39;architettura.&#xA;&#xA;Von Neumann contro dataflow&#xA;&#xA;La differenza filosofica si vede abbastanza bene così.&#xA;&#xA;Macchina convenzionale:&#xA;&#xA;           PROGRAM COUNTER&#xA;                 |&#xA;                 v&#xA;          istruzione 1&#xA;                 |&#xA;                 v&#xA;          istruzione 2&#xA;                 |&#xA;                 v&#xA;          istruzione 3&#xA;                 |&#xA;                 v&#xA;          istruzione 4&#xA;&#xA;La domanda fondamentale è:&#xA;&#xA;&#34;Qual è la prossima istruzione?&#34;&#xA;&#xA;In una macchina dataflow:&#xA;&#xA;        A ----\&#xA;                 ---- [ OP1 ] ----\&#xA;        B ----/                   \&#xA;                                      ---- [ OP3 ] ---  RESULT&#xA;        C -------- [ OP2 ] -------/&#xA;&#xA;la domanda diventa:&#xA;&#xA;&#34;Quale operazione possiede già tutti gli input necessari?&#34;&#xA;&#xA;È una differenza molto più profonda di quanto sembri.&#xA;&#xA;Akademgorodok e Kronos&#xA;&#xA;Spostiamoci a Novosibirsk, nell&#39;ambiente scientifico di Akademgorodok.&#xA;&#xA;Qui nasce Kronos.&#xA;&#xA;La genealogia è interessante perché Kronos non compare dal nulla.&#xA;&#xA;Il punto di partenza è la workstation Lilith di Niklaus Wirth, progettata a ETH Zürich per Modula-2.&#xA;&#xA;Il gruppo sovietico ricevette documentazione su Lilith e Modula-2 nei primi anni Ottanta e iniziò a sviluppare il proprio sistema.&#xA;&#xA;Ma invece di limitarsi a costruire una workstation compatibile, spinse l&#39;idea molto più avanti.&#xA;&#xA;Il ragionamento era sostanzialmente:&#xA;&#xA;  Se il software viene scritto in Modula-2, perché costruire una CPU pensata per assembler?&#xA;&#xA;Kronos diventa quindi qualcosa di molto vicino a una:&#xA;&#xA;        VIRTUAL MODULA-2 MACHINE&#xA;                   |&#xA;                   v&#xA;              HARDWARE REALE&#xA;&#xA;Cioè una macchina virtuale del linguaggio trasformata direttamente in processore fisico.&#xA;&#xA;Kronos: il linguaggio entra nella CPU&#xA;&#xA;Una CPU convenzionale conosce cose come:&#xA;&#xA;MOV&#xA;ADD&#xA;PUSH&#xA;CALL&#xA;JMP&#xA;&#xA;Il significato di:&#xA;&#xA;modulo&#xA;procedura&#xA;variabile locale&#xA;variabile globale&#xA;&#xA;viene costruito sopra la CPU dal compilatore.&#xA;&#xA;Possiamo rappresentarlo così:&#xA;&#xA;       PROGRAMMA MODULA-2&#xA;               |&#xA;               v&#xA;          COMPILATORE&#xA;               |&#xA;               v&#xA;     ISTRUZIONI GENERICHE&#xA;               |&#xA;               v&#xA;              CPU&#xA;&#xA;Kronos cerca invece di accorciare quella distanza:&#xA;&#xA;       PROGRAMMA MODULA-2&#xA;               |&#xA;               v&#xA;        CODICE KRONOS&#xA;               |&#xA;               v&#xA;      CPU CHE CONOSCE GIA&#39;&#xA;       MOLTI DI QUEI CONCETTI&#xA;&#xA;L&#39;architettura supporta direttamente concetti come:&#xA;&#xA;MODULE&#xA;&#xA;PROCEDURE&#xA;&#xA;LOCAL VARIABLE&#xA;&#xA;GLOBAL VARIABLE&#xA;&#xA;e operazioni associate a:&#xA;&#xA;procedure call;&#xA;strutture di stack;&#xA;variabili locali;&#xA;variabili globali;&#xA;moduli;&#xA;range checking;&#xA;costrutti tipo CASE;&#xA;caricamento dinamico di moduli.&#xA;&#xA;La semantica del linguaggio è quindi parzialmente incorporata nell&#39;hardware.&#xA;&#xA;È un ribaltamento importante.&#xA;&#xA;La struttura tradizionale è:&#xA;&#xA;LINGUAGGIO&#xA;    |&#xA;    v&#xA;COMPILATORE&#xA;    |&#xA;    v&#xA;ISA&#xA;    |&#xA;    v&#xA;CPU&#xA;&#xA;La filosofia Kronos si avvicina molto di più a:&#xA;&#xA;LINGUAGGIO&#xA;    |&#xA;    v&#xA;ISA&#xA;    |&#xA;    v&#xA;CPU&#xA;&#xA;o addirittura, concettualmente:&#xA;&#xA;LINGUAGGIO ~= ISA&#xA;&#xA;Kronos e la stack machine&#xA;&#xA;Kronos utilizza intensamente uno stack per valutare le espressioni.&#xA;&#xA;Prendiamo:&#xA;&#xA;a + b  c&#xA;&#xA;Una macchina a registri potrebbe produrre qualcosa del genere:&#xA;&#xA;LOAD R1, b&#xA;LOAD R2, c&#xA;MUL  R1, R2&#xA;LOAD R2, a&#xA;ADD  R2, R1&#xA;&#xA;Su una stack machine il modello diventa:&#xA;&#xA;PUSH a&#xA;PUSH b&#xA;PUSH c&#xA;MUL&#xA;ADD&#xA;&#xA;e lo stack evolve così:&#xA;&#xA;inizio:&#xA;&#xA;    +-------+&#xA;    |       |&#xA;    +-------+&#xA;&#xA;PUSH a:&#xA;&#xA;    +-------+&#xA;    |   a   |&#xA;    +-------+&#xA;&#xA;PUSH b:&#xA;&#xA;    +-------+&#xA;    |   b   |&#xA;    +-------+&#xA;    |   a   |&#xA;    +-------+&#xA;&#xA;PUSH c:&#xA;&#xA;    +-------+&#xA;    |   c   |&#xA;    +-------+&#xA;    |   b   |&#xA;    +-------+&#xA;    |   a   |&#xA;    +-------+&#xA;&#xA;MUL:&#xA;&#xA;    +-------+&#xA;    |  bc  |&#xA;    +-------+&#xA;    |   a   |&#xA;    +-------+&#xA;&#xA;ADD:&#xA;&#xA;    +-------+&#xA;    |a+bc  |&#xA;    +-------+&#xA;&#xA;Non serve fare register allocation nello stesso modo di una CPU tradizionale.&#xA;&#xA;La filosofia ricorda molto ciò che più tardi avremmo visto in:&#xA;&#xA;JVM bytecode;&#xA;CLR;&#xA;WebAssembly;&#xA;Forth;&#xA;altre stack machines.&#xA;&#xA;La differenza interessante è che qui quella macchina virtuale viene materializzata direttamente nell&#39;hardware.&#xA;&#xA;Kronos e gli opcode compatti&#xA;&#xA;L&#39;architettura Kronos era estremamente compatta.&#xA;&#xA;Molte operazioni venivano rappresentate con opcode da un byte.&#xA;&#xA;In una CPU complessa moderna possiamo avere qualcosa del genere:&#xA;&#xA;+--------+-------+------+--------------+-----------+&#xA;| opcode | modrm | sib  | displacement | immediate |&#xA;+--------+-------+------+--------------+-----------+&#xA;&#xA;In una macchina di tipo Kronos il modello può essere molto più vicino a:&#xA;&#xA;+--------+&#xA;| opcode |&#xA;+--------+&#xA;&#xA;Naturalmente non tutte le operazioni reali si riducono magicamente a un solo byte senza dati aggiuntivi, ma la filosofia dell&#39;ISA è molto più vicina a quella di una bytecode machine che a quella di un x86.&#xA;&#xA;Ed è importante ricordare che non stiamo parlando di una VM software.&#xA;&#xA;Stiamo parlando della CPU fisica.&#xA;&#xA;Kronos e la protezione del software&#xA;&#xA;Kronos incorporava anche concetti che rendevano naturale distinguere:&#xA;&#xA;codice;&#xA;dati;&#xA;moduli;&#xA;procedure;&#xA;riferimenti interni ed esterni.&#xA;&#xA;Quindi il mondo non appare semplicemente come:&#xA;&#xA;MEMORIA = UN ENORME ARRAY DI BYTE&#xA;&#xA;ma più come:&#xA;&#xA;+----------------------------------+&#xA;| PROCESSO                         |&#xA;|                                  |&#xA;|   +-----------+   +-----------+  |&#xA;|   |   CODE    |   |   DATA    |  |&#xA;|   +-----------+   +-----------+  |&#xA;|                                  |&#xA;|   +---------------------------+  |&#xA;|   | MODULE TABLE              |  |&#xA;|   +---------------------------+  |&#xA;|                                  |&#xA;|   +---------------------------+  |&#xA;|   | PROCEDURE / ENTRY TABLE   |  |&#xA;|   +---------------------------+  |&#xA;+----------------------------------+&#xA;&#xA;Questo rende molto naturali concetti come:&#xA;&#xA;relocation;&#xA;dynamic linking;&#xA;reentrant code;&#xA;separazione fra aree;&#xA;riferimenti mediati da tabelle.&#xA;&#xA;Non significa che Kronos fosse una moderna capability machine o che avesse automaticamente tutte le proprietà di sicurezza che oggi associamo a CHERI o ai managed runtime.&#xA;&#xA;Ma la filosofia è molto diversa dalla classica:&#xA;&#xA;ecco 4 GB di memoria, arrangiati&#xA;&#xA;Kronos diventa MARS&#xA;&#xA;Kronos finì poi dentro il progetto MARS, acronimo di Modular Asynchronous Developable Systems.&#xA;&#xA;E qui Akademgorodok torna sul tema del parallelismo.&#xA;&#xA;L&#39;idea generale era costruire sistemi:&#xA;&#xA;MODULARI&#xA;    ASINCRONI&#xA;    ESPANDIBILI&#xA;    RICONFIGURABILI&#xA;&#xA;Invece di pensare:&#xA;&#xA;QUESTA E&#39; LA CPU&#xA;QUESTA E&#39; LA MACCHINA&#xA;&#xA;si pensa qualcosa di più simile a:&#xA;&#xA;           +---------+&#xA;           | MODULE  |&#xA;           +----+----+&#xA;                |&#xA;        +-------+-------+&#xA;        |               |&#xA;        v               v&#xA;   +---------+      +---------+&#xA;   | MODULE  |      | MODULE  |&#xA;   +----+----+      +----+----+&#xA;        |                |&#xA;        +-------+--------+&#xA;                |&#xA;                v&#xA;           +---------+&#xA;           | MODULE  |&#xA;           +---------+&#xA;&#xA;La macchina è quindi l&#39;insieme dei moduli e delle loro relazioni.&#xA;&#xA;Vista oggi, questa mentalità ricorda:&#xA;&#xA;manycore;&#xA;compute tile;&#xA;network-on-chip;&#xA;transputer;&#xA;message passing;&#xA;chiplet architectures.&#xA;&#xA;Naturalmente non bisogna proiettare direttamente tecnologie moderne nel passato.&#xA;&#xA;Ma il tipo di domanda architetturale è sorprendentemente simile.&#xA;&#xA;Recursive architectures e tagged architectures: non sono esattamente Kronos&#xA;&#xA;Qui occorre distinguere bene alcune cose che avevo compresso troppo nella lista iniziale.&#xA;&#xA;Le recursive architectures appartengono principalmente al filone legato a Glushkov e ad altri gruppi che lavoravano esplicitamente su architetture non-von-Neumann.&#xA;&#xA;Le tagged architectures hanno invece una storia parzialmente differente.&#xA;&#xA;Un&#39;architettura tagged associa a una parola di memoria non soltanto il valore, ma anche informazione sul tipo dell&#39;oggetto.&#xA;&#xA;Una memoria tradizionale vede:&#xA;&#xA;+------------------------------+&#xA;|       0101010101010101       |&#xA;+------------------------------+&#xA;&#xA;La CPU deve decidere dal contesto se quei bit significano:&#xA;&#xA;integer&#xA;pointer&#xA;instruction&#xA;float&#xA;character&#xA;...&#xA;&#xA;In una tagged architecture l&#39;oggetto assomiglia invece a:&#xA;&#xA;+---------+------------------------------+&#xA;|   TAG   |           VALUE              |&#xA;+---------+------------------------------+&#xA;&#xA;per esempio:&#xA;&#xA;+---------+------------------------------+&#xA;| INTEGER |          123456              |&#xA;+---------+------------------------------+&#xA;&#xA;+---------+------------------------------+&#xA;| POINTER |          0xABCD              |&#xA;+---------+------------------------------+&#xA;&#xA;+---------+------------------------------+&#xA;| CODE    |           ...                |&#xA;+---------+------------------------------+&#xA;&#xA;L&#39;hardware può quindi sapere che cosa sta manipolando.&#xA;&#xA;Questo tipo di idea compare con particolare forza nella famiglia Elbrus.&#xA;&#xA;Kronos, invece, è meglio descritto come:&#xA;&#xA;STACK MACHINE&#xA;      HIGH-LEVEL-LANGUAGE MACHINE&#xA;      MODULAR ARCHITECTURE&#xA;&#xA;non semplicemente come &#34;recursive tagged machine&#34;.&#xA;&#xA;Il punto comune: eliminare il divorzio fra problema e macchina&#xA;&#xA;A questo punto si può vedere un filo comune.&#xA;&#xA;Una CPU convenzionale riceve un problema del mondo reale:&#xA;&#xA;PROBLEMA&#xA;   |&#xA;   v&#xA;MODELLO MATEMATICO&#xA;   |&#xA;   v&#xA;ALGORITMO&#xA;   |&#xA;   v&#xA;LINGUAGGIO&#xA;   |&#xA;   v&#xA;COMPILATORE&#xA;   |&#xA;   v&#xA;ISTRUZIONI&#xA;   |&#xA;   v&#xA;CPU&#xA;&#xA;Ogni passaggio distrugge un po&#39; della struttura originale del problema.&#xA;&#xA;Alla fine una cosa che magari nasce come:&#xA;&#xA;          A&#xA;        /   \&#xA;       B     C&#xA;      / \   / \&#xA;     D   E F   G&#xA;&#xA;diventa:&#xA;&#xA;LOAD&#xA;LOAD&#xA;ADD&#xA;STORE&#xA;LOAD&#xA;CALL&#xA;JUMP&#xA;...&#xA;&#xA;Molti dei progetti sovietici più strani provano invece ad accorciare quella catena.&#xA;&#xA;M-9:&#xA;&#xA;FUNZIONE MATEMATICA&#xA;        |&#xA;        v&#xA;OPERANDO HARDWARE&#xA;&#xA;REFAL:&#xA;&#xA;ESPRESSIONE SIMBOLICA&#xA;        |&#xA;        v&#xA;OGGETTO COMPUTAZIONALE&#xA;&#xA;Glushkov:&#xA;&#xA;GRAFO DEL PROBLEMA&#xA;        |&#xA;        v&#xA;STRUTTURA DELLA COMPUTAZIONE&#xA;&#xA;Kronos:&#xA;&#xA;COSTRUTTO DEL LINGUAGGIO&#xA;        |&#xA;        v&#xA;COSTRUTTO DELLA CPU&#xA;&#xA;Macro-pipeline:&#xA;&#xA;FASE DELL&#39;ALGORITMO&#xA;        |&#xA;        v&#xA;UNITA&#39; DI ESECUZIONE PARALLELA&#xA;&#xA;Questa è probabilmente la cosa veramente &#34;aliena&#34;.&#xA;&#xA;SKIF: interessante, ma appartiene a un&#39;altra epoca&#xA;&#xA;Infine c&#39;è SKIF.&#xA;&#xA;SKIF non è propriamente sovietico.&#xA;&#xA;È un programma russo-bielorusso nato dopo il 2000 e orientato alla costruzione di supercomputer cluster.&#xA;&#xA;A quel punto l&#39;hardware non ha più l&#39;aspetto esotico delle vecchie macchine:&#xA;&#xA;+---------+      +---------+      +---------+&#xA;|  NODE   |------|  NODE   |------|  NODE   |&#xA;|  Linux  |      |  Linux  |      |  Linux  |&#xA;+---------+      +---------+      +---------+&#xA;     |                |                |&#xA;     +----------------+----------------+&#xA;                      |&#xA;                  NETWORK&#xA;&#xA;CPU commodity, cluster, sistemi operativi relativamente convenzionali.&#xA;&#xA;Ma una parte della vecchia filosofia riappare nei sistemi software per il parallelismo.&#xA;&#xA;In particolare nella T-system ritorna una domanda tipica di quella scuola:&#xA;&#xA;  Perché deve essere il programmatore a specificare manualmente tutta la sequenza di esecuzione, se può limitarsi a dichiarare le dipendenze?&#xA;&#xA;Il modello diventa più simile a:&#xA;&#xA;        TASK A ----\&#xA;                    \&#xA;                       ---- TASK C ----\&#xA;                    /                  \&#xA;        TASK B ----/                      ---- TASK E&#xA;                                       /&#xA;        TASK D -----------------------/&#xA;&#xA;Il programmatore descrive il grafo.&#xA;&#xA;Il runtime decide:&#xA;&#xA;quali task sono pronti?&#xA;&#xA;dove posso eseguirli?&#xA;&#xA;quanti processori ho?&#xA;&#xA;come distribuisco il lavoro?&#xA;&#xA;Ed ecco l&#39;ironia storica.&#xA;&#xA;Negli anni Sessanta:&#xA;&#xA;  Costruiamo hardware strano per esprimere naturalmente il parallelismo.&#xA;&#xA;Negli anni Duemila:&#xA;&#xA;  Va bene, usiamo CPU normali. Facciamo diventare strano il runtime.&#xA;&#xA;Una linea evolutiva alternativa&#xA;&#xA;Se mettiamo tutte queste idee in una tabella concettuale, viene fuori qualcosa di interessante:&#xA;&#xA;| Sistema / scuola | Oggetto fondamentale della computazione |&#xA;| ---------------- | --------------------------------------- |&#xA;| Von Neumann classico | istruzione su una parola |&#xA;| M-9 | funzione / matrice |&#xA;| REFAL | espressione simbolica |&#xA;| Recursive machine | struttura ricorsiva |&#xA;| Dynamic architecture | rete di automi |&#xA;| Dataflow | dipendenza fra dati |&#xA;| Macro-pipeline | processo / task |&#xA;| Kronos | costrutto di linguaggio |&#xA;| MARS | modulo computazionale |&#xA;| T-system / SKIF | dipendenza fra task |&#xA;&#xA;La linea evolutiva che ha vinto commercialmente può essere grossolanamente rappresentata così:&#xA;&#xA;VON NEUMANN&#xA;     |&#xA;     v&#xA;CPU GENERAL PURPOSE&#xA;     |&#xA;     v&#xA;REGISTRI + MEMORIA&#xA;     |&#xA;     v&#xA;ASSEMBLER&#xA;     |&#xA;     v&#xA;C / FORTRAN&#xA;     |&#xA;     v&#xA;UNIX&#xA;     |&#xA;     v&#xA;RISC / x86&#xA;     |&#xA;     v&#xA;ENORMI STRATI DI SOFTWARE&#xA;&#xA;Molti di questi filoni sovietici provavano invece qualcosa del genere:&#xA;&#xA;        PROBLEMA&#xA;           |&#xA;           v&#xA;   STRUTTURA MATEMATICA&#xA;           |&#xA;           v&#xA; &#34;CHE MACCHINA SERVE PER&#xA;  RAPPRESENTARLA DIRETTAMENTE?&#34;&#xA;           |&#xA;           v&#xA;       ARCHITETTURA&#xA;&#xA;E questa è la differenza fondamentale.&#xA;&#xA;La linea classica continua a chiedersi:&#xA;&#xA;  Come facciamo a eseguire più velocemente una sequenza di istruzioni?&#xA;&#xA;Questi gruppi continuavano invece a chiedersi:&#xA;&#xA;  Perché stiamo rappresentando il problema come una sequenza di istruzioni?&#xA;&#xA;Ed è una domanda molto più profonda.&#xA;&#xA;Il ritorno delle vecchie idee&#xA;&#xA;La parte divertente è che molte di queste idee, viste dal presente, non sembrano affatto morte.&#xA;&#xA;Non perché ci sia necessariamente una genealogia diretta.&#xA;&#xA;Spesso non c&#39;è.&#xA;&#xA;Ma davanti agli stessi problemi, l&#39;informatica moderna ha ricominciato a inventare strutture sorprendentemente simili.&#xA;&#xA;M-9:&#xA;&#xA;M-9&#xA; |&#xA; +----  array processor&#xA; |&#xA; +----  GPU&#xA; |&#xA; +----  tensor processor&#xA;&#xA;Macro-pipeline:&#xA;&#xA;MACRO-PIPELINE&#xA;      |&#xA;      +----  DAG scheduler&#xA;      |&#xA;      +----  stream processing&#xA;      |&#xA;      +----  distributed workflow&#xA;&#xA;REFAL:&#xA;&#xA;REFAL&#xA; |&#xA; +----  term rewriting&#xA; |&#xA; +----  compiler IR transformations&#xA; |&#xA; +----  symbolic execution&#xA; |&#xA; +----  program specialization&#xA;&#xA;Kronos:&#xA;&#xA;KRONOS&#xA; |&#xA; +----  JVM&#xA; |&#xA; +----  CLR&#xA; |&#xA; +----  WebAssembly&#xA; |&#xA; +----  language-oriented VM&#xA;&#xA;Recursive/dataflow machines:&#xA;&#xA;DATAFLOW / RECURSIVE MACHINE&#xA;           |&#xA;           +----  lazy evaluation&#xA;           |&#xA;           +----  graph reduction&#xA;           |&#xA;           +----  futures&#xA;           |&#xA;           +----  task graphs&#xA;&#xA;Non significa che le tecnologie moderne derivino direttamente da quelle sovietiche.&#xA;&#xA;Significa qualcosa di forse ancora più interessante:&#xA;&#xA;quando il problema ritorna, certe soluzioni matematiche ritornano con lui.&#xA;&#xA;E probabilmente il caso più spettacolare rimane M-9.&#xA;&#xA;Perché dire:&#xA;&#xA;&#34;una funzione è un operando hardware&#34;&#xA;&#xA;nel 1967 non significa semplicemente progettare una CPU veloce.&#xA;&#xA;Significa avere già smesso di pensare che la CPU debba necessariamente essere una macchina che prende un numero alla volta e gli fa qualcosa.&#xA;&#xA;E da lì in poi, praticamente, può succedere di tutto.&#xA;&#xA;br&#xA;***&#xA;&#xA;br&#xA;Quindi si, sono esistiti computer &#34;comunisti&#34; nel senso che soltanto l&#39;organizzazione finanziaria di un sistema comunista, indifferente al problema &#34;successo sul mercato&#34;, &#xA;poteva finanziare.&#xA;&#xA;E le idee venivano da &#34;partiamo dall&#39;idea che gli occidentali stiano sbagliando perche&#39; non capiscono Marx. che succede se noi....&#34;&#xA;&#xA;Ed e&#39; uscita roba davvero aliena.&#xA;&#xA;br&#xA;br&#xA;&#xA;div align=&#34;left&#34; style=&#34;text-align: left;&#34;&#xD;&#xA;  Uriel Fanellibr&#xD;&#xA;  br&#xD;&#xA;  --br&#xD;&#xA;  Written using Blogfrei:&#xD;&#xA;  a href=&#34;https://git.keinpfusch.net/loweel/blogfrei&#34;https://git.keinpfusch.net/loweel/blogfrei/abr&#xD;&#xA;  Fedi: @uriel@bbs.keinpfusch.netbr&#xD;&#xA;  XMPP: uriel@keinpfusch.netbr&#xD;&#xA;  vecchio blog:&#xD;&#xA;  a href=&#34;https://blog.keinpfusch.net&#34;https://blog.keinpfusch.net/abr&#xD;&#xA;  email:&#xD;&#xA;  a href=&#34;mailto:blog@keinpfusch.net&#34;blog@keinpfusch.net/abr&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>Come sapete, per me l&#39;informatica non e&#39; solo un lavoro, ma una vera passione. E quindi mi interessa anche l&#39;archeologia e la storia. Detto questo, un amico che ama molto speculare mi ha chiesto se ci siano caratteristiche tecniche “capitaliste” nei computer che usiamo, e se quindi possano esistere dei computer
ad architettura “comunista”, cioe&#39; computer la cui architettura sia legata alle esigenze o ai paradigmi di un sistema comunista. La cosa divertente e&#39; che per rispondere a questa
domanda non occorre speculare, perche&#39; effettivamente gli anni diciamo “creativi” delle architetture informatiche vedevano i sovietici fare cose, diciamo, aliene, e facilmente
riconducibili all&#39;esigenza di pianificazione e di giustificazione della spesa, di un sistema comunista.</p>

<p>Il problema di base e&#39; che in un sistema sovietico l&#39;economia era completamente pianificata. Era un periodo nel quale i computer (sia in URSS che in occidente) li facevano le universita&#39;, in occidente magari con la cooperazione di un&#39;azienda tipo IBM,
e quindi erano vastamente finanziati dallo stato. Di conseguenza, si faceva ogni cinque anni una pianificazione e si decideva cosa finanziare, e specialmente CHI finanziare: essendo che l&#39;intero sistema teoricamente doveva servire chi lavorava,
avreste ottenuto macchine per fisici, per ingegneri, per militari, per controllo industriale.</p>

<p>In Occidente ha vinto storicamente più o meno questa successione:
<strong>von Neumann → CPU general purpose → byte → registri → C → Unix → RISC/x86 → enormi quantità di software sopra.</strong></p>

<p>In alcuni filoni sovietici invece troviamo continuamente tentativi di dire:</p>

<p><strong>“Perché devo fare una macchina generica? Qual è la struttura matematica del problema? Costruiamo direttamente quella, fatta per quelli che ci lavoreranno.”</strong></p>

<p>Da lì vengono:</p>
<ul><li>ternario perché matematicamente ha proprietà interessanti;</li>
<li>stack perché le espressioni sono alberi;</li>
<li>tagged memory perché i valori <strong>hanno un tipo</strong>;</li>
<li>hardware per linguaggi ad alto livello;</li>
<li>SIMD perché molti problemi scientifici sono vettori;</li>
<li>macchine specializzate per algebra simbolica;</li>
<li>parallelismo esplicito invece di fingere che tutto sia una sequenza di istruzioni.</li></ul>

<p>Ed è proprio questo che le rende “aliene”: <strong>non partono necessariamente dalla CPU come oggetto fondamentale</strong>.
Partono dal <em>calcolo che vuoi fare</em> e cercano una macchina che gli assomigli.</p>

<p>Se volete andare ancora più nel weird, ce n&#39;è un secondo strato decisamente più oscuro: <strong>M-9 di Kartsev, macchine di Glushkov, sistemi macro-pipeline, REFAL, SKIF, Kronos, le architetture recursive/tagged di Akademgorodok</strong>.</p>

<p>Lì cominciano veramente le cose da “la storia del computing avrebbe potuto andare da un&#39;altra parte”.</p>

<p><br>
<hr/></p>

<p><br>
<br>
E ce ne sono parecchie che, viste oggi, sembrano provenire da una <strong>linea evolutiva alternativa del calcolo</strong>. Non tutto era esclusivamente sovietico — spesso c&#39;erano idee parallele anche in Occidente — ma in URSS alcune furono portate molto più avanti o assemblate in modi davvero strani.</p>

<p>Quelle che secondo me meritano di più sono queste:</p>
<ol><li><strong>Setun / Setun-70 — calcolo ternario bilanciato</strong>
Non <code>0,1</code>, ma <strong>−1, 0, +1</strong>. Quindi un numero può essere rappresentato senza bit di segno separato e la negazione è banalmente lo scambio <code>+ ↔ −</code>. Inoltre in ternario alcune operazioni aritmetiche hanno meno riporti rispetto al binario. Il primo Setun fu costruito alla Moscow State University nel 1958 e ne vennero prodotti circa 50.
La cosa veramente aliena però è <strong>Setun-70</strong>. Non era semplicemente “Setun più veloce”: era una macchina nuova, organizzata intorno a <strong>tryte di 6 trit</strong>, istruzioni a lunghezza variabile e una <strong>architettura a due stack</strong>. Il programma veniva espresso sostanzialmente in una forma di notazione polacca inversa e l&#39;architettura era pensata per rendere naturali le strutture del programma.
Quindi qui abbiamo già qualcosa di concettualmente folle: non una CPU che “esegue istruzioni”, nel senso moderno, ma una macchina progettata intorno all&#39;<strong>algebra delle espressioni e alla struttura del programma</strong>.</li>
<li><strong>MIR — il computer che capiva matematica</strong>
La serie MIR di Viktor Glushkov, dalla metà degli anni Sessanta, era progettata apposta per ingegneri e matematici. Non era semplicemente una macchina con BASIC o FORTRAN sopra: parte del suo linguaggio ad alto livello era <strong>supportata direttamente dall&#39;architettura</strong>.
<br>
MIR poteva lavorare simbolicamente su <strong>frazioni, polinomi, derivate e integrali</strong>.
<br></li>

<li><p>In altre parole, l&#39;idea non era:</p>

<blockquote><p>CPU generica → sistema operativo → programma di algebra.</p></blockquote>

<p>ma qualcosa più simile a:</p>

<blockquote><p><strong>computer = macchina matematica interattiva</strong>.</p></blockquote>

<p>È una genealogia abbastanza diversa da quella PC/Unix. Se Mathematica avesse avuto dei nonni hardware, MIR sarebbe uno di quelli.</p></li>

<li><p><strong>Elbrus-1 / Elbrus-2 — il tipo dei dati è proprietà della memoria</strong>
Questa è una delle mie preferite.
Ogni parola di memoria aveva un <strong>tag hardware</strong> che diceva che cosa quella parola <em>era</em>. Il processore quindi non vedeva soltanto 48/64 bit da interpretare secondo l&#39;istruzione corrente: aveva informazione hardware sul tipo dell&#39;oggetto.
Conseguenza: molte cose che oggi affidiamo al compilatore, al runtime o alla sicurezza della memoria erano controllate dalla macchina.
E ancora più stranamente, su Elbrus <strong>non esisteva realmente l&#39;assembler nel senso tradizionale</strong>. Sistema operativo, compilatori e software di sistema venivano scritti in <strong>EL-76</strong>, un linguaggio ad alto livello imparentato concettualmente con ALGOL 68.
Va detto che qui i sovietici non partirono dal nulla: l&#39;influenza delle macchine Burroughs B5000/B6500 è importante. Ma svilupparono l&#39;idea in una direzione propria.
Vista nel 2026, la cosa fa pensare immediatamente a <strong>tagged memory, capability architectures, CHERI, managed runtimes e memory safety</strong>.</p></li>

<li><p><strong>Elbrus e le procedure come oggetti hardware</strong>
Collegato al punto precedente: la CPU era progettata sapendo che esistevano <strong>procedure, stack, tipi e strutture del linguaggio</strong>.
Il modello dominante che abbiamo ereditato è:</p>

<blockquote><p>CPU stupida, compilatore intelligente.</p></blockquote>

<p>La filosofia Elbrus/Burroughs era molto più:</p>

<blockquote><p><strong>CPU che conosce la semantica fondamentale del linguaggio</strong>.</p></blockquote>

<p>Quindi chiamate di procedura, stack e protezione non erano convenzioni inventate dal compilatore sopra un ISA di registri: entravano direttamente nell&#39;architettura.
È probabilmente uno dei più grandi “what if?” della storia dei computer.</p></li>

<li><p><strong>PS-2000 — 64 processori che fanno la stessa cosa su dati diversi, nel 1981</strong>
<br>
Qui comincia a sembrare familiare per una ragione inquietante.
<br>
PS-2000 aveva fino a <strong>64 processing elements</strong>, ciascuno con memoria locale, governati da una unità comune che inviava loro le operazioni. Era una macchina <strong>SIMD</strong>.
Vale a dire:</p>

<blockquote><p>stessa istruzione → moltissimi elementi di dati contemporaneamente.</p></blockquote>

<p>Ti ricorda qualcosa?
Una GPU.
Non era una GPU naturalmente, ma la filosofia è proprio quella. E non era un giocattolo sperimentale: ne furono prodotti <strong>242 esemplari</strong>, usati fra l&#39;altro per elaborazione sismica e telemetria spaziale in tempo reale.
Il motivo era molto sovietico: avevano enormi flussi di dati geofisici, radar, telemetrici e scientifici, quindi invece di chiedersi “come facciamo una CPU general purpose più veloce?” si chiedevano:</p>

<blockquote><p><strong>come facciamo a masticare 64 flussi dello stesso tipo contemporaneamente?</strong></p></blockquote></li>

<li><p><strong>M-10 — parallelismo su istruzioni E dati negli anni Settanta</strong>
Mikhail Kartsev progettò M-10 per il sistema sovietico di early warning antimissile. Era una macchina <strong>multiprocessore, vector-parallel</strong>, progettata per sfruttare parallelismo sia a livello delle istruzioni sia dei dati.
Nel 1972.
Aveva circa 5 MB di memoria e dell&#39;ordine di 5 milioni di operazioni al secondo; per certi modelli fisici poteva essere enormemente più veloce di BESM-6.
E anche qui il contesto cambia completamente l&#39;architettura. Non:</p>

<blockquote><p>computer general purpose che occasionalmente fa calcolo parallelo.</p></blockquote>

<p>ma:</p>

<blockquote><p><strong>oggetto matematico parallelo al quale attacco un problema fisico</strong>.</p></blockquote></li>

<li><p><strong>BESM-6 — una CPU stranissima anche se binaria</strong>
BESM-6 vale la pena guardarlo proprio perché corregge l&#39;equivoco iniziale: era binario, ma comunque molto poco “PC-like”.
Parole da <strong>48 bit</strong>, memoria word-addressed, due pipeline separate per controllo e aritmetica, piccoli buffer associativi per istruzioni, operandi e risultati, look-ahead di diverse istruzioni.
Nel paper sull&#39;hardware viene descritta una ALU <strong>toroidale</strong>, costruita intorno a nuclei magnetici e logiche abbastanza diverse dalla struttura che immaginiamo pensando a una CPU moderna.
Non è concettualmente aliena quanto Setun, ma è un ottimo esempio del fatto che la microarchitettura non aveva ancora prodotto la nostra grammatica attuale.</p></li>

<li><p><strong>DSSP — il software diventa continuazione della CPU ternaria</strong>
Quando Setun-70 sparì come macchina fisica, la sua architettura sopravvisse sotto forma di <strong>DSSP, Dialogue System of Structured Programming</strong>.
Ed è una cosa filosoficamente interessante: invece di portare un linguaggio su una nuova CPU, fecero in pratica il contrario, <strong>emulando il modello astratto della vecchia macchina sulle macchine binarie successive</strong>.
Cioè l&#39;ISA smette quasi di essere hardware e diventa un <strong>modello computazionale persistente</strong>.
È molto vicino all&#39;idea moderna di VM, bytecode e abstract machine.</p></li></ol>

<hr/>

<p><br>
<br>
E fin qui siamo ancora al bizzarro. Ma col comunismo, nella job description arriva qualcosa di ancora piu&#39; bizzarro. Il mondo sovietico si proponeva una “scienza sovietica” che doveva essere non solo piu&#39; avanzata, ma completamente
diversa, al punto da diventare identitaria. E con essa, una tecnologia sovietica. E questo, unito al “cosmismo”, una strana filosofia iperpositivista scientificista che in confronto Elon Musk e&#39; uno che leggeva superman e ci credeva,
portava i sovietici a finanziare progetti “perche&#39; questa e&#39; scienza sovietica e voi occidentali non potete capire”.</p>

<p><br>
<br>
Insomma, il sistema comunista consentiva che venissero finanziate cose infinanziabili in occidente. I financial controller avrebbero sbattuto la testa sul tavolo gridando “pecche? pecche?”, e la riunione di risks assessment sarebbe finita in una sessione di taranta sotto LSD. Ma loro potevano.</p>

<p>E uscirono robe davvero aliene, possibili solo in sistemi che non badano a “successo sul mercato” ma a “idea interessante e superiore a quelle occidentali”.</p>

<p><br>
Qui entriamo nella parte davvero interessante: non più semplicemente “computer sovietici strani”, ma vere e proprie famiglie di idee che provavano a ridefinire <strong>che cosa fosse una macchina</strong>.</p>

<p>Prima però una correzione rispetto alla carrellata precedente: avevo mescolato scuole ed epoche diverse. <strong>SKIF non appartiene davvero all&#39;archeologia sovietica classica</strong>: è un progetto russo-bielorusso nato dopo la dissoluzione dell&#39;URSS, all&#39;inizio degli anni 2000. Lo terrei quindi come discendente tardivo di certe idee, non come membro della stessa famiglia storica.</p>

<p>Il nucleo veramente alieno passa soprattutto attraverso <strong>Kartsev, Glushkov, Turchin e Akademgorodok</strong>.</p>

<h1 id="m-9-di-kartsev-l-operando-non-è-un-numero-è-una-funzione">M-9 di Kartsev: l&#39;operando non è un numero, è una funzione</h1>

<p>M-9 è probabilmente uno dei progetti più strani dell&#39;intera storia dell&#39;informatica sovietica.</p>

<p>Mikhail Kartsev lo propose nella seconda metà degli anni Sessanta per problemi nei quali occorreva elaborare enormi quantità di dati, in particolare segnali radar.</p>

<p>L&#39;idea fondamentale era questa:</p>

<blockquote><p>Per certi problemi scientifici non ha molto senso considerare l&#39;operando elementare come un numero. L&#39;operando naturale può essere direttamente una funzione.</p></blockquote>

<p>Immaginiamo, per esempio, una funzione di due variabili:</p>

<pre><code class="language-text">f(x,y)
</code></pre>

<p>campionata su una griglia 32 x 32.</p>

<p>Su una macchina convenzionale penseremmo qualcosa del genere:</p>

<pre><code class="language-text">for x
    for y
        risultato[x,y] = operazione(f[x,y])
</code></pre>

<p>Kartsev invece dice, in sostanza:</p>

<blockquote><p>No. <code>f</code> è l&#39;operando.</p></blockquote>

<p>E progetta una matrice di <strong>32 x 32 unità aritmetiche</strong>, quindi 1024 elementi di calcolo capaci di lavorare contemporaneamente sui punti della funzione.</p>

<p>Una rappresentazione molto semplificata potrebbe essere:</p>

<pre><code class="language-text">                    FUNZIONE F(x,y)
                           |
                           v
        +--------------------------------------+
        |                                      |
        |        32 x 32 PROCESSING ELEMENTS   |
        |                                      |
        |   PE  PE  PE  PE  PE  ...  PE       |
        |   PE  PE  PE  PE  PE  ...  PE       |
        |   PE  PE  PE  PE  PE  ...  PE       |
        |   .   .   .   .   .        .        |
        |   .   .   .   .   .        .        |
        |   PE  PE  PE  PE  PE  ...  PE       |
        |                                      |
        +--------------------------------------+
                           |
                           v
                    FUNZIONE G(x,y)
</code></pre>

<p>La semantica della macchina diventa concettualmente qualcosa del tipo:</p>

<pre><code class="language-text">G := sin(F)

H := F + G

K := derivata_x(H)
</code></pre>

<p>e non:</p>

<pre><code class="language-text">LOAD elemento 17
ADD  elemento 18
STORE elemento 19
</code></pre>

<p>È una differenza enorme.</p>

<p>Non stai semplicemente costruendo una CPU molto veloce.</p>

<p>Stai costruendo una macchina nella quale <strong>l&#39;oggetto matematico del problema coincide quasi con l&#39;oggetto hardware della computazione</strong>.</p>

<p>Il progetto M-9 prevedeva inoltre componenti specializzati differenti, destinati a classi diverse di operazioni:</p>

<pre><code class="language-text">              +----------------------+
              |  PROCESSORE CONTROLLO |
              +----------+-----------+
                         |
       +-----------------+------------------+
       |                 |                  |
       v                 v                  v

+-------------+    +-------------+    +-------------+
| FUNCTIONAL  |    | NUMERICAL   |    | ASSOCIATIVE |
| OPERATOR    |    | COMPUTER    |    | COMPUTER    |
+-------------+    +-------------+    +-------------+

                         |
                         v

                  +-------------+
                  | PERIPHERAL  |
                  | COMPUTER    |
                  +-------------+
</code></pre>

<p>L&#39;obiettivo teorico era arrivare nell&#39;ordine del <strong>miliardo di operazioni al secondo</strong>, in un&#39;epoca nella quale macchine come BESM-6 stavano nell&#39;ordine del milione.</p>

<p>Il progetto completo non entrò in produzione, ma diverse idee confluirono poi nell&#39;M-10.</p>

<p>Oggi ciò che gli assomiglia di più non è una CPU tradizionale.</p>

<p>È una specie di incrocio fra:</p>
<ul><li>GPU;</li>
<li>array processor;</li>
<li>SIMD;</li>
<li>tensor accelerator;</li>
<li>domain-specific architecture.</li></ul>

<p>E siamo intorno al <strong>1967</strong>.</p>

<h1 id="m-9-e-il-parallelismo-esplicito">M-9 e il parallelismo esplicito</h1>

<p>Nel progetto M-9 compare anche un&#39;altra idea interessante.</p>

<p>La macchina prevedeva operazioni relativamente semplici, ma parole di comando molto larghe capaci di specificare contemporaneamente attività su più unità funzionali.</p>

<p>Una visione semplificata potrebbe essere:</p>

<pre><code class="language-text">              UNA PAROLA DI COMANDO
                       |
        +--------------+--------------+
        |              |              |
        v              v              v

   [ operazione ] [ operazione ] [ operazione ]
        |              |              |
        v              v              v

      UNIT A          UNIT B         UNIT C
</code></pre>

<p>Il parallelismo non deve essere scoperto faticosamente dalla CPU osservando una sequenza di istruzioni.</p>

<p>È già <strong>dichiarato nella struttura del comando</strong>.</p>

<p>Retrospettivamente, alcuni storici hanno paragonato certi aspetti di questa impostazione a concetti che in seguito avremmo chiamato <strong>RISC</strong> e <strong>VLIW</strong>.</p>

<p>Sarebbe naturalmente anacronistico dire che Kartsev “inventò RISC” o “inventò VLIW”.</p>

<p>Ma la domanda è sorprendentemente moderna:</p>

<blockquote><p>Perché costruire una ISA estremamente complicata, se posso usare operazioni semplici e rendere esplicito il parallelismo?</p></blockquote>

<p>Questo è un tratto ricorrente in molti dei progetti sovietici più interessanti:</p>

<p><strong>prima viene il problema matematico, poi si costruisce l&#39;architettura che gli assomiglia.</strong></p>

<h1 id="glushkov-aboliamo-proprio-la-macchina-di-von-neumann">Glushkov: aboliamo proprio la macchina di von Neumann</h1>

<p>Viktor Glushkov andò ancora oltre.</p>

<p>Negli anni Settanta sviluppò l&#39;idea di un <strong>recursive computer</strong>, una macchina pensata esplicitamente per superare alcuni limiti fondamentali dell&#39;architettura von Neumann.</p>

<p>Una macchina tradizionale viene concettualmente vista così:</p>

<pre><code class="language-text">                PROGRAMMA
                    |
                    v
          SEQUENZA DI ISTRUZIONI
                    |
                    v
                 +-----+
                 | CPU |
                 +--+--+
                    |
                    |
              +-----+-----+
              |           |
              v           v
          MEMORIA       I/O
</code></pre>

<p>Il programma viene trasformato in una sequenza:</p>

<pre><code class="language-text">istruzione 1
     |
     v
istruzione 2
     |
     v
istruzione 3
     |
     v
istruzione 4
     |
     v
    ...
</code></pre>

<p>Ma molte espressioni matematiche reali non hanno affatto questa forma.</p>

<p>Assomigliano molto più a un albero:</p>

<pre><code class="language-text">                    F
                  /   \
                 /     \
                G       H
               / \     / \
              A   B   C   D
</code></pre>

<p>Allora nasce una domanda ovvia, ma estremamente radicale:</p>

<blockquote><p>Perché trasformare artificialmente questa struttura in una sequenza lineare di LOAD, STORE, CALL e JUMP?</p></blockquote>

<p>La recursive machine cercava di fare della <strong>struttura ricorsiva del problema la struttura stessa della computazione</strong>.</p>

<p>Invece di:</p>

<pre><code class="language-text">LOAD A
LOAD B
CALL G
STORE X
LOAD C
LOAD D
CALL H
STORE Y
LOAD X
LOAD Y
CALL F
</code></pre>

<p>l&#39;idea diventa qualcosa di molto più vicino a:</p>

<pre><code class="language-text">                    [ F ]
                   /     \
                  /       \
              [ G ]       [ H ]
              /   \       /   \
             A     B     C     D
</code></pre>

<p>e la macchina cerca di valutare direttamente quella struttura.</p>

<p>La versione completa di questa architettura non fu mai realizzata nella forma immaginata da Glushkov.</p>

<p>La tecnologia dell&#39;epoca semplicemente non rendeva economico costruire tutto ciò che serviva.</p>

<p>Ma parecchie idee confluirono in progetti più concreti.</p>

<h1 id="macro-pipeline-pipeline-di-algoritmi-non-di-istruzioni">Macro-pipeline: pipeline di algoritmi, non di istruzioni</h1>

<p>Il termine “pipeline” può trarre in inganno.</p>

<p>Una CPU convenzionale può avere una pipeline del tipo:</p>

<pre><code class="language-text">FETCH
  |
  v
DECODE
  |
  v
EXECUTE
  |
  v
MEMORY
  |
  v
WRITEBACK
</code></pre>

<p>Ogni stadio manipola singole istruzioni.</p>

<p>Nel <strong>macro-pipeline</strong> sviluppato dalla scuola di Glushkov, invece, ogni stadio può rappresentare un pezzo consistente dell&#39;algoritmo.</p>

<p>Immaginiamo di avere molti oggetti:</p>

<pre><code class="language-text">X1  X2  X3  X4  X5  X6  ...
</code></pre>

<p>e una computazione composta da:</p>

<pre><code class="language-text">A(X) -&gt; B(X) -&gt; C(X) -&gt; D(X)
</code></pre>

<p>Possiamo assegnare:</p>

<pre><code class="language-text">CPU1 = A
CPU2 = B
CPU3 = C
CPU4 = D
</code></pre>

<p>e ottenere una situazione del genere:</p>

<pre><code class="language-text">tempo ---&gt;

             CPU1        CPU2        CPU3        CPU4
              A           B           C           D

X1         [ A ]

X2         [ A ] ------&gt; [ B ]

X3         [ A ] ------&gt; [ B ] -----&gt; [ C ]

X4         [ A ] ------&gt; [ B ] -----&gt; [ C ] -----&gt; [ D ]

X5         [ A ] ------&gt; [ B ] -----&gt; [ C ] -----&gt; [ D ]

X6         [ A ] ------&gt; [ B ] -----&gt; [ C ] -----&gt; [ D ]
</code></pre>

<p>Fin qui può sembrare una normale pipeline.</p>

<p>Ma la differenza fondamentale è che <strong>A, B, C e D non sono istruzioni</strong>.</p>

<p>Possono essere interi processi numerici.</p>

<p>La granularità è macroscopica.</p>

<p>È come se invece di pipelinizzare:</p>

<pre><code class="language-text">ADD
MUL
LOAD
STORE
</code></pre>

<p>pipelinizzassi:</p>

<pre><code class="language-text">filtra il segnale
        |
        v
calcola la trasformata
        |
        v
riconosci il pattern
        |
        v
aggiorna il modello
</code></pre>

<h1 id="il-macro-pipeline-dinamico">Il macro-pipeline dinamico</h1>

<p>La parte più interessante è che la pipeline non doveva necessariamente essere fissa.</p>

<p>Le architetture sviluppate attorno a queste idee prevedevano processori con memoria distribuita e interconnessioni riconfigurabili.</p>

<p>Un processore poteva ricevere un lavoro quando i dati necessari diventavano disponibili.</p>

<p>Quindi la struttura dell&#39;esecuzione poteva emergere dal <strong>grafo delle dipendenze</strong>, invece di essere imposta da una sequenza rigida di istruzioni.</p>

<p>Per esempio:</p>

<pre><code class="language-text">             +--------+
        A --&gt;| TASK 1 |----+
             +--------+    |
                           v
                        +--------+
                        | TASK 3 |----&gt; RISULTATO
                        +--------+
                           ^
             +--------+    |
        B --&gt;| TASK 2 |----+
             +--------+
</code></pre>

<p><code>TASK 3</code> non parte perché il program counter è arrivato alla sua istruzione.</p>

<p>Parte quando i suoi input sono pronti.</p>

<p>Vista oggi, questa idea ricorda immediatamente:</p>
<ul><li>task graph;</li>
<li>DAG scheduler;</li>
<li>dataflow runtime;</li>
<li>actor systems;</li>
<li>futures;</li>
<li>stream processing;</li>
<li>workflow engines distribuiti.</li></ul>

<p>Da questa linea di ricerca nacquero macchine concrete come <strong>ES-2701</strong> ed <strong>ES-1766</strong>, prodotte negli anni Ottanta.</p>

<p>Erano sistemi multiprocessore MIMD, con riconfigurazione dinamica e l&#39;obiettivo di ottenere una crescita quasi lineare delle prestazioni aggiungendo risorse.</p>

<p>Quindi non si trattava soltanto di teoria.</p>

<p>Le costruirono davvero.</p>

<h1 id="refal-lisp-da-una-linea-evolutiva-differente">REFAL: Lisp da una linea evolutiva differente</h1>

<p>Con <strong>REFAL</strong>, sviluppato da Valentin Turchin, usciamo dall&#39;hardware ed entriamo nei linguaggi.</p>

<p>REFAL nasce negli anni Sessanta come linguaggio orientato alla manipolazione simbolica.</p>

<p>Ma non pensa esattamente come Lisp.</p>

<p>Lisp tende a vedere strutture costruite attraverso liste e operazioni come:</p>

<pre><code class="language-text">CAR
CDR
CONS
</code></pre>

<p>REFAL parte invece dall&#39;idea che un programma sia fondamentalmente un insieme di <strong>trasformazioni di forme simboliche</strong>.</p>

<p>Il cuore è:</p>

<pre><code class="language-text">PATTERN MATCHING
       +
TERM REWRITING
</code></pre>

<p>Concettualmente puoi immaginare regole del tipo:</p>

<pre><code class="language-text">f(0)  -&gt; 1

f(n)  -&gt; n * f(n-1)
</code></pre>

<p>La computazione diventa allora una sequenza di trasformazioni:</p>

<pre><code class="language-text">            f(3)
              |
              v
         3 * f(2)
              |
              v
      3 * 2 * f(1)
              |
              v
   3 * 2 * 1 * f(0)
              |
              v
              6
</code></pre>

<p>Non stai più necessariamente “eseguendo istruzioni”.</p>

<p>Stai <strong>riscrivendo un oggetto simbolico finché assume una forma finale</strong>.</p>

<p>Un&#39;altra rappresentazione può essere:</p>

<pre><code class="language-text">+------------------+
| FORMA SIMBOLICA  |
+--------+---------+
         |
         | trova pattern
         v
+------------------+
| APPLICA REGOLA   |
+--------+---------+
         |
         v
+------------------+
| NUOVA FORMA      |
+--------+---------+
         |
         | trova pattern
         v
        ...
</code></pre>

<h1 id="quanto-è-moderno-refal">Quanto è moderno REFAL</h1>

<p>Questa impostazione compare oggi dappertutto.</p>

<p>Nei compilatori:</p>

<pre><code class="language-text">AST pattern
     |
     v
AST trasformato
</code></pre>

<p>Nei sistemi di algebra simbolica:</p>

<pre><code class="language-text">x + 0  -&gt; x

x * 1  -&gt; x
</code></pre>

<p>Nei theorem prover:</p>

<pre><code class="language-text">termine
   |
   v
termine normalizzato
</code></pre>

<p>Negli ottimizzatori:</p>

<pre><code class="language-text">pattern IR
    |
    v
IR migliore
</code></pre>

<p>REFAL nasce esattamente per questo genere di manipolazione.</p>

<p>Turchin sviluppò poi anche il concetto di <strong>supercompilation</strong>.</p>

<p>L&#39;idea è molto più ambiziosa dell&#39;ottimizzazione locale.</p>

<p>Invece di guardare una singola istruzione o una piccola funzione, il sistema cerca di esplorare simbolicamente il comportamento del programma e costruirne una nuova versione specializzata.</p>

<p>Molto schematicamente:</p>

<pre><code class="language-text">               PROGRAMMA
                   |
                   v
        ESECUZIONE SIMBOLICA
                   |
                   v
        ANALISI DELLE FORME
                   |
                   v
       SPECIALIZZAZIONE CODICE
                   |
                   v
          NUOVO PROGRAMMA
</code></pre>

<p>In termini moderni, la supercompilation ha parentela concettuale con:</p>
<ul><li>partial evaluation;</li>
<li>symbolic execution;</li>
<li>program specialization;</li>
<li>compile-time reasoning;</li>
<li>aggressive optimizer transformations.</li></ul>

<p>E queste idee vengono sviluppate già negli anni Settanta.</p>

<h1 id="programmi-come-reti-dinamiche-di-automi">Programmi come reti dinamiche di automi</h1>

<p>Un&#39;altra linea collegata alla scuola di Glushkov sviluppò architetture nelle quali il programma poteva essere rappresentato come una <strong>rete di automi</strong>.</p>

<p>Un automa poteva rappresentare:</p>
<ul><li>un dato;</li>
<li>un&#39;operazione;</li>
<li>una relazione;</li>
<li>un riferimento;</li>
<li>una risorsa hardware.</li></ul>

<p>Gli automi potevano combinarsi in strutture più grandi.</p>

<p>A quel punto la macchina non deve necessariamente seguire un program counter:</p>

<pre><code class="language-text">PC = PC + 1
</code></pre>

<p>La computazione può consistere nella trasformazione di una rete:</p>

<pre><code class="language-text">       RETE 0
          |
          v
       RETE 1
          |
          v
       RETE 2
          |
          v
       RETE 3
          |
          v
      RISULTATO
</code></pre>

<p>Oppure:</p>

<pre><code class="language-text">       [ A ]----\
                 \
                  &gt;----[ F ]----\
                 /               \
       [ B ]----/                 \
                                   &gt;----[ H ]
       [ C ]----\                 /
                 \               /
                  &gt;----[ G ]----/
                 /
       [ D ]----/
</code></pre>

<p>La computazione non consiste necessariamente nel percorrere la rete da sinistra a destra.</p>

<p>La rete stessa può cambiare struttura durante l&#39;esecuzione.</p>

<p>È un modo radicalmente diverso di intendere il computer.</p>

<p>Assomiglia più a una combinazione di:</p>
<ul><li>graph reduction;</li>
<li>dataflow;</li>
<li>term rewriting;</li>
<li>Petri nets;</li>
<li>reti di automi;</li></ul>

<p>che a una CPU tradizionale.</p>

<h1 id="data-driven-computing">Data-driven computing</h1>

<p>Una delle possibilità era il calcolo <strong>data-driven</strong>.</p>

<p>L&#39;operazione parte quando sono disponibili i dati necessari.</p>

<p>Per esempio:</p>

<pre><code class="language-text">        A --------\
                   \
                    +----&gt; [ ADD ] ----&gt; C
                   /
        B --------/
</code></pre>

<p><code>ADD</code> non viene eseguita perché:</p>

<pre><code class="language-text">PC = indirizzo_di_ADD
</code></pre>

<p>Viene eseguita perché:</p>

<pre><code class="language-text">A disponibile = SI
B disponibile = SI
</code></pre>

<p>quindi:</p>

<pre><code class="language-text">             A pronto
                \
                 \
                  &gt;---- [ ADD ] ----&gt; C
                 /
                /
             B pronto
</code></pre>

<p>Non serve necessariamente un program counter globale che ordini:</p>

<pre><code class="language-text">adesso esegui ADD
</code></pre>

<p>È la disponibilità dei dati a far partire il calcolo.</p>

<h1 id="demand-driven-computing">Demand-driven computing</h1>

<p>L&#39;altra possibilità è quasi speculare.</p>

<p>Qualcuno richiede <code>C</code>.</p>

<p>La macchina scopre che per calcolare <code>C</code> servono <code>A</code> e <code>B</code>.</p>

<p>Quindi:</p>

<pre><code class="language-text">                 WANT C
                   |
                   v
        +-----------------------+
        | Per produrre C servono|
        |         A e B         |
        +-----------+-----------+
                    |
             +------+------+
             |             |
             v             v
          WANT A         WANT B
             |             |
             +------+------+
                    |
                    v
                [ CALCOLO ]
                    |
                    v
                    C
</code></pre>

<p>La computazione viene quindi attivata dalla <strong>domanda del risultato</strong>.</p>

<p>È concettualmente molto vicina alla lazy evaluation.</p>

<p>Solo che qui la lazy evaluation non è soltanto una proprietà del linguaggio.</p>

<p>Può diventare una proprietà dell&#39;architettura.</p>

<h1 id="von-neumann-contro-dataflow">Von Neumann contro dataflow</h1>

<p>La differenza filosofica si vede abbastanza bene così.</p>

<p>Macchina convenzionale:</p>

<pre><code class="language-text">           PROGRAM COUNTER
                 |
                 v
          istruzione 1
                 |
                 v
          istruzione 2
                 |
                 v
          istruzione 3
                 |
                 v
          istruzione 4
</code></pre>

<p>La domanda fondamentale è:</p>

<pre><code class="language-text">&#34;Qual è la prossima istruzione?&#34;
</code></pre>

<p>In una macchina dataflow:</p>

<pre><code class="language-text">        A ----\
               &gt;---- [ OP1 ] ----\
        B ----/                   \
                                    &gt;---- [ OP3 ] ---&gt; RESULT
        C -------- [ OP2 ] -------/
</code></pre>

<p>la domanda diventa:</p>

<pre><code class="language-text">&#34;Quale operazione possiede già tutti gli input necessari?&#34;
</code></pre>

<p>È una differenza molto più profonda di quanto sembri.</p>

<h1 id="akademgorodok-e-kronos">Akademgorodok e Kronos</h1>

<p>Spostiamoci a Novosibirsk, nell&#39;ambiente scientifico di <strong>Akademgorodok</strong>.</p>

<p>Qui nasce <strong>Kronos</strong>.</p>

<p>La genealogia è interessante perché Kronos non compare dal nulla.</p>

<p>Il punto di partenza è la workstation <strong>Lilith</strong> di Niklaus Wirth, progettata a ETH Zürich per Modula-2.</p>

<p>Il gruppo sovietico ricevette documentazione su Lilith e Modula-2 nei primi anni Ottanta e iniziò a sviluppare il proprio sistema.</p>

<p>Ma invece di limitarsi a costruire una workstation compatibile, spinse l&#39;idea molto più avanti.</p>

<p>Il ragionamento era sostanzialmente:</p>

<blockquote><p>Se il software viene scritto in Modula-2, perché costruire una CPU pensata per assembler?</p></blockquote>

<p>Kronos diventa quindi qualcosa di molto vicino a una:</p>

<pre><code class="language-text">        VIRTUAL MODULA-2 MACHINE
                   |
                   v
              HARDWARE REALE
</code></pre>

<p>Cioè una macchina virtuale del linguaggio trasformata direttamente in processore fisico.</p>

<h1 id="kronos-il-linguaggio-entra-nella-cpu">Kronos: il linguaggio entra nella CPU</h1>

<p>Una CPU convenzionale conosce cose come:</p>

<pre><code class="language-text">MOV
ADD
PUSH
CALL
JMP
</code></pre>

<p>Il significato di:</p>

<pre><code class="language-text">modulo
procedura
variabile locale
variabile globale
</code></pre>

<p>viene costruito sopra la CPU dal compilatore.</p>

<p>Possiamo rappresentarlo così:</p>

<pre><code class="language-text">       PROGRAMMA MODULA-2
               |
               v
          COMPILATORE
               |
               v
     ISTRUZIONI GENERICHE
               |
               v
              CPU
</code></pre>

<p>Kronos cerca invece di accorciare quella distanza:</p>

<pre><code class="language-text">       PROGRAMMA MODULA-2
               |
               v
        CODICE KRONOS
               |
               v
      CPU CHE CONOSCE GIA&#39;
       MOLTI DI QUEI CONCETTI
</code></pre>

<p>L&#39;architettura supporta direttamente concetti come:</p>

<pre><code class="language-text">MODULE

PROCEDURE

LOCAL VARIABLE

GLOBAL VARIABLE
</code></pre>

<p>e operazioni associate a:</p>
<ul><li>procedure call;</li>
<li>strutture di stack;</li>
<li>variabili locali;</li>
<li>variabili globali;</li>
<li>moduli;</li>
<li>range checking;</li>
<li>costrutti tipo <code>CASE</code>;</li>
<li>caricamento dinamico di moduli.</li></ul>

<p>La semantica del linguaggio è quindi parzialmente incorporata nell&#39;hardware.</p>

<p>È un ribaltamento importante.</p>

<p>La struttura tradizionale è:</p>

<pre><code class="language-text">LINGUAGGIO
    |
    v
COMPILATORE
    |
    v
ISA
    |
    v
CPU
</code></pre>

<p>La filosofia Kronos si avvicina molto di più a:</p>

<pre><code class="language-text">LINGUAGGIO
    |
    v
ISA
    |
    v
CPU
</code></pre>

<p>o addirittura, concettualmente:</p>

<pre><code class="language-text">LINGUAGGIO ~= ISA
</code></pre>

<h1 id="kronos-e-la-stack-machine">Kronos e la stack machine</h1>

<p>Kronos utilizza intensamente uno stack per valutare le espressioni.</p>

<p>Prendiamo:</p>

<pre><code class="language-text">a + b * c
</code></pre>

<p>Una macchina a registri potrebbe produrre qualcosa del genere:</p>

<pre><code class="language-text">LOAD R1, b
LOAD R2, c
MUL  R1, R2
LOAD R2, a
ADD  R2, R1
</code></pre>

<p>Su una stack machine il modello diventa:</p>

<pre><code class="language-text">PUSH a
PUSH b
PUSH c
MUL
ADD
</code></pre>

<p>e lo stack evolve così:</p>

<pre><code class="language-text">inizio:

    +-------+
    |       |
    +-------+

PUSH a:

    +-------+
    |   a   |
    +-------+

PUSH b:

    +-------+
    |   b   |
    +-------+
    |   a   |
    +-------+

PUSH c:

    +-------+
    |   c   |
    +-------+
    |   b   |
    +-------+
    |   a   |
    +-------+

MUL:

    +-------+
    |  b*c  |
    +-------+
    |   a   |
    +-------+

ADD:

    +-------+
    |a+b*c  |
    +-------+
</code></pre>

<p>Non serve fare register allocation nello stesso modo di una CPU tradizionale.</p>

<p>La filosofia ricorda molto ciò che più tardi avremmo visto in:</p>
<ul><li>JVM bytecode;</li>
<li>CLR;</li>
<li>WebAssembly;</li>
<li>Forth;</li>
<li>altre stack machines.</li></ul>

<p>La differenza interessante è che qui quella macchina virtuale viene <strong>materializzata direttamente nell&#39;hardware</strong>.</p>

<h1 id="kronos-e-gli-opcode-compatti">Kronos e gli opcode compatti</h1>

<p>L&#39;architettura Kronos era estremamente compatta.</p>

<p>Molte operazioni venivano rappresentate con opcode da un byte.</p>

<p>In una CPU complessa moderna possiamo avere qualcosa del genere:</p>

<pre><code class="language-text">+--------+-------+------+--------------+-----------+
| opcode | modrm | sib  | displacement | immediate |
+--------+-------+------+--------------+-----------+
</code></pre>

<p>In una macchina di tipo Kronos il modello può essere molto più vicino a:</p>

<pre><code class="language-text">+--------+
| opcode |
+--------+
</code></pre>

<p>Naturalmente non tutte le operazioni reali si riducono magicamente a un solo byte senza dati aggiuntivi, ma la filosofia dell&#39;ISA è molto più vicina a quella di una <strong>bytecode machine</strong> che a quella di un x86.</p>

<p>Ed è importante ricordare che non stiamo parlando di una VM software.</p>

<p>Stiamo parlando della CPU fisica.</p>

<h1 id="kronos-e-la-protezione-del-software">Kronos e la protezione del software</h1>

<p>Kronos incorporava anche concetti che rendevano naturale distinguere:</p>
<ul><li>codice;</li>
<li>dati;</li>
<li>moduli;</li>
<li>procedure;</li>
<li>riferimenti interni ed esterni.</li></ul>

<p>Quindi il mondo non appare semplicemente come:</p>

<pre><code class="language-text">MEMORIA = UN ENORME ARRAY DI BYTE
</code></pre>

<p>ma più come:</p>

<pre><code class="language-text">+----------------------------------+
| PROCESSO                         |
|                                  |
|   +-----------+   +-----------+  |
|   |   CODE    |   |   DATA    |  |
|   +-----------+   +-----------+  |
|                                  |
|   +---------------------------+  |
|   | MODULE TABLE              |  |
|   +---------------------------+  |
|                                  |
|   +---------------------------+  |
|   | PROCEDURE / ENTRY TABLE   |  |
|   +---------------------------+  |
+----------------------------------+
</code></pre>

<p>Questo rende molto naturali concetti come:</p>
<ul><li>relocation;</li>
<li>dynamic linking;</li>
<li>reentrant code;</li>
<li>separazione fra aree;</li>
<li>riferimenti mediati da tabelle.</li></ul>

<p>Non significa che Kronos fosse una moderna capability machine o che avesse automaticamente tutte le proprietà di sicurezza che oggi associamo a CHERI o ai managed runtime.</p>

<p>Ma la filosofia è molto diversa dalla classica:</p>

<pre><code class="language-text">ecco 4 GB di memoria, arrangiati
</code></pre>

<h1 id="kronos-diventa-mars">Kronos diventa MARS</h1>

<p>Kronos finì poi dentro il progetto <strong>MARS</strong>, acronimo di Modular Asynchronous Developable Systems.</p>

<p>E qui Akademgorodok torna sul tema del parallelismo.</p>

<p>L&#39;idea generale era costruire sistemi:</p>

<pre><code class="language-text">MODULARI
    +
ASINCRONI
    +
ESPANDIBILI
    +
RICONFIGURABILI
</code></pre>

<p>Invece di pensare:</p>

<pre><code class="language-text">QUESTA E&#39; LA CPU
QUESTA E&#39; LA MACCHINA
</code></pre>

<p>si pensa qualcosa di più simile a:</p>

<pre><code class="language-text">           +---------+
           | MODULE  |
           +----+----+
                |
        +-------+-------+
        |               |
        v               v
   +---------+      +---------+
   | MODULE  |      | MODULE  |
   +----+----+      +----+----+
        |                |
        +-------+--------+
                |
                v
           +---------+
           | MODULE  |
           +---------+
</code></pre>

<p>La macchina è quindi l&#39;insieme dei moduli e delle loro relazioni.</p>

<p>Vista oggi, questa mentalità ricorda:</p>
<ul><li>manycore;</li>
<li>compute tile;</li>
<li>network-on-chip;</li>
<li>transputer;</li>
<li>message passing;</li>
<li>chiplet architectures.</li></ul>

<p>Naturalmente non bisogna proiettare direttamente tecnologie moderne nel passato.</p>

<p>Ma il tipo di domanda architetturale è sorprendentemente simile.</p>

<h1 id="recursive-architectures-e-tagged-architectures-non-sono-esattamente-kronos">Recursive architectures e tagged architectures: non sono esattamente Kronos</h1>

<p>Qui occorre distinguere bene alcune cose che avevo compresso troppo nella lista iniziale.</p>

<p>Le <strong>recursive architectures</strong> appartengono principalmente al filone legato a Glushkov e ad altri gruppi che lavoravano esplicitamente su architetture non-von-Neumann.</p>

<p>Le <strong>tagged architectures</strong> hanno invece una storia parzialmente differente.</p>

<p>Un&#39;architettura tagged associa a una parola di memoria non soltanto il valore, ma anche informazione sul <strong>tipo dell&#39;oggetto</strong>.</p>

<p>Una memoria tradizionale vede:</p>

<pre><code class="language-text">+------------------------------+
|       0101010101010101       |
+------------------------------+
</code></pre>

<p>La CPU deve decidere dal contesto se quei bit significano:</p>

<pre><code class="language-text">integer
pointer
instruction
float
character
...
</code></pre>

<p>In una tagged architecture l&#39;oggetto assomiglia invece a:</p>

<pre><code class="language-text">+---------+------------------------------+
|   TAG   |           VALUE              |
+---------+------------------------------+
</code></pre>

<p>per esempio:</p>

<pre><code class="language-text">+---------+------------------------------+
| INTEGER |          123456              |
+---------+------------------------------+

+---------+------------------------------+
| POINTER |          0xABCD              |
+---------+------------------------------+

+---------+------------------------------+
| CODE    |           ...                |
+---------+------------------------------+
</code></pre>

<p>L&#39;hardware può quindi sapere che cosa sta manipolando.</p>

<p>Questo tipo di idea compare con particolare forza nella famiglia <strong>Elbrus</strong>.</p>

<p>Kronos, invece, è meglio descritto come:</p>

<pre><code class="language-text">STACK MACHINE
      +
HIGH-LEVEL-LANGUAGE MACHINE
      +
MODULAR ARCHITECTURE
</code></pre>

<p>non semplicemente come “recursive tagged machine”.</p>

<h1 id="il-punto-comune-eliminare-il-divorzio-fra-problema-e-macchina">Il punto comune: eliminare il divorzio fra problema e macchina</h1>

<p>A questo punto si può vedere un filo comune.</p>

<p>Una CPU convenzionale riceve un problema del mondo reale:</p>

<pre><code class="language-text">PROBLEMA
   |
   v
MODELLO MATEMATICO
   |
   v
ALGORITMO
   |
   v
LINGUAGGIO
   |
   v
COMPILATORE
   |
   v
ISTRUZIONI
   |
   v
CPU
</code></pre>

<p>Ogni passaggio distrugge un po&#39; della struttura originale del problema.</p>

<p>Alla fine una cosa che magari nasce come:</p>

<pre><code class="language-text">          A
        /   \
       B     C
      / \   / \
     D   E F   G
</code></pre>

<p>diventa:</p>

<pre><code class="language-text">LOAD
LOAD
ADD
STORE
LOAD
CALL
JUMP
...
</code></pre>

<p>Molti dei progetti sovietici più strani provano invece ad accorciare quella catena.</p>

<p>M-9:</p>

<pre><code class="language-text">FUNZIONE MATEMATICA
        |
        v
OPERANDO HARDWARE
</code></pre>

<p>REFAL:</p>

<pre><code class="language-text">ESPRESSIONE SIMBOLICA
        |
        v
OGGETTO COMPUTAZIONALE
</code></pre>

<p>Glushkov:</p>

<pre><code class="language-text">GRAFO DEL PROBLEMA
        |
        v
STRUTTURA DELLA COMPUTAZIONE
</code></pre>

<p>Kronos:</p>

<pre><code class="language-text">COSTRUTTO DEL LINGUAGGIO
        |
        v
COSTRUTTO DELLA CPU
</code></pre>

<p>Macro-pipeline:</p>

<pre><code class="language-text">FASE DELL&#39;ALGORITMO
        |
        v
UNITA&#39; DI ESECUZIONE PARALLELA
</code></pre>

<p>Questa è probabilmente la cosa veramente “aliena”.</p>

<h1 id="skif-interessante-ma-appartiene-a-un-altra-epoca">SKIF: interessante, ma appartiene a un&#39;altra epoca</h1>

<p>Infine c&#39;è <strong>SKIF</strong>.</p>

<p>SKIF non è propriamente sovietico.</p>

<p>È un programma russo-bielorusso nato dopo il 2000 e orientato alla costruzione di supercomputer cluster.</p>

<p>A quel punto l&#39;hardware non ha più l&#39;aspetto esotico delle vecchie macchine:</p>

<pre><code class="language-text">+---------+      +---------+      +---------+
|  NODE   |------|  NODE   |------|  NODE   |
|  Linux  |      |  Linux  |      |  Linux  |
+---------+      +---------+      +---------+
     |                |                |
     +----------------+----------------+
                      |
                  NETWORK
</code></pre>

<p>CPU commodity, cluster, sistemi operativi relativamente convenzionali.</p>

<p>Ma una parte della vecchia filosofia riappare nei sistemi software per il parallelismo.</p>

<p>In particolare nella <strong>T-system</strong> ritorna una domanda tipica di quella scuola:</p>

<blockquote><p>Perché deve essere il programmatore a specificare manualmente tutta la sequenza di esecuzione, se può limitarsi a dichiarare le dipendenze?</p></blockquote>

<p>Il modello diventa più simile a:</p>

<pre><code class="language-text">        TASK A ----\
                    \
                     &gt;---- TASK C ----\
                    /                  \
        TASK B ----/                    &gt;---- TASK E
                                       /
        TASK D -----------------------/
</code></pre>

<p>Il programmatore descrive il grafo.</p>

<p>Il runtime decide:</p>

<pre><code class="language-text">quali task sono pronti?

dove posso eseguirli?

quanti processori ho?

come distribuisco il lavoro?
</code></pre>

<p>Ed ecco l&#39;ironia storica.</p>

<p>Negli anni Sessanta:</p>

<blockquote><p>Costruiamo hardware strano per esprimere naturalmente il parallelismo.</p></blockquote>

<p>Negli anni Duemila:</p>

<blockquote><p>Va bene, usiamo CPU normali. Facciamo diventare strano il runtime.</p></blockquote>

<h1 id="una-linea-evolutiva-alternativa">Una linea evolutiva alternativa</h1>

<p>Se mettiamo tutte queste idee in una tabella concettuale, viene fuori qualcosa di interessante:</p>

<table>
<thead>
<tr>
<th>Sistema / scuola</th>
<th>Oggetto fondamentale della computazione</th>
</tr>
</thead>

<tbody>
<tr>
<td>Von Neumann classico</td>
<td>istruzione su una parola</td>
</tr>

<tr>
<td>M-9</td>
<td>funzione / matrice</td>
</tr>

<tr>
<td>REFAL</td>
<td>espressione simbolica</td>
</tr>

<tr>
<td>Recursive machine</td>
<td>struttura ricorsiva</td>
</tr>

<tr>
<td>Dynamic architecture</td>
<td>rete di automi</td>
</tr>

<tr>
<td>Dataflow</td>
<td>dipendenza fra dati</td>
</tr>

<tr>
<td>Macro-pipeline</td>
<td>processo / task</td>
</tr>

<tr>
<td>Kronos</td>
<td>costrutto di linguaggio</td>
</tr>

<tr>
<td>MARS</td>
<td>modulo computazionale</td>
</tr>

<tr>
<td>T-system / SKIF</td>
<td>dipendenza fra task</td>
</tr>
</tbody>
</table>

<p>La linea evolutiva che ha vinto commercialmente può essere grossolanamente rappresentata così:</p>

<pre><code class="language-text">VON NEUMANN
     |
     v
CPU GENERAL PURPOSE
     |
     v
REGISTRI + MEMORIA
     |
     v
ASSEMBLER
     |
     v
C / FORTRAN
     |
     v
UNIX
     |
     v
RISC / x86
     |
     v
ENORMI STRATI DI SOFTWARE
</code></pre>

<p>Molti di questi filoni sovietici provavano invece qualcosa del genere:</p>

<pre><code class="language-text">        PROBLEMA
           |
           v
   STRUTTURA MATEMATICA
           |
           v
 &#34;CHE MACCHINA SERVE PER
  RAPPRESENTARLA DIRETTAMENTE?&#34;
           |
           v
       ARCHITETTURA
</code></pre>

<p>E questa è la differenza fondamentale.</p>

<p>La linea classica continua a chiedersi:</p>

<blockquote><p>Come facciamo a eseguire più velocemente una sequenza di istruzioni?</p></blockquote>

<p>Questi gruppi continuavano invece a chiedersi:</p>

<blockquote><p>Perché stiamo rappresentando il problema come una sequenza di istruzioni?</p></blockquote>

<p>Ed è una domanda molto più profonda.</p>

<h1 id="il-ritorno-delle-vecchie-idee">Il ritorno delle vecchie idee</h1>

<p>La parte divertente è che molte di queste idee, viste dal presente, non sembrano affatto morte.</p>

<p>Non perché ci sia necessariamente una genealogia diretta.</p>

<p>Spesso non c&#39;è.</p>

<p>Ma davanti agli stessi problemi, l&#39;informatica moderna ha ricominciato a inventare strutture sorprendentemente simili.</p>

<p>M-9:</p>

<pre><code class="language-text">M-9
 |
 +----&gt; array processor
 |
 +----&gt; GPU
 |
 +----&gt; tensor processor
</code></pre>

<p>Macro-pipeline:</p>

<pre><code class="language-text">MACRO-PIPELINE
      |
      +----&gt; DAG scheduler
      |
      +----&gt; stream processing
      |
      +----&gt; distributed workflow
</code></pre>

<p>REFAL:</p>

<pre><code class="language-text">REFAL
 |
 +----&gt; term rewriting
 |
 +----&gt; compiler IR transformations
 |
 +----&gt; symbolic execution
 |
 +----&gt; program specialization
</code></pre>

<p>Kronos:</p>

<pre><code class="language-text">KRONOS
 |
 +----&gt; JVM
 |
 +----&gt; CLR
 |
 +----&gt; WebAssembly
 |
 +----&gt; language-oriented VM
</code></pre>

<p>Recursive/dataflow machines:</p>

<pre><code class="language-text">DATAFLOW / RECURSIVE MACHINE
           |
           +----&gt; lazy evaluation
           |
           +----&gt; graph reduction
           |
           +----&gt; futures
           |
           +----&gt; task graphs
</code></pre>

<p>Non significa che le tecnologie moderne derivino direttamente da quelle sovietiche.</p>

<p>Significa qualcosa di forse ancora più interessante:</p>

<p><strong>quando il problema ritorna, certe soluzioni matematiche ritornano con lui.</strong></p>

<p>E probabilmente il caso più spettacolare rimane M-9.</p>

<p>Perché dire:</p>

<pre><code class="language-text">&#34;una funzione è un operando hardware&#34;
</code></pre>

<p>nel 1967 non significa semplicemente progettare una CPU veloce.</p>

<p>Significa avere già smesso di pensare che <strong>la CPU debba necessariamente essere una macchina che prende un numero alla volta e gli fa qualcosa</strong>.</p>

<p>E da lì in poi, praticamente, può succedere di tutto.</p>

<p><br>
<hr/></p>

<p><br>
Quindi si, sono esistiti computer “comunisti” nel senso che soltanto l&#39;organizzazione finanziaria di un sistema comunista, indifferente al problema “successo sul mercato”,
poteva finanziare.</p>

<p>E le idee venivano da “partiamo dall&#39;idea che gli occidentali stiano sbagliando perche&#39; non capiscono Marx. che succede se noi....”</p>

<p>Ed e&#39; uscita roba davvero aliena.</p>

<p><br>
<br></p>

<div style="text-align: left;">
  Uriel Fanelli<br>
  <br>
  --<br>
  Written using Blogfrei:
  <a href="https://git.keinpfusch.net/loweel/blogfrei">https://git.keinpfusch.net/loweel/blogfrei</a><br>
  Fedi: <a href="https://keinpfusch.net/@/uriel@bbs.keinpfusch.net" class="u-url mention">@<span>uriel@bbs.keinpfusch.net</span></a><br>
  XMPP: uriel@keinpfusch.net<br>
  vecchio blog:
  <a href="https://blog.keinpfusch.net">https://blog.keinpfusch.net</a><br>
  email:
  <a href="mailto:blog@keinpfusch.net">blog@keinpfusch.net</a><br>
</div>
]]></content:encoded>
      <guid>https://keinpfusch.net/computer-comunisti</guid>
      <pubDate>Sun, 23 Aug 2026 14:33:14 +0000</pubDate>
    </item>
    <item>
      <title>Uomini dal futuro.</title>
      <link>https://keinpfusch.net/uomini-dal-futuro</link>
      <description>&lt;![CDATA[Un tema ricorrente della fantascienza è quello dell’uomo che viene dal futuro. E, ovviamente, esistono parecchi dibattiti su cosa potrebbe mai fare un uomo del futuro se, improvvisamente, arrivasse nel nostro tempo.&#xA;Qui il problema diventa interessante.&#xA;&#xA;!--more--&#xA;&#xA;Se io finissi nel Medioevo, probabilmente potrei anticipare alcune tecniche, ma sarebbero poca cosa rispetto a ciò che conosco oggi. Sarei forse riconosciuto come inventore, magari persino come inventore geniale, ma poco più.&#xA;In campo militare potrei forse accelerare lo sviluppo e la diffusione di artiglierie e razzi, ma non potrei davvero dire di averli inventati: i razzi a polvere esistevano già nella Cina medievale, e l’artiglieria a polvere comparve anche in Europa durante il tardo Medioevo.&#xA;&#xA;Potrei forse tentare qualcosa nel campo delle macchine termiche. Il problema è che conoscere il principio di funzionamento di una macchina non significa automaticamente essere capaci di costruirla con la tecnologia disponibile. Con le tecniche metallurgiche e meccaniche medievali non è semplice produrre un cilindro, un pistone e soprattutto delle tenute abbastanza precise da ottenere una macchina efficiente.&#xA;&#xA;Qualcosa concettualmente simile a una primitiva macchina di Stirling sarebbe forse possibile, almeno come dimostratore: il principio è relativamente semplice e non richiede una caldaia ad alta pressione. Ma tra sapere come dovrebbe funzionare e costruirne una capace di erogare una potenza realmente utile rimarrebbe una distanza tecnologica considerevole. Non a caso il primo motore Stirling realmente impiegato risale al 1818.&#xA;&#xA;Magari, con espedienti come accoppiamenti tra bronzo e ferro, qualcosa si potrebbe fare, ma sarebbe complicato. Bisognerebbe sperimentare parecchio con le combinazioni di materiali disponibili all&#39;epoca: bronzo e ferro, bronzo e pietra, ferro e pietra, legno dove possibile. Ma ne uscirebbero facilmente macchine complicatissime, inefficienti e fragili.&#xA;&#xA;Il problema, cioè, è che mi mancherebbero le fondamenta tecnologiche necessarie per portare all&#39;indietro delle nozioni che, per noi, sono elementari.&#xA;&#xA;Io so perfettamente cos&#39;è un pistone. So come funziona un cilindro. So cos&#39;è una valvola, conosco una macchina a vapore e conosco il principio di una macchina di Stirling. Ma questo non significa che sappia costruire, partendo da una fucina medievale, un cilindro abbastanza regolare, un pistone abbastanza preciso, delle tenute affidabili e delle superfici lavorate con tolleranze sufficienti.&#xA;&#xA;E non è soltanto una questione di conoscenze: dietro oggetti che oggi consideriamo banali esiste una supply chain notevole. Servono materiali con caratteristiche abbastanza prevedibili, utensili capaci di lavorarli, altri utensili capaci di costruire quegli utensili, sistemi di misura, tecniche di fusione e lavorazione, e persone che sappiano fare tutte queste cose con una certa ripetibilità.&#xA;Insomma: potrei portare nel Medioevo l&#39;idea della macchina. Ma non necessariamente la civiltà industriale necessaria per costruirla.&#xA;&#xA;br&#xA;&#xA;br&#xA;Abbiamo due problemi, quindi, se vogliamo tornare indietro e fare tutto il lavoro daccapo.&#xA;&#xA;Per prima cosa, le fondazioni. Bisogna avere idea di come si costruiscono le cose. Non semplicemente di come funzionano, ma proprio di come si costruiscono.&#xA;Probabilmente, già nel Rinascimento, con i materiali giusti e una quantità indecente di tentativi, si sarebbe potuto costruire qualcosa che oggi riconosceremmo come un rudimentale dispositivo a semiconduttore: per esempio un raddrizzatore a cristallo. Il problema sarebbe stato ottenere materiali abbastanza puri e contatti abbastanza affidabili da mostrare qualcosa di ripetibile.&#xA;&#xA;E alla fine quale sarebbe stata la grande dimostrazione?&#xA;«Guardate: la corrente passa molto meglio in una direzione che nell&#39;altra».&#xA;&#xA;E loro: e che diavolo sarebbe questa &#34;corrente&#34;?&#xA;&#xA;Fantastico.&#xA;&#xA;Non sarebbe fregato un cazzo a nessuno, considerando il lavoro necessario per ottenere materiali decenti e il fatto che, intorno a quell&#39;oggetto, non esisteva ancora praticamente nulla che potesse servirsene.&#xA;&#xA;Il secondo problema è, appunto, la supply chain.&#xA;&#xA;Non riuscirete mai a ottenere una tecnologia senza avere prima almeno una parte della base industriale necessaria a costruirla.&#xA;&#xA;Erone di Alessandria, nel I secolo, descriveva già l&#39;eolipila: una sfera fatta ruotare dalla reazione di getti di vapore. Quindi il principio secondo cui il vapore poteesse produrre movimento era lì, visibile, quasi duemila anni prima della rivoluzione industriale.&#xA;&#xA;Ma era poco più di un dispositivo dimostrativo. Girava, certamente, ma non era una macchina progettata per trasferire quantità significative di potenza a un carico.&#xA;&#xA;Per arrivare a una macchina a vapore che funzioni davvero non basta sapere che il vapore spinge.&#xA;&#xA;Occorrono cilindri sufficientemente regolari, pistoni che combacino abbastanza bene, valvole, tenute, metallurgia ripetibile, strumenti di misura e soprattutto macchine utensili capaci di costruire con precisione altre macchine. Quando nel Settecento si cominciarono a produrre cilindri molto più precisi mediante alesatura, le macchine a vapore fecero un salto enorme.&#xA;&#xA;Occorre quindi finire in un mondo sufficientemente avanzato da consentire l&#39;invenzione, non semplicemente la scoperta.&#xA;&#xA;Per quanto noi sappiamo immensamente più di quanto si sapesse nel passato, probabilmente non riusciremmo a spacciarci per grandi scienziati. Molti dei principi che conosciamo sarebbero incomprensibili, oppure completamente inutili senza tutto ciò che deve esistere intorno a essi.&#xA;&#xA;Potremmo invece diventare grandi inventori, a una condizione: dominare abbastanza bene la tecnologia primitiva del periodo e, contemporaneamente, conoscere il passo immediatamente successivo.&#xA;&#xA;Non si tratta di prendere uno stadio tecnologico n e saltare direttamente a n + 100. A n mancano precisamente le novantanove industrie, tecniche, conoscenze pratiche e supply chain necessarie per costruire n + 100.&#xA;&#xA;Bisogna procedere per piccoli passi: da n a n + 1.&#xA;&#xA;Saremmo forse più fortunati nelle arti &#34;liberali&#34;, perché lì alcune idee richiedono molta meno infrastruttura materiale.&#xA;&#xA;Potremmo anticipare la scoperta europea delle Americhe, per esempio, con tutte le conseguenze devastanti che ne deriverebbero. Potremmo portare ai Romani un sistema contabile basato sulla partita doppia: avevano una contabilità sorprendentemente sviluppata, ma non risulta che possedessero la partita doppia nel senso che acquisterà più tardi nel mondo mercantile italiano.&#xA;&#xA;Oppure potremmo semplicemente spiegare ai medici di lavarsi le mani.&#xA;&#xA;Persino con l&#39;ottica incontreremmo lo stesso problema. Produrre lenti veramente buone è complicatissimo: bisogna saper scegliere il vetro, lavorare le superfici con precisione, controllarne la curvatura e lucidarle senza rovinarne la geometria. Non per niente bisogna arrivare all&#39;epoca di Galileo perché il telescopio diventi rapidamente uno strumento realmente utile.&#xA;&#xA;Potremmo pensare di aggirare il problema usando uno specchio. L&#39;idea del telescopio riflettore non richiede affatto Newton per essere concepita: già all&#39;inizio del Seicento si fecero tentativi con specchi concavi, ma ottenere uno specchio con la forma e la superficie necessarie per produrre un&#39;immagine decente era a sua volta un notevole problema tecnologico.&#xA;&#xA;E anche qui bisognerebbe trovare l&#39;ascoltatore giusto.&#xA;&#xA;Galileo lo trovò nella Repubblica di Venezia. Nel 1609 mostrò il suo cannocchiale alla Signoria e ai senatori veneziani facendo osservare, dai campanili, navi che erano ancora così lontane da richiedere ore prima di diventare visibili a occhio nudo. L&#39;utilità militare e commerciale dello strumento era immediatamente evidente.&#xA;&#xA;E i telescopi per usi militari diventarono anche un&#39;attività economicamente interessante: all&#39;inizio del 1610 Galileo scriveva di averne già costruiti più di sessanta, molti dei quali finirono venduti o distribuiti.&#xA;&#xA;Questo, per fare un esempio, funzionava.&#xA;&#xA;Ma difficilmente riusciremmo ad andare molto oltre.&#xA;&#xA;br&#xA;E qui sarebbe la mia teoria. Un uomo del futuro, a patto di avere conoscenze simili a quelle di Cyrus Smith, l’ingegnere de L’isola misteriosa di Jules Verne, uno di quegli ingegneri ottocenteschi letterari che non sanno soltanto come funzionano le cose: sanno come rifarle partendo quasi da zero.&#xA;non apparirebbe come uno scienziato geniale, al massimo come un ingegnere creativo, o un creativo tout-court.&#xA;&#xA;Ecco la mia teoria: un uomo del futuro sarebbe indistinguibile da un inventore del suo tempo, e un inventore del suo tempo da un uomo del futuro.&#xA;&#xA;br&#xA;A sostegno, ho un esempio.&#xA;&#xA;Cosa direste se io vi spiegassi che nel 1987 — e ripeto: nel 1987 — qualcuno aveva costruito, non semplicemente immaginato, una macchina che anticipava concettualmente CUDA, il calcolo su GPU, il data-parallel computing, il superparallelismo, il calcolo vettoriale massivamente parallelo, i virtual processor, la memoria distribuita, il routing hardware tra migliaia di unità di calcolo, le operazioni globali di reduce e broadcast, il graph computing, le sparse matrix operations, le simulazioni cellulari, le reti neurali parallele e perfino, in forma ancora embrionale, l&#39;idea che convenga portare il calcolo verso i dati invece di spostare continuamente i dati verso un unico processore?&#xA;&#xA;Non aveva &#34;inventato CUDA&#34;, naturalmente. Non aveva &#34;inventato MapReduce&#34;. Non aveva &#34;inventato le GPU&#34;.&#xA;&#xA;Aveva però già messo insieme molti dei concetti architetturali che oggi consideriamo moderni: migliaia di processori semplici, enormi quantità di parallelismo, dati distribuiti, comunicazione tra nodi gestita dalla macchina, e un modello di programmazione nel quale non si pensa più a un processore che esegue una sequenza di istruzioni, ma a una popolazione di processori che esegue contemporaneamente operazioni su una popolazione di dati.&#xA;&#xA;Nel 1987.&#xA;&#xA;Parliamo dei sistemi di CM, la &#34;Connection Machine&#34;.&#xA;&#xA;La Connection Machine non fu una singola macchina, ma una famiglia progettata da Thinking Machines, la società fondata da Danny Hillis e Sheryl Handler. Il punto interessante, è che CM-1 e soprattutto CM-2, del 1987, sembrano quasi un catalogo di idee che oggi consideriamo normali, solo realizzate quando il normale computer era ancora sostanzialmente una CPU abbastanza grossa che parlava con una memoria abbastanza grossa.&#xA;&#xA;La CM-2 poteva avere 65.536 processori elementari, ciascuno semplicissimo e dotato della propria memoria. Non cercava quindi di costruire un processore mostruosamente veloce: cercava di costruire una quantità mostruosa di processori piccoli. Oggi diremmo massively parallel computing. È la stessa inversione concettuale che sta dietro alle GPU moderne: non fare un&#39;operazione alla volta molto velocemente, ma fare una quantità enorme di operazioni contemporaneamente.&#xA;&#xA;E qui cominciano le genialate.&#xA;&#xA;Un&#39;istruzione, una quantità enorme di dati. La CM-1 e la CM-2 erano SIMD: un controllo centrale diceva a migliaia di processori di eseguire contemporaneamente la stessa operazione sui propri dati. Oggi il parente concettuale più evidente è GPU computing, CUDA, OpenCL, SIMT/data parallelism. Non è CUDA ante litteram, ma l&#39;idea fondamentale è quella: scrivo essenzialmente cosa deve succedere a ciascun elemento, e la macchina lo fa in parallelo su una popolazione enorme di elementi.&#xA;Il computer principale diventa il coordinatore dell&#39;acceleratore. La Connection Machine aveva normalmente un computer convenzionale davanti — una workstation Sun, una VAX o una Lisp Machine — che eseguiva il programma e impartiva il lavoro alla macchina parallela. Oggi diremmo, molto naturalmente, host CPU + accelerator: praticamente il modello con cui programmiamo una GPU.&#xA;I dati stanno vicino al processore che li usa. Ogni processing element disponeva della propria memoria. Non c&#39;era l&#39;idea di decine di migliaia di CPU che litigano per accedere a un&#39;unica RAM centrale: dati e computazione venivano distribuiti. Oggi questo concetto ricompare continuamente sotto nomi diversi: distributed memory, local memory, NUMA, accelerator memory, compute-near-data. La documentazione del successivo CM-5 dice esplicitamente che, aumentando i processori, memoria condivisa e bus diventano colli di bottiglia e che quindi memoria e comunicazione devono essere distribuite.&#xA;Non programmi i processori: programmi i dati. In Lisp, C e successivamente CM Fortran si potevano descrivere strutture di dati parallele e applicare operazioni collettivamente. La documentazione di Thinking Machines fa esempi quasi comici da leggere oggi: un documento per processore, un pixel per processore, una cella di automa per processore. Oggi diremmo array programming, data-parallel programming, kernels, tensor operations, e in parte penseremmo a CUDA, NumPy, JAX o framework simili.&#xA;Più elementi logici che processori fisici. La CM possedeva i cosiddetti virtual processors. Il programmatore poteva ragionare come se avesse molti più processori di quelli realmente installati; l&#39;hardware e il software multiplexavano gli elementi virtuali sui processori fisici. Si arrivava a oltre un milione di processori virtuali. Oggi l&#39;idea ci sembra banalissima: logical threads, work items, massive oversubscription, cioè descrivere un parallelismo logico molto superiore alle unità fisiche disponibili e lasciare alla piattaforma il compito di schedularlo.&#xA;La rete faceva parte del computer. I 4.096 chip della CM-1/CM-2 erano collegati secondo un ipercubo a dodici dimensioni, così che qualunque chip fosse raggiungibile in non più di dodici passi. Inoltre esisteva hardware dedicato al routing dei messaggi. Oggi penseremmo immediatamente a high-speed interconnect, network-on-chip, cluster fabric, e a tutto il problema moderno di come spostare dati velocemente tra migliaia di unità di calcolo.&#xA;Il routing non era lasciato al programmatore. Tu descrivevi dove dovevano finire i dati; la rete della CM provvedeva a farli arrivare, gestendo contemporaneamente un numero enorme di comunicazioni. Concettualmente è molto vicino all&#39;idea moderna di message routing hardware, delle fabric HPC e, più alla lontana, di cose come RDMA: il trasferimento dei dati non deve trasformarsi in un lavoro manuale della CPU centrale.&#xA;Operazioni collettive. Broadcast, comunicazioni globali, combinazione e distribuzione di risultati erano parte naturale del modello. È qui che puoi citare con prudenza map/reduce: non il MapReduce di Google, che comprende un modello distribuito, fault tolerance, shuffle su cluster eccetera, ma le primitive concettuali map, reduce, scan, broadcast e redistribuzione dei dati erano precisamente il genere di operazioni per cui quelle macchine erano costruite.&#xA;Sparse matrix e graph computing. Una macchina nella quale ogni elemento possiede dati propri e può comunicare attraverso una rete era naturalmente interessante per grafi, matrici sparse, automi cellulari, PDE e simulazioni fisiche. Oggi diremmo graph processing, sparse computation, scientific GPU computing. Già nel 1988 venivano pubblicati risultati di calcolo scientifico su tutti i 65.536 processori della Connection Machine.&#xA;Reti neurali sulla macchina parallela. La Connection Machine nasceva esplicitamente anche dall&#39;ambiente dell&#39;AI del MIT e dall&#39;idea di ottenere comportamento complesso da un&#39;enorme quantità di elementi semplici interconnessi. Non era una GPU per il deep learning, ovviamente; ma era una piattaforma quasi naturalmente adatta al connectionism, alle reti neurali e ai modelli nei quali molti nodi fanno simultaneamente operazioni semplici. Ed è difficile non vedere la parentela filosofica con gli acceleratori AI odierni.&#xA;Acceleratori specializzati dentro una macchina parallela. La CM-2 aggiunse unità hardware in virgola mobile condivise da gruppi di processori elementari. Anche qui non direi “tensor core del 1987”, perché sarebbe troppo; ma l&#39;idea di avere una massa di elementi generalissimi affiancata da unità specializzate per le operazioni numeriche costose è terribilmente moderna.&#xA;Storage parallelo. Il DataVault distribuiva i dati su molti dischi e più DataVault potevano lavorare contemporaneamente; i dati potevano essere trasferiti direttamente verso le sezioni della macchina parallela. Oggi diremmo striped parallel storage / parallel I/O. E il DataVault adottava ridondanza ed error correction in una forma che retrospettivamente viene classificata come RAID-2, prima ancora che il termine RAID diventasse comune.&#xA;La rete diventa più importante del singolo processore. Questa idea diventa ancora più evidente con la CM-5 del 1991: Thinking Machines abbandona il gigantesco SIMD di processori a un bit, passa a centinaia o migliaia di nodi SPARC con memoria locale e costruisce attorno a essi una fat-tree network ad alta banda. Oggi una fat tree/Clos è esattamente il genere di struttura che associamo ai grandi cluster e ai data center. La CM-5 aveva addirittura reti separate per dati, controllo e diagnostica.&#xA;SIMD quando conviene, MIMD quando serve. La CM-5 non obbligava più tutti i nodi a fare esattamente la stessa cosa: potevano operare indipendentemente, ma restava il supporto per l&#39;esecuzione sincronizzata data-parallel. Oggi diremmo che stai combinando distributed computing, SPMD e vector/SIMD acceleration nella stessa macchina.&#xA;&#xA;E secondo me la genialata più premonitrice non è nessuna di queste singolarmente.&#xA;&#xA;È l&#39;astrazione.&#xA;&#xA;Hillis aveva sostanzialmente detto: smettiamo di pensare al computer come a un processore che possiede della memoria. Pensiamolo come a una popolazione di elementi computazionali che possiedono ciascuno dei dati, e costruiamo una rete abbastanza intelligente da permettere loro di collaborare.&#xA;&#xA;Nel 1987 sembrava una maniera piuttosto esotica di costruire un supercomputer. Eccola, in una foto.&#xA;&#xA;E faccio notare che quei LED non servivano praticamente a nulla.&#xA;&#xA;Ma qualcuno, evidentemente, aveva già deciso che se mettevi un computer dentro un rack alto quanto un armadio, allora ci dovevano essere dei LED. Molti LED. Possibilmente abbastanza da far capire, anche da lontano, che lì dentro stava succedendo qualcosa di molto interessante.&#xA;&#xA;CM1&#xA;&#xA;Oggi si chiama semplicemente un rack.&#xA;&#xA;Ma nel 1987 quasi tutta l&#39;industria dei supercomputer stava andando nella direzione opposta.&#xA;&#xA;L&#39;idea dominante era: costruire pochi processori sempre più potenti, sempre più veloci, con registri vettoriali enormi e memorie capaci di alimentarli abbastanza in fretta. Era, grosso modo, la filosofia Cray.&#xA;&#xA;La Connection Machine faceva quasi il contrario: prendeva decine di migliaia di processori stupidissimi, dava loro della memoria locale, li collegava con una rete mostruosa e diceva: adesso lavorate tutti insieme.&#xA;&#xA;Non era la prima macchina parallela della storia, naturalmente. Esistevano già SIMD, vector processor e predecessori come ILLIAC IV.&#xA;&#xA;Ma nessuno aveva portato quella filosofia fino a quel livello di esasperazione: 65.536 processori, (nel cazzo di 1987!!!!) virtual processor, memoria distribuita, routing hardware e un modello di programmazione nel quale il programmatore ragionava sui dati, non sulla CPU.&#xA;&#xA;Cray, che in quel periodo rappresentava praticamente l&#39;aristocrazia del supercomputing, sarebbe arrivata al massively parallel processing soltanto negli anni Novanta.&#xA;&#xA;E quando ci arrivò, con il Craylink e il uniCOS e tutto quanto, il mondo che Thinking Machines aveva cominciato a costruire sembrava già molto meno assurdo.&#xA;&#xA;br&#xA;&#xA;br&#xA;Potete continuare a studiare la macchina, e troverete cose come un&#39;architettura di interconnessione a ipercubo a dodici dimensioni, nella quale ogni nodo è identificato da un indirizzo binario e ogni bit dell&#39;indirizzo corrisponde, di fatto, a una dimensione del cubo.&#xA;&#xA;Per capire quali passi separano due nodi basta fare lo XOR dei loro indirizzi: ogni bit a uno segnala una dimensione lungo la quale bisogna ancora muoversi. La distanza tra due punti dell&#39;ipercubo diventa quindi semplicemente il numero di bit diversi tra i due indirizzi, cioè la loro distanza di Hamming.&#xA;&#xA;In pratica, un &#34;lattice&#34; a dodici dimensioni nel quale una parte enorme del problema del routing viene ridotta a operazioni logiche elementari sugli indirizzi, invece di richiedere tabelle gigantesche o algoritmi complicati per decidere ogni volta dove mandare un dato.&#xA;&#xA;E tutto questo non era un esercizio accademico: serviva a far comunicare migliaia di processori e a spostare enormi quantità di dati attraverso la macchina senza trasformare la rete interna nel collo di bottiglia dell&#39;intero sistema.&#xA;&#xA;Ed è questo che fa impressione.&#xA;&#xA;Più si entra nei dettagli, più si trovano idee che oggi ci sembrano naturali: topologie pensate per scalare, indirizzamento che incorpora la geometria della rete, routing hardware, parallelismo spinto, memoria distribuita, calcolo vicino ai dati.&#xA;&#xA;C&#39;è tanta di quella roba che oggi chiameremmo moderna lì dentro, e così poca roba che sembra appartenere davvero al 1987, da fare quasi paura.&#xA;&#xA;E poi, l&#39;idea di metterci led inutili e una forma stravagante, per farle apparire in questo modo:&#xA;&#xA;CM1&#xA;&#xA;che diavolo avevano in mente?&#xA;&#xA;br&#xA;&#xA;Se io vi dicessi che un ingegnere di NVIDIA e uno di IBM, arrivati dal 2026, fossero finiti nel 1987 e avessero costruito un supercomputer usando soltanto i mezzi disponibili all&#39;epoca, ovviamente mi dareste del pazzo.&#xA;&#xA;br&#xA;Ma santiddio, se poi scendessimo nel tecnico, fareste tanta, tanta, tanta fatica a dimostrare che la storia è inverosimile.&#xA;&#xA;Perché quasi tutti i concetti avanzati che riconosciamo nei prodotti del 2026 sono già lì dentro.&#xA;&#xA;Certo: sono costruiti come una macchina di Stirling costruita dai Romani dopo che qualcuno gli ha passato il progetto. Rozza, gigantesca, costosa, fatta con quello che esisteva allora.&#xA;&#xA;Ma l&#39;idea è quella.&#xA;&#xA;Nel 1987 questi avevano già dati distribuiti tra migliaia di memorie locali, processori assegnati ai dati, processori virtuali, routing hardware per spostare informazioni da una parte all&#39;altra della macchina e primitive collettive come scan e reduce.&#xA;&#xA;Non avevano MapReduce nel senso di Google, naturalmente.&#xA;&#xA;Avevano però già costruito buona parte dei meccanismi architetturali dai quali un&#39;idea come MapReduce diventa quasi ovvia: distribuire i dati, portare il calcolo dove sono i dati, fare la stessa operazione su una popolazione di elementi e poi raccogliere o redistribuire i risultati.&#xA;&#xA;In hardware.&#xA;&#xA;Nel 1987.&#xA;&#xA;br&#xA;&#xA;br&#xA;Certo, i due fondatori non erano dei pirla qualsiasi. E tra quelli che finirono a lavorare sui problemi matematici della macchina c&#39;era anche un tale Richard Feynman.&#xA;&#xA;Perché non ci facciamo mancare niente.&#xA;&#xA;Ma se provo a immaginare due ingegneri arrivati dal 2026, uno di NVIDIA che progetta GPU e uno di IBM che disegna mainframe, finiti per sbaglio nel 1987 e costretti a costruire qualcosa usando soltanto la tecnologia disponibile allora, beh:&#xA;questo è più o meno quello che farebbero.&#xA;&#xA;Prenderebbero migliaia di processori relativamente stupidi, distribuirebbero la memoria, costruirebbero una rete per farli comunicare, inventerebbero un modo per assegnare enormi quantità di dati a enormi quantità di unità di calcolo e cercherebbero di nascondere tutta questa mostruosità dietro un&#39;astrazione programmabile.&#xA;&#xA;Ah, sì.&#xA;&#xA;Oggi una parte importante di tutto questo la chiamiamo semplicemente GPU.&#xA;&#xA;E allora il sospetto che, periodicamente, qualcuno cada dal futuro e finisca nel nostro presente diventa, santiddio, difficile da togliersi dalla testa.&#xA;&#xA;E ri-ecco la mia teoria: un uomo del futuro sarebbe indistinguibile da un inventore del suo tempo, e un inventore del suo tempo da un uomo del futuro.&#xA;&#xA;Tadaaa...&#xA;&#xA;br&#xA;br&#xA;br&#xA;br&#xA;*&#xA;&#xA;div align=&#34;left&#34; style=&#34;text-align: left;&#34;&#xD;&#xA;  Uriel Fanellibr&#xD;&#xA;  br&#xD;&#xA;  --br&#xD;&#xA;  Written using Blogfrei:&#xD;&#xA;  a href=&#34;https://git.keinpfusch.net/loweel/blogfrei&#34;https://git.keinpfusch.net/loweel/blogfrei/abr&#xD;&#xA;  Fedi: @uriel@bbs.keinpfusch.netbr&#xD;&#xA;  XMPP: uriel@keinpfusch.netbr&#xD;&#xA;  vecchio blog:&#xD;&#xA;  a href=&#34;https://blog.keinpfusch.net&#34;https://blog.keinpfusch.net/abr&#xD;&#xA;  email:&#xD;&#xA;  a href=&#34;mailto:blog@keinpfusch.net&#34;blog@keinpfusch.net/abr&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>Un tema ricorrente della fantascienza è quello dell’uomo che viene dal futuro. E, ovviamente, esistono parecchi dibattiti su cosa potrebbe mai fare un uomo del futuro se, improvvisamente, arrivasse nel nostro tempo.
Qui il problema diventa interessante.</p>

<p>Se io finissi nel Medioevo, probabilmente potrei anticipare alcune tecniche, ma sarebbero poca cosa rispetto a ciò che conosco oggi. Sarei forse riconosciuto come inventore, magari persino come inventore geniale, ma poco più.
In campo militare potrei forse accelerare lo sviluppo e la diffusione di artiglierie e razzi, ma non potrei davvero dire di averli inventati: i razzi a polvere esistevano già nella Cina medievale, e l’artiglieria a polvere comparve anche in Europa durante il tardo Medioevo.</p>

<p>Potrei forse tentare qualcosa nel campo delle macchine termiche. Il problema è che conoscere il principio di funzionamento di una macchina non significa automaticamente essere capaci di costruirla con la tecnologia disponibile. Con le tecniche metallurgiche e meccaniche medievali non è semplice produrre un cilindro, un pistone e soprattutto delle tenute abbastanza precise da ottenere una macchina efficiente.</p>

<p>Qualcosa concettualmente simile a una primitiva macchina di Stirling sarebbe forse possibile, almeno come dimostratore: il principio è relativamente semplice e non richiede una caldaia ad alta pressione. Ma tra sapere come dovrebbe funzionare e costruirne una capace di erogare una potenza realmente utile rimarrebbe una distanza tecnologica considerevole. Non a caso il primo motore Stirling realmente impiegato risale al 1818.</p>

<p>Magari, con espedienti come accoppiamenti tra bronzo e ferro, qualcosa si potrebbe fare, ma sarebbe complicato. Bisognerebbe sperimentare parecchio con le combinazioni di materiali disponibili all&#39;epoca: bronzo e ferro, bronzo e pietra, ferro e pietra, legno dove possibile. Ma ne uscirebbero facilmente macchine complicatissime, inefficienti e fragili.</p>

<p>Il problema, cioè, è che mi mancherebbero le fondamenta tecnologiche necessarie per portare all&#39;indietro delle nozioni che, per noi, sono elementari.</p>

<p>Io so perfettamente cos&#39;è un pistone. So come funziona un cilindro. So cos&#39;è una valvola, conosco una macchina a vapore e conosco il principio di una macchina di Stirling. Ma questo non significa che sappia costruire, partendo da una fucina medievale, un cilindro abbastanza regolare, un pistone abbastanza preciso, delle tenute affidabili e delle superfici lavorate con tolleranze sufficienti.</p>

<p>E non è soltanto una questione di conoscenze: dietro oggetti che oggi consideriamo banali esiste una supply chain notevole. Servono materiali con caratteristiche abbastanza prevedibili, utensili capaci di lavorarli, altri utensili capaci di costruire quegli utensili, sistemi di misura, tecniche di fusione e lavorazione, e persone che sappiano fare tutte queste cose con una certa ripetibilità.
Insomma: potrei portare nel Medioevo l&#39;idea della macchina. Ma non necessariamente la civiltà industriale necessaria per costruirla.</p>

<p><br>
<hr/></p>

<p><br>
Abbiamo due problemi, quindi, se vogliamo tornare indietro e fare tutto il lavoro daccapo.</p>

<p>Per prima cosa, le fondazioni. Bisogna avere idea di <strong>come si costruiscono le cose</strong>. Non semplicemente di come funzionano, ma proprio di come si costruiscono.
Probabilmente, già nel Rinascimento, con i materiali giusti e una quantità indecente di tentativi, si sarebbe potuto costruire qualcosa che oggi riconosceremmo come un rudimentale dispositivo a semiconduttore: per esempio un raddrizzatore a cristallo. Il problema sarebbe stato ottenere materiali abbastanza puri e contatti abbastanza affidabili da mostrare qualcosa di ripetibile.</p>

<p>E alla fine quale sarebbe stata la grande dimostrazione?
«Guardate: la corrente passa molto meglio in una direzione che nell&#39;altra».</p>

<p>E loro: e che diavolo sarebbe questa “corrente”?</p>

<p>Fantastico.</p>

<p>Non sarebbe fregato un cazzo a nessuno, considerando il lavoro necessario per ottenere materiali decenti e il fatto che, intorno a quell&#39;oggetto, non esisteva ancora praticamente nulla che potesse servirsene.</p>

<p>Il secondo problema è, appunto, la supply chain.</p>

<p>Non riuscirete mai a ottenere una tecnologia senza avere prima almeno una parte della base industriale necessaria a costruirla.</p>

<p>Erone di Alessandria, nel I secolo, descriveva già l&#39;eolipila: una sfera fatta ruotare dalla reazione di getti di vapore. Quindi il principio secondo cui il vapore poteesse produrre movimento era lì, visibile, quasi duemila anni prima della rivoluzione industriale.</p>

<p>Ma era poco più di un dispositivo dimostrativo. Girava, certamente, ma non era una macchina progettata per trasferire quantità significative di potenza a un carico.</p>

<p>Per arrivare a una macchina a vapore che <strong>funzioni davvero</strong> non basta sapere che il vapore spinge.</p>

<p>Occorrono cilindri sufficientemente regolari, pistoni che combacino abbastanza bene, valvole, tenute, metallurgia ripetibile, strumenti di misura e soprattutto macchine utensili capaci di costruire con precisione altre macchine. Quando nel Settecento si cominciarono a produrre cilindri molto più precisi mediante alesatura, le macchine a vapore fecero un salto enorme.</p>

<p>Occorre quindi finire in un mondo sufficientemente avanzato da consentire l&#39;<strong>invenzione</strong>, non semplicemente la scoperta.</p>

<p>Per quanto noi sappiamo immensamente più di quanto si sapesse nel passato, probabilmente non riusciremmo a spacciarci per grandi scienziati. Molti dei principi che conosciamo sarebbero incomprensibili, oppure completamente inutili senza tutto ciò che deve esistere intorno a essi.</p>

<p>Potremmo invece diventare grandi inventori, a una condizione: dominare abbastanza bene la tecnologia primitiva del periodo e, contemporaneamente, conoscere il passo immediatamente successivo.</p>

<p>Non si tratta di prendere uno stadio tecnologico <em>n</em> e saltare direttamente a <em>n + 100</em>. A <em>n</em> mancano precisamente le novantanove industrie, tecniche, conoscenze pratiche e supply chain necessarie per costruire <em>n + 100</em>.</p>

<p>Bisogna procedere per piccoli passi: da <em>n</em> a <em>n + 1</em>.</p>

<p>Saremmo forse più fortunati nelle arti “liberali”, perché lì alcune idee richiedono molta meno infrastruttura materiale.</p>

<p>Potremmo anticipare la scoperta europea delle Americhe, per esempio, con tutte le conseguenze devastanti che ne deriverebbero. Potremmo portare ai Romani un sistema contabile basato sulla partita doppia: avevano una contabilità sorprendentemente sviluppata, ma non risulta che possedessero la partita doppia nel senso che acquisterà più tardi nel mondo mercantile italiano.</p>

<p>Oppure potremmo semplicemente spiegare ai medici di lavarsi le mani.</p>

<p>Persino con l&#39;ottica incontreremmo lo stesso problema. Produrre lenti veramente buone è complicatissimo: bisogna saper scegliere il vetro, lavorare le superfici con precisione, controllarne la curvatura e lucidarle senza rovinarne la geometria. Non per niente bisogna arrivare all&#39;epoca di Galileo perché il telescopio diventi rapidamente uno strumento realmente utile.</p>

<p>Potremmo pensare di aggirare il problema usando uno specchio. L&#39;idea del telescopio riflettore non richiede affatto Newton per essere concepita: già all&#39;inizio del Seicento si fecero tentativi con specchi concavi, ma ottenere uno specchio con la forma e la superficie necessarie per produrre un&#39;immagine decente era a sua volta un notevole problema tecnologico.</p>

<p>E anche qui bisognerebbe trovare l&#39;ascoltatore giusto.</p>

<p>Galileo lo trovò nella Repubblica di Venezia. Nel 1609 mostrò il suo cannocchiale alla Signoria e ai senatori veneziani facendo osservare, dai campanili, navi che erano ancora così lontane da richiedere ore prima di diventare visibili a occhio nudo. L&#39;utilità militare e commerciale dello strumento era immediatamente evidente.</p>

<p>E i telescopi per usi militari diventarono anche un&#39;attività economicamente interessante: all&#39;inizio del 1610 Galileo scriveva di averne già costruiti più di sessanta, molti dei quali finirono venduti o distribuiti.</p>

<p>Questo, per fare un esempio, funzionava.</p>

<p>Ma difficilmente riusciremmo ad andare molto oltre.</p>

<hr/>

<p><br>
E qui sarebbe la mia teoria. Un uomo del futuro, a patto di avere conoscenze simili a quelle di <strong>Cyrus Smith, l’ingegnere de <em>L’isola misteriosa</em> di Jules Verne</strong>, uno di quegli ingegneri ottocenteschi letterari che non sanno soltanto come funzionano le cose: sanno come rifarle partendo quasi da zero.
non apparirebbe come uno scienziato geniale, al massimo come un ingegnere creativo, o un creativo tout-court.</p>

<h2 id="ecco-la-mia-teoria-un-uomo-del-futuro-sarebbe-indistinguibile-da-un-inventore-del-suo-tempo-e-un-inventore-del-suo-tempo-da-un-uomo-del-futuro">Ecco la mia teoria: un uomo del futuro sarebbe indistinguibile da un inventore del suo tempo, e un inventore del suo tempo da un uomo del futuro.</h2>

<hr/>

<p><br>
A sostegno, ho un esempio.</p>

<p>Cosa direste se io vi spiegassi che nel 1987 — e ripeto: <strong>nel 1987</strong> — qualcuno aveva costruito, non semplicemente immaginato, una macchina che anticipava concettualmente CUDA, il calcolo su GPU, il data-parallel computing, il superparallelismo, il calcolo vettoriale massivamente parallelo, i virtual processor, la memoria distribuita, il routing hardware tra migliaia di unità di calcolo, le operazioni globali di reduce e broadcast, il graph computing, le sparse matrix operations, le simulazioni cellulari, le reti neurali parallele e perfino, in forma ancora embrionale, l&#39;idea che convenga portare il calcolo verso i dati invece di spostare continuamente i dati verso un unico processore?</p>

<p>Non aveva “inventato CUDA”, naturalmente. Non aveva “inventato MapReduce”. Non aveva “inventato le GPU”.</p>

<p>Aveva però già messo insieme molti dei <strong>concetti architetturali</strong> che oggi consideriamo moderni: migliaia di processori semplici, enormi quantità di parallelismo, dati distribuiti, comunicazione tra nodi gestita dalla macchina, e un modello di programmazione nel quale non si pensa più a un processore che esegue una sequenza di istruzioni, ma a una popolazione di processori che esegue contemporaneamente operazioni su una popolazione di dati.</p>

<h2 id="nel-1987">Nel 1987.</h2>

<p>Parliamo dei sistemi di CM, la “Connection Machine”.</p>

<p>La Connection Machine non fu una singola macchina, ma una famiglia progettata da <strong>Thinking Machines</strong>, la società fondata da Danny Hillis e Sheryl Handler. Il punto interessante, è che CM-1 e soprattutto <strong>CM-2, del 1987</strong>, sembrano quasi un catalogo di idee che oggi consideriamo normali, solo realizzate quando il normale computer era ancora sostanzialmente una CPU abbastanza grossa che parlava con una memoria abbastanza grossa.</p>

<p>La CM-2 poteva avere <strong>65.536 processori elementari</strong>, ciascuno semplicissimo e dotato della propria memoria. Non cercava quindi di costruire un processore mostruosamente veloce: cercava di costruire una quantità mostruosa di processori piccoli. Oggi diremmo <strong>massively parallel computing</strong>. È la stessa inversione concettuale che sta dietro alle GPU moderne: non fare un&#39;operazione alla volta molto velocemente, ma fare una quantità enorme di operazioni contemporaneamente.</p>

<p>E qui cominciano le genialate.</p>
<ul><li><strong>Un&#39;istruzione, una quantità enorme di dati.</strong> La CM-1 e la CM-2 erano SIMD: un controllo centrale diceva a migliaia di processori di eseguire contemporaneamente la stessa operazione sui propri dati. Oggi il parente concettuale più evidente è <strong>GPU computing, CUDA, OpenCL, SIMT/data parallelism</strong>. Non è CUDA ante litteram, ma l&#39;idea fondamentale è quella: scrivo essenzialmente <em>cosa deve succedere a ciascun elemento</em>, e la macchina lo fa in parallelo su una popolazione enorme di elementi.</li>
<li><strong>Il computer principale diventa il coordinatore dell&#39;acceleratore.</strong> La Connection Machine aveva normalmente un computer convenzionale davanti — una workstation Sun, una VAX o una Lisp Machine — che eseguiva il programma e impartiva il lavoro alla macchina parallela. Oggi diremmo, molto naturalmente, <strong>host CPU + accelerator</strong>: praticamente il modello con cui programmiamo una GPU.</li>
<li><strong>I dati stanno vicino al processore che li usa.</strong> Ogni processing element disponeva della propria memoria. Non c&#39;era l&#39;idea di decine di migliaia di CPU che litigano per accedere a un&#39;unica RAM centrale: dati e computazione venivano distribuiti. Oggi questo concetto ricompare continuamente sotto nomi diversi: <strong>distributed memory, local memory, NUMA, accelerator memory, compute-near-data</strong>. La documentazione del successivo CM-5 dice esplicitamente che, aumentando i processori, memoria condivisa e bus diventano colli di bottiglia e che quindi memoria e comunicazione devono essere distribuite.</li>
<li><strong>Non programmi i processori: programmi i dati.</strong> In <em>Lisp, C</em> e successivamente CM Fortran si potevano descrivere strutture di dati parallele e applicare operazioni collettivamente. La documentazione di Thinking Machines fa esempi quasi comici da leggere oggi: un documento per processore, un pixel per processore, una cella di automa per processore. Oggi diremmo <strong>array programming, data-parallel programming, kernels, tensor operations</strong>, e in parte penseremmo a CUDA, NumPy, JAX o framework simili.</li>
<li><strong>Più elementi logici che processori fisici.</strong> La CM possedeva i cosiddetti <strong>virtual processors</strong>. Il programmatore poteva ragionare come se avesse molti più processori di quelli realmente installati; l&#39;hardware e il software multiplexavano gli elementi virtuali sui processori fisici. Si arrivava a oltre un milione di processori virtuali. Oggi l&#39;idea ci sembra banalissima: <strong>logical threads, work items, massive oversubscription</strong>, cioè descrivere un parallelismo logico molto superiore alle unità fisiche disponibili e lasciare alla piattaforma il compito di schedularlo.</li>
<li><strong>La rete faceva parte del computer.</strong> I 4.096 chip della CM-1/CM-2 erano collegati secondo un <strong>ipercubo a dodici dimensioni</strong>, così che qualunque chip fosse raggiungibile in non più di dodici passi. Inoltre esisteva hardware dedicato al routing dei messaggi. Oggi penseremmo immediatamente a <strong>high-speed interconnect, network-on-chip, cluster fabric</strong>, e a tutto il problema moderno di come spostare dati velocemente tra migliaia di unità di calcolo.</li>
<li><strong>Il routing non era lasciato al programmatore.</strong> Tu descrivevi dove dovevano finire i dati; la rete della CM provvedeva a farli arrivare, gestendo contemporaneamente un numero enorme di comunicazioni. Concettualmente è molto vicino all&#39;idea moderna di <strong>message routing hardware</strong>, delle fabric HPC e, più alla lontana, di cose come RDMA: il trasferimento dei dati non deve trasformarsi in un lavoro manuale della CPU centrale.</li>
<li><strong>Operazioni collettive.</strong> Broadcast, comunicazioni globali, combinazione e distribuzione di risultati erano parte naturale del modello. È qui che puoi citare con prudenza <strong>map/reduce</strong>: non il MapReduce di Google, che comprende un modello distribuito, fault tolerance, shuffle su cluster eccetera, ma le primitive concettuali <em>map</em>, <em>reduce</em>, <em>scan</em>, broadcast e redistribuzione dei dati erano precisamente il genere di operazioni per cui quelle macchine erano costruite.</li>
<li><strong>Sparse matrix e graph computing.</strong> Una macchina nella quale ogni elemento possiede dati propri e può comunicare attraverso una rete era naturalmente interessante per grafi, matrici sparse, automi cellulari, PDE e simulazioni fisiche. Oggi diremmo <strong>graph processing, sparse computation, scientific GPU computing</strong>. Già nel 1988 venivano pubblicati risultati di calcolo scientifico su tutti i 65.536 processori della Connection Machine.</li>
<li><strong>Reti neurali sulla macchina parallela.</strong> La Connection Machine nasceva esplicitamente anche dall&#39;ambiente dell&#39;AI del MIT e dall&#39;idea di ottenere comportamento complesso da un&#39;enorme quantità di elementi semplici interconnessi. Non era una GPU per il deep learning, ovviamente; ma era una piattaforma quasi naturalmente adatta al <strong>connectionism</strong>, alle reti neurali e ai modelli nei quali molti nodi fanno simultaneamente operazioni semplici. Ed è difficile non vedere la parentela filosofica con gli acceleratori AI odierni.</li>
<li><strong>Acceleratori specializzati dentro una macchina parallela.</strong> La CM-2 aggiunse unità hardware in virgola mobile condivise da gruppi di processori elementari. Anche qui non direi “tensor core del 1987”, perché sarebbe troppo; ma l&#39;idea di avere una massa di elementi generalissimi affiancata da <strong>unità specializzate per le operazioni numeriche costose</strong> è terribilmente moderna.</li>
<li><strong>Storage parallelo.</strong> Il DataVault distribuiva i dati su molti dischi e più DataVault potevano lavorare contemporaneamente; i dati potevano essere trasferiti direttamente verso le sezioni della macchina parallela. Oggi diremmo <strong>striped parallel storage / parallel I/O</strong>. E il DataVault adottava ridondanza ed error correction in una forma che retrospettivamente viene classificata come RAID-2, prima ancora che il termine RAID diventasse comune.</li>
<li><strong>La rete diventa più importante del singolo processore.</strong> Questa idea diventa ancora più evidente con la CM-5 del 1991: Thinking Machines abbandona il gigantesco SIMD di processori a un bit, passa a centinaia o migliaia di nodi SPARC con memoria locale e costruisce attorno a essi una <strong>fat-tree network</strong> ad alta banda. Oggi una fat tree/Clos è esattamente il genere di struttura che associamo ai grandi cluster e ai data center. La CM-5 aveva addirittura reti separate per dati, controllo e diagnostica.</li>
<li><strong>SIMD quando conviene, MIMD quando serve.</strong> La CM-5 non obbligava più tutti i nodi a fare esattamente la stessa cosa: potevano operare indipendentemente, ma restava il supporto per l&#39;esecuzione sincronizzata data-parallel. Oggi diremmo che stai combinando <strong>distributed computing, SPMD e vector/SIMD acceleration</strong> nella stessa macchina.</li></ul>

<p>E secondo me la genialata più premonitrice non è nessuna di queste singolarmente.</p>

<p>È <strong>l&#39;astrazione</strong>.</p>

<p>Hillis aveva sostanzialmente detto: smettiamo di pensare al computer come a <strong>un processore che possiede della memoria</strong>. Pensiamolo come a <strong>una popolazione di elementi computazionali che possiedono ciascuno dei dati, e costruiamo una rete abbastanza intelligente da permettere loro di collaborare</strong>.</p>

<p>Nel 1987 sembrava una maniera piuttosto esotica di costruire un supercomputer. Eccola, in una foto.</p>

<p>E faccio notare che quei LED non servivano praticamente a nulla.</p>

<p>Ma qualcuno, evidentemente, aveva già deciso che se mettevi un computer dentro un rack alto quanto un armadio, allora ci dovevano essere dei LED. Molti LED. Possibilmente abbastanza da far capire, anche da lontano, che lì dentro stava succedendo qualcosa di molto interessante.</p>

<p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Connection_Machine_CM-5_%28FROSTBERG%29_at_National_Cryptologic_Museum.agr.jpg/960px-Connection_Machine_CM-5_%28FROSTBERG%29_at_National_Cryptologic_Museum.agr.jpg?utm_source=de.wikipedia.org&amp;utm_campaign=imageinfo&amp;utm_content=thumbnail" alt="CM1"></p>

<p>Oggi si chiama semplicemente <strong>un rack</strong>.</p>

<p>Ma nel 1987 quasi tutta l&#39;industria dei supercomputer stava andando nella direzione opposta.</p>

<p>L&#39;idea dominante era: costruire pochi processori sempre più potenti, sempre più veloci, con registri vettoriali enormi e memorie capaci di alimentarli abbastanza in fretta. Era, grosso modo, la filosofia Cray.</p>

<p>La Connection Machine faceva quasi il contrario: prendeva <strong>decine di migliaia di processori stupidissimi</strong>, dava loro della memoria locale, li collegava con una rete mostruosa e diceva: adesso lavorate tutti insieme.</p>

<p>Non era la prima macchina parallela della storia, naturalmente. Esistevano già SIMD, vector processor e predecessori come ILLIAC IV.</p>

<p>Ma nessuno aveva portato quella filosofia fino a quel livello di esasperazione: <strong>65.536 processori</strong>, (nel cazzo di 1987!!!!) virtual processor, memoria distribuita, routing hardware e un modello di programmazione nel quale il programmatore ragionava sui dati, non sulla CPU.</p>

<p>Cray, che in quel periodo rappresentava praticamente l&#39;aristocrazia del supercomputing, sarebbe arrivata al massively parallel processing soltanto negli anni Novanta.</p>

<p>E quando ci arrivò, con il Craylink e il uniCOS e tutto quanto, il mondo che Thinking Machines aveva cominciato a costruire sembrava già molto meno assurdo.</p>

<p><br>
<hr/></p>

<p><br>
Potete continuare a studiare la macchina, e troverete cose come un&#39;architettura di interconnessione a <strong>ipercubo a dodici dimensioni</strong>, nella quale ogni nodo è identificato da un indirizzo binario e ogni bit dell&#39;indirizzo corrisponde, di fatto, a una dimensione del cubo.</p>

<p>Per capire quali passi separano due nodi basta fare lo XOR dei loro indirizzi: ogni bit a uno segnala una dimensione lungo la quale bisogna ancora muoversi. La distanza tra due punti dell&#39;ipercubo diventa quindi semplicemente il numero di bit diversi tra i due indirizzi, cioè la loro distanza di Hamming.</p>

<p>In pratica, un “lattice” a dodici dimensioni nel quale una parte enorme del problema del routing viene ridotta a operazioni logiche elementari sugli indirizzi, invece di richiedere tabelle gigantesche o algoritmi complicati per decidere ogni volta dove mandare un dato.</p>

<p>E tutto questo non era un esercizio accademico: serviva a far comunicare migliaia di processori e a spostare enormi quantità di dati attraverso la macchina senza trasformare la rete interna nel collo di bottiglia dell&#39;intero sistema.</p>

<p>Ed è questo che fa impressione.</p>

<p>Più si entra nei dettagli, più si trovano idee che oggi ci sembrano naturali: topologie pensate per scalare, indirizzamento che incorpora la geometria della rete, routing hardware, parallelismo spinto, memoria distribuita, calcolo vicino ai dati.</p>

<p>C&#39;è tanta di quella roba che oggi chiameremmo <strong>moderna</strong> lì dentro, e così poca roba che sembra appartenere davvero al 1987, da fare quasi paura.</p>

<p>E poi, l&#39;idea di metterci led inutili e una forma stravagante, per farle apparire in questo modo:</p>

<p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Connection_Machine_CM-2_and_DataVault_at_The_Mimms_Museum_of_Technology_and_Art.webp/1920px-Connection_Machine_CM-2_and_DataVault_at_The_Mimms_Museum_of_Technology_and_Art.webp.png?utm_source=en.wikipedia.org&amp;utm_campaign=imageinfo&amp;utm_content=thumbnail" alt="CM1"></p>

<p>che diavolo avevano in mente?</p>

<p><br>
<hr/></p>

<p>Se io vi dicessi che un ingegnere di NVIDIA e uno di IBM, arrivati dal 2026, fossero finiti nel 1987 e avessero costruito un supercomputer usando soltanto i mezzi disponibili all&#39;epoca, ovviamente mi dareste del pazzo.</p>

<p><br>
Ma santiddio, se poi scendessimo nel tecnico, fareste tanta, tanta, <strong>tanta</strong> fatica a dimostrare che la storia è inverosimile.</p>

<p>Perché quasi tutti i concetti avanzati che riconosciamo nei prodotti del 2026 sono già lì dentro.</p>

<p>Certo: sono costruiti come una macchina di Stirling costruita dai Romani dopo che qualcuno gli ha passato il progetto. Rozza, gigantesca, costosa, fatta con quello che esisteva allora.</p>

<p>Ma l&#39;idea è quella.</p>

<p>Nel 1987 questi avevano già dati distribuiti tra migliaia di memorie locali, processori assegnati ai dati, processori virtuali, routing hardware per spostare informazioni da una parte all&#39;altra della macchina e primitive collettive come scan e reduce.</p>

<p>Non avevano MapReduce nel senso di Google, naturalmente.</p>

<p>Avevano però già costruito buona parte dei <strong>meccanismi architetturali dai quali un&#39;idea come MapReduce diventa quasi ovvia</strong>: distribuire i dati, portare il calcolo dove sono i dati, fare la stessa operazione su una popolazione di elementi e poi raccogliere o redistribuire i risultati.</p>

<p>In hardware.</p>

<p>Nel 1987.</p>

<p><br>
<hr/></p>

<p><br>
Certo, i due fondatori non erano dei pirla qualsiasi. E tra quelli che finirono a lavorare sui problemi matematici della macchina c&#39;era anche un tale <strong>Richard Feynman</strong>.</p>

<p>Perché non ci facciamo mancare niente.</p>

<p>Ma se provo a immaginare due ingegneri arrivati dal 2026, uno di NVIDIA che progetta GPU e uno di IBM che disegna mainframe, finiti per sbaglio nel 1987 e costretti a costruire qualcosa usando soltanto la tecnologia disponibile allora, beh:
<strong>questo è più o meno quello che farebbero.</strong></p>

<p>Prenderebbero migliaia di processori relativamente stupidi, distribuirebbero la memoria, costruirebbero una rete per farli comunicare, inventerebbero un modo per assegnare enormi quantità di dati a enormi quantità di unità di calcolo e cercherebbero di nascondere tutta questa mostruosità dietro un&#39;astrazione programmabile.</p>

<p>Ah, sì.</p>

<p>Oggi una parte importante di tutto questo la chiamiamo semplicemente <strong>GPU</strong>.</p>

<p>E allora il sospetto che, periodicamente, qualcuno cada dal futuro e finisca nel nostro presente diventa, santiddio, difficile da togliersi dalla testa.</p>

<h2 id="e-ri-ecco-la-mia-teoria-un-uomo-del-futuro-sarebbe-indistinguibile-da-un-inventore-del-suo-tempo-e-un-inventore-del-suo-tempo-da-un-uomo-del-futuro">E ri-ecco la mia teoria: un uomo del futuro sarebbe indistinguibile da un inventore del suo tempo, e un inventore del suo tempo da un uomo del futuro.</h2>

<p>Tadaaa...</p>

<p><br>
<br>
<br>
<br>
<hr/></p>

<div style="text-align: left;">
  Uriel Fanelli<br>
  <br>
  --<br>
  Written using Blogfrei:
  <a href="https://git.keinpfusch.net/loweel/blogfrei">https://git.keinpfusch.net/loweel/blogfrei</a><br>
  Fedi: <a href="https://keinpfusch.net/@/uriel@bbs.keinpfusch.net" class="u-url mention">@<span>uriel@bbs.keinpfusch.net</span></a><br>
  XMPP: uriel@keinpfusch.net<br>
  vecchio blog:
  <a href="https://blog.keinpfusch.net">https://blog.keinpfusch.net</a><br>
  email:
  <a href="mailto:blog@keinpfusch.net">blog@keinpfusch.net</a><br>
</div>
]]></content:encoded>
      <guid>https://keinpfusch.net/uomini-dal-futuro</guid>
      <pubDate>Thu, 20 Aug 2026 09:20:41 +0000</pubDate>
    </item>
    <item>
      <title>Servizi IT, UE vs USA</title>
      <link>https://keinpfusch.net/servizi-it-ue-vs-usa</link>
      <description>&lt;![CDATA[Lavorando su un progetto finanziato dalla UE, nel campo della Digital Sovereignty, sto imparando un po&#39; «come funziona, visto da dentro». E da quel momento, quando mi dicono che la UE «è molto indietro», oppure leggo tutti gli articoli che diversi giornalisti piscialetto scrivono sull&#39;argomento, sto cominciando ad innervosirmi.&#xA;Perché è vero che esiste un gap, ed è vero che stiamo lavorando come matti per ridurlo. Ma il problema è che il gap non è quello descritto dai vari giornalisti.&#xA;Così ho deciso di spiegare un attimo come funziona la cosa, giusto per cercare di mettere in circolazione UN MINIMO di informazione su quello che la UE sta DAVVERO cercando di fare.&#xA;&#xA;!--more--&#xA;&#xA;Il concetto di gap, cioè quanto manca per arrivare a X, si definisce come la differenza tra X e lo stato attuale.&#xA;&#xA;Il primo problema di chi calcola il famoso «gap con gli USA» è quindi piuttosto semplice: considera X, cioè il punto di arrivo, come lo stato attuale degli Stati Uniti.&#xA;&#xA;E da questa assunzione iniziale discende poi tutta una serie di errori logici che, passando per think tank, consulenti e comunicati vari, finisce regolarmente sulle pagine dei giornali.&#xA;&#xA;Il GAP tra UE e USA, se lo definite in questo modo, rimarrà SEMPRE.&#xA;&#xA;Per la semplice ragione che la UE non può — prima di tutto per ragioni politiche, istituzionali e di struttura del mercato — diventare una copia degli Stati Uniti sul piano dell&#39;industria IT.&#xA;&#xA;E soprattutto non sembra nemmeno essere questo il punto di arrivo che l&#39;Unione si sta dando.&#xA;&#xA;Per capirci.&#xA;&#xA;La UE è fatta di 27 nazioni, ciascuna con una propria economia, un proprio sistema industriale, interessi nazionali e una propria sensibilità politica.&#xA;&#xA;Supponiamo di voler replicare banalmente il modello americano del cloud, creando due attori enormi, qualcosa di equivalente, diciamo, ad Azure e AWS.&#xA;&#xA;Questi due attori sarebbero aziende. E le aziende, persino quando operano su scala continentale, hanno una sede, un centro decisionale, una proprietà, una fiscalità, un ecosistema&#xA;industriale attorno e inevitabilmente un luogo nel quale una parte importante del valore economico prodotto finisce per concentrarsi.&#xA;&#xA;Diciamo allora che i quartier generali dei nostri due ipotetici colossi europei si trovino nella nazione X e nella nazione Y.&#xA;&#xA;Se X e Y fossero due grandi economie europee, diciamo due paesi del top 3 del PIL della UE, gli Stati più piccoli avrebbero immediatamente il problema di trovarsi tecnologicamente dipendenti da aziende enormi concentrate nelle economie già dominanti.&#xA;&#xA;Avremmo cioè costruito, dentro l&#39;Unione, qualcosa che assomiglia molto al problema dal quale stiamo cercando di uscire: una dipendenza strutturale da pochissimi fornitori giganteschi, semplicemente sostituendo Seattle o Redmond con qualche città europea.&#xA;&#xA;Non sarebbe esattamente un trionfo della sovranità digitale.&#xA;&#xA;Se invece X e Y fossero due nazioni relativamente piccole, succederebbe probabilmente il contrario: le grandi economie europee avrebbero tutto l&#39;interesse economico, industriale e politico a finanziare concorrenti nazionali capaci di ridurre quella dipendenza.&#xA;&#xA;Insomma: un modello costituito da pochissimi giganti, sul modello americano, nella UE incontra PRIMA DI TUTTO un problema POLITICO.&#xA;&#xA;Questo non significa che in Europa sia impossibile far nascere aziende gigantesche. Significa qualcosa di diverso: che un mercato digitale europeo strutturato esattamente come quello americano non è uno stato finale particolarmente plausibile, e soprattutto non è l&#39;unico possibile metro con cui misurare il successo.&#xA;&#xA;Anzi, le politiche europee più recenti sul cloud parlano esplicitamente di interoperabilità, portabilità, concorrenza, infrastrutture federate, edge computing e riduzione della dipendenza da pochi fornitori extra-UE. Persino l&#39;infrastruttura Telco-Edge-Cloud che la Commissione ha finanziato nel 2026 viene descritta esplicitamente come federata, non come il tentativo di fabbricare artificialmente un «AWS europeo».&#xA;&#xA;E questa non è una sottigliezza terminologica.&#xA;&#xA;È un&#39;architettura industriale differente.&#xA;&#xA;Lo stesso vale per la AI.&#xA;&#xA;Anche qui il dibattito giornalistico tende a fare una classifica abbastanza infantile: OpenAI vale tot, Google vale tot, Anthropic vale tot, quindi dov&#39;è «la OpenAI europea»?&#xA;&#xA;E se non c&#39;è una società europea identica, con la stessa capitalizzazione, lo stesso numero di GPU e la stessa capacità di bruciare miliardi, allora l&#39;Europa sarebbe automaticamente «indietro».&#xA;&#xA;Ma ancora una volta si sta scegliendo arbitrariamente il modello americano come unità di misura.&#xA;&#xA;La strategia europea attuale comprende certamente infrastrutture enormi: la Commissione ha avviato 19 AI Factories in 16 Stati membri, accompagnate da ulteriori AI Factory&#xA;Antennas, e sta lavorando alla creazione di un massimo di cinque AI Gigafactories, con circa 20 miliardi di euro previsti per mobilitarne la realizzazione. Quindi non è affatto vero che&#xA;l&#39;Europa abbia deciso di giocare soltanto con piccoli laboratori universitari e Raspberry Pi.&#xA;&#xA;Ma anche qui il modello è diverso.&#xA;&#xA;L&#39;obiettivo dichiarato comprende accesso condiviso alla capacità di calcolo, sviluppo di un ecosistema industriale europeo, infrastrutture distribuite tra gli Stati membri, maggiore autonomia tecnologica e riduzione della dipendenza da fornitori non europei. Nel giugno 2026 la Commissione ha persino presentato un nuovo pacchetto sulla European Technological Sovereignty che mette insieme cloud, AI, semiconduttori e open source precisamente sotto questa logica.&#xA;&#xA;E tutto questo avviene contemporaneamente ad una politica della concorrenza che considera esplicitamente problematico il potere dei grandi gatekeeper digitali e cerca di mantenere i mercati contendibili. Il DMA nasce precisamente dentro questa filosofia.&#xA;&#xA;Quindi immaginare come obiettivo finale dell&#39;Europa la creazione di quattro o cinque mostri monopolistici europei identici a quelli americani, e poi misurare il nostro «ritardo» contando quanti di questi mostri abbiamo già prodotto, significa probabilmente misurare la distanza dalla destinazione sbagliata.&#xA;&#xA;br&#xA;Per capire meglio la difficoltà politica, immaginate per un momento di avere in Europa, che so io, in Francia, un Elon Musk della situazione.&#xA;&#xA;Pomposo. Presuntuoso. Cialtrone. Sprezzante e stupido.&#xA;&#xA;E adesso immaginate che Monsieur le Musk, dalla Francia, cominci a fare contro il vostro paese qualcosa di simile a quello che Musk ha fatto nella politica europea.&#xA;&#xA;Che cominci ad usare il proprio media per influenzare le vostre elezioni. Che sostenga apertamente un partito politico del vostro paese, che ne amplifichi i messaggi, che intervenga durante la campagna elettorale, magari comparendo persino ai suoi eventi. Musk lo ha fatto davvero durante la campagna elettorale tedesca del 2025: ha sostenuto pubblicamente AfD, ha ospitato Alice Weidel su X invitando i tedeschi a votarla ed è apparso in video ad un evento elettorale del partito.&#xA;&#xA;Che mandi i suoi uomini, i suoi consiglieri, i suoi contatti politici a costruire relazioni con partiti locali. Che utilizzi la propria enorme capacità di amplificazione per spostare l&#39;agenda politica e alterare il peso relativo delle diverse voci nel dibattito pubblico.&#xA;&#xA;Non sto dicendo, attenzione, che Musk possa magicamente decidere il risultato di un&#39;elezione. Anzi, le analisi disponibili sulla Germania non dimostrano affatto che abbia determinato il risultato elettorale. Il punto è diverso: un proprietario privato di una grande infrastruttura mediatica può decidere di entrare personalmente nella politica di un altro paese, usando contemporaneamente denaro, notorietà e controllo della piattaforma. Ed è esattamente questo che ha prodotto il dibattito sull&#39;interferenza di Musk nella campagna tedesca.&#xA;&#xA;Ma stavolta immaginiamo che non sia americano.&#xA;&#xA;Stavolta è francese.&#xA;&#xA;E magari voi siete tedeschi. O italiani. O polacchi. O spagnoli.&#xA;&#xA;Sareste davvero disposti a lasciar correre in nome dell&#39;«Unità Europea» un comportamento simile?&#xA;&#xA;Perché quando il miliardario è americano la faccenda, paradossalmente, sembra più semplice da raccontare. Negli Stati Uniti Musk può accumulare un&#39;enorme influenza politica e qualcuno può persino interpretarla come la solita storia americana del miliardario di successo che cerca di trasformare il proprio potere economico in potere politico.&#xA;&#xA;Ma trasferite la stessa dinamica dentro l&#39;Europa.&#xA;&#xA;Immaginate un miliardario francese proprietario di una piattaforma usata da milioni di tedeschi che decide chi sostenere alle elezioni tedesche.&#xA;&#xA;Oppure un miliardario tedesco che usa il proprio social network per spiegare agli italiani quale partito debbano votare.&#xA;&#xA;Oppure uno spagnolo che comincia a finanziare, amplificare e promuovere movimenti politici polacchi perché il governo di Varsavia non gli piace.&#xA;&#xA;A quel punto la questione cambia immediatamente natura.&#xA;&#xA;Non avete più soltanto una concentrazione di mercato.&#xA;&#xA;Avete una concentrazione transnazionale di potere politico privato.&#xA;&#xA;Ed è qui che il modello americano dei giganteschi campioni tecnologici diventa politicamente molto più difficile da riprodurre nell&#39;Unione Europea.&#xA;Perché NESSUNO vorrebbe davvero trovarsi con un miliardario di un altro Stato membro capace di fare il bello e il cattivo tempo nella propria politica nazionale.&#xA;&#xA;Nessuno.&#xA;&#xA;E questa è precisamente una delle difficoltà politiche della UE che, personalmente, considero salutare.&#xA;&#xA;La UE è fatta di 27 Stati.&#xA;&#xA;Ventisette governi, ventisette sistemi politici, ventisette opinioni pubbliche, ventisette storie nazionali e soprattutto ventisette paesi che hanno deciso di stare insieme a condizione che nessuno possa pisciare davvero in testa agli altri.&#xA;&#xA;Questa struttura rende molte cose esasperantemente lente.&#xA;&#xA;Rende difficile concentrare rapidamente quantità mostruose di capitale.&#xA;&#xA;Rende difficile costruire un singolo centro decisionale continentale.&#xA;&#xA;Rende difficile produrre il classico «campione nazionale» e poi lasciarlo crescere sino a diventare così potente da dettare le condizioni al resto del mercato.&#xA;&#xA;Ma forse questa non è semplicemente una debolezza.&#xA;&#xA;Forse è anche uno dei meccanismi attraverso i quali l&#39;Europa impedisce che una potenza economica privata, nata casualmente dalla parte giusta di una frontiera interna, finisca per trasformarsi in una potenza politica sopra le altre ventisei.&#xA;&#xA;E quindi, quando qualcuno mi mostra Microsoft, Google, Meta, Amazon, Musk e compagnia e domanda:&#xA;&#xA;«Perché l&#39;Europa non ha prodotto la stessa cosa?»&#xA;&#xA;una delle risposte possibili è:&#xA;&#xA;perché non è affatto ovvio che vogliamo produrre la stessa cosa.&#xA;&#xA;br&#xA;&#xA;E questo è il motivo OVVIO per il quale il punto di arrivo della politica europea sul cloud, sulla AI e in generale sull&#39;infrastruttura digitale non può semplicemente essere una copia della situazione americana.&#xA;&#xA;Qui però bisogna fare una precisazione.&#xA;&#xA;Non è vero che il commissario europeo alla concorrenza interverrebbe necessariamente MOLTO PRIMA che un&#39;azienda diventi grande quanto Amazon, Azure o OpenAI. Essere giganteschi, di per sé, non è vietato. Anzi: oggi la UE sta spendendo parecchi soldi proprio per creare aziende e infrastrutture europee capaci di raggiungere una scala molto maggiore di quella attuale.&#xA;&#xA;Il problema arriva quando la scala produce dominanza, lock-in, dipendenza strutturale e capacità di chiudere il mercato agli altri.&#xA;&#xA;Ed è qui che la differenza diventa interessante.&#xA;&#xA;Per come viene gestita oggi la questione della sovranità informatica europea, il desiderata non sembra essere:&#xA;&#xA;  dobbiamo avere UN Amazon europeo, UN Microsoft europeo e UNA OpenAI europea.&#xA;&#xA;Assomiglia molto di più a:&#xA;&#xA;  per ogni funzione importante dobbiamo avere più fornitori europei credibili, possibilmente distribuiti tra diversi paesi, interoperabili e sostituibili tra loro.&#xA;&#xA;La mia maniera di riassumerlo, che non è una regola scritta da qualche parte ma rende abbastanza bene l&#39;idea, è questa:&#xA;un cittadino o un&#39;azienda europea dovrebbero poter trovare almeno una scelta ragionevolmente locale e altre due o tre scelte europee, senza essere obbligati a consegnarsi ad un unico gigante.&#xA;&#xA;E se guardiamo quello che sta succedendo, il panorama comincia effettivamente ad assomigliare a questo.&#xA;&#xA;Cloud&#xA;&#xA;Prendiamo il cloud.&#xA;&#xA;In Francia esistono OVHcloud e Scaleway.&#xA;&#xA;In Germania ci sono IONOS Cloud e STACKIT, la piattaforma cloud di Schwarz Digits, cioè il braccio digitale del gruppo Schwarz, quello di Lidl e Kaufland. STRATO rimane poi un grande attore tedesco nell&#39;hosting, nei server, nella mail e nello storage, anche se oggi appartiene allo stesso gruppo IONOS e quindi non costituisce un concorrente industrialmente indipendente da IONOS.&#xA;&#xA;In Italia c&#39;è Aruba, che non è soltanto quello presso cui vostro cugino ha comprato il dominio nel 2007: possiede propri data center, offre cloud, hosting, mail, PEC e infrastrutture AI, e si presenta esplicitamente come operatore europeo sovrano.&#xA;&#xA;In Spagna c&#39;è Arsys, che partecipa direttamente all&#39;IPCEI-CIS; è però parte del gruppo IONOS, quindi anche qui bisogna distinguere tra presenza locale e indipendenza societaria.&#xA;&#xA;In Polonia troviamo, fra gli altri, Oktawave, anch&#39;essa coinvolta nei progetti europei di nuova generazione cloud-edge.&#xA;&#xA;In Belgio c&#39;è Proximus.&#xA;&#xA;In Lussemburgo POST Luxembourg.&#xA;&#xA;E la cosa interessante è che non sto facendo un elenco di aziende che Bruxelles guarda da lontano sperando che sopravvivano.&#xA;&#xA;La Commissione ha appena assegnato un (altro) contratto da 180 milioni di euro per cloud sovrano europeo a quattro offerte: STACKIT dalla Germania, Scaleway dalla Francia, POST Luxembourg con OVHcloud e Clever Cloud, e Proximus con un consorzio di partner.&#xA;&#xA;E ancora più importante è IPCEI-CIS, il grande progetto europeo Cloud Infrastructure and Services.&#xA;&#xA;Sette Stati membri possono metterci fino a 1,2 miliardi di euro di denaro pubblico, ai quali dovrebbero aggiungersi circa 1,4 miliardi di investimenti privati.&#xA;&#xA;Per fare cosa?&#xA;&#xA;Non per costruire «AWS ma con la bandiera europea».&#xA;&#xA;La descrizione ufficiale parla del primo ecosistema europeo di elaborazione dati interoperabile, apertamente accessibile e multi-provider, dal cloud fino all&#39;edge: infrastrutture distribuite, federate e capaci di lavorare insieme.&#xA;IONOS, per esempio, riceve finanziamenti per tecnologie destinate alla gestione di workload distribuiti tra cloud ed edge; Arsys lavora dalla Spagna allo stesso progetto; OpenNebula sviluppa il livello open source destinato precisamente alla federazione e alla portabilità dei workload.&#xA;&#xA;Questa cosa ha persino un nome, oggi: 8ra.&#xA;&#xA;Il concetto è che un domani voi possiate avere il vostro workload su un provider tedesco, spostarlo o distribuirlo su uno francese, usare capacità italiana o spagnola, senza dover riscrivere metà dell&#39;azienda perché avete deciso di lasciare il padrone precedente.&#xA;&#xA;E infatti il Data Act europeo contiene obblighi specifici per facilitare switching e portabilità tra cloud provider.&#xA;&#xA;Questo è quasi l&#39;esatto contrario del modello del gigantesco silo proprietario.&#xA;&#xA;Intelligenza artificiale&#xA;&#xA;Con la AI la struttura che sta emergendo è simile, ma ancora più evidente.&#xA;&#xA;La Francia ha Mistral AI, che ormai è senza dubbio uno dei principali attori europei del settore. È una società francese indipendente con sede a Parigi e sta costruendo in Francia anche capacità di calcolo propria su scala molto importante.&#xA;&#xA;La Germania ha Aleph Alpha, oggi fortemente integrata nell&#39;ecosistema Schwarz Digits: PhariaAI viene offerta direttamente sopra STACKIT.&#xA;&#xA;L&#39;Italia ha realtà come iGenius e, su un altro piano, Engineering con la propria architettura IS-IA, costruita attorno a EngGPT 2 e presentata esplicitamente come piattaforma italiana di AI sovrana.&#xA;&#xA;E contemporaneamente OVHcloud ha annunciato di voler addestrare propri frontier model, quindi persino la distinzione fra «cloud provider» e «azienda AI» sta già cominciando a sfumare.&#xA;&#xA;Ma sopra questi campioni nazionali sta crescendo un&#39;altra infrastruttura che è tipicamente europea.&#xA;&#xA;Ci sono ormai 19 AI Factories distribuite in 16 Stati membri, costruite attorno alla rete EuroHPC, che devono mettere GPU, supercomputer, dati e competenze a disposizione di startup, università e aziende.&#xA;&#xA;E sopra queste la UE sta costruendo fino a cinque AI Gigafactories, con strutture progettate per superare i 100.000 acceleratori AI ciascuna e con decine di miliardi di investimenti previsti.&#xA;&#xA;Ancora una volta: non UNA gigantesca OpenAI europea.&#xA;&#xA;Un&#39;infrastruttura continentale distribuita sulla quale possono crescere Mistral, Aleph Alpha, aziende italiane, spagnole, polacche, startup che ancora non esistono e magari qualche futuro mostro che oggi lavora in uno sgabuzzino con quattro GPU.&#xA;&#xA;E qui si vede bene la differenza tra scala e centralizzazione.&#xA;&#xA;La UE vuole la scala.&#xA;&#xA;Eccome se la vuole.&#xA;&#xA;Quello che cerca di evitare è che tutta quella scala appartenga necessariamente ad UN SOLO padrone.&#xA;&#xA;Hosting, domini e posta elettronica&#xA;&#xA;Se scendiamo di livello e andiamo verso servizi molto più quotidiani, la cosa è già visibile da anni.&#xA;&#xA;Un tedesco può comprare dominio, hosting e mail da IONOS, STRATO, Tuta o mailbox.org.&#xA;&#xA;Un italiano ha Aruba, che offre tutto il percorso dal dominio alla posta elettronica, dalla PEC al cloud.&#xA;&#xA;Un francese dispone di OVHcloud e di diversi operatori locali.&#xA;&#xA;Un belga ha Mailfence, che offre posta, calendario, contatti e documenti.&#xA;&#xA;E un cittadino di uno qualsiasi di questi paesi può tranquillamente comprare il servizio da uno degli altri.&#xA;&#xA;Quindi il tedesco non è costretto ad usare il tedesco.&#xA;&#xA;Può usare l&#39;italiano.&#xA;&#xA;L&#39;italiano può usare il francese.&#xA;&#xA;Il francese può usare il tedesco.&#xA;&#xA;E tutti e tre possono cambiare idea.&#xA;&#xA;Per la posta privata esiste persino una costellazione abbastanza interessante di operatori europei specializzati nella privacy: Tuta in Germania e Mailfence in Belgio, per esempio. Proton viene spesso inserita nello stesso gruppo culturale e tecnologico, ma va ricordato che è svizzera: europea geograficamente, NON appartenente alla UE.&#xA;&#xA;Ed è proprio qui che bisogna stare attenti alla parola «locale».&#xA;&#xA;Locale non deve significare:&#xA;&#xA;ogni nazione deve ricostruirsi Google da zero.&#xA;&#xA;Sarebbe stupido, costosissimo e probabilmente impossibile per molti dei 27 Stati.&#xA;&#xA;Il modello sensato è avere alcuni poli nazionali forti e, attorno a loro, abbastanza concorrenti europei perché nessuno diventi indispensabile.&#xA;&#xA;Software e collaboration&#xA;&#xA;Lo stesso principio comincia ad apparire anche nello strato software.&#xA;&#xA;Schwarz Digits, per esempio, ormai non vende soltanto STACKIT.&#xA;&#xA;Sta costruendo un vero stack: cloud STACKIT, Aleph Alpha per la AI, sicurezza informatica, Wire per la messaggistica sicura e Workspace by STACKIT per gli strumenti di produttività.&#xA;&#xA;Questo significa che in Germania sta nascendo qualcosa che comincia vagamente ad assomigliare, per ampiezza dello stack, ad un concorrente locale delle grandi piattaforme americane.&#xA;&#xA;Ma contemporaneamente esistono aziende francesi, italiane, belghe, spagnole e di altri paesi che coprono pezzi sovrapposti dello stesso stack.&#xA;&#xA;Ed è precisamente la sovrapposizione ad essere importante.&#xA;&#xA;Perché se STACKIT diventa bravissima, bene.&#xA;&#xA;Se diventa enorme, ancora meglio.&#xA;&#xA;Se diventa così enorme che non potete più vivere senza STACKIT, allora abbiamo ricreato il problema.&#xA;&#xA;Cybersecurity&#xA;&#xA;Lo stesso fenomeno esiste nella cybersecurity.&#xA;&#xA;In Francia ci sono aziende come Thales e una vasta industria della sicurezza.&#xA;&#xA;In Germania Schwarz Digits possiede XM Cyber, oltre ad avere costruito un ecosistema attorno a STACKIT.&#xA;&#xA;In Italia esistono Leonardo e decine di fornitori specializzati.&#xA;&#xA;Poi queste aziende operano anche negli altri paesi europei.&#xA;&#xA;Ancora una volta non esiste necessariamente «la CrowdStrike europea».&#xA;&#xA;Esiste, o dovrebbe esistere sempre di più, un mercato europeo nel quale diversi attori europei sono abbastanza grandi da fornire gli stessi clienti e nessuno può presentarsi dicendo: senza di me spegnete tutto.&#xA;&#xA;Ed è questa, secondo me, la parte che viene capita meno quando si parla del famoso «ritardo europeo».&#xA;&#xA;Se il metro di misura è:&#xA;&#xA;  quanti AWS abbiamo?&#xA;&#xA;la risposta europea sarà sempre deprimente.&#xA;&#xA;Se il metro diventa:&#xA;&#xA;  quante infrastrutture indipendenti abbiamo, quanto sono interoperabili, quanto facilmente possiamo cambiare fornitore, e quanta parte dello stack possiamo controllare senza chiedere permesso fuori dalla UE?&#xA;&#xA;allora state misurando un&#39;altra cosa*.&#xA;&#xA;E questa seconda cosa assomiglia molto di più a ciò che Bruxelles chiama oggi Digital Sovereignty.&#xA;&#xA;Il Cloud and AI Development Act proposto nel giugno 2026 lo rende abbastanza esplicito: l&#39;obiettivo è almeno triplicare la capacità dei data center europei nei prossimi cinque-sette anni, aumentare la capacità europea nel cloud e nella AI e contemporaneamente creare un quadro comune europeo per valutare la sovranità dei fornitori.&#xA;&#xA;Quindi no: la strategia non consiste nel rassegnarsi ad essere piccoli.&#xA;&#xA;Consiste nel diventare grandi senza diventare dipendenti da uno solo.&#xA;&#xA;E questa differenza, che sembra una sottigliezza, cambia completamente il significato della parola GAP.&#xA;&#xA;br&#xA;&#xA;br&#xA;E questo è il mio punto.&#xA;&#xA;Se per voi essere diversi dagli Stati Uniti, e non voler costruire un sistema nel quale cinque o sei oligarchi tecnologici possano accumulare abbastanza potere economico, mediatico e politico da condizionare direttamente la vita democratica, significa essere «indietro», allora prima dovete chiedervi una cosa:&#xA;volete davvero andare dove sono andati gli Stati Uniti?&#xA;&#xA;Oppure volete andare da qualche altra parte?&#xA;&#xA;Perché se volete andare da qualche altra parte, ALLORA il famoso GAP non può più essere misurato prendendo gli Stati Uniti come punto di arrivo.&#xA;&#xA;Dovete prima stabilire dove volete arrivare, e soltanto dopo misurare la distanza tra quel punto e dove siamo oggi.&#xA;&#xA;E potreste avere delle piacevoli sorprese.&#xA;&#xA;Una delle sorprese, per esempio, è che una parte importante dei finanziamenti europei sulla sovranità digitale non serve affatto a costruire capannoni pieni di server.&#xA;&#xA;Naturalmente i finanziamenti alle infrastrutture fisiche esistono eccome: data center, supercomputer EuroHPC, AI Factories, reti edge, semiconduttori e capacità di calcolo sono una parte importante della strategia europea.&#xA;&#xA;Ma una quantità enorme del lavoro riguarda il software necessario a fare funzionare insieme queste infrastrutture.&#xA;&#xA;Ed è perfettamente logico.&#xA;&#xA;Perché se il vostro obiettivo fosse semplicemente costruire «AWS europeo», basterebbe costruire dei data center giganteschi, comprare montagne di GPU, scrivere uno stack proprietario e mettere un cancello intorno a tutto.&#xA;&#xA;Se invece volete costruire un sistema nel quale STACKIT, OVHcloud, Scaleway, Aruba, IONOS e gli altri possano costituire parti di una vera infrastruttura europea, allora il problema più difficile non è più soltanto avere abbastanza ferro.&#xA;&#xA;È fare in modo che il software non trasformi ogni infrastruttura in un&#39;isola.&#xA;&#xA;Ed è esattamente il problema che la Commissione dichiara di voler affrontare.&#xA;&#xA;L&#39;IPCEI-CIS, per esempio, non viene descritto come un programma per costruire semplicemente altri data center. Il suo obiettivo ufficiale è creare un ecosistema europeo di elaborazione dei dati interoperabile, apertamente accessibile e multi-provider, dal cloud fino all&#39;edge.&#xA;&#xA;Ed è qui che cominciano i problemi interessanti.&#xA;&#xA;Supponiamo che io abbia una workload su un cloud europeo.&#xA;&#xA;La macchina virtuale, o il container, è quasi il problema facile.&#xA;&#xA;Devo poter spostare i dati.&#xA;Devo poter spostare la configurazione.&#xA;Devo poter ricreare networking, identity e policy.&#xA;Devo poter ricostruire le dipendenze.&#xA;Devo avere API sufficientemente compatibili.&#xA;Devo poter trasferire o ricreare in sicurezza certificati, credenziali, chiavi, token e tutto ciò che permette all&#39;applicazione di funzionare.&#xA;&#xA;E soprattutto devo poter fare queste cose senza che il costo tecnico dello spostamento sia così alto da rendere puramente teorica la possibilità di cambiare cloud.&#xA;&#xA;Questa non è una mia interpretazione particolarmente creativa. Il Data Act europeo dice esplicitamente che i clienti dei servizi cloud ed edge devono poter passare da un provider all&#39;altro in maniera efficace e che devono essere sviluppati standard armonizzati e specifiche aperte di interoperabilità. La Commissione cita persino strumenti capaci di trasferire workload fra tecnologie di virtualizzazione diverse.&#xA;&#xA;Quindi il GAP, molto spesso, sta proprio nel software intermedio.&#xA;&#xA;Sta negli orchestratori.&#xA;Sta nelle API.&#xA;Sta nei sistemi di identity.&#xA;Sta nella gestione delle policy.&#xA;Sta nei sistemi di secret management.&#xA;Sta nelle astrazioni sopra il networking.&#xA;Sta negli strumenti per trasferire workload e dati.&#xA;Sta nei formati comuni.&#xA;Sta nei middleware che permettono a sistemi costruiti da aziende differenti di riconoscersi e lavorare insieme.&#xA;&#xA;Per questo uno dei progetti europei più interessanti è Simpl, un middleware open source finanziato dalla UE il cui scopo dichiarato è precisamente permettere federazioni cloud-to-edge e fornire il software comune sul quale possono funzionare i Data Spaces europei.&#xA;&#xA;E ci sono progetti IPCEI che fanno esattamente questo ad altri livelli.&#xA;&#xA;SAP, per esempio, con ApeiroRA*, lavora ad un blueprint di riferimento aperto per un&#39;infrastruttura cloud-edge di nuova generazione. Altri progetti sviluppano API indipendenti dalla piattaforma, orchestrazione distribuita, gestione dei workload e software destinato precisamente a rendere possibile quel famoso cloud-edge continuum che altrimenti rimarrebbe una bella espressione da &#xA;PowerPoint.&#xA;&#xA;E poi ci sono componenti meno spettacolari, ma assolutamente indispensabili.&#xA;&#xA;Prendiamo i secrets.&#xA;&#xA;Se un&#39;applicazione cifra dei dati, usa certificati TLS, password per database, API key, credenziali dinamiche o chiavi di cifratura, non basta copiare i suoi file dal cloud A al cloud B.&#xA;&#xA;Bisogna assicurarsi che possa ottenere nuovamente quelle credenziali, con le stesse garanzie di sicurezza, senza infilare le chiavi in un file ZIP e mandarle per posta.&#xA;&#xA;Serve quindi uno strato di gestione dei secrets e delle chiavi che non sia legato indissolubilmente ad un singolo hyperscaler.&#xA;&#xA;Un esempio concreto è OpenBao, il fork open source di Vault oggi gestito sotto OpenSSF. OpenBao offre secret management, PKI e encryption as a service, e supporta scenari distribuiti fra cloud e data center. Una parte dello sviluppo viene svolta da sviluppatori SAP ed è finanziata attraverso fondi europei NextGenerationEU.&#xA;&#xA;Ed è interessante anche perché mostra quanto poco cinematografica sia, in realtà, una parte della sovranità digitale.&#xA;&#xA;Non sempre significa costruire una fabbrica di chip da dieci miliardi.&#xA;&#xA;A volte significa che qualcuno deve scrivere bene il pezzo di software che gestisce una chiave crittografica.&#xA;&#xA;Oppure il plugin che parla con un HSM.&#xA;&#xA;Oppure il sistema che consente ad una PKI di sopravvivere allo spostamento di un&#39;applicazione.&#xA;&#xA;Oppure l&#39;interfaccia comune attraverso la quale due infrastrutture differenti possono scambiarsi ciò che serve senza che il cliente debba riscrivere tutto.&#xA;&#xA;OpenBao, per esempio, è già integrato con OpenStack, con infrastrutture OVHcloud e con HSM di fornitori europei come Utimaco. Non perché OpenBao sia «la soluzione europea ai vault», ma perché è un buon esempio del tipo di mattone open source che rende materialmente possibile un ambiente multi-cloud.&#xA;&#xA;E ce ne sono moltissimi altri.&#xA;&#xA;Perché quando dite:&#xA;&#xA;«voglio poter cambiare cloud»&#xA;&#xA;state facendo una richiesta enorme.&#xA;&#xA;Dovete poter cambiare storage.&#xA;Compute.&#xA;Networking.&#xA;DNS.&#xA;Identity.&#xA;Secrets.&#xA;Logging.&#xA;Monitoring.&#xA;Policy.&#xA;Database.&#xA;Container registry.&#xA;Message queue.&#xA;API gateway.&#xA;E magari dovete farlo senza fermare il servizio.&#xA;&#xA;La portabilità non è quindi un bottone con scritto EXPORT TO EUROPE.&#xA;&#xA;È un&#39;intera industria del software.&#xA;&#xA;Ed è precisamente per questo che la nuova strategia europea sull&#39;open source non considera l&#39;open source una simpatica attività per programmatori coi sandali, ma una componente della sovranità tecnologica. La Commissione stima che in Europa esistano già oltre 500 aziende commerciali open source attive in settori come cloud, cybersecurity, dati e sistemi industriali, e nel 2026 ha &#xA;indicato esplicitamente l&#39;open source come uno degli strumenti con cui ridurre dipendenze tecnologiche e rafforzare la resilienza europea.&#xA;Ed ecco quindi un altro errore abbastanza sistematico quando si misura il famoso GAP.&#xA;&#xA;Si contano i data center.&#xA;Si contano le GPU.&#xA;Si contano gli LLM.&#xA;Si contano le capitalizzazioni.&#xA;&#xA;E tutte queste cose sono importanti.&#xA;&#xA;br&#xA;br&#xA;br&#xA;Ma se il sistema europeo che vogliamo costruire è federato, allora una parte del GAP sta necessariamente in una montagna di software che nessun giornalista metterà mai in copertina.&#xA;&#xA;Il software che permette al pezzo francese di parlare con quello tedesco.&#xA;&#xA;A quello tedesco di essere sostituito da quello italiano.&#xA;&#xA;A quello italiano di usare capacità di calcolo spagnola.&#xA;&#xA;E al cliente di poter mandare tutti al diavolo e cambiare fornitore senza dover demolire la propria infrastruttura.&#xA;&#xA;In altre parole, se il punto di arrivo è un ecosistema europeo grande, distribuito, interoperabile e sostituibile, allora non siamo semplicemente in ritardo nella corsa verso AWS.&#xA;&#xA;Stiamo correndo un&#39;altra gara.&#xA;&#xA;E soltanto dopo aver capito quale gara stiamo correndo ha senso chiedersi quanto siamo indietro.&#xA;&#xA;br&#xA;**&#xA;&#xA;br&#xA;Sta a voi chiedervi se volete Elon Musk o no.&#xA;&#xA;E ricordarvi che dietro un Elon Musk ci sono sempre dieci Epstein.&#xA;&#xA;br&#xA;br&#xA;&#xA;div align=&#34;left&#34; style=&#34;text-align: left;&#34;&#xD;&#xA;  Uriel Fanellibr&#xD;&#xA;  br&#xD;&#xA;  --br&#xD;&#xA;  Written using Blogfrei:&#xD;&#xA;  a href=&#34;https://git.keinpfusch.net/loweel/blogfrei&#34;https://git.keinpfusch.net/loweel/blogfrei/abr&#xD;&#xA;  Fedi: @uriel@bbs.keinpfusch.netbr&#xD;&#xA;  XMPP: uriel@keinpfusch.netbr&#xD;&#xA;  vecchio blog:&#xD;&#xA;  a href=&#34;https://blog.keinpfusch.net&#34;https://blog.keinpfusch.net/abr&#xD;&#xA;  email:&#xD;&#xA;  a href=&#34;mailto:blog@keinpfusch.net&#34;blog@keinpfusch.net/abr&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>Lavorando su un progetto finanziato dalla UE, nel campo della <strong>Digital Sovereignty</strong>, sto imparando un po&#39; «come funziona, visto da dentro». E da quel momento, quando mi dicono che la UE «è molto indietro», oppure leggo tutti gli articoli che diversi giornalisti piscialetto scrivono sull&#39;argomento, sto cominciando ad innervosirmi.
Perché è vero che esiste un gap, ed è vero che stiamo lavorando come matti per ridurlo. Ma il problema è che <strong>il gap non è quello descritto dai vari giornalisti</strong>.
Così ho deciso di spiegare un attimo come funziona la cosa, giusto per cercare di mettere in circolazione UN MINIMO di informazione su quello che la UE sta DAVVERO cercando di fare.</p>

<p>Il concetto di <em>gap</em>, cioè quanto manca per arrivare a X, si definisce come la differenza tra X e lo stato attuale.</p>

<p>Il primo problema di chi calcola il famoso «gap con gli USA» è quindi piuttosto semplice: considera <strong>X, cioè il punto di arrivo, come lo stato attuale degli Stati Uniti</strong>.</p>

<p>E da questa assunzione iniziale discende poi tutta una serie di errori logici che, passando per think tank, consulenti e comunicati vari, finisce regolarmente sulle pagine dei giornali.</p>

<p>Il GAP tra UE e USA, <strong>se lo definite in questo modo</strong>, rimarrà SEMPRE.</p>

<p>Per la semplice ragione che la UE non può — prima di tutto per ragioni politiche, istituzionali e di struttura del mercato — diventare una copia degli Stati Uniti sul piano dell&#39;industria IT.</p>

<p>E soprattutto non sembra nemmeno essere questo il punto di arrivo che l&#39;Unione si sta dando.</p>

<p>Per capirci.</p>

<p>La UE è fatta di 27 nazioni, ciascuna con una propria economia, un proprio sistema industriale, interessi nazionali e una propria sensibilità politica.</p>

<p>Supponiamo di voler replicare banalmente il modello americano del cloud, creando due attori enormi, qualcosa di equivalente, diciamo, ad Azure e AWS.</p>

<p>Questi due attori sarebbero aziende. E le aziende, persino quando operano su scala continentale, hanno una sede, un centro decisionale, una proprietà, una fiscalità, un ecosistema
industriale attorno e inevitabilmente un luogo nel quale una parte importante del valore economico prodotto finisce per concentrarsi.</p>

<p>Diciamo allora che i quartier generali dei nostri due ipotetici colossi europei si trovino nella nazione X e nella nazione Y.</p>

<p>Se X e Y fossero due grandi economie europee, diciamo due paesi del top 3 del PIL della UE, gli Stati più piccoli avrebbero immediatamente il problema di trovarsi tecnologicamente dipendenti da aziende enormi concentrate nelle economie già dominanti.</p>

<p>Avremmo cioè costruito, dentro l&#39;Unione, qualcosa che assomiglia molto al problema dal quale stiamo cercando di uscire: una dipendenza strutturale da pochissimi fornitori giganteschi, semplicemente sostituendo Seattle o Redmond con qualche città europea.</p>

<p>Non sarebbe esattamente un trionfo della sovranità digitale.</p>

<p>Se invece X e Y fossero due nazioni relativamente piccole, succederebbe probabilmente il contrario: le grandi economie europee avrebbero tutto l&#39;interesse economico, industriale e politico a finanziare concorrenti nazionali capaci di ridurre quella dipendenza.</p>

<p>Insomma: un modello costituito da pochissimi giganti, sul modello americano, nella UE incontra <strong>PRIMA DI TUTTO un problema POLITICO</strong>.</p>

<p>Questo non significa che in Europa sia impossibile far nascere aziende gigantesche. Significa qualcosa di diverso: che <strong>un mercato digitale europeo strutturato esattamente come quello americano non è uno stato finale particolarmente plausibile, e soprattutto non è l&#39;unico possibile metro con cui misurare il successo</strong>.</p>

<p>Anzi, le politiche europee più recenti sul cloud parlano esplicitamente di interoperabilità, portabilità, concorrenza, infrastrutture federate, edge computing e riduzione della dipendenza da pochi fornitori extra-UE. Persino l&#39;infrastruttura Telco-Edge-Cloud che la Commissione ha finanziato nel 2026 viene descritta esplicitamente come <em>federata</em>, non come il tentativo di fabbricare artificialmente un «AWS europeo».</p>

<p>E questa non è una sottigliezza terminologica.</p>

<p>È <strong>un&#39;architettura industriale differente</strong>.</p>

<p>Lo stesso vale per la AI.</p>

<p>Anche qui il dibattito giornalistico tende a fare una classifica abbastanza infantile: OpenAI vale tot, Google vale tot, Anthropic vale tot, quindi dov&#39;è «la OpenAI europea»?</p>

<p>E se non c&#39;è una società europea identica, con la stessa capitalizzazione, lo stesso numero di GPU e la stessa capacità di bruciare miliardi, allora l&#39;Europa sarebbe automaticamente «indietro».</p>

<p>Ma ancora una volta si sta scegliendo arbitrariamente il modello americano come unità di misura.</p>

<p>La strategia europea attuale comprende certamente infrastrutture enormi: la Commissione ha avviato <strong>19 AI Factories in 16 Stati membri</strong>, accompagnate da ulteriori AI Factory
Antennas, e sta lavorando alla creazione di un massimo di cinque AI Gigafactories, con circa 20 miliardi di euro previsti per mobilitarne la realizzazione. Quindi non è affatto vero che
l&#39;Europa abbia deciso di giocare soltanto con piccoli laboratori universitari e Raspberry Pi.</p>

<p>Ma anche qui il modello è diverso.</p>

<p>L&#39;obiettivo dichiarato comprende accesso condiviso alla capacità di calcolo, sviluppo di un ecosistema industriale europeo, infrastrutture distribuite tra gli Stati membri, maggiore autonomia tecnologica e riduzione della dipendenza da fornitori non europei. Nel giugno 2026 la Commissione ha persino presentato un nuovo pacchetto sulla <em>European Technological Sovereignty</em> che mette insieme cloud, AI, semiconduttori e open source precisamente sotto questa logica.</p>

<p>E tutto questo avviene contemporaneamente ad una politica della concorrenza che considera esplicitamente problematico il potere dei grandi <em>gatekeeper</em> digitali e cerca di mantenere i mercati contendibili. Il DMA nasce precisamente dentro questa filosofia.</p>

<p>Quindi immaginare come obiettivo finale dell&#39;Europa la creazione di quattro o cinque mostri monopolistici europei identici a quelli americani, e poi misurare il nostro «ritardo» contando quanti di questi mostri abbiamo già prodotto, significa probabilmente <strong>misurare la distanza dalla destinazione sbagliata</strong>.</p>

<hr/>

<p><br>
Per capire meglio la difficoltà politica, immaginate per un momento di avere in Europa, che so io, in Francia, <strong>un Elon Musk della situazione</strong>.</p>

<p>Pomposo. Presuntuoso. Cialtrone. Sprezzante e stupido.</p>

<p>E adesso immaginate che <em>Monsieur le Musk</em>, dalla Francia, cominci a fare contro il vostro paese qualcosa di simile a quello che Musk ha fatto nella politica europea.</p>

<p>Che cominci ad usare il proprio media per influenzare le vostre elezioni. Che sostenga apertamente un partito politico del vostro paese, che ne amplifichi i messaggi, che intervenga durante la campagna elettorale, magari comparendo persino ai suoi eventi. Musk lo ha fatto davvero durante la campagna elettorale tedesca del 2025: ha sostenuto pubblicamente AfD, ha ospitato Alice Weidel su X invitando i tedeschi a votarla ed è apparso in video ad un evento elettorale del partito.</p>

<p>Che mandi i suoi uomini, i suoi consiglieri, i suoi contatti politici a costruire relazioni con partiti locali. Che utilizzi la propria enorme capacità di amplificazione per spostare l&#39;agenda politica e alterare il peso relativo delle diverse voci nel dibattito pubblico.</p>

<p>Non sto dicendo, attenzione, che Musk possa magicamente decidere il risultato di un&#39;elezione. Anzi, le analisi disponibili sulla Germania non dimostrano affatto che abbia determinato il risultato elettorale. Il punto è diverso: <strong>un proprietario privato di una grande infrastruttura mediatica può decidere di entrare personalmente nella politica di un altro paese, usando contemporaneamente denaro, notorietà e controllo della piattaforma</strong>. Ed è esattamente questo che ha prodotto il dibattito sull&#39;interferenza di Musk nella campagna tedesca.</p>

<p>Ma stavolta immaginiamo che non sia americano.</p>

<p>Stavolta è francese.</p>

<p>E magari voi siete tedeschi. O italiani. O polacchi. O spagnoli.</p>

<p>Sareste davvero disposti a lasciar correre in nome dell&#39;«Unità Europea» un comportamento simile?</p>

<p>Perché quando il miliardario è americano la faccenda, paradossalmente, sembra più semplice da raccontare. Negli Stati Uniti Musk può accumulare un&#39;enorme influenza politica e qualcuno può persino interpretarla come la solita storia americana del miliardario di successo che cerca di trasformare il proprio potere economico in potere politico.</p>

<p>Ma trasferite la stessa dinamica dentro l&#39;Europa.</p>

<p>Immaginate un miliardario francese proprietario di una piattaforma usata da milioni di tedeschi che decide chi sostenere alle elezioni tedesche.</p>

<p>Oppure un miliardario tedesco che usa il proprio social network per spiegare agli italiani quale partito debbano votare.</p>

<p>Oppure uno spagnolo che comincia a finanziare, amplificare e promuovere movimenti politici polacchi perché il governo di Varsavia non gli piace.</p>

<p>A quel punto la questione cambia immediatamente natura.</p>

<p>Non avete più soltanto una concentrazione di mercato.</p>

<p>Avete <strong>una concentrazione transnazionale di potere politico privato</strong>.</p>

<p>Ed è qui che il modello americano dei giganteschi campioni tecnologici diventa politicamente molto più difficile da riprodurre nell&#39;Unione Europea.
Perché NESSUNO vorrebbe davvero trovarsi con un miliardario di un altro Stato membro capace di fare il bello e il cattivo tempo nella propria politica nazionale.</p>

<p>Nessuno.</p>

<p>E questa è precisamente una delle difficoltà politiche della UE che, personalmente, considero salutare.</p>

<p>La UE è fatta di 27 Stati.</p>

<p>Ventisette governi, ventisette sistemi politici, ventisette opinioni pubbliche, ventisette storie nazionali e soprattutto ventisette paesi che hanno deciso di stare insieme <strong>a condizione che nessuno possa pisciare davvero in testa agli altri</strong>.</p>

<p>Questa struttura rende molte cose esasperantemente lente.</p>

<p>Rende difficile concentrare rapidamente quantità mostruose di capitale.</p>

<p>Rende difficile costruire un singolo centro decisionale continentale.</p>

<p>Rende difficile produrre il classico «campione nazionale» e poi lasciarlo crescere sino a diventare così potente da dettare le condizioni al resto del mercato.</p>

<p>Ma forse questa non è semplicemente una debolezza.</p>

<p>Forse è anche uno dei meccanismi attraverso i quali l&#39;Europa impedisce che una potenza economica privata, nata casualmente dalla parte giusta di una frontiera interna, finisca per trasformarsi in una potenza politica sopra le altre ventisei.</p>

<p>E quindi, quando qualcuno mi mostra Microsoft, Google, Meta, Amazon, Musk e compagnia e domanda:</p>

<p>«Perché l&#39;Europa non ha prodotto la stessa cosa?»</p>

<p>una delle risposte possibili è:</p>

<h2 id="perché-non-è-affatto-ovvio-che-vogliamo-produrre-la-stessa-cosa"><strong>perché non è affatto ovvio che vogliamo produrre la stessa cosa.</strong></h2>

<p><br>
<hr/></p>

<p>E questo è il motivo OVVIO per il quale il punto di arrivo della politica europea sul cloud, sulla AI e in generale sull&#39;infrastruttura digitale <strong>non può semplicemente essere una copia della situazione americana</strong>.</p>

<p>Qui però bisogna fare una precisazione.</p>

<p>Non è vero che il commissario europeo alla concorrenza interverrebbe necessariamente MOLTO PRIMA che un&#39;azienda diventi grande quanto Amazon, Azure o OpenAI. Essere giganteschi, di per sé, non è vietato. Anzi: oggi la UE sta spendendo parecchi soldi proprio per creare aziende e infrastrutture europee capaci di raggiungere una scala molto maggiore di quella attuale.</p>

<p>Il problema arriva quando la scala produce dominanza, lock-in, dipendenza strutturale e capacità di chiudere il mercato agli altri.</p>

<p>Ed è qui che la differenza diventa interessante.</p>

<p>Per come viene gestita oggi la questione della sovranità informatica europea, il desiderata non sembra essere:</p>

<blockquote><p>dobbiamo avere UN Amazon europeo, UN Microsoft europeo e UNA OpenAI europea.</p></blockquote>

<p>Assomiglia molto di più a:</p>

<blockquote><p>per ogni funzione importante dobbiamo avere <strong>più fornitori europei credibili, possibilmente distribuiti tra diversi paesi, interoperabili e sostituibili tra loro</strong>.</p></blockquote>

<p>La mia maniera di riassumerlo, che non è una regola scritta da qualche parte ma rende abbastanza bene l&#39;idea, è questa:
<strong>un cittadino o un&#39;azienda europea dovrebbero poter trovare almeno una scelta ragionevolmente locale e altre due o tre scelte europee, senza essere obbligati a consegnarsi ad un unico gigante.</strong></p>

<p>E se guardiamo quello che sta succedendo, il panorama comincia effettivamente ad assomigliare a questo.</p>

<h3 id="cloud">Cloud</h3>

<p>Prendiamo il cloud.</p>

<p>In Francia esistono <strong>OVHcloud</strong> e <strong>Scaleway</strong>.</p>

<p>In Germania ci sono <strong>IONOS Cloud</strong> e <strong>STACKIT</strong>, la piattaforma cloud di Schwarz Digits, cioè il braccio digitale del gruppo Schwarz, quello di Lidl e Kaufland. STRATO rimane poi un grande attore tedesco nell&#39;hosting, nei server, nella mail e nello storage, anche se oggi appartiene allo stesso gruppo IONOS e quindi non costituisce un concorrente industrialmente indipendente da IONOS.</p>

<p>In Italia c&#39;è <strong>Aruba</strong>, che non è soltanto quello presso cui vostro cugino ha comprato il dominio nel 2007: possiede propri data center, offre cloud, hosting, mail, PEC e infrastrutture AI, e si presenta esplicitamente come operatore europeo sovrano.</p>

<p>In Spagna c&#39;è <strong>Arsys</strong>, che partecipa direttamente all&#39;IPCEI-CIS; è però parte del gruppo IONOS, quindi anche qui bisogna distinguere tra presenza locale e indipendenza societaria.</p>

<p>In Polonia troviamo, fra gli altri, <strong>Oktawave</strong>, anch&#39;essa coinvolta nei progetti europei di nuova generazione cloud-edge.</p>

<p>In Belgio c&#39;è <strong>Proximus</strong>.</p>

<p>In Lussemburgo <strong>POST Luxembourg</strong>.</p>

<p>E la cosa interessante è che non sto facendo un elenco di aziende che Bruxelles guarda da lontano sperando che sopravvivano.</p>

<p>La Commissione ha appena assegnato un (altro) contratto da <strong>180 milioni di euro</strong> per cloud sovrano europeo a quattro offerte: STACKIT dalla Germania, Scaleway dalla Francia, POST Luxembourg con OVHcloud e Clever Cloud, e Proximus con un consorzio di partner.</p>

<p>E ancora più importante è IPCEI-CIS, il grande progetto europeo Cloud Infrastructure and Services.</p>

<p>Sette Stati membri possono metterci fino a <strong>1,2 miliardi di euro di denaro pubblico</strong>, ai quali dovrebbero aggiungersi circa 1,4 miliardi di investimenti privati.</p>

<p>Per fare cosa?</p>

<p>Non per costruire «AWS ma con la bandiera europea».</p>

<p>La descrizione ufficiale parla del primo ecosistema europeo di elaborazione dati <strong>interoperabile, apertamente accessibile e multi-provider</strong>, dal cloud fino all&#39;edge: infrastrutture distribuite, federate e capaci di lavorare insieme.
IONOS, per esempio, riceve finanziamenti per tecnologie destinate alla gestione di workload distribuiti tra cloud ed edge; Arsys lavora dalla Spagna allo stesso progetto; OpenNebula sviluppa il livello open source destinato precisamente alla federazione e alla portabilità dei workload.</p>

<p>Questa cosa ha persino un nome, oggi: <strong>8ra</strong>.</p>

<p>Il concetto è che un domani voi possiate avere il vostro workload su un provider tedesco, spostarlo o distribuirlo su uno francese, usare capacità italiana o spagnola, senza dover riscrivere metà dell&#39;azienda perché avete deciso di lasciare il padrone precedente.</p>

<p>E infatti il Data Act europeo contiene obblighi specifici per facilitare <strong>switching e portabilità tra cloud provider</strong>.</p>

<p>Questo è quasi l&#39;esatto contrario del modello del gigantesco silo proprietario.</p>

<h3 id="intelligenza-artificiale">Intelligenza artificiale</h3>

<p>Con la AI la struttura che sta emergendo è simile, ma ancora più evidente.</p>

<p>La Francia ha <strong>Mistral AI</strong>, che ormai è senza dubbio uno dei principali attori europei del settore. È una società francese indipendente con sede a Parigi e sta costruendo in Francia anche capacità di calcolo propria su scala molto importante.</p>

<p>La Germania ha <strong>Aleph Alpha</strong>, oggi fortemente integrata nell&#39;ecosistema Schwarz Digits: PhariaAI viene offerta direttamente sopra STACKIT.</p>

<p>L&#39;Italia ha realtà come <strong>iGenius</strong> e, su un altro piano, Engineering con la propria architettura <strong>IS-IA</strong>, costruita attorno a EngGPT 2 e presentata esplicitamente come piattaforma italiana di AI sovrana.</p>

<p>E contemporaneamente OVHcloud ha annunciato di voler addestrare propri frontier model, quindi persino la distinzione fra «cloud provider» e «azienda AI» sta già cominciando a sfumare.</p>

<p>Ma sopra questi campioni nazionali sta crescendo un&#39;altra infrastruttura che è tipicamente europea.</p>

<p>Ci sono ormai <strong>19 AI Factories distribuite in 16 Stati membri</strong>, costruite attorno alla rete EuroHPC, che devono mettere GPU, supercomputer, dati e competenze a disposizione di startup, università e aziende.</p>

<p>E sopra queste la UE sta costruendo fino a <strong>cinque AI Gigafactories</strong>, con strutture progettate per superare i 100.000 acceleratori AI ciascuna e con decine di miliardi di investimenti previsti.</p>

<p>Ancora una volta: non UNA gigantesca OpenAI europea.</p>

<p>Un&#39;infrastruttura continentale distribuita sulla quale possono crescere Mistral, Aleph Alpha, aziende italiane, spagnole, polacche, startup che ancora non esistono e magari qualche futuro mostro che oggi lavora in uno sgabuzzino con quattro GPU.</p>

<p>E qui si vede bene la differenza tra <strong>scala</strong> e <strong>centralizzazione</strong>.</p>

<p>La UE vuole la scala.</p>

<p>Eccome se la vuole.</p>

<p>Quello che cerca di evitare è che tutta quella scala appartenga necessariamente ad UN SOLO padrone.</p>

<h3 id="hosting-domini-e-posta-elettronica">Hosting, domini e posta elettronica</h3>

<p>Se scendiamo di livello e andiamo verso servizi molto più quotidiani, la cosa è già visibile da anni.</p>

<p>Un tedesco può comprare dominio, hosting e mail da <strong>IONOS</strong>, <strong>STRATO</strong>, Tuta o mailbox.org.</p>

<p>Un italiano ha <strong>Aruba</strong>, che offre tutto il percorso dal dominio alla posta elettronica, dalla PEC al cloud.</p>

<p>Un francese dispone di OVHcloud e di diversi operatori locali.</p>

<p>Un belga ha <strong>Mailfence</strong>, che offre posta, calendario, contatti e documenti.</p>

<p>E un cittadino di uno qualsiasi di questi paesi può tranquillamente comprare il servizio da uno degli altri.</p>

<p>Quindi il tedesco non è costretto ad usare il tedesco.</p>

<p>Può usare l&#39;italiano.</p>

<p>L&#39;italiano può usare il francese.</p>

<p>Il francese può usare il tedesco.</p>

<p>E tutti e tre possono cambiare idea.</p>

<p>Per la posta privata esiste persino una costellazione abbastanza interessante di operatori europei specializzati nella privacy: <strong>Tuta</strong> in Germania e <strong>Mailfence</strong> in Belgio, per esempio. Proton viene spesso inserita nello stesso gruppo culturale e tecnologico, ma va ricordato che è svizzera: europea geograficamente, NON appartenente alla UE.</p>

<p>Ed è proprio qui che bisogna stare attenti alla parola «locale».</p>

<p>Locale non deve significare:</p>

<p><strong>ogni nazione deve ricostruirsi Google da zero.</strong></p>

<p>Sarebbe stupido, costosissimo e probabilmente impossibile per molti dei 27 Stati.</p>

<p>Il modello sensato è avere alcuni poli nazionali forti e, attorno a loro, abbastanza concorrenti europei perché nessuno diventi indispensabile.</p>

<h3 id="software-e-collaboration">Software e collaboration</h3>

<p>Lo stesso principio comincia ad apparire anche nello strato software.</p>

<p>Schwarz Digits, per esempio, ormai non vende soltanto STACKIT.</p>

<p>Sta costruendo un vero stack: cloud STACKIT, Aleph Alpha per la AI, sicurezza informatica, Wire per la messaggistica sicura e Workspace by STACKIT per gli strumenti di produttività.</p>

<p>Questo significa che in Germania sta nascendo qualcosa che comincia vagamente ad assomigliare, per ampiezza dello stack, ad un concorrente locale delle grandi piattaforme americane.</p>

<p>Ma contemporaneamente esistono aziende francesi, italiane, belghe, spagnole e di altri paesi che coprono pezzi sovrapposti dello stesso stack.</p>

<p>Ed è precisamente la sovrapposizione ad essere importante.</p>

<p>Perché se STACKIT diventa bravissima, bene.</p>

<p>Se diventa enorme, ancora meglio.</p>

<p>Se diventa così enorme che non potete più vivere senza STACKIT, allora abbiamo ricreato il problema.</p>

<h3 id="cybersecurity">Cybersecurity</h3>

<p>Lo stesso fenomeno esiste nella cybersecurity.</p>

<p>In Francia ci sono aziende come <strong>Thales</strong> e una vasta industria della sicurezza.</p>

<p>In Germania Schwarz Digits possiede <strong>XM Cyber</strong>, oltre ad avere costruito un ecosistema attorno a STACKIT.</p>

<p>In Italia esistono Leonardo e decine di fornitori specializzati.</p>

<p>Poi queste aziende operano anche negli altri paesi europei.</p>

<p>Ancora una volta non esiste necessariamente «la CrowdStrike europea».</p>

<p>Esiste, o dovrebbe esistere sempre di più, <strong>un mercato europeo nel quale diversi attori europei sono abbastanza grandi da fornire gli stessi clienti e nessuno può presentarsi dicendo: senza di me spegnete tutto</strong>.</p>

<p>Ed è questa, secondo me, la parte che viene capita meno quando si parla del famoso «ritardo europeo».</p>

<p>Se il metro di misura è:</p>

<blockquote><p>quanti AWS abbiamo?</p></blockquote>

<p>la risposta europea sarà sempre deprimente.</p>

<p>Se il metro diventa:</p>

<blockquote><p>quante infrastrutture indipendenti abbiamo, quanto sono interoperabili, quanto facilmente possiamo cambiare fornitore, e quanta parte dello stack possiamo controllare senza chiedere permesso fuori dalla UE?</p></blockquote>

<p>allora state misurando <strong>un&#39;altra cosa</strong>.</p>

<p>E questa seconda cosa assomiglia molto di più a ciò che Bruxelles chiama oggi <em>Digital Sovereignty</em>.</p>

<p>Il Cloud and AI Development Act proposto nel giugno 2026 lo rende abbastanza esplicito: l&#39;obiettivo è almeno triplicare la capacità dei data center europei nei prossimi cinque-sette anni, aumentare la capacità europea nel cloud e nella AI e contemporaneamente creare un quadro comune europeo per valutare la sovranità dei fornitori.</p>

<p>Quindi no: la strategia non consiste nel rassegnarsi ad essere piccoli.</p>

<p>Consiste nel diventare <strong>grandi senza diventare dipendenti da uno solo</strong>.</p>

<p>E questa differenza, che sembra una sottigliezza, cambia completamente il significato della parola GAP.</p>

<p><br>
<hr/></p>

<p><br>
E questo è il mio punto.</p>

<p>Se per voi essere diversi dagli Stati Uniti, e non voler costruire un sistema nel quale cinque o sei oligarchi tecnologici possano accumulare abbastanza potere economico, mediatico e politico da condizionare direttamente la vita democratica, significa essere «indietro», allora prima dovete chiedervi una cosa:
<strong>volete davvero andare dove sono andati gli Stati Uniti?</strong></p>

<p>Oppure volete andare da qualche altra parte?</p>

<p>Perché se volete andare da qualche altra parte, ALLORA il famoso GAP non può più essere misurato prendendo gli Stati Uniti come punto di arrivo.</p>

<p>Dovete prima stabilire <strong>dove volete arrivare</strong>, e soltanto dopo misurare la distanza tra quel punto e dove siamo oggi.</p>

<p>E potreste avere delle piacevoli sorprese.</p>

<p>Una delle sorprese, per esempio, è che una parte importante dei finanziamenti europei sulla sovranità digitale non serve affatto a costruire capannoni pieni di server.</p>

<p>Naturalmente i finanziamenti alle infrastrutture fisiche esistono eccome: data center, supercomputer EuroHPC, AI Factories, reti edge, semiconduttori e capacità di calcolo sono una parte importante della strategia europea.</p>

<p>Ma una quantità enorme del lavoro riguarda <strong>il software necessario a fare funzionare insieme queste infrastrutture</strong>.</p>

<p>Ed è perfettamente logico.</p>

<p>Perché se il vostro obiettivo fosse semplicemente costruire «AWS europeo», basterebbe costruire dei data center giganteschi, comprare montagne di GPU, scrivere uno stack proprietario e mettere un cancello intorno a tutto.</p>

<p>Se invece volete costruire un sistema nel quale STACKIT, OVHcloud, Scaleway, Aruba, IONOS e gli altri possano costituire parti di una vera infrastruttura europea, allora il problema più difficile non è più soltanto avere abbastanza ferro.</p>

<p>È fare in modo che <strong>il software non trasformi ogni infrastruttura in un&#39;isola</strong>.</p>

<p>Ed è esattamente il problema che la Commissione dichiara di voler affrontare.</p>

<p>L&#39;IPCEI-CIS, per esempio, non viene descritto come un programma per costruire semplicemente altri data center. Il suo obiettivo ufficiale è creare un ecosistema europeo di elaborazione dei dati <strong>interoperabile, apertamente accessibile e multi-provider</strong>, dal cloud fino all&#39;edge.</p>

<p>Ed è qui che cominciano i problemi interessanti.</p>

<p>Supponiamo che io abbia una workload su un cloud europeo.</p>

<p>La macchina virtuale, o il container, è quasi il problema facile.</p>
<ul><li>Devo poter spostare i dati.</li>
<li>Devo poter spostare la configurazione.</li>
<li>Devo poter ricreare networking, identity e policy.</li>
<li>Devo poter ricostruire le dipendenze.</li>
<li>Devo avere API sufficientemente compatibili.</li>
<li>Devo poter trasferire o ricreare in sicurezza certificati, credenziali, chiavi, token e tutto ciò che permette all&#39;applicazione di funzionare.</li></ul>

<p>E soprattutto devo poter fare queste cose <strong>senza che il costo tecnico dello spostamento sia così alto da rendere puramente teorica la possibilità di cambiare cloud</strong>.</p>

<p>Questa non è una mia interpretazione particolarmente creativa. Il Data Act europeo dice esplicitamente che i clienti dei servizi cloud ed edge devono poter passare da un provider all&#39;altro in maniera efficace e che devono essere sviluppati standard armonizzati e specifiche aperte di interoperabilità. La Commissione cita persino strumenti capaci di trasferire workload fra tecnologie di virtualizzazione diverse.</p>

<p>Quindi il GAP, molto spesso, sta proprio <strong>nel software intermedio</strong>.</p>
<ul><li>Sta negli orchestratori.</li>
<li>Sta nelle API.</li>
<li>Sta nei sistemi di identity.</li>
<li>Sta nella gestione delle policy.</li>
<li>Sta nei sistemi di secret management.</li>
<li>Sta nelle astrazioni sopra il networking.</li>
<li>Sta negli strumenti per trasferire workload e dati.</li>
<li>Sta nei formati comuni.</li>
<li>Sta nei middleware che permettono a sistemi costruiti da aziende differenti di riconoscersi e lavorare insieme.</li></ul>

<p>Per questo uno dei progetti europei più interessanti è <strong>Simpl</strong>, un middleware open source finanziato dalla UE il cui scopo dichiarato è precisamente permettere federazioni cloud-to-edge e fornire il software comune sul quale possono funzionare i Data Spaces europei.</p>

<p>E ci sono progetti IPCEI che fanno esattamente questo ad altri livelli.</p>

<p>SAP, per esempio, con <strong>ApeiroRA</strong>, lavora ad un blueprint di riferimento aperto per un&#39;infrastruttura cloud-edge di nuova generazione. Altri progetti sviluppano API indipendenti dalla piattaforma, orchestrazione distribuita, gestione dei workload e software destinato precisamente a rendere possibile quel famoso <em>cloud-edge continuum</em> che altrimenti rimarrebbe una bella espressione da
PowerPoint.</p>

<p>E poi ci sono componenti meno spettacolari, ma assolutamente indispensabili.</p>

<p>Prendiamo i <strong>secrets</strong>.</p>

<p>Se un&#39;applicazione cifra dei dati, usa certificati TLS, password per database, API key, credenziali dinamiche o chiavi di cifratura, non basta copiare i suoi file dal cloud A al cloud B.</p>

<p>Bisogna assicurarsi che possa ottenere nuovamente quelle credenziali, con le stesse garanzie di sicurezza, senza infilare le chiavi in un file ZIP e mandarle per posta.</p>

<p>Serve quindi uno strato di gestione dei secrets e delle chiavi che non sia legato indissolubilmente ad un singolo hyperscaler.</p>

<p>Un esempio concreto è <strong>OpenBao</strong>, il fork open source di Vault oggi gestito sotto OpenSSF. OpenBao offre secret management, PKI e <em>encryption as a service</em>, e supporta scenari distribuiti fra cloud e data center. Una parte dello sviluppo viene svolta da sviluppatori SAP <strong>ed è finanziata attraverso fondi europei NextGenerationEU.</strong></p>

<p>Ed è interessante anche perché mostra quanto poco cinematografica sia, in realtà, una parte della sovranità digitale.</p>

<p>Non sempre significa costruire una fabbrica di chip da dieci miliardi.</p>

<p>A volte significa che qualcuno deve scrivere bene il pezzo di software che gestisce una chiave crittografica.</p>

<p>Oppure il plugin che parla con un HSM.</p>

<p>Oppure il sistema che consente ad una PKI di sopravvivere allo spostamento di un&#39;applicazione.</p>

<p>Oppure l&#39;interfaccia comune attraverso la quale due infrastrutture differenti possono scambiarsi ciò che serve senza che il cliente debba riscrivere tutto.</p>

<p>OpenBao, per esempio, è già integrato con OpenStack, con infrastrutture OVHcloud e con HSM di fornitori europei come Utimaco. Non perché OpenBao sia «la soluzione europea ai vault», ma perché è un buon esempio del tipo di mattone open source che rende materialmente possibile un ambiente multi-cloud.</p>

<p>E ce ne sono moltissimi altri.</p>

<p>Perché quando dite:</p>

<p><strong>«voglio poter cambiare cloud»</strong></p>

<p>state facendo una richiesta enorme.</p>
<ul><li>Dovete poter cambiare storage.</li>
<li>Compute.</li>
<li>Networking.</li>
<li>DNS.</li>
<li>Identity.</li>
<li>Secrets.</li>
<li>Logging.</li>
<li>Monitoring.</li>
<li>Policy.</li>
<li>Database.</li>
<li>Container registry.</li>
<li>Message queue.</li>
<li>API gateway.</li>
<li></li></ul>

<p>E magari dovete farlo senza fermare il servizio.</p>

<p>La portabilità non è quindi un bottone con scritto <strong>EXPORT TO EUROPE</strong>.</p>

<p>È un&#39;intera industria del software.</p>

<p>Ed è precisamente per questo che la nuova strategia europea sull&#39;open source non considera l&#39;open source una simpatica attività per programmatori coi sandali, ma una componente della sovranità tecnologica. La Commissione stima che in Europa esistano già oltre 500 aziende commerciali open source attive in settori come cloud, cybersecurity, dati e sistemi industriali, e nel 2026 ha
indicato esplicitamente l&#39;open source come uno degli strumenti con cui ridurre dipendenze tecnologiche e rafforzare la resilienza europea.
Ed ecco quindi un altro errore abbastanza sistematico quando si misura il famoso GAP.</p>
<ul><li>Si contano i data center.</li>
<li>Si contano le GPU.</li>
<li>Si contano gli LLM.</li>
<li>Si contano le capitalizzazioni.</li></ul>

<p>E tutte queste cose sono importanti.</p>

<p><br>
<br>
<br>
Ma se il sistema europeo che vogliamo costruire è <strong>federato</strong>, allora una parte del GAP sta necessariamente in una montagna di software che nessun giornalista metterà mai in copertina.</p>

<p>Il software che permette al pezzo francese di parlare con quello tedesco.</p>

<p>A quello tedesco di essere sostituito da quello italiano.</p>

<p>A quello italiano di usare capacità di calcolo spagnola.</p>

<p>E al cliente di poter mandare tutti al diavolo e cambiare fornitore senza dover demolire la propria infrastruttura.</p>

<p>In altre parole, se il punto di arrivo è un ecosistema europeo <strong>grande, distribuito, interoperabile e sostituibile</strong>, allora non siamo semplicemente in ritardo nella corsa verso AWS.</p>

<p>Stiamo correndo <strong>un&#39;altra gara</strong>.</p>

<p>E soltanto dopo aver capito quale gara stiamo correndo ha senso chiedersi quanto siamo indietro.</p>

<p><br>
<hr/></p>

<p><br>
Sta a voi chiedervi se volete Elon Musk o no.</p>

<p>E ricordarvi che dietro un Elon Musk ci sono sempre dieci Epstein.</p>

<p><br>
<br></p>

<div style="text-align: left;">
  Uriel Fanelli<br>
  <br>
  --<br>
  Written using Blogfrei:
  <a href="https://git.keinpfusch.net/loweel/blogfrei">https://git.keinpfusch.net/loweel/blogfrei</a><br>
  Fedi: <a href="https://keinpfusch.net/@/uriel@bbs.keinpfusch.net" class="u-url mention">@<span>uriel@bbs.keinpfusch.net</span></a><br>
  XMPP: uriel@keinpfusch.net<br>
  vecchio blog:
  <a href="https://blog.keinpfusch.net">https://blog.keinpfusch.net</a><br>
  email:
  <a href="mailto:blog@keinpfusch.net">blog@keinpfusch.net</a><br>
</div>
]]></content:encoded>
      <guid>https://keinpfusch.net/servizi-it-ue-vs-usa</guid>
      <pubDate>Tue, 18 Aug 2026 15:06:01 +0000</pubDate>
    </item>
    <item>
      <title>E rieccomi</title>
      <link>https://keinpfusch.net/e-rieccomi</link>
      <description>&lt;![CDATA[Dopo una settimana e qualche severa bruciatura da sole, sono tornato in Germania, dove ho trovato pioggia e freschino. E siccome ho ancora ferie per riposarmi dalle ferie, vi faccio un post per raccontare alcuni aneddoti. Poi riparto a scrivere cose meno divertenti. Userò il metodo esagerativo dello sfottò siciliano, in onore di Licata, il posto dove ho passato la settimana lunga, e descriverò i miei amici in maniera volutamente divertente, senza fare nomi.&#xA;&#xA;!--more--&#xA;&#xA;Prima, una doverosa premessa: la città di Licata sembra avere un problema con l’immondizia, con la pulizia delle strade e con la loro manutenzione. L’ultima volta che ci sono stato, all’inizio degli anni Duemila, non era così. Ma, per quello che ho potuto vedere, è come se il sindaco non ci provasse nemmeno. E siccome ha anche tolto i cassonetti per passare alla raccolta porta a porta, se volete essere civili e tentare di facilitare le cose, semplicemente non serve a nulla.Non avete altro posto dove lasciare i vostri rifiuti, e, non esistendo un calendario vero, prima o poi verranno raccolti. Questo, con una temperatura da forno a legna, produce una fragranza che piace moltissimo ai turisti.&#xA;Ma, ripeto, non lasciatevi ingannare: la gente non ha colpa. Anche noi tre abbiamo cercato di smaltirla nel modo dovuto: semplicemente, non esiste il modo dovuto.&#xA;Chi vi dice che è anche colpa della gente incivile appartiene all&#39;insieme dei leccapiedi del sindaco, che onestamente andrebbe impalato. Col faro che c’è al porto. Una parte fondamentale del panorama.&#xA;&#xA;br&#xA;&#xA;br&#xA;Descrizione della compagnia. Ci sono io, che faro&#39; da traduttore. Poi c&#39;e&#39; &#34;il Corto&#34;, un tedesco che appunto non e&#39; alto, fa il preside di una scuola superiore, suona heavy metal, ha gli avambracci tatuati con motivi maori, ha l&#39;hobby delle motociclette Triumph, e accetta di venire con noi anche usando un mezzo ignobile, opportunista e codardo come un aereoplano.&#xA;Poi c&#39;e&#39; il lungo. Alto, sempre biondo, ma di mestiere e&#39; un manager per una gloriosa assicurazione, ritiene che la Polo sia l&#39;equivalente casual di quello che per me e&#39; una canottiera del Manowar con le borchie sopra. Ovviamente, shorts con le pinces, e occhiali rettangolari. Ama le regole. Adora le regole. PENSA in termini di regole. E vuole che lo sappiate. Non gi basta avere un piano,&#xA;vuole un piano perfetto. Fino nei dettagli. Nonostante io lo abbia avvisato che andremo in un posto dove i piani falliscono proprio nei dettagli. Ma lui dice che allora e&#39; un cattivo piano. Ma lui e&#39; un manager. Oh, yeah.&#xA;&#xA;Comunque, ci siamo conosciuti in palestra, facendo Judo, e dopo un decennio di bevute, mangiate, Wacken e ippon ci consideriamo amici. Che, in Germania, è una cosa importante: non è affatto facile avere un amico qui.&#xA;&#xA;E si parte.&#xA;&#xA;Il piano fallisce immediatamente: prima ci si mette l’Etna, che decide di eruttare. E quindi chiudono l’aeroporto di Catania. Mentre noi siamo già in volo.&#xA;&#xA;Morale? Dovremmo atterrare a Lamezia Terme, ma non c’è abbastanza carburante, e quindi andiamo prima a Brindisi a fare rifornimento. Si perdono tre ore buone, poi finalmente arriviamo a Lamezia. Di andare a Catania non se ne parla nemmeno, e l’aeroporto di Palermo è completamente nel panico.&#xA;Io e il Grosso, che prendiamo la vita con sarcasmo, ci mettiamo a dire cazzate e a sghignazzare per tutto il tempo. A volte anche troppo.&#xA;&#xA;Per esempio, a un certo punto lui chiede a una signora italo-tedesca, che sta urlando al telefono, per quale motivo stia usando il telefono, visto che da Catania la sentono benissimo anche senza.&#xA;In compenso, questo aiuta l’aria condizionata di bordo a raffreddare.&#xA;&#xA;E poi via, perché quando un aereo si ferma tutti sentono improvvisamente il bisogno di alzarsi: quelli seduti davanti devono andare in fondo, quelli seduti in fondo devono andare davanti, e quelli in mezzo hanno uno spin -1.&#xA;E si sente la voce del Grosso che dice:&#xA;&#xA;  „Schönes Wetter zum Spazierengehen, oder?“&#xA;&#xA;Ovvero: “Tempo fantastico per una bella passeggiata, eh?”&#xA;&#xA;Penso di avervi descritto il carattere del Corto. Divertentissimo, piace alle donne - ricambiato - e ha sempre la battutaccia pronta.&#xA;&#xA;Il Lungo, invece, la prende con grazia. Discussione con me, tipo:&#xA;&#xA;Ma il vulcano a Catania non esiste da oggi, vero?&#xA;No, credo siano milioni di anni.&#xA;E quindi a Catania lo sanno che c’è un vulcano, giusto?&#xA;Credo sospettino qualcosa, sì.&#xA;E allora perché chiudono l’aeroporto per l’Etna, se sanno che potrebbe eruttare? Non e&#39; normale che erutti? Non ci sono abituati?&#xA;È gente strana, amico mio. È gente strana.&#xA;Io non lo capisco.&#xA;Genau.&#xA;&#xA;Credo di aver descritto la combriccola.&#xA;&#xA;br&#xA;Allora, arriviamo troppo tardi a Lamezia, quindi prendiamo un albergo per una notte. L’indomani prendiamo il treno fino a Villa San Giovanni, da lì il traghetto veloce, e poi finalmente Catania. Nessuno fa ritardo, nessuno perde coincidenze, anche se il Lungo continua a ripetere che, essendo il viaggio assicurato, riuscirà a farci risarcire tutte le spese aggiuntive.&#xA;Ok.&#xA;&#xA;Arriviamo all’aeroporto di Catania, perché il Lungo ha prenotato online un’automobile. E naturalmente conosce a memoria ogni singola clausola del contratto firmato online.&#xA;&#xA;Peccato che fosse una truffa.&#xA;&#xA;Nel senso che quello, a detta del losco individuo che troviamo lì, era soltanto un “broccheRRR”, e quindi:&#xA;&#xA;  “Adesso il contratto nuovo lo fate con ME.”&#xA;&#xA;Accento sul ME. Lo pronuncia come se fosse &#34;ammia&#34; nel Padrino.&#xA;&#xA;Io capisco immediatamente l’antifona. Guardo davanti al posto dove dovrebbe esserci il “broccheRRR” e vedo una discreta fila di gente incazzata. A quel punto il quadro generale mi sembra abbastanza chiaro.&#xA;&#xA;E, naturalmente, il tipo cerca di fregarci tirando fuori clausole assicurative improbabili, condizioni assurde e altre amenità che sembrano inventate sul momento.&#xA;&#xA;Ma commette un errore.&#xA;&#xA;Lo dice al Lungo, pensando che essendo tedesco sia facile fregarlo. Non lo conosce. E&#39; un tedesco, ma del nord. Una cosiddetta fischkopf, una testa di pesce, come li chiamano. Non cambia opinione dal 700 Avanti Cristo.&#xA;&#xA;Il risultato è una discussione forbita di mezz’ora, durante la quale il Lungo cerca pazientemente di dimostrare al tipo — che era chiaramente un ciarlatano — che stava dicendo delle stronzate.&#xA;&#xA;Punto per punto.&#xA;&#xA;Clausola per clausola.&#xA;&#xA;Con metodo.&#xA;&#xA;Il problema è che non c’era verso di portarlo via da lì. Il Lungo aveva ormai trasformato il noleggio auto in una questione di principio, e probabilmente sarebbe ancora lì a discutere di condizioni contrattuali se, a un certo punto, non lo avessimo praticamente trascinato fuori.&#xA;&#xA;Insomma, cosi&#39; (nella maglietta c&#39;e&#39; scritto ICH HABE RECHT, io ho ragione. Ma aveva una polo.).&#xA;&#xA;image.png&#xA;&#xA;br&#xA;Comunque, usciamo fuori e, mentre cerchiamo di pianificare una strategia — come dice il Lungo — passa un autobus.&#xA;&#xA;In alto c’è scritto:&#xA;&#xA;LICATA&#xA;&#xA;Sorpresa: non c’è affatto bisogno di un’auto.&#xA;&#xA;Con 9,80 euro a cranio si parte e si arriva direttamente a Licata.&#xA;&#xA;Fine della necessità strategica.&#xA;&#xA;Il Lungo dice qualcosa del tipo che non poteva certo prevedere che in Sicilia ci fossero degli autobus.&#xA;&#xA;È ovvio.&#xA;&#xA;Come sarebbe a dire, il motore a scoppio?&#xA;&#xA;**&#xA;&#xA;br&#xA;Ovviamente lo prendiamo, e io e il Corto prenderemo per il culo l’organizzazione perfetta del Lungo per circa due ore.&#xA;&#xA;Ma due ore con l’aria condizionata.&#xA;&#xA;E credetemi: da quelle parti serviva. Ma non &#34;era meglio averla&#34;. Serviva tipo DEVS LO VULT.&#xA;&#xA;Insomma, il tipo che ci affitta l’appartamento viene preso da pietà e ci viene a prendere all’autostazione di Licata, e noi finalmente raggiungiamo il posto. La macchina è molto piccola, ma esiste una ragione.&#xA;&#xA;Si tratta di un quartiere antichissimo, estremamente pittoresco, con strade larghe mediamente due metri, due metri e mezzo, e curve ad angolo assurdamente strette. Si trova giusto un paio di traverse prima di Via Palma, diciamo vicino al municipio.&#xA;&#xA;Se siete di Licata avete già capito dove. Altrimenti dovete immaginare un quartiere medievale siciliano fatto di strade strettissime, case addossate l’una all’altra e svolte nelle quali una macchina normale sembra improvvisamente una petroliera.&#xA;&#xA;Ne esiste un altro simile, detto la Marina, che dà sul porto.&#xA;&#xA;Io e il Corto siamo lì a fare fotografie, perché il posto è veramente bello. Il Lungo, visto il posto, chiede dove affittare un’auto.&#xA;&#xA;Io e il Corto, invece, decidiamo di cambiare il piano.&#xA;&#xA;Molto meglio degli scooter.&#xA;&#xA;Così chiediamo al nostro oste, gentilissimo, dove si possano affittare degli scooter, e lui ci porta in un posto dove si affittano gommoni per i tour turistici, ma anche scooter.&#xA;&#xA;Il Corto, ovviamente, non ha la sua Triumph, ma sono sempre due ruote. A me va benone il 125 cc.&#xA;&#xA;Il Lungo, però, ci ricorda che:&#xA;&#xA;Ma non basta la patente B per guidare un 125. Occorre anche uno Schlüsselzahl 196, cioè quella roba che esiste in Germania e permette di guidare un 125 con la patente B dopo la formazione prevista.&#xA;Non siamo in Germania, casomai ti fosse sfuggito. E levati quei calzini: siamo vicini alla temperatura di fusione dello zinco.&#xA;Ma le assicurazioni come fanno ad assicurarti? Magari poi non ci pagano se abbiamo un incidente.&#xA;Non lo so come fanno. Ma qui si fa così, QUINDI si fa così. Secondo te cosa dovremmo fare?&#xA;Andare in auto. Il piano era di avere un’auto.&#xA;&#xA;Risponde il Corto:&#xA;&#xA;— E sticazzi del piano. (Scheiß auf die Planung.)&#xA;&#xA;Insomma, io affitto un 125 cc, come il Lungo, mentre il Corto, che ha la patente per le moto, si prende un 250 cc.&#xA;&#xA;Ma ormai siamo usciti dalla pianificazione.&#xA;&#xA;E quindi il Lungo, da questo momento in poi, si aspetta delle catastrofi.&#xA;&#xA;Che non avverranno.&#xA;&#xA;Almeno una volta capito come si guida a Licata.&#xA;&#xA;Diciamo che, come dice il corto, loro non violano le regole del codice. Le migliorano, ecco tutto.&#xA;&#xA;br&#xA;A quel punto torniamo al nostro appartamento. Il tipo, gentilissimo, ci mostra il garage dove possiamo mettere gli scooter.&#xA;&#xA;Non per i ladri.&#xA;&#xA;Per evitare che fondano nell’asfalto.&#xA;&#xA;La temperatura è attorno ai 49 gradi.&#xA;&#xA;Convinto finalmente il Corto a togliersi i calzini, andiamo a un chiosco che avevamo visto a un incrocio, con anche qualche tavolino. Vende granite.&#xA;&#xA;Io so bene che la granita al limone non contiene latte, e il Lungo è allergico al latte di mucca. Ma non so bene cosa contenga la famosa brioscia col tuppo.&#xA;&#xA;Così lo dico alla signora del chiosco, che per tutta risposta ci mostra il garage dietro al chiosco, dove fanno letteralmente le briosce.&#xA;&#xA;Niente latte.&#xA;&#xA;E così la brioscia con la granita diventa la nostra colazione.&#xA;&#xA;Peccato che nel piano ci fosse scritto di andare in qualche pasticceria, comprare qualcosa per colazione e mangiarlo a casa.&#xA;&#xA;Scheiß auf die Planung.&#xA;&#xA;Siccome però il piano esiste ancora, almeno formalmente, e dopotutto vale la pena assaggiare il cibo locale, andiamo ANCHE in una pasticceria a chiedere se abbiano cannoli fatti con ricotta di sola pecora.&#xA;&#xA;La signora non parla inglese, ma chiama la figlia.&#xA;&#xA;Io sto zitto, sfruttando quello che ormai chiamo il gradiente di ospitalità: a Licata, più siete stranieri, più la popolazione si fa in quattro per voi.&#xA;&#xA;No, sul serio: va provato.&#xA;&#xA;Se non lo provate, non sapete davvero cosa sia l’ospitalità.&#xA;&#xA;Kudos ai licatesi.&#xA;&#xA;La signora, intanto, ci guarda con un’espressione che tradotta dal siciliano universale significa più o meno:&#xA;&#xA;“Voi malvagi settentrionali del demonio state forse insinuando che io metta dell’orrido latte di mucca nella ricotta dei MIEI cannoli? È questo che state insinuando? Eh? Eh? Volete litigare?”&#xA;&#xA;A quel punto intervengo io e spiego, in italiano con accento chiaramente non locale, che il Lungo sta veramente male se mangia latte di mucca e quindi, semplicemente, ha paura.&#xA;&#xA;Detto fatto.&#xA;&#xA;La signora sparisce nel laboratorio e ricompare sulla porta con un cucchiaino da assaggio da consegnare al Lungo.&#xA;&#xA;Il Lungo assaggia.&#xA;&#xA;Aspetta due minuti.&#xA;&#xA;E infine conclude che sì: chiaramente non c’è latte di mucca.&#xA;&#xA;Nel frattempo il Corto era entrato nel negozio e aveva già fatto amicizia con la figlia.&#xA;&#xA;La scena che troviamo, quindi, è praticamente questa:&#xA;&#xA;image.png&#xA;&#xA;No, non c&#39;era la mitragliatrice e nemmeno l&#39;elmetto. Ma il Corto stava comprando cibo. TANTO Cibo. E riesce a legare benissimo con le donne. Anche a Licata, pare.&#xA;&#xA;Nel senso che nel frattempo Il Corto si e&#39; procurato uno sconto-simpatia e ha comprato cosi&#39; tanti dolci, da mastazzoli (Für Deutsche: Gebäck, das nach Glühwein verlangt!!!! WOW!!!) a tutto quello che c&#39;era con le mandorle, che abbiamo riempito due ripiani del frigo.&#xA;Per merenda. La colazione era presa dal chiosco delle granite.&#xA;&#xA;Scheiß auf die Diät.&#xA;&#xA;br&#xA;Così decidiamo che è arrivato il momento di andare in spiaggia.&#xA;&#xA;Chiediamo indicazioni a un passante, subito dopo un ponte, e ci spiega come arrivare alla Playa.&#xA;&#xA;Ok. Come inizio può andare.&#xA;&#xA;Ma prima occorre un negozio per attrezzarsi. Troviamo un “bangla” e compriamo un ombrellone da lasciare lì, mentre il Lungo compra un secondo asciugamano e noi da Sidis per creme protettive 50+.&#xA;&#xA;Precisiamo.&#xA;&#xA;Il Lungo, nel bagaglio in stiva, ha messo LA SUA crema. Quella che funziona. L’UNICA che funziona sulla sua pelle.&#xA;&#xA;Effettivamente, gente così bianca l’avevo vista solo in Irlanda. Quindi, in effetti, ci sta.&#xA;&#xA;Arriviamo in questa spiaggia libera, ci ricopriamo di crema 50+, mentre il Lungo si passa addosso il suo spray miracoloso.&#xA;&#xA;L’acqua è limpidissima, ha praticamente la temperatura del corpo umano e, siccome ormai è pomeriggio, ti ci immergi che è una meraviglia. Specialmente dopo una mattinata passata prima in autobus, dalle sette alle dieci, a sudare, e poi in giro per la città fino a quando finalmente siamo riusciti a procurarci gli scooter.&#xA;&#xA;Kudos per le spiagge di Licata.&#xA;&#xA;Usciamo dall’acqua, ci mettiamo magliette e cappelli comprati dai bangla, prendiamo qualche birra dall’ambulante del caso, mentre il Lungo comincia lentamente ad assumere una posizione difensiva.&#xA;&#xA;Io e il Corto ci mettiamo a giocare a carte sull’asciugamano e, dopo un po’, cominciamo a notare degli sguardi straniti da parte dei passanti e della gente seduta attorno.&#xA;&#xA;Il problema è che il Lungo ha la pelle TROPPO sensibile.&#xA;&#xA;E ha appena scoperto che il suo spray del cazzo può anche andare benissimo sulle spiagge olandesi o sul Baltico, ma lì il sole gioca decisamente in un altro campionato.&#xA;&#xA;Anziché chiedere le nostre creme — comprate sul posto, quindi quantomeno testate empiricamente da una popolazione che, se guardate il colore della pelle, di sole qualcosa deve capire — decide di mettere un asciugamano sotto di sé, un asciugamano sopra di sé e una maglietta sulla faccia.&#xA;&#xA;Cosa fai?&#xA;Mi sono messo al riparo. Ho visto che mi sto bruciando.&#xA;Vuoi che andiamo a casa?&#xA;No. Oggi pomeriggio avevamo detto di venire in spiaggia. Non voglio rovinarvi la vacanza.&#xA;Ok. Allora vuoi le nostre creme? Le abbiamo comprate qui. È roba che usa la gente del posto e, se guardi le pelli, di abbronzatura se ne intendono.&#xA;No, no. Quello spray è quello che uso sempre, ed è L’UNICO che io uso. Uso solo e sempre quello. Non conosco queste creme. (Sarebbe capacissimo di leggere il manuale e tutte le avvertenze delle creme solari, credetemi.&#xA;    Lo Stiftung Warentest è la sua droga.)&#xA;Ok, ma qui non funziona. Usa le creme.&#xA;No. Userò il MIO spray, che conosco bene, e mi coprirò così, usando gli asciugamani.&#xA;&#xA;A quel punto, ovviamente, il Corto — che reagisce SEMPRE al ridicolo — si alza, va da alcuni ragazzi e ragazze sotto altri ombrelloni e chiede se può prendere un cartone della pizza che hanno appena finito.&#xA;&#xA;Con un residuo di pomodoro ci scrive sopra:&#xA;&#xA;RIP&#xA;&#xA;aiutato dai ragazzi, che nel frattempo stanno ridendo.&#xA;&#xA;Poi sistema la lapide accanto al Lungo.&#xA;&#xA;Che, avvolto negli asciugamani con la maglietta sulla faccia, sembra ormai una mummia egizia lasciata a essiccare sulla spiaggia.&#xA;&#xA;La scena appare più o meno così:&#xA;&#xA;image.png&#xA;&#xA;Tutto sembra andare bene, quando improvvisamente si sente:&#xA;&#xA;“Morumamma, morumamma, morumamma, morumamma, morumamma, morumamma…”&#xA;&#xA;e via così, una quarantina di volte.&#xA;&#xA;Non so esattamente cosa sia una &#34;morumamma&#34;, ma si avvicina una signora piuttosto sferica, sulla cinquantina, abbronzatissima, costume intero con un cappello di paglia dalla tesa enorme, che ci chiede molto allarmata cosa sia successo al Lungo.&#xA;&#xA;Allora le spiego in italiano che il Lungo sta benissimo. La signora parla un mix italiano-dialetto, che capisco agevolmente, tranne alcune parole. Comunque, dico, il lungo sta bene.&#xA;&#xA;Lo evochiamo dal suo sonno sotto gli asciugamani, lui riemerge lentamente dal bozzolo e dimostra di essere ancora vivo.&#xA;&#xA;La signora, rassicurata solo fino a un certo punto, ci intima di non fare mai scherzi coi morti, perché le è preso uno “scanto”.&#xA;&#xA;Ok. Qualsiasi cosa sia. Ma capisco il punto.&#xA;&#xA;Il Corto riesce a farsi perdonare pronunciando due o tre parole in italiano, più o meno:&#xA;&#xA;— Ouhhh… mmi tispiacce, Sinn-iora..&#xA;&#xA;Ma è praticamente impossibile resistere al Corto quando fa quella faccia.&#xA;&#xA;Io, nel frattempo, spiego che con il colore della pelle del Lungo — che ora è emerso almeno parzialmente dagli asciugamani — quella protezione diventa necessaria, altrimenti finisce in ospedale.&#xA;&#xA;La signora lo guarda attentamente.&#xA;&#xA;Constata che sì, effettivamente il Lungo ha il pallore dei morti.&#xA;&#xA;Poi, però, aggiunge che un po’ di sole gli farebbe bene. E che si deve abituare al sole, deve stare in spiaggia, e cominciare almeno ad aprile, che gli viene la salute.&#xA;Io immagino il Lungo su una spiaggia del Baltico o del Mare del Nord ad Aprile, mentre muore assiderato, ma traduco spiegando che la signora era sinceramente preoccupata, e mentre per farmi perdonare insisto con la donna, che la sua pelle bianca - letteralmente - comunque non ha speranze contro il sole di Licata.&#xA;&#xA;Io traduco e basta, ma il Lungo non sembra apprezzare particolarmente il consiglio medico.&#xA;&#xA;La signora, soddisfatta di aver verificato che il cadavere respirasse ancora, finalmente se ne va. Ma ci dice che con la morte non si scherza.&#xA;&#xA;Non si sa mai che lo dimentichiamo.&#xA;&#xA;br&#xA;Arriva sera. Torniamo a casa.&#xA;&#xA;Sulla via del ritorno, il Lungo vede un supermercato.&#xA;&#xA;E vuole entrare per comprare la cena.&#xA;&#xA;Dialogo:&#xA;&#xA;Cena? Ma andremo fuori a mangiare. Non hai visto la trattoria vicino a casa?&#xA;Ma così spenderemo moltissimo.&#xA;E che cazzo sei venuto qui in ferie, per risparmiare?&#xA;(Faccio notare che il Lungo sta sui 250K euro l’anno.)&#xA;Ma non ha senso buttare via soldi, no?&#xA;Buttare via? Aspetta di aver mangiato in un ristorante italiano.&#xA;Ma li conosco i ristoranti italiani. A Düsseldorf ce ne sono tanti.&#xA;No.&#xA;Come, no?&#xA;Non ce n’è nemmeno uno. E stasera capirai.&#xA;&#xA;Insomma, andiamo da Donna Rosa, che ha principalmente un menu di pesce.&#xA;&#xA;Io parto con una pasta alla Norma (perche&#39; sono stanco e il pesce richiede concentrazione) , ma durante quella settimana abbiamo fatto metodicamente il giro: varie paste al pesce spada, pasta con le sarde alla licatese, Norma, Bella Donna, poi i secondi, il pesce, tutto quello che capitava.&#xA;&#xA;Fino a quando il Lungo non si è reso conto che, effettivamente, lui un vero ristorante italiano probabilmente non l’aveva mai visto.&#xA;&#xA;Tant’è vero che non conosce nemmeno il sorbetto.&#xA;&#xA;E allora io, ormai promosso a guida turistica, interprete e responsabile delle relazioni interculturali, gli spiego che serve anche a togliersi dalla bocca il sapore del pesce prima di passare ad altro.&#xA;&#xA;Potrei andare avanti per parecchio con gli aneddoti sulla collisione culturale tra un tedesco “etnico”, o comunque decisamente “del Nord”, come il Lungo, uno più “del Sud”, quasi di impostazione bavarese, come il Grosso, e un italiano che passa metà del tempo a fare da guida e l’altra metà a tradurre non tanto le parole, quanto il modo di vivere.&#xA;&#xA;Insomma, abbiamo preso chili.&#xA;&#xA;E risate.&#xA;&#xA;Prima di chiudere questa parte: in effetti siamo davvero amici, e non ho idea di cosa scriverebbero loro di me. A me fa molto ridere il Lungo, ma è un vero amico: uno di quelli sempre disponibili ad aiutare — previa pianificazione perfetta, naturalmente.&#xA;Se dovessi affidare a qualcuno una valigetta con dentro dieci milioni di euro e dirgli di portarla in banca, la darei a lui. E lui la porterebbe in banca.&#xA;Tutta. Perché rubare è vietato. Anche il Corto è una persona bellissima, e uno di quelli con cui puoi passare ore a dire cazzate senza che la cosa perda qualità.&#xA;Ma le dinamiche Nord-Sud in Germania sono davvero troppo divertenti per non prenderle in giro. E se io sfotto loro, probabilmente dovrei sentire cosa dicono di me.&#xA;&#xA;*&#xA;&#xA;Prima di finire, una recensione.&#xA;&#xA;Al nostro oste, Davide. Una persona incredibile, che crede di essere normale e invece si è fatto in quattro per noi molto più del normale. Per poco non si offriva di darci un secondo frigorifero. A un certo punto abbiamo dovuto limitarlo noi.&#xA;Alla cittadinanza licatese. Ospitalità incredibile. Mentre a Catania hanno cercato di impallinarci perché stranieri, a Licata non siamo riusciti a comprare nulla — nemmeno della frutta in un coloratissimo negozio all’angolo — senza che qualcuno ci regalasse qualcosa. Persino un tizio abbastanza incomprensibile che girava in Ape e ci ha venduto dell’uva con chicchi grandi come proiettili ci ha aggiunto qualche pesca. Perché sì.&#xA;Cibo licatese. Fuori scala. E lo dico io, che sono romagnolo.&#xA;Licata. Una potenzialità turistica e culturale tremenda, rovinata da una giunta comunale che andrebbe usata come preservativo per somari. Sembra quasi che intendano boicottare deliberatamente la crescita turistica della città.&#xA;Al sindaco di Licata e alla giunta comunale. Dovete morire. Male. E poi dovete finire all’inferno. Dove ogni donna deve chiamarsi Lexington Steele. Quella città merita di meglio, cazzo. E se non riuscite a provvedere almeno alla pulizia delle strade, alla manutenzione e alla rimozione dei rifiuti — che sono davvero il minimo sindacale — allora uscite dalla politica e datevi all’abigeato. Veramente: quella città merita di più.&#xA;Etna: e vaffanculo, eh. Proprio quel lunedì dovevi scoppiare?&#xA;&#xA;div align=&#34;left&#34; style=&#34;text-align: left;&#34;&#xD;&#xA;  Uriel Fanellibr&#xD;&#xA;  br&#xD;&#xA;  --br&#xD;&#xA;  Written using Blogfrei:&#xD;&#xA;  a href=&#34;https://git.keinpfusch.net/loweel/blogfrei&#34;https://git.keinpfusch.net/loweel/blogfrei/abr&#xD;&#xA;  Fedi: @uriel@bbs.keinpfusch.netbr&#xD;&#xA;  XMPP: uriel@keinpfusch.netbr&#xD;&#xA;  vecchio blog:&#xD;&#xA;  a href=&#34;https://blog.keinpfusch.net&#34;https://blog.keinpfusch.net/abr&#xD;&#xA;  email:&#xD;&#xA;  a href=&#34;mailto:blog@keinpfusch.net&#34;blog@keinpfusch.net/abr&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>Dopo una settimana e qualche severa bruciatura da sole, sono tornato in Germania, dove ho trovato pioggia e freschino. E siccome ho ancora ferie per riposarmi dalle ferie, vi faccio un post per raccontare alcuni aneddoti. Poi riparto a scrivere cose meno divertenti. Userò il metodo esagerativo dello sfottò siciliano, in onore di Licata, il posto dove ho passato la settimana lunga, e descriverò i miei amici in maniera volutamente divertente, senza fare nomi.</p>

<p><em>Prima, una doverosa premessa: la città di Licata sembra avere un problema con l’immondizia, con la pulizia delle strade e con la loro manutenzione. L’ultima volta che ci sono stato, all’inizio degli anni Duemila, non era così. Ma, per quello che ho potuto vedere, è come se il sindaco non ci provasse nemmeno. E siccome ha anche tolto i cassonetti per passare alla raccolta porta a porta, se volete essere civili e tentare di facilitare le cose, semplicemente non serve a nulla.Non avete altro posto dove lasciare i vostri rifiuti, e, non esistendo un calendario vero, prima o poi verranno raccolti. Questo, con una temperatura da forno a legna, produce una fragranza che piace moltissimo ai turisti.</em>
<em>Ma, ripeto, non lasciatevi ingannare: la gente non ha colpa. Anche noi tre abbiamo cercato di smaltirla nel modo dovuto: semplicemente, non esiste il modo dovuto.</em>
<em>Chi vi dice che è anche colpa della gente incivile appartiene all&#39;insieme dei leccapiedi del sindaco, che onestamente andrebbe impalato. Col faro che c’è al porto. Una parte fondamentale del panorama.</em></p>

<p><br>
<hr/></p>

<p><br>
Descrizione della compagnia. Ci sono io, che faro&#39; da traduttore. Poi c&#39;e&#39; “il Corto”, un tedesco che appunto non e&#39; alto, fa il preside di una scuola superiore, suona heavy metal, ha gli avambracci tatuati con motivi maori, ha l&#39;hobby delle motociclette Triumph, e accetta di venire con noi anche usando un mezzo ignobile, opportunista e codardo come un aereoplano.
Poi c&#39;e&#39; il lungo. Alto, sempre biondo, ma di mestiere e&#39; un manager per una gloriosa assicurazione, ritiene che la Polo sia l&#39;equivalente casual di quello che per me e&#39; una canottiera del Manowar con le borchie sopra. Ovviamente, shorts con le pinces, e occhiali rettangolari. Ama le regole. Adora le regole. PENSA in termini di regole. E vuole che lo sappiate. Non gi basta avere un piano,
vuole un piano perfetto. Fino nei dettagli. Nonostante io lo abbia avvisato che andremo in un posto dove i piani falliscono proprio nei dettagli. Ma lui dice che allora e&#39; un cattivo piano. Ma lui e&#39; un manager. Oh, yeah.</p>

<p>Comunque, ci siamo conosciuti in palestra, facendo Judo, e dopo un decennio di bevute, mangiate, Wacken e ippon ci consideriamo amici. Che, in Germania, è una cosa importante: non è affatto facile avere un amico qui.</p>

<p>E si parte.</p>

<p>Il piano fallisce immediatamente: prima ci si mette l’Etna, che decide di eruttare. E quindi chiudono l’aeroporto di Catania. Mentre noi siamo già in volo.</p>

<p>Morale? Dovremmo atterrare a Lamezia Terme, ma non c’è abbastanza carburante, e quindi andiamo prima a Brindisi a fare rifornimento. Si perdono tre ore buone, poi finalmente arriviamo a Lamezia. Di andare a Catania non se ne parla nemmeno, e l’aeroporto di Palermo è completamente nel panico.
Io e il Grosso, che prendiamo la vita con sarcasmo, ci mettiamo a dire cazzate e a sghignazzare per tutto il tempo. A volte anche troppo.</p>

<p>Per esempio, a un certo punto lui chiede a una signora italo-tedesca, che sta urlando al telefono, per quale motivo stia usando il telefono, visto che da Catania la sentono benissimo anche senza.
In compenso, questo aiuta l’aria condizionata di bordo a raffreddare.</p>

<p>E poi via, perché quando un aereo si ferma tutti sentono improvvisamente il bisogno di alzarsi: quelli seduti davanti devono andare in fondo, quelli seduti in fondo devono andare davanti, e quelli in mezzo hanno uno spin -1.
E si sente la voce del Grosso che dice:</p>

<blockquote><p>„Schönes Wetter zum Spazierengehen, oder?“</p></blockquote>

<p>Ovvero: “Tempo fantastico per una bella passeggiata, eh?”</p>

<p>Penso di avervi descritto il carattere del Corto. Divertentissimo, piace alle donne – ricambiato – e ha sempre la battutaccia pronta.</p>

<p>Il Lungo, invece, la prende con grazia. Discussione con me, tipo:</p>
<ul><li>Ma il vulcano a Catania non esiste da oggi, vero?</li>
<li>No, credo siano milioni di anni.</li>
<li>E quindi a Catania lo sanno che c’è un vulcano, giusto?</li>
<li>Credo sospettino qualcosa, sì.</li>
<li>E allora perché chiudono l’aeroporto per l’Etna, se sanno che potrebbe eruttare? Non e&#39; normale che erutti? Non ci sono abituati?</li>
<li>È gente strana, amico mio. È gente strana.</li>
<li>Io non lo capisco.</li>
<li>Genau.</li></ul>

<p>Credo di aver descritto la combriccola.</p>

<hr/>

<p><br>
Allora, arriviamo troppo tardi a Lamezia, quindi prendiamo un albergo per una notte. L’indomani prendiamo il treno fino a Villa San Giovanni, da lì il traghetto veloce, e poi finalmente Catania. Nessuno fa ritardo, nessuno perde coincidenze, anche se il Lungo continua a ripetere che, essendo il viaggio assicurato, riuscirà a farci risarcire tutte le spese aggiuntive.
Ok.</p>

<p>Arriviamo all’aeroporto di Catania, perché il Lungo ha prenotato online un’automobile. E naturalmente conosce a memoria ogni singola clausola del contratto firmato online.</p>

<p>Peccato che fosse una truffa.</p>

<p>Nel senso che quello, a detta del losco individuo che troviamo lì, era soltanto un <strong>“broccheRRR”</strong>, e quindi:</p>

<blockquote><p>“Adesso il contratto nuovo lo fate con <strong>ME</strong>.”</p></blockquote>

<p>Accento sul <strong>ME</strong>. Lo pronuncia come se fosse “ammia” nel Padrino.</p>

<p>Io capisco immediatamente l’antifona. Guardo davanti al posto dove dovrebbe esserci il “broccheRRR” e vedo una discreta fila di gente incazzata. A quel punto il quadro generale mi sembra abbastanza chiaro.</p>

<p>E, naturalmente, il tipo cerca di fregarci tirando fuori clausole assicurative improbabili, condizioni assurde e altre amenità che sembrano inventate sul momento.</p>

<p>Ma commette un errore.</p>

<p>Lo dice al Lungo, pensando che essendo tedesco sia facile fregarlo. Non lo conosce. E&#39; un tedesco, ma del nord. Una cosiddetta fischkopf, una testa di pesce, come li chiamano. Non cambia opinione dal 700 Avanti Cristo.</p>

<p>Il risultato è una discussione forbita di mezz’ora, durante la quale il Lungo cerca pazientemente di dimostrare al tipo — che era chiaramente un ciarlatano — che stava dicendo delle stronzate.</p>

<p>Punto per punto.</p>

<p>Clausola per clausola.</p>

<p>Con metodo.</p>

<p>Il problema è che non c’era verso di portarlo via da lì. Il Lungo aveva ormai trasformato il noleggio auto in una questione di principio, e probabilmente sarebbe ancora lì a discutere di condizioni contrattuali se, a un certo punto, non lo avessimo praticamente trascinato fuori.</p>

<p>Insomma, cosi&#39; (nella maglietta c&#39;e&#39; scritto ICH HABE RECHT, io ho ragione. Ma aveva una polo.).</p>

<p><img src="/images/3b488ca447b903ef50bfda8689d21cf4.png" alt="image.png"></p>

<p><br>
Comunque, usciamo fuori e, mentre cerchiamo di pianificare una strategia — come dice il Lungo — passa un autobus.</p>

<p>In alto c’è scritto:</p>

<p><strong>LICATA</strong></p>

<p>Sorpresa: non c’è affatto bisogno di un’auto.</p>

<p>Con 9,80 euro a cranio si parte e si arriva direttamente a Licata.</p>

<p>Fine della necessità strategica.</p>

<p>Il Lungo dice qualcosa del tipo che non poteva certo prevedere che in Sicilia ci fossero degli autobus.</p>

<p>È ovvio.</p>

<p>Come sarebbe a dire, il motore a scoppio?</p>

<hr/>

<p><br>
Ovviamente lo prendiamo, e io e il Corto prenderemo per il culo l’organizzazione perfetta del Lungo per circa due ore.</p>

<p>Ma due ore con l’aria condizionata.</p>

<p>E credetemi: da quelle parti serviva. Ma non “era meglio averla”. Serviva tipo DEVS LO VULT.</p>

<p>Insomma, il tipo che ci affitta l’appartamento viene preso da pietà e ci viene a prendere all’autostazione di Licata, e noi finalmente raggiungiamo il posto. La macchina è molto piccola, ma esiste una ragione.</p>

<p>Si tratta di un quartiere antichissimo, estremamente pittoresco, con strade larghe mediamente due metri, due metri e mezzo, e curve ad angolo assurdamente strette. Si trova giusto un paio di traverse prima di Via Palma, diciamo vicino al municipio.</p>

<p>Se siete di Licata avete già capito dove. Altrimenti dovete immaginare un quartiere medievale siciliano fatto di strade strettissime, case addossate l’una all’altra e svolte nelle quali una macchina normale sembra improvvisamente una petroliera.</p>

<p>Ne esiste un altro simile, detto la Marina, che dà sul porto.</p>

<p>Io e il Corto siamo lì a fare fotografie, perché il posto è veramente bello. Il Lungo, visto il posto, chiede dove affittare un’auto.</p>

<p>Io e il Corto, invece, decidiamo di cambiare il piano.</p>

<p>Molto meglio degli scooter.</p>

<p>Così chiediamo al nostro oste, gentilissimo, dove si possano affittare degli scooter, e lui ci porta in un posto dove si affittano gommoni per i tour turistici, ma anche scooter.</p>

<p>Il Corto, ovviamente, non ha la sua Triumph, ma sono sempre due ruote. A me va benone il 125 cc.</p>

<p>Il Lungo, però, ci ricorda che:</p>
<ul><li>Ma non basta la patente B per guidare un 125. Occorre anche uno <em>Schlüsselzahl 196</em>, cioè quella roba che esiste in Germania e permette di guidare un 125 con la patente B dopo la formazione prevista.</li>
<li>Non siamo in Germania, casomai ti fosse sfuggito. E levati quei calzini: siamo vicini alla temperatura di fusione dello zinco.</li>
<li>Ma le assicurazioni come fanno ad assicurarti? Magari poi non ci pagano se abbiamo un incidente.</li>
<li>Non lo so come fanno. Ma qui si fa così, <strong>QUINDI</strong> si fa così. Secondo te cosa dovremmo fare?</li>
<li>Andare in auto. Il piano era di avere un’auto.</li></ul>

<p>Risponde il Corto:</p>

<p>— E sticazzi del piano. (<strong>Scheiß auf die Planung.)</strong></p>

<p>Insomma, io affitto un 125 cc, come il Lungo, mentre il Corto, che ha la patente per le moto, si prende un 250 cc.</p>

<p>Ma ormai siamo usciti dalla pianificazione.</p>

<p>E quindi il Lungo, da questo momento in poi, si aspetta delle catastrofi.</p>

<p>Che non avverranno.</p>

<p>Almeno una volta capito come si guida a Licata.</p>

<p>Diciamo che, come dice il corto, loro non violano le regole del codice. Le migliorano, ecco tutto.</p>

<hr/>

<p><br>
A quel punto torniamo al nostro appartamento. Il tipo, gentilissimo, ci mostra il garage dove possiamo mettere gli scooter.</p>

<p>Non per i ladri.</p>

<p>Per evitare che fondano nell’asfalto.</p>

<p>La temperatura è attorno ai 49 gradi.</p>

<p>Convinto finalmente il Corto a togliersi i calzini, andiamo a un chiosco che avevamo visto a un incrocio, con anche qualche tavolino. Vende granite.</p>

<p>Io so bene che la granita al limone non contiene latte, e il Lungo è allergico al latte di mucca. Ma non so bene cosa contenga la famosa <strong>brioscia col tuppo</strong>.</p>

<p>Così lo dico alla signora del chiosco, che per tutta risposta ci mostra il garage dietro al chiosco, dove fanno letteralmente le briosce.</p>

<p>Niente latte.</p>

<p>E così la brioscia con la granita diventa la nostra colazione.</p>

<p>Peccato che nel piano ci fosse scritto di andare in qualche pasticceria, comprare qualcosa per colazione e mangiarlo a casa.</p>

<p><strong>Scheiß auf die Planung.</strong></p>

<p>Siccome però il piano esiste ancora, almeno formalmente, e dopotutto vale la pena assaggiare il cibo locale, andiamo ANCHE in una pasticceria a chiedere se abbiano cannoli fatti con ricotta di sola pecora.</p>

<p>La signora non parla inglese, ma chiama la figlia.</p>

<p>Io sto zitto, sfruttando quello che ormai chiamo il <strong>gradiente di ospitalità</strong>: a Licata, più siete stranieri, più la popolazione si fa in quattro per voi.</p>

<p>No, sul serio: va provato.</p>

<p>Se non lo provate, non sapete davvero cosa sia l’ospitalità.</p>

<p>Kudos ai licatesi.</p>

<p>La signora, intanto, ci guarda con un’espressione che tradotta dal siciliano universale significa più o meno:</p>

<p>“Voi malvagi settentrionali del demonio state forse insinuando che io metta dell’orrido latte di mucca nella ricotta dei <strong>MIEI</strong> cannoli? È questo che state insinuando? Eh? Eh? Volete litigare?”</p>

<p>A quel punto intervengo io e spiego, in italiano con accento chiaramente non locale, che il Lungo sta veramente male se mangia latte di mucca e quindi, semplicemente, ha paura.</p>

<p>Detto fatto.</p>

<p>La signora sparisce nel laboratorio e ricompare sulla porta con un cucchiaino da assaggio da consegnare al Lungo.</p>

<p>Il Lungo assaggia.</p>

<p>Aspetta due minuti.</p>

<p>E infine conclude che sì: chiaramente non c’è latte di mucca.</p>

<p>Nel frattempo il Corto era entrato nel negozio e aveva già fatto amicizia con la figlia.</p>

<p>La scena che troviamo, quindi, è praticamente questa:</p>

<p><img src="/images/50442431586c283db8d2cca7af653a7e.png" alt="image.png"></p>

<p>No, non c&#39;era la mitragliatrice e nemmeno l&#39;elmetto. Ma il Corto stava comprando cibo. TANTO Cibo. E riesce a legare benissimo con le donne. Anche a Licata, pare.</p>

<p>Nel senso che nel frattempo Il Corto si e&#39; <strong><em>procurato uno sconto-simpatia</em></strong> e ha comprato cosi&#39; tanti dolci, da mastazzoli (Für Deutsche: Gebäck, das nach Glühwein verlangt!!!! WOW!!!) a tutto quello che c&#39;era con le mandorle, che abbiamo riempito due ripiani del frigo.
Per merenda. La colazione era presa dal chiosco delle granite.</p>

<p><strong>Scheiß auf die Diät.</strong></p>

<hr/>

<p><br>
Così decidiamo che è arrivato il momento di andare in spiaggia.</p>

<p>Chiediamo indicazioni a un passante, subito dopo un ponte, e ci spiega come arrivare alla Playa.</p>

<p>Ok. Come inizio può andare.</p>

<p>Ma prima occorre un negozio per attrezzarsi. Troviamo un “bangla” e compriamo un ombrellone da lasciare lì, mentre il Lungo compra un secondo asciugamano e noi da Sidis per creme protettive 50+.</p>

<p>Precisiamo.</p>

<p>Il Lungo, nel bagaglio in stiva, ha messo <strong>LA SUA</strong> crema. Quella che funziona. <strong>L’UNICA</strong> che funziona sulla sua pelle.</p>

<p>Effettivamente, gente così bianca l’avevo vista solo in Irlanda. Quindi, in effetti, ci sta.</p>

<p>Arriviamo in questa spiaggia libera, ci ricopriamo di crema 50+, mentre il Lungo si passa addosso il suo spray miracoloso.</p>

<p>L’acqua è limpidissima, ha praticamente la temperatura del corpo umano e, siccome ormai è pomeriggio, ti ci immergi che è una meraviglia. Specialmente dopo una mattinata passata prima in autobus, dalle sette alle dieci, a sudare, e poi in giro per la città fino a quando finalmente siamo riusciti a procurarci gli scooter.</p>

<p>Kudos per le spiagge di Licata.</p>

<p>Usciamo dall’acqua, ci mettiamo magliette e cappelli comprati dai bangla, prendiamo qualche birra dall’ambulante del caso, mentre il Lungo comincia lentamente ad assumere una posizione difensiva.</p>

<p>Io e il Corto ci mettiamo a giocare a carte sull’asciugamano e, dopo un po’, cominciamo a notare degli sguardi straniti da parte dei passanti e della gente seduta attorno.</p>

<p>Il problema è che il Lungo ha la pelle <strong>TROPPO</strong> sensibile.</p>

<p>E ha appena scoperto che il suo spray del cazzo può anche andare benissimo sulle spiagge olandesi o sul Baltico, ma lì il sole gioca decisamente in un altro campionato.</p>

<p>Anziché chiedere le nostre creme — comprate sul posto, quindi quantomeno testate empiricamente da una popolazione che, se guardate il colore della pelle, di sole qualcosa deve capire — decide di mettere un asciugamano sotto di sé, un asciugamano sopra di sé e una maglietta sulla faccia.</p>
<ul><li>Cosa fai?</li>
<li>Mi sono messo al riparo. Ho visto che mi sto bruciando.</li>
<li>Vuoi che andiamo a casa?</li>
<li>No. Oggi pomeriggio avevamo detto di venire in spiaggia. Non voglio rovinarvi la vacanza.</li>
<li>Ok. Allora vuoi le nostre creme? Le abbiamo comprate qui. È roba che usa la gente del posto e, se guardi le pelli, di abbronzatura se ne intendono.</li>
<li>No, no. Quello spray è quello che uso sempre, ed è <strong>L’UNICO</strong> che io uso. Uso solo e sempre quello. Non conosco queste creme. (Sarebbe capacissimo di leggere il manuale e tutte le avvertenze delle creme solari, credetemi.
Lo Stiftung Warentest è la sua droga.)</li>
<li>Ok, ma qui non funziona. Usa le creme.</li>
<li>No. Userò il <strong>MIO</strong> spray, che conosco bene, e mi coprirò così, usando gli asciugamani.</li></ul>

<p>A quel punto, ovviamente, il Corto — che reagisce <strong>SEMPRE</strong> al ridicolo — si alza, va da alcuni ragazzi e ragazze sotto altri ombrelloni e chiede se può prendere un cartone della pizza che hanno appena finito.</p>

<p>Con un residuo di pomodoro ci scrive sopra:</p>

<p><strong>RIP</strong></p>

<p>aiutato dai ragazzi, che nel frattempo stanno ridendo.</p>

<p>Poi sistema la lapide accanto al Lungo.</p>

<p>Che, avvolto negli asciugamani con la maglietta sulla faccia, sembra ormai una mummia egizia lasciata a essiccare sulla spiaggia.</p>

<p>La scena appare più o meno così:</p>

<p><img src="/images/5f834d2fbe42a3e32cb98cea9de5119f.png" alt="image.png"></p>

<p>Tutto sembra andare bene, quando improvvisamente si sente:</p>

<p><strong>“Morumamma, morumamma, morumamma, morumamma, morumamma, morumamma…”</strong></p>

<p>e via così, una quarantina di volte.</p>

<p>Non so esattamente cosa sia una “morumamma”, ma si avvicina una signora piuttosto sferica, sulla cinquantina, abbronzatissima, costume intero con un cappello di paglia dalla tesa enorme, che ci chiede molto allarmata cosa sia successo al Lungo.</p>

<p>Allora le spiego in italiano che il Lungo sta benissimo. La signora parla un mix italiano-dialetto, che capisco agevolmente, tranne alcune parole. Comunque, dico, il lungo sta bene.</p>

<p>Lo evochiamo dal suo sonno sotto gli asciugamani, lui riemerge lentamente dal bozzolo e dimostra di essere ancora vivo.</p>

<p>La signora, rassicurata solo fino a un certo punto, ci intima di non fare mai scherzi coi morti, perché le è preso uno <strong>“scanto”</strong>.</p>

<p>Ok. Qualsiasi cosa sia. Ma capisco il punto.</p>

<p>Il Corto riesce a farsi perdonare pronunciando due o tre parole in italiano, più o meno:</p>

<p>— Ouhhh… mmi tispiacce, Sinn-iora..</p>

<p>Ma è praticamente impossibile resistere al Corto quando fa quella faccia.</p>

<p>Io, nel frattempo, spiego che con il colore della pelle del Lungo — che ora è emerso almeno parzialmente dagli asciugamani — quella protezione diventa necessaria, altrimenti finisce in ospedale.</p>

<p>La signora lo guarda attentamente.</p>

<p>Constata che sì, effettivamente il Lungo ha il pallore dei morti.</p>

<p>Poi, però, aggiunge che un po’ di sole gli farebbe bene. E che si deve abituare al sole, deve stare in spiaggia, e cominciare almeno ad aprile, che gli viene la salute.
Io immagino il Lungo su una spiaggia del Baltico o del Mare del Nord ad Aprile, mentre muore assiderato, ma traduco spiegando che la signora era sinceramente preoccupata, e mentre per farmi perdonare insisto con la donna, che la sua pelle bianca – letteralmente – comunque non ha speranze contro il sole di Licata.</p>

<p>Io traduco e basta, ma il Lungo non sembra apprezzare particolarmente il consiglio medico.</p>

<p>La signora, soddisfatta di aver verificato che il cadavere respirasse ancora, finalmente se ne va. Ma ci dice che con la morte non si scherza.</p>

<p>Non si sa mai che lo dimentichiamo.</p>

<hr/>

<p><br>
Arriva sera. Torniamo a casa.</p>

<p>Sulla via del ritorno, il Lungo vede un supermercato.</p>

<p>E vuole entrare per comprare la cena.</p>

<p>Dialogo:</p>
<ul><li>Cena? Ma andremo fuori a mangiare. Non hai visto la trattoria vicino a casa?</li>
<li>Ma così spenderemo moltissimo.</li>
<li>E che cazzo sei venuto qui in ferie, per risparmiare?</li>
<li>(Faccio notare che il Lungo sta sui 250K euro l’anno.)</li>
<li>Ma non ha senso buttare via soldi, no?</li>
<li>Buttare via? Aspetta di aver mangiato in un ristorante italiano.</li>
<li>Ma li conosco i ristoranti italiani. A Düsseldorf ce ne sono tanti.</li>
<li>No.</li>
<li>Come, no?</li>
<li>Non ce n’è nemmeno uno. E stasera capirai.</li></ul>

<p>Insomma, andiamo da Donna Rosa, che ha principalmente un menu di pesce.</p>

<p>Io parto con una pasta alla Norma (perche&#39; sono stanco e il pesce richiede concentrazione) , ma durante quella settimana abbiamo fatto metodicamente il giro: varie paste al pesce spada, pasta con le sarde alla licatese, Norma, Bella Donna, poi i secondi, il pesce, tutto quello che capitava.</p>

<p>Fino a quando il Lungo non si è reso conto che, effettivamente, lui un vero ristorante italiano probabilmente non l’aveva mai visto.</p>

<p>Tant’è vero che non conosce nemmeno il sorbetto.</p>

<p>E allora io, ormai promosso a guida turistica, interprete e responsabile delle relazioni interculturali, gli spiego che serve anche a togliersi dalla bocca il sapore del pesce prima di passare ad altro.</p>

<p>Potrei andare avanti per parecchio con gli aneddoti sulla collisione culturale tra un tedesco “etnico”, o comunque decisamente “del Nord”, come il Lungo, uno più “del Sud”, quasi di impostazione bavarese, come il Grosso, e un italiano che passa metà del tempo a fare da guida e l’altra metà a tradurre non tanto le parole, quanto il modo di vivere.</p>

<p>Insomma, abbiamo preso chili.</p>

<p>E risate.</p>

<p>Prima di chiudere questa parte: in effetti siamo davvero amici, e non ho idea di cosa scriverebbero loro di me. A me fa molto ridere il Lungo, ma è un vero amico: uno di quelli sempre disponibili ad aiutare — previa pianificazione perfetta, naturalmente.
Se dovessi affidare a qualcuno una valigetta con dentro dieci milioni di euro e dirgli di portarla in banca, la darei a lui. E lui la porterebbe in banca.
Tutta. Perché rubare è vietato. Anche il Corto è una persona bellissima, e uno di quelli con cui puoi passare ore a dire cazzate senza che la cosa perda qualità.
Ma le dinamiche Nord-Sud in Germania sono davvero troppo divertenti per non prenderle in giro. E se io sfotto loro, probabilmente dovrei sentire cosa dicono di me.</p>

<hr/>

<p>Prima di finire, una recensione.</p>
<ol><li><strong>Al nostro oste, Davide.</strong> Una persona incredibile, che crede di essere normale e invece si è fatto in quattro per noi molto più del normale. Per poco non si offriva di darci un secondo frigorifero. A un certo punto abbiamo dovuto limitarlo noi.</li>
<li><strong>Alla cittadinanza licatese.</strong> Ospitalità incredibile. Mentre a Catania hanno cercato di impallinarci perché stranieri, a Licata non siamo riusciti a comprare nulla — nemmeno della frutta in un coloratissimo negozio all’angolo — senza che qualcuno ci regalasse qualcosa. Persino un tizio abbastanza incomprensibile che girava in Ape e ci ha venduto dell’uva con chicchi grandi come proiettili ci ha aggiunto qualche pesca. Perché sì.</li>
<li><strong>Cibo licatese.</strong> Fuori scala. E lo dico io, che sono romagnolo.</li>
<li><strong>Licata.</strong> Una potenzialità turistica e culturale tremenda, rovinata da una giunta comunale che andrebbe usata come preservativo per somari. Sembra quasi che intendano boicottare deliberatamente la crescita turistica della città.</li>
<li><strong>Al sindaco di Licata e alla giunta comunale.</strong> Dovete morire. Male. E poi dovete finire all’inferno. Dove ogni donna deve chiamarsi Lexington Steele. Quella città merita di meglio, cazzo. E se non riuscite a provvedere almeno alla pulizia delle strade, alla manutenzione e alla rimozione dei rifiuti — che sono davvero il minimo sindacale — allora uscite dalla politica e datevi all’abigeato. Veramente: quella città merita di più.</li>
<li><strong>Etna:</strong> e vaffanculo, eh. Proprio quel lunedì dovevi scoppiare?</li></ol>

<div style="text-align: left;">
  Uriel Fanelli<br>
  <br>
  --<br>
  Written using Blogfrei:
  <a href="https://git.keinpfusch.net/loweel/blogfrei">https://git.keinpfusch.net/loweel/blogfrei</a><br>
  Fedi: <a href="https://keinpfusch.net/@/uriel@bbs.keinpfusch.net" class="u-url mention">@<span>uriel@bbs.keinpfusch.net</span></a><br>
  XMPP: uriel@keinpfusch.net<br>
  vecchio blog:
  <a href="https://blog.keinpfusch.net">https://blog.keinpfusch.net</a><br>
  email:
  <a href="mailto:blog@keinpfusch.net">blog@keinpfusch.net</a><br>
</div>
]]></content:encoded>
      <guid>https://keinpfusch.net/e-rieccomi</guid>
      <pubDate>Mon, 17 Aug 2026 19:27:33 +0000</pubDate>
    </item>
  </channel>
</rss>