<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>BartolomeoAlberico.it - Informatica, AI e Soluzioni Cloud: conoscenze e approfondimenti</title>
    <link>https://bartolomeoalberico.it</link>
    <description>BartolomeoAlberico.it offre articoli e analisi su informatica, intelligenza artificiale e soluzioni cloud. Approfondimenti e contenuti pratici per professionisti e appassionati.</description>
    <language>pl</language>
    <pubDate>Wed, 16 Sep 2026 19:02:00 +0200</pubDate>
    <lastBuildDate>Wed, 16 Sep 2026 19:02:00 +0200</lastBuildDate>
    <item>
      <title>Tabelle pivot in Excel - come creare report affidabili</title>
      <link>https://bartolomeoalberico.it/tabelle-pivot-in-excel-come-creare-report-affidabili</link>
      <description>Scopri come usare le tabelle pivot in Excel per riepilogare dati, creare report affidabili ed evitare gli errori più comuni.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Hai un foglio con migliaia di righe e vuoi capire rapidamente quanto hai venduto per prodotto, regione o mese? Le tabelle pivot servono proprio a trasformare dati grezzi in riepiloghi leggibili, senza costruire decine di formule. Qui spiego che cosa sono, come funzionano, come crearle in <a href="https://bartolomeoalberico.it/come-aprire-un-file-xml-e-scegliere-il-programma-giusto">Excel</a> e quali errori evitare per ottenere analisi davvero affidabili.</p><div class="short-summary">
  <h2 id="le-tabelle-pivot-trasformano-molti-dati-in-decisioni-leggibili">Le tabelle pivot trasformano molti dati in decisioni leggibili</h2>
  <ul>
    <li>
<strong>Riepilogano</strong> grandi quantit&agrave; di righe in pochi clic.</li>
    <li>
<strong>Raggruppano</strong> dati per categoria, periodo, area geografica o responsabile.</li>
    <li>
<strong>Calcolano</strong> somme, conteggi, medie, minimi, massimi e percentuali.</li>
    <li>
<strong>Si aggiornano</strong> quando cambia l&rsquo;origine dei dati, ma l&rsquo;aggiornamento va spesso richiesto manualmente.</li>
    <li>
<strong>Richiedono dati ordinati</strong>, con intestazioni chiare e una riga per ogni registrazione.</li>
  </ul>
</div><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/74ca6065798c5d99c0cbc0c397ec5131/schema-tabella-pivot-excel-righe-colonne-valori-filtri-esempio-vendite.webp" class="image article-image" loading="lazy" alt="Tabelle pivot: analisi vendite, profitti e margini. Dati aggregati per categoria (ortaggi, frutta, carne) e acquisti."></p><h2 id="che-cosa-sono-davvero-le-tabelle-pivot">Che cosa sono davvero le tabelle pivot</h2><p>Una tabella pivot &egrave; uno strumento che <strong>riorganizza e sintetizza un elenco di dati</strong>. Parte da una tabella sorgente, come un registro di vendite, e calcola automaticamente un risultato aggregato in base ai campi scelti.</p><p>Immagina un archivio con 20.000 ordini. Ogni riga contiene data, cliente, prodotto, regione, quantit&agrave; e importo. Invece di filtrare manualmente il foglio o scrivere formule per ogni combinazione, posso trascinare &ldquo;Regione&rdquo; nelle righe e &ldquo;Importo&rdquo; nei valori per ottenere subito il fatturato diviso per area.</p><p>Il termine &ldquo;pivot&rdquo; richiama l&rsquo;idea di un <strong>perno attorno al quale ruotare la visualizzazione</strong>. Gli stessi dati possono infatti essere letti in modi diversi: vendite per mese, prodotto per regione, ordini per cliente oppure margine per commerciale. La fonte resta la stessa, mentre cambia il punto di vista.</p><p>La tabella pivot non modifica necessariamente i dati originali e non sostituisce un database. Crea piuttosto un <strong>report interattivo</strong> che permette di esplorare le informazioni con filtri, raggruppamenti e livelli di dettaglio.</p><h2 id="come-funziona-la-struttura-di-una-tabella-pivot">Come funziona la struttura di una tabella pivot</h2><p>Quando creo una pivot, il programma mi mostra i campi disponibili e quattro aree principali. Capire il ruolo di ciascuna area &egrave; pi&ugrave; utile che memorizzare una procedura, perch&eacute; permette di costruire report diversi senza procedere per tentativi.</p><table>
  <tbody>
    <tr>
      <th>Area</th>
      <th>Funzione</th>
      <th>Esempio</th>
    </tr>
    <tr>
      <td>Righe</td>
      <td>Elenca le categorie da confrontare verticalmente</td>
      <td>Regione o prodotto</td>
    </tr>
    <tr>
      <td>Colonne</td>
      <td>Distribuisce una seconda dimensione orizzontalmente</td>
      <td>Mese o trimestre</td>
    </tr>
    <tr>
      <td>Valori</td>
      <td>Esegue il calcolo sui numeri</td>
      <td>Somma degli importi</td>
    </tr>
    <tr>
      <td>Filtri</td>
      <td>Limita l&rsquo;intero report a una selezione</td>
      <td>Solo vendite del 2026</td>
    </tr>
  </tbody>
</table><p>Se inserisco &ldquo;Categoria&rdquo; nelle righe e &ldquo;Vendite&rdquo; nei valori, ottengo il totale per categoria. Se aggiungo &ldquo;Mese&rdquo; nelle colonne, posso confrontare l&rsquo;andamento nel tempo. Il vero vantaggio &egrave; che posso <strong>spostare i campi senza rifare i calcoli</strong>.</p><h3 id="quali-calcoli-si-possono-usare">Quali calcoli si possono usare</h3><p>Excel sceglie spesso la somma quando riconosce valori numerici, ma non &egrave; l&rsquo;unica possibilit&agrave;. Posso impostare <strong>conteggio, media, minimo, massimo</strong> oppure mostrare un valore come percentuale del totale generale o del totale di riga.</p><p>Un errore frequente nasce da una colonna numerica interpretata come testo. In quel caso il programma pu&ograve; proporre un conteggio invece di una somma. Prima di correggere la pivot, controllo sempre la colonna sorgente e il formato delle celle.</p><h2 id="come-creare-una-tabella-pivot-in-excel">Come creare una tabella pivot in Excel</h2><p>La procedura di base &egrave; breve, ma la qualit&agrave; del risultato dipende soprattutto dalla preparazione dei dati. Io parto quasi sempre da una tabella Excel strutturata, perch&eacute; l&rsquo;intervallo si estende pi&ugrave; facilmente quando arrivano nuove righe.</p><ol>
  <li>Prepara i dati con <strong>una riga per ogni evento</strong>, come un ordine o una fattura.</li>
  <li>Usa una sola riga di intestazioni, con nomi chiari e non duplicati.</li>
  <li>Seleziona una cella dell&rsquo;elenco e trasformalo in tabella con il comando dedicato.</li>
  <li>Apri il menu <strong>Inserisci</strong> e scegli Tabella pivot.</li>
  <li>Indica dove collocare il nuovo report, in genere in un foglio separato.</li>
  <li>Trascina i campi nelle aree Righe, Colonne, Valori e Filtri.</li>
  <li>Controlla il tipo di calcolo, applica eventuali filtri e assegna un formato numerico leggibile.</li>
</ol><p>Per esempio, con un archivio di ordini posso mettere &ldquo;Prodotto&rdquo; nelle righe, &ldquo;Mese&rdquo; nelle colonne e &ldquo;Importo&rdquo; nei valori. Il risultato mostra il <strong>fatturato mensile per prodotto</strong> e rende subito visibili cali, picchi o categorie stagionali.</p><h3 id="aggiornamento-e-origine-dei-dati">Aggiornamento e origine dei dati</h3><p>Una pivot non sempre riflette automaticamente le modifiche apportate all&rsquo;origine. Dopo aver aggiunto righe o corretto valori, uso il comando <strong>Aggiorna</strong> oppure aggiorno tutte le connessioni della cartella di lavoro.</p><p>Se la sorgente &egrave; un intervallo fisso, le nuove righe potrebbero restare fuori dal report. Per questo preferisco una tabella strutturata o un&rsquo;origine dinamica. Con dati provenienti da pi&ugrave; file o da sistemi esterni, strumenti come Power Query e il Modello dati diventano pi&ugrave; adatti, anche se richiedono una configurazione iniziale maggiore.</p><h2 id="quando-sono-utili-nella-pratica">Quando sono utili nella pratica</h2><p>Le tabelle pivot danno il meglio quando devo passare da un elenco operativo a una lettura gestionale. Non servono soltanto per le vendite: possono sintetizzare spese, ticket di assistenza, ore lavorate, campagne digitali e indicatori cloud.</p><h3 id="controllo-delle-vendite">Controllo delle vendite</h3><p>Un responsabile commerciale pu&ograve; analizzare il totale per agente, area e mese. Aggiungendo la quantit&agrave; e il margine, non si limita a vedere chi vende di pi&ugrave;, ma capisce anche <strong>quali prodotti generano il risultato migliore</strong>.</p><h3 id="analisi-delle-spese">Analisi delle spese</h3><p>In un registro contabile, le righe possono rappresentare singole transazioni. Raggruppando per categoria e centro di costo, ottengo una vista immediata delle uscite e posso confrontare il budget con la spesa effettiva.</p><h3 id="produttivita-e-assistenza">Produttivit&agrave; e assistenza</h3><p>Per un team IT, una pivot pu&ograve; contare i ticket per priorit&agrave;, tecnico e tempo di risoluzione. Il conteggio da solo non basta: la <strong>media delle ore di chiusura</strong> aiuta a distinguere un reparto molto impegnato da uno realmente pi&ugrave; efficiente.</p><h3 id="dati-provenienti-da-piu-fonti">Dati provenienti da pi&ugrave; fonti</h3><p>Quando i dati arrivano da CRM, fogli condivisi e piattaforme cloud, una pivot pu&ograve; essere il livello finale di analisi, non il punto di partenza. Prima conviene uniformare nomi, date e codici con una fase di pulizia, altrimenti &ldquo;Milano&rdquo;, &ldquo;MI&rdquo; e &ldquo;Milano &rdquo; verranno trattati come valori diversi.</p><p>Questo &egrave; anche il limite che noto pi&ugrave; spesso nella pratica: la pivot &egrave; eccellente nel riepilogare dati coerenti, ma <strong>non corregge automaticamente un archivio disordinato</strong>.</p><h2 id="gli-errori-che-falsano-i-risultati">Gli errori che falsano i risultati</h2><p>Una tabella pivot pu&ograve; essere formalmente corretta e produrre comunque un&rsquo;analisi sbagliata. Il problema di solito non &egrave; lo strumento, ma la struttura della sorgente o un&rsquo;impostazione poco controllata.</p><ul>
  <li>
<strong>Righe vuote</strong> nel mezzo dell&rsquo;elenco, che possono interrompere l&rsquo;intervallo riconosciuto.</li>
  <li>
<strong>Intestazioni mancanti o duplicate</strong>, che rendono ambigua la selezione dei campi.</li>
  <li>
<strong>Date memorizzate come testo</strong>, impossibili da raggruppare correttamente per mese o anno.</li>
  <li>
<strong>Numeri salvati come testo</strong>, che vengono conteggiati invece di essere sommati.</li>
  <li>
<strong>Duplicati non previsti</strong>, che gonfiano quantit&agrave; e fatturato.</li>
  <li>
<strong>Report non aggiornato</strong> dopo una modifica dei dati di origine.</li>
  <li>
<strong>Filtri dimenticati</strong>, causa comune di totali apparentemente incoerenti.</li>
</ul><p>Quando un totale non torna, non modifico subito la formula o il <a href="https://bartolomeoalberico.it/asterisco-sulla-tastiera-come-farlo-e-cosa-significa">layout</a>. Verifico prima il numero di righe incluse, i filtri attivi, il formato dei campi e l&rsquo;eventuale presenza di duplicati. Questo controllo richiede spesso pochi minuti e previene decisioni basate su <strong>numeri solo apparentemente affidabili</strong>.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/notebook-e-pc-portatile-qual-e-la-differenza-reale">Notebook e PC portatile, qual &egrave; la differenza reale?</a></strong></p><h3 id="pivot-o-formule-tradizionali">Pivot o formule tradizionali</h3><p>Le formule come SOMMA.PI&Ugrave;.SE sono ottime quando devo costruire un prospetto stabile, con celle e indicatori posizionati in modo preciso. La pivot &egrave; pi&ugrave; veloce per esplorare dati e cambiare prospettiva, ma pu&ograve; risultare meno adatta a <a href="https://bartolomeoalberico.it/cosa-sono-i-grafici-e-come-scegliere-quello-giusto">dashboard</a> molto personalizzate.</p><table>
  <tbody>
    <tr>
      <th>Soluzione</th>
      <th>La preferisco quando</th>
      <th>Limite principale</th>
    </tr>
    <tr>
      <td>Tabella pivot</td>
      <td>Devo esplorare e raggruppare molti dati rapidamente</td>
      <td>Richiede aggiornamento e controllo della sorgente</td>
    </tr>
    <tr>
      <td>Formule</td>
      <td>Serve un report fisso e altamente personalizzato</td>
      <td>Diventano difficili da mantenere su molti criteri</td>
    </tr>
    <tr>
      <td>Power Query</td>
      <td>Devo importare e pulire dati ripetitivi</td>
      <td>Ha una curva di apprendimento iniziale</td>
    </tr>
    <tr>
      <td>Power Pivot</td>
      <td>Devo collegare pi&ugrave; tabelle e creare misure complesse</td>
      <td>Richiede familiarit&agrave; con il Modello dati</td>
    </tr>
  </tbody>
</table><h2 id="il-metodo-piu-semplice-per-ottenere-report-affidabili">Il metodo pi&ugrave; semplice per ottenere report affidabili</h2><p>Io separo sempre tre livelli: dati originali, trasformazione e presentazione. La sorgente deve rimanere pulita, la pivot deve servire all&rsquo;analisi e il grafico o la dashboard devono comunicare solo gli indicatori utili.</p><p>Per un lavoro ricorrente, conviene standardizzare nomi delle colonne, formati delle date e categorie ammesse. Una piccola regola di convalida, applicata all&rsquo;inserimento dei dati, vale spesso pi&ugrave; di una correzione manuale fatta a fine mese.</p><p>Quando il dataset supera qualche decina di migliaia di righe, Excel pu&ograve; continuare a funzionare bene, ma prestazioni e affidabilit&agrave; dipendono da formule, collegamenti e numero di report presenti. Per archivi molto grandi o aggiornati di frequente, valuterei un modello dati o una soluzione di business intelligence.</p><p>La tabella pivot resta comunque uno dei modi pi&ugrave; rapidi per passare da dati sparsi a una prima risposta concreta. Imparare a usarla significa soprattutto imparare a fare domande corrette ai propri dati, scegliendo dimensioni, metriche e filtri coerenti con la decisione da prendere.</p><h2 id="il-vero-vantaggio-e-cambiare-prospettiva-senza-rifare-tutto">Il vero vantaggio &egrave; cambiare prospettiva senza rifare tutto</h2><p>Ora che sai che cosa sono le tabelle pivot, il punto essenziale &egrave; questo: non sono semplici tabelle pi&ugrave; ordinate, ma <strong>viste dinamiche costruite sopra un archivio</strong>. Permettono di confrontare categorie, periodi e risultati in pochi secondi, a patto che la sorgente sia strutturata e che il report venga aggiornato.</p><p>Per iniziare basta un caso concreto, come le vendite mensili o le spese per categoria. Costruisci una prima pivot, verifica ogni totale con la sorgente e solo dopo aggiungi grafici o indicatori. &Egrave; un approccio semplice, ma fa la differenza tra un prospetto decorativo e uno strumento utile per lavorare meglio.</p>]]></content:encoded>
      <author>Sandro Grasso</author>
      <category>Software e Produttività</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/4d3777cdd2af3dd19225674dd15a24cb/tabelle-pivot-in-excel-come-creare-report-affidabili.webp"/>
      <pubDate>Wed, 16 Sep 2026 19:02:00 +0200</pubDate>
    </item>
    <item>
      <title>Come trasferire foto da iPhone a PC Windows senza errori</title>
      <link>https://bartolomeoalberico.it/come-trasferire-foto-da-iphone-a-pc-windows-senza-errori</link>
      <description>Scopri come trasferire foto da iPhone a PC Windows via USB o iCloud, gestire HEIC e verificare i file senza perdere qualità.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Quando le foto restano sull&rsquo;<a href="https://bartolomeoalberico.it/come-liberare-spazio-su-iphone-e-scegliere-la-memoria-giusta">iPhone</a> e servono sul computer, la soluzione migliore dipende soprattutto da quante immagini devi spostare e dal fatto che tu usi gi&agrave; iCloud. Qui confronto i metodi pi&ugrave; pratici per capire come trasferire foto da <a href="https://bartolomeoalberico.it/modalita-dfu-su-iphone-quando-usarla-e-come-attivarla">iPhone</a> a PC Windows, gestire i formati HEIC e risolvere i problemi pi&ugrave; comuni senza perdere qualit&agrave; o duplicare file.</p><div class="short-summary">
  <h2 id="la-scelta-dipende-da-quantita-formato-e-connessione-disponibile">La scelta dipende da quantit&agrave;, formato e connessione disponibile</h2>
  <ul>
    <li>
<strong>Cavo USB:</strong> &egrave; il metodo pi&ugrave; rapido per poche centinaia di foto e non richiede Internet.</li>
    <li>
<strong>iCloud per Windows:</strong> conviene se vuoi mantenere la libreria sincronizzata automaticamente.</li>
    <li>
<strong>iCloud.com:</strong> &egrave; comodo per scaricare immagini occasionalmente senza installare software.</li>
    <li>
<strong>HEIC e HEVC:</strong> alcuni PC Windows possono richiedere estensioni per aprire foto e video recenti.</li>
    <li>
<strong>Backup sicuro:</strong> dopo la copia, verifica i file e spostali in una cartella separata da quella sincronizzata.</li>
  </ul>
</div><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/76fecdfde0c8f84cb0ebe9addd9d06ca/trasferire-foto-da-iphone-a-pc-windows-con-cavo-usb-app-foto.webp" class="image article-image" loading="lazy" alt="Guida per imparare come trasferire foto da iPhone a PC tramite l'app " my files e il sito docstransfer.com.></p><h2 id="quale-metodo-scegliere-in-base-alla-situazione">Quale metodo scegliere in base alla situazione</h2><p>Per decidere senza perdere tempo, considero tre scenari. Se devi copiare un album o qualche centinaio di immagini, <strong>il cavo USB</strong> resta la soluzione pi&ugrave; diretta. Se invece vuoi avere sempre le foto disponibili sul PC, iCloud &egrave; pi&ugrave; comodo, anche se dipende dalla connessione e dallo spazio cloud.</p><table>
  <tbody>
    <tr>
      <th>Metodo</th>
      <th>Ideale per</th>
      <th>Internet</th>
      <th>Limite principale</th>
    </tr>
    <tr>
      <td>Cavo USB e app Foto</td>
      <td>Trasferimenti rapidi e grandi quantit&agrave;</td>
      <td>No</td>
      <td>L&rsquo;iPhone deve essere sbloccato e riconosciuto</td>
    </tr>
    <tr>
      <td>Esplora file</td>
      <td>Copiare cartelle o selezionare file manualmente</td>
      <td>No</td>
      <td>Non mostra sempre tutti gli originali iCloud</td>
    </tr>
    <tr>
      <td>iCloud per Windows</td>
      <td>Sincronizzazione continua della libreria</td>
      <td>S&igrave;</td>
      <td>Usa spazio iCloud e pu&ograve; richiedere tempo</td>
    </tr>
    <tr>
      <td>iCloud.com</td>
      <td>Scaricare poche foto da qualsiasi PC</td>
      <td>S&igrave;</td>
      <td>Meno pratico per archivi molto grandi</td>
    </tr>
  </tbody>
</table><p>Io partirei dal cavo se vuoi una copia locale immediata. Per un <a href="https://bartolomeoalberico.it/dove-trovare-le-foto-archiviate-su-google-foto">archivio</a> fotografico che cresce ogni settimana, invece, preferisco iCloud per Windows, purch&eacute; sia chiaro che <strong>sincronizzare non significa creare automaticamente un backup indipendente</strong>.</p><h2 id="trasferire-le-foto-con-un-cavo-usb">Trasferire le foto con un cavo USB</h2><h3 id="importazione-con-lapp-foto-di-windows">Importazione con l&rsquo;app Foto di Windows</h3><p>Collega l&rsquo;iPhone al PC con un cavo che supporti il trasferimento dati, non soltanto la ricarica. Sblocca il telefono e, se compare l&rsquo;avviso, conferma <strong>&ldquo;Autorizza&rdquo; o &ldquo;Considera attendibile&rdquo;</strong>, quindi inserisci il codice dell&rsquo;iPhone.</p><ol>
  <li>Apri l&rsquo;app <strong>Foto</strong> di Windows.</li>
  <li>Seleziona <strong>Importa</strong> e scegli il dispositivo collegato.</li>
  <li>Attendi la scansione delle immagini.</li>
  <li>Seleziona le foto e i video da copiare.</li>
  <li>Scegli la cartella di destinazione e avvia l&rsquo;importazione.</li>
</ol><p>Per evitare confusione, salvo le immagini in cartelle divise per anno e mese, ad esempio &ldquo;Foto 2026&rdquo; e &ldquo;2026-09&rdquo;. L&rsquo;app consente di scegliere gli elementi, ma <strong>non conviene importare migliaia di file in un&rsquo;unica operazione</strong> se il computer &egrave; poco potente o contiene poco spazio libero.</p><h3 id="copia-manuale-da-esplora-file">Copia manuale da Esplora file</h3><p>In alternativa apri Esplora file, vai su <strong>Questo PC &gt; Apple iPhone &gt; Internal Storage &gt; DCIM</strong> e copia le cartelle sul disco. Questo metodo offre pi&ugrave; controllo sui file, ma la struttura delle cartelle dell&rsquo;iPhone non &egrave; sempre intuitiva e pu&ograve; cambiare in base alla versione di iOS.</p><p>La copia manuale &egrave; utile quando vuoi selezionare solo alcuni video molto pesanti o conservare la struttura originale. Dopo il trasferimento, apri alcune foto e riproduci almeno un video: <strong>una barra di avanzamento conclusa non garantisce da sola che ogni file sia integro</strong>.</p><p>Se usi Foto di iCloud con l&rsquo;opzione di ottimizzazione dello spazio, alcuni originali potrebbero non essere presenti fisicamente sull&rsquo;iPhone. In quel caso il PC pu&ograve; mostrare meno contenuti del previsto. Prima dell&rsquo;importazione, scarica gli originali sul telefono oppure usa direttamente iCloud.</p><h2 id="usare-icloud-senza-collegare-liphone">Usare iCloud senza collegare l&rsquo;iPhone</h2><h3 id="icloud-per-windows">iCloud per Windows</h3><p>Installa iCloud per Windows, accedi con lo stesso Apple Account usato sull&rsquo;iPhone e attiva la sezione Foto. Il PC mostrer&agrave; la libreria di iCloud in Esplora file e potr&agrave; scaricare le immagini quando saranno disponibili.</p><p>Questo sistema &egrave; pratico per chi lavora spesso con le fotografie, perch&eacute; evita di collegare il telefono ogni volta. La velocit&agrave; dipende dalla connessione e dalla quantit&agrave; di dati: <strong>un archivio da decine di gigabyte pu&ograve; richiedere diverse ore</strong>, soprattutto se contiene molti video.</p><p>Fai attenzione alla differenza tra file visibili e file realmente scaricati. Prima di spostare o archiviare una foto, assicurati che sia disponibile offline. Per una copia definitiva, duplicala in una cartella non sincronizzata o su un disco esterno, cos&igrave; una futura eliminazione su iCloud non rischia di propagarsi anche al PC.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/dove-trovare-le-foto-archiviate-su-google-foto">Dove trovare le foto archiviate su Google Foto</a></strong></p><h3 id="scaricare-da-icloudcom">Scaricare da iCloud.com</h3><p>Se devi recuperare solo alcune immagini, accedi a iCloud.com dal browser, apri Foto, seleziona gli elementi e scaricali sul computer. &Egrave; la strada pi&ugrave; semplice quando lavori su un PC condiviso o non vuoi installare applicazioni.</p><p>Per poche decine di foto funziona bene. Per un archivio grande diventa meno pratico, perch&eacute; devi attendere il caricamento della libreria e gestire manualmente i download. Quando il browser propone il formato, scegli l&rsquo;originale se vuoi conservare <strong>qualit&agrave;, metadati e formato HEIC</strong>; scegli una versione compatibile se devi aprire subito i file con programmi Windows datati.</p><h2 id="gestire-heic-live-photos-e-video-pesanti">Gestire HEIC, Live Photos e video pesanti</h2><p>Gli iPhone recenti salvano spesso le immagini in <strong>HEIF con estensione HEIC</strong>, un formato che occupa meno spazio rispetto al JPEG mantenendo una buona qualit&agrave;. Se il PC non apre una foto, il problema non &egrave; necessariamente il trasferimento: pu&ograve; mancare il supporto al formato.</p><p>Puoi installare le estensioni HEIF disponibili per Windows oppure impostare l&rsquo;iPhone affinch&eacute; utilizzi un formato pi&ugrave; compatibile per le nuove fotografie. Nelle impostazioni di Foto cerca l&rsquo;opzione relativa al trasferimento su Mac o PC e valuta <strong>&ldquo;Automatico&rdquo;</strong> se preferisci che il dispositivo favorisca i formati leggibili dal computer.</p><p>Le Live Photos possono produrre pi&ugrave; elementi, perch&eacute; includono una fotografia e una breve sequenza video. Se ti serve soltanto l&rsquo;immagine fissa, esportala dall&rsquo;app Foto prima di trasferirla. I video, invece, possono occupare centinaia di megabyte o diversi gigabyte, quindi controlla lo spazio disponibile sul disco prima di iniziare.</p><p>Non convertire tutto in JPEG senza motivo. La conversione &egrave; utile per programmi incompatibili, ma pu&ograve; eliminare alcune informazioni del file originale. Io conservo sempre una copia nel formato nativo e creo versioni JPEG soltanto per condivisione, documenti o applicazioni che non supportano HEIC.</p><h2 id="risolvere-i-problemi-che-bloccano-limportazione">Risolvere i problemi che bloccano l&rsquo;importazione</h2><p>Quando il PC non vede l&rsquo;iPhone, procedi nell&rsquo;ordine pi&ugrave; semplice. Sblocca il telefono, scollega e ricollega il cavo, accetta la richiesta di autorizzazione e prova un&rsquo;altra porta USB. Molti problemi dipendono da <strong>cavi progettati solo per la ricarica</strong> o da porte USB instabili.</p><ul>
  <li>Riavvia iPhone e PC.</li>
  <li>Prova un cavo originale o certificato per il trasferimento dati.</li>
  <li>Installa gli aggiornamenti di Windows e dell&rsquo;app Dispositivi Apple, se presente.</li>
  <li>Lascia l&rsquo;iPhone sbloccato durante la scansione e l&rsquo;importazione.</li>
  <li>Riduci il trasferimento a gruppi pi&ugrave; piccoli, soprattutto con molti video.</li>
  <li>Controlla che il disco di destinazione abbia spazio sufficiente.</li>
</ul><p>Se l&rsquo;importazione si interrompe sempre nello stesso punto, copia prima le foto e rimanda i video. I filmati ad alta risoluzione sono i file pi&ugrave; esigenti e spesso rivelano problemi di cavo, spazio o compatibilit&agrave;. Dopo ogni gruppo, <strong>confronta il numero dei file copiati con quello selezionato</strong>.</p><p>Se mancano interi periodi della libreria, controlla iCloud e l&rsquo;opzione &ldquo;Ottimizza spazio iPhone&rdquo;. In quel caso insistere con Esplora file raramente risolve: &egrave; pi&ugrave; efficace scaricare gli originali da iCloud oppure attendere che il telefono completi il download prima di riprovare via USB.</p><h2 id="una-copia-ben-fatta-non-finisce-nella-cartella-dcim">Una copia ben fatta non finisce nella cartella DCIM</h2><p>Per un trasferimento occasionale basta il cavo USB e l&rsquo;app Foto di Windows. Se invece vuoi una gestione stabile, combina <strong>iCloud per la disponibilit&agrave;</strong> con una copia locale separata per la sicurezza. Non cancellare le immagini dall&rsquo;iPhone finch&eacute; non hai aperto alcuni file sul PC e verificato anche i video pi&ugrave; importanti.</p><p>La regola che seguo &egrave; semplice: una copia sul computer, una seconda copia su un disco esterno e, se le foto sono davvero importanti, una terza copia cloud. Cos&igrave; il trasferimento non diventa soltanto un modo per liberare spazio sul telefono, ma un archivio che resta accessibile anche in caso di errore, guasto o sincronizzazione indesiderata.</p>]]></content:encoded>
      <author>Xavier Grassi</author>
      <category>Smartphone e Tablet</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/cfffa716c8fc5395ceecd820e624069b/come-trasferire-foto-da-iphone-a-pc-windows-senza-errori.webp"/>
      <pubDate>Tue, 15 Sep 2026 18:23:00 +0200</pubDate>
    </item>
    <item>
      <title>Autofattura elettronica, codici TD e scadenze senza errori</title>
      <link>https://bartolomeoalberico.it/autofattura-elettronica-codici-td-e-scadenze-senza-errori</link>
      <description>Autofattura elettronica: codici TD, scadenze e registrazione IVA per acquisti esteri. Scopri come evitare errori e gestirla con il software.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Quando un&rsquo;azienda italiana acquista servizi dall&rsquo;estero, riceve una fattura senza IVA o si trova davanti a un fornitore che non ha fatturato correttamente, la gestione non si chiude con la semplice registrazione del documento. L&rsquo;<strong>autofattura elettronica</strong> serve a integrare o sostituire la fattura in casi precisi, con codici XML, scadenze e registrazioni da rispettare. Qui chiarisco quando &egrave; obbligatoria, quale tipo documento scegliere, come gestirla con un software e quali errori possono costare caro.</p><div class="short-summary">
