<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Granda | Ideas &amp; Code</title><link>https://granda.org/it/</link><description>Recent content on Granda | Ideas &amp; Code</description><generator>Hugo</generator><language>it</language><lastBuildDate>Sat, 16 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://granda.org/it/index.xml" rel="self" type="application/rss+xml"/><item><title>Un LLM su una Sony PSP</title><link>https://granda.org/it/2026/05/16/un-llm-su-una-sony-psp/</link><pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/05/16/un-llm-su-una-sony-psp/</guid><description>&lt;p&gt;Una Sony PSP-2000 è un portatile MIPS da 333 MHz del 2007 con 64 MB di RAM. La mia, questa settimana, esegue un Transformer da 15 milioni di parametri e trasmette testo in inglese sul display LCD a uno o due token al secondo.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;
 &lt;img src="https://granda.org/images/posts/an-llm-on-a-sony-psp-chat.png" alt="Framebuffer della PSP alla fine di un bench run da 64 token. Prompt 'Once upon a time, there was a little girl named Layla', completamento sotto, piè di pagina '64 tokens in 42.6s (1.5 tok/s)'." width="720" /&gt;
&lt;/p&gt;</description></item><item><title>Il nuovo agente di codifica di xAI, Grok Build, include i suoi prompt in testo normale</title><link>https://granda.org/it/2026/05/15/il-nuovo-agente-di-codifica-di-xai-grok-build-include-i-suoi-prompt-in-testo-normale/</link><pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/05/15/il-nuovo-agente-di-codifica-di-xai-grok-build-include-i-suoi-prompt-in-testo-normale/</guid><description>&lt;p&gt;xAI ha &lt;a href="https://x.ai/news/grok-build-cli"&gt;lanciato Grok Build&lt;/a&gt; ieri — la loro risposta a Claude Code e Codex CLI. Il comando di installazione è una singola riga, il binario è disponibile solo per il livello consumer più alto ($299/mese, $99 di introduzione), e l&amp;rsquo;agente stesso comunica con Grok 4 attraverso una superficie HTTP compatibile con OpenAI.&lt;/p&gt;
&lt;p&gt;Ho scaricato il binario perché ero curioso di sapere in quale linguaggio fosse stato costruito. Sono uscito dall&amp;rsquo;esperienza con una trentina di system prompt letterali, i nomi di ogni subagente interno, ogni descrizione di strumento e un&amp;rsquo;immagine abbastanza completa dell&amp;rsquo;architettura. Niente di tutto ciò ha richiesto più di &lt;code&gt;tr&lt;/code&gt; e &lt;code&gt;grep&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Un Interruttore di Sicurezza per le Modifiche al Firewall</title><link>https://granda.org/it/2026/05/05/un-interruttore-di-sicurezza-per-le-modifiche-al-firewall/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/05/05/un-interruttore-di-sicurezza-per-le-modifiche-al-firewall/</guid><description>&lt;p&gt;La riga più spaventosa nell&amp;rsquo;automazione del homelab è quella che modifica una regola firewall sul router a cui sei connesso via SSH.&lt;/p&gt;
&lt;p&gt;Ecco come Claude Code e io le modifichiamo comunque.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="la-paura"&gt;La Paura&lt;/h2&gt;
&lt;p&gt;Dovevo cambiare una regola UDM Pro chiamata &lt;em&gt;&amp;ldquo;Block inter-VLAN traffic&amp;rdquo;&lt;/em&gt; da &lt;code&gt;accept&lt;/code&gt; a &lt;code&gt;drop&lt;/code&gt;. La regola era stata configurata male per secoli — impostata su &lt;code&gt;accept&lt;/code&gt;, cortocircuitando ogni permesso per-flusso sopra di essa — e chiuderla di nuovo era tutto il punto. L&amp;rsquo;orchestratore che eseguiva la modifica era una VM NixOS sulla mia rete domestica. Se il cambiamento eliminava il percorso che quella VM (o il mio SSH) stava usando, sarei rimasto bloccato fuori dal mio router senza accesso alla console.&lt;/p&gt;</description></item><item><title>Modificare i Pesi di un LLM a Mano</title><link>https://granda.org/it/2026/04/15/modificare-i-pesi-di-un-llm-a-mano/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/04/15/modificare-i-pesi-di-un-llm-a-mano/</guid><description>&lt;p&gt;Ho scritto un&amp;rsquo;implementazione da zero di ROME — model editing di rango 1 — usando solo &lt;code&gt;torch&lt;/code&gt; e &lt;code&gt;transformers&lt;/code&gt;. L&amp;rsquo;obiettivo: riscrivere un singolo fatto all&amp;rsquo;interno di GPT-2 Medium con una singola addizione di matrice, e vedere cosa succede a tutto il resto di ciò che il modello conosce.&lt;/p&gt;
&lt;p&gt;Ho eseguito quattro modifiche. Tre erano chirurgiche. La quarta ha rivelato che la &amp;ldquo;chirurgicità&amp;rdquo; di ROME è estremamente sensibile ai dettagli implementativi che non si considerano necessariamente in anticipo.&lt;/p&gt;</description></item><item><title>Analisi</title><link>https://granda.org/it/analytics/</link><pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/analytics/</guid><description/></item><item><title>Costruire un Simulatore di Calcolo Spaziale con Claude Code</title><link>https://granda.org/it/2026/03/30/costruire-un-simulatore-di-calcolo-spaziale-con-claude-code/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/03/30/costruire-un-simulatore-di-calcolo-spaziale-con-claude-code/</guid><description>&lt;p&gt;Volevo capire come funzionano i computer delle navicelle spaziali. La pianificazione in tempo reale, la protezione dalle radiazioni, le reti tolleranti ai ritardi che mantengono i rover su Marte in comunicazione con la Terra. Con Artemis II all&amp;rsquo;orizzonte (la prima missione lunare con equipaggio in oltre 50 anni) sembrava il momento giusto per approfondire. Così ho costruito un simulatore. Da zero. Con Claude Code come mio pair programmer.&lt;/p&gt;
&lt;p&gt;Nessun hardware fisico. Tutto gira in QEMU e Docker su un laptop. &lt;a href="https://github.com/granda/spacecraft-computing-sim"&gt;Codice su GitHub.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>La Tua Tesla Parcheggiata È un Data Center</title><link>https://granda.org/it/2026/03/13/la-tua-tesla-parcheggiata-%C3%A8-un-data-center/</link><pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/03/13/la-tua-tesla-parcheggiata-%C3%A8-un-data-center/</guid><description>&lt;p&gt;La tua auto è parcheggiata il 95% del tempo. Al suo interno c&amp;rsquo;è un chip capace di 300-500 trilioni di operazioni al secondo, collegato a sistemi di raffreddamento, conversione di potenza e una radio cellulare. Non fa nulla.&lt;/p&gt;
&lt;p&gt;Tesla e xAI vogliono cambiare le cose. L'11 marzo, Elon Musk ha &lt;a href="https://www.cnbc.com/2026/03/11/musk-unveils-joint-tesla-xai-project-macrohard.html"&gt;svelato &amp;ldquo;Macrohard&amp;rdquo;&lt;/a&gt; — chiamato internamente Digital Optimus — un progetto congiunto che trasforma le Tesla parcheggiate in agenti AI personali. Non chatbot. Agenti che osservano il tuo schermo, controllano mouse e tastiera ed eseguono lavoro reale.&lt;/p&gt;</description></item><item><title>QA Visivo come Fase della Pipeline CI</title><link>https://granda.org/it/2026/02/06/qa-visivo-come-fase-della-pipeline-ci/</link><pubDate>Fri, 06 Feb 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/02/06/qa-visivo-come-fase-della-pipeline-ci/</guid><description>&lt;p&gt;Ho fatto il merge di una PR il mese scorso. La code review era andata bene. I test erano passati. Poi ho aperto il sito sul mio telefono e la sidebar era completamente rotta.&lt;/p&gt;
&lt;p&gt;La soluzione era banale—mancava una media query. Il bug era ovvio una volta che effettivamente guardavi la vista mobile. Nessuno l&amp;rsquo;ha fatto.&lt;/p&gt;
&lt;p&gt;Così ho aggiunto una fase della pipeline che guarda.&lt;/p&gt;
&lt;p&gt;Apro una issue su GitHub che dice:&lt;/p&gt;</description></item><item><title>Per Chi È Agent Trace?</title><link>https://granda.org/it/2026/01/30/per-chi-%C3%A8-agent-trace/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/01/30/per-chi-%C3%A8-agent-trace/</guid><description>&lt;p&gt;Cursor ha rilasciato &lt;a href="https://github.com/cursor/agent-trace"&gt;Agent Trace&lt;/a&gt;, una specifica aperta per tracciare quale codice in un repository è stato scritto da un LLM. Registra il modello, lo strumento, la conversazione e gli esatti intervalli di righe — tutto aggiunto a un file JSONL nel tuo progetto.&lt;/p&gt;
&lt;p&gt;La proposta: &amp;ldquo;Man mano che gli agenti scrivono più codice, è importante capire cosa proviene dall&amp;rsquo;IA rispetto agli umani.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Ho passato del tempo a leggere la specifica e l&amp;rsquo;implementazione di riferimento. L&amp;rsquo;ingegnerizzazione è solida — schema pulito, estensibilità ben ponderata, buona lista di partner (Amp, Amplitude, Cloudflare, Cognition, Google, Vercel). Ma continuavo a tornare su una domanda: cosa &lt;em&gt;fai&lt;/em&gt; con questi dati?&lt;/p&gt;</description></item><item><title>Annulla iscrizione</title><link>https://granda.org/it/unsubscribe/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/unsubscribe/</guid><description>&lt;p id="unsubscribe-message"&gt;Elaborazione...&lt;/p&gt;
&lt;script&gt;
(function() {
 const params = new URLSearchParams(window.location.search);
 const msg = document.getElementById('unsubscribe-message');

 if (params.get('success') === 'true') {
 msg.textContent = 'Hai annullato l\'iscrizione alla newsletter.';
 } else if (params.get('error') === 'missing') {
 msg.textContent = 'Errore: Nessun token di cancellazione fornito.';
 } else if (params.get('error') === 'invalid') {
 msg.textContent = 'Errore: Link di cancellazione non valido.';
 } else {
 msg.textContent = 'Errore: Si è verificato un errore sconosciuto.';
 }
})();
&lt;/script&gt;</description></item><item><title>Link Ricchi per Sviluppatori Pigri</title><link>https://granda.org/it/2026/01/10/link-ricchi-per-sviluppatori-pigri/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/01/10/link-ricchi-per-sviluppatori-pigri/</guid><description>&lt;p&gt;Quando condivido un link del blog su Twitter o Slack, appare come testo semplice. Nessuna immagine di anteprima. Solo un URL come &lt;a href="https://granda.org/en/2026/01/02/claude-code-on-the-go/"&gt;granda.org/en/2026/01/02/claude-code-on-the-go/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Avevo bisogno di immagini Open Graph. L&amp;rsquo;approccio standard: creare manualmente un&amp;rsquo;immagine 1200x630 per ogni post. È noioso. Ho chiesto a Claude di automatizzarlo.&lt;/p&gt;
&lt;div class="desktop-only"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-mermaid" data-lang="mermaid"&gt;flowchart LR
 Push[git push] --&amp;gt; GHA[GitHub Actions]
 GHA --&amp;gt; Hugo[Hugo Server]
 GHA --&amp;gt; PW[Playwright]
 PW --&amp;gt;|screenshot| Hugo
 PW --&amp;gt; IMG[OG Image]
 IMG --&amp;gt; Commit[git commit]
 Commit --&amp;gt; Deploy[Deploy]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="mobile-only"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-mermaid" data-lang="mermaid"&gt;flowchart TB
 Push[git push] --&amp;gt; GHA[GitHub Actions]
 GHA --&amp;gt; Hugo[Hugo Server]
 GHA --&amp;gt; PW[Playwright]
 PW --&amp;gt;|screenshot| Hugo
 PW --&amp;gt; IMG[OG Image]
 IMG --&amp;gt; Commit[git commit]
 Commit --&amp;gt; Deploy[Deploy]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="la-configurazione"&gt;La Configurazione&lt;/h2&gt;
