<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>La cantina dell&#39;appartamento al terzo piano (senza ascensore)</title>
    <link>https://log.livellosegreto.it/edmael/</link>
    <description>Edoardo Maria Elidoro di giorno • Ed di notte</description>
    <pubDate>Sun, 03 May 2026 11:18:29 +0000</pubDate>
    <item>
      <title>Addio Spotify: come mi sono costruito una libreria musicale in casa</title>
      <link>https://log.livellosegreto.it/edmael/addio-spotify-come-mi-sono-costruito-una-libreria-musicale-in-casa</link>
      <description>&lt;![CDATA[Spotify è incredibilmente comodo: tra i vari servizi di streaming musicali provati è probabilmente quello che più si avvicina a ciò di cui ho bisogno (e lo dice una persona che al tempo pagava Google Music per riempirsi le orecchie di canzoni). Nel tempo però sono diventato sempre più allergico a diversi aspetti legati a questo servizio:&#xA;&#xA;Il CEO (Daniel Ek) investe da anni in strumenti bellici - https://inthesetimes.com/article/spotify-military-industrial-complex-daniel-ek-prima-materia-helsing&#xA;&#xA;L3 musicist3 vengono pagat3 uno sputo (e praticamente senza diritti, specialmente se non sei famos3)&#xA;&#xA;Nonostante gli aumenti di prezzo (l&#39;ultimo annunciato pochi giorni fa) e le azioni che continuano a crescere i Layoff (licenziamenti) la fanno ancora da padrone&#xA;&#xA;img src=&#34;https://user.fm/files/v2-352691fbf043b6411dea2afd695d0c40/spotifypayout.png&#34;&#xA;img src=&#34;https://user.fm/files/v2-6e0ec6af4ce994003e50a7892e7b2e9f/spotifylayoff.png&#34;&#xA;&#xA;L&#39;alternativa che fa al caso mio? Navidrome.&#xA;Un software Open Source con supporto alle Subsonic API (permettendo l&#39;utilizzo da diversi client, tra le altre cose).&#xA;&#xA;Vediamo come tirarlo in piedi in cinque minuti e come iniziare a caricare la nostra musica lì sopra.&#xA;Sì, anche quella che abbiamo su Spotify.&#xA;Sì, anche le Playlist invece delle canzoni singole.&#xA;&#xA;!--more--&#xA;&#xA;Installare (e gestire) Navidrome&#xA;&#xA;Per una volta ho voluto mettere da parte la mia voglia di smanettamento cercando di comprendere se per una persona &#34;non troppo nerd&#34; sia possibile abbracciare questa soluzione.&#xA;Fortunatamente le meravigliose creature di PikaPods ci vengono incontro e in dieci minuti possiamo tirare in piedi un&#39;istanza Navidrome senza alcuna rogna (o necessità di gestire le cose in prima persona).&#xA;&#xA;I passaggi di base sono davvero banali:&#xA;&#xA;mi registro (e ho anche cinque dollari di credito gratuito) qui&#xA;&#xA;scelgo il pod Navidrome e imposto le seguenti risorse (2CPU, 2GB di RAM, 50GB di storage):&#xA;img src=&#34;https://user.fm/files/v2-94e7d79649a4027ab9af139993414100/navidromepod.png&#34;&#xA;&#xA;se voglio posso configurare le variabili (tab &#34;ENV VARS&#34;) per prendere da LastFM e Spotify artwork e informazioni su canzoni, album e artist3 - qui la guida passo passo&#xA;&#xA;segnatevi il dominio (DOMAIN) e modificatelo a piacere: sarà l&#39;indirizzo con cui accederemo a Navidrome&#xA;&#xA;E... fatto.&#xA;No, non sto scherzando: è già finito.&#xA;Andando al dominio che vi siete segnati nell&#39;ultimo punto vedrete la vostra installazione di Navidrome: create username e password e avete il vostro Spotify fatto in casa come le cose buone delle nonne 🔥&#xA;Niente altro da configurare (se non eventuali altre utenze) e niente da mantenere (ci pensa PikaPods).&#xA;&#xA;Volendo (ma non è minimamente necessario) è possibile configurare le variabili per personalizzare la vostra istanza, trovate tutto qui.&#xA;Siamo a post-- ah, già, manca ancora la musica!&#xA;&#xA;Caricare la propria musica&#xA;&#xA;A questo punto ci troviamo davanti a due situazioni: chi si è già fatto un backup della propria musica in .mp3 (chessò, &#34;rippando&#34; - mamma mia che termine arcaico - i propri CD) e chi invece ad esempio ha della musica in vinile e non ha possibilità di estrarla per caricare il tutto nella libreria personale.&#xA;Partiamo dal primo caso, il secondo è un filo meno legale (ma ve lo mostro comunque).&#xA;&#xA;Per caricare i nostri .mp3 su Navidrome dobbiamo prima di tutto procurarci un client FTP e configurarlo.&#xA;Niente panico: è semplicemente un programmino per trasferire i dati dal nostro PC al nostro server, vediamo come fare.&#xA;A me piace particolarmente Cyberduck, disponibile sia in versione gratuita che a pagamento (a noi basta quella gratuita scaricabile da qui: https://cyberduck.io/download/) quindi userò quello come esempio su come procedere.&#xA;&#xA;scarichiamo il programma e installiamolo&#xA;&#xA;mentre il programma si sta installando torniamo su PikaPods e segnamoci le impostazioni di connessione: si trovano sotto Pod Settings (la rotellina)   File:&#xA;img src=&#34;https://user.fm/files/v2-e18a867ec9db52279f9fb42b9613f0df/navidromeftp.png&#34;&#xA;&#xA;apriamo Cyberduck e clicchiamo su &#34;Nuova connessione&#34;&#xA;&#xA;dal menù a tendina scegliamo SFTP (e magicamente la porta cambierà da 21 a 22) e inseriamo i parametri per la connessione&#xA;&#xA;clicchiamo su &#34;Connessione&#34; e confermiamo nel popup che appare&#xA;&#xA;a questo punto vedremo due cartelle: data e music. Apriamo music con un doppio click e trasciniamo lì dentro la nostra musica (meglio se già organizzata in artisti e album).&#xA;&#xA;Fatto! Diamo a Navidrome un attimo per indicizzare tutta la musica e in pochi minuti ci troveremo le canzoni nella nostra libreria.&#xA;Ah, giusto, già che ci siamo: si può usare Navidrome dall&#39;interfaccia web oppure utilizzare una delle tante applicazioni che supportano le Subsonic API.&#xA;Qui una lista: https://www.navidrome.org/docs/overview/#apps&#xA;&#xA;Spotify casalingo: fatto ✔️&#xA;&#xA;Recuperare la propria musica&#xA;&#xA;Okay, ora arriviamo al punto più delicato della questione.&#xA;Può capitare che non abbiate modo di trasformare in .mp3 la vostra musica o i brani che avete già comprato.&#xA;Eviterò di farvi la predica sul fatto di acquistare la musica che ascoltate per supportare chi l&#39;ha creata: davvero, è importante e nulla di quanto segue andrebbe eseguito se non si possiedono già i brani in altri formati (e lo dico da persona che crede che le leggi relative al diritto d&#39;autore andrebbe riviste, aggiornate e corrette).&#xA;&#xA;Ma basta premesse, al volo.&#xA;&#xA;scaricatevi OnTheSpot (mi raccomando la versione _ffm)&#xA;&#xA;avviate il programma (non va installato) e andate nella tab &#34;Configuration&#34;&#xA;&#xA;inserite nome utente e password di Spotify (anche un account gratuito) e cliccate su &#34;Add account&#34; (in fondo alla pagina)&#xA;&#xA;non cambiate altro se non il percorso dove viene scaricata la musica&#xA;&#xA;nella tab &#34;OnTheSpot Search&#34; è ora possibile inserire il nome di una canzone, di un artista, l&#39;URL di una Playlist (o qualunque URL di Spotify) per permettervi di scaricare il brano scelto (o la serie di brani dentro la Playlist, ad esempio)&#xA;&#xA;A posto: potete vedere i progressi nella tab &#34;Progress&#34;, ma davvero non c&#39;è molto altro da fare con questa applicazione.&#xA;Godetevi gli .mp3 delle canzoni che possedete già e caricate poi il tutto su Navidrome.&#xA;&#xA;Considerazioni finali&#xA;&#xA;Sto usando Navidrome da una settimana circa e le uniche cose che ho trovato fastidiose sono state:&#xA;&#xA;ricostruirmi le playlist (perché Spotify è stronzo e non te le fa esportare se non con tool esterni)&#xA;SOLUZIONE: nessuna, se non che sto sfruttando questa cosa a mio vantaggio per rivedere un po&#39; le playlist (con molta soddisfazione vi dirò)&#xA;&#xA;il buffering delle canzoni nella riproduzione casuale in contesti con poca rete internet&#xA;SOLUZIONE 1: nell&#39;applicazione che uso c&#39;è la possibilità di far pre-caricare le successive canzoni di una playlist, spettacolo&#xA;SOLUZIONE 2: è possibile scaricare un&#39;intera playlist per l&#39;uso offline, se so che avrò poca rete scarico e sono a bolla &#xA;&#xA;Se avete intenzione di provarvi a lanciare in cose simili e trovate difficoltà (o avete suggerimenti da darmi) mi trovate come al solito sul Fediverso: @ed@livellosegreto.it &#xA;&#xA;🕸️🕸️🕸️]]&gt;</description>
      <content:encoded><![CDATA[<p>Spotify è incredibilmente comodo: tra i vari servizi di streaming musicali provati è probabilmente quello che più si avvicina a ciò di cui ho bisogno (e lo dice una persona che al tempo pagava Google Music per riempirsi le orecchie di canzoni). Nel tempo però sono diventato sempre più allergico a diversi aspetti legati a questo servizio:</p>
<ul><li><p>Il CEO (Daniel Ek) investe da anni in strumenti bellici – <a href="https://inthesetimes.com/article/spotify-military-industrial-complex-daniel-ek-prima-materia-helsing" rel="nofollow">https://inthesetimes.com/article/spotify-military-industrial-complex-daniel-ek-prima-materia-helsing</a></p></li>

<li><p>L3 musicist3 vengono pagat3 uno sputo (e praticamente senza diritti, specialmente se non sei famos3)</p></li>

<li><p>Nonostante gli aumenti di prezzo (l&#39;ultimo annunciato pochi giorni fa) e le azioni che continuano a crescere i Layoff (licenziamenti) la fanno ancora da padrone</p></li></ul>

<p><img src="https://user.fm/files/v2-352691fbf043b6411dea2afd695d0c40/spotify_payout.png">
<img src="https://user.fm/files/v2-6e0ec6af4ce994003e50a7892e7b2e9f/spotify_layoff.png"></p>

<p>L&#39;alternativa che fa al caso mio? Navidrome.
Un software Open Source con supporto alle Subsonic API (permettendo l&#39;utilizzo da diversi client, tra le altre cose).</p>

<p>Vediamo come tirarlo in piedi in cinque minuti e come iniziare a caricare la nostra musica lì sopra.
Sì, anche quella che abbiamo su Spotify.
Sì, anche le Playlist invece delle canzoni singole.</p>



<h2 id="installare-e-gestire-navidrome">Installare (e gestire) Navidrome</h2>

<p>Per una volta ho voluto mettere da parte la mia voglia di smanettamento cercando di comprendere se per una persona “non troppo nerd” sia possibile abbracciare questa soluzione.
Fortunatamente le meravigliose creature di <a href="https://www.pikapods.com/" rel="nofollow">PikaPods</a> ci vengono incontro e in dieci minuti possiamo tirare in piedi un&#39;istanza Navidrome senza alcuna rogna (o necessità di gestire le cose in prima persona).</p>

<p>I passaggi di base sono davvero banali:</p>
<ul><li><p>mi registro (e ho anche cinque dollari di credito gratuito) <a href="https://www.pikapods.com/register" rel="nofollow">qui</a></p></li>

<li><p>scelgo il pod Navidrome e imposto le seguenti risorse (2CPU, 2GB di RAM, 50GB di storage):
<img src="https://user.fm/files/v2-94e7d79649a4027ab9af139993414100/navidrome_pod.png"></p></li>

<li><p>se voglio posso configurare le variabili (tab “ENV VARS”) per prendere da LastFM e Spotify artwork e informazioni su canzoni, album e artist3 – <a href="https://www.navidrome.org/docs/usage/external-integrations/" rel="nofollow">qui la guida passo passo</a></p></li>

<li><p>segnatevi il dominio (DOMAIN) e modificatelo a piacere: sarà l&#39;indirizzo con cui accederemo a Navidrome</p></li></ul>

<p>E... fatto.
No, non sto scherzando: è già finito.
Andando al dominio che vi siete segnati nell&#39;ultimo punto vedrete la vostra installazione di Navidrome: create username e password e avete il vostro Spotify fatto in casa come le cose buone delle nonne 🔥
Niente altro da configurare (se non eventuali altre utenze) e niente da mantenere (ci pensa PikaPods).</p>

<p>Volendo (ma non è minimamente necessario) è possibile configurare le variabili per personalizzare la vostra istanza, trovate tutto <a href="https://www.navidrome.org/docs/usage/configuration-options/" rel="nofollow">qui</a>.
Siamo a post— ah, già, manca ancora la musica!</p>

<h2 id="caricare-la-propria-musica">Caricare la propria musica</h2>

<p>A questo punto ci troviamo davanti a due situazioni: chi si è già fatto un backup della propria musica in .mp3 (chessò, “rippando” – mamma mia che termine arcaico – i propri CD) e chi invece ad esempio ha della musica in vinile e non ha possibilità di estrarla per caricare il tutto nella libreria personale.
Partiamo dal primo caso, il secondo è <em>un filo meno legale</em> (ma ve lo mostro comunque).</p>

<p>Per caricare i nostri .mp3 su Navidrome dobbiamo prima di tutto procurarci un client FTP e configurarlo.
Niente panico: è semplicemente un programmino per trasferire i dati dal nostro PC al nostro server, vediamo come fare.
A me piace particolarmente <a href="https://cyberduck.io/" rel="nofollow">Cyberduck</a>, disponibile sia in versione gratuita che a pagamento (a noi basta quella gratuita scaricabile da qui: <a href="https://cyberduck.io/download/" rel="nofollow">https://cyberduck.io/download/</a>) quindi userò quello come esempio su come procedere.</p>
<ul><li><p>scarichiamo il programma e installiamolo</p></li>

<li><p>mentre il programma si sta installando torniamo su PikaPods e segnamoci le impostazioni di connessione: si trovano sotto Pod Settings (la rotellina) &gt; File:
<img src="https://user.fm/files/v2-e18a867ec9db52279f9fb42b9613f0df/navidrome_ftp.png"></p></li>

<li><p>apriamo Cyberduck e clicchiamo su “Nuova connessione”</p></li>

<li><p>dal menù a tendina scegliamo SFTP (e magicamente la porta cambierà da 21 a 22) e inseriamo i parametri per la connessione</p></li>

<li><p>clicchiamo su “Connessione” e confermiamo nel popup che appare</p></li>

<li><p>a questo punto vedremo due cartelle: <em>data</em> e <em>music</em>. Apriamo <em>music</em> con un doppio click e trasciniamo lì dentro la nostra musica (meglio se già organizzata in artisti e album).</p></li></ul>

<p>Fatto! Diamo a Navidrome un attimo per indicizzare tutta la musica e in pochi minuti ci troveremo le canzoni nella nostra libreria.
Ah, giusto, già che ci siamo: si può usare Navidrome dall&#39;interfaccia web oppure utilizzare una delle tante applicazioni che supportano le Subsonic API.
Qui una lista: <a href="https://www.navidrome.org/docs/overview/#apps" rel="nofollow">https://www.navidrome.org/docs/overview/#apps</a></p>

<p>Spotify casalingo: fatto ✔️</p>

<h2 id="recuperare-la-propria-musica">Recuperare la propria musica</h2>

<p>Okay, ora arriviamo al punto più delicato della questione.
Può capitare che non abbiate modo di trasformare in .mp3 la vostra musica o i brani che avete già comprato.
Eviterò di farvi la predica sul fatto di acquistare la musica che ascoltate per supportare chi l&#39;ha creata: davvero, è importante e nulla di quanto segue andrebbe eseguito se non si possiedono già i brani in altri formati (e lo dico da persona che crede che le leggi relative al diritto d&#39;autore andrebbe riviste, aggiornate e corrette).</p>

<p>Ma basta premesse, al volo.</p>
<ul><li><p>scaricatevi <a href="https://github.com/casualsnek/onthespot/releases/tag/v0.5" rel="nofollow">OnTheSpot</a> (mi raccomando la versione _ffm)</p></li>

<li><p>avviate il programma (non va installato) e andate nella tab “Configuration”</p></li>

<li><p>inserite nome utente e password di Spotify (anche un account gratuito) e cliccate su “Add account” (in fondo alla pagina)</p></li>

<li><p>non cambiate altro se non il percorso dove viene scaricata la musica</p></li>

<li><p>nella tab “OnTheSpot Search” è ora possibile inserire il nome di una canzone, di un artista, l&#39;URL di una Playlist (o qualunque URL di Spotify) per permettervi di scaricare il brano scelto (o la serie di brani dentro la Playlist, ad esempio)</p></li></ul>

<p>A posto: potete vedere i progressi nella tab “Progress”, ma davvero non c&#39;è molto altro da fare con questa applicazione.
Godetevi gli .mp3 delle canzoni che possedete già e caricate poi il tutto su Navidrome.</p>

<h2 id="considerazioni-finali">Considerazioni finali</h2>

<p>Sto usando Navidrome da una settimana circa e le uniche cose che ho trovato fastidiose sono state:</p>
<ul><li><p>ricostruirmi le playlist (perché Spotify è stronzo e non te le fa esportare se non con tool esterni)
<strong>SOLUZIONE</strong>: nessuna, se non che sto sfruttando questa cosa a mio vantaggio per rivedere un po&#39; le playlist (con molta soddisfazione vi dirò)</p></li>

<li><p>il buffering delle canzoni nella riproduzione casuale in contesti con poca rete internet
<strong>SOLUZIONE 1</strong>: nell&#39;applicazione che uso c&#39;è la possibilità di far pre-caricare le successive canzoni di una playlist, spettacolo
<strong>SOLUZIONE 2</strong>: è possibile scaricare un&#39;intera playlist per l&#39;uso offline, se so che avrò poca rete scarico e sono a bolla</p></li></ul>

<p>Se avete intenzione di provarvi a lanciare in cose simili e trovate difficoltà (o avete suggerimenti da darmi) mi trovate come al solito sul Fediverso: <a href="https://log.livellosegreto.it/@/ed@livellosegreto.it" class="u-url mention" rel="nofollow">@<span>ed@livellosegreto.it</span></a></p>

<p>🕸️🕸️🕸️</p>
]]></content:encoded>
      <guid>https://log.livellosegreto.it/edmael/addio-spotify-come-mi-sono-costruito-una-libreria-musicale-in-casa</guid>
      <pubDate>Mon, 10 Jun 2024 09:24:22 +0000</pubDate>
    </item>
    <item>
      <title>Whishper: trascriviamo audio in locale sfruttando l&#39;AI</title>
      <link>https://log.livellosegreto.it/edmael/whishper-trascriviamo-audio-in-locale-sfruttando-lai</link>
      <description>&lt;![CDATA[Chi mi conosce sa che ho un rapporto complicato con l&#39;intelligenza artificiale.&#xA;Ritengo sia qualcosa di eccezionale, ma usato non nel migliore dei modi.&#xA;Diciamo che si può riassumere tutto al meglio con questo meme così non mi perdo in sproloqui:&#xA;&#xA;img src=&#34;https://user.fm/files/v2-fa0cda33a58f625652e5906386a37dc7/ai_meme.png&#34;&#xA;fonte: https://twitter.com/AuthorJMac/status/1773679197631701238&#xA;&#xA;Ora che abbiamo smarcato questo doveroso preambolo arrivo al punto: avevo bisogno di trascrivere degli audio in locale (sai com&#39;è, la privacy e tutto il resto...) e mi son messo a guardare software e strumenti per farlo senza dovermi ascoltare ore di registrazioni. Ho così scoperto l&#39;esistenza di un software Open Source chiamato Whishper che sfrutta l&#39;AI per fare esattamente ciò di cui avevo bisogno.&#xA;&#xA;Fantastico.&#xA;Installiamolo!&#xA;&#xA;!--more--&#xA;&#xA;GNU/Linux o Windows?&#xA;&#xA;A prescindere dal sistema utilizzato l&#39;installazione è molto semplice: basta avere Docker e Docker Compose sul PC (su GNU/Linux lo si installa dai repository o dal sito ufficiale, su Windows basta installare Docker Desktop che comprende entrambi). Mi raccomando se state installando sotto Windows attenzione a riavviare la macchina post-installazione di Docker Desktop (sì, nel 2024...) e lanciare l&#39;applicazione dopo il riavvio per accettare i ToS.&#xA;Se però sotto GNU/Linux basta lanciare uno script, su Windows è un filo più complicato perché lo script ufficiale può dare qualche rogna, ma vediamo al volo come installarlo anche lì.&#xA;&#xA;Da Powershell scarichiamo il file di Docker Compose, il file environment, scarichiamo i container e lanciamo il Compose:&#xA;curl -o docker-compose.yml https://raw.githubusercontent.com/pluja/whishper/main/docker-compose.yml&#xA;&#xA;curl -o .env https://raw.githubusercontent.com/pluja/whishper/main/example.env&#xA;&#xA;docker-compose pull&#xA;&#xA;docker-compose up -d&#xA;Fatto?&#xA;Benissimo, ora andando su http://localhost:8082 dovrebbe rispondere la nostra istanza locale di Whishper prontissima a ricevere file (o URL) e trascriverne agilmente il contenuto.&#xA;&#xA;video src=&#34;https://whishper.net/new-tr.mp4&#34;&#xA;&#xA;Voglio saperne di più!&#xA;&#xA;Se vi interessa l&#39;argomento vi lascio un paio di link ufficiali per approfondire e comprendere al meglio alcuni concetti:&#xA;&#xA;Utilizzare la GPU per velocizzare la trascrizione&#xA;Il modello (anzi, i modelli) usati da Whishper - con informazioni molto utili anche in relazione alla precisione con cui i vari modelli a disposizione riconoscono l&#39;audio&#xA;&#xA;Aggiungo, giusto per ingolosirvi, che sulla documentazione ufficiale sono disponibili anche le informazioni per rendere l&#39;istanza di Whishper visibile all&#39;esterno (quindi Reverse Proxy e compagnia) e per modificare le trascrizioni in modo estremamente comodo.&#xA;&#xA;🕸️🕸️🕸️]]&gt;</description>
      <content:encoded><![CDATA[<p>Chi mi conosce sa che ho un rapporto <em>complicato</em> con l&#39;intelligenza artificiale.
Ritengo sia qualcosa di eccezionale, ma usato non nel migliore dei modi.
Diciamo che si può riassumere tutto al meglio con questo meme così non mi perdo in sproloqui:</p>

<p><img src="https://user.fm/files/v2-fa0cda33a58f625652e5906386a37dc7/ai_meme.png">
<em>fonte: <a href="https://twitter.com/AuthorJMac/status/1773679197631701238" rel="nofollow">https://twitter.com/AuthorJMac/status/1773679197631701238</a></em></p>

<p>Ora che abbiamo smarcato questo doveroso preambolo arrivo al punto: avevo bisogno di trascrivere degli audio in locale (sai com&#39;è, la privacy e tutto il resto...) e mi son messo a guardare software e strumenti per farlo senza dovermi ascoltare ore di registrazioni. Ho così scoperto l&#39;esistenza di un software Open Source chiamato <a href="https://whishper.net/" rel="nofollow">Whishper</a> che sfrutta l&#39;AI per fare esattamente ciò di cui avevo bisogno.</p>

<p>Fantastico.
Installiamolo!</p>



<h2 id="gnu-linux-o-windows">GNU/Linux o Windows?</h2>

<p>A prescindere dal sistema utilizzato l&#39;installazione è molto semplice: basta avere <strong>Docker</strong> e <strong>Docker Compose</strong> sul PC (su GNU/Linux lo si installa dai repository o dal sito ufficiale, su Windows basta installare <a href="https://www.docker.com/products/docker-desktop/" rel="nofollow">Docker Desktop</a> che comprende entrambi). Mi raccomando se state installando sotto Windows attenzione a riavviare la macchina post-installazione di Docker Desktop (sì, nel 2024...) e lanciare l&#39;applicazione dopo il riavvio per accettare i ToS.
Se però sotto GNU/Linux basta <a href="https://whishper.net/guides/install/#linux--macos" rel="nofollow">lanciare uno script</a>, su Windows è un filo più complicato perché lo <a href="https://whishper.net/guides/install/#windows" rel="nofollow">script ufficiale</a> può dare qualche rogna, ma vediamo al volo come installarlo anche lì.</p>

<p>Da Powershell scarichiamo il file di Docker Compose, il file environment, scarichiamo i container e lanciamo il Compose:</p>

<pre><code>curl -o docker-compose.yml https://raw.githubusercontent.com/pluja/whishper/main/docker-compose.yml

curl -o .env https://raw.githubusercontent.com/pluja/whishper/main/example.env

docker-compose pull

docker-compose up -d
</code></pre>

<p>Fatto?
Benissimo, ora andando su <a href="http://localhost:8082" rel="nofollow">http://localhost:8082</a> dovrebbe rispondere la nostra istanza locale di Whishper prontissima a ricevere file (o URL) e trascriverne agilmente il contenuto.</p>

<p><video src="https://whishper.net/new-tr.mp4"></p>

<h2 id="voglio-saperne-di-più">Voglio saperne di più!</h2>

<p>Se vi interessa l&#39;argomento vi lascio un paio di link ufficiali per approfondire e comprendere al meglio alcuni concetti:</p>
<ul><li><a href="https://whishper.net/guides/gpu/" rel="nofollow">Utilizzare la GPU per velocizzare la trascrizione</a></li>
<li><a href="https://whishper.net/reference/models/" rel="nofollow">Il modello (anzi, i modelli) usati da Whishper</a> – con informazioni molto utili anche in relazione alla precisione con cui i vari modelli a disposizione riconoscono l&#39;audio</li></ul>

<p>Aggiungo, giusto per ingolosirvi, che sulla documentazione ufficiale sono disponibili anche le informazioni per rendere l&#39;istanza di <a href="https://whishper.net/" rel="nofollow">Whishper</a> visibile all&#39;esterno (quindi Reverse Proxy e compagnia) e per modificare le trascrizioni in modo estremamente comodo.</p>

<p>🕸️🕸️🕸️</p>
]]></content:encoded>
      <guid>https://log.livellosegreto.it/edmael/whishper-trascriviamo-audio-in-locale-sfruttando-lai</guid>
      <pubDate>Mon, 13 May 2024 13:19:45 +0000</pubDate>
    </item>
    <item>
      <title>Feed RSS: torniamo a SCEGLIERE i nostri contenuti</title>
      <link>https://log.livellosegreto.it/edmael/feed-rss-torniamo-a-scegliere-i-nostri-contenuti</link>
      <description>&lt;![CDATA[ultimo aggiornamento: 13 maggio 2024&#xA;&#xA;Da qualche tempo ho smesso - in modo più o meno drastico - di utilizzare i principali social network.&#xA;Anche tralasciando la mia &#34;deriva fediversistica&#34; sono arrivato al punto in cui i contenuti che fruivo quotidianamente non erano di fatto qualcosa di scelto da me.&#xA;Il feed di Twitter, i Reel di Instagram, gli Short di Youtube, i video di TikTok... tutte cose che puntano a massimizzare il tuo tempo su una determinata piattaforma dandoti in pasto una vasta quantità di contenuti che ti creano dipendenza 1] e ti spingono al [Doomscrolling.&#xA;&#xA;Già, ma come ne esci se tra tutti quei contenuti ce ne sono effettivamente di interessanti che vuoi continuare a seguire?&#xA; RSS Feed has entered the chat * &#xA;&#xA;!--more--&#xA;&#xA;Da dove nasce questo articolo?&#xA;&#xA;&#34;Quando ero giovane io&#34; i Feed RSS erano qualcosa di meraviglioso e molto in voga: una sorta di giornale &#34;personale&#34; in cui ti venivano recapitate le notizie dai vari siti/blog a cui eri iscritto. Capolavoro.&#xA;Piano piano però &#34;il nuovo internet&#34; si è reso conto che questa tecnologia così comoda per l&#39;utente era in realtà un incredibile ostacolo a quello che chiamo &#34;capitalismo del web&#34;:&#xA;&#xA;non posso mostrare all&#39;utente quel che voglio io (o meglio, fino a un certo punto)&#xA;non ho controllo sul poter trattenere (e per quanto) l&#39;utente sulla mia piattaforma&#xA;è più difficile creare un profilo personalizzato dell&#39;utente&#xA;&#xA;La chiusura di Google Reader (piattaforma di punta per la gestione dei Feed RSS) risale al 2013.&#xA;Firefox ha rimosso la funzionalità dei &#34;Segnalibri Live&#34; (di fatto Feed RSS nei segnalibri del browser) nel 2018.&#xA;&#xA;Facile dunque comprendere perché pensare di usare oggi una tecnologia simile per fruire dell&#39;internet attuale non sia cosa davvero praticabile... o forse sì?&#xA;&#xA;Per nostra (e intendo di qualunque persona utilizzi un computer) fortuna ci sono creature meravigliose abbastanza testarde da non assecondare qualunque cosa ci venga dato in pasto dallo Zuckerberg di turno. Basta quindi cercare un po&#39; in giro per trovare Frontend alternativi ai più disparati servizi (Instagram, Twitter, TikTok, Youtube, Twitch, Reddit, Spotify... davvero, c&#39;è di tutto) che tra i punti di forza hanno anche il nostro amatissimo Feed RSS.&#xA;&#xA;Istruzioni per l&#39;uso&#xA;&#xA;Partiamo al volo con due punti da tenere in considerazione:&#xA;&#xA;tutti i servizi che menzionerò da qui in avanti sono Free e Open Source: potete tranquillamente tirare in piedi un&#39;istanza per ognuno di essi senza grosse spese (basta un piccolo serverino) qualora vogliate, ma per rendere fruibile l&#39;articolo - e le istruzioni - a chiunque rimanderò a istanze pubbliche già pronte all&#39;uso.&#xA;tutti questi Frontend alternativi possono durare potenzialmente due giorni e poi rompersi. Di fatto sono metodi intelligenti per andare a pescare sulle piattaforme al posto vostro, ma nulla offre la garanzia che domani Instagram (o chi per esso) non cambi radicalmente impedendo di leggere i suoi contenuti in questo modo.&#xA;&#xA;Okay, la base: dove vedo i Feed RSS?&#xA;Utilizzo Telegram quotidianamente e l&#39;idea di avere un messaggio per ogni elemento nuovo nei miei Feed RSS mi sembrava un&#39;ottima idea.&#xA;Dando un&#39;occhiata in giro ho trovato questo Bot che fa praticamente tutto ciò che mi serve (e anche di più).&#xA;Basta Docker-Compose per tirare in piedi al volo una propria istanza oppure molto più semplicemente si può usare la versione pubblica.&#xA;I comandi di base sono banalissimi: &#xA;&#xA;Per iscriverti a un Feed:&#xA;/sub URL&#xA;&#xA;Per disiscriverti da un Feed:&#xA;/unsub URL&#xA;&#xA;Per vedere le tue iscrizioni:&#xA;/list&#xA;&#xA;Mi iscrivo a un Feed e ogni volta che questo ha un nuovo elemento mi arriva dritto dritto nella chat di Telegram. Capolavoro.&#xA;Ora il problema principale: da dove pesco gli URL di questi Feed RSS?&#xA;&#xA;Servizi, Frontend e Feed RSS&#xA;&#xA;Non mi perdo oltre in chiacchiere: ecco un elenco dei vari servizi (o almeno quelli che mi interessavano) e di come pescare il Feed RSS che ci interessa.&#xA;&#xA;Servizio&#xA;&#xA;Frontend alternativo&#xA;Istanza pubblica funzionante al momento della stesura dell&#39;articolo&#xA;Esempio di URL&#xA;&#xA;Twitter&#xA;&#xA;Nitter&#xA;Nitter.cz&#xA;https://nitter.poast.org/larianstudios/rss&#xA;&#xA;Instagram&#xA;&#xA;Proxigram&#xA;https://proxigram.nirn.quest/&#xA;https://proxigram.nirn.quest/iministri/rss&#xA;https://proxigram.nirn.quest/iministri/stories/rss (per le Storie)&#xA;&#xA;TikTok&#xA;&#xA;Proxitok è uno dei frontend principali che ho trovato, ma sembra avere saltuariamente qualche problema. Ho ripiegato dunque su RSS-Bridge, potete trovare la mia istanza qui: RSS-Bridge@ragnate.la&#xA;&#xA;Twitch&#xA;&#xA;TwitchRSS&#xA;https://twitchrss.appspot.com/&#xA;https://twitchrss.appspot.com/vod/ksgaminglife&#xA;&#xA;Youtube&#xA;&#xA;Invidious&#xA;https://yewtu.be/&#xA;https://yewtu.be/feed/channel/UCSJTl4bcm7pmSjBlPKN7rbw&#xA;&#xA;Considerazioni finali&#xA;&#xA;Sto usando questa configurazione da qualche giorno con particolare soddisfazione: mi evito di restare inguaiato per svariati minuti a guardare cose che non mi interessano e riesco comunque a leggere e godere dei contenuti interessanti che altrimenti non potrei fruire. Mi permetto però di chiudere il tutto con una considerazione: tutti &#39;sti giri che ho dovuto (/voluto) fare per arrivare a questo risultato non sono in alcun modo necessari non appena togli il &#34;capitalismo del web&#34; dall&#39;equazione.&#xA;&#xA;Vuoi il Feed RSS di questo blog? Aggiungi /feed alla fine dell&#39;url:&#xA;https://log.livellosegreto.it/edmael/feed/&#xA;&#xA;Vuoi il Feed RSS di un&#39;utenza Mastodon? Aggiungi .rss alla fine dell&#39;url:&#xA;https://livellosegreto.it/@ed.rss&#xA;&#xA;Giusto per dirne due e togliermi &#39;sto sassolino dalla scarpa.&#xA;&#xA;🕸️🕸️🕸️&#xA;&#xA;è una mia idea basata su esperienza personale, non mi sono mai documentato sull&#39;argomento&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><em>ultimo aggiornamento: 13 maggio 2024</em></p>

<p>Da qualche tempo ho smesso – in modo più o meno drastico – di utilizzare i principali social network.
Anche tralasciando la mia “deriva fediversistica” sono arrivato al punto in cui i contenuti che fruivo quotidianamente non erano di fatto qualcosa di scelto da me.
Il feed di Twitter, i Reel di Instagram, gli Short di Youtube, i video di TikTok... tutte cose che puntano a massimizzare il tuo tempo su una determinata piattaforma dandoti in pasto una vasta quantità di contenuti che ti creano dipendenza [1] e ti spingono al <a href="https://it.wikipedia.org/wiki/Doomscrolling" title="Doomscrolling" rel="nofollow">Doomscrolling</a>.</p>

<p>Già, ma come ne esci se tra tutti quei contenuti ce ne sono effettivamente di interessanti che vuoi continuare a seguire?</p>

<pre><code> * RSS Feed has entered the chat * 
</code></pre>



<h2 id="da-dove-nasce-questo-articolo">Da dove nasce questo articolo?</h2>

<p>“Quando ero giovane io” i Feed RSS erano qualcosa di meraviglioso e molto in voga: una sorta di giornale “personale” in cui ti venivano recapitate le notizie dai vari siti/blog a cui eri iscritto. Capolavoro.
Piano piano però “il nuovo internet” si è reso conto che questa tecnologia così comoda per l&#39;utente era in realtà un incredibile ostacolo a quello che chiamo “capitalismo del web”:</p>
<ul><li>non posso mostrare all&#39;utente quel che voglio io (o meglio, fino a un certo punto)</li>
<li>non ho controllo sul poter trattenere (e per quanto) l&#39;utente sulla mia piattaforma</li>
<li>è più difficile creare un profilo personalizzato dell&#39;utente</li></ul>

<p>La chiusura di Google Reader (piattaforma di punta per la gestione dei Feed RSS) risale al 2013.
Firefox ha rimosso la funzionalità dei “Segnalibri Live” (di fatto Feed RSS nei segnalibri del browser) nel 2018.</p>

<p>Facile dunque comprendere perché pensare di usare oggi una tecnologia simile per fruire dell&#39;internet attuale non sia cosa davvero praticabile... o forse sì?</p>

<p>Per nostra (e intendo di qualunque persona utilizzi un computer) fortuna ci sono creature meravigliose abbastanza testarde da non assecondare qualunque cosa ci venga dato in pasto dallo Zuckerberg di turno. Basta quindi cercare un po&#39; in giro per trovare Frontend alternativi ai più disparati servizi (Instagram, Twitter, TikTok, Youtube, Twitch, Reddit, Spotify... davvero, c&#39;è <a href="https://github.com/mendel5/alternative-front-ends" title="Lista di Frontend alternativi" rel="nofollow">di tutto</a>) che tra i punti di forza hanno anche il nostro amatissimo Feed RSS.</p>

<h2 id="istruzioni-per-l-uso">Istruzioni per l&#39;uso</h2>

<p>Partiamo al volo con due punti da tenere in considerazione:</p>
<ul><li>tutti i servizi che menzionerò da qui in avanti sono Free e Open Source: potete tranquillamente tirare in piedi un&#39;istanza per ognuno di essi senza grosse spese (basta un piccolo serverino) qualora vogliate, ma per rendere fruibile l&#39;articolo – e le istruzioni – a chiunque rimanderò a istanze pubbliche già pronte all&#39;uso.</li>
<li>tutti questi Frontend alternativi possono durare potenzialmente due giorni e poi rompersi. Di fatto sono metodi intelligenti per andare a pescare sulle piattaforme al posto vostro, ma nulla offre la garanzia che domani Instagram (o chi per esso) non cambi radicalmente impedendo di leggere i suoi contenuti in questo modo.</li></ul>

<p>Okay, la base: dove vedo i Feed RSS?
Utilizzo Telegram quotidianamente e l&#39;idea di avere un messaggio per ogni elemento nuovo nei miei Feed RSS mi sembrava un&#39;ottima idea.
Dando un&#39;occhiata in giro ho trovato <a href="https://github.com/Rongronggg9/RSS-to-Telegram-Bot" title="RSS to Telegram Bot" rel="nofollow">questo Bot</a> che fa praticamente tutto ciò che mi serve (e anche di più).
Basta Docker-Compose per tirare in piedi al volo una propria istanza oppure molto più semplicemente si può usare la <a href="https://t.me/RSStT_Bot" title="RSS to Telegram Bot" rel="nofollow">versione pubblica</a>.
I comandi di base sono banalissimi:</p>

<p>Per iscriverti a un Feed:</p>

<pre><code>/sub URL
</code></pre>

<p>Per disiscriverti da un Feed:</p>

<pre><code>/unsub URL
</code></pre>

<p>Per vedere le tue iscrizioni:</p>

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

<p>Mi iscrivo a un Feed e ogni volta che questo ha un nuovo elemento mi arriva dritto dritto nella chat di Telegram. Capolavoro.
Ora il problema principale: da dove pesco gli URL di questi Feed RSS?</p>

<h2 id="servizi-frontend-e-feed-rss">Servizi, Frontend e Feed RSS</h2>

<p>Non mi perdo oltre in chiacchiere: ecco un elenco dei vari servizi (o almeno quelli che mi interessavano) e di come pescare il Feed RSS che ci interessa.</p>

<p><strong>Servizio</strong></p>
<ul><li>Frontend alternativo</li>
<li>Istanza pubblica funzionante al momento della stesura dell&#39;articolo</li>
<li>Esempio di URL</li></ul>

<p><strong>Twitter</strong></p>
<ul><li><a href="https://github.com/zedeus/nitter" rel="nofollow">Nitter</a></li>
<li><a href="https://nitter.poast.org/" rel="nofollow">Nitter.cz</a></li>
<li><a href="https://nitter.poast.org/larianstudios/rss" rel="nofollow">https://nitter.poast.org/larianstudios/rss</a></li></ul>

<p><strong>Instagram</strong></p>
<ul><li><a href="https://codeberg.org/ThePenguinDev/proxigram" rel="nofollow">Proxigram</a></li>
<li><a href="https://proxigram.nirn.quest/" rel="nofollow">https://proxigram.nirn.quest/</a></li>
<li><a href="https://proxigram.nirn.quest/iministri/rss" rel="nofollow">https://proxigram.nirn.quest/iministri/rss</a></li>
<li><a href="https://proxigram.nirn.quest/iministri/stories/rss" rel="nofollow">https://proxigram.nirn.quest/iministri/stories/rss</a> (per le Storie)</li></ul>

<p><strong>TikTok</strong></p>
<ul><li><a href="https://github.com/pablouser1/ProxiTok" rel="nofollow">Proxitok</a> è uno dei frontend principali che ho trovato, ma sembra avere saltuariamente qualche problema. Ho ripiegato dunque su <a href="https://github.com/RSS-Bridge/rss-bridge" rel="nofollow">RSS-Bridge</a>, potete trovare la mia istanza qui: <a href="https://rssbridge.ragnate.la/" rel="nofollow">RSS-Bridge@ragnate.la</a></li></ul>

<p><strong>Twitch</strong></p>
<ul><li><a href="https://github.com/lzeke0/TwitchRSS" rel="nofollow">TwitchRSS</a></li>
<li><a href="https://twitchrss.appspot.com/" rel="nofollow">https://twitchrss.appspot.com/</a></li>
<li><a href="https://twitchrss.appspot.com/vod/ksgaminglife" rel="nofollow">https://twitchrss.appspot.com/vod/ksgaminglife</a></li></ul>

<p><strong>Youtube</strong></p>
<ul><li><a href="https://github.com/iv-org/invidious" rel="nofollow">Invidious</a></li>
<li><a href="https://yewtu.be/" rel="nofollow">https://yewtu.be/</a></li>
<li><a href="https://yewtu.be/feed/channel/UCSJTl4bcm7pmSjBlPKN7rbw" rel="nofollow">https://yewtu.be/feed/channel/UCSJTl4bcm7pmSjBlPKN7rbw</a></li></ul>

<h2 id="considerazioni-finali">Considerazioni finali</h2>

<p>Sto usando questa configurazione da qualche giorno con particolare soddisfazione: mi evito di restare inguaiato per svariati minuti a guardare cose che non mi interessano e riesco comunque a leggere e godere dei contenuti interessanti che altrimenti non potrei fruire. Mi permetto però di chiudere il tutto con una considerazione: tutti &#39;sti giri che ho dovuto (/voluto) fare per arrivare a questo risultato non sono in alcun modo necessari non appena togli il “capitalismo del web” dall&#39;equazione.</p>
<ul><li><p>Vuoi il Feed RSS di questo blog? Aggiungi /feed alla fine dell&#39;url:</p>

<pre><code>https://log.livellosegreto.it/edmael/feed/
</code></pre></li>

<li><p>Vuoi il Feed RSS di un&#39;utenza Mastodon? Aggiungi .rss alla fine dell&#39;url:</p>

<pre><code>https://livellosegreto.it/@ed.rss
</code></pre></li></ul>

<p>Giusto per dirne due e togliermi &#39;sto sassolino dalla scarpa.</p>

<p>🕸️🕸️🕸️</p>
<ol><li>è una mia idea basata su esperienza personale, non mi sono mai documentato sull&#39;argomento</li></ol>
]]></content:encoded>
      <guid>https://log.livellosegreto.it/edmael/feed-rss-torniamo-a-scegliere-i-nostri-contenuti</guid>
      <pubDate>Sun, 28 Jan 2024 10:33:35 +0000</pubDate>
    </item>
    <item>
      <title>Riprenderci un pezzo di web partendo dalle fondamenta: le persone</title>
      <link>https://log.livellosegreto.it/edmael/riprenderci-un-pezzo-di-web-partendo-dalle-fondamenta-le-persone</link>
      <description>&lt;![CDATA[Anche stanotte - come spesso è capitato negli ultimi mesi - sono finito a fare le ore piccole per lavorare a progetti che puntano a farci &#34;riprendere qualche piccolo spazio di web&#34;.&#xA;&#xA;Se quest&#39;ultimo concetto mi sembra incredibilmente ambizioso (e a volte mi stupisco di come Livello Segreto sia riuscito a ritagliarsi il suo spazio e continui a crescere a un anno e mezzo dalla sua creazione), la mia attenzione in questi giorni va a quel &#34;farci&#34; e al plurale che mi sta regalando più soddisfazioni di quante potessi immaginare.&#xA;&#xA;Lavorare a software che di fatto stanno ancora nascendo e collaborare gomito a gomito con persone curiose come me (o, ancora meglio, direttamente con le sviluppatrici e gli sviluppatori) mi riporta a quei bei tempi™ delle serate ai Linux User Group, dei forum brulicanti di utenti attivi e a quella meravigliosa sensazione che solo il collaborare a qualcosa di comune e condiviso riesce a dare.&#xA;&#xA;!--more--&#xA;&#xA;Forse - anzi, quasi certamente - sono io che non sono riuscito a rimanere al passo con cui quelle comunità si sono evolute e spostate su altri lidi (spessissimo centralizzati e in mano ad aziende non proprio amiche della privacy), ma non mi ero mai accorto di come mi mancasse avere persone con cui confrontarmi direttamente per costruire qualcosa che vada oltre il mero interesse personale.&#xA;&#xA;Così come ho notato solamente di recente - e in modo crescente dalla fine della pandemia ad oggi - quanto è netto il distacco tra lavorare &#34;per profitto&#34; o &#34;per la comunità&#34; in termini di stress e soddisfazione. Le ore piccole ci sono in entrambi i casi e spesso sono interessanti in ambedue gli ambiti, ma se per il primo sono io a dover creare la voglia di sbattere la testa contro i problemi (vuoi per senso del dovere, vuoi perché è quel che mi permette di avere qualche soldino in più a fine mese) con il secondo è la gratificazione ottenuta dal contribuire a qualcosa di più grande di me a trainarmi e farmi andare a letto felice e soddisfatto di ciò a cui ho lavorato.&#xA;&#xA;Nell&#39;ultimo mese il bersaglio principale di questi sforzi è stato (ed è tuttora) Pixelfed, l&#39;alternativa ad Instagram decentralizzata, open-source, rispettosa della privacy e senza pubblicità. Sta arrivando l&#39;istanza targata Livello Segreto e sono incredibilmente felice che anche a &#39;sto giro sia a firma collettiva.&#xA;&#xA;p.s.: questo sproloquio arriva direttamente dal paio di serate fatte con Federico e Riccardo che ringrazio perché mi hanno ricordato quanto siano fondamentali (e un sacco divertenti) la collaborazione e la condivisione per creare qualcosa di bello che mi dia soddisfazione come individuo ancor prima che come informatico.&#xA;&#xA;🕸️🕸️🕸️&#xA;&#xA;Fonti e siti menzionati nel post:&#xA;&#xA;Pixelfed]]&gt;</description>
      <content:encoded><![CDATA[<p>Anche stanotte – come spesso è capitato negli ultimi mesi – sono finito a fare le ore piccole per lavorare a progetti che puntano a farci “riprendere qualche piccolo spazio di web”.</p>

<p>Se quest&#39;ultimo concetto mi sembra incredibilmente ambizioso (e a volte mi stupisco di come <a href="https://livellosegreto.it" title="Livello Segreto" rel="nofollow">Livello Segreto</a> sia riuscito a ritagliarsi il suo spazio e continui a crescere a un anno e mezzo dalla sua creazione), la mia attenzione in questi giorni va a quel “farci” e al plurale che mi sta regalando più soddisfazioni di quante potessi immaginare.</p>

<p>Lavorare a software che di fatto stanno ancora nascendo e collaborare gomito a gomito con persone curiose come me (o, ancora meglio, direttamente con le sviluppatrici e gli sviluppatori) mi riporta a quei bei tempi™ delle serate ai Linux User Group, dei forum brulicanti di utenti attivi e a quella meravigliosa sensazione che solo il collaborare a qualcosa di comune e condiviso riesce a dare.</p>



<p>Forse – anzi, quasi certamente – sono io che non sono riuscito a rimanere al passo con cui quelle comunità si sono evolute e spostate su altri lidi (spessissimo centralizzati e in mano ad aziende non proprio amiche della privacy), ma non mi ero mai accorto di come mi mancasse avere persone con cui confrontarmi direttamente per costruire qualcosa che vada oltre il mero interesse personale.</p>

<p>Così come ho notato solamente di recente – e in modo crescente dalla fine della pandemia ad oggi – quanto è netto il distacco tra lavorare “per profitto” o “per la comunità” in termini di stress e soddisfazione. Le ore piccole ci sono in entrambi i casi e spesso sono interessanti in ambedue gli ambiti, ma se per il primo sono io a dover creare la voglia di sbattere la testa contro i problemi (vuoi per senso del dovere, vuoi perché è quel che mi permette di avere qualche soldino in più a fine mese) con il secondo è la gratificazione ottenuta dal contribuire a qualcosa di più grande di me a trainarmi e farmi andare a letto felice e soddisfatto di ciò a cui ho lavorato.</p>

<p>Nell&#39;ultimo mese il bersaglio principale di questi sforzi è stato (ed è tuttora) Pixelfed, l&#39;alternativa ad Instagram decentralizzata, open-source, rispettosa della privacy e senza pubblicità. Sta arrivando l&#39;istanza targata Livello Segreto e sono incredibilmente felice che anche a &#39;sto giro sia a firma collettiva.</p>

<p>p.s.: questo sproloquio arriva direttamente dal paio di serate fatte con <a href="https://livellosegreto.it/@FDA" rel="nofollow">Federico</a> e <a href="https://livellosegreto.it/@allibragi" rel="nofollow">Riccardo</a> che ringrazio perché mi hanno ricordato quanto siano fondamentali (e un sacco divertenti) la collaborazione e la condivisione per creare qualcosa di bello che mi dia soddisfazione come individuo ancor prima che come informatico.</p>

<p>🕸️🕸️🕸️</p>

<p>Fonti e siti menzionati nel post:</p>
<ul><li><a href="https://pixelfed.org/" title="Pixelfed" rel="nofollow">Pixelfed</a></li></ul>
]]></content:encoded>
      <guid>https://log.livellosegreto.it/edmael/riprenderci-un-pezzo-di-web-partendo-dalle-fondamenta-le-persone</guid>
      <pubDate>Thu, 02 Nov 2023 22:42:01 +0000</pubDate>
    </item>
    <item>
      <title>Bad file format reading the append only file - Correggere l&#39;errore in un container Redis</title>
      <link>https://log.livellosegreto.it/edmael/bad-file-format-reading-the-append-only-file-correggere-lerrore-in-un</link>
      <description>&lt;![CDATA[Ieri mattina il server che ospita l&#39;istanza Bookwyrm di Livello Segreto non si è sentito molto bene: il disco principale ha terminato lo spazio libero e i container che fanno girare i servizi si sono fermati improvvisamente (non li biasimo, avrei fatto lo stesso).&#xA;&#xA;Tralasciando le azioni migliorative da apportare al server stesso (e l’allestimento di un sistema di monitoraggio che mi devo studiare per bene) mi sono ritrovato - anche a valle della pulizia del disco e l’aumento dello spazio disponibile - una buona parte dello stack di Bookwrym ancora in protesta (sito up and running, ma con un errore generico al posto del contenuto).&#xA;&#xA;Dando un’occhiata ai log ho notato che entrambi i container di Redis non hanno apprezzato molto quanto avvenuto e non erano in grado di ripartire. L’errore a console era qualcosa di questo tipo:&#xA;&#xA;Bad file format reading the append only file appendonly.aof.45.incr.aof: make a backup of your AOF file, then use ./redis-check-aof --fix filename.manifest&#xA;&#xA;Redis è gentilissimo e fornisce anche la soluzione al problema, ma come trovo la posizione di quel file? E come posso lanciare il comando indicato per sistemare la situazione?&#xA;&#xA;!--more--&#xA;&#xA;La soluzione è semplice, sì, ma bisogna ragionarci un attimo (e mentre si ragiona prima di mettere le mani si fa un bel backup/snapshot della situazione attuale).&#xA;&#xA;Primo passo: dare un’occhiata al docker-compose.yml per capire dove Redis va a salvare i dati. Nel mio caso:&#xA;&#xA;    volumes:&#xA;      redis-data:/data&#xA;&#xA;Benissimo, ora controllo se i miei file sono direttamente nella cartella /data o in qualche sottocartella. Per farlo lancio un comando (ls -lha /data) nel container di Redis usando docker-compose run (che permette l’esecuzione di un singolo comando in un container) e aggiungo l’opzione —rm per rimuovere il container al termine dell’esecuzione:&#xA;&#xA;docker-compose run --rm redis ls -lha /data&#xA;Creating redis_run … done&#xA;total 64K&#xA;drwxr-xr-x 3 redis redis 4.0K Aug 1 10:09 .&#xA;drwxr-xr-x 1 root root 4.0K Aug 1 10:09 ..&#xA;drwx------ 2 redis redis 4.0K Jul 29 12:58 appendonlydir&#xA;-rw------- 1 redis redis 52K Aug 1 10:09 dump.rdb&#xA;&#xA;Trovata! Il colpo d’occhio non aiuta, ma la cartella “appendonlydir” è esattamente ciò di cui avevo bisogno.&#xA;&#xA;Non resta che usare la stessa logica del comando precedente, ma utilizzando questa volta le istruzioni fornite dall’errore di Redis stesso:&#xA;&#xA;docker-compose run --rm redis redis-check-aof --fix /data/appendonlydir/appendonly.aof.45.incr.aof&#xA;&#xA;Ecco fatto, basta dare a Redis il tempo di macinare (nel mio caso anche di lanciare il comando per entrambi i container presenti nello stack di Bookwyrm) e tutto torna a funzionare.&#xA;&#xA;🕸️🕸️🕸️&#xA;&#xA;Fonti e siti menzionati nel post:&#xA;&#xA;BookWyrm&#xA;Lore - Livello Segreto, ma per i libri&#xA;Bad file format reading the append only file – Redis]]&gt;</description>
      <content:encoded><![CDATA[<p>Ieri mattina il server che ospita <a href="https://lore.livellosegreto.it/" title="l&#39;istanza Bookwyrm di Livello Segreto" rel="nofollow">l&#39;istanza Bookwyrm di Livello Segreto</a> non si è sentito molto bene: il disco principale ha terminato lo spazio libero e i container che fanno girare i servizi si sono fermati improvvisamente (non li biasimo, avrei fatto lo stesso).</p>

<p>Tralasciando le azioni migliorative da apportare al server stesso (e l’allestimento di un sistema di monitoraggio che mi devo studiare per bene) mi sono ritrovato – anche a valle della pulizia del disco e l’aumento dello spazio disponibile – una buona parte dello stack di Bookwrym ancora in protesta (sito up and running, ma con un errore generico al posto del contenuto).</p>

<p>Dando un’occhiata ai log ho notato che entrambi i container di Redis non hanno apprezzato molto quanto avvenuto e non erano in grado di ripartire. L’errore a console era qualcosa di questo tipo:</p>

<pre><code>Bad file format reading the append only file appendonly.aof.45.incr.aof: make a backup of your AOF file, then use ./redis-check-aof --fix &lt;filename.manifest&gt;
</code></pre>

<p>Redis è gentilissimo e fornisce anche la soluzione al problema, ma come trovo la posizione di quel file? E come posso lanciare il comando indicato per sistemare la situazione?</p>



<p>La soluzione è semplice, sì, ma bisogna ragionarci un attimo (e mentre si ragiona prima di mettere le mani si fa un bel backup/snapshot della situazione attuale).</p>

<p>Primo passo: dare un’occhiata al docker-compose.yml per capire dove Redis va a salvare i dati. Nel mio caso:</p>

<pre><code>    volumes:
      - redis-data:/data
</code></pre>

<p>Benissimo, ora controllo se i miei file sono direttamente nella cartella /data o in qualche sottocartella. Per farlo lancio un comando (ls -lha /data) nel container di Redis usando docker-compose run (che permette l’esecuzione di un singolo comando in un container) e aggiungo l’opzione —rm per rimuovere il container al termine dell’esecuzione:</p>

<pre><code>docker-compose run --rm redis ls -lha /data
Creating redis_run … done
total 64K
drwxr-xr-x 3 redis redis 4.0K Aug 1 10:09 .
drwxr-xr-x 1 root root 4.0K Aug 1 10:09 ..
drwx------ 2 redis redis 4.0K Jul 29 12:58 appendonlydir
-rw------- 1 redis redis 52K Aug 1 10:09 dump.rdb
</code></pre>

<p>Trovata! Il colpo d’occhio non aiuta, ma la cartella “appendonlydir” è esattamente ciò di cui avevo bisogno.</p>

<p>Non resta che usare la stessa logica del comando precedente, ma utilizzando questa volta le istruzioni fornite dall’errore di Redis stesso:</p>

<pre><code>docker-compose run --rm redis redis-check-aof --fix /data/appendonlydir/appendonly.aof.45.incr.aof
</code></pre>

<p>Ecco fatto, basta dare a Redis il tempo di macinare (nel mio caso anche di lanciare il comando per entrambi i container presenti nello stack di Bookwyrm) e tutto torna a funzionare.</p>

<p>🕸️🕸️🕸️</p>

<p>Fonti e siti menzionati nel post:</p>
<ul><li><a href="https://joinbookwyrm.com/" title="Join BookWyrm" rel="nofollow">BookWyrm</a></li>
<li><a href="https://lore.livellosegreto.it/" title="Lore - Livello Segreto, ma per i libri" rel="nofollow">Lore – Livello Segreto, ma per i libri</a></li>
<li><a href="https://jigardhulla.wordpress.com/2022/08/01/bad-file-format-reading-the-append-only-file-redis/" rel="nofollow">Bad file format reading the append only file – Redis</a></li></ul>
]]></content:encoded>
      <guid>https://log.livellosegreto.it/edmael/bad-file-format-reading-the-append-only-file-correggere-lerrore-in-un</guid>
      <pubDate>Thu, 12 Oct 2023 09:55:54 +0000</pubDate>
    </item>
  </channel>
</rss>