<h2 id="le-regole-essenziali-per-gestire-correttamente-il-documento">Le regole essenziali per gestire correttamente il documento</h2>
<ul>
<li>
<strong>Non esiste un solo caso</strong>: integrazione IVA e vera autofattura seguono logiche diverse.</li>
<li>
<strong>TD16</strong> identifica il reverse charge interno, mentre TD17, TD18 e TD19 riguardano soprattutto gli acquisti dall&rsquo;estero.</li>
<li>Per molte operazioni estere la trasmissione allo <strong>SdI va fatta entro il giorno 15 del mese successivo</strong>.</li>
<li>L&rsquo;IVA va calcolata con l&rsquo;aliquota corretta e registrata, di norma, sia tra le vendite sia tra gli acquisti.</li>
<li>Un buon gestionale deve controllare <strong>scadenze, codici, anagrafiche e ricevute di consegna</strong>.</li>
</ul>
</div><h2 id="che-cose-e-quando-serve-davvero">Che cos&rsquo;&egrave; e quando serve davvero</h2><p>In termini semplici, &egrave; il documento con cui il <strong>cessionario o committente</strong>, cio&egrave; chi compra, assolve un obbligo che normalmente spetterebbe al fornitore. Non significa per&ograve; che il cliente possa emettere una fattura al posto del venditore ogni volta che lo preferisce. La procedura nasce da una norma specifica, spesso collegata al <strong>reverse charge</strong>, il meccanismo con cui l&rsquo;IVA viene applicata e dichiarata dal destinatario dell&rsquo;operazione.</p><p>Il caso pi&ugrave; comune riguarda un&rsquo;impresa italiana che compra un servizio da un fornitore estero. Il fornitore pu&ograve; emettere una fattura senza IVA italiana, ma l&rsquo;acquirente deve integrare il documento e comunicare l&rsquo;operazione tramite un file XML inviato al <a href="https://bartolomeoalberico.it/bollo-fattura-elettronica-senza-iva-quando-si-pagano-2-euro">Sistema di Interscambio</a>. Il risultato contabile pu&ograve; essere neutro per chi detrae integralmente l&rsquo;imposta, ma l&rsquo;adempimento resta obbligatorio.</p><p>Io distinguo sempre due situazioni prima ancora di aprire il gestionale. Nella <strong>integrazione</strong> esiste gi&agrave; una fattura, che viene completata con imponibile, aliquota e imposta; nell&rsquo;<strong>autofattura vera e propria</strong>, invece, il documento viene emesso dal cliente perch&eacute; la fattura del fornitore manca o perch&eacute; la legge attribuisce direttamente a lui l&rsquo;obbligo.</p><h3 id="non-e-una-fattura-per-farsi-rimborsare-un-acquisto">Non &egrave; una fattura per farsi rimborsare un acquisto</h3><p>Un equivoco frequente &egrave; pensare che il documento generi un nuovo ricavo o un credito automatico. Non &egrave; cos&igrave;. L&rsquo;importo descrive un&rsquo;operazione gi&agrave; avvenuta e serve soprattutto a <strong>regolarizzare l&rsquo;IVA e la contabilit&agrave;</strong>. Il pagamento al fornitore resta disciplinato dalla fattura commerciale o dal contratto originario.</p><h2 id="i-codici-documento-da-scegliere-senza-confusione">I codici documento da scegliere senza confusione</h2><p>La scelta del codice XML &egrave; il punto in cui molti errori diventano inevitabili. Un software serio non dovrebbe limitarsi a mostrare una tendina, ma collegare il codice al tipo di operazione, al Paese del fornitore e alla data da cui decorre il termine.</p><table>
<tbody>
<tr>
<th>Codice</th>
<th>Quando si usa</th>
<th>Esempio pratico</th>
</tr>
<tr>
<td><strong>TD16</strong></td>
<td>Integrazione di una fattura per reverse charge interno</td>
<td>Acquisto interno soggetto a inversione contabile</td>
</tr>
<tr>
<td><strong>TD17</strong></td>
<td>Acquisto di servizi da un fornitore estero</td>
<td>Consulenza software ricevuta da una societ&agrave; UE o extra UE</td>
</tr>
<tr>
<td><strong>TD18</strong></td>
<td>Acquisto intracomunitario di beni</td>
<td>Hardware acquistato da un fornitore francese e spedito in Italia</td>
</tr>
<tr>
<td><strong>TD19</strong></td>
<td>Acquisto di beni gi&agrave; presenti in Italia da soggetto estero</td>
<td>Merce venduta da un operatore estero ma consegnata da un magazzino italiano</td>
</tr>
<tr>
<td><strong>TD20</strong></td>
<td>Regolarizzazioni e integrazioni in casi previsti dalla normativa</td>
<td>Fattura non ricevuta o operazione da regolarizzare secondo le regole applicabili</td>
</tr>
<tr>
<td><strong>TD21</strong></td>
<td>Regolarizzazione dello splafonamento</td>
<td>Superamento del plafond disponibile per un esportatore abituale</td>
</tr>
<tr>
<td><strong>TD27</strong></td>
<td>Autoconsumo o cessione gratuita senza rivalsa</td>
<td>Destinazione personale di beni dell&rsquo;impresa</td>
</tr>
</tbody>
</table><p>La tabella va letta come una mappa, non come un automatismo. Per esempio, un acquisto di beni dall&rsquo;estero non diventa TD18 solo perch&eacute; il fornitore ha sede fuori dall&rsquo;Italia. Se la merce era gi&agrave; in territorio italiano, la casistica pu&ograve; essere quella del <strong>TD19</strong>. &Egrave; una differenza piccola sullo schermo, ma decisiva per la correttezza fiscale.</p><p>Le omissioni o le fatture irregolari verso un fornitore italiano seguono una procedura distinta rispetto al semplice reverse charge. In questi casi non conviene riciclare un TD17 o un TD19: bisogna verificare con il commercialista il codice e il rimedio applicabile alla specifica violazione.</p><h2 id="scadenze-e-procedura-operativa">Scadenze e procedura operativa</h2><p>Per gli acquisti esteri, la regola pratica pi&ugrave; importante &egrave; il termine del <strong>15 del mese successivo</strong> alla ricezione della fattura o, nei casi in cui non esista un documento estero da integrare, all&rsquo;effettuazione dell&rsquo;operazione. Per i servizi extra UE il momento rilevante pu&ograve; coincidere con l&rsquo;ultimazione della prestazione o con il pagamento anticipato, quindi la data non va impostata in modo meccanico.</p><h3 id="il-flusso-corretto-in-cinque-passaggi">Il flusso corretto in cinque passaggi</h3><ol>
<li>
<strong>Classificare l&rsquo;operazione</strong> distinguendo servizio, bene intracomunitario, bene gi&agrave; presente in Italia e reverse charge interno.</li>
<li>
<strong>Controllare la fattura di partenza</strong>, compresi dati del fornitore, numero, data, imponibile, valuta e descrizione.</li>
<li>
<strong>Creare il file XML</strong> con il tipo documento appropriato e con il fornitore indicato come cedente o prestatore.</li>
<li>
<strong>Inviare il documento allo SdI</strong> entro la scadenza prevista, verificando che non venga scartato.</li>
<li>
<strong>Registrare l&rsquo;operazione</strong> nei registri IVA e conservare insieme la fattura originale, il documento integrativo e la ricevuta telematica.</li>
</ol><p>Nel documento il fornitore resta normalmente indicato nel blocco <strong>CedentePrestatore</strong>, mentre l&rsquo;impresa italiana compare come CessionarioCommittente. Per TD17, TD18 e TD19 il file non &egrave; una nuova fattura commerciale da spedire al fornitore: &egrave; soprattutto il documento con cui l&rsquo;acquirente comunica e assolve l&rsquo;obbligo IVA.</p><p>Immaginiamo un servizio di consulenza da <strong>1.000 euro</strong> acquistato da una societ&agrave; estera, soggetto all&rsquo;aliquota italiana del 22%. L&rsquo;imponibile resta 1.000 euro, l&rsquo;IVA da integrare &egrave; 220 euro e il totale contabile dell&rsquo;operazione diventa 1.220 euro. Se l&rsquo;impresa ha pieno diritto alla detrazione, i 220 euro vengono normalmente rilevati sia a debito sia a credito, ma l&rsquo;operazione deve comunque comparire correttamente nella liquidazione.</p><p>Il documento va controllato anche dopo l&rsquo;invio. Una ricevuta di <strong>scarto</strong> non equivale a un adempimento completato. Il file deve essere corretto e ritrasmesso, mantenendo traccia del primo invio e della nuova ricevuta, perch&eacute; la gestione documentale &egrave; parte della prova di regolarit&agrave;.</p><h2 id="come-gestirla-con-software-e-automazioni">Come gestirla con software e automazioni</h2><p>Per una o due operazioni occasionali pu&ograve; bastare la procedura dell&rsquo;Agenzia delle Entrate. Quando arrivano fatture da piattaforme <a href="https://bartolomeoalberico.it/che-cosa-significa-device-e-come-scegliere-quello-giusto">cloud</a>, marketplace, servizi pubblicitari e fornitori internazionali, per&ograve;, il problema non &egrave; pi&ugrave; creare un XML: &egrave; <strong>non perdere una data</strong> e non associare il codice sbagliato a un documento apparentemente simile.</p><p>Nel mio modo di lavorare, il gestionale deve prima importare la fattura ricevuta e solo dopo proporre il documento integrativo. Questo evita di riscrivere a mano dati gi&agrave; presenti e riduce gli errori su <strong>partita IVA, codice Paese, valuta e imponibile</strong>. La proposta automatica va comunque verificata, soprattutto quando il fornitore vende beni e servizi nella stessa fattura.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/bollo-fattura-elettronica-senza-iva-quando-si-pagano-2-euro">Bollo fattura elettronica senza IVA - quando si pagano 2 euro?</a></strong></p><h3 id="le-funzioni-che-fanno-davvero-la-differenza">Le funzioni che fanno davvero la differenza</h3><ul>
<li>importazione automatica delle fatture XML e dei documenti PDF ricevuti via <a href="https://bartolomeoalberico.it/posta-elettronica-come-funziona-e-come-usarla-in-sicurezza">posta elettronica</a>;</li>
<li>riconoscimento del Paese del fornitore e suggerimento del codice TD corretto;</li>
<li>calcolo dell&rsquo;IVA secondo aliquota, natura e regime dell&rsquo;operazione;</li>
<li>avvisi prima della scadenza del giorno 15;</li>
<li>controllo dello stato del file presso lo SdI;</li>
<li>registrazione coordinata nei registri acquisti e vendite;</li>
<li>conservazione digitale di fattura, integrazione e ricevute;</li>
<li>log delle modifiche, utile quando pi&ugrave; persone lavorano sulla contabilit&agrave;.</li>
</ul><p>Non considero sufficiente un software che &ldquo;genera il documento&rdquo;. La parte delicata viene dopo: bisogna capire se il file &egrave; stato consegnato, se l&rsquo;imposta &egrave; stata registrata nel periodo corretto e se il documento originale &egrave; rintracciabile in pochi secondi. Un&rsquo;automazione senza controlli crea solo errori pi&ugrave; veloci.</p><h2 id="gli-errori-piu-comuni-e-come-evitarli">Gli errori pi&ugrave; comuni e come evitarli</h2><p>Il primo errore &egrave; usare sempre lo stesso codice per gli acquisti esteri. <strong>TD17, TD18 e TD19 non sono intercambiabili</strong> e la distinzione dipende dalla natura dell&rsquo;operazione, non soltanto dalla nazionalit&agrave; del fornitore.</p><p>Il secondo &egrave; confondere il momento di ricezione della fattura con la data del pagamento. Per molte integrazioni UE conta la ricezione del documento; per alcune operazioni extra UE pu&ograve; contare il momento in cui la prestazione &egrave; effettuata. Impostare la scadenza partendo dall&rsquo;estratto conto bancario pu&ograve; quindi essere fuorviante.</p><p>Un altro problema nasce dall&rsquo;aliquota. Il 22% &egrave; l&rsquo;aliquota ordinaria pi&ugrave; conosciuta, ma non &egrave; una risposta universale. Servizi digitali, beni agevolati, operazioni esenti e prestazioni non territorialmente rilevanti possono richiedere un trattamento diverso. Se il software propone automaticamente il 22%, io lo considero un suggerimento da controllare, non una conferma.</p><p>Attenzione anche all&rsquo;<strong>imposta di bollo</strong>. In linea generale, quando una fattura non applica l&rsquo;IVA e ricorrono i presupposti previsti, il bollo &egrave; di 2 euro per documento con importo rilevante superiore a 77,47 euro. Le integrazioni in reverse charge e alcune tipologie di documenti esteri possono essere escluse dai meccanismi automatici di controllo, quindi &egrave; prudente verificare come il gestionale tratta ogni codice.</p><p>Infine, molti archivi conservano la fattura ricevuta ma non il collegamento con l&rsquo;autofattura. &Egrave; una cattiva abitudine. Per ogni operazione dovrebbero restare associati <strong>documento originale, XML inviato, ricevuta SdI e registrazione contabile</strong>, con un riferimento comune facilmente ricercabile.</p><h2 id="la-scelta-pratica-per-professionisti-e-piccole-imprese">La scelta pratica per professionisti e piccole imprese</h2><p>Chi gestisce poche operazioni internazionali pu&ograve; partire dal portale gratuito dell&rsquo;Agenzia delle Entrate, purch&eacute; sappia classificare correttamente il documento e controlli manualmente le scadenze. Il risparmio economico &egrave; evidente, ma il tempo richiesto cresce rapidamente quando le fatture arrivano da pi&ugrave; fornitori o con frequenza settimanale.</p><p>Un gestionale integrato ha senso quando esistono <strong>acquisti esteri ricorrenti</strong>, pi&ugrave; utenti, numerosi documenti o un flusso condiviso con il commercialista. In quel caso la funzione pi&ugrave; utile non &egrave; il semplice invio, ma la riconciliazione tra fattura, codice documento, contabilit&agrave; e ricevuta.</p><p>Prima di scegliere uno strumento controllerei almeno questi aspetti:</p><ul>
<li>supporto aggiornato ai codici TD utilizzati nel 2026;</li>
<li>calendario delle scadenze configurabile per mese e tipologia di operazione;</li>
<li>gestione di fornitori UE ed extra UE senza anagrafiche duplicate;</li>
<li>possibilit&agrave; di correggere un documento prima dell&rsquo;invio definitivo;</li>
<li>esportazione completa dei file XML e delle ricevute;</li>
<li>accessi separati per impresa, collaboratori e consulente.</li>
</ul><p>Il criterio decisivo non &egrave; il numero di funzioni promesse nella schermata iniziale. &Egrave; la capacit&agrave; del sistema di spiegare <strong>perch&eacute; propone un certo codice</strong> e di segnalare cosa manca prima dell&rsquo;invio. Su questo punto, un prodotto semplice ma trasparente &egrave; spesso pi&ugrave; affidabile di una piattaforma ricca di automazioni opache.</p><h2 id="un-controllo-finale-evita-la-maggior-parte-dei-problemi">Un controllo finale evita la maggior parte dei problemi</h2><p>Prima di considerare chiuso l&rsquo;adempimento, verifico sempre quattro elementi: natura dell&rsquo;operazione, codice TD, data di decorrenza del termine e registrazione IVA. Se uno di questi dati non &egrave; chiaro, l&rsquo;invio automatico non risolve l&rsquo;incertezza, la nasconde soltanto.</p><p>La gestione digitale funziona bene quando il documento non viene trattato come un file isolato, ma come l&rsquo;ultimo passaggio di un processo ordinato. Con anagrafiche pulite, avvisi sulle scadenze e conservazione delle ricevute, anche una piccola impresa pu&ograve; ridurre il lavoro manuale senza rinunciare al controllo contabile.</p>]]></content:encoded>
      <author>Anastasio Longo</author>
      <category>Software e Produttività</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/f91529ad2b8578185930c00b1535cd7f/autofattura-elettronica-codici-td-e-scadenze-senza-errori.webp"/>
      <pubDate>Tue, 15 Sep 2026 16:42:00 +0200</pubDate>
    </item>
    <item>
      <title>SQL Server deadlock - cause, diagnosi e soluzioni pratiche</title>
      <link>https://bartolomeoalberico.it/sql-server-deadlock-cause-diagnosi-e-soluzioni-pratiche</link>
      <description>SQL Server deadlock: scopri come leggere il deadlock graph, correggere le cause e gestire l’errore 1205 con retry sicuri.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Una transazione resta bloccata, un&rsquo;altra attende una risorsa e in pochi secondi l&rsquo;applicazione inizia a restituire errori. Il termine tecnico <strong>sql server deadlock</strong> descrive proprio questo circolo vizioso tra sessioni concorrenti. In questa guida mostro come riconoscerlo, leggere il deadlock graph, intervenire sul codice e ridurre il rischio che il problema ritorni.</p><div class="short-summary">
<h2 id="le-informazioni-essenziali-per-gestire-un-deadlock-in-sql-server">Le informazioni essenziali per gestire un deadlock in SQL Server</h2>
<ul>
<li>
<strong>Un deadlock &egrave; un ciclo di attese</strong> tra due o pi&ugrave; <a href="https://bartolomeoalberico.it/innodb-come-funziona-e-quando-conviene-usarlo">transazioni</a>, non un semplice rallentamento.</li>
<li>SQL Server sceglie una <strong>transazione vittima</strong> e restituisce l&rsquo;errore 1205.</li>
<li>Il punto di partenza migliore &egrave; la sessione Extended Events <strong>system_health</strong>.</li>
<li>Le correzioni pi&ugrave; efficaci riguardano <strong>ordine delle operazioni, durata delle transazioni e indici</strong>.</li>
<li>L&rsquo;applicazione deve gestire il deadlock con un <strong>nuovo tentativo controllato</strong>, usando eventualmente un breve backoff.</li>
</ul>
</div><h2 id="che-cosa-succede-davvero-durante-un-deadlock">Che cosa succede davvero durante un deadlock</h2><p>Un blocco normale nasce quando una sessione deve attendere che un&rsquo;altra liberi una riga, una pagina o una tabella. Il deadlock &egrave; diverso perch&eacute; l&rsquo;attesa &egrave; circolare: la transazione A possiede una risorsa che serve a B, mentre B possiede una risorsa che serve ad A. Nessuna delle due pu&ograve; andare avanti da sola.</p><p>SQL Server rileva il ciclo e interrompe una delle transazioni. La sessione scelta diventa la <strong>vittima</strong>, il lavoro gi&agrave; svolto nella sua transazione viene annullato e il client riceve l&rsquo;errore <strong>1205</strong>. L&rsquo;altra transazione pu&ograve; quindi proseguire, ma l&rsquo;applicazione deve essere preparata a ripetere l&rsquo;operazione interrotta.</p><p>Questo dettaglio cambia il modo in cui affronto il problema. Un deadlock non si risolve semplicemente aumentando il timeout o riavviando il servizio SQL Server, perch&eacute; il riavvio cancella il sintomo e non elimina il conflitto nel codice o nel modello di accesso ai dati.</p><h3 id="deadlock-e-blocking-non-sono-la-stessa-cosa">Deadlock e blocking non sono la stessa cosa</h3><table>
<tbody>
<tr>
<th>Situazione</th>
<th>Che cosa accade</th>
<th>Intervento tipico</th>
</tr>
<tr>
<td>Blocking</td>
<td>Una sessione attende che un&rsquo;altra rilasci una risorsa.</td>
<td>Ridurre la durata della transazione o correggere la query bloccante.</td>
</tr>
<tr>
<td>Deadlock</td>
<td>Due o pi&ugrave; sessioni si attendono reciprocamente.</td>
<td>Eliminare il ciclo e gestire l&rsquo;errore 1205 con un retry.</td>
</tr>
<tr>
<td>Lock timeout</td>
<td>Una sessione supera il tempo massimo di attesa configurato.</td>
<td>Controllare la causa del blocco e il valore di <code>LOCK_TIMEOUT</code>.</td>
</tr>
</tbody>
</table><h2 id="le-cause-piu-comuni-nelle-applicazioni-reali">Le cause pi&ugrave; comuni nelle applicazioni reali</h2><p>La causa che incontro pi&ugrave; spesso &egrave; l&rsquo;<strong>ordine inverso di accesso alle tabelle</strong>. Una transazione aggiorna prima <code>Orders</code> e poi <code>Customers</code>, mentre un&rsquo;altra aggiorna prima <code>Customers</code> e poi <code>Orders</code>. Anche se ogni singola query sembra corretta, l&rsquo;insieme crea facilmente un ciclo.</p><p>La regola pratica &egrave; semplice: tutte le operazioni che modificano pi&ugrave; risorse dovrebbero seguire lo stesso ordine. Non basta applicarla a una stored procedure isolata, perch&eacute; il deadlock pu&ograve; nascere dall&rsquo;interazione tra codice applicativo, trigger, job pianificati e procedure eseguite da sistemi diversi.</p><h3 id="transazioni-troppo-lunghe">Transazioni troppo lunghe</h3><p>Pi&ugrave; una transazione resta aperta, pi&ugrave; a lungo conserva i lock. Una chiamata HTTP, una richiesta a un servizio esterno o una fase di elaborazione eseguita dentro <code>BEGIN TRAN</code> pu&ograve; trasformare un&rsquo;operazione breve in una finestra di conflitto molto ampia.</p><p>Io tengo dentro la transazione solo le istruzioni che devono essere atomiche. La validazione complessa, la preparazione dei dati e le chiamate esterne dovrebbero avvenire prima o dopo, quando il caso d&rsquo;uso lo permette. <strong>La durata reale della transazione</strong> conta spesso pi&ugrave; del numero di query contenute al suo interno.</p><h3 id="indici-mancanti-e-piani-di-esecuzione-inefficienti">Indici mancanti e piani di esecuzione inefficienti</h3><p>Una query che cerca poche righe ma non dispone dell&rsquo;indice adatto pu&ograve; leggere migliaia o milioni di record. Questo aumenta il numero di lock, allunga la transazione e pu&ograve; favorire anche l&rsquo;<strong>escalation dei lock</strong>, cio&egrave; il passaggio da lock pi&ugrave; granulari a lock su pagine o tabelle.</p><p>Non aggiungerei indici alla cieca. Prima controllerei il piano di esecuzione, i predicati usati nei filtri e l&rsquo;ordine delle colonne negli indici esistenti. Un indice ben scelto riduce il lavoro, ma uno superfluo aumenta il costo delle scritture e pu&ograve; introdurre nuovi compromessi.</p><h3 id="il-classico-schema-lettura-e-aggiornamento">Il classico schema lettura e aggiornamento</h3><p>Un pattern delicato &egrave; leggere una riga per verificare una condizione e aggiornarla solo in un secondo momento. Con transazioni concorrenti e livelli di isolamento pi&ugrave; restrittivi, due sessioni possono ottenere lock condivisi e poi tentare entrambe di convertirli in lock esclusivi.</p><p>Quando la logica lo richiede, l&rsquo;hint <code>UPDLOCK</code> pu&ograve; rendere esplicita l&rsquo;intenzione di aggiornare una riga. Non lo considero una cura universale: mantiene un lock pi&ugrave; impegnativo e, se usato senza criterio, pu&ograve; aumentare l&rsquo;attesa anzich&eacute; ridurla.</p><h2 id="come-diagnosticare-il-problema-senza-andare-a-tentativi">Come diagnosticare il problema senza andare a tentativi</h2><p>La prima cosa da cercare &egrave; il <strong>deadlock graph</strong>, non il solo messaggio mostrato dall&rsquo;applicazione. Il grafo contiene la vittima, i processi coinvolti, le risorse contese, le istruzioni SQL e i lock posseduti o richiesti.</p><p>Nelle versioni moderne di SQL Server, la sessione Extended Events <code>system_health</code> raccoglie gi&agrave; gli eventi <code>xml_deadlock_report</code>. In SQL Server Management Studio si pu&ograve; aprire il percorso <strong>Management, Extended Events, Sessions, system_health</strong> e visualizzare il target dell&rsquo;evento. Non disattiverei questa sessione: &egrave; attiva di default e ha un impatto normalmente molto contenuto.</p><h3 id="che-cosa-leggere-nel-grafo">Che cosa leggere nel grafo</h3><ul>
<li>
<strong>victim-list</strong> identifica la transazione terminata da SQL Server.</li>
<li>
<strong>process-list</strong> mostra session ID, query, <a href="https://bartolomeoalberico.it/creare-file-batch-su-windows-per-automatizzare-backup-e-database">database</a>, isolamento e informazioni sulla connessione.</li>
<li>
<strong>resource-list</strong> indica righe, chiavi, pagine, tabelle o metadati coinvolti nel conflitto.</li>
<li>I nodi con lock posseduti e richiesti permettono di ricostruire <strong>la direzione del ciclo</strong>.</li>
</ul><p>Osservo soprattutto tre elementi. Il primo &egrave; l&rsquo;ordine delle risorse, il secondo &egrave; la query che ha acquisito troppi lock e il terzo &egrave; il valore <strong>Log Used</strong>, utile per capire perch&eacute; SQL Server abbia scelto proprio quella sessione come vittima quando le priorit&agrave; erano uguali.</p><h3 id="una-verifica-rapida-con-transact-sql">Una verifica rapida con Transact-SQL</h3><pre><code>SELECT
    CAST(xet.target_data AS xml) AS target_data
FROM sys.dm_xe_session_targets AS xet
JOIN sys.dm_xe_sessions AS xe
    ON xe.address = xet.event_session_address
WHERE xe.name = N'system_health';</code></pre><p>La query consente di controllare i dati disponibili nel target della sessione. Per un&rsquo;analisi continuativa preferisco salvare gli eventi in un file Extended Events e conservarli abbastanza a lungo da confrontare orario, query e frequenza degli incidenti. In Azure SQL Database, invece, la raccolta pu&ograve; richiedere una sessione Extended Events dedicata con l&rsquo;evento appropriato.</p><h2 id="come-interrompere-il-ciclo-e-correggere-la-causa">Come interrompere il ciclo e correggere la causa</h2><p>La correzione migliore dipende dal grafo, ma nella pratica le soluzioni ricorrenti sono abbastanza riconoscibili. Uniformare l&rsquo;ordine di accesso alle tabelle, restringere i filtri, aggiungere l&rsquo;indice corretto e ridurre la durata della transazione risolvono molti casi senza modificare il livello di isolamento.</p><p>Quando il codice esegue una sequenza di aggiornamenti, cerco di renderla prevedibile. Se due transazioni devono modificare pi&ugrave; entit&agrave;, entrambe dovrebbero acquisire i lock nello stesso ordine e lavorare su un insieme di righe il pi&ugrave; piccolo possibile. <strong>La prevedibilit&agrave; della concorrenza</strong> &egrave; pi&ugrave; utile di una serie di hint aggiunti per tentativi.</p><h3 id="gestire-lerrore-1205-nellapplicazione">Gestire l&rsquo;errore 1205 nell&rsquo;applicazione</h3><p>Il retry deve ripetere l&rsquo;intera transazione, non soltanto l&rsquo;istruzione che ha fallito. Deve inoltre essere limitato, perch&eacute; una transazione non idempotente ripetuta senza controllo potrebbe creare duplicati o applicare due volte lo stesso effetto.</p><pre><code>DECLARE @attempt tinyint = 1;
DECLARE @max_attempts tinyint = 3;

WHILE @attempt &lt;= @max_attempts
BEGIN
    BEGIN TRY
        BEGIN TRANSACTION;

        -- Operazioni che devono essere atomiche

        COMMIT TRANSACTION;
        BREAK;
    END TRY
    BEGIN CATCH
        IF XACT_STATE() &lt;&gt; 0
            ROLLBACK TRANSACTION;

        IF ERROR_NUMBER() &lt;&gt; 1205
            THROW;

        IF @attempt = @max_attempts
            THROW;

        WAITFOR DELAY '00:00:00.200';
        SET @attempt += 1;
    END CATCH;
END;</code></pre><p>In produzione userei un backoff leggermente variabile, ad esempio tra <strong>100 e 500 millisecondi</strong>, per evitare che pi&ugrave; client ritentino nello stesso istante. Tre tentativi sono un punto di partenza ragionevole, non una legge: il valore deve dipendere dalla latenza accettabile e dall&rsquo;importanza dell&rsquo;operazione.</p><h3 id="quando-usare-deadlock-priority">Quando usare DEADLOCK_PRIORITY</h3><p><code>SET DEADLOCK_PRIORITY LOW</code> &egrave; utile quando una sessione secondaria, come un report o un job di manutenzione, deve cedere il passo a una transazione operativa. Serve a decidere chi sar&agrave; pi&ugrave; probabilmente la vittima, non a eliminare il conflitto.</p><p>Non lo userei per nascondere deadlock frequenti. Se l&rsquo;errore compare ogni giorno, impostare una priorit&agrave; bassa e ignorare il problema significa soltanto spostare il costo sull&rsquo;utente o sul processo batch.</p><h2 id="come-ridurre-il-rischio-nel-design-del-database">Come ridurre il rischio nel design del database</h2><p>Il livello di isolamento <code>READ_COMMITTED_SNAPSHOT</code> pu&ograve; ridurre i conflitti tra letture e scritture perch&eacute; le letture usano versioni delle righe invece di mantenere gli stessi lock condivisi. &Egrave; una scelta interessante per sistemi con molte letture concorrenti, ma va valutata osservando il consumo di <strong>tempdb</strong> e il comportamento delle transazioni lunghe.</p><p>Il row versioning non elimina i deadlock tra due scritture che modificano le stesse righe. Inoltre, pu&ograve; portare a conflitti diversi, soprattutto con snapshot isolation e aggiornamenti concorrenti. Lo considero uno strumento di progettazione, non un interruttore da attivare per risolvere ogni problema di blocco.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/python-at-staticmethod-quando-usarlo-e-quali-errori-evitare">Python @staticmethod - quando usarlo e quali errori evitare</a></strong></p><h3 id="pratiche-che-fanno-davvero-la-differenza">Pratiche che fanno davvero la differenza</h3><ul>
<li>Tenere le transazioni <strong>brevi e delimitate</strong> alle sole operazioni necessarie.</li>
<li>Usare lo stesso ordine di accesso per tabelle e risorse condivise.</li>
<li>Verificare gli indici con piani di esecuzione e statistiche aggiornate.</li>
<li>Evitare di usare <code>NOLOCK</code> come rimedio automatico, perch&eacute; pu&ograve; restituire dati sporchi o incoerenti.</li>
<li>Separare i job pesanti dalle finestre di massimo traffico quando &egrave; possibile.</li>
<li>Rendere le operazioni ritentabili e idempotenti prima di aggiungere il retry.</li>
</ul><p>Un errore comune &egrave; concentrarsi solo sulla query pi&ugrave; lenta. Un deadlock dipende dalla combinazione tra query, ordine, isolamento, durata e dati coinvolti. Per questo confronto sempre almeno <strong>due esecuzioni concorrenti</strong>, anche quando una sola sembra essere la responsabile.</p><h2 id="la-checklist-che-uso-prima-di-chiudere-un-incidente-di-deadlock">La checklist che uso prima di chiudere un incidente di deadlock</h2><p>Conservo il grafo XML e annoto l&rsquo;orario, il <a href="https://bartolomeoalberico.it/ambiente-di-staging-guida-ai-controlli-prima-del-rilascio">database</a>, l&rsquo;applicazione e le sessioni coinvolte. Poi verifico se il caso &egrave; ricorrente o isolato, se le query seguono ordini diversi e se un piano di esecuzione sta leggendo molte pi&ugrave; righe del necessario.</p><p>Infine applico una correzione misurabile, come un indice, una transazione pi&ugrave; breve o un ordine uniforme degli aggiornamenti, e controllo il comportamento nei giorni successivi. <strong>Un deadlock gestito correttamente</strong> non &egrave; solo un errore che l&rsquo;applicazione ritenta: &egrave; un segnale utile per rendere il database pi&ugrave; prevedibile sotto carico.</p>]]></content:encoded>
      <author>Sandro Grasso</author>
      <category>Programmazione e Database</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/239881d4179a08f8c9860e2e23f569f2/sql-server-deadlock-cause-diagnosi-e-soluzioni-pratiche.webp"/>
      <pubDate>Tue, 15 Sep 2026 14:12:00 +0200</pubDate>
    </item>
    <item>
      <title>Siri non risponde? Cosa controllare su iPhone e iPad</title>
      <link>https://bartolomeoalberico.it/siri-non-risponde-cosa-controllare-su-iphone-e-ipad</link>
      <description>Siri non risponde su iPhone o iPad? Scopri come controllare impostazioni, rete, microfono, volume e AirPods in pochi minuti.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Quando Siri non reagisce alla voce o si attiva senza pronunciare alcuna risposta, il problema pu&ograve; dipendere da un&rsquo;impostazione, dal microfono, dalla connessione o da un semplice blocco temporaneo di iOS. Capire <strong>perch&eacute; Siri non risponde</strong> permette di intervenire senza cancellare dati o ripristinare subito l&rsquo;iPhone. Qui raccolgo i controlli pi&ugrave; efficaci per iPhone e iPad, con indicazioni utili anche per AirPods e CarPlay.</p><div class="short-summary">
<h2 id="le-verifiche-piu-importanti-richiedono-pochi-minuti">Le verifiche pi&ugrave; importanti richiedono pochi minuti</h2>
<ul>
<li>
<strong>Controlla l&rsquo;attivazione</strong> di Siri e del comando &ldquo;Ehi Siri&rdquo; nelle impostazioni.</li>
<li>
<strong>Verifica la connessione Internet</strong>, perch&eacute; molte richieste non possono essere elaborate offline.</li>
<li>
<strong>Riaddestra la voce</strong> disattivando e riattivando il riconoscimento di Siri.</li>
<li>
<strong>Prova il microfono</strong> con Memo Vocali o con una registrazione video.</li>
<li>
<strong>Controlla il volume e la modalit&agrave; Silenzioso</strong> se Siri si attiva ma non parla.</li>
</ul>
</div><h2 id="perche-siri-puo-smettere-di-rispondere">Perch&eacute; Siri pu&ograve; smettere di rispondere</h2><p>Il primo indizio &egrave; il comportamento del dispositivo. Se sullo schermo non compare alcuna animazione, Siri probabilmente <strong>non sta ascoltando</strong>; se invece appare l&rsquo;interfaccia ma non arriva una risposta, il problema riguarda pi&ugrave; spesso la rete, l&rsquo;audio o l&rsquo;elaborazione della richiesta.</p><p>Le cause pi&ugrave; comuni sono queste:</p><ul>
<li>Siri &egrave; stata disattivata dopo un aggiornamento o una modifica delle impostazioni.</li>
<li>Il comando vocale non viene riconosciuto correttamente.</li>
<li>Il microfono &egrave; coperto da polvere, pellicola o custodia.</li>
<li>La connessione Wi-Fi o dati mobili &egrave; assente o instabile.</li>
<li>Il dispositivo &egrave; collegato a cuffie, AirPods o all&rsquo;impianto dell&rsquo;auto.</li>
<li>Una VPN o un profilo aziendale interferisce con i servizi Apple.</li>
<li>Siri risponde, ma con un volume troppo basso o senza voce.</li>
</ul><p>

Nella mia esperienza, l&rsquo;errore pi&ugrave; frequente non &egrave; un guasto grave: spesso Siri &egrave; attiva, ma &egrave; stato modificato il metodo di attivazione oppure il telefono non riconosce pi&ugrave; bene la voce dell&rsquo;utente. Per questo conviene procedere dai controlli pi&ugrave; semplici e lasciare il <a href="https://bartolomeoalberico.it/modalita-dfu-su-iphone-quando-usarla-e-come-attivarla">ripristino completo</a> come ultima possibilit&agrave;.

</p><h2 id="controlla-attivazione-lingua-e-metodo-di-avvio">Controlla attivazione, lingua e metodo di avvio</h2><p>

Apri <strong>Impostazioni</strong> e cerca la sezione &ldquo;<a href="https://bartolomeoalberico.it/iphone-se-2020-fino-a-quando-ricevera-aggiornamenti">Apple Intelligence</a> e Siri&rdquo; oppure semplicemente &ldquo;Siri&rdquo;, in base alla versione di iOS o iPadOS installata. Entra in &ldquo;Parla e scrivi a Siri&rdquo; e verifica che siano abilitati &ldquo;Siri&rdquo; o &ldquo;Ehi Siri&rdquo;. Se risultano gi&agrave; attivi, disattivali, riavvia il dispositivo e riattivali.

</p><p>Questa operazione obbliga il sistema a ricreare la configurazione del riconoscimento vocale. Quando compare la procedura guidata, pronuncia tutte le frasi richieste in un ambiente relativamente silenzioso, mantenendo una distanza normale dal microfono.</p><h3 id="prova-il-tasto-fisico">Prova il tasto fisico</h3><p>Per capire se il problema riguarda solo l&rsquo;attivazione vocale, tieni premuto il <strong>tasto laterale su iPhone</strong> oppure il tasto superiore su iPad e formula una richiesta. Sui modelli pi&ugrave; vecchi con pulsante Home, usa il tasto Home. Se Siri risponde in questo modo, il servizio funziona e il difetto &egrave; probabilmente legato a &ldquo;Ehi Siri&rdquo;, al riconoscimento della voce o a un ambiente troppo rumoroso.</p><h3 id="controlla-la-lingua-impostata">Controlla la lingua impostata</h3><p>Verifica anche la lingua di Siri. Una lingua diversa da quella con cui pronunci i comandi pu&ograve; ridurre il riconoscimento, soprattutto con nomi propri, indirizzi e termini tecnici. Le funzioni disponibili possono inoltre cambiare in base a <strong>modello, sistema operativo, lingua e area geografica</strong>, quindi non tutte le richieste hanno lo stesso comportamento su ogni dispositivo.</p><h2 id="verifica-rete-vpn-e-aggiornamenti">Verifica rete, VPN e aggiornamenti</h2><p>Siri ha bisogno di una connessione Internet per molte attivit&agrave;, come cercare informazioni, fornire indicazioni, controllare il <a href="https://bartolomeoalberico.it/widget-android-come-rendere-piu-utile-la-schermata-home">meteo</a> o interagire con servizi online. Prova ad aprire una pagina web in Safari: se non si carica o impiega molto tempo, disattiva e riattiva il Wi-Fi oppure passa temporaneamente alla rete dati.</p><p>Se il Wi-Fi funziona ma Siri continua a non rispondere, controlla la presenza di una <strong>VPN</strong>. Alcuni profili VPN, soprattutto quelli installati per lavoro o scuola, possono impedire il corretto accesso ai servizi Siri. Disattivala solo per il tempo necessario alla prova, poi riattivala se ti serve per motivi di sicurezza o per accedere alla rete aziendale.</p><p>Un riavvio risolve diversi blocchi temporanei dei servizi vocali. Dopo aver spento e riacceso iPhone o iPad, torna nelle impostazioni e verifica che la sezione dedicata a Siri sia ancora presente e configurata correttamente.</p><p>Infine controlla gli aggiornamenti in <strong>Impostazioni &gt; Generali &gt; Aggiornamento software</strong>. Non &egrave; necessario aggiornare alla cieca ogni volta che Siri si blocca, ma installare una versione disponibile pu&ograve; correggere incompatibilit&agrave; e problemi introdotti da aggiornamenti precedenti. Assicurati di avere batteria sufficiente, connessione stabile e spazio libero.</p><h2 id="quando-il-microfono-non-ascolta-la-tua-voce">Quando il microfono non ascolta la tua voce</h2><p>Se Siri si apre ma trascrive parole sbagliate, resta in ascolto o non rileva nulla, il sospetto principale &egrave; il microfono. Custodie robuste, pellicole applicate male, sporco e residui possono attenuare la voce. Rimuovi temporaneamente la custodia e pulisci con delicatezza le aperture usando un panno morbido e asciutto, senza inserire oggetti appuntiti.</p><p>Il test pi&ugrave; pratico consiste nell&rsquo;aprire <strong>Memo Vocali</strong>, registrare alcune frasi e riascoltarle. Puoi anche registrare un breve video con la fotocamera anteriore e uno con quella posteriore. Se la voce risulta bassa, ovattata o assente in tutte le prove, il problema non &egrave; Siri ma probabilmente il comparto audio del dispositivo.</p><p>Se il microfono funziona nelle registrazioni ma non con Siri, prova a parlare pi&ugrave; vicino alla parte inferiore dell&rsquo;iPhone, riduci il rumore di fondo e scollega eventuali AirPods o dispositivi Bluetooth. In auto, per esempio, Siri potrebbe ricevere l&rsquo;audio dal microfono del sistema multimediale invece che da quello dell&rsquo;iPhone.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/ios-27-su-iphone-cosa-cambia-davvero-in-italia">iOS 27 su iPhone, cosa cambia davvero in Italia</a></strong></p><h3 id="un-test-rapido-per-distinguere-software-e-hardware">Un test rapido per distinguere software e hardware</h3><table>
<tbody>
<tr>
<th>Comportamento</th>
<th>Probabile causa</th>
<th>Prova consigliata</th>
</tr>
<tr>
<td>Siri non si apre</td>
<td>Attivazione vocale disabilitata o voce non riconosciuta</td>
<td>Usa il tasto laterale e configura di nuovo &ldquo;Ehi Siri&rdquo;</td>
</tr>
<tr>
<td>Siri si apre ma non capisce</td>
<td>Microfono ostruito o rumore ambientale</td>
<td>Testa Memo Vocali e rimuovi la custodia</td>
</tr>
<tr>
<td>Siri capisce ma non risponde</td>
<td>Connessione assente o servizio temporaneamente bloccato</td>
<td>Controlla Internet e riavvia il dispositivo</td>
</tr>
<tr>
<td>Siri risponde solo sullo schermo</td>
<td>Risposte vocali disabilitate o volume basso</td>
<td>Controlla &ldquo;Risposte di Siri&rdquo; e il volume multimediale</td>
</tr>
</tbody>
</table><h2 id="se-siri-si-attiva-ma-rimane-senza-voce">Se Siri si attiva ma rimane senza voce</h2><p>Questo caso viene spesso scambiato per un malfunzionamento completo. In realt&agrave; Siri pu&ograve; mostrare correttamente la richiesta e fornire la risposta sul display, ma non pronunciarla perch&eacute; l&rsquo;iPhone &egrave; in modalit&agrave; Silenzioso o perch&eacute; le risposte parlate non sono preferite.</p><p>Vai in <strong>Impostazioni &gt; Apple Intelligence e Siri &gt; Risposte di Siri</strong> e seleziona &ldquo;Preferisci risposte parlate&rdquo;. Alza il volume mentre Siri &egrave; effettivamente attiva, perch&eacute; i pulsanti laterali possono regolare un livello diverso quando l&rsquo;assistente non &egrave; in uso.</p><p>Controlla anche che l&rsquo;audio non venga inviato a un dispositivo Bluetooth. Un paio di AirPods lasciato collegato in un&rsquo;altra stanza o l&rsquo;autoradio usata poco prima possono diventare l&rsquo;uscita scelta dal sistema. Disattivare momentaneamente il Bluetooth &egrave; un modo veloce per escludere questa possibilit&agrave;.</p><p>Se utilizzi l&rsquo;iPad con lo schermo rivolto verso il basso o chiuso in una custodia, l&rsquo;attivazione vocale pu&ograve; comportarsi in modo diverso. In questi casi conviene usare il tasto superiore oppure attivare <strong>&ldquo;Scrivi a Siri&rdquo;</strong> nelle opzioni di accessibilit&agrave;, cos&igrave; puoi inviare la richiesta digitandola.</p><h2 id="cosa-cambia-con-airpods-apple-watch-e-carplay">Cosa cambia con AirPods, Apple Watch e CarPlay</h2><p>Quando Siri non risponde attraverso un accessorio, non significa necessariamente che l&rsquo;iPhone abbia un problema. AirPods, Apple Watch e CarPlay usano microfoni, altoparlanti e connessioni proprie, quindi &egrave; utile ripetere la prova direttamente sul telefono.</p><ul>
<li>
<strong>AirPods</strong>: verifica che siano collegati, carichi e inseriti correttamente. Prova a usare Siri tenendo premuto il controllo previsto dal modello.</li>
<li>
<strong>Apple Watch</strong>: tieni premuta la Digital Crown e parla dopo l&rsquo;attivazione. Se funziona solo cos&igrave;, controlla il rilevamento vocale sull&rsquo;iPhone abbinato.</li>
<li>
<strong>CarPlay</strong>: prova il pulsante vocale sul volante e verifica la connessione via cavo o wireless. Rumore elevato e microfono dell&rsquo;auto possono ridurre la precisione.</li>
<li>
<strong>iPad</strong>: prova sia il tasto superiore sia l&rsquo;attivazione vocale, soprattutto se usi una custodia con copertura magnetica.</li>
</ul><p>Il confronto diretto &egrave; molto utile: se Siri funziona dall&rsquo;iPhone ma non dagli AirPods, non perdere tempo a modificare decine di impostazioni sul telefono. Concentrati sull&rsquo;accessorio, sul suo microfono e sul collegamento Bluetooth.</p><h2 id="quando-serve-assistenza-e-cosa-evitare">Quando serve assistenza e cosa evitare</h2><p>Se hai riattivato Siri, verificato la rete, aggiornato il sistema e testato il microfono senza risultati, osserva se anche chiamate, video e registrazioni presentano problemi audio. Un difetto che coinvolge pi&ugrave; app fa pensare a <strong>un problema hardware</strong>, soprattutto dopo una caduta o il contatto con acqua.</p><p>Evita di ripristinare subito tutte le impostazioni. Prima annota quali prove hai gi&agrave; eseguito e se il problema riguarda solo Siri, solo la voce o l&rsquo;intero microfono. Il ripristino pu&ograve; cancellare preferenze Wi-Fi, configurazioni VPN e impostazioni personalizzate senza risolvere un guasto fisico.</p><p>Se il dispositivo &egrave; gestito da un&rsquo;azienda o da una scuola, chiedi al reparto IT prima di rimuovere profili e certificati. Quando invece il microfono resta difettoso anche in Memo Vocali e Fotocamera, la scelta pi&ugrave; sensata &egrave; rivolgersi all&rsquo;assistenza Apple o a un centro autorizzato.</p><p>Per la maggior parte dei casi bastano tre passaggi: <strong>riattivare e riconfigurare Siri</strong>, verificare Internet e controllare il microfono. Se l&rsquo;assistente si apre ma non parla, concentrati su volume, modalit&agrave; Silenzioso e dispositivi Bluetooth; se non rileva proprio la voce, parti sempre dal test di registrazione.</p><p>Questa sequenza evita tentativi casuali e permette di capire rapidamente se il problema &egrave; nelle impostazioni, nella rete o nell&rsquo;hardware. &Egrave; anche il metodo che preferisco perch&eacute; conserva i dati personali e porta alla causa con il minor numero possibile di modifiche.</p>]]></content:encoded>
      <author>Sandro Grasso</author>
      <category>Smartphone e Tablet</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/b0c5e6956a7b0c1b6f96f2a4caa01374/siri-non-risponde-cosa-controllare-su-iphone-e-ipad.webp"/>
      <pubDate>Mon, 14 Sep 2026 09:52:00 +0200</pubDate>
    </item>
    <item>
      <title>Trigger SQL - come usarli per audit, controlli e sincronizzazioni</title>
      <link>https://bartolomeoalberico.it/trigger-sql-come-usarli-per-audit-controlli-e-sincronizzazioni</link>
      <description>Trigger SQL: scopri come usare BEFORE, AFTER e INSTEAD OF per audit, controlli e sincronizzazioni. Leggi la guida.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Quando una modifica a una tabella deve aggiornare un registro, bloccare un dato incoerente o sincronizzare automaticamente un&rsquo;altra informazione, un trigger SQL pu&ograve; svolgere il lavoro direttamente nel <a href="https://bartolomeoalberico.it/padding-in-informatica-memoria-crittografia-e-database">database</a>. In questa guida mostro come funziona, quali eventi pu&ograve; intercettare, come si scrive nei principali sistemi relazionali e quali rischi valutare prima di usarlo in produzione.</p><div class="short-summary">