&lt;p&gt;Ho spiegato il problema a Claude: i post hanno bisogno di immagini di anteprima social, ma non voglio crearle manualmente. Cattura uno screenshot del contenuto dell&amp;rsquo;articolo, salvalo come immagine OG, aggiorna automaticamente il frontmatter.&lt;/p&gt;</description></item><item><title>Il Mio QA Engineer è un LLM</title><link>https://granda.org/it/2026/01/09/il-mio-qa-engineer-%C3%A8-un-llm/</link><pubDate>Fri, 09 Jan 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/01/09/il-mio-qa-engineer-%C3%A8-un-llm/</guid><description>&lt;p&gt;Claude può cliccare sui pulsanti.&lt;/p&gt;
&lt;p&gt;Sembra banale, ma cambia il modo in cui costruisco le UI. Con Playwright MCP, Claude non si limita a scrivere codice—apre un browser, naviga su localhost e verifica che le cose funzionino davvero. Cattura bug che perderei nelle revisioni del codice.&lt;/p&gt;
&lt;h2 id="la-configurazione"&gt;La Configurazione&lt;/h2&gt;
&lt;p&gt;Playwright MCP dà a Claude l&amp;rsquo;automazione del browser. Lo eseguo con Chromium headless:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;playwright&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;npx&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;@anthropic-ai/mcp-server-playwright&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;--headless&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ora Claude può navigare, cliccare, digitare e fare screenshot. Vede ciò che vedono gli utenti.&lt;/p&gt;</description></item><item><title>Creare la Mia Newsletter con Claude</title><link>https://granda.org/it/2026/01/07/creare-la-mia-newsletter-con-claude/</link><pubDate>Wed, 07 Jan 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/01/07/creare-la-mia-newsletter-con-claude/</guid><description>&lt;p&gt;Secondo giorno del picco di traffico di Hacker News. Quarantamila visitatori, nessun modo di raggiungerli di nuovo. Avevo bisogno di un modulo di iscrizione alla newsletter.&lt;/p&gt;
&lt;p&gt;Ho guardato Buttondown, Beehiiv, Substack, ConvertKit. Tutto eccessivo. Dovevo solo raccogliere email. Non avevo bisogno di campagne, analisi o gestione degli iscritti. E volevo possedere i miei dati.&lt;/p&gt;
&lt;p&gt;Così ho chiesto a Claude di costruirlo.&lt;/p&gt;
&lt;div class="desktop-only"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-mermaid" data-lang="mermaid"&gt;flowchart LR
 User([User]) --&amp;gt; Form[Newsletter Form]
 Form --&amp;gt;|POST /api/subscribe| Worker[Cloudflare Worker]
 Worker --&amp;gt; KV[(Cloudflare KV)]
 KV -.-&amp;gt;|Daily sync| GHA[GitHub Actions]
 GHA -.-&amp;gt; Repo[(subscribers.jsonl)]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="mobile-only"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-mermaid" data-lang="mermaid"&gt;flowchart TB
 User([User]) --&amp;gt; Form[Newsletter Form]
 Form --&amp;gt;|POST /api/subscribe| Worker[Cloudflare Worker]
 Worker --&amp;gt; KV[(Cloudflare KV)]
 KV -.-&amp;gt;|Daily sync| GHA[GitHub Actions]
 GHA -.-&amp;gt; Repo[(subscribers.jsonl)]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="la-configurazione"&gt;La Configurazione&lt;/h2&gt;