<h2 id="il-meccanismo-giusto-per-automatizzare-reazioni-dentro-il-database">Il meccanismo giusto per automatizzare reazioni dentro il database</h2>
<ul>
<li>
<strong>Un trigger</strong> esegue automaticamente codice dopo o prima di un evento come INSERT, UPDATE o DELETE.</li>
<li>
<strong>BEFORE, AFTER e INSTEAD OF</strong> determinano il momento e il modo in cui viene eseguita l&rsquo;azione.</li>
<li>
<strong>Audit, controlli e sincronizzazioni</strong> sono gli usi pi&ugrave; pratici, ma non ogni logica applicativa dovrebbe finire nel database.</li>
<li>
<strong>Le differenze tra MySQL, PostgreSQL e SQL Server</strong> riguardano sintassi, livello di esecuzione e gestione delle righe modificate.</li>
<li>
<strong>Test, logging e documentazione</strong> sono indispensabili perch&eacute; un trigger lavora spesso in modo invisibile al codice dell&rsquo;applicazione.</li>
</ul>
</div><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/dcfcb0422bf5dd299c5d76455f98b08e/diagramma-database-trigger-sql-insert-update-delete-before-after.webp" class="image article-image" loading="lazy" alt="Sistema SIEM invia dati, mentre i computer eseguono query SQL per l'auditing. Il console DataSunrise controlla il flusso dati."></p><h2 id="che-cose-un-trigger-sql-e-quando-si-attiva">Che cos&rsquo;&egrave; un trigger SQL e quando si attiva</h2><p>Un trigger SQL &egrave; un oggetto associato a una tabella, a una vista o, in alcuni database, a eventi dello schema. Quando si verifica l&rsquo;evento previsto, il database esegue automaticamente una funzione o una serie di istruzioni. Il vantaggio principale &egrave; che la regola viene applicata <strong>indipendentemente dall&rsquo;applicazione</strong> che modifica i dati.</p><p>Gli eventi pi&ugrave; comuni sono <strong>INSERT</strong>, per l&rsquo;inserimento di una riga, <strong>UPDATE</strong>, per la modifica, e <strong>DELETE</strong>, per la cancellazione. In <a href="https://bartolomeoalberico.it/collation-sql-server-come-gestire-conflitti-accenti-e-indici">SQL Server</a> esistono anche trigger DDL, legati a operazioni come CREATE, ALTER e DROP, oltre ai trigger di accesso alla sessione.</p><p>Per esempio, se un ordine passa allo stato &ldquo;pagato&rdquo;, il trigger pu&ograve; registrare l&rsquo;evento in una tabella storica. Se qualcuno prova a inserire una quantit&agrave; negativa, pu&ograve; bloccare l&rsquo;operazione. Io considero questa tecnica particolarmente utile quando la regola deve valere per <strong>tutti i client</strong>, non solo per il programma principale.</p><h3 id="le-azioni-piu-adatte">Le azioni pi&ugrave; adatte</h3><ul>
<li>salvare una cronologia delle modifiche;</li>
<li>aggiornare contatori o valori derivati;</li>
<li>impedire dati palesemente incoerenti;</li>
<li>mantenere una tabella di audit;</li>
<li>sincronizzare dati strettamente collegati;</li>
<li>applicare regole tecniche che non devono essere aggirate.</li>
</ul><p>Non userei invece un trigger per inviare email, chiamare API esterne o orchestrare processi complessi. In questi casi &egrave; spesso pi&ugrave; sicuro registrare l&rsquo;evento in una coda e lasciare il lavoro a un servizio applicativo.</p><h2 id="before-after-e-instead-of-cambiano-il-risultato">BEFORE, AFTER e INSTEAD OF cambiano il risultato</h2><p>La scelta del momento di esecuzione non &egrave; un dettaglio sintattico. Determina quali dati sono disponibili, se &egrave; ancora possibile modificarli e come reagisce il database in caso di errore.</p><table>
<tbody>
<tr>
<th>Tipo</th>
<th>Quando opera</th>
<th>Uso tipico</th>
</tr>
<tr>
<td><strong>BEFORE</strong></td>
<td>Prima del completamento dell&rsquo;operazione</td>
<td>Validare o normalizzare valori</td>
</tr>
<tr>
<td><strong>AFTER</strong></td>
<td>Dopo l&rsquo;operazione sulla riga</td>
<td>Scrivere audit o aggiornare dati collegati</td>
</tr>
<tr>
<td><strong>INSTEAD OF</strong></td>
<td>Al posto dell&rsquo;operazione richiesta</td>
<td>Gestire modifiche su viste complesse</td>
</tr>
</tbody>
</table><p>Un trigger <strong>BEFORE</strong> &egrave; adatto, per esempio, a trasformare un codice in maiuscolo oppure a rifiutare una data non valida. Un trigger <strong>AFTER</strong> &egrave; pi&ugrave; naturale quando la modifica deve prima andare a buon fine, come nel caso della registrazione di una variazione in una tabella di storico.</p><p>Bisogna per&ograve; distinguere tra esecuzione per riga ed esecuzione per istruzione. In MySQL i trigger DML vengono eseguiti <strong>per ogni riga coinvolta</strong>. PostgreSQL supporta trigger per riga e per istruzione, mentre SQL Server gestisce normalmente il trigger in rapporto all&rsquo;intera istruzione e rende disponibili le tabelle virtuali <strong>inserted</strong> e <strong>deleted</strong>.</p><p>Questa differenza pu&ograve; cambiare molto le prestazioni. Un UPDATE che modifica 100.000 righe pu&ograve; attivare 100.000 esecuzioni in un sistema row-level. Prima di adottare un trigger, verifico sempre il volume massimo previsto e testo anche le operazioni effettuate in blocco.</p><h2 id="un-esempio-pratico-con-mysql">Un esempio pratico con MySQL</h2><p>Supponiamo di avere una tabella ordini e una tabella che conserva la cronologia degli stati. Il trigger seguente registra ogni nuovo ordine subito dopo l&rsquo;inserimento.</p><pre><code>CREATE TABLE ordine_log (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    ordine_id BIGINT NOT NULL,
    stato VARCHAR(30) NOT NULL,
    creato_il TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

DELIMITER //

CREATE TRIGGER ordine_dopo_inserimento
AFTER INSERT ON ordini
FOR EACH ROW
BEGIN
    INSERT INTO ordine_log (ordine_id, stato)
    VALUES (NEW.id, NEW.stato);
END//

DELIMITER ;</code></pre><p>La parola <strong>NEW</strong> rappresenta i valori della nuova riga. Nei trigger associati a UPDATE si possono normalmente confrontare i valori precedenti e quelli nuovi, mentre in un DELETE interessa soprattutto il valore <strong>OLD</strong>.</p><p>Un secondo caso utile &egrave; la validazione di un importo. In un trigger BEFORE si pu&ograve; controllare che il valore sia positivo e interrompere l&rsquo;operazione con un errore. Questa protezione &egrave; efficace solo se la regola appartiene davvero al dominio dei dati e non dipende da informazioni esterne al database.</p><pre><code>DELIMITER //

CREATE TRIGGER ordine_prima_inserimento
BEFORE INSERT ON ordini
FOR EACH ROW
BEGIN
    IF NEW.totale &lt; 0 THEN
        SIGNAL SQLSTATE '45000'
        SET MESSAGE_TEXT = 'Il totale non pu&ograve; essere negativo';
    END IF;
END//

DELIMITER ;</code></pre><p>In MySQL un errore nel trigger pu&ograve; far fallire l&rsquo;intera istruzione. Con tabelle transazionali, come quelle InnoDB, la modifica viene normalmente annullata insieme alle altre operazioni della stessa transazione. &Egrave; un comportamento utile, ma va verificato nell&rsquo;ambiente concreto prima di farne affidamento.</p><h2 id="come-cambia-lapproccio-con-postgresql-e-sql-server">Come cambia l&rsquo;approccio con PostgreSQL e SQL Server</h2><p>La logica generale resta la stessa, ma la sintassi non &egrave; intercambiabile. PostgreSQL richiede in genere una <strong>trigger function</strong>, cio&egrave; una funzione con tipo di ritorno trigger, che viene poi collegata all&rsquo;evento.</p><pre><code>CREATE OR REPLACE FUNCTION registra_nuovo_ordine()
RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
    INSERT INTO ordine_log (ordine_id, stato)
    VALUES (NEW.id, NEW.stato);

    RETURN NEW;
END;
$$;

CREATE TRIGGER ordine_dopo_inserimento
AFTER INSERT ON ordini
FOR EACH ROW
EXECUTE FUNCTION registra_nuovo_ordine();</code></pre><p>Il valore restituito &egrave; importante. In un trigger BEFORE PostgreSQL pu&ograve; restituire <strong>NEW</strong> per accettare la riga, modificarla prima del salvataggio oppure restituire NULL per ignorare quella specifica operazione, secondo il caso d&rsquo;uso.</p><p>SQL Server segue un modello diverso. Il trigger pu&ograve; lavorare su pi&ugrave; righe contemporaneamente e deve quindi evitare l&rsquo;errore comune di trattare la tabella <strong>inserted</strong> come se contenesse una sola riga.</p><pre><code>CREATE TRIGGER trg_log_ordine
ON dbo.Ordini
AFTER INSERT
AS
BEGIN
    SET NOCOUNT ON;

    INSERT INTO dbo.OrdineLog (OrdineId, Stato)
    SELECT id, stato
    FROM inserted;
END;</code></pre><p>Questo approccio basato su SELECT &egrave; fondamentale quando una sola istruzione INSERT inserisce molte righe. Un trigger scritto con variabili scalari o con una logica pensata per una singola riga pu&ograve; produrre risultati incompleti senza generare errori evidenti.</p><h2 id="vantaggi-reali-e-limiti-da-considerare">Vantaggi reali e limiti da considerare</h2><p>Il punto di forza pi&ugrave; evidente &egrave; la <strong>centralizzazione delle regole</strong>. Un&rsquo;importazione da script, un pannello amministrativo e un servizio API passano tutti dallo stesso controllo. Per l&rsquo;audit dei dati questo &egrave; spesso pi&ugrave; affidabile di una registrazione affidata soltanto al codice dell&rsquo;interfaccia.</p><p>Il rovescio della medaglia &egrave; la scarsa visibilit&agrave;. Chi legge la query principale potrebbe non sapere che, dietro un semplice INSERT, partono altre scritture, validazioni o aggiornamenti. In sistemi grandi questa logica nascosta rende pi&ugrave; difficile il debugging e pu&ograve; rallentare operazioni che sembravano banali.</p><table>
<tbody>
<tr>
<th>Situazione</th>
<th>Trigger consigliato</th>
<th>Alternativa da valutare</th>
</tr>
<tr>
<td>Storico delle modifiche</td>
<td>S&igrave;, se l&rsquo;audit deve essere completo</td>
<td>Audit nativo o CDC</td>
</tr>
<tr>
<td>Calcolo di un campo derivato</td>
<td>Solo per regole semplici</td>
<td>Calcolo nell&rsquo;applicazione o vista</td>
</tr>
<tr>
<td>Invio di notifiche</td>
<td>No per chiamate dirette</td>
<td>Coda di eventi o job asincrono</td>
</tr>
<tr>
<td>Validazione strutturale</td>
<td>S&igrave;, se vale per ogni client</td>
<td>Vincoli CHECK, UNIQUE o FOREIGN KEY</td>
</tr>
<tr>
<td>Processi aziendali complessi</td>
<td>Di solito no</td>
<td>Servizio applicativo orchestrato</td>
</tr>
</tbody>
</table><p>Prima di creare un trigger per controllare una condizione semplice, verifico se esiste un <strong>vincolo nativo</strong>. Una chiave esterna, un vincolo UNIQUE o un CHECK sono spesso pi&ugrave; chiari, pi&ugrave; facili da analizzare e meglio ottimizzati dal database.</p><h2 id="gli-errori-piu-comuni-nella-progettazione">Gli errori pi&ugrave; comuni nella progettazione</h2><p>Il primo errore &egrave; inserire troppa logica nello stesso trigger. Un oggetto che valida dati, aggiorna cinque tabelle, registra log e tenta anche di inviare notifiche diventa rapidamente difficile da mantenere. Preferisco trigger piccoli, con un solo scopo e nomi che descrivono chiaramente evento e tabella.</p><p>Il secondo problema &egrave; dimenticare le operazioni massive. Una procedura che funziona con un singolo INSERT pu&ograve; diventare molto lenta quando l&rsquo;applicazione importa migliaia di righe. In questi casi misuro il tempo con e senza trigger e controllo gli indici delle tabelle toccate indirettamente.</p><p>Un&rsquo;altra fonte di guai sono le ricorsioni e le dipendenze circolari. Il trigger sulla tabella A aggiorna B, quello su B aggiorna C e un terzo torna su A. Il risultato pu&ograve; essere un errore, una catena di esecuzioni inattesa o un consumo eccessivo di risorse.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/if-name-main-in-python-guida-pratica">if __name__ == "__main__" in Python - guida pratica</a></strong></p><h3 id="una-verifica-pratica-prima-del-rilascio">Una verifica pratica prima del rilascio</h3><ol>
<li>Descrivere in una frase l&rsquo;unico obiettivo del trigger.</li>
<li>Testare INSERT, UPDATE e DELETE singoli e massivi.</li>
<li>Verificare cosa accade quando la logica genera un errore.</li>
<li>Controllare <a href="https://bartolomeoalberico.it/rollback-sql-come-annullare-modifiche-prima-del-commit">transazioni</a>, rollback e livelli di isolamento.</li>
<li>Misurare l&rsquo;impatto sui tempi e sui lock.</li>
<li>Documentare dipendenze, permessi e procedura di disattivazione.</li>
</ol><p>Io aggiungo sempre test che modificano pi&ugrave; righe, perch&eacute; sono quelli che fanno emergere pi&ugrave; spesso i difetti. Un database pu&ograve; sembrare veloce in sviluppo e diventare un collo di bottiglia quando il trigger si attiva migliaia di volte durante un&rsquo;importazione.</p><h2 id="quando-il-trigger-e-davvero-la-scelta-migliore">Quando il trigger &egrave; davvero la scelta migliore</h2><p>Userei questa tecnica quando la regola deve essere applicata <strong>nel punto pi&ugrave; vicino possibile ai dati</strong>, soprattutto per audit, vincoli applicativi essenziali e aggiornamenti brevi tra tabelle strettamente correlate.</p><p>La eviterei quando il processo richiede chiamate di rete, ritardi, tentativi automatici, integrazioni con servizi cloud o una gestione articolata degli errori. In questi casi il trigger pu&ograve; limitarsi a registrare un evento, mentre un worker o una coda si occupano del resto.</p><p>La scelta migliore non dipende dal fatto che un trigger sia potente, ma dal fatto che sia prevedibile. Se il comportamento pu&ograve; essere spiegato facilmente, testato in transazione e monitorato nel tempo, il database diventa un buon luogo per automatizzarlo. Se invece la logica &egrave; invisibile, lunga e piena di eccezioni, conviene lasciarla a un livello applicativo pi&ugrave; semplice da osservare.</p>]]></content:encoded>
      <author>Sandro Grasso</author>
      <category>Programmazione e Database</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/00887a9bdc881470d3cc1dab42e6b44d/trigger-sql-come-usarli-per-audit-controlli-e-sincronizzazioni.webp"/>
      <pubDate>Sun, 13 Sep 2026 14:51:00 +0200</pubDate>
    </item>
    <item>
      <title>Come disinstallare Ubuntu e ripristinare l’avvio di Windows</title>
      <link>https://bartolomeoalberico.it/come-disinstallare-ubuntu-e-ripristinare-lavvio-di-windows</link>
      <description>Scopri come disinstallare Ubuntu da Windows senza perdere dati: ripristina l’avvio, rimuovi le partizioni Linux e recupera spazio in sicurezza.</description>
      <content:encoded><![CDATA[<head></head><p>Hai deciso di tornare a Windows, ma sul computer compare ancora GRUB oppure una parte del disco risulta inutilizzabile? Capire come disinstallare Ubuntu richiede due operazioni distinte: eliminare le partizioni Linux e ripristinare l’avvio di Windows, così da evitare errori al riavvio.</p>

<div class="short-summary">
  <h2 id="rimuovere-ubuntu-senza-compromettere-windows-richiede-ordine-e-prudenza">Rimuovere Ubuntu senza compromettere Windows richiede ordine e prudenza</h2>
  <ul>
    <li>
<strong>Backup:</strong> salva prima i file presenti nelle partizioni Ubuntu.</li>
    <li>
<strong>Avvio:</strong> imposta Windows Boot Manager come prima scelta nel firmware UEFI.</li>
    <li>
<strong>Partizioni:</strong> elimina solo quelle Linux, senza toccare EFI, Recovery o Microsoft Reserved.</li>
    <li>
<strong>Spazio libero:</strong> estendi C: soltanto quando lo spazio non allocato è adiacente.</li>
    <li>
<strong>Varianti:</strong> WSL, macchina virtuale e dual boot richiedono procedure diverse.</li>
  </ul>
</div>

<p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/b46a7354dcad6a918e7c9825b92e8440/rimozione-ubuntu-dual-boot-windows-gestione-disco-grub-uefi-guida-pratica.webp" class="image article-image" loading="lazy" alt="Guida per disinstallare Ubuntu da un dual boot e rimuovere la voce UEFI. Un cestino con una X indica l'eliminazione."></p>

<h2 id="prima-di-iniziare-identifica-il-tipo-di-installazione">Prima di iniziare identifica il tipo di installazione</h2>

La procedura cambia completamente in base a come Ubuntu è stato installato. Nel caso più comune si trova in un <strong>dual boot</strong>, cioè su partizioni proprie accanto a Windows; se invece è stato installato tramite WSL o una <a href="https://bartolomeoalberico.it/kali-linux-su-windows-guida-sicura-tra-vm-wsl-e-laboratori">macchina virtuale</a>, non bisogna modificare il disco.

<table>
  <tbody>
    <tr>
      <th>Scenario</th>
      <th>Come riconoscerlo</th>
      <th>Metodo corretto</th>
    </tr>
    <tr>
      <td>Dual boot</td>
      <td>All’accensione compare GRUB oppure puoi scegliere Ubuntu e Windows</td>
      <td>Ripristino dell’avvio, eliminazione delle partizioni e gestione dello spazio</td>
    </tr>
    <tr>
      <td>Ubuntu su WSL</td>
      <td>Ubuntu si apre da Windows come applicazione o terminale</td>
      <td>Disinstallazione dell’app o comando <code>wsl --unregister</code>
</td>
    </tr>
    <tr>
      <td>Macchina virtuale</td>
      <td>Ubuntu gira dentro VirtualBox, VMware o Hyper-V</td>
      <td>Rimozione della macchina virtuale e del relativo disco virtuale</td>
    </tr>
    <tr>
      <td>Ubuntu unico sistema</td>
      <td>Windows non è installato o non compare nel menu di avvio</td>
      <td>Reinstallazione di Windows da supporto USB</td>
    </tr>
  </tbody>
</table>

<p>Prima di procedere, fai una copia dei documenti, delle chiavi SSH, dei file di configurazione e di eventuali dati presenti nella home di Ubuntu. Io consiglio anche di avere a disposizione una <strong>chiavetta di ripristino di Windows</strong> o un supporto d’installazione, soprattutto se GRUB gestisce attualmente l’avvio.</p>

<p>Se Windows usa BitLocker, conserva la <strong>chiave di ripristino</strong> prima di intervenire sulle partizioni. Non è normalmente necessario disattivare BitLocker per rimuovere Ubuntu, ma una modifica al disco o al firmware può richiedere una nuova verifica di sicurezza.</p>

<h2 id="come-rimuovere-ubuntu-da-un-dual-boot-con-windows">Come rimuovere Ubuntu da un dual boot con Windows</h2>

<p>Nel dual boot moderno il computer usa quasi sempre UEFI e una partizione di sistema EFI. GRUB può essere presente nella stessa partizione che contiene i file di avvio di Windows, quindi cancellare indiscriminatamente la partizione EFI è uno degli errori più pericolosi.</p>

<h3 id="imposta-prima-windows-boot-manager">Imposta prima Windows Boot Manager</h3>

<p>Riavvia il computer ed entra nel firmware UEFI premendo il tasto indicato dal produttore, spesso <strong>F2, Canc, F12 o Esc</strong>. Nel menu Boot sposta “Windows Boot Manager” sopra “ubuntu” o “GRUB”, salva e riavvia.</p>

<p>Se Windows parte normalmente, apri il Terminale o il Prompt dei comandi come amministratore ed esegui:</p>

<pre><code>bcdboot C:\Windows</code></pre>

<p>Il comando ricrea o aggiorna i file di avvio di Windows. Microsoft Learn documenta BCDBoot proprio per ripristinare i file di boot e registrare Windows nel firmware UEFI. Se la cartella Windows non si trova su C:, verifica prima la lettera corretta con Esplora file o dal prompt di ripristino.</p>

<h3 id="elimina-soltanto-le-partizioni-linux">Elimina soltanto le partizioni Linux</h3>

<p>In Windows fai clic con il tasto destro sul pulsante Start e apri <strong>Gestione disco</strong>. Individua le partizioni senza lettera, con filesystem sconosciuto o associate alle dimensioni che avevi assegnato a Ubuntu.</p>

<p>Le partizioni da rimuovere possono includere la root Linux, una partizione home separata e la partizione swap. Fai clic con il tasto destro su ciascuna e scegli “Elimina volume”, ma controlla sempre la posizione e la dimensione prima di confermare.</p>

<ul>
  <li>Non eliminare la partizione <strong>EFI System</strong> o EFI di sistema.</li>
  <li>Non eliminare le partizioni <strong>Recovery</strong> o di ripristino del produttore.</li>
  <li>Non toccare la partizione Windows NTFS che contiene C:.</li>
  <li>Non modificare <strong>Microsoft Reserved</strong>, spesso indicata come MSR.</li>
</ul>

<p>Se Ubuntu è stato installato con LVM, cifratura o una struttura complessa, Gestione disco potrebbe mostrare più volumi indistinti. In questo caso preferisco avviare una chiavetta live di Ubuntu e usare GParted, controllando con calma le etichette e le dimensioni. Un errore di selezione può cancellare dati personali in pochi secondi.</p>

<h3 id="recupera-lo-spazio-per-windows">Recupera lo spazio per Windows</h3>

<p>Dopo l’eliminazione, il disco mostrerà spazio <strong>non allocato</strong>. Per aggiungerlo a C:, fai clic con il tasto destro su C: e seleziona “Estendi volume”. L’operazione funziona direttamente solo se lo spazio libero si trova immediatamente a destra della partizione Windows.</p>

Se “Estendi volume” è disattivato, lo <a href="https://bartolomeoalberico.it/come-formattare-un-ssd-con-windows-o-linux-senza-errori">spazio non allocato</a> non è adiacente oppure tra C: e lo spazio libero c’è una partizione di ripristino. Non forzare l’operazione. Puoi lasciare lo spazio separato oppure usare uno strumento di partizionamento affidabile dopo un backup completo.

<h2 id="rimuovi-grub-e-la-voce-ubuntu-dal-firmware">Rimuovi GRUB e la voce Ubuntu dal firmware</h2>

<p>Dopo aver cancellato le partizioni, può ancora comparire GRUB oppure la voce “ubuntu” nel menu di avvio. È normale, perché i file di avvio e le voci UEFI risiedono separatamente dal sistema operativo principale.</p>

<h3 id="se-windows-si-avvia-ancora">Se Windows si avvia ancora</h3>

<p>Apri un terminale amministrativo ed esegui di nuovo:</p>

<pre><code>bcdboot C:\Windows</code></pre>

<p>Riavvia due volte per verificare che il caricamento sia diretto. Se tutto funziona, puoi lasciare la vecchia voce “ubuntu” nel firmware: occupa pochissimo spazio e non compromette Windows. Per rimuoverla, usa il menu UEFI del produttore, quando offre l’opzione “Delete boot option” o una voce equivalente.</p>

<h3 id="se-compare-ancora-grub">Se compare ancora GRUB</h3>

<p>Avvia il computer da un supporto d’installazione di Windows, scegli “Ripristina il computer”, poi “Risoluzione dei problemi”, “Opzioni avanzate” e “Prompt dei comandi”. Nei sistemi UEFI recenti, la soluzione più pratica è ricreare l’avvio Windows individuando prima la lettera della partizione che contiene la cartella Windows.</p>

<pre><code>diskpart
list volume
exit
bcdboot D:\Windows /f UEFI</code></pre>

<p>La lettera <code>D:</code> è solo un esempio. Prima di usare BCDBoot, verifica con <code>dir D:\Windows</code> che quella sia davvero la partizione corretta. Se il computer usa ancora il vecchio schema BIOS/MBR, dal prompt di ripristino può essere invece necessario eseguire:</p>

<pre><code>bootrec /fixmbr</code></pre>

<p>Non applicare automaticamente i comandi MBR a un’installazione UEFI. La differenza tra <strong>UEFI/GPT</strong> e BIOS/MBR è decisiva, e confonderla può rendere più difficile il ripristino.</p>

<h3 id="pulisci-la-cartella-efi-solo-dopo-il-test">Pulisci la cartella EFI solo dopo il test</h3>

<p>Quando Windows parte senza problemi, puoi eliminare i file residui di Ubuntu dalla partizione EFI. Apri il Prompt dei comandi come amministratore e assegna temporaneamente una lettera alla partizione corretta:</p>

<pre><code>diskpart
list volume
select volume N
assign letter=S
exit
dir S:\EFI</code></pre>

<p>Sostituisci <code>N</code> con il numero della partizione EFI, verificando che sia una piccola partizione FAT32. Se dentro trovi le cartelle <code>Microsoft</code> e <code>ubuntu</code>, elimina <strong>soltanto la cartella ubuntu</strong>:</p>

<pre><code>rmdir /s /q S:\EFI\ubuntu
mountvol S: /D</code></pre>

<p>Non cancellare la cartella Microsoft e non eliminare l’intera partizione EFI. La documentazione Ubuntu descrive la partizione EFI come l’area che contiene i bootloader dei sistemi installati, non come uno spazio dedicato esclusivamente a Linux.</p>

<h2 id="casi-diversi-dal-dual-boot-tradizionale">Casi diversi dal dual boot tradizionale</h2>

<h3 id="ubuntu-installato-con-wsl">Ubuntu installato con WSL</h3>

<p>Se Ubuntu appare tra le applicazioni di Windows e non compare mai all’accensione, probabilmente usi <strong>Windows Subsystem for Linux</strong>. Puoi rimuovere l’app da Impostazioni, “App” e “App installate”, oppure eliminare la distribuzione dal terminale.</p>

<pre><code>wsl --list
wsl --unregister Ubuntu</code></pre>

<p>Il secondo comando cancella definitivamente il filesystem della distribuzione. Prima di eseguirlo, esporta i dati importanti oppure copiali in una cartella Windows. Non usare questo metodo per un Ubuntu installato su partizioni reali.</p>

<h3 id="ubuntu-eseguito-in-una-macchina-virtuale">Ubuntu eseguito in una macchina virtuale</h3>

<p>Con VirtualBox, VMware o Hyper-V, Ubuntu è contenuto in un <strong>disco virtuale</strong>, spesso un file VDI, VHDX o VMDK. Spegni la macchina virtuale, rimuovila dal programma e scegli se cancellare anche il disco virtuale.</p>

<p>La rimozione del software di virtualizzazione da sola non elimina sempre i file della macchina. Controlla quindi lo spazio occupato e salva prima eventuali snapshot o documenti condivisi.</p>

<p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/privilegi-di-amministratore-in-windows-10-guida-pratica">Privilegi di amministratore in Windows 10 - guida pratica</a></strong></p><h3 id="vecchia-installazione-dentro-windows">Vecchia installazione dentro Windows</h3>

<p>Le installazioni storiche tramite Wubi venivano gestite quasi come applicazioni Windows. In quel caso è sufficiente cercare Ubuntu in “Programmi e funzionalità” e disinstallarlo, controllando poi il menu di avvio.</p>

<h2 id="quando-ubuntu-e-lunico-sistema-installato">Quando Ubuntu è l’unico sistema installato</h2>

<p>Se Ubuntu è l’unico sistema operativo, non puoi disinstallarlo mentre il computer è avviato normalmente da Ubuntu. Devi creare un <strong>supporto USB d’installazione di Windows</strong>, avviare il PC dalla chiavetta e procedere con una nuova installazione.</p>

<p>Durante la scelta del disco, elimina le partizioni Linux solo se vuoi cancellare completamente il contenuto del disco. Se il computer contiene più unità, controlla con particolare attenzione capacità e modello, perché l’installatore può mostrare dischi simili tra loro.</p>

Questa strada comporta la perdita di tutti i dati presenti sull’unità selezionata. Prima di iniziare salva i file su un disco esterno e verifica di avere la licenza digitale, la <a href="https://bartolomeoalberico.it/dual-boot-windows-e-linux-come-installarlo-senza-errori">chiave di ripristino BitLocker</a> e i driver necessari per rete e chipset.

<h2 id="la-verifica-finale-evita-quasi-tutti-i-problemi">La verifica finale evita quasi tutti i problemi</h2>

<p>Una rimozione riuscita non si misura solo dal fatto che Ubuntu non compare più. Io farei almeno <strong>due riavvii completi</strong>, controllerei che Windows Boot Manager sia ancora la voce predefinita e aprirei Gestione disco per verificare che lo spazio sia stato recuperato correttamente.</p>

<ul>
  <li>Windows si avvia senza passare da GRUB.</li>
  <li>La voce Ubuntu non è più necessaria nel menu UEFI.</li>
  <li>La partizione EFI contiene ancora i file Microsoft.</li>
  <li>Le partizioni Linux sono state eliminate senza toccare Recovery.</li>
  <li>I file personali e la chiave BitLocker sono stati messi al sicuro.</li>
</ul>

<p>Se il computer funziona ma mostra ancora “ubuntu” nel firmware, non è un problema urgente. La priorità è avere un avvio Windows stabile; la pulizia della voce residua può essere fatta in seguito dal menu UEFI, senza rischiare di compromettere una configurazione che già funziona.</p>]]></content:encoded>
      <author>Sandro Grasso</author>
      <category>Windows e Linux</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/b4aebb3b7e2b1746a78ad43fff8d7594/come-disinstallare-ubuntu-e-ripristinare-lavvio-di-windows.webp"/>
      <pubDate>Sun, 13 Sep 2026 10:33:00 +0200</pubDate>
    </item>
    <item>
      <title>Come disattivare la modalità S di Windows 10 senza errori</title>
      <link>https://bartolomeoalberico.it/come-disattivare-la-modalita-s-di-windows-10-senza-errori</link>
      <description>Scopri come disattivare la modalità S di Windows 10 gratis, cosa cambia e cosa fare se il Microsoft Store non funziona.</description>
      <content:encoded><![CDATA[<head></head><p>Quando un programma non è disponibile nel Microsoft Store, la modalità S di Windows 10 può diventare un ostacolo concreto. Disattivarla è gratuito e richiede pochi minuti, ma il passaggio è permanente: spiego quindi la procedura corretta, cosa cambia dopo l’operazione e come comportarsi se il Microsoft Store non collabora.</p>

<div class="short-summary">
<h2 id="la-modalita-s-si-disattiva-gratis-dal-microsoft-store-e-non-puo-essere-riattivata">La modalità S si disattiva gratis dal Microsoft Store e non può essere riattivata</h2>
<ul>
<li>
<strong>Percorso:</strong> Impostazioni, Aggiornamento e sicurezza, Attivazione.</li>
<li>
<strong>Procedura:</strong> aprire la pagina dedicata nel Microsoft Store e selezionare <strong>Ottieni</strong>.</li>
<li>
<strong>Limite principale:</strong> il ritorno alla modalità S non è previsto.</li>
<li>
<strong>Dopo il passaggio:</strong> si possono installare applicazioni Win32, file EXE e MSI provenienti da altre fonti.</li>
<li>
<strong>Situazione attuale:</strong> il supporto gratuito a Windows 10 è terminato il <strong>14 ottobre 2025</strong>.</li>
</ul>
</div>

<h2 id="che-cose-davvero-la-modalita-s-di-windows-10">Che cos’è davvero la modalità S di Windows 10</h2>

<p>La modalità S è una configurazione pensata per privilegiare <strong>sicurezza, semplicità e prestazioni prevedibili</strong>. Il sistema consente principalmente l’installazione di app distribuite attraverso il Microsoft Store e limita l’esecuzione di molti programmi desktop tradizionali.</p>

<p>Su un portatile economico o destinato a scuola, questa restrizione può avere senso. Riduce il rischio di installare software dannoso e rende più difficile modificare componenti importanti del sistema. Nella pratica, però, diventa scomoda quando servono programmi come utility tecniche, applicazioni professionali, vecchie versioni di software o strumenti per sviluppatori.</p>

<p>Uscire dalla modalità S non equivale a disinstallare Windows e non richiede l’acquisto di una nuova licenza. Si tratta di un <strong>cambio gratuito e unidirezionale</strong> dell’ambiente operativo. Dopo la conferma, il computer continua a usare la stessa edizione di Windows, ma con meno restrizioni.</p>

<h2 id="come-disattivare-la-modalita-s-passo-dopo-passo">Come disattivare la modalità S passo dopo passo</h2>

Prima di iniziare consiglio di collegare il PC a Internet e di verificare che il Microsoft Store si apra normalmente. La procedura ufficiale passa proprio dallo Store, quindi non esistono comandi affidabili nel <a href="https://bartolomeoalberico.it/ripristinare-windows-11-dal-prompt-dei-comandi-guida-pratica">Prompt dei comandi</a> o nel Registro di sistema per ottenere lo stesso risultato.

<ol>
<li>Apri il menu <strong>Start</strong> e seleziona <strong>Impostazioni</strong>.</li>
<li>Entra in <strong>Aggiornamento e sicurezza</strong>.</li>
<li>Apri la sezione <strong>Attivazione</strong>.</li>
<li>Cerca il riquadro dedicato al passaggio dalla modalità S e seleziona il collegamento per aprire il Microsoft Store.</li>
<li>Nella pagina <strong>Disattiva modalità S</strong>, oppure in una pagina con un nome molto simile, fai clic su <strong>Ottieni</strong>.</li>
<li>Attendi il messaggio di conferma e prova a installare il programma che prima veniva bloccato.</li>
</ol>

La dicitura può cambiare in base all’edizione installata. Su alcuni computer si trova un riferimento a <a href="https://bartolomeoalberico.it/come-verificare-lattivazione-di-windows-10-e-risolvere-gli-errori">Windows 10 Home</a>, su altri a Windows 10 Pro. Il punto importante è aprire la pagina del Microsoft Store dedicata all’uscita dalla modalità S, non una normale pagina di acquisto.

<p><strong>Non viene richiesto alcun codice prodotto</strong> e il passaggio non dovrebbe comportare la perdita dei file personali. Per prudenza, io farei comunque un backup dei documenti importanti prima di modificare qualsiasi impostazione di sistema.</p>

<p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/cdb24a7f48e4cf5a86e251a6b2840497/schermata-impostazioni-windows-10-attivazione-disattivare-modalita-s-microsoft-store.webp" class="image article-image" loading="lazy" alt="Schermata per disattivare modalità S di Windows 10. Offre informazioni sulla modalità S e un pulsante " get="" per="" procedere.=""></p>

<h2 id="cosa-cambia-dopo-luscita-dalla-modalita-s">Cosa cambia dopo l’uscita dalla modalità S</h2>

<p>Il vantaggio più evidente è la possibilità di installare applicazioni desktop esterne al Microsoft Store. Diventano disponibili programmi distribuiti tramite file <strong>.exe e .msi</strong>, strumenti professionali, browser alternativi, software di gestione e molte applicazioni che non hanno una versione nello Store.</p>

<table>
<tbody>
<tr>
<th>Caratteristica</th>
<th>In modalità S</th>
<th>Dopo la disattivazione</th>
</tr>
<tr>
<td>App dal Microsoft Store</td>
<td>Disponibili</td>
<td>Disponibili</td>
</tr>
<tr>
<td>Programmi EXE e MSI</td>
<td>Fortemente limitati</td>
<td>Installabili</td>
</tr>
<tr>
<td>Rischio di software non affidabile</td>
<td>Più contenuto</td>
<td>Dipende dalle fonti utilizzate</td>
</tr>
<tr>
<td>Ritorno alla modalità S</td>
<td>Non applicabile</td>
<td>Non previsto</td>
</tr>
<tr>
<td>Costo dell’operazione</td>
<td>Non applicabile</td>
<td>Gratuito</td>
</tr>
</tbody>
</table>

<p>Il rovescio della medaglia è semplice da capire. Una volta liberi di installare software da Internet, bisogna prestare maggiore attenzione a <strong>provenienza dei programmi, aggiornamenti e permessi richiesti</strong>. La modalità S offriva una barriera utile, ma non sostituiva comunque un antivirus e comportamenti prudenti.</p>

<p>Se il tuo obiettivo è usare Linux tramite WSL, strumenti come Git, ambienti Python o tool da sviluppatore, uscire dalla modalità S è spesso il primo passaggio necessario. In seguito bisogna comunque controllare l’edizione e la build di Windows 10, oltre alla compatibilità della virtualizzazione hardware. La semplice disattivazione non garantisce automaticamente che ogni componente Linux funzioni senza configurazioni aggiuntive.</p>

<h2 id="quando-conviene-restare-nella-modalita-s">Quando conviene restare nella modalità S</h2>

<p>Non consiglierei di rimuovere la modalità S solo perché il computer mostra un messaggio di blocco. Prima controllerei se esiste una versione equivalente dell’app nel Microsoft Store. Per un dispositivo usato da bambini, studenti o persone che fanno soprattutto navigazione, posta e videoscrittura, la restrizione può essere un vantaggio concreto.</p>

<p>La scelta cambia quando il PC serve per lavoro o studio tecnico. Programmi CAD, gestionali aziendali, utility del produttore, software per stampanti, ambienti di sviluppo e molte applicazioni Linux richiedono una libertà che la modalità S non offre.</p>

<table>
<tbody>
<tr>
<th>Situazione</th>
<th>Scelta più sensata</th>
</tr>
<tr>
<td>Uso scolastico, navigazione e documenti</td>
<td>Restare in modalità S</td>
</tr>
<tr>
<td>Installazione di programmi EXE o MSI</td>
<td>Uscire dalla modalità S</td>
</tr>
<tr>
<td>Uso di WSL o strumenti per sviluppatori</td>
<td>Uscire dalla modalità S e verificare la compatibilità</td>
</tr>
<tr>
<td>PC aziendale gestito da amministratori</td>
<td>Chiedere prima all’amministratore IT</td>
</tr>
</tbody>
</table>

<p>La mia regola è pratica: se l’unico programma mancante è disponibile nello Store, manterrei la configurazione originale. Se invece la limitazione si ripete e impedisce il lavoro quotidiano, <strong>il passaggio definitivo è normalmente la soluzione più rapida</strong>.</p>

<h2 id="se-il-microsoft-store-non-mostra-lopzione">Se il Microsoft Store non mostra l’opzione</h2>

<p>Il problema più comune non è la procedura, ma il collegamento che non appare o il Microsoft Store che si blocca. In questo caso controllerei prima di tutto che Windows sia connesso a Internet, che data e ora siano corrette e che l’account Microsoft riesca ad aprire lo Store.</p>

<h3 id="controlla-gli-aggiornamenti-dello-store">Controlla gli aggiornamenti dello Store</h3>

<p>Apri Microsoft Store, entra nella sezione della raccolta o degli aggiornamenti e installa quelli disponibili. Dopo il riavvio dello Store, torna in <strong>Impostazioni e Attivazione</strong>. A volte il collegamento compare solo dopo che i componenti dello Store sono stati aggiornati.</p>

<h3 id="ripara-o-reimposta-il-microsoft-store">Ripara o reimposta il Microsoft Store</h3>

In Windows 10 puoi aprire <strong>Impostazioni, App, App e funzionalità</strong>, cercare Microsoft Store e accedere alle <a href="https://bartolomeoalberico.it/windows-10-instabile-quando-usare-ripristino-dism-o-sfc">opzioni avanzate</a>. Prova prima <strong>Ripristina</strong>, che conserva i dati dell’app; usa <strong>Reimposta</strong> solo se il primo tentativo non basta.

<p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/kali-linux-su-windows-guida-sicura-tra-vm-wsl-e-laboratori">Kali Linux su Windows - guida sicura tra VM, WSL e laboratori</a></strong></p><h3 id="usa-lo-strumento-wsreset">Usa lo strumento wsreset</h3>

<p>Premi <strong>Windows + R</strong>, digita <strong>wsreset.exe</strong> e conferma. Si aprirà una finestra temporanea che svuota la cache dello Store. Al termine, il Microsoft Store dovrebbe aprirsi automaticamente. Non è una procedura distruttiva per i documenti personali.</p>

<p>Se il dispositivo appartiene a un’azienda o a una scuola, l’uscita può essere bloccata da criteri amministrativi. In quel caso modificare il Registro di sistema o usare script trovati online è una pessima idea: la restrizione potrebbe essere intenzionale e solo l’amministratore può rimuoverla correttamente.</p>

<h2 id="windows-10-nel-2026-richiede-una-valutazione-piu-ampia">Windows 10 nel 2026 richiede una valutazione più ampia</h2>

<p>Nel 2026 c’è un elemento che spesso viene trascurato. Il supporto ordinario a Windows 10 è terminato il <strong>14 ottobre 2025</strong>, quindi il computer non riceve più gratuitamente gli aggiornamenti di sicurezza e l’assistenza standard tramite Windows Update.</p>

<p>Se il PC è compatibile, valuterei prima l’aggiornamento a Windows 11. Se invece l’hardware non lo consente, disattivare la modalità S può risolvere il problema delle applicazioni, ma non elimina i rischi legati a un sistema operativo fuori supporto. In questo scenario conviene considerare anche una distribuzione Linux leggera, soprattutto su computer con poca memoria o processori datati.</p>

<p>Per chi vuole usare Ubuntu, Linux Mint o un ambiente simile, la scelta dipende dal modo d’uso. WSL mantiene Windows come sistema principale, mentre un’installazione separata offre più controllo ma richiede partizionamento, backup e maggiore esperienza. Sono decisioni diverse dall’uscita dalla modalità S e non vanno confuse.</p>

<h2 id="la-decisione-giusta-dipende-dal-programma-che-vuoi-installare">La decisione giusta dipende dal programma che vuoi installare</h2>

<p>Per disattivare la modalità S di Windows 10 basta passare da <strong>Attivazione</strong> al Microsoft Store e premere <strong>Ottieni</strong>. L’operazione è gratuita, ma definitiva, perciò la farei solo dopo aver verificato che il software necessario non sia già disponibile nello Store.</p>

<p>Se il computer serve per attività tecniche, applicazioni professionali o strumenti Linux, la libertà aggiuntiva vale quasi sempre il passaggio. Se invece viene usato per compiti essenziali e il supporto del sistema è una priorità, prenderei in considerazione l’aggiornamento a Windows 11 o una migrazione Linux prima di installare programmi da fonti non verificate.</p>]]></content:encoded>
      <author>Sandro Grasso</author>
      <category>Windows e Linux</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/27621233a903946c921756e4089a2582/come-disattivare-la-modalita-s-di-windows-10-senza-errori.webp"/>
      <pubDate>Sat, 12 Sep 2026 16:31:00 +0200</pubDate>
    </item>
    <item>
      <title>Scheda perforata - come funzionava e cosa ci insegna oggi</title>
      <link>https://bartolomeoalberico.it/scheda-perforata-come-funzionava-e-cosa-ci-insegna-oggi</link>
      <description>Scheda perforata: scopri come funzionava, dai censimenti ai programmi, e cosa insegna oggi su input, archivi e controlli dei dati.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Prima delle tastiere e dei database, grandi quantit&agrave; di dati passavano attraverso cartoncini fisici. La <strong>scheda perforata</strong> &egrave; stata per decenni uno strumento concreto per inserire dati, eseguire programmi e alimentare sistemi di elaborazione automatica. Qui spiego come funzionava, quali formati adottava, perch&eacute; era cos&igrave; importante e che cosa insegna ancora oggi a chi lavora con software, archivi e processi di input.</p><div class="short-summary">
<h2 id="i-punti-essenziali-per-capire-questo-storico-sistema-di-input">I punti essenziali per capire questo storico sistema di input</h2>
<ul>
<li>
<strong>Funzione:</strong> registrava numeri, lettere e istruzioni attraverso fori praticati in posizioni prestabilite.</li>
<li>
<strong>Formato pi&ugrave; diffuso:</strong> 80 colonne e 12 posizioni di perforazione per colonna.</li>
<li>
<strong>Lettura:</strong> aghi metallici e contatti elettrici riconoscevano la presenza dei fori.</li>
<li>
<strong>Applicazioni:</strong> censimenti, paghe, contabilit&agrave;, inventari, ricerca scientifica e programmazione.</li>
<li>
<strong>Limite principale:</strong> poca capacit&agrave;, gestione fisica complessa e rischio di errori nell&rsquo;ordine delle carte.</li>
</ul>
</div><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/8597e3bfec05178f669c97f1b5dec836/schede-perforate-ibm-80-colonne-lettore-di-schede-museo-informatica.webp" class="image article-image" loading="lazy" alt="Un computer IBM con tastiera e stampante, pronto a leggere una scheda perforata."></p><h2 id="che-cosera-la-scheda-perforata-e-perche-ha-cambiato-linput-dei-dati">Che cos&rsquo;era la scheda perforata e perch&eacute; ha cambiato l&rsquo;input dei dati</h2><p>Si trattava di un cartoncino sul quale i dati venivano rappresentati tramite <strong>fori praticati in coordinate precise</strong>. Una macchina poteva riconoscere quelle perforazioni e trasformarle in impulsi elettrici, senza che un operatore dovesse rileggere manualmente ogni informazione.</p><p>Herman Hollerith svilupp&ograve; il sistema per accelerare il censimento statunitense del 1890. L&rsquo;idea prendeva spunto anche dai biglietti ferroviari, dove i fori servivano a distinguere alcune caratteristiche del viaggiatore. Il risultato fu un metodo adatto a trattare grandi volumi di record in modo ripetibile.</p><p>Il formato che si impose maggiormente fu quello IBM da <strong>80 colonne</strong>, con 12 posizioni di perforazione in ciascuna colonna. La scheda poteva contenere in genere 80 caratteri, anche se la quantit&agrave; effettiva di informazione dipendeva dal codice usato e dal tipo di campo registrato.</p><h2 id="come-venivano-codificati-e-letti-i-dati">Come venivano codificati e letti i dati</h2><p>L&rsquo;inserimento avveniva con una macchina chiamata <strong>perforatrice o keypunch</strong>. L&rsquo;operatore digitava numeri, lettere o simboli su una tastiera; il dispositivo faceva avanzare il cartoncino e praticava i fori nelle colonne corrette.</p><p>Nei dati numerici, una colonna poteva usare una perforazione associata a una cifra. Per lettere e caratteri speciali, invece, si combinavano spesso una posizione di zona e una posizione numerica. Per questo non &egrave; del tutto corretto immaginare la carta come una semplice sequenza di bit: il significato dipendeva sempre dal <strong>codice e dal layout</strong> adottati dal sistema.</p><p>La lettura avveniva inserendo un mazzo di carte nel lettore. Aghi o spazzole metalliche passavano sulle colonne e, quando incontravano un foro, chiudevano un circuito elettrico. La macchina convertiva cos&igrave; la disposizione fisica in dati utilizzabili da una tabulatrice o da un elaboratore.</p><h3 id="il-mazzo-doveva-restare-nellordine-giusto">Il mazzo doveva restare nell&rsquo;ordine giusto</h3><p>Ogni carta rappresentava un record, una parte di un record o una riga di programma. Le carte venivano quindi raccolte in <strong>mazzi ordinati</strong>, spesso numerati sul bordo o verificati con una seconda lettura.</p><p>Una carta caduta a terra o inserita nella posizione sbagliata poteva alterare un calcolo, spostare un pagamento o impedire l&rsquo;esecuzione di un programma. &Egrave; uno dei dettagli che rende pi&ugrave; comprensibile quanto la gestione dei dati fosse allora anche un problema logistico.</p><h2 id="dai-censimenti-ai-programmi-informatici">Dai censimenti ai programmi informatici</h2><p>Le prime applicazioni riguardavano soprattutto conteggi e classificazioni. Censimenti, registri ana<a href="https://bartolomeoalberico.it/cosa-sono-i-grafici-e-come-scegliere-quello-giusto">grafici</a>, paghe, assicurazioni, inventari e contabilit&agrave; potevano essere trasformati in flussi di carte da leggere, selezionare e sommare.</p><p>Le macchine selezionatrici separavano le carte in base ai fori presenti in una colonna. Le tabulatrici eseguivano conteggi e producevano prospetti stampati. In questo modo un&rsquo;organizzazione poteva elaborare milioni di registrazioni senza disporre ancora di un computer general purpose come lo intendiamo oggi.</p><p>Con i computer della seconda met&agrave; del Novecento, il supporto entr&ograve; anche nella programmazione. Una riga di codice poteva essere perforata su una carta e un intero programma diventava un <strong>mazzo di istruzioni</strong>. Linguaggi come FORTRAN e COBOL furono spesso utilizzati in ambienti dove il codice veniva preparato, verificato e consegnato in lotti.</p><p>Il modello era principalmente batch. L&rsquo;utente preparava i dati o il programma, consegnava il mazzo e attendeva il risultato. Rispetto all&rsquo;uso interattivo moderno, mancava il feedback immediato: un errore di sintassi poteva richiedere la correzione di una carta e una nuova esecuzione completa.</p><h2 id="vantaggi-limiti-ed-errori-da-non-sottovalutare">Vantaggi, limiti ed errori da non sottovalutare</h2><p>Il sistema aveva qualit&agrave; reali. Le carte erano economiche, facili da duplicare e potevano essere ordinate, trasportate e conservate senza alimentazione elettrica. Inoltre rendevano visibile il record: un operatore poteva controllare il testo stampato e individuare alcune anomalie prima della lettura.</p><p>Il rovescio della medaglia era una <strong>densit&agrave; di archiviazione molto bassa</strong>. Un archivio voluminoso occupava spazio, richiedeva scaffali e dipendeva da lettori e perforatrici specifici. Polvere, umidit&agrave;, pieghe e usura potevano causare inceppamenti o letture errate.</p><table>
<tbody>
<tr>
<th>Supporto</th>
<th>Modalit&agrave; di input</th>
<th>Vantaggio</th>
<th>Limite</th>
</tr>
<tr>
<td>Schede perforate</td>
<td>Perforazione e lettura sequenziale</td>
<td>Record fisici ordinabili e facilmente verificabili</td>
<td>Gestione ingombrante e correzioni lente</td>
</tr>
<tr>
<td>Nastro magnetico</td>
<td>Scrittura e lettura magnetica in sequenza</td>
<td>Maggiore capacit&agrave; e <a href="https://bartolomeoalberico.it/diagrammi-di-flusso-esempi-pratici-e-come-crearli">automazione</a></td>
<td>Accesso non immediato ai singoli record</td>
</tr>
<tr>
<td>Tastiera e disco</td>
<td>Inserimento diretto in file o applicazioni</td>
<td>Modifica rapida e feedback quasi immediato</td>
<td>Dipendenza da software, hardware e procedure di backup</td>
</tr>
</tbody>
</table><p>Gli errori pi&ugrave; comuni erano la perforazione nella colonna sbagliata, il codice errato, la carta duplicata e l&rsquo;ordine alterato. Nei programmi con formato fisso, anche un singolo carattere fuori posizione poteva cambiare il significato dell&rsquo;istruzione.</p><p>La lezione, secondo me, &egrave; ancora attuale. Un sistema di input affidabile deve prevedere <strong>controlli di formato, verifica dei dati e tracciabilit&agrave;</strong>, indipendentemente dal fatto che l&rsquo;origine sia un cartoncino, un file CSV o un modulo web.</p><h2 id="che-cosa-ci-insegna-oggi-nellera-del-cloud">Che cosa ci insegna oggi nell&rsquo;era del cloud</h2><p>Le carte perforate non sono pi&ugrave; una scelta pratica per inserire dati, ma il loro modello sopravvive nei flussi moderni. Importazioni batch, file a larghezza fissa, code di elaborazione e processi ETL seguono ancora la stessa logica: si raccolgono dati, si applicano regole e si produce un risultato in un secondo momento.</p><p>La differenza &egrave; che oggi possiamo aggiungere controlli automatici molto pi&ugrave; efficaci. Prima di importare un archivio conviene definire lo schema, controllare i campi obbligatori, validare i valori ammessi e conservare un registro degli errori. In pratica, il vecchio mazzo fisico viene sostituito da un <strong>flusso digitale controllato</strong>.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/mappa-dei-caratteri-speciali-simboli-e-scorciatoie">Mappa dei caratteri speciali - simboli e scorciatoie</a></strong></p><h3 id="come-recuperare-un-archivio-storico">Come recuperare un archivio storico</h3><p>Quando si trovano vecchie carte in un archivio, fotografarle non basta. La procedura pi&ugrave; sicura combina immagini ad alta risoluzione, riconoscimento della geometria dei fori, decodifica del formato originale e confronto con eventuali caratteri stampati sulla carta.</p><p>Serve poi una verifica manuale dei casi dubbi. Un archivio storico pu&ograve; contenere formati diversi, carte danneggiate o codici non documentati. La digitalizzazione diventa affidabile solo quando ogni trasformazione mantiene il legame tra <strong>originale, dato estratto e correzione effettuata</strong>.</p><h2 id="la-lezione-che-resta-dai-vecchi-mazzi-di-dati">La lezione che resta dai vecchi mazzi di dati</h2><p>

La scheda perforata appartiene alla <a href="https://bartolomeoalberico.it/eniac-il-computer-che-ha-dato-forma-allinformatica-moderna">storia dell&rsquo;informatica</a>, ma non &egrave; una semplice curiosit&agrave; da museo. Ha introdotto un modo rigoroso di descrivere, ordinare e controllare le informazioni, anticipando molti principi dei sistemi informativi moderni.

</p><p>Oggi nessuno sceglierebbe il cartoncino per alimentare un&rsquo;applicazione cloud. Eppure la domanda fondamentale &egrave; rimasta identica: <strong>come trasformare un&rsquo;informazione umana in un formato leggibile dalla macchina</strong>, riducendo gli errori e mantenendo una traccia verificabile del processo.</p>]]></content:encoded>
      <author>Anastasio Longo</author>
      <category>Software e Produttività</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/99c76bf31f66f19eb6f54a2d6d0b8b20/scheda-perforata-come-funzionava-e-cosa-ci-insegna-oggi.webp"/>
      <pubDate>Sat, 12 Sep 2026 13:18:00 +0200</pubDate>
    </item>
    <item>
      <title>Menu Start di Windows - come usarlo e risolvere i blocchi</title>
      <link>https://bartolomeoalberico.it/menu-start-di-windows-come-usarlo-e-risolvere-i-blocchi</link>
      <description>Scopri come usare, personalizzare e ripristinare il menu Start di Windows 10, con scorciatoie, soluzioni ai blocchi e confronto con Linux.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Quando il menu Start smette di aprirsi o sembra troppo affollato, anche le operazioni pi&ugrave; semplici diventano lente. Il tasto Start di <a href="https://bartolomeoalberico.it/cose-un-mac-e-come-scegliere-il-modello-giusto">Windows</a> 10 non serve solo a spegnere il PC: da l&igrave; si accede ad app, impostazioni, documenti, ricerca e strumenti di gestione. Qui mostro come usarlo, personalizzarlo, aprirlo da tastiera e ripristinarlo quando non risponde, con un breve <a href="https://bartolomeoalberico.it/menu-start-di-windows-10-come-personalizzarlo-e-ripararlo">confronto con Linux</a>.

</p><div class="short-summary">
<h2 id="il-menu-start-e-il-centro-operativo-di-windows-10">Il menu Start &egrave; il centro operativo di Windows 10</h2>
<ul>
<li>
<strong>Apertura rapida</strong> con un clic sul logo Windows oppure con il tasto Windows della tastiera.</li>
<li>
<strong>Ricerca integrata</strong> per avviare programmi, trovare impostazioni e aprire documenti.</li>
<li>
<strong>Personalizzazione</strong> di riquadri, cartelle, applicazioni recenti e collegamenti pi&ugrave; usati.</li>
<li>
<strong>Primo intervento</strong> in caso di blocco: riavviare Esplora risorse da Gestione attivit&agrave;.</li>
<li>
<strong>Windows 10</strong> ha terminato il supporto standard il 14 ottobre 2025, quindi conviene valutare aggiornamento o migrazione.</li>
</ul>
</div><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/1c2b70e04f855371ec0766fad89fc915/menu-start-windows-10-schermata-riquadri-menu-avvio-barra-applicazioni.webp" class="image article-image" loading="lazy" alt="Il tasto Start di Windows 10 mostra app come Calendario, Mail, Foto, Notizie e Meteo."></p><h2 id="dove-si-trova-il-pulsante-start-e-cosa-permette-di-fare">Dove si trova il pulsante Start e cosa permette di fare</h2><p>Il pulsante si trova normalmente nell&rsquo;angolo <strong>inferiore sinistro</strong> della barra delle applicazioni e mostra il logo di Windows. Un clic apre il menu Start, mentre un clic con il tasto destro visualizza il menu rapido con collegamenti utili come Gestione dispositivi, Gestione attivit&agrave;, Terminale, Esegui e Arresta o disconnetti.</p><p>La parte sinistra del menu contiene l&rsquo;elenco delle applicazioni, mentre l&rsquo;area destra pu&ograve; mostrare i <strong>riquadri dinamici</strong>, chiamati Live Tiles. Questi riquadri possono visualizzare informazioni aggiornate, per esempio il calendario o le previsioni del tempo, ma secondo me diventano davvero utili solo quando sono pochi e scelti con criterio.</p><p>La ricerca &egrave; uno degli strumenti pi&ugrave; pratici. Dopo aver aperto Start, basta digitare il nome di un programma, un&rsquo;impostazione o un file senza fare clic su una casella specifica. &Egrave; un metodo spesso pi&ugrave; veloce della navigazione manuale, soprattutto su computer con molte applicazioni installate.</p><h3 id="le-azioni-piu-utili-dal-menu-rapido">Le azioni pi&ugrave; utili dal menu rapido</h3><ul>
<li>
<strong>Windows + X</strong> apre il menu amministrativo.</li>
<li>
<strong>Windows + I</strong> porta direttamente alle Impostazioni.</li>
<li>
<strong>Windows + E</strong> apre Esplora file.</li>
<li>
<strong>Windows + R</strong> avvia la finestra Esegui.</li>
<li>
<strong>Ctrl + Shift + Esc</strong> apre Gestione attivit&agrave;.</li>
</ul><p>Queste scorciatoie non sostituiscono completamente il menu Start, ma permettono di continuare a lavorare anche quando l&rsquo;interfaccia grafica ha qualche problema. Per chi usa spesso il PC per attivit&agrave; professionali, impararne almeno tre significa ridurre parecchio i tempi persi nei menu.</p><h2 id="come-personalizzare-il-menu-per-lavorare-piu-velocemente">Come personalizzare il menu per lavorare pi&ugrave; velocemente</h2><p>Per modificare l&rsquo;aspetto del menu bisogna aprire <strong>Impostazioni, Personalizzazione e Start</strong>. Da questa sezione si possono gestire le applicazioni pi&ugrave; usate, i programmi aggiunti di recente, i suggerimenti e le cartelle visualizzate accanto al pulsante di alimentazione.</p><p>Per aggiungere un&rsquo;app, si pu&ograve; cercarla nell&rsquo;elenco, fare clic con il tasto destro e scegliere <strong>Aggiungi a Start</strong>. I riquadri possono essere spostati trascinandoli, raggruppati e ridimensionati. Per rimuovere un collegamento basta usare il comando &ldquo;Rimuovi da Start&rdquo;, senza disinstallare il programma.</p><h3 id="una-configurazione-ordinata-che-consiglio">Una configurazione ordinata che consiglio</h3><ul>
<li>Lasciare nella prima area solo le applicazioni usate ogni settimana.</li>
<li>Creare gruppi separati per lavoro, comunicazione e strumenti di sistema.</li>
<li>Disattivare i suggerimenti se il menu appare troppo affollato.</li>
<li>Aggiungere soltanto le cartelle realmente utilizzate, come Documenti o Download.</li>
<li>Usare la ricerca per i programmi occasionali invece di riempire Start di collegamenti.</li>
</ul><p>La personalizzazione non rende il computer pi&ugrave; potente, ma migliora il flusso di lavoro. Nella pratica, un menu con <strong>10-15 collegamenti ben scelti</strong> &egrave; pi&ugrave; funzionale di una schermata piena di riquadri che richiedono tempo per essere individuati.</p><h2 id="cosa-fare-quando-start-non-si-apre-o-resta-bloccato">Cosa fare quando Start non si apre o resta bloccato</h2><p>Il problema pu&ograve; dipendere da Esplora risorse, da un aggiornamento incompleto, da un profilo utente danneggiato o da un processo del menu che non risponde. Prima di intervenire sui file di sistema, io partirei sempre dalle soluzioni pi&ugrave; semplici e reversibili.</p><h3 id="riavviare-esplora-risorse">Riavviare Esplora risorse</h3><ol>
<li>Premere <strong>Ctrl + Shift + Esc</strong> per aprire Gestione attivit&agrave;.</li>
<li>Cercare &ldquo;Esplora risorse&rdquo; nell&rsquo;elenco dei processi.</li>
<li>Fare clic con il tasto destro e scegliere &ldquo;Riavvia&rdquo;.</li>
</ol><p>Lo schermo pu&ograve; lampeggiare per qualche secondo e la barra delle applicazioni pu&ograve; scomparire temporaneamente. &Egrave; normale: Windows sta ricaricando l&rsquo;interfaccia. In molti casi il menu torna operativo senza riavviare l&rsquo;intero computer.</p><h3 id="controllare-aggiornamenti-e-file-di-sistema">Controllare aggiornamenti e file di sistema</h3><p>

Se il riavvio non basta, conviene installare gli aggiornamenti ancora disponibili per la propria configurazione e riavviare il PC. In un <a href="https://bartolomeoalberico.it/windows-10-bloccato-quale-ripristino-scegliere">Prompt dei comandi</a> aperto come amministratore si possono eseguire gli strumenti integrati <strong>SFC</strong> e <strong>DISM</strong>, che verificano e riparano rispettivamente file di sistema e immagine di Windows.

</p><pre><code>sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth</code></pre><p>Questi comandi possono richiedere diversi minuti. Non bisogna chiudere la finestra mentre lavorano e non &egrave; consigliabile usarli interrompendo un aggiornamento gi&agrave; in corso.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/come-aumentare-la-memoria-virtuale-senza-rallentare-il-pc">Come aumentare la memoria virtuale senza rallentare il PC</a></strong></p><h3 id="capire-se-il-problema-riguarda-solo-laccount">Capire se il problema riguarda solo l&rsquo;account</h3><p>Quando Start funziona con un nuovo profilo ma non con quello abituale, la causa probabile &egrave; una configurazione utente danneggiata. Prima di cancellare il vecchio account, bisogna copiare documenti e dati importanti e verificare che i file siano effettivamente presenti nel nuovo profilo.</p><p>Se il menu resta bloccato per tutti gli utenti, il problema &egrave; pi&ugrave; probabilmente legato a Windows o a un servizio di sistema. In quel caso conviene evitare procedure trovate su forum non verificati, soprattutto quelle che modificano il registro senza creare prima un backup.</p><h2 id="come-usare-start-anche-quando-preferisci-la-tastiera">Come usare Start anche quando preferisci la tastiera</h2><p>Il modo pi&ugrave; rapido per aprire il menu &egrave; premere il <strong>tasto Windows</strong>, generalmente posizionato tra Ctrl e Alt. Una volta aperto Start, si pu&ograve; iniziare a digitare subito il nome dell&rsquo;applicazione e premere Invio per avviarla.</p><p>Con i tasti freccia si naviga tra le sezioni, mentre Esc chiude il menu. Il tasto Windows combinato con altre lettere consente di accedere velocemente a funzioni specifiche, una soluzione che trovo particolarmente comoda sulle tastiere compatte o quando il mouse non funziona bene.</p><table>
<tbody>
<tr>
<th>Scorciatoia</th>
<th>Azione</th>
<th>Quando conviene usarla</th>
</tr>
<tr>
<td>Windows</td>
<td>Apre Start</td>
<td>Per cercare app, file e impostazioni</td>
</tr>
<tr>
<td>Windows + X</td>
<td>Apre il menu amministrativo</td>
<td>Per strumenti di sistema e gestione del PC</td>
</tr>
<tr>
<td>Windows + I</td>
<td>Apre Impostazioni</td>
<td>Per rete, account, aggiornamenti e personalizzazione</td>
</tr>
<tr>
<td>Windows + L</td>
<td>Blocca il computer</td>
<td>Quando ci si allontana dalla postazione</td>
</tr>
<tr>
<td>Windows + D</td>
<td>Mostra il desktop</td>
<td>Per ridurre rapidamente tutte le finestre</td>
</tr>
</tbody>
</table><p>Chi lavora con molti programmi pu&ograve; anche usare <strong>Alt + Tab</strong> per passare da una finestra all&rsquo;altra, senza tornare ogni volta a Start. Il risultato &egrave; un flusso pi&ugrave; rapido e meno dipendente dalla posizione delle icone.</p><h2 id="il-rapporto-tra-il-menu-start-di-windows-e-linux">Il rapporto tra il menu Start di Windows e Linux</h2><p>Il concetto non &egrave; esclusivo di Windows. In molti ambienti Linux il tasto Windows viene riconosciuto come <strong>Super</strong> e apre il menu delle applicazioni o la panoramica del desktop, ma il comportamento dipende dall&rsquo;ambiente grafico installato.</p><p>Su GNOME, per esempio, il tasto Super mostra una panoramica con applicazioni e finestre aperte. KDE Plasma offre invece un lanciatore molto simile a un menu Start, con ricerca, categorie e collegamenti. La differenza principale &egrave; che Linux separa maggiormente il sistema operativo dall&rsquo;ambiente grafico, quindi l&rsquo;esperienza pu&ograve; cambiare passando da una distribuzione all&rsquo;altra.</p><p>Chi passa da Windows 10 a Linux non deve cercare una copia identica del pulsante. Conviene concentrarsi sulle funzioni essenziali: <strong>ricerca delle applicazioni, accesso alle impostazioni e gestione delle finestre</strong>. Le scorciatoie possono essere personalizzate, ma i comandi disponibili dipendono da distribuzione e desktop scelti.</p><h2 id="una-scelta-pratica-per-continuare-a-usare-windows-10">Una scelta pratica per continuare a usare Windows 10</h2><p>Se il menu Start funziona ma il sistema &egrave; lento, il problema non dipende necessariamente dal pulsante. Un numero eccessivo di programmi all&rsquo;avvio, un disco quasi pieno o hardware datato possono rendere ogni apertura pi&ugrave; lenta. In questi casi ha pi&ugrave; senso controllare le app in esecuzione automatica e lo spazio libero prima di modificare Start.</p><p>Nel 2026 bisogna considerare anche il ciclo di vita del sistema. Il supporto standard di Windows 10 &egrave; terminato il <strong>14 ottobre 2025</strong>, come indicato da Microsoft; chi continua a usarlo dovrebbe verificare le opzioni di aggiornamento esteso disponibili per il proprio dispositivo oppure pianificare il passaggio a Windows 11 o a una distribuzione Linux compatibile.</p><p>Il mio approccio &egrave; semplice: mantengo Start essenziale, uso le scorciatoie per le attivit&agrave; ripetitive e intervengo sui file di sistema solo dopo aver escluso i problemi pi&ugrave; comuni. Cos&igrave; il menu resta un punto di accesso rapido, senza trasformarsi in un&rsquo;altra area da amministrare continuamente.</p>]]></content:encoded>
      <author>Xavier Grassi</author>
      <category>Windows e Linux</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/e93fae9601c2a7fddb7afe44c3bb024c/menu-start-di-windows-come-usarlo-e-risolvere-i-blocchi.webp"/>
      <pubDate>Fri, 11 Sep 2026 20:54:00 +0200</pubDate>
    </item>
    <item>
      <title>Recovery Pending SQL Server: cosa controllare e quando fare restore</title>
      <link>https://bartolomeoalberico.it/recovery-pending-sql-server-cosa-controllare-e-quando-fare-restore</link>
      <description>Recovery Pending in SQL Server? Scopri cause, controlli, restore e rischi di CHECKDB per agire senza aumentare il danno.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Quando un database entra nello stato <strong>Recovery Pending</strong> in SQL Server, l&rsquo;errore non &egrave; quasi mai &ldquo;solo&rdquo; un problema del database: spesso il motore non riesce ad accedere a un file, a una risorsa di archiviazione o al transaction log. In questa guida spiego come interpretare il cosiddetto recovery pending SQL Server, quali controlli eseguire per primi e quando conviene ripristinare un <a href="https://bartolomeoalberico.it/sql-server-agent-come-creare-job-affidabili">backup</a> invece di tentare una riparazione rischiosa.</p><div class="short-summary">
  <h2 id="la-sequenza-corretta-riduce-il-rischio-di-perdere-dati">La sequenza corretta riduce il rischio di perdere dati</h2>
  <ul>
    <li>
<strong>Controlla l&rsquo;ERRORLOG</strong> prima di modificare lo stato del database.</li>
    <li>
<strong>Verifica file, spazio e permessi</strong> dell&rsquo;account che esegue il servizio SQL Server.</li>
    <li>
<strong>Preferisci il restore da backup</strong> alla riparazione manuale quando esiste una copia valida.</li>
    <li>
<strong>DBCC CHECKDB con REPAIR_ALLOW_DATA_LOSS</strong> va usato solo come ultima risorsa.</li>
    <li>In un ambiente <strong>Always On</strong> o con TDE, servono controlli specifici prima di intervenire.</li>
  </ul>