&lt;p&gt;Ho dato a Claude un token API di Cloudflare tramite variabile d&amp;rsquo;ambiente e ho descritto cosa volevo: un modulo che raccoglie email e le memorizza da qualche parte che controllo.&lt;/p&gt;</description></item><item><title>Claude Code in Movimento</title><link>https://granda.org/it/2026/01/02/claude-code-in-movimento/</link><pubDate>Fri, 02 Jan 2026 00:00:00 +0000</pubDate><guid>https://granda.org/it/2026/01/02/claude-code-in-movimento/</guid><description>&lt;p&gt;Eseguo sei agenti Claude Code in parallelo dal mio telefono. Nessun laptop, nessun desktop—solo Termius su iOS e una VM cloud.&lt;/p&gt;
&lt;h2 id="la-configurazione"&gt;La Configurazione&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-mermaid" data-lang="mermaid"&gt;flowchart LR
 A[Phone] --&amp;gt;|Termius + mosh| B[Tailscale VPN]
 B --&amp;gt; C[Vultr VM]
 C --&amp;gt; D[Claude Code]
 D --&amp;gt;|PreToolUse hook| E[Poke webhook]
 E --&amp;gt;|Push notification| A
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Il ciclo è: avviare un&amp;rsquo;attività, mettere il telefono in tasca, ricevere una notifica quando Claude ha bisogno di input. Sviluppo asincrono da qualsiasi luogo.&lt;/p&gt;</description></item><item><title>Lasciare che l'IA lo Faccia</title><link>https://granda.org/it/2025/12/28/lasciare-che-lia-lo-faccia/</link><pubDate>Sun, 28 Dec 2025 00:00:00 +0000</pubDate><guid>https://granda.org/it/2025/12/28/lasciare-che-lia-lo-faccia/</guid><description>&lt;p&gt;Avevo bisogno di un server di sviluppo: VM con accesso SSH e strumenti di sviluppo installati. Ho descritto a Claude Code cosa volevo e l&amp;rsquo;ho lasciato gestire la configurazione.&lt;/p&gt;
&lt;h2 id="il-prompt"&gt;Il Prompt&lt;/h2&gt;
&lt;p&gt;Ho chiesto una VM Vultr con 8 core e 32GB di RAM, accessibile solo tramite Tailscale, con sessioni persistenti che sopravvivono alle interruzioni di rete.&lt;/p&gt;
&lt;h2 id="cosa-ha-costruito-claude-code"&gt;Cosa Ha Costruito Claude Code&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. Ha provisionato la VM tramite API Vultr&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ha creato un&amp;rsquo;istanza 8-core/32GB Ubuntu, ha atteso l&amp;rsquo;IP, poi si e connesso via SSH come root.&lt;/p&gt;</description></item><item><title>Traduzioni Automatiche del Blog con Claude e GitHub Actions</title><link>https://granda.org/it/2025/12/23/traduzioni-automatiche-del-blog-con-claude-e-github-actions/</link><pubDate>Tue, 23 Dec 2025 00:00:00 +0000</pubDate><guid>https://granda.org/it/2025/12/23/traduzioni-automatiche-del-blog-con-claude-e-github-actions/</guid><description>&lt;p&gt;Ogni post che scrivo viene tradotto automaticamente. Claude gestisce la traduzione, committa i risultati su main, e le versioni tradotte vengono deployate insieme all&amp;rsquo;originale.&lt;/p&gt;
&lt;h2 id="il-flusso"&gt;Il Flusso&lt;/h2&gt;
&lt;p&gt;Il workflow di traduzione viene eseguito in GitHub Actions quando il contenuto in inglese viene mergiato su main:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;push&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;branches&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;main]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;paths&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s1"&gt;&amp;#39;content/**/*.en.md&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex="0"&gt;&lt;code class="language-mermaid" data-lang="mermaid"&gt;flowchart LR
 B[Merge su main] --&amp;gt; C[Traduzioni generate]
 C --&amp;gt; D[Committato su main]
 D --&amp;gt; E[Deploy in produzione con tutte le lingue]
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="il-prompt"&gt;Il Prompt&lt;/h2&gt;
&lt;p&gt;Il workflow usa &lt;a href="https://github.com/anthropics/claude-code-action"&gt;claude-code-action&lt;/a&gt;:&lt;/p&gt;</description></item><item><title>Chi sono</title><link>https://granda.org/it/about/</link><pubDate>Mon, 22 Dec 2025 00:00:00 +0000</pubDate><guid>https://granda.org/it/about/</guid><description>&lt;h2 id="sommario"&gt;Sommario&lt;/h2&gt;
&lt;p&gt;Questo documento fornisce informazioni di background sull&amp;rsquo;autore di questo blog.&lt;/p&gt;
&lt;h2 id="1-background"&gt;1. Background&lt;/h2&gt;
&lt;p&gt;Ingegnere software con 15 anni di esperienza, 10 dei quali trascorsi sul campo.
Le aree di interesse includono:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sistemi distribuiti&lt;/li&gt;
&lt;li&gt;Sviluppo backend e infrastruttura&lt;/li&gt;
&lt;li&gt;Sviluppo di prodotti full-stack ed end-to-end&lt;/li&gt;
&lt;li&gt;Progettazione di interfacce utente&lt;/li&gt;
&lt;li&gt;Costruzione di sistemi sicuri e affidabili&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-contatti"&gt;2. Contatti&lt;/h2&gt;
&lt;p&gt;Sempre felice di connettermi con altri nel settore:
&lt;a href="https://x.com/mtt"&gt;@mtt&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Informazioni</title><link>https://granda.org/it/authorship/</link><pubDate>Mon, 22 Dec 2025 00:00:00 +0000</pubDate><guid>https://granda.org/it/authorship/</guid><description>&lt;h2 id="sommario"&gt;Sommario&lt;/h2&gt;
&lt;p&gt;Questo documento descrive la metodologia di authorship impiegata da questo blog.&lt;/p&gt;
&lt;h2 id="1-introduzione"&gt;1. Introduzione&lt;/h2&gt;
&lt;p&gt;Questo blog è in gran parte generato con l&amp;rsquo;assistenza di Large Language Models (LLMs). L&amp;rsquo;autore fornisce direzione, editing e controllo qualità; la macchina fornisce bozze iniziali e traduzioni.&lt;/p&gt;
&lt;h2 id="2-motivazione"&gt;2. Motivazione&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;autore crede nella trasparenza riguardo alla creazione di contenuti assistita da AI. Piuttosto che oscurare gli strumenti utilizzati, questa divulgazione mira a:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Stabilire aspettative appropriate per i lettori&lt;/li&gt;
&lt;li&gt;Contribuire a norme oneste riguardo ai contenuti AI&lt;/li&gt;
&lt;li&gt;Riconoscere la natura collaborativa della scrittura moderna&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="3-cosa-significa-questo"&gt;3. Cosa Significa Questo&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Idee&lt;/strong&gt;: Di origine umana&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Struttura&lt;/strong&gt;: Collaborativa&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prosa&lt;/strong&gt;: Principalmente generata da AI, rivista da umani&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Traduzioni&lt;/strong&gt;: Interamente generate da AI (non riviste da umani)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="4-garanzia-di-qualità"&gt;4. Garanzia di Qualità&lt;/h2&gt;
&lt;p&gt;Il contenuto in inglese viene sottoposto a revisione umana prima della pubblicazione. Le traduzioni sono generate automaticamente e possono contenere errori o formulazioni imbarazzanti. L&amp;rsquo;autore si assume la responsabilità del contenuto finale pubblicato in inglese.&lt;/p&gt;</description></item><item><title>Ciao Mondo</title><link>https://granda.org/it/2025/12/20/ciao-mondo/</link><pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate><guid>https://granda.org/it/2025/12/20/ciao-mondo/</guid><description>&lt;p&gt;Benvenuti nel mio blog! Questo è il mio primo post.&lt;/p&gt;
&lt;p&gt;Condividerò qui idee, appunti e cose che trovo interessanti.&lt;/p&gt;</description></item></channel></rss>