</div><h2 id="che-cosa-significa-davvero-recovery-pending">Che cosa significa davvero Recovery Pending</h2><p>SQL Server usa il processo di recovery per riportare il database in uno stato coerente dopo un riavvio, un arresto improvviso o un problema di sistema. Se il motore capisce che deve eseguire il recupero ma non riesce nemmeno ad avviarlo, assegna al database lo stato <strong>RECOVERY_PENDING</strong>. Non significa automaticamente che tutti i dati siano corrotti.</p><p>Nella mia esperienza, la differenza pi&ugrave; importante &egrave; tra un problema di accesso alle risorse e una vera corruzione logica o fisica. Un file MDF o LDF spostato, un volume non montato, un disco pieno o un permesso mancante possono produrre lo stesso stato di un guasto pi&ugrave; grave.</p><table>
  <tbody>
    <tr>
      <th>Stato</th>
      <th>Che cosa indica</th>
      <th>Prima azione</th>
    </tr>
    <tr>
      <td>ONLINE</td>
      <td>Il database &egrave; disponibile normalmente.</td>
      <td>Nessun intervento urgente.</td>
    </tr>
    <tr>
      <td>RECOVERING</td>
      <td>SQL Server sta applicando il transaction log.</td>
      <td>Controllare l&rsquo;ERRORLOG e attendere se ci sono progressi.</td>
    </tr>
    <tr>
      <td>RECOVERY_PENDING</td>
      <td>Il recovery non riesce a partire per un problema di risorse o accesso.</td>
      <td>Individuare la causa prima di forzare operazioni.</td>
    </tr>
    <tr>
      <td>SUSPECT</td>
      <td>Il recovery &egrave; fallito e il database non pu&ograve; essere aperto normalmente.</td>
      <td>Valutare restore, diagnosi della corruzione e piano di emergenza.</td>
    </tr>
  </tbody>
</table><p>Per vedere lo stato reale dei database uso una query semplice, evitando di affidarmi soltanto a SQL Server Management Studio:</p><pre><code>SELECT
    name,
    state_desc,
    recovery_model_desc,
    user_access_desc
FROM sys.databases
ORDER BY name;</code></pre><h2 id="da-dove-iniziare-senza-peggiorare-il-problema">Da dove iniziare senza peggiorare il problema</h2><p>Il primo controllo &egrave; il <strong>SQL Server ERRORLOG</strong>. La riga che spiega il motivo del blocco spesso compare pochi secondi prima dello stato Recovery Pending e pu&ograve; indicare un errore di I/O, un file inesistente, un log non accessibile oppure un problema di autorizzazioni.</p><pre><code>EXEC sys.sp_readerrorlog 0, 1, N'failed';
EXEC sys.sp_readerrorlog 0, 1, N'error';
EXEC sys.sp_readerrorlog 0, 1, N'recovery';</code></pre><p>Non limitarti all&rsquo;ultimo log. Dopo un riavvio, l&rsquo;informazione decisiva pu&ograve; trovarsi nel file precedente. Controllerei anche il Visualizzatore eventi di Windows, soprattutto se l&rsquo;ERRORLOG segnala <strong>persistent I/O error</strong>, timeout del disco o problemi del controller.</p><h3 id="controlla-il-percorso-dei-file">Controlla il percorso dei file</h3><p>Per capire dove SQL Server cerca MDF, NDF e LDF, esegui:</p><pre><code>SELECT
    DB_NAME(database_id) AS database_name,
    type_desc,
    physical_name,
    state_desc
FROM sys.master_files
WHERE DB_NAME(database_id) = N'NomeDatabase';</code></pre><p>Verifica che ogni percorso esista davvero sul server, che il volume sia montato e che la lettera dell&rsquo;unit&agrave; non sia cambiata. In ambienti virtuali o cloud, un disco scollegato o non ancora disponibile dopo il riavvio &egrave; una causa meno rara di quanto si pensi.</p><h3 id="controlla-spazio-e-autorizzazioni">Controlla spazio e autorizzazioni</h3><p>Un volume senza spazio libero pu&ograve; impedire l&rsquo;apertura o l&rsquo;espansione del transaction log. Cerca di mantenere un margine operativo reale, non appena pochi megabyte, soprattutto per database con attivit&agrave; intensa. L&rsquo;account del servizio SQL Server deve inoltre avere accesso ai file e alle cartelle che li contengono.</p><p>Se i file sono stati copiati, ripristinati o spostati manualmente, ereditarne i permessi non &egrave; garantito. Questo &egrave; uno dei casi in cui un controllo sul server Windows risolve il problema pi&ugrave; velocemente di una lunga serie di comandi T-SQL.</p><h2 id="le-cause-piu-frequenti-e-lintervento-adatto">Le cause pi&ugrave; frequenti e l&rsquo;intervento adatto</h2><p>Lo stesso stato pu&ograve; nascere da situazioni molto diverse. Per questo non considero una procedura di &ldquo;fix&rdquo; universale affidabile: prima collego il messaggio dell&rsquo;ERRORLOG alla causa concreta.</p><table>
  <tbody>
    <tr>
      <th>Possibile causa</th>
      <th>Indizio tipico</th>
      <th>Intervento prudente</th>
    </tr>
    <tr>
      <td>File MDF o LDF mancanti</td>
      <td>SQL Server segnala che il percorso non esiste o il file non pu&ograve; essere aperto.</td>
      <td>Ripristinare il volume o il file corretto, senza creare un log vuoto.</td>
    </tr>
    <tr>
      <td>Permessi insufficienti</td>
      <td>Errore di accesso negato dopo uno spostamento o una migrazione.</td>
      <td>Correggere i permessi dell&rsquo;account del servizio.</td>
    </tr>
    <tr>
      <td>Spazio esaurito</td>
      <td>Il volume dati o log &egrave; pieno.</td>
      <td>Liberare spazio in modo controllato e verificare la crescita dei file.</td>
    </tr>
    <tr>
      <td>Problema di storage</td>
      <td>Errori I/O, timeout o pagine illeggibili nel log.</td>
      <td>Risolvere prima il guasto dell&rsquo;infrastruttura e usare un backup.</td>
    </tr>
    <tr>
      <td>Transaction log danneggiato</td>
      <td>Il recovery fallisce durante la lettura o l&rsquo;applicazione delle <a href="https://bartolomeoalberico.it/transazioni-sql-commit-rollback-e-gestione-degli-errori">transazioni</a>.</td>
      <td>Ripristinare la catena di backup o valutare un recupero d&rsquo;emergenza.</td>
    </tr>
    <tr>
      <td>TDE o provider EKM non disponibili</td>
      <td>Il database cifrato non riesce ad accedere alle chiavi.</td>
      <td>Ripristinare la disponibilit&agrave; del certificato o del provider di chiavi.</td>
    </tr>
  </tbody>
</table><p>Un errore comune consiste nel cancellare il file LDF pensando che SQL Server possa ricrearlo senza conseguenze. <strong>Non &egrave; una procedura di recupero</strong>: pu&ograve; eliminare informazioni necessarie al recovery e rendere pi&ugrave; difficile il ripristino.</p><h2 id="quando-il-restore-e-la-scelta-corretta">Quando il restore &egrave; la scelta corretta</h2><p>Se hai un backup completo integro e una catena dei log disponibile, il <strong>restore &egrave; quasi sempre pi&ugrave; sicuro</strong> di una riparazione. L&rsquo;obiettivo dovrebbe essere tornare a un punto coerente, rispettando il Recovery Point Objective, non semplicemente riportare il database online a qualsiasi costo.</p><p>In un modello di recupero completo, la sequenza tipica &egrave; il backup completo, gli eventuali differential backup e tutti i transaction log successivi. L&rsquo;ultimo restore viene eseguito con <code>WITH RECOVERY</code> per rendere il database operativo.</p><pre><code>RESTORE DATABASE [NomeDatabase]
FROM DISK = N'D:\Backup\NomeDatabase_full.bak'
WITH NORECOVERY, REPLACE;

RESTORE LOG [NomeDatabase]
FROM DISK = N'D:\Backup\NomeDatabase_log.trn'
WITH RECOVERY;</code></pre><p><strong>WITH RECOVERY non risolve automaticamente RECOVERY_PENDING</strong>. Serve quando il database &egrave; gi&agrave; in stato RESTORING e deve terminare una sequenza di ripristino. Confondere i due stati porta spesso a eseguire il comando giusto nel contesto sbagliato.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/comandi-dbcc-sql-server-per-controlli-e-manutenzione-sicura">Comandi DBCC SQL Server per controlli e manutenzione sicura</a></strong></p><h3 id="casi-particolari-con-always-on">Casi particolari con Always On</h3><p>Se il database appartiene a un availability group, evita di applicare subito la procedura Emergency Mode o una riparazione DBCC sulla replica secondaria. Qui bisogna controllare sincronizzazione, ruolo della replica, endpoint e stato del gruppo, perch&eacute; un comando locale pu&ograve; peggiorare la configurazione.</p><p>In caso di database secondario irrimediabilmente fuori sincronia, la strada pi&ugrave; pulita &egrave; spesso rimuovere la replica interessata dalla procedura prevista, ripristinare una base coerente e risincronizzarla. La scelta dipende dal ruolo della replica e dagli obiettivi di continuit&agrave; operativa.</p><h2 id="emergency-mode-e-dbcc-checkdb-come-ultima-risorsa">Emergency mode e DBCC CHECKDB come ultima risorsa</h2><p>Quando non esiste un backup utilizzabile o il restore non &egrave; praticabile, puoi tentare una diagnosi in modalit&agrave; di emergenza. Prima di farlo, conserva una copia dei file originali e documenta ogni comando. La modalit&agrave; Emergency non ripara il database: permette a SQL Server di eseguire controlli speciali su un database non accessibile normalmente.</p><pre><code>ALTER DATABASE [NomeDatabase] SET EMERGENCY;
ALTER DATABASE [NomeDatabase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

DBCC <a href="https://bartolomeoalberico.it/comandi-dbcc-sql-server-per-controlli-e-manutenzione-sicura">CHECKDB</a> ([NomeDatabase])
WITH NO_INFOMSGS, ALL_ERRORMSGS;</code></pre><p>Leggi l&rsquo;output completo di <code>DBCC CHECKDB</code>. Se segnala corruzione, la prima scelta resta il ripristino da backup. L&rsquo;opzione seguente &egrave; da considerare soltanto quando accetti una possibile perdita di dati:</p><pre><code>DBCC CHECKDB ([NomeDatabase], REPAIR_ALLOW_DATA_LOSS)
WITH NO_INFOMSGS, ALL_ERRORMSGS;</code></pre><p>Il nome &egrave; esplicito: <strong>REPAIR_ALLOW_DATA_LOSS pu&ograve; eliminare pagine, righe o strutture corrotte</strong> per rendere il database nuovamente utilizzabile. Non &egrave; equivalente a un restore e non garantisce che l&rsquo;applicazione continui a funzionare correttamente.</p><p>Dopo una riparazione, eseguo nuovamente CHECKDB, controllo le tabelle pi&ugrave; importanti e confronto i dati con le fonti applicative. Solo quando il database &egrave; stato verificato ha senso riportarlo a multi-user:</p><pre><code>ALTER DATABASE [NomeDatabase] SET MULTI_USER;</code></pre><p>Se il database resta bloccato, se il log contiene errori I/O persistenti o se CHECKDB segnala danni estesi, fermerei i tentativi casuali e coinvolgerei un professionista del recupero dati. Ogni nuova scrittura pu&ograve; ridurre le possibilit&agrave; di ottenere un recupero completo.</p><h2 id="come-prevenire-un-nuovo-recovery-pending">Come prevenire un nuovo Recovery Pending</h2><p>La prevenzione si basa meno su comandi di emergenza e pi&ugrave; sulla qualit&agrave; dell&rsquo;operativit&agrave; quotidiana. Verifico regolarmente backup, spazio libero, crescita dei file, salute dello storage e presenza dei messaggi critici nei log.</p><ul>
  <li>Esegui backup completi secondo un calendario definito e prova davvero il restore.</li>
  <li>Se usi il modello Full, pianifica i backup del transaction log e controlla che la catena sia continua.</li>
  <li>Monitora spazio libero e latenza dei volumi che ospitano MDF, NDF e LDF.</li>
  <li>Evita spostamenti manuali dei file senza aggiornare correttamente la configurazione del database.</li>
  <li>Documenta account del servizio, permessi, certificati TDE e dipendenze da provider esterni.</li>
  <li>Configura alert per errori di I/O, database sospetti e fallimenti dei job di backup.</li>
</ul><p>Il test pi&ugrave; utile non &egrave; sapere che il backup &egrave; stato creato, ma verificare che sia possibile ripristinarlo entro il tempo richiesto dall&rsquo;azienda. Un backup mai testato &egrave; una buona intenzione, non ancora una strategia di continuit&agrave;.</p><h2 id="la-decisione-piu-importante-arriva-prima-del-primo-comando">La decisione pi&ugrave; importante arriva prima del primo comando</h2><p>Davanti a RECOVERY_PENDING, la sequenza che seguo &egrave; semplice: <strong>ERRORLOG, risorse, file, backup e solo dopo riparazione</strong>. Se la causa &egrave; un volume indisponibile o un permesso errato, correggere l&rsquo;infrastruttura pu&ograve; riportare il database online senza perdita di dati.</p><p>Quando invece emergono corruzione o errori I/O persistenti, il restore da una copia verificata resta la strada pi&ugrave; solida. La riparazione d&rsquo;emergenza ha senso solo come ultima possibilit&agrave;, con la consapevolezza che recuperare l&rsquo;accesso al database non significa necessariamente recuperare ogni dato.</p>]]></content:encoded>
      <author>Xavier Grassi</author>
      <category>Programmazione e Database</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/02b29325a3b72cc03140c83749af1ef6/recovery-pending-sql-server-cosa-controllare-e-quando-fare-restore.webp"/>
      <pubDate>Fri, 11 Sep 2026 19:55:00 +0200</pubDate>
    </item>
    <item>
      <title>Android TV su Raspberry Pi 3, cosa serve e cosa aspettarsi</title>
      <link>https://bartolomeoalberico.it/android-tv-su-raspberry-pi-3-cosa-serve-e-cosa-aspettarsi</link>
      <description>Vuoi Android TV su Raspberry Pi 3? Scopri immagini compatibili, installazione, prestazioni Full HD e limiti di Netflix e DRM.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Trasformare un Raspberry Pi 3 in un piccolo media center con <a href="https://bartolomeoalberico.it/come-formattare-una-scheda-sd-senza-perdere-dati">Android</a> TV si pu&ograve; ancora fare, ma nel 2026 bisogna partire da un dato importante: il <a href="https://bartolomeoalberico.it/che-cose-un-hard-disk-e-quale-scegliere-tra-hdd-e-ssd">limite principale</a> non &egrave; l&rsquo;hardware, bens&igrave; la disponibilit&agrave; di immagini aggiornate e realmente compatibili. In questo articolo chiarisco cosa serve, quale sistema scegliere, come preparare la microSD e quali prestazioni aspettarsi senza confondere una semplice interfaccia Android con una vera esperienza da Smart TV.

</p><div class="short-summary">
<h2 id="la-scelta-giusta-dipende-piu-dal-software-che-dalla-scheda">La scelta giusta dipende pi&ugrave; dal software che dalla scheda</h2>
<ul>
<li>
<strong>&Egrave; possibile</strong> usare Android su Raspberry Pi 3, ma Android TV richiede immagini non ufficiali e spesso datate.</li>
<li>Il Pi 3 ha <strong>1 GB di RAM</strong>, Wi-Fi 2,4 GHz, Ethernet e uscita HDMI adatta soprattutto al Full HD.</li>
<li>Per il sistema consiglio una <strong>microSD da 32 GB</strong> veloce e affidabile, preferibilmente affiancata da USB per i contenuti multimediali.</li>
<li>
<strong>Netflix, Prime Video e DRM</strong> possono non funzionare come su un dispositivo Android TV certificato.</li>
<li>Per un uso fluido conviene puntare su <strong>1080p, applicazioni leggere e telecomando Bluetooth</strong>.</li>
</ul>
</div><h2 id="android-tv-su-raspberry-pi-3-e-possibile-ma-non-e-una-soluzione-ufficiale">Android TV su Raspberry Pi 3 &egrave; possibile, ma non &egrave; una soluzione ufficiale</h2><p>Google non distribuisce un&rsquo;immagine ufficiale di Android TV per Raspberry Pi. Le installazioni disponibili derivano quindi da porting della comunit&agrave;, in genere basati su Android Open Source Project o LineageOS. La differenza &egrave; sostanziale: non si installa un sistema pronto e certificato, ma un&rsquo;immagine adattata a un hardware che non &egrave; nato per Android TV.</p><p>La pagina di KonstaKANG dedicata al Raspberry Pi 3 elenca attualmente versioni di LineageOS fino ad <strong>Android 10</strong>, oltre a release precedenti. Per il Pi 4 e il Pi 5 esistono invece immagini Android TV pi&ugrave; recenti. Questo non significa che il progetto sia impossibile, ma che sul Pi 3 bisogna accettare <strong>un compromesso tra compatibilit&agrave;, aggiornamenti e comodit&agrave; d&rsquo;uso</strong>.</p><p>Io distinguerei due scenari. Il primo consiste nell&rsquo;installare una build Android per Pi 3 e aggiungere un launcher ottimizzato per televisori. Il secondo prevede una vecchia build Android TV gi&agrave; configurata. La prima strada tende a essere pi&ugrave; reperibile, mentre la seconda offre un&rsquo;interfaccia migliore ma pu&ograve; essere pi&ugrave; difficile da trovare e meno aggiornata.</p><h2 id="il-materiale-necessario-per-un-risultato-stabile">Il materiale necessario per un risultato stabile</h2><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/dede7fb05a6c807bf8af85c7c1c8ada3/raspberry-pi-3-collegato-a-un-televisore-con-interfaccia-android-tv-e-telecomando-bluetooth.webp" class="image article-image" loading="lazy" alt="Schermo TV con interfaccia Android, che mostra app di streaming e il logo Raspberry Pi. Un piccolo dispositivo nero, forse un android tv raspberry pi 3, &egrave; posizionato sul mobile."></p><p>Il Raspberry Pi 3 Model B e il Model B+ sono sufficienti per una prova domestica. Il modello B+ offre una rete pi&ugrave; veloce e Wi-Fi dual band, mentre entrambi dispongono di <strong>1 GB di RAM</strong>, quattro porte USB, HDMI e slot microSD. Non sceglierei invece il Pi 3 Model A+ per questo progetto, perch&eacute; la memoria ridotta e il minor numero di porte USB rendono l&rsquo;uso pi&ugrave; scomodo.</p><table>
<tbody>
<tr>
<th>Componente</th>
<th>Specifiche consigliate</th>
<th>Perch&eacute; conta</th>
</tr>
<tr>
<td>Raspberry Pi</td>
<td>Pi 3 Model B o B+</td>
<td>Il B+ gestisce meglio rete e periferiche</td>
</tr>
<tr>
<td>Alimentatore</td>
<td>5 V, almeno 2,5 A, micro USB</td>
<td>Evita riavvii e corruzione della scheda</td>
</tr>
<tr>
<td>MicroSD</td>
<td>32 GB, classe 10, A1 o superiore</td>
<td>Offre spazio e tempi di caricamento pi&ugrave; equilibrati</td>
</tr>
<tr>
<td>Telecomando</td>
<td>Bluetooth o USB</td>
<td>&Egrave; molto pi&ugrave; pratico del mouse sul divano</td>
</tr>
<tr>
<td>Rete</td>
<td>Ethernet oppure Wi-Fi 2,4 GHz</td>
<td>Serve per aggiornamenti e streaming</td>
</tr>
<tr>
<td>Raffreddamento</td>
<td>Piccoli dissipatori e case ventilato</td>
<td>Riduce il throttling durante l&rsquo;uso prolungato</td>
</tr>
</tbody>
</table><p>La documentazione ufficiale di Raspberry Pi indica per il Pi 3 un alimentatore consigliato da <strong>2,5 A</strong>. Non userei un vecchio caricatore da smartphone solo perch&eacute; il connettore &egrave; compatibile: un&rsquo;alimentazione instabile pu&ograve; causare blocchi, schermate nere e danni al filesystem della microSD.</p><p>Per il telecomando, un modello Bluetooth &egrave; la soluzione pi&ugrave; pulita. Durante la prima configurazione terrei comunque collegati <strong>una tastiera e un mouse USB</strong>, perch&eacute; alcune schermate di Android e della recovery non sono progettate bene per il controllo a distanza.</p><h2 id="quale-immagine-android-scegliere-nel-2026">Quale immagine Android scegliere nel 2026</h2><p>La prima regola &egrave; semplice: scaricare un&rsquo;immagine destinata espressamente a <strong>Raspberry Pi 3</strong>, non una pensata per Pi 4 o Pi 5. Anche quando il nome del sistema &egrave; lo stesso, cambiano kernel, driver grafici, gestione della memoria e supporto alle periferiche.</p><p>Prima di procedere controllerei sempre quattro elementi nelle note della release:</p><ul>
<li>il modello supportato, distinguendo Pi 3B, Pi 3B+ e Pi 3A+;</li>
<li>la versione di Android e l&rsquo;architettura richiesta;</li>
<li>il supporto a HDMI, Wi-Fi, Bluetooth e accelerazione grafica;</li>
<li>la disponibilit&agrave; di Google Apps o di un metodo alternativo per installare le applicazioni.</li>
</ul><p>Una build Android standard pu&ograve; funzionare, ma la sua interfaccia &egrave; pensata per schermi touch. Per usarla davanti alla TV serve un <strong>launcher in stile Android TV</strong>, con icone grandi, navigazione tramite telecomando e applicazioni organizzate per il controllo da distanza. Non basta quindi vedere la scritta Android all&rsquo;avvio per avere automaticamente Android TV.</p><p>Le Google Apps meritano particolare attenzione. Il Play Store non &egrave; normalmente incluso nelle immagini personalizzate e il pacchetto corretto deve corrispondere alla versione di Android e all&rsquo;architettura del sistema. Installare un archivio casuale pu&ograve; produrre boot loop, errori del Play Services o un sistema inutilizzabile. Sul Pi 3 preferisco una configurazione minimale e poche applicazioni, invece di forzare un pacchetto completo che occupa memoria e rallenta l&rsquo;avvio.</p><h2 id="come-preparare-la-microsd-senza-complicare-linstallazione">Come preparare la microSD senza complicare l&rsquo;installazione</h2><p>

Il metodo pi&ugrave; semplice consiste nel preparare la scheda dal computer con <a href="https://bartolomeoalberico.it/raspberry-pi-boot-from-usb-guida-a-ssd-e-bootloader">Raspberry Pi Imager</a>, balenaEtcher o un programma equivalente. Prima di scrivere l&rsquo;immagine farei un backup della microSD, perch&eacute; il processo <strong>cancella completamente il contenuto</strong>.

</p><ol>
<li>Scarica l&rsquo;immagine compatibile con il modello esatto di Raspberry Pi 3.</li>
<li>Verifica, quando disponibile, l&rsquo;integrit&agrave; del file tramite checksum.</li>
<li>Inserisci una microSD da almeno 32 GB nel computer.</li>
<li>Scrivi l&rsquo;immagine sulla scheda usando l&rsquo;opzione per un sistema operativo personalizzato.</li>
<li>Espelli la scheda in modo sicuro e inseriscila nel Raspberry Pi.</li>
<li>Collega HDMI, alimentatore, tastiera e rete prima del primo avvio.</li>
</ol><p>Il primo boot pu&ograve; richiedere diversi minuti. Se lo schermo resta nero, non dare subito per guasta la scheda: il problema pu&ograve; dipendere dalla modalit&agrave; HDMI, dall&rsquo;immagine errata o dall&rsquo;alimentatore. Io proverei prima un altro cavo HDMI e un televisore differente, poi controllerei la compatibilit&agrave; della release.</p><p>Dopo l&rsquo;avvio configurerei nell&rsquo;ordine <strong>lingua, rete, data e telecomando</strong>. Solo in seguito installerei launcher e applicazioni. In questo modo &egrave; pi&ugrave; facile capire quale componente sta causando un eventuale malfunzionamento.</p><h2 id="archiviazione-e-prestazioni-sono-il-vero-punto-debole">Archiviazione e prestazioni sono il vero punto debole</h2><p>Il sistema operativo viene normalmente eseguito dalla microSD, che sul Pi 3 rappresenta spesso il collo di bottiglia principale. Una scheda lenta non compromette solo l&rsquo;avvio: rende meno reattivi i menu, rallenta l&rsquo;installazione delle app e aumenta il rischio di errori quando il dispositivo viene spento senza procedura corretta.</p><p>Per Android TV sceglierei <strong>32 GB come capacit&agrave; minima equilibrata</strong>. Una scheda da 16 GB pu&ograve; bastare per un&rsquo;installazione essenziale, ma lascia poco spazio per cache e applicazioni. I 64 GB hanno senso se si vogliono conservare APK, emulatori o file locali, ma non trasformano il Pi 3 in un vero archivio multimediale.</p><p>Per film e musica userei un disco USB o un server di rete. La microSD &egrave; adatta al sistema, non a continue operazioni di scrittura. Un SSD USB pu&ograve; migliorare la reattivit&agrave; rispetto a una scheda economica, ma richiede un adattatore affidabile e pu&ograve; aumentare il consumo energetico. Con pi&ugrave; periferiche collegate, un <strong>hub USB alimentato esternamente</strong> evita di sovraccaricare il Raspberry Pi.</p><p>Il limite prestazionale &egrave; altrettanto concreto. Il Pi 3 &egrave; adatto soprattutto a contenuti Full HD e applicazioni leggere. Non lo sceglierei per streaming 4K, giochi Android moderni o multitasking intenso. Anche la riproduzione video dipende dai codec, dai driver e dall&rsquo;applicazione utilizzata, quindi il risultato pu&ograve; cambiare molto tra una build e l&rsquo;altra.</p><h2 id="cosa-funziona-davvero-e-dove-iniziano-i-compromessi">Cosa funziona davvero e dove iniziano i compromessi</h2><p>Un&rsquo;installazione ben configurata pu&ograve; essere utile per YouTube, lettori multimediali compatibili, musica, immagini locali e applicazioni semplici. &Egrave; una soluzione interessante anche per un televisore secondario, una stanza degli ospiti o un progetto didattico in cui si vuole recuperare hardware gi&agrave; disponibile.</p><p>La situazione cambia con i servizi commerciali. Netflix, Prime Video, Disney+ e piattaforme simili possono richiedere <strong>DRM, certificazione del dispositivo e versioni specifiche dell&rsquo;app</strong>. Anche quando l&rsquo;app si installa, non &egrave; garantito che riproduca i contenuti o mantenga la risoluzione prevista. Il problema non si risolve semplicemente aumentando la memoria RAM, perch&eacute; riguarda autorizzazioni e supporto software.</p><p>

Per questo non presenterei il Pi 3 come alternativa diretta a una Chromecast o a un box Android TV certificato. Un dispositivo commerciale costa spesso meno tempo e offre aggiornamenti, telecomando <a href="https://bartolomeoalberico.it/x86-32-bit-limiti-ram-e-compatibilita">e compatibilit&agrave;</a> con i servizi principali. Il Raspberry Pi ha senso quando contano <strong>controllo, personalizzazione e riuso dell&rsquo;hardware</strong>, non quando si cerca la massima comodit&agrave;.

</p><p>Se l&rsquo;obiettivo &egrave; usare Kodi, LibreELEC o un media server domestico, una distribuzione Linux dedicata pu&ograve; essere pi&ugrave; stabile e leggera. Se invece si desiderano app Android e un&rsquo;interfaccia da televisore, si pu&ograve; tentare con una build adatta al Pi 3, accettando per&ograve; qualche intervento manuale e possibili limitazioni.</p><h2 id="quando-il-piccolo-pi-3-ha-ancora-senso-davanti-alla-tv">Quando il piccolo Pi 3 ha ancora senso davanti alla TV</h2><p>Nel 2026 consiglierei questo progetto soprattutto a chi possiede gi&agrave; un Raspberry Pi 3 e vuole sperimentare senza acquistare altro hardware. Con una <strong>microSD affidabile, alimentazione corretta, raffreddamento adeguato e aspettative realistiche</strong>, pu&ograve; diventare un media center Full HD piacevole per contenuti locali e applicazioni leggere.</p><p>Se invece si deve comprare tutto da zero, valuterei un Raspberry Pi pi&ugrave; recente oppure un box Android TV certificato. Il Pi 3 resta interessante come piattaforma da laboratorio, ma la disponibilit&agrave; limitata di immagini aggiornate e l&rsquo;assenza di garanzie sui servizi di streaming lo rendono una scelta da appassionati, non una soluzione universale.</p><p>La decisione, in definitiva, dipende da ci&ograve; che si vuole guardare e da quanto si &egrave; disposti a configurare. Per imparare e recuperare una scheda inutilizzata &egrave; ancora un progetto valido; per sostituire senza pensieri una Smart TV moderna, sceglierei un dispositivo progettato appositamente per quello scopo.</p>]]></content:encoded>
      <author>Xavier Grassi</author>
      <category>Hardware e Archiviazione</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/127834ec4e3d31335d7308b4a5682261/android-tv-su-raspberry-pi-3-cosa-serve-e-cosa-aspettarsi.webp"/>
      <pubDate>Thu, 10 Sep 2026 16:04:00 +0200</pubDate>
    </item>
    <item>
      <title>Come formattare un telefono Android, Samsung o iPhone in sicurezza</title>
      <link>https://bartolomeoalberico.it/come-formattare-un-telefono-android-samsung-o-iphone-in-sicurezza</link>
      <description>Scopri come formattare un telefono Android, Samsung o iPhone: backup, dati cancellati e passaggi sicuri prima della vendita. Leggi la guida.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Quando uno smartphone &egrave; diventato lento, deve essere ceduto a un&rsquo;altra persona o presenta errori persistenti, il ripristino alle impostazioni di fabbrica pu&ograve; riportarlo a uno stato pulito. Capire come formattare un telefono significa soprattutto sapere <strong>quali dati verranno cancellati</strong>, come salvarli prima e quale procedura seguire su Android, Samsung o iPhone.</p><div class="short-summary">
<h2 id="il-ripristino-cancella-i-dati-e-richiede-alcuni-controlli-prima-di-iniziare">Il ripristino cancella i dati e richiede alcuni controlli prima di iniziare</h2>
<ul>
<li>
<strong>Backup:</strong> salva foto, contatti, documenti, chat e codici di autenticazione.</li>
<li>
<strong>Cancellazione:</strong> app, account, impostazioni e file nella memoria interna verranno rimossi.</li>
<li>
<strong>Android:</strong> usa la voce &ldquo;Ripristino dati di fabbrica&rdquo; nelle impostazioni.</li>
<li>
<strong>iPhone:</strong> scegli &ldquo;Inizializza contenuto e impostazioni&rdquo;.</li>
<li>
<strong>Sicurezza:</strong> assicurati di conoscere le password dell&rsquo;account Google o Apple.</li>
</ul>
</div><h2 id="prima-del-ripristino-proteggi-i-tuoi-dati">Prima del ripristino proteggi i tuoi dati</h2><p>Il reset di fabbrica non &egrave; una semplice pulizia della cache. Elimina il contenuto della memoria interna e riporta il dispositivo alla configurazione iniziale. Per questo io lo considero l&rsquo;ultima operazione da provare dopo riavvio, aggiornamento del sistema e disinstallazione delle app problematiche.</p><h3 id="che-cosa-viene-cancellato">Che cosa viene cancellato</h3><p>Vengono rimossi <strong>applicazioni, foto, video, messaggi, account, file scaricati e impostazioni personali</strong>. Il sistema operativo normalmente resta installato con gli aggiornamenti gi&agrave; presenti, ma il telefono si avvia come se fosse appena uscito dalla confezione.</p><p>La scheda SIM fisica non viene cancellata, mentre una <strong>eSIM</strong> pu&ograve; essere mantenuta o eliminata in base all&rsquo;opzione scelta. Anche la scheda microSD non sempre viene formattata: se devi vendere il dispositivo, rimuovila oppure cancellane il contenuto separatamente.</p><h3 id="la-checklist-da-completare">La checklist da completare</h3><ul>
<li>Attiva il backup di Google One, Samsung Cloud o iCloud e controlla che sia terminato.</li>
<li>Apri Google Foto o Foto di iCloud per verificare che immagini e video siano sincronizzati.</li>
<li>Esporta i contatti se non sono salvati nell&rsquo;account online.</li>
<li>Esegui il backup di <a href="https://bartolomeoalberico.it/come-inviare-la-posizione-da-whatsapp-google-maps-e-iphone">WhatsApp</a> dalle impostazioni dell&rsquo;app e verifica la data dell&rsquo;ultimo salvataggio.</li>
<li>Salva i codici dell&rsquo;app di autenticazione a due fattori, perch&eacute; spesso non vengono recuperati automaticamente.</li>
<li>Annota le password dell&rsquo;account Google, Samsung o Apple richieste dopo il reset.</li>
<li>Rimuovi SIM, microSD e, se necessario, l&rsquo;eSIM prima di consegnare il telefono.</li>
</ul><p>Prima di toccare il pulsante di conferma, collega il telefono alla corrente o assicurati che abbia almeno <strong>il 50% di batteria</strong>. Una connessione Wi-Fi stabile &egrave; utile soprattutto quando dovrai riconfigurare l&rsquo;account e ripristinare il backup.</p><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/9e44833c4aebbd996e4548c5f15817f5/ripristino-dati-di-fabbrica-android-schermata-impostazioni-smartphone.webp" class="image article-image" loading="lazy" alt="Guida per formattare un telefono: da Impostazioni a Sistema, poi Opzioni di ripristino per cancellare tutti i dati."></p><h2 id="come-ripristinare-un-telefono-android-dalle-impostazioni">Come ripristinare un telefono Android dalle impostazioni</h2><p>Su Android i nomi dei menu possono cambiare leggermente tra Xiaomi, Motorola, OPPO, OnePlus, Google Pixel e altri marchi. La logica per&ograve; &egrave; quasi sempre la stessa: si entra nelle impostazioni di sistema e si cerca una voce con il termine <strong>&ldquo;ripristino&rdquo;</strong> o &ldquo;dati di fabbrica&rdquo;.</p><ol>
<li>Apri l&rsquo;app <strong>Impostazioni</strong>.</li>
<li>Entra in <strong>Sistema</strong>, oppure in &ldquo;Gestione generale&rdquo; o &ldquo;Impostazioni aggiuntive&rdquo;.</li>
<li>Tocca <strong>Opzioni di ripristino</strong> o una voce equivalente.</li>
<li>Seleziona <strong>Cancella tutti i dati</strong> o &ldquo;Ripristino dati di fabbrica&rdquo;.</li>
<li>Leggi l&rsquo;elenco degli elementi che verranno eliminati.</li>
<li>Inserisci il PIN, la sequenza o la password del dispositivo.</li>
<li>Conferma con <strong>Elimina tutto</strong> e attendi il riavvio.</li>
</ol><p>Il processo pu&ograve; durare da pochi minuti a circa <strong>20-30 minuti</strong>, soprattutto sui modelli con molta memoria. Non spegnere il telefono durante l&rsquo;operazione e non premere ripetutamente i pulsanti se lo schermo sembra fermo.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/come-inviare-la-posizione-da-whatsapp-google-maps-e-iphone">Come inviare la posizione da WhatsApp, Google Maps e iPhone</a></strong></p><h3 id="il-caso-dei-telefoni-samsung-galaxy">Il caso dei telefoni Samsung Galaxy</h3><p>Su un Galaxy recente il percorso pi&ugrave; comune &egrave; <strong>Impostazioni &gt; Gestione generale &gt; Ripristina &gt; Ripristino dati di fabbrica</strong>. Dopo aver toccato &ldquo;Ripristina&rdquo; e &ldquo;Elimina tutto&rdquo;, il sistema pu&ograve; chiedere la password dell&rsquo;account Samsung.</p><p>Se il dispositivo viene ceduto, rimuovi prima l&rsquo;account Google e l&rsquo;account Samsung dalle impostazioni. Questo riduce il rischio che il nuovo proprietario incontri la <strong>Factory Reset Protection</strong>, il controllo di sicurezza Android che pu&ograve; chiedere l&rsquo;ultimo account Google utilizzato sul telefono.</p><p>Non cercare scorciatoie per aggirare questo controllo. Se non ricordi la password, recupera l&rsquo;account prima del reset: dopo la cancellazione, il telefono potrebbe non completare la configurazione senza quella verifica.</p><h2 id="come-inizializzare-un-iphone-senza-lasciare-dati-personali">Come inizializzare un iPhone senza lasciare dati personali</h2><p>Su iPhone la procedura ufficiale si trova in <strong>Impostazioni &gt; Generali &gt; Trasferisci o inizializza iPhone</strong>. Da qui puoi scegliere &ldquo;Inizializza contenuto e impostazioni&rdquo;, che elimina i dati personali e prepara il dispositivo per una nuova configurazione.</p><ol>
<li>Apri <strong>Impostazioni</strong> e tocca &ldquo;Generali&rdquo;.</li>
<li>Scorri fino a &ldquo;Trasferisci o inizializza iPhone&rdquo;.</li>
<li>Seleziona <strong>Inizializza contenuto e impostazioni</strong>.</li>
<li>Inserisci il codice dell&rsquo;iPhone e, se richiesto, la password dell&rsquo;Apple Account.</li>
<li>Decidi se mantenere o eliminare l&rsquo;eSIM.</li>
<li>Conferma l&rsquo;inizializzazione e lascia completare il riavvio.</li>
</ol><p>Se stai vendendo l&rsquo;iPhone, scegli di eliminare l&rsquo;eSIM e assicurati che il dispositivo arrivi alla schermata iniziale &ldquo;Ciao&rdquo;. In questo modo il nuovo proprietario non trover&agrave; pi&ugrave; i tuoi dati e il telefono non rester&agrave; collegato al tuo account.</p><p>Non confondere questa funzione con <strong>&ldquo;Ripristina tutte le impostazioni&rdquo;</strong>. Quest&rsquo;ultima modifica rete, privacy, tastiera e preferenze di sistema, ma non cancella foto, app e documenti. &Egrave; una scelta pi&ugrave; adatta quando il problema riguarda solo configurazioni danneggiate.</p><h2 id="se-il-telefono-e-bloccato-o-non-si-avvia">Se il telefono &egrave; bloccato o non si avvia</h2><p>

Quando Android non riesce ad aprire le impostazioni, puoi usare la <a href="https://bartolomeoalberico.it/modalita-di-recupero-iphone-come-usarla-senza-perdere-dati">modalit&agrave; di recupero</a>, chiamata spesso <strong>Recovery Mode</strong>. La combinazione di tasti cambia in base al produttore e al modello, quindi conviene controllare il manuale ufficiale prima di procedere.

</p><p>All&rsquo;interno della recovery devi cercare una voce simile a <strong>&ldquo;Wipe data/factory reset&rdquo;</strong>. L&rsquo;operazione cancella i dati e pu&ograve; attivare la verifica dell&rsquo;account Google al riavvio. Se sul telefono ci sono file importanti non ancora salvati, questa strada va considerata solo dopo aver tentato il recupero dei dati.</p><p>Per un iPhone che non risponde, puoi collegarlo a un computer e usare la modalit&agrave; di recupero tramite Finder su Mac o l&rsquo;app Dispositivi Apple su Windows. Anche in questo caso il ripristino completo elimina i contenuti, perci&ograve; non &egrave; una soluzione per recuperare foto o messaggi non presenti in un backup.</p><p>

Se il telefono &egrave; stato perso o rubato, il comando di cancellazione remota tramite &ldquo;<a href="https://bartolomeoalberico.it/dove-su-android-come-usare-find-hub-e-cosa-cambia-con-airtag">Trova il mio dispositivo</a>&rdquo; o &ldquo;Dov&rsquo;&egrave;&rdquo; protegge meglio i dati rispetto all&rsquo;attesa. La cancellazione remota richiede per&ograve; che il dispositivo sia acceso o che possa collegarsi nuovamente a Internet.

</p><h2 id="dopo-il-reset-verifica-che-tutto-sia-davvero-a-posto">Dopo il reset verifica che tutto sia davvero a posto</h2><p>Quando compare la schermata di configurazione iniziale, non avere fretta di reinstallare ogni applicazione. Io preferisco configurare il telefono come nuovo per qualche minuto e controllare che <strong>touchscreen, fotocamere, Wi-Fi, Bluetooth, audio e rete mobile</strong> funzionino correttamente.</p><p>Se il problema era causato da un&rsquo;app o da un&rsquo;impostazione, questa prova permette di capirlo. Ripristinare subito un backup completo pu&ograve; riportare anche la configurazione difettosa, rendendo difficile individuare la causa originale.</p><table>
<tbody>
<tr>
<th>Situazione</th>
<th>Scelta pi&ugrave; adatta</th>
<th>Controllo indispensabile</th>
</tr>
<tr>
<td>Telefono lento ma ancora funzionante</td>
<td>Backup e reset dalle impostazioni</td>
<td>Verificare prima gli aggiornamenti e lo spazio libero</td>
</tr>
<tr>
<td>Dispositivo da vendere</td>
<td>Inizializzazione completa</td>
<td>Rimuovere account, SIM, eSIM e microSD</td>
</tr>
<tr>
<td>Telefono bloccato all&rsquo;avvio</td>
<td>Recovery Mode o assistenza ufficiale</td>
<td>Accettare che i dati non salvati potrebbero andare persi</td>
</tr>
<tr>
<td>Problemi solo di rete o privacy</td>
<td>Ripristino delle sole impostazioni</td>
<td>Non selezionare l&rsquo;opzione che cancella tutti i contenuti</td>
</tr>
</tbody>
</table><p>Se dopo un reset pulito il dispositivo continua a riavviarsi, surriscaldarsi o perdere il segnale, probabilmente il problema non &egrave; nei dati utente. In quel caso il ripristino ha gi&agrave; escluso molte cause software, ma potrebbe servire una diagnosi hardware.</p><h2 id="il-reset-giusto-dipende-da-cio-che-vuoi-ottenere">Il reset giusto dipende da ci&ograve; che vuoi ottenere</h2><p>Per liberare un telefono prima della vendita serve una <strong>cancellazione completa</strong>, accompagnata dalla rimozione degli account e delle schede. Per risolvere un errore di rete o una configurazione sbagliata pu&ograve; bastare invece il ripristino delle impostazioni, che conserva i dati personali.</p><p>La regola che seguo &egrave; semplice: prima salvo ci&ograve; che non posso sostituire, poi verifico le credenziali e solo alla fine confermo l&rsquo;eliminazione. Un reset richiede pochi tocchi, ma il backup e i controlli finali sono ci&ograve; che fa davvero la differenza.</p>]]></content:encoded>
      <author>Anastasio Longo</author>
      <category>Smartphone e Tablet</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/bd8e0c61691916f35c913c7658aed98c/come-formattare-un-telefono-android-samsung-o-iphone-in-sicurezza.webp"/>
      <pubDate>Thu, 10 Sep 2026 14:19:00 +0200</pubDate>
    </item>
    <item>
      <title>Transazioni SQL - COMMIT, ROLLBACK e gestione degli errori</title>
      <link>https://bartolomeoalberico.it/transazioni-sql-commit-rollback-e-gestione-degli-errori</link>
      <description>Transazioni SQL: scopri come usare COMMIT, ROLLBACK e ACID per proteggere i dati, gestire gli errori e scegliere l’isolamento giusto.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Un pagamento che aggiorna il saldo ma non registra l&rsquo;ordine, oppure una prenotazione salvata senza ridurre la disponibilit&agrave;, pu&ograve; lasciare il <a href="https://bartolomeoalberico.it/ambiente-di-staging-guida-ai-controlli-prima-del-rilascio">database</a> in uno stato incoerente. Una <strong>transazione SQL</strong> serve proprio a trattare pi&ugrave; operazioni come un&rsquo;unica unit&agrave; logica, con la possibilit&agrave; di confermarle tutte o annullarle in caso di errore. In questa guida mostro come funziona, quando usare <code>COMMIT</code> e <code>ROLLBACK</code>, come gestire gli errori e quale livello di isolamento scegliere.</p><div class="short-summary">
<h2 id="le-regole-essenziali-per-usare-bene-le-transazioni-sql">Le regole essenziali per usare bene le transazioni SQL</h2>
<ul>
<li>
<strong>Una sola unit&agrave; logica</strong>: tutte le operazioni collegate vengono confermate insieme.</li>
<li>
<strong>COMMIT</strong> rende definitive le modifiche, mentre <strong>ROLLBACK</strong> le annulla.</li>
<li>Le propriet&agrave; <strong>ACID</strong> proteggono integrit&agrave;, affidabilit&agrave; e prevedibilit&agrave; dei dati.</li>
<li>
<strong>Autocommit</strong> pu&ograve; chiudere automaticamente ogni istruzione e impedire transazioni multi-step.</li>
<li>Il livello di isolamento &egrave; un compromesso tra <strong>concorrenza, consistenza e prestazioni</strong>.</li>
</ul>
</div><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/5af4e837deb3c0bf940b9086aba5016b/schema-transazione-sql-acid-commit-rollback-database.webp" class="image article-image" loading="lazy" alt="Diagramma di una SQL transaction con operazioni DELETE, UPDATE, DELETE, INSERT, mostrando SAVEPOINT e opzioni di ROLLBACK."></p><h2 id="perche-una-transazione-sql-protegge-i-dati">Perch&eacute; una transazione SQL protegge i dati</h2><p>Una transazione raggruppa una sequenza di comandi che deve essere trattata come un blocco unico. Penso a un trasferimento bancario: il database deve sottrarre 100 euro dal conto A e aggiungerli al conto B. Se la seconda operazione fallisce, la prima non pu&ograve; restare attiva da sola.</p><p>Il vantaggio concreto &egrave; la possibilit&agrave; di tornare allo stato precedente quando qualcosa va storto. In pratica, il database conserva la coerenza anche davanti a errori applicativi, timeout o interruzioni della connessione, purch&eacute; la transazione sia stata progettata correttamente.</p><h3 id="le-quattro-proprieta-acid">Le quattro propriet&agrave; ACID</h3><table>
<tbody>
<tr>
<th>Propriet&agrave;</th>
<th>Significato pratico</th>
</tr>
<tr>
<td><strong>Atomicit&agrave;</strong></td>
<td>La transazione viene applicata interamente oppure annullata.</td>
</tr>
<tr>
<td><strong>Consistenza</strong></td>
<td>I dati devono rispettare vincoli e regole prima e dopo l&rsquo;operazione.</td>
</tr>
<tr>
<td><strong>Isolamento</strong></td>
<td>Le transazioni concorrenti non devono interferire in modo imprevedibile.</td>
</tr>
<tr>
<td><strong>Durabilit&agrave;</strong></td>
<td>Dopo il commit, le modifiche restano disponibili anche dopo un riavvio.</td>
</tr>
</tbody>
</table><p>ACID non significa che ogni transazione sia automaticamente perfetta. Se il codice aggiorna dati sbagliati o sceglie un isolamento eccessivamente aggressivo, il database pu&ograve; comunque produrre risultati indesiderati. La transazione protegge il processo, non corregge la logica dell&rsquo;applicazione.</p><h2 id="come-si-apre-conferma-e-annulla-una-transazione">Come si apre, conferma e annulla una transazione</h2><p>Il ciclo di base &egrave; semplice. Si avvia il blocco con <code>BEGIN</code> o <code>START TRANSACTION</code>, si eseguono le istruzioni necessarie e si termina con <code>COMMIT</code> oppure <code>ROLLBACK</code>. La sintassi precisa pu&ograve; cambiare leggermente tra <a href="https://bartolomeoalberico.it/trigger-sql-come-usarli-per-audit-controlli-e-sincronizzazioni">PostgreSQL</a>, <a href="https://bartolomeoalberico.it/collation-sql-per-gestire-accenti-indici-e-confronti">MySQL</a>, SQL Server e Oracle.</p><pre><code>BEGIN;

UPDATE conti
SET saldo = saldo - 100
WHERE id = 1 AND saldo &gt;= 100;

UPDATE conti
SET saldo = saldo + 100
WHERE id = 2;

COMMIT;</code></pre><p>Questo esempio &egrave; valido solo se entrambe le modifiche hanno davvero prodotto il risultato previsto. In un&rsquo;applicazione reale controllo anche il numero di righe aggiornate e gli eventuali errori restituiti dal driver. Se il saldo non &egrave; sufficiente o il conto destinatario non esiste, scelgo il rollback.</p><pre><code>BEGIN;

UPDATE conti
SET saldo = saldo - 100
WHERE id = 1 AND saldo &gt;= 100;

-- Se una condizione non &egrave; rispettata
ROLLBACK;</code></pre><h3 id="savepoint-per-annullare-solo-una-parte">Savepoint per annullare solo una parte</h3><p>Quando il flusso &egrave; pi&ugrave; articolato, un <code>SAVEPOINT</code> permette di tornare indietro fino a un punto intermedio senza cancellare tutto il lavoro precedente. &Egrave; utile, per esempio, quando una procedura prova pi&ugrave; alternative ma deve mantenere le operazioni gi&agrave; riuscite.</p><pre><code>BEGIN;

INSERT INTO ordini (cliente_id, totale)
VALUES (25, 89.90);

SAVEPOINT dopo_ordine;

INSERT INTO coupon_usati (codice, cliente_id)
VALUES ('BENVENUTO10', 25);

-- Se il coupon non &egrave; valido
ROLLBACK TO SAVEPOINT dopo_ordine;

COMMIT;</code></pre><p>Io uso i savepoint con moderazione. Rendono il flusso pi&ugrave; flessibile, ma aumentano la complessit&agrave; del codice e non sostituiscono una gestione chiara degli errori.</p><h2 id="autocommit-ed-errori-possono-cambiare-completamente-il-risultato">Autocommit ed errori possono cambiare completamente il risultato</h2><p>La modalit&agrave; <strong>autocommit</strong> conferma automaticamente ogni istruzione. &Egrave; comoda per query semplici, ma pu&ograve; essere pericolosa quando due o pi&ugrave; comandi devono riuscire insieme. In MySQL, per esempio, l&rsquo;autocommit &egrave; attivo per impostazione predefinita, mentre il comportamento pu&ograve; dipendere dalla configurazione del database e dal driver usato dall&rsquo;applicazione.</p><p>Un errore frequente consiste nel disattivare l&rsquo;autocommit senza garantire che ogni percorso del codice termini con <code>COMMIT</code> o <code>ROLLBACK</code>. Una connessione lasciata in sospeso pu&ograve; mantenere blocchi sulle righe, rallentare altre richieste e aumentare il rischio di deadlock.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/sql-collate-spiegato-bene-e-senza-errori">SQL COLLATE spiegato bene e senza errori</a></strong></p><h3 id="gestione-corretta-dal-codice-applicativo">Gestione corretta dal codice applicativo</h3><ol>
<li>Apri la transazione prima della prima operazione collegata.</li>
<li>Esegui tutte le query usando la stessa connessione.</li>
<li>Controlla errori e risultati intermedi.</li>
<li>Esegui <code>COMMIT</code> solo quando ogni passaggio &egrave; riuscito.</li>
<li>Nel blocco di errore usa <code>ROLLBACK</code> e libera sempre la connessione.</li>
</ol><p>La stessa connessione &egrave; un dettaglio decisivo. Se l&rsquo;inserimento dell&rsquo;ordine avviene su una connessione e l&rsquo;aggiornamento del magazzino su un&rsquo;altra, non hai pi&ugrave; una singola transazione locale, anche se le istruzioni sono state scritte una dopo l&rsquo;altra.</p><p>Per operazioni che coinvolgono servizi esterni, come un gateway di pagamento o un sistema di spedizione, una transazione SQL non pu&ograve; annullare automaticamente ci&ograve; che &egrave; gi&agrave; successo fuori dal database. In questi casi servono strategie come <strong>stato intermedio, retry controllati e transazioni compensative</strong>.</p><h2 id="livelli-di-isolamento-e-concorrenza-tra-transazioni">Livelli di isolamento e concorrenza tra transazioni</h2><p>Due utenti possono leggere o modificare gli stessi dati nello stesso momento. Il livello di isolamento stabilisce quanto una transazione debba vedere le modifiche delle altre e quali anomalie siano accettabili. Pi&ugrave; isolamento offre maggiore prevedibilit&agrave;, ma spesso aumenta attese, lock e consumo di risorse.</p><table>
<tbody>
<tr>
<th>Livello</th>
<th>Comportamento</th>
<th>Uso tipico</th>
</tr>
<tr>
<td><strong>READ UNCOMMITTED</strong></td>
<td>Pu&ograve; leggere dati non ancora confermati.</td>
<td>Raramente adatto a dati importanti.</td>
</tr>
<tr>
<td><strong>READ COMMITTED</strong></td>
<td>Legge solo dati confermati, ma una seconda lettura pu&ograve; cambiare.</td>
<td>Buon compromesso per molte applicazioni.</td>
</tr>
<tr>
<td><strong>REPEATABLE READ</strong></td>
<td>Mantiene pi&ugrave; stabile ci&ograve; che la transazione legge.</td>
<td>Scenari con letture ripetute e flussi sensibili.</td>
</tr>
<tr>
<td><strong>SERIALIZABLE</strong></td>
<td>Avvicina l&rsquo;esecuzione a una sequenza completamente seriale.</td>
<td>Operazioni critiche, accettando pi&ugrave; attese.</td>
</tr>
</tbody>
</table><p>Non imposto automaticamente <code>SERIALIZABLE</code> &ldquo;per sicurezza&rdquo;. In sistemi con molte richieste concorrenti pu&ograve; ridurre il throughput e generare pi&ugrave; conflitti. Di solito parto dal livello predefinito del motore, misuro il comportamento e aumento l&rsquo;isolamento solo quando il caso d&rsquo;uso lo richiede davvero.</p><p>Quando due transazioni si bloccano a vicenda si verifica un <strong>deadlock</strong>. Il database ne interrompe normalmente una, quindi il codice deve saper riconoscere l&rsquo;errore e riprovare l&rsquo;operazione con un numero limitato di tentativi e un breve backoff.</p><h2 id="gli-errori-piu-comuni-da-evitare-in-produzione">Gli errori pi&ugrave; comuni da evitare in produzione</h2><p>Il primo errore &egrave; tenere una transazione aperta durante attivit&agrave; lente, come chiamate HTTP, elaborazioni di file o attese dell&rsquo;utente. I lock restano attivi pi&ugrave; a lungo e il database pu&ograve; degradare rapidamente sotto carico.</p><p>Il secondo &egrave; confondere il fatto che una query sia riuscita con il fatto che l&rsquo;intero processo sia riuscito. Un <code>INSERT</code> corretto non basta se il successivo aggiornamento fallisce. La decisione di confermare deve arrivare solo alla fine del blocco logico.</p><ul>
<li>
<strong>Transazioni troppo lunghe</strong>: riduci al minimo il lavoro svolto tra apertura e commit.</li>
<li>
<strong>Query senza indice</strong>: una scansione lenta pu&ograve; trattenere lock e connessioni.</li>
<li>
<strong>Rollback assente</strong>: ogni eccezione deve chiudere esplicitamente la transazione.</li>
<li>
<strong>Connessioni condivise male</strong>: una transazione non deve passare casualmente da un thread all&rsquo;altro.</li>
<li>
<strong>Retry ciechi</strong>: ripetere un&rsquo;operazione non idempotente pu&ograve; creare duplicati.</li>
</ul><p>Per rendere un retry sicuro, uso chiavi idempotenti o vincoli unici. Per esempio, un pagamento pu&ograve; avere un identificativo univoco che impedisce di registrarlo due volte anche se la richiesta viene ripetuta dopo un timeout.</p><p>Controllo anche i log del database, la durata media delle transazioni, il numero di rollback e i deadlock. Questi indicatori raccontano molto pi&ugrave; di una semplice verifica &ldquo;la query ha restituito un risultato&rdquo;.</p><h2 id="il-criterio-pratico-per-decidere-quando-usarla">Il criterio pratico per decidere quando usarla</h2><p>Una transazione &egrave; quasi sempre indicata quando pi&ugrave; modifiche descrivono un unico evento di dominio, come creare un ordine e scalarne le giacenze. &Egrave; meno utile racchiudere in un unico blocco operazioni indipendenti, perch&eacute; si allunga inutilmente il tempo di lock.</p><p>La regola che seguo &egrave; semplice: <strong>se una parte del processo non pu&ograve; esistere senza l&rsquo;altra, le operazioni devono condividere la stessa transazione</strong>. Se invece il collegamento &egrave; debole o coinvolge sistemi esterni, conviene progettare stati intermedi e compensazioni.</p><p>Una buona transazione SQL non &egrave; solo una coppia di comandi <code>BEGIN</code> e <code>COMMIT</code>. &Egrave; un confine progettato con attenzione tra dati coerenti e dati parziali, sostenuto da controlli, timeout, indici adeguati e una gestione degli errori capace di affrontare anche concorrenza e interruzioni.</p>]]></content:encoded>
      <author>Xavier Grassi</author>
      <category>Programmazione e Database</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/bc06851a160b5558f8e40dc1dec4dde5/transazioni-sql-commit-rollback-e-gestione-degli-errori.webp"/>
      <pubDate>Wed, 09 Sep 2026 20:18:00 +0200</pubDate>
    </item>
    <item>
      <title>Continue in Python - come saltare iterazioni senza errori</title>
      <link>https://bartolomeoalberico.it/continue-in-python-come-saltare-iterazioni-senza-errori</link>
      <description>Scopri come usare continue in Python nei cicli for e while per filtrare dati, evitare loop infiniti e gestire record di database.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Quando un ciclo deve ignorare alcuni elementi senza interrompere tutto il programma, l&rsquo;istruzione <code>continue</code> di <a href="https://bartolomeoalberico.it/python-at-staticmethod-quando-usarlo-e-quali-errori-evitare">Python</a> &egrave; spesso la soluzione pi&ugrave; pulita. In questa guida mostro come funziona nei cicli <code>for</code> e <code>while</code>, come usarla per filtrare dati e record provenienti da un <a href="https://bartolomeoalberico.it/creare-file-batch-su-windows-per-automatizzare-backup-e-database">database</a> e quali errori evitare per non creare cicli infiniti o logiche difficili da leggere.</p><div class="short-summary">
<h2 id="la-regola-essenziale-per-usare-continue-senza-errori">La regola essenziale per usare continue senza errori</h2>
<ul>
<li>
<strong>Salta l&rsquo;iterazione corrente</strong> e passa a quella successiva del ciclo.</li>
<li>Funziona soltanto dentro un ciclo <strong>for o while</strong>.</li>
<li>&Egrave; utile per ignorare dati non validi, vuoti o non pertinenti.</li>
<li>Non termina il ciclo: per uscire completamente si usa <strong>break</strong>.</li>
<li>In un ciclo <code>while</code> bisogna aggiornare correttamente la condizione per evitare <strong>loop infiniti</strong>.</li>
</ul>
</div><h2 id="che-cosa-fa-davvero-continue-in-python">Che cosa fa davvero continue in Python</h2><p>L&rsquo;istruzione <code>continue</code> interrompe soltanto l&rsquo;iterazione in corso. Il programma salta tutte le istruzioni restanti nel blocco del ciclo e riparte dalla <strong>prossima iterazione</strong>.</p><pre><code>numeri = [1, 2, 3, 4, 5]

for numero in numeri:
    if numero % 2 == 0:
        continue

    print(numero)</code></pre><p>In questo esempio vengono stampati soltanto <strong>1, 3 e 5</strong>. Quando il numero &egrave; pari, <a href="https://bartolomeoalberico.it/if-name-main-in-python-guida-pratica">Python</a> esegue <code>continue</code> e non raggiunge la chiamata a <code>print()</code>. Il ciclo, per&ograve;, non si chiude: prosegue con l&rsquo;elemento successivo.</p><p>La posizione dell&rsquo;istruzione &egrave; importante. Di solito la inserisco dopo una condizione che identifica i dati da scartare, lasciando il percorso principale del codice pi&ugrave; leggibile e meno annidato.</p><h3 id="il-comportamento-nei-cicli-for">Il comportamento nei cicli for</h3><p>Nel ciclo <code>for</code>, <code>continue</code> fa avanzare l&rsquo;iteratore. &Egrave; particolarmente comodo quando si lavora con liste, file, risultati di query o collezioni di oggetti che non devono essere elaborati tutti nello stesso modo.</p><pre><code>nomi = ["Luca", "", "Anna", None, "Marco"]

for nome in nomi:
    if not nome:
        continue

    print(f"Utente: {nome}")</code></pre><p>Le stringhe vuote e il valore <code>None</code> vengono ignorati. Questa forma &egrave; spesso pi&ugrave; chiara di una lunga serie di blocchi <code>if</code> indentati, soprattutto quando la parte utile dell&rsquo;elaborazione &egrave; pi&ugrave; complessa.</p><h3 id="il-comportamento-nei-cicli-while">Il comportamento nei cicli while</h3><p>In un ciclo <code>while</code>, dopo <code>continue</code> Python torna a valutare la condizione del ciclo. Qui si nasconde l&rsquo;errore pi&ugrave; comune: se l&rsquo;aggiornamento della variabile avviene dopo <code>continue</code>, potrebbe non essere mai eseguito.</p><pre><code>numero = 0

while numero &lt; 5:
    numero += 1

    if numero == 3:
        continue

    print(numero)</code></pre><p>Il risultato &egrave; <strong>1, 2, 4 e 5</strong>. L&rsquo;incremento &egrave; stato messo prima del controllo, quindi il ciclo continua a fare progressi anche quando salta la stampa. &Egrave; una piccola scelta strutturale che evita molti problemi in produzione.</p><h2 id="come-usare-continue-per-filtrare-dati-in-modo-pratico">Come usare continue per filtrare dati in modo pratico</h2><p>Il caso d&rsquo;uso pi&ugrave; naturale &egrave; il filtraggio. Quando ricevo una sequenza con valori incompleti, duplicati o non interessanti, preferisco scartarli subito con una condizione esplicita invece di trascinare quei casi fino alla parte principale dell&rsquo;elaborazione.</p><h3 id="ignorare-valori-non-validi">Ignorare valori non validi</h3><pre><code>valori = ["10", "25", "errore", "", "40"]

totale = 0

for valore in valori:
    if not valore.isdigit():
        continue

    totale += int(valore)

print(totale)</code></pre><p>Il codice somma soltanto i valori convertibili in numeri e ignora <strong>&ldquo;errore&rdquo; e la stringa vuota</strong>. Naturalmente, <code>isdigit()</code> non gestisce numeri negativi o decimali, quindi in un&rsquo;applicazione reale sceglierei una conversione protetta da <code>try</code> ed <code>except</code> quando l&rsquo;input &egrave; meno prevedibile.</p><h3 id="saltare-record-gia-elaborati">Saltare record gi&agrave; elaborati</h3><pre><code>elaborati = {"A102", "A105"}

for record in record_da_processare:
    codice = record["codice"]

    if codice in elaborati:
        continue

    processa_record(record)</code></pre><p>Questa tecnica &egrave; utile nei processi batch e nelle sincronizzazioni. Il controllo evita di ripetere un&rsquo;operazione, ma non sostituisce un meccanismo di idempotenza, cio&egrave; una progettazione che produce lo stesso risultato anche se la stessa operazione viene eseguita pi&ugrave; volte.</p><h3 id="quando-e-meglio-non-usarla">Quando &egrave; meglio non usarla</h3><p>Se le condizioni da saltare diventano numerose, il ciclo pu&ograve; trasformarsi in una sequenza di eccezioni difficile da seguire. In quei casi conviene spostare la validazione in una funzione separata oppure filtrare prima i dati con una comprensione di lista, mantenendo comunque leggibile la regola applicata.</p><pre><code>numeri_validi = [
    numero for numero in numeri
    if numero is not None and numero &gt;= 0
]</code></pre><p>Io uso <code>continue</code> quando la decisione dipende dal flusso dell&rsquo;elaborazione. Se invece voglio semplicemente costruire una nuova collezione, un filtro dichiarativo pu&ograve; risultare <strong>pi&ugrave; compatto e pi&ugrave; facile da testare</strong>.</p><h2 id="continue-break-pass-e-return-non-sono-intercambiabili">Continue, break, pass e return non sono intercambiabili</h2><p>Queste istruzioni vengono spesso confuse perch&eacute; modificano il normale flusso del programma, ma hanno effetti molto diversi. Scegliere quella sbagliata pu&ograve; produrre risultati incompleti senza generare alcun errore evidente.</p><table>
<tbody>
<tr>
<th>Istruzione</th>
<th>Effetto</th>
<th>Uso tipico</th>
</tr>
<tr>
<td><code>continue</code></td>
<td>Salta l&rsquo;iterazione corrente</td>
<td>Ignorare un elemento e proseguire</td>
</tr>
<tr>
<td><code>break</code></td>
<td>Termina il ciclo pi&ugrave; interno</td>
<td>Fermarsi quando si trova ci&ograve; che serve</td>
</tr>
<tr>
<td><code>pass</code></td>
<td>Non esegue alcuna operazione</td>
<td>Lasciare temporaneamente vuoto un blocco</td>
</tr>
<tr>
<td><code>return</code></td>
<td>Esce dalla funzione</td>
<td>Restituire un risultato o interrompere tutta la funzione</td>
</tr>
</tbody>
</table><pre><code>for numero in range(1, 6):
    if numero == 2:
        continue

    if numero == 4:
        break

    print(numero)</code></pre><p>Il programma stampa <strong>1 e 3</strong>. Il numero 2 viene saltato, mentre il numero 4 interrompe il ciclo prima della stampa. Se si sostituisse <code>continue</code> con <code>break</code>, il ciclo terminerebbe troppo presto.</p><h3 id="il-caso-dei-cicli-annidati">Il caso dei cicli annidati</h3><p>In presenza di pi&ugrave; cicli, <code>continue</code> agisce sul <strong>ciclo pi&ugrave; interno</strong>. Questo comportamento &egrave; corretto, ma pu&ograve; sorprendere quando si pensa di voler saltare l&rsquo;intero gruppo di elaborazioni esterne.</p><pre><code>for cliente in clienti:
    for ordine in cliente["ordini"]:
        if ordine["stato"] == "annullato":
            continue

        registra_ordine(ordine)</code></pre><p>Qui viene ignorato soltanto l&rsquo;ordine annullato. Il ciclo passa all&rsquo;ordine successivo dello stesso cliente, senza saltare il cliente nel suo insieme. Quando la logica esterna deve reagire a una condizione interna, spesso &egrave; pi&ugrave; chiaro usare una variabile di controllo o una funzione dedicata.</p><h2 id="gli-errori-piu-comuni-con-continue">Gli errori pi&ugrave; comuni con continue</h2><p>La sintassi &egrave; semplice, ma gli errori nascono quasi sempre dal punto in cui l&rsquo;istruzione viene inserita. Il primo controllo che faccio &egrave; seguire mentalmente il percorso di una singola iterazione, inclusi gli aggiornamenti delle variabili.</p><h3 id="dimenticare-il-codice-che-viene-saltato">Dimenticare il codice che viene saltato</h3><pre><code>for riga in righe:
    if riga.strip() == "":
        continue

    logga_riga(riga)
    aggiorna_contatore()</code></pre><p>Per le righe vuote non viene eseguito neppure <code>aggiorna_contatore()</code>. Se il contatore dovrebbe includere anche i record esclusi, va aggiornato prima del controllo oppure gestito in un punto comune. <strong>Continue salta tutto ci&ograve; che segue</strong> nella stessa iterazione, non soltanto la riga immediatamente successiva.</p><h3 id="creare-un-ciclo-while-infinito">Creare un ciclo while infinito</h3><pre><code>indice = 0

while indice &lt; 10:
    if dati[indice] is None:
        continue

    indice += 1</code></pre><p>Se un elemento &egrave; <code>None</code>, l&rsquo;indice non viene incrementato e il programma resta bloccato sullo stesso valore. Una versione sicura aggiorna sempre lo stato prima di continuare oppure usa un ciclo <code>for</code> quando non serve controllare manualmente l&rsquo;indice.</p><pre><code>for valore in dati:
    if valore is None:
        continue

    elabora(valore)</code></pre><h3 id="usare-continue-dentro-try-e-finally">Usare continue dentro try e finally</h3><p>Python esegue comunque il blocco <code>finally</code> prima di iniziare l&rsquo;iterazione successiva. Questo &egrave; importante quando si chiudono file, si rilasciano risorse o si gestiscono connessioni.</p><pre><code>for percorso in percorsi:
    file = apri_file(percorso)

    try:
        if file vuoto:
            continue

        analizza(file)
    finally:
        file.close()</code></pre><p>Anche quando il file &egrave; vuoto, la chiusura viene eseguita. Nella pratica preferisco spesso usare un <code>with</code> per la gestione delle risorse, perch&eacute; riduce il rischio di dimenticare la pulizia, ma il comportamento di <code>finally</code> resta fondamentale da conoscere.</p><h2 id="applicare-continue-ai-risultati-di-un-database">Applicare continue ai risultati di un database</h2><p>Nei programmi che leggono dati da un database, l&rsquo;istruzione &egrave; utile per ignorare record incompleti senza interrompere l&rsquo;intero batch. Non dovrebbe per&ograve; diventare un modo per nascondere errori di qualit&agrave; dei dati: se molti record vengono scartati, serve almeno un log o un contatore.</p><pre><code>cursor.execute("""
    SELECT id, email, stato
    FROM utenti
""")

scartati = 0

for id_utente, email, stato in cursor:
    if not email or stato != "attivo":
        scartati += 1
        continue

    invia_notifica(id_utente, email)

print(f"Record scartati: {scartati}")</code></pre><p>Il ciclo invia notifiche solo agli utenti attivi con un indirizzo presente. Il contatore rende visibile ci&ograve; che altrimenti resterebbe silenzioso, una scelta che considero importante nei processi automatici e nelle attivit&agrave; di manutenzione dati.</p><h3 id="validare-prima-di-scrivere">Validare prima di scrivere</h3><p>Un altro scenario frequente riguarda l&rsquo;inserimento di righe importate da CSV o API. Prima di eseguire una <code>INSERT</code>, posso controllare i campi indispensabili e saltare il record incompleto.</p><pre><code>for riga in righe_csv:
    codice = riga.get("codice")
    quantita = riga.get("quantita")

    if not codice or not quantita:
        registra_scarto(riga, "Dati mancanti")
        continue

    cursor.execute(
        "INSERT INTO prodotti (codice, quantita) VALUES (?, ?)",
        (codice, int(quantita))
    )</code></pre><p>Il controllo riduce gli errori durante l&rsquo;importazione, ma non sostituisce i vincoli del database, come <strong>NOT NULL, UNIQUE e FOREIGN KEY</strong>. La validazione nel codice migliora il messaggio all&rsquo;utente; il database resta l&rsquo;ultima garanzia di integrit&agrave;.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/creare-unapp-android-con-python-kivy-sqlite-e-apk">Creare un&rsquo;app Android con Python - Kivy, SQLite e APK</a></strong></p><h3 id="continue-e-transazioni">Continue e transazioni</h3><p>Saltare una riga non annulla automaticamente le operazioni gi&agrave; eseguite nella transazione. Se un batch deve essere tutto atomico, bisogna decidere cosa fare quando alcuni record non sono validi: scartarli e procedere, oppure interrompere e fare rollback.</p><p>Per importazioni grandi, spesso separo i record validi da quelli scartati e salvo un report finale. In questo modo il processo pu&ograve; continuare senza perdere tracciabilit&agrave;, mentre gli errori vengono corretti in un secondo momento.</p><h2 id="una-piccola-regola-pratica-per-scrivere-cicli-migliori">Una piccola regola pratica per scrivere cicli migliori</h2><p>Quando inserisco <code>continue</code>, mi chiedo sempre se la condizione rappresenta davvero un caso da ignorare o se sto soltanto evitando di affrontare un errore. Nel primo caso l&rsquo;istruzione rende il codice pi&ugrave; lineare; nel secondo pu&ograve; nascondere un problema che dovrebbe essere segnalato.</p><ul>
<li>Usalo per <strong>filtrare casi previsti</strong> e documentabili.</li>
<li>Evita di saltare silenziosamente eccezioni o dati inattesi.</li>
<li>Nel ciclo <code>while</code>, aggiorna lo stato prima del salto.</li>
<li>Nei cicli annidati, ricorda che agisce soltanto sul livello pi&ugrave; interno.</li>
<li>Per i database, registra almeno il numero o il motivo dei record scartati.</li>
</ul><p>La forza di <code>continue</code> non sta nella complessit&agrave;, ma nella capacit&agrave; di separare rapidamente i casi da ignorare dal percorso principale. Usato con una condizione chiara e con un minimo di tracciamento, rende i cicli Python pi&ugrave; leggibili, pi&ugrave; prevedibili e pi&ugrave; adatti alla gestione di dati reali.</p>]]></content:encoded>
      <author>Xavier Grassi</author>
      <category>Programmazione e Database</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/1e4868f1f790525b79927acb1875b7fc/continue-in-python-come-saltare-iterazioni-senza-errori.webp"/>
      <pubDate>Wed, 09 Sep 2026 19:32:00 +0200</pubDate>
    </item>
    <item>
      <title>Impostazioni tastiera Android e iPhone per scrivere meglio</title>
      <link>https://bartolomeoalberico.it/impostazioni-tastiera-android-e-iphone-per-scrivere-meglio</link>
      <description>Impostazioni tastiera Android e iPhone: regola lingua, autocorrezione, suggerimenti e dettatura per scrivere meglio. Scopri come fare.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Quando la tastiera del telefono corregge parole corrette, cambia lingua da sola o rende difficile digitare, quasi sempre basta intervenire nelle impostazioni giuste. In questa guida mostro dove trovarle su <strong>Android e iPhone</strong>, come gestire lingua, autocorrezione, suggerimenti, dimensioni, vibrazione e dettatura, oltre ai rimedi per i problemi pi&ugrave; comuni.</p><div class="short-summary">
<h2 id="le-regolazioni-essenziali-per-scrivere-meglio-dallo-smartphone">Le regolazioni essenziali per scrivere meglio dallo smartphone</h2>
<ul>
<li>
<strong>Percorso:</strong> su <a href="https://bartolomeoalberico.it/iphone-15-resistente-allacqua-cosa-significa-davvero-ip68">iPhone</a> si parte da Impostazioni &gt; Generali &gt; Tastiera, mentre su <a href="https://bartolomeoalberico.it/dove-su-android-come-usare-find-hub-e-cosa-cambia-con-airtag">Android</a> il menu pu&ograve; cambiare in base al produttore.</li>
<li>
<strong>Lingua:</strong> aggiungere il layout corretto evita errori di autocorrezione e simboli nella posizione sbagliata.</li>
<li>
<strong>Autocorrezione:</strong> disattivarla pu&ograve; essere utile con nomi propri, termini tecnici e pi&ugrave; lingue.</li>
<li>
<strong>Comfort:</strong> altezza, modalit&agrave; a una mano, suoni e feedback aptico incidono molto sulla velocit&agrave; di digitazione.</li>
<li>
<strong>Privacy:</strong> prima di installare una tastiera esterna conviene controllare quali autorizzazioni richiede.</li>
</ul>
</div><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/73483a67ddf2fb4978ea48343090f91f/schermata-impostazioni-tastiera-android-iphone-lingua-autocorrezione.webp" class="image article-image" loading="lazy" alt="Schermata di un telefono che mostra le impostazioni tastiera, con suggerimenti di parole e tasti QWERTY."></p><h2 id="dove-si-trovano-le-impostazioni-della-tastiera">Dove si trovano le impostazioni della tastiera</h2><p>Il primo passaggio &egrave; capire quale tastiera stai usando. Il telefono pu&ograve; avere Gboard, Tastiera Samsung, SwiftKey o la tastiera Apple, e ciascuna raccoglie le proprie opzioni in un punto diverso. Io controllo sempre questo dettaglio prima di modificare la lingua del dispositivo, perch&eacute; <strong>lingua del sistema e lingua della tastiera non sono la stessa cosa</strong>.</p><h3 id="su-android">Su Android</h3><p>Su molti smartphone Android il percorso &egrave; <strong>Impostazioni &gt; Sistema &gt; Tastiera &gt; Tastiera su schermo</strong>. Da qui puoi aprire Gboard o un&rsquo;altra tastiera installata e modificare lingue, correzione del testo, preferenze e aspetto.</p><p>Su Samsung il menu pu&ograve; trovarsi in <strong>Impostazioni &gt; Gestione generale &gt; Impostazioni Tastiera Samsung</strong>, oppure sotto la voce Tastiera su schermo. I nomi cambiano leggermente tra One UI e versioni precedenti, ma la ricerca interna delle impostazioni risolve rapidamente il problema: basta digitare &ldquo;tastiera&rdquo; o &ldquo;lingua&rdquo;.</p><h3 id="su-iphone">Su iPhone</h3><p>Su iPhone il percorso &egrave; pi&ugrave; uniforme: <strong>Impostazioni &gt; Generali &gt; Tastiera</strong>. Qui trovi tastiere installate, sostituzione testo, correzione automatica, testo predittivo, punteggiatura smart, dettatura e feedback della tastiera.</p><p>Mentre scrivi, puoi anche tenere premuto il tasto <strong>globo o emoji</strong> per cambiare rapidamente tastiera. &Egrave; il metodo pi&ugrave; comodo quando alterni italiano, inglese e altre lingue senza voler modificare ogni volta le impostazioni generali.</p><h2 id="lingua-e-layout-fanno-piu-differenza-dellapp-scelta">Lingua e layout fanno pi&ugrave; differenza dell&rsquo;app scelta</h2><p>Se il telefono inserisce accenti insoliti, suggerisce parole sbagliate o sembra non riconoscere quello che scrivi, il problema spesso &egrave; una lingua configurata male. Aggiungi soltanto quelle che usi davvero e rimuovi i layout superflui: avere cinque lingue attive pu&ograve; rendere i suggerimenti meno prevedibili.</p><p>Su Gboard apri le impostazioni della tastiera, entra in <strong>Lingue</strong> e aggiungi italiano, inglese o altri layout necessari. Su iPhone vai in <strong>Impostazioni &gt; Generali &gt; Tastiera &gt; Tastiere</strong>, poi scegli &ldquo;Aggiungi nuova tastiera&rdquo;. Il layout italiano &egrave; adatto alla scrittura quotidiana, mentre quello inglese pu&ograve; essere utile per simboli e abbreviazioni usate nel lavoro tecnico.</p><table>
<tbody>
<tr>
<th>Esigenza</th>
<th>Impostazione consigliata</th>
<th>Possibile limite</th>
</tr>
<tr>
<td>Scrivere in italiano e inglese</td>
<td>Aggiungere entrambe le lingue</td>
<td>I suggerimenti possono confondere termini simili</td>
</tr>
<tr>
<td>Usare spesso simboli tecnici</td>
<td>Valutare il layout inglese</td>
<td>La posizione di alcuni caratteri cambia</td>
</tr>
<tr>
<td>Scrivere con una sola mano</td>
<td>Attivare la modalit&agrave; a una mano</td>
<td>I tasti diventano pi&ugrave; piccoli</td>
</tr>
<tr>
<td>Ridurre gli errori</td>
<td>Lasciare attivi suggerimenti e controllo ortografico</td>
<td>Le parole specialistiche possono essere corrette male</td>
</tr>
</tbody>
</table><p>Per passare da una lingua all&rsquo;altra conviene usare il tasto globo oppure la barra spaziatrice, quando la tastiera lo permette. Se il cambio avviene continuamente senza volerlo, elimina le lingue che non ti servono o disattiva il rilevamento automatico, se disponibile.</p><h2 id="autocorrezione-e-testo-predittivo-senza-perdere-il-controllo">Autocorrezione e testo predittivo senza perdere il controllo</h2><p>La correzione automatica sostituisce una parola che considera errata, mentre il testo predittivo mostra suggerimenti prima che tu finisca di digitare. Sono funzioni diverse e non &egrave; necessario disattivarle entrambe. Nella pratica, io preferisco mantenere i suggerimenti attivi e ridurre l&rsquo;autocorrezione quando scrivo <strong>nomi propri, codice, indirizzi email o termini professionali</strong>.</p><h3 id="quando-conviene-disattivare-la-correzione-automatica">Quando conviene disattivare la correzione automatica</h3><ul>
<li>Scrivi spesso in pi&ugrave; lingue nella stessa conversazione.</li>
<li>Usi sigle, nomi aziendali o parole tecniche non presenti nel dizionario.</li>
<li>La tastiera modifica correttamente una parola subito dopo aver premuto la barra spaziatrice.</li>
<li>Preferisci rileggere il testo e correggere manualmente gli errori.</li>
</ul><p>Su iPhone puoi intervenire in Impostazioni &gt; Generali &gt; Tastiera disattivando <strong>Correzione automatica</strong> o <strong>Testo predittivo</strong>. Su Gboard entra in Correzione testo, dove puoi regolare suggerimenti, maiuscole automatiche, blocco delle parole offensive e correzioni rapide.</p><h3 id="il-dizionario-personale-e-spesso-la-soluzione-migliore">Il dizionario personale &egrave; spesso la soluzione migliore</h3><p>Prima di spegnere ogni funzione, prova ad aggiungere le parole che usi spesso al dizionario personale. Su iPhone puoi usare <strong>Sostituzione testo</strong> per trasformare una scorciatoia come &ldquo;ind&rdquo; in un indirizzo completo; su Android Gboard impara progressivamente dalle tue scelte, con differenze legate alla configurazione dell&rsquo;account e alla tastiera utilizzata.</p><p>Se la tastiera ha imparato troppe correzioni sbagliate, puoi ripristinare il dizionario. &Egrave; un intervento efficace, ma cancella le parole apprese: per questo lo considero una soluzione di seconda battuta, non il primo tentativo.</p><h2 id="dimensioni-vibrazione-e-accessibilita-per-digitare-meglio">Dimensioni, vibrazione e accessibilit&agrave; per digitare meglio</h2><p>Una tastiera precisa non dipende soltanto dal correttore. Su schermi piccoli, aumentare l&rsquo;altezza dei tasti o attivare la modalit&agrave; a una mano pu&ograve; ridurre gli errori pi&ugrave; di qualsiasi algoritmo. Gboard permette di modificare il tema e l&rsquo;altezza della tastiera; su alcuni telefoni Samsung trovi anche opzioni dedicate a dimensione, trasparenza e contrasto.</p><p>Il <strong>feedback aptico</strong> &egrave; la breve vibrazione percepita dopo la pressione di un tasto. Aiuta a capire se il tocco &egrave; stato registrato, soprattutto quando si scrive senza guardare continuamente lo schermo, ma pu&ograve; consumare un po&rsquo; pi&ugrave; di batteria e risultare fastidioso in ambienti silenziosi.</p><p>Su iPhone puoi regolare suono e feedback aptico nelle impostazioni della tastiera. Se la vibrazione &egrave; troppo intensa, abbassala o disattivala; se invece perdi spesso lettere durante la digitazione, prova prima a mantenerla attiva e a ridurre soltanto il volume dei clic.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/ios-27-su-iphone-cosa-cambia-davvero-in-italia">iOS 27 su iPhone, cosa cambia davvero in Italia</a></strong></p><h3 id="funzioni-che-meritano-una-prova">Funzioni che meritano una prova</h3><ul>
<li>
<strong>Digitazione tramite scorrimento:</strong> trascini il dito tra le lettere senza sollevarlo, utile per messaggi brevi.</li>
<li>
<strong>Dittatura vocale:</strong> comoda per testi lunghi, ma va sempre controllata con nomi, numeri e punteggiatura.</li>
<li>
<strong>Modalit&agrave; a una mano:</strong> sposta la tastiera verso destra o sinistra e facilita l&rsquo;uso su telefoni grandi.</li>
<li>
<strong>Zoom e dimensioni del testo:</strong> migliorano la leggibilit&agrave; generale, anche se non sempre ingrandiscono direttamente i tasti.</li>
</ul><p>La dettatura &egrave; pratica, ma non la considero un sostituto della rilettura. In presenza di rumore, accenti, termini tecnici o pi&ugrave; persone che parlano, anche una buona trascrizione pu&ograve; introdurre errori difficili da notare.</p><h2 id="quando-cambiare-tastiera-e-quando-risolvere-il-problema">Quando cambiare tastiera e quando risolvere il problema</h2><p>Installare una tastiera diversa pu&ograve; aiutare se quella predefinita non offre il layout, la lingua o gli strumenti che ti servono. Non &egrave; per&ograve; una cura universale: molte difficolt&agrave; dipendono da una lingua duplicata, da un dizionario corrotto o da un aggiornamento incompleto.</p><table>
<tbody>
<tr>
<th>Problema</th>
<th>Primo tentativo</th>
<th>Se non basta</th>
</tr>
<tr>
<td>La tastiera cambia lingua</td>
<td>Rimuovere i layout inutilizzati</td>
<td>Controllare il tasto globo o il cambio rapido</td>
</tr>
<tr>
<td>Corregge parole corrette</td>
<td>Disattivare l&rsquo;autocorrezione</td>
<td>Ripristinare il dizionario personale</td>
</tr>
<tr>
<td>La tastiera &egrave; lenta</td>
<td>Riavviare il telefono e aggiornare l&rsquo;app</td>
<td>Svuotare la cache su Android o reinstallare la tastiera</td>
</tr>
<tr>
<td>Non compare il <a href="https://bartolomeoalberico.it/siri-non-risponde-cosa-controllare-su-iphone-e-ipad">microfono</a></td>
<td>Controllare l&rsquo;attivazione della dettatura</td>
<td>Verificare i permessi del microfono</td>
</tr>
<tr>
<td>Compaiono tasti troppo piccoli</td>
<td>Aumentare altezza o zoom</td>
<td>Provare una tastiera con layout pi&ugrave; semplice</td>
</tr>
</tbody>
</table><p>Su Android puoi cancellare la cache della tastiera dalle informazioni dell&rsquo;app, ma fai attenzione a non cancellare i dati senza motivo: potresti perdere impostazioni e parole apprese. Su iPhone, se il comportamento resta anomalo, controlla prima aggiornamenti e tastiere installate, poi valuta il ripristino del dizionario.</p><p>Prima di concedere autorizzazioni complete a una tastiera di terze parti, leggi con attenzione l&rsquo;avviso mostrato dal sistema. Una tastiera pu&ograve; gestire tutto ci&ograve; che digiti, quindi per password, dati bancari e informazioni riservate preferisco usare una soluzione affidabile e limitare le funzioni non necessarie.</p><h2 id="la-configurazione-equilibrata-per-luso-quotidiano">La configurazione equilibrata per l&rsquo;uso quotidiano</h2><p>Per la maggior parte delle persone funziona una configurazione semplice: italiano come lingua principale, una seconda lingua solo se serve, suggerimenti attivi e autocorrezione regolata in base al tipo di testo. Aggiungerei il feedback aptico soltanto se aiuta davvero e userei la modalit&agrave; a una mano sui telefoni con schermo ampio.</p><p>Il risultato migliore non arriva dalla tastiera con pi&ugrave; funzioni, ma da quella che interviene il giusto. Dopo aver modificato le opzioni, prova a scrivere per qualche giorno messaggi, email e testi di lavoro: <strong>la precisione reale conta pi&ugrave; delle impostazioni sulla carta</strong>, e una regolazione efficace deve farti correggere meno senza rallentarti.</p>]]></content:encoded>
      <author>Sandro Grasso</author>
      <category>Smartphone e Tablet</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/bb8732dc8e137442eda7fa2d4402e73c/impostazioni-tastiera-android-e-iphone-per-scrivere-meglio.webp"/>
      <pubDate>Wed, 09 Sep 2026 16:44:00 +0200</pubDate>
    </item>
    <item>
      <title>Cellulare che si impalla? Come sbloccarlo su Android e iPhone</title>
      <link>https://bartolomeoalberico.it/cellulare-che-si-impalla-come-sbloccarlo-su-android-e-iphone</link>
      <description>Cellulare che si impalla? Scopri come sbloccarlo su Android e iPhone, liberare spazio e capire quando serve assistenza o un reset.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Quando un <strong>cellulare che si impalla</strong> smette di rispondere, la prima cosa da capire &egrave; se il problema riguarda una sola app oppure l&rsquo;intero dispositivo. In questa guida spiego come intervenire su Android, iPhone e tablet, quali sono le cause pi&ugrave; comuni, quando basta un riavvio e quando invece conviene pensare a un guasto hardware o a un <a href="https://bartolomeoalberico.it/cuffie-bluetooth-non-si-collegano-ecco-come-risolvere">ripristino</a>.</p><div class="short-summary">
  <h2 id="le-azioni-piu-efficaci-per-sbloccare-subito-il-dispositivo">Le azioni pi&ugrave; efficaci per sbloccare subito il dispositivo</h2>
  <ul>
    <li>
<strong>Riavvio forzato</strong> se lo schermo non risponde ai comandi.</li>
    <li>
<strong>Spazio libero</strong>: su Android &egrave; prudente non scendere sotto il 10%, mentre su iPhone &egrave; consigliabile mantenere almeno 1 GB disponibile.</li>
    <li>
<strong>Aggiornamenti</strong> di sistema e applicazioni per correggere errori e incompatibilit&agrave;.</li>
    <li>
<strong>Modalit&agrave; provvisoria</strong> su Android per capire se la causa &egrave; un&rsquo;app installata di recente.</li>
    <li>
<strong>Backup prima del reset</strong>, perch&eacute; il ripristino alle impostazioni di fabbrica cancella i dati.</li>
  </ul>
</div><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/a1d03d6d7cb1af8b0860ef980255e2fb/smartphone-bloccato-schermo-non-risponde-riavvio-forzato-android-iphone.webp" class="image article-image" loading="lazy" alt="Mano con guanto nero tiene un cellulare che si impalla, coperto di ghiaccio e neve. Il freddo estremo ha bloccato il dispositivo."></p><h2 id="capire-se-e-un-blocco-momentaneo-o-un-problema-piu-serio">Capire se &egrave; un blocco momentaneo o un problema pi&ugrave; serio</h2><p>Non tutti i rallentamenti indicano un guasto. Un&rsquo;app pu&ograve; congelarsi per alcuni secondi mentre elabora un video, una foto pesante o una pagina web complessa. In questo caso il resto del telefono spesso continua a funzionare e il problema rimane confinato a quella singola applicazione.</p><p>La situazione &egrave; diversa quando <strong>non rispondono n&eacute; il touch n&eacute; i tasti</strong>, lo schermo resta fermo per diversi minuti oppure il dispositivo si riavvia da solo. Anche un telefono che si blocca sempre durante la stessa attivit&agrave;, per esempio quando si apre la fotocamera o si collega al Wi-Fi, offre un indizio utile sulla causa.</p><table>
  <tbody>
    <tr>
      <th>Segnale</th>
      <th>Probabile causa</th>
      <th>Prima azione</th>
    </tr>
    <tr>
      <td>Si blocca una sola app</td>
      <td>Errore dell&rsquo;app o dati temporanei danneggiati</td>
      <td>Chiudere, aggiornare o reinstallare l&rsquo;app</td>
    </tr>
    <tr>
      <td>&Egrave; lento tutto il sistema</td>
      <td>Memoria quasi piena, surriscaldamento o software obsoleto</td>
      <td>Controllare spazio, temperatura e aggiornamenti</td>
    </tr>
    <tr>
      <td>Si riavvia senza motivo</td>
      <td>App incompatibile, batteria deteriorata o problema di sistema</td>
      <td>Provare la modalit&agrave; provvisoria e verificare gli aggiornamenti</td>
    </tr>
    <tr>
      <td>Non reagisce a nessun comando</td>
      <td>Blocco completo del sistema o possibile guasto hardware</td>
      <td>Eseguire un riavvio forzato</td>
    </tr>
  </tbody>
</table><p>Nella mia esperienza, l&rsquo;errore pi&ugrave; comune &egrave; aspettare troppo e continuare a toccare lo schermo. Se il telefono &egrave; impegnato o completamente congelato, premere decine di volte sul display non accelera il recupero e pu&ograve; rendere difficile capire quale comando abbia funzionato.</p><h2 id="cosa-fare-subito-quando-lo-schermo-non-risponde">Cosa fare subito quando lo schermo non risponde</h2><p>Prima di intervenire, scollego eventuali accessori, tolgo la custodia se preme sui pulsanti e lascio raffreddare il dispositivo se &egrave; molto caldo. Un telefono surriscaldato pu&ograve; rallentare o sospendere temporaneamente alcune funzioni per proteggere i componenti interni.</p><h3 id="su-android">Su Android</h3><p>Provo prima a tenere premuto il tasto di accensione per alcuni secondi. Se non succede nulla, sui dispositivi Android &egrave; spesso necessario tenere premuti insieme <strong>accensione e volume gi&ugrave;</strong>, ma la combinazione pu&ograve; cambiare in base al produttore e al modello.</p><p>

Il <a href="https://bartolomeoalberico.it/modalita-di-recupero-iphone-come-usarla-senza-perdere-dati">riavvio forzato</a> non cancella foto, applicazioni o documenti. Interrompe semplicemente il funzionamento del sistema e lo avvia di nuovo. Se il telefono resta fermo anche dopo questa procedura, lo collego al caricatore e attendo almeno <strong>30 minuti</strong> prima di riprovare, soprattutto se lo schermo &egrave; nero o compare soltanto l&rsquo;icona della batteria.

</p><h3 id="su-iphone">Su iPhone</h3><p>Per iPhone con Face ID e per i modelli pi&ugrave; recenti, premo e rilascio rapidamente il tasto <strong>Volume su</strong>, poi Volume gi&ugrave;, quindi tengo premuto il tasto laterale finch&eacute; compare il logo Apple. Possono servire pi&ugrave; di <strong>10 secondi</strong>.</p><p>Su iPhone 7 e 7 Plus tengo premuti il tasto laterale e Volume gi&ugrave;. Su iPhone 6s e modelli precedenti tengo invece premuti il tasto Home e il tasto laterale o superiore. Apple indica di ricaricare il telefono fino a un&rsquo;ora se non si accende, ma spesso il logo compare gi&agrave; dopo alcuni minuti di alimentazione.</p><p>Un riavvio forzato &egrave; sicuro per i dati, mentre un ripristino di fabbrica &egrave; un&rsquo;operazione completamente diversa. Evito quindi di entrare nelle procedure di inizializzazione finch&eacute; non ho verificato le soluzioni pi&ugrave; semplici.</p><h2 id="le-cause-piu-frequenti-dei-blocchi-e-dei-rallentamenti">Le cause pi&ugrave; frequenti dei blocchi e dei rallentamenti</h2><p>La memoria di archiviazione piena &egrave; una delle cause che controllo per prima. Il sistema ha bisogno di spazio temporaneo per aggiornare le app, gestire la cache e salvare file di lavoro. Secondo la guida Android, i problemi possono iniziare quando rimane libero meno del <strong>10% dello spazio</strong>; su iPhone Apple consiglia di mantenere almeno <strong>1 GB disponibile</strong>.</p><p>Controllo quindi le voci pi&ugrave; pesanti, come video, download, allegati delle chat e applicazioni che non uso. Non elimino automaticamente ogni file temporaneo: prima verifico che foto e documenti siano stati copiati su un computer o su un servizio cloud.</p><h3 id="app-difettose-o-incompatibili">App difettose o incompatibili</h3><p>Se il blocco compare sempre dopo l&rsquo;apertura della stessa applicazione, la causa &egrave; probabilmente locale. Aggiorno l&rsquo;app dallo store, riavvio il telefono e, se il problema resta, la disinstallo e la reinstallo. Questa operazione pu&ograve; eliminare i dati salvati soltanto sul dispositivo, quindi controllo prima se l&rsquo;app dispone di sincronizzazione o backup.</p><p>Su Android la <strong>modalit&agrave; provvisoria</strong> disattiva temporaneamente le app scaricate dall&rsquo;utente. Se in questa modalit&agrave; il telefono funziona bene, rimuovo una alla volta le applicazioni installate poco prima dell&rsquo;inizio dei blocchi. &Egrave; un metodo pi&ugrave; affidabile rispetto all&rsquo;eliminazione casuale di molte app insieme.</p><h3 id="aggiornamenti-mancanti">Aggiornamenti mancanti</h3><p>Un sistema operativo non aggiornato pu&ograve; contenere bug gi&agrave; risolti dal produttore. Controllo gli aggiornamenti in Impostazioni e aggiorno anche le app dal Play Store o dall&rsquo;App Store. Durante l&rsquo;operazione tengo il telefono collegato a una rete Wi-Fi stabile e con batteria sufficiente.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/cuffie-bluetooth-non-si-collegano-ecco-come-risolvere">Cuffie Bluetooth non si collegano? Ecco come risolvere</a></strong></p><h3 id="calore-batteria-e-componenti-usurati">Calore, batteria e componenti usurati</h3><p>Giochi 3D, navigazione GPS, videochiamate e ricarica rapida possono portare il dispositivo a temperature elevate. Se il blocco avviene soprattutto sotto il sole, in auto o durante attivit&agrave; intensive, interrompo l&rsquo;uso e lascio raffreddare il telefono senza metterlo in frigorifero o vicino a fonti di calore.</p><p>Una batteria molto deteriorata pu&ograve; causare spegnimenti e riavvii, ma non &egrave; sempre la responsabile dei semplici rallentamenti. Se il telefono si blocca anche appena acceso, dopo un urto o dopo il contatto con liquidi, considero pi&ugrave; probabile un problema hardware.</p><h2 id="come-liberare-spazio-senza-cancellare-dati-importanti">Come liberare spazio senza cancellare dati importanti</h2><p>Per prima cosa apro la schermata di archiviazione del dispositivo e osservo quali categorie occupano pi&ugrave; memoria. Io procedo sempre dall&rsquo;intervento meno rischioso, perch&eacute; eliminare file a caso pu&ograve; risolvere il blocco ma creare un problema pi&ugrave; serio, come la perdita di fotografie o conversazioni.</p><ol>
  <li>
<strong>Salvo foto e video</strong> su cloud, computer o unit&agrave; esterna.</li>
  <li>
<strong>Elimino i download</strong> gi&agrave; utilizzati, soprattutto filmati, documenti e mappe offline.</li>
  <li>
<strong>Controllo le app pi&ugrave; pesanti</strong> e rimuovo quelle inutilizzate da mesi.</li>
  <li>
<strong>Verifico i file multimediali</strong> delle chat, che possono accumularsi senza essere visibili nella galleria.</li>
  <li>
<strong>Riavvio il dispositivo</strong> dopo la pulizia per permettere al sistema di ricostruire correttamente i dati temporanei.</li>
</ol><p>Su Android posso cancellare la cache di una singola app, ma distinguo sempre tra <strong>cache</strong> e dati dell&rsquo;app. La cache contiene file temporanei; la cancellazione dei dati pu&ograve; invece riportare l&rsquo;app allo stato iniziale e rimuovere informazioni locali.</p><p>Su iPhone controllo Impostazioni, Generali e Spazio iPhone. Il sistema mostra suggerimenti per rimuovere app inutilizzate o allegati voluminosi. Non chiudo continuamente tutte le app aperte, perch&eacute; i sistemi moderni gestiscono gi&agrave; la memoria e il riavvio completo delle applicazioni pu&ograve; persino aumentare i tempi di apertura.</p><h2 id="quando-conviene-ripristinare-il-telefono-e-quando-chiamare-lassistenza">Quando conviene ripristinare il telefono e quando chiamare l&rsquo;assistenza</h2><p>Il ripristino alle impostazioni di fabbrica pu&ograve; essere utile se il dispositivo continua a bloccarsi dopo aggiornamenti, pulizia dello spazio e rimozione delle app sospette. Lo considero per&ograve; <strong>l&rsquo;ultima soluzione software</strong>, non il primo tentativo, perch&eacute; cancella applicazioni, account e dati presenti nella memoria interna.</p><p>Prima del reset verifico di avere un backup recente, di conoscere la password dell&rsquo;account Google o Apple e di poter recuperare i codici di autenticazione a due fattori. Dopo il ripristino non reinstallo subito tutte le app: uso il telefono per qualche ora o un giorno e controllo se il problema si ripresenta.</p><p>Se il dispositivo funziona appena ripristinato ma ricomincia a bloccarsi dopo aver reinstallato una determinata app, ho un indizio concreto. Se invece si congela anche con il sistema pulito, senza app aggiuntive, la probabilit&agrave; di un difetto hardware diventa pi&ugrave; alta.</p><p>Chiedo assistenza quando il telefono si riavvia in ciclo continuo, si spegne con batteria ancora carica, presenta rigonfiamenti, si surriscalda in modo anomalo o ha subito una caduta o un contatto con acqua. In presenza di una batteria gonfia non continuo a ricaricarlo e non provo ad aprirlo personalmente.</p><h2 id="come-ridurre-il-rischio-che-il-problema-ritorni">Come ridurre il rischio che il problema ritorni</h2><p>Non serve installare applicazioni miracolose per &ldquo;velocizzare&rdquo; lo smartphone. Spesso questi strumenti consumano memoria, mostrano pubblicit&agrave; e aggiungono processi in background. Preferisco mantenere il sistema aggiornato, lasciare spazio libero e installare app soltanto da store affidabili.</p><ul>
  <li>Mantengo libero almeno il <strong>10% dello spazio su Android</strong> e almeno 1 GB su iPhone.</li>
  <li>Riavvio il dispositivo ogni tanto, soprattutto dopo aggiornamenti importanti.</li>
  <li>Evito di usare giochi o GPS intensivo mentre il telefono &egrave; molto caldo.</li>
  <li>Controllo i permessi e disinstallo le app che non utilizzo.</li>
  <li>Eseguo backup regolari prima che compaiano problemi gravi.</li>
</ul><p>Se il blocco capita una sola volta, non mi preoccupo troppo. Se invece si ripete ogni settimana o peggiora progressivamente, registro quando accade, quale app era aperta e quanta memoria restava. <strong>Questi dettagli accelerano la diagnosi</strong> e aiutano a distinguere un errore software da un componente che sta cedendo.</p><h2 id="il-criterio-piu-semplice-per-decidere-cosa-fare">Il criterio pi&ugrave; semplice per decidere cosa fare</h2><p>

Quando il telefono si blocca, parto sempre dal riavvio forzato e dal controllo della temperatura. Se il problema riguarda una sola app, intervengo su quella; se coinvolge tutto il sistema, verifico spazio libero, aggiornamenti e <a href="https://bartolomeoalberico.it/come-eliminare-la-pubblicita-dal-cellulare-su-android-e-iphone">modalit&agrave; provvisoria</a>.

</p><p>Il reset pu&ograve; risolvere un sistema danneggiato, ma non ripara una batteria usurata, una memoria difettosa o i danni causati dall&rsquo;acqua. La regola che seguo &egrave; semplice: <strong>prima salvo i dati, poi provo le soluzioni reversibili</strong> e soltanto alla fine valuto il ripristino o l&rsquo;assistenza tecnica.</p>]]></content:encoded>
      <author>Sandro Grasso</author>
      <category>Smartphone e Tablet</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/d22c6d178daf2b27ff0eb2a7ee7fda47/cellulare-che-si-impalla-come-sbloccarlo-su-android-e-iphone.webp"/>
      <pubDate>Tue, 08 Sep 2026 18:09:00 +0200</pubDate>
    </item>
    <item>
      <title>Esercizi Python per imparare con pratica e piccoli progetti</title>
      <link>https://bartolomeoalberico.it/esercizi-python-per-imparare-con-pratica-e-piccoli-progetti</link>
      <description>Esercizi Python progressivi su condizioni, funzioni, dati e SQLite. Impara con test e piccoli progetti: scopri da dove partire.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Davanti a un editor vuoto, la difficolt&agrave; non &egrave; ricordare la sintassi, ma capire quale problema risolvere per primo. In questa guida raccolgo esercizi <a href="https://bartolomeoalberico.it/esempi-python-pratici-per-iniziare-con-codice-file-e-sqlite">Python</a> progressivi, con esempi su condizioni, cicli, funzioni, strutture dati e database SQLite, cos&igrave; puoi trasformare la teoria in programmi piccoli ma utili.</p><div class="short-summary">
  <h2 id="un-percorso-pratico-per-imparare-python-scrivendo-codice">Un percorso pratico per imparare Python scrivendo codice</h2>
  <ul>
    <li>
<strong>Parti dalle basi</strong> con input, condizioni, cicli e funzioni semplici.</li>
    <li>
<strong>Aumenta la difficolt&agrave; gradualmente</strong> introducendo liste, dizionari, file ed errori.</li>
    <li>
<strong>Risolvi prima il problema</strong>, poi confronta il tuo codice con una soluzione alternativa.</li>
    <li>
<strong>Usa i test</strong> per verificare casi normali, valori limite e input non validi.</li>
    <li>
<strong>Collega Python a SQLite</strong> per passare dalla logica degli esercizi a un piccolo progetto reale.</li>
  </ul>
</div><h2 id="da-dove-partire-senza-perdersi-nella-sintassi">Da dove partire senza perdersi nella sintassi</h2><p>Per imparare davvero, io preferisco esercizi brevi con un obiettivo preciso. Un programma che calcola il prezzo finale o conta le parole sembra elementare, ma costringe a usare variabili, operatori, condizioni e funzioni in un contesto concreto.</p><p>La progressione conta pi&ugrave; della quantit&agrave;. Saltare subito a classi, framework o intelligenza artificiale spesso crea l&rsquo;illusione di lavorare su progetti importanti, mentre restano fragili concetti fondamentali come il controllo del flusso e la gestione degli errori.</p><table>
  <tbody>
    <tr>
      <th>Livello</th>
      <th>Argomenti</th>
      <th>Obiettivo pratico</th>
    </tr>
    <tr>
      <td>Base</td>
      <td>Variabili, input, condizioni, cicli</td>
      <td>Scrivere programmi lineari e prevedibili</td>
    </tr>
    <tr>
      <td>Intermedio</td>
      <td>Funzioni, liste, dizionari, stringhe</td>
      <td>Dividere il codice e lavorare su dati reali</td>
    </tr>
    <tr>
      <td>Applicato</td>
      <td>File, eccezioni, SQLite, test</td>
      <td>Costruire piccoli strumenti riutilizzabili</td>
    </tr>
  </tbody>
</table><p>Per ogni esercizio suggerisco di lavorare in tre passaggi. Prima scrivo la traccia con parole mie, poi preparo una soluzione minima e infine aggiungo casi di prova. Questo metodo fa emergere gli errori di ragionamento molto prima dei problemi di sintassi.</p><h2 id="tre-esercizi-fondamentali-per-iniziare">Tre esercizi fondamentali per iniziare</h2><h3 id="calcolare-il-prezzo-con-uno-sconto">Calcolare il prezzo con uno sconto</h3><p>Chiedi all&rsquo;utente il prezzo di un prodotto e la percentuale di sconto. Il programma deve restituire il prezzo finale, impedendo valori negativi o percentuali superiori a 100.</p><pre><code>prezzo = float(input("Prezzo: "))
sconto = float(input("Sconto percentuale: "))

if prezzo &lt; 0 or sconto &lt; 0 or sconto &gt; 100:
    print("Inserisci valori validi")
else:
    finale = prezzo * (1 - sconto / 100)
    print(f"Prezzo finale: {finale:.2f} euro")</code></pre><p>L&rsquo;esercizio sembra matematico, ma insegna una cosa essenziale: <strong>validare l&rsquo;input prima di usarlo</strong>. Il formato <code>:.2f</code> serve invece a mostrare due cifre decimali, una scelta piccola ma importante quando si lavora con importi.</p><h3 id="contare-numeri-pari-e-dispari">Contare numeri pari e dispari</h3><p>Chiedi una serie di numeri separati da virgola e conta quanti sono pari e quanti dispari. La funzione <code>split()</code> divide il testo, mentre l&rsquo;operatore modulo <code>%</code> restituisce il resto della divisione.</p><pre><code>testo = input("Inserisci numeri separati da virgola: ")
numeri = [int valore.strip() for valore in testo.split(",")]

pari = 0
dispari = 0

for numero in numeri:
    if numero % 2 == 0:
        pari += 1
    else:
        dispari += 1

print(f"Pari: {pari}")
print(f"Dispari: {dispari}")</code></pre><p>Nell&rsquo;esempio c&rsquo;&egrave; un errore intenzionale nella comprensione della sintassi. La forma corretta &egrave; questa:</p><pre><code>numeri = [int(valore.strip()) for valore in testo.split(",")]</code></pre><p>Questo &egrave; un buon esercizio anche per imparare a leggere gli errori dell&rsquo;interprete. <a href="https://bartolomeoalberico.it/creare-unapp-android-con-python-kivy-sqlite-e-apk">Python</a> indica la riga problematica, ma sta a noi capire se manca una parentesi, se il tipo &egrave; sbagliato o se l&rsquo;input non rispetta il formato atteso.</p><h3 id="creare-una-funzione-per-la-temperatura">Creare una funzione per la temperatura</h3><p>Scrivi una funzione che converta i gradi Celsius in Fahrenheit e un&rsquo;altra che faccia il contrario. La formula &egrave; semplice, ma separare il calcolo dalla stampa abitua a costruire codice pi&ugrave; facile da testare.</p><pre><code>def celsius_a_fahrenheit(celsius):
    return celsius * 9 / 5 + 32

def fahrenheit_a_celsius(fahrenheit):
    return (fahrenheit - 32) * 5 / 9

print(celsius_a_fahrenheit(20))
print(fahrenheit_a_celsius(68))</code></pre><p>Io considero le funzioni il primo vero salto di qualit&agrave;. Una funzione dovrebbe occuparsi di <strong>un compito riconoscibile</strong> e restituire un risultato, senza mescolare calcoli, input e messaggi a video quando non &egrave; necessario.</p><h2 id="come-allenare-liste-stringhe-e-dizionari">Come allenare liste, stringhe e dizionari</h2><p>Quando le basi sono abbastanza solide, gli esercizi devono iniziare a manipolare dati. Liste, stringhe e dizionari sono gli strumenti che userai pi&ugrave; spesso per rappresentare prodotti, utenti, ordini, risultati o righe importate da un file.</p><h3 id="analizzare-una-frase">Analizzare una frase</h3><p>Chiedi una frase e calcola il numero di parole, la parola pi&ugrave; lunga e la frequenza di ogni termine. Prima di contare, converti tutto in minuscolo e rimuovi la punteggiatura pi&ugrave; comune.</p><pre><code>import string

frase = input("Scrivi una frase: ").lower()
pulita = frase.translate(str.maketrans("", "", string.punctuation))
parole = pulita.split()

frequenze = {}

for parola in parole:
    frequenze[parola] = frequenze.get(parola, 0) + 1

print(f"Parole totali: {len(parole)}")

if parole:
    print(f"Parola pi&ugrave; lunga: {max(parole, key=len)}")
    print(f"Frequenze: {frequenze}")</code></pre><p>Qui il dizionario funziona come una piccola tabella chiave-valore. Il metodo <code>get()</code> permette di partire da zero quando una parola compare per la prima volta, evitando un controllo separato con <code>if</code>.</p><h3 id="gestire-una-lista-di-prodotti">Gestire una lista di prodotti</h3><p>Rappresenta ogni prodotto con un dizionario contenente nome, prezzo e quantit&agrave;. Calcola il valore totale del magazzino e mostra solo i prodotti con quantit&agrave; inferiore a una soglia.</p><pre><code>prodotti = [
    {"nome": "Tastiera", "prezzo": 49.90, "quantita": 3},
    {"nome": "Mouse", "prezzo": 19.90, "quantita": 12},
    {"nome": "Monitor", "prezzo": 179.00, "quantita": 2}
]

totale = sum(
    prodotto["prezzo"] * prodotto["quantita"]
    for prodotto in prodotti
)

sotto_scorta = [
    prodotto["nome"]
    for prodotto in prodotti
    if prodotto["quantita"] &lt; 5
]

print(f"Valore magazzino: {totale:.2f} euro")
print(f"Da riordinare: {sotto_scorta}")</code></pre><p>

Il punto non &egrave; imparare a memoria una <a href="https://bartolomeoalberico.it/esempi-python-pratici-per-iniziare-con-codice-file-e-sqlite">list comprehension</a>. Prima scriverei lo stesso algoritmo con un ciclo tradizionale, poi confronterei le due versioni. La forma compatta &egrave; utile quando resta leggibile, ma <strong>la chiarezza viene prima della brevit&agrave;</strong>.

</p><h3 id="aggiungere-i-casi-limite">Aggiungere i casi limite</h3><p>Un esercizio &egrave; incompleto se funziona soltanto con l&rsquo;esempio perfetto. Prova anche una lista vuota, una quantit&agrave; uguale a zero, prezzi negativi e prodotti con lo stesso nome.</p><ul>
  <li>Una lista vuota non deve causare un errore con <code>max()</code>.</li>
  <li>Un prezzo negativo deve essere rifiutato o segnalato.</li>
  <li>Una quantit&agrave; pari a zero pu&ograve; essere valida, ma non contribuisce al valore totale.</li>
  <li>Due prodotti con lo stesso nome richiedono una scelta precisa, come sommarli o mantenerli separati.</li>
</ul><p>Questi controlli distinguono un esercizio scolastico da un programma utilizzabile. Nella pratica, gli errori arrivano quasi sempre dai dati inattesi, non dalla riga principale che avevamo immaginato.</p><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/f860ed9363fbbcb11943577dbdab7f03/python-coding-exercises-terminal-sqlite-database-programming-workspace.webp" class="image article-image" loading="lazy" alt="Ragazzo con zaino impara comandi terminale per esercizi Python. Simboli Windows, Mac, Linux e Python."></p><h2 id="il-passaggio-dalla-logica-a-un-piccolo-progetto">Il passaggio dalla logica a un piccolo progetto</h2><p>Dopo liste e dizionari, il passo naturale &egrave; salvare i dati. SQLite &egrave; adatto per esercitarsi perch&eacute; &egrave; incluso nella libreria standard di Python e conserva le informazioni in un singolo file, senza richiedere un server separato.</p><h3 id="creare-una-tabella-e-inserire-dati">Creare una tabella e inserire dati</h3><p>Immagina di voler registrare le spese mensili. Il programma seguente crea un database, una tabella e alcune righe. Il simbolo <code>?</code> nelle query &egrave; un parametro, utile per separare i dati dal comando SQL.</p><pre><code>import sqlite3

connessione = sqlite3.connect("spese.db")
cursore = connessione.cursor()

cursore.execute("""
    CREATE TABLE IF NOT EXISTS spese (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        descrizione TEXT NOT NULL,
        importo REAL NOT NULL,
        categoria TEXT NOT NULL
    )
""")

cursore.execute(
    "INSERT INTO spese (descrizione, importo, categoria) VALUES (?, ?, ?)",
    ("Abbonamento software", 29.90, "Lavoro")
)

connessione.commit()
connessione.close()</code></pre><p>Il metodo <code>commit()</code> rende persistenti le modifiche. Dimenticarlo &egrave; uno degli errori pi&ugrave; comuni quando si inizia con SQLite, perch&eacute; il programma pu&ograve; terminare senza mostrare problemi evidenti ma perdere l&rsquo;inserimento.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/interfaccia-grafica-python-quale-toolkit-scegliere">Interfaccia grafica Python - quale toolkit scegliere?</a></strong></p><h3 id="leggere-e-aggregare-i-risultati">Leggere e aggregare i risultati</h3><p>Ora puoi calcolare quanto hai speso per categoria. Questo esercizio introduce <code>GROUP BY</code>, una clausola SQL che raggruppa le righe con lo stesso valore.</p><pre><code>import sqlite3

with sqlite3.connect("spese.db") as connessione:
    risultati = connessione.execute("""
        SELECT categoria, SUM(importo)
        FROM spese
        GROUP BY categoria
        ORDER BY SUM(importo) DESC
    """)

    for categoria, totale in risultati:
        print(f"{categoria}: {totale:.2f} euro")</code></pre><p>La struttura <code>with</code> aiuta a chiudere la connessione anche quando si verifica un problema. In un progetto reale aggiungerei controlli su importi negativi, categorie vuote e valori numerici non validi, perch&eacute; il database non dovrebbe diventare un deposito di dati incoerenti.</p><p>Questo tipo di esercizio &egrave; particolarmente utile per chi studia programmazione e database insieme. Python gestisce il flusso dell&rsquo;applicazione, mentre SQL si occupa di <strong>filtrare, raggruppare e aggregare i dati</strong>.</p><h2 id="come-verificare-le-soluzioni-senza-copiare">Come verificare le soluzioni senza copiare</h2><p>Quando rimani bloccato, non cercare subito il codice completo. Scrivi prima un esempio piccolo su carta, stampa il valore delle variabili principali e prova a isolare la funzione che non produce il risultato atteso.</p><p>Per ogni esercizio preparo almeno quattro prove:</p><ul>
  <li>
<strong>caso normale</strong>, con dati semplici e validi;</li>
  <li>
<strong>valore limite</strong>, come zero, lista vuota o sconto del 100%;</li>
  <li>
<strong>input errato</strong>, per verificare la gestione delle eccezioni;</li>
  <li>
<strong>caso pi&ugrave; grande</strong>, per capire se l&rsquo;algoritmo resta ragionevole.</li>
</ul><p>Per esempio, una funzione che divide due numeri deve stabilire cosa fare quando il divisore &egrave; zero. Una soluzione robusta pu&ograve; restituire un messaggio controllato oppure sollevare un&rsquo;eccezione, ma non dovrebbe lasciare che il comportamento sia casuale o non documentato.</p><pre><code>def dividi(a, b):
    if b == 0:
        raise ValueError("Il divisore non pu&ograve; essere zero")
    return a / b</code></pre><p>Quando il programma cresce, puoi usare <code>assert</code> o il modulo <code>unittest</code>. Non servono decine di test per un esercizio breve: <strong>tre o quattro casi ben scelti</strong> sono spesso pi&ugrave; utili di una lunga lista di esempi simili.</p><h2 id="gli-errori-che-rallentano-di-piu-lapprendimento">Gli errori che rallentano di pi&ugrave; l&rsquo;apprendimento</h2><p>Il primo errore &egrave; concentrarsi sul risultato e ignorare il percorso. Copiare una soluzione corretta pu&ograve; far superare un esercizio, ma non insegna a riconoscere il tipo di dato, scomporre il problema o scegliere una struttura adeguata.</p><p>Un altro problema frequente &egrave; usare subito strumenti avanzati. Una libreria pu&ograve; risolvere il compito in una riga, ma se non sai spiegare cosa accade ai dati prima e dopo quella riga, l&rsquo;esercizio non ha ancora raggiunto il suo scopo.</p><ul>
  <li>Non mescolare tutto in un unico blocco di codice.</li>
  <li>Non usare variabili con nomi vaghi come <code>x</code> o <code>dati2</code> quando il significato &egrave; importante.</li>
  <li>Non ignorare i messaggi di errore: leggili dal basso verso l&rsquo;alto e individua la prima riga del tuo programma.</li>
  <li>Non ottimizzare prima di avere una soluzione corretta e leggibile.</li>
</ul><p>La mia regola &egrave; semplice: dopo aver risolto un esercizio, lo riscrivo una volta migliorando nomi, funzioni e controlli. Questa seconda versione spesso insegna pi&ugrave; della prima, perch&eacute; trasforma un codice appena funzionante in qualcosa che un&rsquo;altra persona pu&ograve; capire.</p><h2 id="un-percorso-concreto-per-le-prossime-settimane">Un percorso concreto per le prossime settimane</h2><p>Puoi organizzare la pratica in sessioni da <strong>30-45 minuti</strong>. Nei primi giorni lavora su input, condizioni e cicli; poi dedica alcuni giorni a stringhe, liste e dizionari; infine costruisci un piccolo progetto con file o SQLite.</p><p>Non serve risolvere decine di problemi identici. &Egrave; pi&ugrave; produttivo affrontare da <strong>8 a 12 esercizi diversi</strong>, riscriverne alcuni con funzioni migliori e aggiungere test ai casi che inizialmente avevi trascurato.</p><p>Quando una traccia diventa troppo facile, aggiungi un vincolo: niente variabili globali, gestione degli errori, dati letti da file, ordinamento o persistenza su database. &Egrave; cos&igrave; che un esercizio smette di essere un rompicapo isolato e diventa allenamento per problemi che incontrerai davvero.</p><p>Il risultato migliore non &egrave; una soluzione elegante al primo tentativo, ma la capacit&agrave; di spiegare perch&eacute; il programma funziona, dove potrebbe rompersi e come modificarlo senza riscriverlo da zero. Con questa abitudine, ogni nuovo esercizio diventa un passo concreto verso programmi Python pi&ugrave; affidabili.</p>]]></content:encoded>
      <author>Xavier Grassi</author>
      <category>Programmazione e Database</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/f513e218f300dbf4830b5d7031e05ffd/esercizi-python-per-imparare-con-pratica-e-piccoli-progetti.webp"/>
      <pubDate>Tue, 08 Sep 2026 18:06:00 +0200</pubDate>
    </item>
    <item>
      <title>iPhone 12, fino a quando riceverà gli aggiornamenti?</title>
      <link>https://bartolomeoalberico.it/iphone-12-fino-a-quando-ricevera-gli-aggiornamenti</link>
      <description>iPhone 12 e aggiornamenti: scopri fino a quando è supportato, cosa cambia con le patch e cosa controllare prima di comprarlo ricondizionato.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Nel 2026 l&rsquo;<a href="https://bartolomeoalberico.it/come-trasferire-foto-da-iphone-a-pc-windows-senza-errori">iPhone</a> 12 non &egrave; ancora arrivato alla fine del suo percorso software: tutti i modelli della famiglia possono installare iOS 27. La domanda sul futuro degli aggiornamenti resta per&ograve; importante, soprattutto per chi vuole continuare a usare questo smartphone o sta valutando un acquisto ricondizionato. Qui chiarisco <strong>fino a quando &egrave; realistico aspettarsi supporto</strong>, cosa cambia tra aggiornamenti principali e patch di sicurezza e quali controlli fare prima di decidere.</p><div class="short-summary">
  <h2 id="la-situazione-delliphone-12-in-poche-informazioni-essenziali">La situazione dell&rsquo;iPhone 12 in poche informazioni essenziali</h2>
  <ul>
    <li>
<strong>iOS 27 &egrave; compatibile</strong> con iPhone 12, 12 mini, 12 Pro e 12 Pro Max.</li>
    <li>
<strong>Apple non comunica una data finale</strong> valida per tutti gli aggiornamenti futuri.</li>
    <li>Nel 2026 il dispositivo riceve ancora <strong>aggiornamenti di sistema e sicurezza</strong>.</li>
    <li>Il supporto potrebbe proseguire ancora, ma <strong>iOS 28 non &egrave; garantito</strong>.</li>
    <li>
<strong>Apple Intelligence</strong> e alcune funzioni avanzate possono richiedere hardware pi&ugrave; recente.</li>
  </ul>
</div><h2 id="fino-a-quando-arrivano-gli-aggiornamenti-su-iphone-12">Fino a quando arrivano gli aggiornamenti su iPhone 12</h2><p>La risposta pi&ugrave; corretta &egrave; questa: <strong>iPhone 12 riceve ancora gli aggiornamenti principali nel 2026</strong>, perch&eacute; Apple lo include tra i dispositivi compatibili con iOS 27. Non esiste per&ograve; un <a href="https://bartolomeoalberico.it/widget-android-come-rendere-piu-utile-la-schermata-home">calendario</a> ufficiale che stabilisca in anticipo l&rsquo;ultima versione di iOS supportata da ogni modello.</p><p>L&rsquo;iPhone 12 &egrave; stato presentato nel 2020 con iOS 14. Essere ancora compatibile con iOS 27 significa aver attraversato circa <strong>sei generazioni principali di sistema operativo</strong>, un risultato ancora molto buono per uno smartphone della sua et&agrave;.</p><table>
  <tbody>
    <tr>
      <th>Periodo</th>
      <th>Situazione dell&rsquo;iPhone 12</th>
      <th>Cosa significa per chi lo possiede</th>
    </tr>
    <tr>
      <td>2020</td>
      <td>Arrivo sul mercato con iOS 14</td>
      <td>Il dispositivo entra nel normale ciclo di supporto Apple</td>
    </tr>
    <tr>
      <td>2025</td>
      <td>Compatibilit&agrave; con iOS 26</td>
      <td>Ancora accesso alle nuove funzioni del sistema</td>
    </tr>
    <tr>
      <td>2026</td>
      <td>Compatibilit&agrave; con iOS 27</td>
      <td>Il supporto principale &egrave; tuttora attivo</td>
    </tr>
    <tr>
      <td>Futuro</td>
      <td>Nessuna data finale ufficiale</td>
      <td>Le prossime versioni dipenderanno da prestazioni e requisiti hardware</td>
    </tr>
  </tbody>
</table><p>La mia valutazione &egrave; prudente ma positiva. &Egrave; ragionevole aspettarsi ancora attenzione da parte di Apple, ma non trasformerei una previsione in una promessa: <strong>l&rsquo;eventuale compatibilit&agrave; con iOS 28 o versioni successive non &egrave; confermata</strong> finch&eacute; Apple non pubblica l&rsquo;elenco ufficiale.</p><h2 id="iphone-12-12-mini-pro-e-pro-max-hanno-lo-stesso-supporto">iPhone 12, 12 mini, Pro e Pro Max hanno lo stesso supporto</h2><p>Dal punto di vista della compatibilit&agrave; con iOS, i quattro modelli della famiglia hanno seguito lo stesso percorso. Apple include infatti <strong>iPhone 12, iPhone 12 mini, iPhone 12 Pro e iPhone 12 Pro Max</strong> nella lista dei dispositivi compatibili con iOS 27.</p><p>Questo non significa che ogni funzione sia identica. Il processore A14 Bionic &egrave; condiviso dalla gamma, ma fotocamere, memoria RAM, autonomia e dimensioni dello schermo cambiano. Le differenze si notano soprattutto nelle funzioni fotografiche e nelle prestazioni di alcune applicazioni, non nella disponibilit&agrave; dell&rsquo;aggiornamento di base.</p><ul>
  <li>
<strong>iPhone 12 mini</strong> riceve gli stessi aggiornamenti, ma la batteria pi&ugrave; piccola pu&ograve; rendere pi&ugrave; evidente l&rsquo;usura dopo diversi anni.</li>
  <li>
<strong>iPhone 12</strong> resta il compromesso pi&ugrave; equilibrato per dimensioni, autonomia e prezzo dell&rsquo;usato.</li>
  <li>
<strong>iPhone 12 Pro</strong> e <strong>12 Pro Max</strong> possono offrire una maggiore versatilit&agrave; fotografica, ma non avranno automaticamente pi&ugrave; anni di supporto software.</li>
</ul><p>&Egrave; un punto che molti acquirenti confondono. Pagare di pi&ugrave; per un modello Pro pu&ograve; migliorare fotocamera e materiali, ma <strong>non prolunga necessariamente il ciclo degli aggiornamenti</strong> rispetto all&rsquo;iPhone 12 standard.</p><h2 id="la-fine-degli-aggiornamenti-non-arriva-tutta-in-una-volta">La fine degli aggiornamenti non arriva tutta in una volta</h2><p>Quando un iPhone non riceve pi&ugrave; l&rsquo;ultima versione di iOS, non diventa inutilizzabile il giorno seguente. Apple pu&ograve; continuare a distribuire <strong>patch di sicurezza per una versione precedente</strong>, soprattutto quando viene scoperta una vulnerabilit&agrave; importante.</p><p>Esistono almeno tre fasi da distinguere. Prima arriva la fine delle nuove versioni principali, poi possono restare disponibili gli aggiornamenti di sicurezza e infine, con il tempo, alcune applicazioni smettono di supportare la versione installata.</p><h3 id="che-cosa-continua-a-funzionare">Che cosa continua a funzionare</h3><p>Chiamate, messaggi, fotocamera, Wi-Fi, pagamenti e applicazioni gi&agrave; compatibili possono continuare a funzionare per anni. Il problema emerge gradualmente, quando <strong>le app richiedono una versione minima di iOS</strong> che il dispositivo non pu&ograve; pi&ugrave; installare.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/come-liberare-spazio-su-iphone-e-scegliere-la-memoria-giusta">Come liberare spazio su iPhone e scegliere la memoria giusta</a></strong></p><h3 id="che-cosa-puo-peggiorare">Che cosa pu&ograve; peggiorare</h3><p>Le prime difficolt&agrave; riguardano spesso applicazioni bancarie, autenticazione a due fattori, <a href="https://bartolomeoalberico.it/navigazione-in-incognito-da-cellulare-guida-per-android-e-iphone">browser</a> e servizi professionali. Per chi usa l&rsquo;iPhone per lavoro, il supporto delle app &egrave; quasi importante quanto quello di Apple, perch&eacute; un dispositivo aggiornato solo a met&agrave; pu&ograve; diventare un limite operativo.</p><p>Non farei quindi la scelta basandomi soltanto sul numero della prossima versione. Guarderei anche <strong>autonomia, compatibilit&agrave; delle app e condizioni della batteria</strong>. Un iPhone 12 con batteria molto usurata pu&ograve; sembrare vecchio prima ancora di esserlo davvero dal punto di vista software.</p><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/3d5a97e7d2e97e1312d70f08abafd4f1/schermata-aggiornamento-software-iphone-12-ios-27-impostazioni-generali-aggiornamento-software.webp" class="image article-image" loading="lazy" alt="Verifica gli aggiornamenti iPhone 12 fino a quando il tuo dispositivo riceve le ultime versioni iOS, controllando in Impostazioni &gt; Generali &gt; Aggiornamento Software."></p><h2 id="come-controllare-e-installare-lultimo-aggiornamento">Come controllare e installare l&rsquo;ultimo aggiornamento</h2><p>Per verificare la situazione del proprio modello bastano pochi passaggi. Io consiglio di farlo direttamente dalle impostazioni, perch&eacute; &egrave; il metodo pi&ugrave; affidabile e mostra soltanto le versioni compatibili con quel dispositivo.</p><ol>
  <li>Apri <strong>Impostazioni</strong>.</li>
  <li>Entra in <strong>Generali</strong>.</li>
  <li>Tocca <strong>Aggiornamento software</strong>.</li>
  <li>Controlla la versione installata e l&rsquo;eventuale aggiornamento disponibile.</li>
  <li>Prima di procedere, esegui un <strong>backup su iCloud o su un computer</strong>.</li>
</ol><p>Durante l&rsquo;installazione &egrave; meglio collegare l&rsquo;iPhone alla corrente e usare una rete Wi-Fi stabile. Se l&rsquo;aggiornamento non compare, le cause pi&ugrave; comuni sono <strong>spazio insufficiente, batteria scarica, rete instabile</strong> oppure una versione gi&agrave; aggiornata per quel modello.</p><p>Gli aggiornamenti automatici sono comodi, ma per un dispositivo di qualche anno preferisco controllare manualmente dopo il rilascio. In questo modo posso leggere le novit&agrave;, verificare lo spazio disponibile e scegliere un momento in cui l&rsquo;iPhone non mi serve per lavoro o per autenticazioni importanti.</p><h2 id="conviene-ancora-usare-o-comprare-un-iphone-12-nel-2026">Conviene ancora usare o comprare un iPhone 12 nel 2026</h2><p>Per chi possiede gi&agrave; un iPhone 12, la risposta &egrave; generalmente s&igrave;. La compatibilit&agrave; con iOS 27, il chip A14 Bionic e la disponibilit&agrave; di applicazioni moderne rendono ancora sensato continuare a usarlo, soprattutto se <strong>la batteria mantiene una buona autonomia</strong> e il telefono non presenta danni.</p><p>Per un acquisto usato o ricondizionato, invece, valuterei con pi&ugrave; attenzione la durata prevista. Un modello del 2020 pu&ograve; offrire ancora un&rsquo;esperienza fluida, ma parte gi&agrave; con diversi anni alle spalle e non conviene pagarlo come se avesse davanti un ciclo completo di supporto.</p><table>
  <tbody>
    <tr>
      <th>Situazione</th>
      <th>Scelta ragionevole</th>
    </tr>
    <tr>
      <td>Possiedi gi&agrave; un iPhone 12 e funziona bene</td>
      <td>Continuare a usarlo e installare gli aggiornamenti disponibili</td>
    </tr>
    <tr>
      <td>La batteria dura poco ma il telefono &egrave; integro</td>
      <td>Valutare la sostituzione della batteria prima di cambiare smartphone</td>
    </tr>
    <tr>
      <td>Vuoi acquistarlo per molti anni</td>
      <td>Considerare un modello pi&ugrave; recente, con un margine software maggiore</td>
    </tr>
    <tr>
      <td>Cerchi funzioni avanzate di intelligenza artificiale</td>
      <td>Orientarti su un iPhone compatibile con Apple Intelligence</td>
    </tr>
  </tbody>
</table><p>Il limite pi&ugrave; evidente non &egrave; necessariamente la velocit&agrave;, ma l&rsquo;accesso alle funzioni pi&ugrave; nuove. <strong>Apple Intelligence non &egrave; disponibile sull&rsquo;iPhone 12</strong>, perch&eacute; richiede capacit&agrave; hardware e memoria superiori. Se il tuo interesse principale &egrave; usare strumenti AI integrati nel sistema, un modello pi&ugrave; recente &egrave; un investimento pi&ugrave; sensato.</p><p>In compenso, per messaggistica, navigazione, fotografia quotidiana, streaming e attivit&agrave; d&rsquo;ufficio, l&rsquo;iPhone 12 resta una macchina equilibrata. La decisione dipende soprattutto dal prezzo reale, dallo stato della batteria e da quanti anni vuoi tenere il dispositivo.</p><h2 id="il-controllo-piu-utile-prima-di-rimandare-la-sostituzione">Il controllo pi&ugrave; utile prima di rimandare la sostituzione</h2><p>Nel 2026 non cambierei automaticamente un iPhone 12 solo perch&eacute; appartiene a una generazione precedente. Verificherei prima tre elementi concreti: <strong>versione di iOS, stato della batteria e compatibilit&agrave; delle app indispensabili</strong>.</p><p>Se questi tre controlli sono positivi, puoi continuare a usarlo con tranquillit&agrave; e attendere l&rsquo;evoluzione del supporto Apple. Se invece la batteria &egrave; molto degradata, le app di lavoro iniziano a porre restrizioni o desideri funzioni AI recenti, il problema non &egrave; soltanto la durata degli aggiornamenti, ma il momento giusto per passare a un modello pi&ugrave; nuovo.</p><p>In sintesi, iPhone 12 &egrave; ancora supportato nel 2026 e pu&ograve; installare iOS 27. La data dell&rsquo;ultimo aggiornamento principale non &egrave; stata fissata, quindi conviene considerare il prossimo futuro come un margine possibile, non garantito, e decidere in base all&rsquo;uso quotidiano reale.</p>]]></content:encoded>
      <author>Sandro Grasso</author>
      <category>Smartphone e Tablet</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/ffa12110ff1c5000b6f66c8fed39cdf2/iphone-12-fino-a-quando-ricevera-gli-aggiornamenti.webp"/>
      <pubDate>Mon, 07 Sep 2026 12:59:00 +0200</pubDate>
    </item>
    <item>
      <title>Asterisco sulla tastiera - come farlo e cosa significa</title>
      <link>https://bartolomeoalberico.it/asterisco-sulla-tastiera-come-farlo-e-cosa-significa</link>
      <description>Scopri come fare l’asterisco sulla tastiera italiana, su PC e Mac, e capisci il suo significato in password, ricerche e programmi.</description>
      <content:encoded><![CDATA[<?xml encoding="utf-8" ?><p>Le stellette sulle tastiere sono quasi sempre <strong>asterischi</strong>, un simbolo piccolo ma molto utile nella scrittura, nella <a href="https://bartolomeoalberico.it/eniac-il-computer-che-ha-dato-forma-allinformatica-moderna">programmazione</a> e nelle ricerche online. Qui chiarisco dove trovarlo sulle tastiere italiane, quali combinazioni usare su PC e Mac, che <a href="https://bartolomeoalberico.it/buggare-cosa-significa-e-come-segnalare-un-bug-utile">cosa significa</a> nei diversi programmi e come risolvere i problemi pi&ugrave; comuni.

</p><div class="short-summary">
<h2 id="il-simbolo-a-stella-cambia-funzione-in-base-al-contesto">Il simbolo a stella cambia funzione in base al contesto</h2>
<ul>
<li>
<strong>Shift + 8</strong> inserisce normalmente l&rsquo;asterisco su una tastiera italiana.</li>
<li>Il tasto <strong>* del tastierino numerico</strong> funziona separatamente e pu&ograve; essere usato nelle operazioni matematiche.</li>
<li>Nei campi password l&rsquo;asterisco indica spesso una <strong>mascheratura del testo</strong>, non il carattere digitato.</li>
<li>In programmazione e nelle ricerche pu&ograve; agire come <strong>carattere jolly</strong>, cio&egrave; sostituire una o pi&ugrave; lettere.</li>
<li>Se non compare, il primo controllo da fare riguarda il <strong>layout della tastiera</strong> e la lingua di input.</li>
</ul>
</div><p><img src="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/post_image/c1c3c0aeb17ed60fca6540b06c25dd5c/asterisco-sulla-tastiera-italiana-tasto-shift-8-tastierino-numerico.webp" class="image article-image" loading="lazy" alt="Tastiere illuminate con colori vivaci: rosso, blu e giallo. Le stellette sulle tastiere brillano, creando un'atmosfera futuristica."></p><h2 id="che-cosa-indica-davvero-quella-piccola-stella">Che cosa indica davvero quella piccola stella</h2><p>Il simbolo <strong>*</strong> si chiama asterisco e sulle tastiere pu&ograve; apparire sia nella fila dei numeri sia nel tastierino numerico laterale. In italiano si parla spesso di &ldquo;stelletta&rdquo;, ma non &egrave; una stella decorativa: &egrave; un segno con funzioni precise, che cambiano a seconda dell&rsquo;applicazione.</p><p>Nei documenti di testo pu&ograve; richiamare una <strong>nota a pi&egrave; di pagina</strong>, segnalare un&rsquo;informazione aggiuntiva oppure sostituire una parte omessa di un nome. In una frase come &ldquo;Il servizio &egrave; gratuito*&rdquo;, l&rsquo;asterisco invita normalmente a leggere una nota esplicativa.</p><p>La forma &egrave; sempre simile, ma il significato non &egrave; unico. In una chat pu&ograve; servire per correggere una parola, in Markdown pu&ograve; attivare il corsivo o il grassetto, mentre in un terminale pu&ograve; avere un comportamento completamente diverso. &Egrave; proprio questo il dettaglio che spesso genera confusione.</p><h2 id="come-digitare-lasterisco-su-pc-e-mac">Come digitare l&rsquo;asterisco su PC e Mac</h2><p>Con il layout italiano per Windows e Linux, il metodo pi&ugrave; rapido &egrave; premere <strong>Shift + 8</strong>. Il tasto 8 si trova nella fila superiore, sopra le lettere, e il simbolo dell&rsquo;asterisco &egrave; generalmente indicato nella parte alta del tasto.</p><p>Se usi una tastiera con tastierino numerico, trovi anche un tasto dedicato con il simbolo <strong>*</strong>. In quel caso basta premerlo direttamente, senza usare Shift. &Egrave; la soluzione pi&ugrave; comoda per chi lavora con calcoli, fogli di calcolo o codici numerici.</p><table>
<tbody>
<tr>
<th>Dispositivo o situazione</th>
<th>Combinazione abituale</th>
<th>Nota pratica</th>
</tr>
<tr>
<td>Tastiera italiana per PC</td>
<td><strong>Shift + 8</strong></td>
<td>&Egrave; il metodo pi&ugrave; comune nella fila principale dei tasti.</td>
</tr>
<tr>
<td>Tastierino numerico</td>
<td><strong>*</strong></td>
<td>Il simbolo &egrave; disponibile su un tasto autonomo.</td>
</tr>
<tr>
<td>Mac con layout italiano</td>
<td><strong>Shift + 8</strong></td>
<td>La combinazione pu&ograve; variare se &egrave; attivo un layout diverso.</td>
</tr>
<tr>
<td>Tastiera virtuale</td>
<td>Tocca il tasto <strong>*</strong>
</td>
<td>La posizione dipende dal sistema operativo e dall&rsquo;app.</td>
</tr>
</tbody>
</table><p>Quando lavoro su computer configurati in pi&ugrave; lingue, controllo sempre il layout prima di cercare combinazioni alternative. Una tastiera fisicamente italiana pu&ograve; produrre simboli diversi se il sistema &egrave; impostato su <strong>English US</strong>, francese o un&rsquo;altra disposizione.</p><h2 id="perche-lasterisco-compare-in-password-testi-e-ricerche">Perch&eacute; l&rsquo;asterisco compare in password, testi e ricerche</h2><p>Il significato pi&ugrave; comune per chi usa servizi online &egrave; quello legato alle <strong>password</strong>. Durante la digitazione, molti moduli mostrano un asterisco o un punto per nascondere i caratteri inseriti. Il simbolo visualizzato non fa parte della password e non permette di capire quali lettere siano state digitate.</p><p>Nei motori di ricerca e in alcuni software l&rsquo;asterisco pu&ograve; funzionare da <strong>carattere jolly</strong>. Significa che il programma interpreta il simbolo come uno spazio variabile da completare. Il comportamento, per&ograve;, non &egrave; universale: alcuni servizi lo supportano, altri lo ignorano oppure gli assegnano un significato differente.</p><p>In informatica l&rsquo;asterisco &egrave; anche l&rsquo;operatore della <strong>moltiplicazione</strong>. Nei linguaggi di programmazione compare in espressioni matematiche, nei puntatori di alcuni linguaggi e nella sintassi delle espressioni regolari, dove pu&ograve; indicare la ripetizione di un elemento.</p><ul>
<li>
<strong>Scrittura:</strong> richiama note, correzioni o parti omesse.</li>
<li>
<strong>Chat:</strong> pu&ograve; correggere rapidamente un messaggio precedente, per esempio &ldquo;domani*&rdquo;.</li>
<li>
<strong>Markdown:</strong> delimita testo in corsivo o grassetto secondo la sintassi usata.</li>
<li>
<strong>Fogli di calcolo:</strong> indica normalmente la moltiplicazione nelle formule.</li>
<li>
<strong>Programmazione:</strong> pu&ograve; rappresentare un operatore o un carattere jolly.</li>
</ul><p>Io evito di trattare l&rsquo;asterisco come un simbolo sempre intercambiabile con la stella grafica. Nei software professionali la differenza conta, perch&eacute; un carattere simile inserito nel posto sbagliato pu&ograve; rendere una formula o un comando non valido.</p><h2 id="che-differenza-ce-tra-asterisco-stella-e-caratteri-simili">Che differenza c&rsquo;&egrave; tra asterisco, stella e caratteri simili</h2><p>La stella che si vede in un&rsquo;interfaccia non &egrave; necessariamente il carattere digitabile con Shift + 8. Pu&ograve; essere un&rsquo;icona grafica, un simbolo Unicode o un elemento usato per indicare una valutazione, un preferito o un campo obbligatorio.</p><table>
<tbody>
<tr>
<th>Simbolo</th>
<th>Nome comune</th>
<th>Uso tipico</th>
</tr>
<tr>
<td>*</td>
<td>Asterisco</td>
<td>Note, moltiplicazione, mascheratura e caratteri jolly.</td>
</tr>
<tr>
<td>&#9733;</td>
<td>Stella piena</td>
<td>Valutazioni, preferiti e interfacce grafiche.</td>
</tr>
<tr>
<td>&#9734;</td>
<td>Stella vuota</td>
<td>Elemento non selezionato o valutazione incompleta.</td>
</tr>
<tr>
<td>&#8277;</td>
<td>Asterisco ornamentale</td>
<td>Separazione decorativa o tipografica.</td>
</tr>
</tbody>
</table><p>Questa distinzione &egrave; importante quando si copiano simboli dal web. Una stella Unicode pu&ograve; avere un aspetto simile, ma non sempre viene riconosciuta da un programma che richiede il normale <strong>asterisco ASCII</strong>. Nei comandi, nei codici e nelle formule uso quindi il carattere della tastiera, non un simbolo scelto visivamente.</p><h2 id="quando-lasterisco-non-viene-fuori">Quando l&rsquo;asterisco non viene fuori</h2><p>Se premendo Shift + 8 compare un altro carattere, quasi sempre il problema riguarda la <strong>lingua di input</strong>. Su Windows puoi verificare l&rsquo;indicatore della lingua nella barra delle applicazioni; su macOS puoi controllare la sorgente di input nelle impostazioni della tastiera.</p><p class="read-more"><strong>Leggi anche: <a href="https://bartolomeoalberico.it/posta-elettronica-come-funziona-e-come-usarla-in-sicurezza">Posta elettronica, come funziona e come usarla in sicurezza</a></strong></p><h3 id="controlli-rapidi-da-fare">Controlli rapidi da fare</h3><ol>
<li>Verifica che il layout attivo sia <strong>Italiano</strong> e non English US o un&rsquo;altra variante.</li>
<li>Prova il tasto Shift sinistro e quello destro, perch&eacute; entrambi dovrebbero svolgere la stessa funzione.</li>
<li>Apri un editor di testo semplice per escludere che sia il programma in uso a modificare l&rsquo;input.</li>
<li>Controlla il tastierino numerico, se presente, e prova il suo tasto dedicato.</li>
<li>Se usi una tastiera Bluetooth, verifica batteria, collegamento e disposizione fisica dei tasti.</li>
</ol><p>Su un portatile compatto il tastierino numerico pu&ograve; mancare del tutto. In quel caso <strong>Shift + 8</strong> resta normalmente la via pi&ugrave; semplice, ma su alcuni modelli internazionali i simboli stampati sui tasti non corrispondono al layout configurato nel sistema.</p><p>Un altro errore frequente nasce dal confondere <strong>Fn</strong> con Shift. Fn attiva funzioni secondarie del portatile, come luminosit&agrave; o volume, mentre Shift serve a ottenere il carattere superiore indicato sul tasto. Premere Fn + 8 non &egrave; quindi una soluzione generale.</p><h2 id="come-usare-bene-il-simbolo-nella-produttivita-quotidiana">Come usare bene il simbolo nella produttivit&agrave; quotidiana</h2><p>Per un uso normale non servono decine di scorciatoie. Mi basta ricordare <strong>Shift + 8</strong>, riconoscere il tasto del tastierino numerico e sapere che il comportamento pu&ograve; cambiare dentro un programma.</p><p>Nei documenti, inserisco l&rsquo;asterisco solo quando la nota &egrave; davvero necessaria. Se ogni riga contiene una stelletta, il testo diventa visivamente rumoroso e il lettore fatica a distinguere le informazioni importanti.</p><p>Nei fogli di calcolo e nel codice controllo invece sempre il contesto. Un asterisco isolato pu&ograve; significare moltiplicazione, mentre vicino a una parola pu&ograve; indicare una ricerca parziale o una regola sintattica. <strong>La posizione del simbolo</strong> conta spesso pi&ugrave; del simbolo stesso.</p><p>Per chi lavora con procedure <a href="https://bartolomeoalberico.it/memoria-permanente-cose-e-quale-supporto-scegliere">cloud</a>, script o strumenti di intelligenza artificiale, questa attenzione evita errori banali ma costosi. Una password mascherata, un filtro con carattere jolly e una formula matematica possono mostrare tutti la stessa stelletta, pur richiedendo interpretazioni completamente diverse.</p><h2 id="la-piccola-prova-che-risolve-quasi-ogni-dubbio">La piccola prova che risolve quasi ogni dubbio</h2><p>Quando non sei sicuro del significato o della combinazione corretta, apri un editor di testo e prova prima <strong>Shift + 8</strong>, poi il tasto del tastierino numerico. Se i risultati sono diversi da quelli stampati sulla tastiera, controlla il layout del sistema prima di modificare impostazioni del programma.</p><p>La regola pi&ugrave; utile &egrave; semplice: l&rsquo;asterisco &egrave; un carattere unico, ma il suo ruolo dipende dall&rsquo;ambiente in cui viene usato. Riconoscere questa differenza permette di scrivere pi&ugrave; velocemente, correggere le formule e interpretare con precisione password, ricerche e comandi.</p>]]></content:encoded>
      <author>Sandro Grasso</author>
      <category>Software e Produttività</category>
      <media:thumbnail url="https://frce8xp4ye4n.compat.objectstorage.eu-frankfurt-1.oraclecloud.com/blog-assets/thumbnail/e9c2491712a9141e0083f5ad70c3e4a1/asterisco-sulla-tastiera-come-farlo-e-cosa-significa.webp"/>
      <pubDate>Sun, 06 Sep 2026 18:24:00 +0200</pubDate>
    </item>
  </channel>
</rss>