<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Cursor on Melabit</title>
    <link>https://static.233.196.69.159.clients.your-server.de/it/tags/cursor/</link>
    <description>Recent content in Cursor on Melabit</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Wed, 21 Jan 2026 18:00:00 +0000</lastBuildDate>
    <atom:link href="https://static.233.196.69.159.clients.your-server.de/it/tags/cursor/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Sorpresa Antigravity</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2026/01/21/sorpresa-antigravity/</link>
      <pubDate>Wed, 21 Jan 2026 18:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2026/01/21/sorpresa-antigravity/</guid>
      <description>&lt;p&gt;Lo confesso, quando ho &lt;a href=&#34;https://melabit.com/it/2025/12/15/fotocopiato/&#34;&gt;cominciato ad usare Antigravity&lt;/a&gt; avevo molte riserve, perché il nuovo editor &lt;em&gt;rivoluzionario&lt;/em&gt; prodotto da Google mi sembrava solo uno dei tanti cloni di &lt;a href=&#34;https://code.visualstudio.com/&#34;&gt;VS Code&lt;/a&gt; di Microsoft.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ma appena ho iniziato ad usare le funzioni &lt;em&gt;agentiche&lt;/em&gt; di Google Antigravity ho dovuto ricredermi, perché c&amp;rsquo;è davvero del buono.&lt;/p&gt;&#xA;&lt;p&gt;Certo, ci sono anche tanti limiti, ma sono gli stessi di tutti gli altri modelli linguistici di grandi dimensioni (LLM, &lt;em&gt;Large Language Model&lt;/em&gt;), che funzionano bene se li guidi passo passo in quello che devono fare, ma che hanno anche poca fantasia e vanno in affanno se gli sottoponi dei problemi nuovi e appena appena complicati.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/Gemini_Generated_Image_nu8qhynu8qhynu8q.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Immagine generata da &lt;a href=&#34;https://gemini.google.com&#34;&gt;Google Gemini&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;editor-e-ide&#34;&gt;Editor e IDE&lt;/h4&gt;&#xA;&lt;p&gt;Google Antigravity è una &lt;a href=&#34;https://en.wikipedia.org/wiki/Integrated_development_environment&#34;&gt;IDE (Integrated Development Environment)&lt;/a&gt;, in italiano un &lt;em&gt;ambiente di sviluppo integrato&lt;/em&gt;, cioè è un editor con funzionalità aggiuntive che aiutano a scrivere e a correggere il codice.&lt;/p&gt;&#xA;&lt;p&gt;Essendo un derivato da VS Code ne riprende tutti gli aspetti positivi e negativi, primo fra tutti il fatto di essere basato su &lt;a href=&#34;https://www.electronjs.org/&#34;&gt;Electron&lt;/a&gt;, un framework multipiattaforma molto comodo per gli sviluppatori ma anche molto avido di risorse e di spazio su disco.&lt;/p&gt;&#xA;&lt;p&gt;Infatti, come avevo già notato nell&amp;rsquo;&lt;a href=&#34;https://melabit.com/it/2025/12/15/fotocopiato/&#34;&gt;ultimo articolo&lt;/a&gt;, una volta installato Google Antigravity occupa sul mio Mac la bellezza di 700 MB (696.6 MB per la precisione), un pelo di più dello stesso VS Code (683.9 MB) e qualcosa meno del &lt;em&gt;padre&lt;/em&gt; Windsurf (718.7 MB). Tanto per fare un confronto, i miei due editor preferiti, TextMate e BBEdit, occupano rispettivamente 40 e 65 MB.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Sulle funzionalità di editing del codice e di supporto allo sviluppo c&amp;rsquo;è poco da dire. Sono identiche a quelle di VS Code e possono essere estese a dismisura tramite le più di 8.500 estensioni disponibili sull&amp;rsquo;&lt;a href=&#34;https://open-vsx.org/&#34;&gt;Open VSX Registry&lt;/a&gt;, un database di estensioni specifico per gli editor derivati da VS Code.&lt;/p&gt;&#xA;&lt;p&gt;In teoria si potrebbero usare le &lt;a href=&#34;https://marketplace.visualstudio.com/&#34;&gt;estensioni di VS Code&lt;/a&gt;, ma Microsoft da qualche mese &lt;a href=&#34;https://freedium-mirror.cfd/https://medium.com/@S3CloudHub/microsoft-quietly-blocked-cursor-from-using-its-vscode-extension-heres-the-line-of-code-that-40d65f14ef0f&#34;&gt;ha bloccato&lt;/a&gt; l&amp;rsquo;uso del marketplace di VS Code a tutti gli altri editor derivati (fra cui Cursor, Windsurf o Antigravity). Alla faccia dei principi dell&amp;rsquo;&lt;a href=&#34;https://code.visualstudio.com/&#34;&gt;open source&lt;/a&gt;&amp;hellip;&lt;/p&gt;&#xA;&lt;h4 id=&#34;funzioni-agentiche&#34;&gt;Funzioni &lt;em&gt;agentiche&lt;/em&gt;&lt;/h4&gt;&#xA;&lt;p&gt;Ma cos&amp;rsquo;è l&amp;rsquo;&lt;a href=&#34;https://www.ibm.com/think/topics/agentic-ai&#34;&gt;Intelligenza Artificiale ad agenti&lt;/a&gt; (o &lt;em&gt;agentica&lt;/em&gt;)? È un sistema di IA in grado di agire in modo autonomo, raggiungendo obiettivi complessi con una minima supervisione umana e senza dover essere istruito in modo dettagliato e ben definito.&lt;/p&gt;&#xA;&lt;p&gt;È un po&amp;rsquo; come il sogno dei cuochi dilettanti: avere a disposizione un robot in grado di guardare cosa c&amp;rsquo;è in frigorifero e nella dispensa e di preparare da solo un pranzo completo dopo avergli spiegato vagamente cosa vogliamo.&lt;/p&gt;&#xA;&lt;p&gt;Ma è anche il sogno dei programmatori da bar, i &lt;em&gt;vibe coders&lt;/em&gt;, quelli che vorrebbero poter chiedere all&amp;rsquo;IA di programmare una applicazione &amp;ldquo;fatta così e cosà&amp;rdquo;, andare a mangiare una pizza e trovare tutto pronto  al ritorno, compreso il porting per le principali piattaforme e un sito di e-commerce dove venderla.&lt;/p&gt;&#xA;&lt;h4 id=&#34;mettere-antigravity-alla-prova&#34;&gt;Mettere Antigravity alla prova&lt;/h4&gt;&#xA;&lt;p&gt;Finora tutti questi esperimenti non è che ci abbiano fatto una &lt;a href=&#34;https://freedium-mirror.cfd/https://ninza7.medium.com/anthropic-gave-an-ai-a-job-the-results-were-hilarious-and-terrifying-e85a204b06f4&#34;&gt;grande figura&lt;/a&gt; ma, come ci &lt;a href=&#34;https://it.wikipedia.org/wiki/Mai_dire_mai_%28film%29&#34;&gt;insegna Sean Connery&lt;/a&gt;, mai dire mai. E allora vediamo come funzionano nella pratica le funzioni agentiche integrate in Google Antigravity.&lt;/p&gt;&#xA;&lt;p&gt;Per provarle, ho chiesto al programma di eseguire alcuni compiti specifici, spaziando da cose semplici fino ad un compito particolarmente complesso, cercando di lasciarlo libero di decidere cosa fare e intervenendo solo quando era davvero necessario. Ho scelto compiti vicini alle esigenze di ricercatore, ma credo che i risultati siano lo stesso molto significativi.&lt;/p&gt;&#xA;&lt;p&gt;Ecco come è andata.&lt;/p&gt;&#xA;&lt;h5 id=&#34;prima-di-iniziare&#34;&gt;Prima di iniziare&lt;/h5&gt;&#xA;&lt;p&gt;Prima di iniziare ho finto di usare Antigravity per la prima volta, cancellando con &lt;a href=&#34;https://freemacsoft.net/appcleaner/&#34;&gt;AppCleaner&lt;/a&gt; tutti i file generati dall&amp;rsquo;applicazione. Ho eseguito di nuovo la procedura di &lt;em&gt;onboarding&lt;/em&gt;, decidendo di &lt;code&gt;Start fresh&lt;/code&gt;, senza importare la configurazione da VS Code o da Windsurf, e di usare la modalità &lt;code&gt;Review driven development&lt;/code&gt;, senza modificare le opzioni di default.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/agent-mode.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Per quanto riguarda le estensioni, non ne installo nessuna, perché preferisco decidere da solo cosa mi serve.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/extensions.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Dimenticavo: la versione di Antigravity che ho usato per scrivere questo articolo è la 1.11.17 ma, vista la velocità dello sviluppo, è possibile che alcuni aspetti dell&amp;rsquo;interfaccia e del funzionamento del programma siano già cambiati al momento della pubblicazione dell&amp;rsquo;articolo.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/version.png&#34; alt=&#34;&#34;&gt;&lt;h5 id=&#34;compito-1-estrazione-di-dati-dalle-immagini&#34;&gt;Compito #1: Estrazione di dati dalle immagini&lt;/h5&gt;&#xA;&lt;p&gt;Cominciamo con una cosa semplice, ma molto importante quando si ha a che fare con dei vecchi articoli scientifici: estrarre i dati dalle immagini. Il mio obiettivo è verificare se è possibile istruire l&amp;rsquo;IA di Antigravity ad estrarre da solo i dati dalle figure di &lt;a href=&#34;https://link.springer.com/article/10.1007/s13762-025-06837-z&#34;&gt;questo articolo&lt;/a&gt; appena pubblicato, di cui non sono per niente orgoglioso (per usare un eufemismo), ma che i &lt;em&gt;referee&lt;/em&gt;, sorprendentemente, hanno accettato quasi senza fiatare.&lt;/p&gt;&#xA;&lt;div style = &#34;border-style: solid; border-width: 0px 0px 0px 12px; border-color: #03a87c; background-color: #defef6; padding: 1em; color:black; font-size:100%;&#34;&gt;&#xA;&lt;p&gt;Oggi, in base ai principi della &lt;a href=&#34;https://www.nature.com/collections/prbfkwmwvz&#34;&gt;riproducibilità dei risultati ottenuti&lt;/a&gt;, è diventato normale condividere tutti i dati di un articolo scientifico tramite dei &lt;em&gt;repository&lt;/em&gt; pubblici come &lt;a href=&#34;https://zenodo.org&#34;&gt;Zenodo&lt;/a&gt;, &lt;a href=&#34;https://osf.io&#34;&gt;OSF&lt;/a&gt;, &lt;a href=&#34;https://dataverse.org/&#34;&gt;Dataverse&lt;/a&gt; o magari &lt;a href=&#34;https://github.com/&#34;&gt;GitHub&lt;/a&gt;. Ma fino a pochi anni fa i dati originali erano di fatto accessibili solo attraverso le figure negli articoli, ed è proprio per questo che è fondamentale poterli estrarre dalle immagini.&lt;/p&gt;&#xA;&lt;p&gt;Ci sono parecchi programmi dedicati all&amp;rsquo;estrazione dei dati dalle figure (come &lt;a href=&#34;https://akhuettel.github.io/engauge-digitizer/&#34;&gt;questo&lt;/a&gt;, &lt;a href=&#34;https://www.digitizeit.xyz/&#34;&gt;questo&lt;/a&gt; o &lt;a href=&#34;https://cran.r-project.org/web/packages/metaDigitise/vignettes/metaDigitise.html&#34;&gt;questo&lt;/a&gt;), ma richiedono di essere guidati dall&amp;rsquo;utente, che al minimo deve definire la posizione degli assi X ed Y e i limiti delle coordinate da estrarre. Alcuni programmi riescono a funzionare automaticamente, ma solo se hanno a che fare con tipi ben definiti di immagini.&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/br&gt;&#xA;&lt;p&gt;Prima di cominciare, creo una nuova directory dove salvo i grafici scaricati dalla &lt;a href=&#34;https://link.springer.com/article/10.1007/s13762-025-06837-z&#34;&gt;pagina web&lt;/a&gt; dell&amp;rsquo;articolo, proprio come farebbe un collega che volesse ripetere il mio esperimento. Già che ci sono, ci metto anche il file PDF dell&amp;rsquo;articolo, che mi servirà più avanti.&lt;/p&gt;&#xA;&lt;div style = &#34;border-style: solid; border-width: 0px 0px 0px 12px; border-color: #03a87c; background-color: #defef6; padding: 1em; color:black; font-size:100%;&#34;&gt;&#xA;&lt;p&gt;&lt;strong&gt;NOTA.&lt;/strong&gt; Tutte le domande riportate qui sotto sono state copiate senza correggere gli errori di battitura e la sintassi zoppicante, causati (anche) alla voglia di vedere rapidamente cosa veniva fuori. Tutto sommato questi errori sono utili, perché dimostrano che questi sistemi riescono a comprendere le nostre richieste anche quando la forma non è perfetta.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/br&gt;&#xA;&lt;p&gt;Scelgo di usare &lt;code&gt;Gemini 3 Pro (High)&lt;/code&gt;, che in questo momento è il modello più potente presente in Antigravity, e per prima cosa gli chiedo di orientarsi nel contenuto della directory.&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;In the current directory you will find a pdf file, a couple of folders and some inages in png or webp format. Is all this right?&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Gemini ci pensa un paio di secondi e poi mi conferma che è tutto corretto. Molto bene, allora&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;Now open the file containing &#34;Fig1&#34; in the filename. This is an histogram showing the concentration of several chemical species in two kinds of Shungite, type Z (darker bars) and type B (lighter bars). Could you extract the values of concentration from the images? Please produce a table with the name of each chemical species and the associated concentrations for the Type Z and Type B material. Export the table as a csv file named &#34;gemini-fig1.csv&#34; and as a markdown file &#34;gemini-fig1.md&#34;&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Questa è l&amp;rsquo;immagine con cui ha a che fare Gemini&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/13762_2025_6837_Fig1_HTML.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Nonostante io sia stato volutamente vago sul nome del file, Gemini la trova senza problemi e e dopo una ventina di secondi produce i due file richiesti. La tabella generata da Gemini è questa&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Chemical Species&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type Z (Concentration %)&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type B (Concentration %)&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;SiO2&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;41&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;52&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;C&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;33&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;16&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Al2O3&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;11&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;16&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Fe2O3&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;5&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;3&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;FeO&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;3&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;2&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TiO2&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.2&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;MnO&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.1&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.2&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;S&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.2&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.5&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;MgO&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.5&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.5&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Na2O&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.5&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.2&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;CaO&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.5&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;2&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;K2O&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;2&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;H2O&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;2&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.5&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;minor elements&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.5&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.5&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Confrontandola con la tabella &lt;em&gt;vera&lt;/em&gt;, che contiene i valori di concentrazione realmente misurati&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Species&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type_Z&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type_B&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;SiO2&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;40.8&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;52&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;C&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;33.4&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;16.3&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Al2O3&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;10.6&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;15.8&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Fe2O3&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;4.7&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;3.2&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;FeO&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;3.5&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.9&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TiO2&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.4&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.9&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;MnO&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.14&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.12&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;S&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.1&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.6&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;MgO&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.3&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.6&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Na2O&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.6&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.2&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;CaO&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.4&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;2.3&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;K2O&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;2.2&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;H2O&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.6&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;1.4&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Other&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.46&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;0.48&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;si nota subito che tutti i valori estratti dalla figura sono molto vicini a quelli reali, con approssimazioni minime e sempre minori dello 0,5%.&lt;/p&gt;&#xA;&lt;p&gt;Sono davvero impressionato dal risultato: Antigravity ha fatto tutto in pochi secondi e senza nessun intervento da parte mia, a parte la preparazione dei file e la scrittura del prompt. È vero che anche i normali chatbot come ChatGPT o Claude possono fare le stesse cose, ma Antigravity ci permette di lavorare direttamente sul nostro computer e con i nostri file, senza dover trasferire niente su e giù per l&amp;rsquo;interfaccia web del chatbot.&lt;/p&gt;&#xA;&lt;p&gt;Compito superato a pieni voti.&lt;/p&gt;&#xA;&lt;h5 id=&#34;compito-2-riproduzione-di-grafici&#34;&gt;Compito #2: Riproduzione di grafici&lt;/h5&gt;&#xA;&lt;p&gt;Per motivi non rilevanti qui, ho partecipato poco &amp;ndash; e più che altro in modo critico &amp;ndash; alla stesura dell&amp;rsquo;&lt;a href=&#34;https://link.springer.com/article/10.1007/s13762-025-06837-z&#34;&gt;articolo&lt;/a&gt; menzionato nel Compito #1. In particolare, non mi sono occupato come al solito di preparare i grafici, che invece sono stati realizzati da una collega in &lt;a href=&#34;https://www.mathworks.com/products/matlab.html&#34;&gt;Matlab&lt;/a&gt;, un sistema di calcolo molto amato dagli ingegneri. I quali hanno ragione, perché con Matlab si possono fare con poco sforzo dei calcoli molto complicati. Ma produrre dei grafici di qualità non è certo il suo forte.&lt;/p&gt;&#xA;&lt;p&gt;Vediamo allora se riesco a far ricreare a Gemini 3 Pro l&amp;rsquo;istogramma del Compito #1, utilizzando la libreria &lt;a href=&#34;https://ggplot2.tidyverse.org/&#34;&gt;ggplot2&lt;/a&gt; di &lt;code&gt;R&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;         &#xA;Now generate the R code to recreate the same graph, using ggplot2 and whenever possible the functions available in the tidyverse.&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Dopo un po&amp;rsquo; lo script è pronto e viene salvato automaticamente nella directory del progetto. Gli do una rapida occhiata e mi sembra a posto. Apro il terminale integrato in Antigravity ed eseguo lo script come mi viene suggerito,&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Rscript recreate_fig1.R&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;e, a parte i colori invertiti, la figura è identica all&amp;rsquo;originale.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/recreated_fig1.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Voglio essere chiaro su questo punto: io non ho toccato nemmeno una virgola del codice generato in Antigravity da Gemini (e non lo farò nemmeno in seguito), il quale quindi riesce da solo a ricreare in &lt;code&gt;R&lt;/code&gt; una copia quasi perfetta dell&amp;rsquo;originale, &lt;em&gt;leggendo&lt;/em&gt; i dati presenti nella figura e riconoscendo tutti gli elementi di contorno del grafico, come le etichette degli assi X e Y, le scale numeriche o la legenda.&lt;/p&gt;&#xA;&lt;p&gt;Conosco abbastanza bene R e avrei potuto ottenere lo stesso risultato in poco tempo, ma non c&amp;rsquo;è dubbio che anche in casi come questo Antigravity può essere un valido aiuto per chi è a digiuno di programmazione.&lt;/p&gt;&#xA;&lt;p&gt;Io comunque sono incontentabile e chiedo a Gemini di invertire i colori&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;Sorry, but the colors are inverted. Type Z is light grey and Type B is dark grey. Please switch the colors so that they are identical to the original. Save the new R code as `Rscript recreate_fig1-1.R`&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Eseguo il nuovo script e ora i colori sono quelli corretti. Noto con piacere che anche il nome del file &lt;code&gt;png&lt;/code&gt; generato è stato aggiornato, cosa che rende più facile confrontare i diversi file prodotti da Gemini.&lt;/p&gt;&#xA;&lt;p&gt;Di nuovo, sono davvero molto impressionato. Gemini ha fatto tutto perfettamente e io non ho dovuto correggere nemmeno una riga del codice.&lt;/p&gt;&#xA;&lt;p&gt;Era un lavoro facile, non c&amp;rsquo;è dubbio, ma rimane comunque un risultato molto interessante. Anche perché stiamo parlando di un linguaggio specialistico come &lt;code&gt;R&lt;/code&gt;, che non ha certo la mole di esempi su cui addestrarsi che hanno linguaggi molto più diffusi, come Python o JavaScript.&lt;/p&gt;&#xA;&lt;p&gt;Anche questo compito mi pare superato a pieni voti.&lt;/p&gt;&#xA;&lt;h5 id=&#34;compito-3-generazione-di-nuovi-grafici&#34;&gt;Compito #3: Generazione di nuovi grafici&lt;/h5&gt;&#xA;&lt;p&gt;Gemini è riuscito a ricreare perfettamente l&amp;rsquo;istogramma dell&amp;rsquo;&lt;a href=&#34;https://link.springer.com/article/10.1007/s13762-025-06837-z&#34;&gt;articolo&lt;/a&gt;, ma vorrei verificare se ci sono delle rappresentazioni alternative più efficaci.&lt;/p&gt;&#xA;&lt;p&gt;Lascio di nuovo la palla a Gemini 3 Pro, che tira fuori due idee interessanti, un grafico &lt;em&gt;Lollipop&lt;/em&gt; e un &lt;em&gt;Dumbell plot&lt;/em&gt;, che però per varie ragioni non mi soddisfano più di tanto. Provo a fargli fare delle modifiche, Gemini esegue sempre tutto a puntino ma il risultato non migliora.&lt;/p&gt;&#xA;&lt;p&gt;Alla fine, mi convinco che il grafico più equilibrato è il solito istogramma, ma questa volta con gli assi X e Y scambiati e colori molto diversi per i due tipi di materiale.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/alternative_fig1_horizontal_bar.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Dato che, come ho già detto, sono incontentabile, prendo una figura molto più complicata dal solito articolo,&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/concentrazione_metalli3.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;e gli faccio ripetere il lavoro di generazione dei grafici equivalenti usando &lt;code&gt;R&lt;/code&gt; e &lt;code&gt;ggplot2&lt;/code&gt;. Gemini si mette subito all&amp;rsquo;opera e capisce da solo che la concentrazione dei vari elementi al giorno 0 vale per entrambi i tipi di materiale, una cosa che non è banale da capire guardando solo il grafico.&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;answer&#34; open&gt;&#xA;    &lt;summary class=&#34;answer&#34;&gt;&#xA;        Risposta&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;answer&#34;&gt;&#xA;        &#xA;For Day 0 (&#34;untreated sample&#34;), I assigned the same concentration value to both Type Z and Type B in the dataset. This format suggests that both treatments start from the same baseline, which will make plotting lines easier in R.&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Vi risparmio i dettagli, dico solo che Gemini fa tutto quello che gli chiedo, e produce con poco sforzo diversi tipi di visualizzazioni diverse dei dati presenti nell&amp;rsquo;immagine qui sopra, come questa &lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/fig4_heatmap.png&#34;&gt;heatmap&lt;/a&gt; o questo &lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/fig4_sankey_grid_bold.png&#34;&gt;Sankey plot&lt;/a&gt;. I grafici prodotti non mi soddisfano al 100%, ma comunque dimostrano che Gemini è in grado di eseguire anche i compiti richiesti da utenti incontentabili come il sottoscritto.&lt;/p&gt;&#xA;&lt;p&gt;Gemini riesce anche a capire da solo che, se gli chiedo di mettere i grafici prodotti in due colonne, una per ciascuno dei due materiali studiati, quello che voglio davvero sono quelle che nel gergo di R si chiamano &lt;code&gt;facet&lt;/code&gt;. Sembra una cosa sciocca, ma significa che queste rappresentazioni più complesse diventano alla portata anche di chi sa cosa vuole, ma non sa come esprimerlo in modo preciso.&lt;/p&gt;&#xA;&lt;p&gt;Va detto, però ,che per quanto sia comodo (e anche divertente) chiedere e osservare Gemini mentre lavora, quando si arriva alle modifiche più fini si perde molto più tempo a scrivere le domande e ad aspettare le risposte che a lavorare direttamente sul codice. E questo è un dettaglio da tenere in conto.&lt;/p&gt;&#xA;&lt;p&gt;Diciamo che questo compito merita la sufficienza.&lt;/p&gt;&#xA;&lt;h5 id=&#34;compito-4-interazione-con-il-codice-e-il-sistema-operativo&#34;&gt;Compito #4: Interazione con il codice e il sistema operativo&lt;/h5&gt;&#xA;&lt;p&gt;Vediamo ora se Gemini 3 Pro integrato in Antigravity è in grado di eseguire delle operazioni basilari di gestione dei file e delle cartelle. Tutti gli esempi valgono per macOS, su cui ho fatto tutte le prove, ma anche per le varie incarnazioni di Linux e di BSD Unix.&lt;/p&gt;&#xA;&lt;p&gt;Per prima cosa gli chiedo di mettere ordine nei file generati finora, spostando gli script in R nella directory &lt;code&gt;code&lt;/code&gt;, i file dati in &lt;code&gt;data&lt;/code&gt; e i grafici podotti in &lt;code&gt;output&lt;/code&gt;. Gemini 3 Pro ci pensa un po&amp;rsquo; su e poi crea un semplice script di shell per eseguire quanto richiesto. Fa anche un errore, se ne accorge e mi chiede di autorizzarlo a correggerlo. Molto, molto bene.&lt;/p&gt;&#xA;&lt;p&gt;Ma quello che mi piace ancora di più è che aggiorna da solo tutto il codice già scritto con i nuovi percorsi dei vari file.&lt;/p&gt;&#xA;&lt;p&gt;Gli chiedo allora di aggiungere a ciascuno script in &lt;code&gt;R&lt;/code&gt; il mio solito preambolo, che crea un ambiente R ben definito. Gli do un esempio tratto da uno dei miei vecchi script. ma per il resto gli lascio mano libera. Gemini fa tutto a puntino e aggiorna di nuovo da solo tutti i percorsi dei file creati finora. Davvero impressionante!&lt;/p&gt;&#xA;&lt;p&gt;Gemini si comporta in modo ineccepibile anche con la conversione dei &lt;code&gt;tab&lt;/code&gt;, da due spazi a quattro spazi, come piace a me. Anzi, si accorge persino che deve farlo evitando errori di formattazione nel codice. Meglio di un &lt;em&gt;linter&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Passo infine al &lt;em&gt;versioning&lt;/em&gt; con &lt;code&gt;git&lt;/code&gt; che è sempre utile quando un progetto diventa appena complicato.&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;Could you now initialize a local `git` repository for this project? Versioning is very useful as soon as a project starts to become complicated.&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Va tutto a meraviglia, Gemini crea il &lt;em&gt;repository&lt;/em&gt; richiesto, fa un primo &lt;em&gt;commit&lt;/em&gt; e aggiunge anche un file &lt;code&gt;.gitignore&lt;/code&gt; sensato. Ovviamente posso interrogarlo per chiedere lo &lt;em&gt;status&lt;/em&gt; del repository o per eseguire tutte le altre operazioni con &lt;code&gt;git&lt;/code&gt; che sono abituato ad eseguire dal Terminale.&lt;/p&gt;&#xA;&lt;p&gt;Devo ammettere che ho un po&amp;rsquo; paura a far fare tutte queste cose ad un sistema &lt;em&gt;agentico&lt;/em&gt;, ma in ogni caso il risultato è perfetto.&lt;/p&gt;&#xA;&lt;p&gt;Anche in questo caso vale quello che ho scritto alla fine del Compito precedente: chi conosce bene i comandi di &lt;code&gt;git&lt;/code&gt; fa molto più in fretta a lavorare nel Terminale che a chiedere a Gemini. Però è altrettanto vero che per il normale ricercatore (ma anche per il normale utente) a digiuno di Terminale e sistemi di &lt;em&gt;versioning&lt;/em&gt;, usare un sistema ad agenti come questo può essere un ottimo modo per interagire a basso livello con il codice senza dover studiare pagine e pagine di documentazione.&lt;/p&gt;&#xA;&lt;p&gt;In ogni caso, un altro compito superato a pieni voti.&lt;/p&gt;&#xA;&lt;h5 id=&#34;compito-5-analisi-statistica-dei-dati&#34;&gt;Compito #5: Analisi statistica dei dati&lt;/h5&gt;&#xA;&lt;p&gt;Qui non la faccio lunga, anche perché sulla analisi statistica Antigravity/Gemini 3 Pro è un po&amp;rsquo; scarso.&lt;/p&gt;&#xA;&lt;p&gt;Se lo lascio libero di fare quello che preferisce, tira fuori cose senza senso, come creare delle matrici di correlazione fra le concentrazioni dei diversi metalli pesanti o cercare di confrontare le &amp;ldquo;differenze di efficacia&amp;rdquo; dei due materiali. Non è un compito facile, lo ammetto, ma dimostra &amp;ndash; se ci fosse ancora bisogno di dimostrarlo &amp;ndash; che questi sistemi &lt;em&gt;intelligenti&lt;/em&gt; sono molto utili quando gli si dice con precisione cosa fare, ma non riescono a lavorare da soli quando l&amp;rsquo;utente non ha una idea chiara su cosa vuole ottenere.&lt;/p&gt;&#xA;&lt;p&gt;Infatti, quando gli spiego per benino con che tipo di dati ho a che fare e cosa voglio ottenere,&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;The two types of shungite, type Z and type B, are different materials and they are used independently. In other words, the experiments made using type Z material is completely independent from the experiment with type B, so the two materials cannot be directly compared. This means that the stat_difference_boxplot has little sense, and the same is true for the correlation matrix which photographs a single day (I guess day 0 for only one type of material), while we are interested to time series. Therefore you should try to use some statistical analysis able to deal with time series.&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Gemini ci pensa su per un po&amp;rsquo;, fa degli errori ma riesce a correggerli da solo e alla fine tira fuori un modellino che dimostra come il materiale di tipo Z assorbe i metalli pesanti più rapidamente del materiale di tipo B. Se ci fossero più dati a disposizione, avrebbe senso ragionare un po&amp;rsquo; sul modello, ma per ora può bastare.&lt;/p&gt;&#xA;&lt;p&gt;Difficile dare un voto qui, diciamo non classificato.&lt;/p&gt;&#xA;&lt;h5 id=&#34;compito-6-estrazione-di-tabelle-dai-file-pdf&#34;&gt;Compito #6: Estrazione di tabelle dai file PDF&lt;/h5&gt;&#xA;&lt;p&gt;Qui entrarre in un territorio ostile. Estrarre automaticamente il contenuto delle tabelle contenute nei file PDF sembra una cosa banale, e invece è un argomento su cui si sono arrovellati centinaia e centinaia di ricercatori, e io fra questi. Il problema principale è che il formato PDF è orientato a gestire l&amp;rsquo;aspetto grafico della pagina, ma non &lt;em&gt;sa&lt;/em&gt; nulla del suo contenuto.&lt;/p&gt;&#xA;&lt;p&gt;Per le mie prove, ho chiesto ad Antigravity di aprire il file PDF di uno degli &lt;a href=&#34;https://protezionecivile.regione.puglia.it/annali-idrologici-parte-i-documenti-dal-1921-al-2021&#34;&gt;Annali Idrologici della Regione Puglia&lt;/a&gt; e di estrarre i dati di temperatura minima e massima misurati in alcune stazioni meteorologiche pugliesi. I dati giornalieri ora sono &lt;a href=&#34;https://reteidrometeo.protezionecivile.puglia.it/polarisopen/gis/map&#34;&gt;disponibili sul web&lt;/a&gt;, ma gli Annali in PDF rimangono una risorsa fondamentale, perché contengono i dati di temperatura e precipitazione (e altro) misurati in tutte le circa 150 stazioni della rete meteorologica pugliese a partire dal 1921, permettendo così di &lt;a href=&#34;https://iopscience.iop.org/article/10.1088/1742-6596/1065/19/192005&#34;&gt;analizzare&lt;/a&gt; com&amp;rsquo;è &lt;a href=&#34;https://www.sciencedirect.com/science/article/abs/pii/S0048969719344067&#34;&gt;cambiato il clima della regione&lt;/a&gt; nell&amp;rsquo;ultimo secolo.&lt;/p&gt;&#xA;&lt;p&gt;Il problema di estrarre i dati da questi file PDF l&amp;rsquo;ho &lt;a href=&#34;https://presentations.copernicus.org/EGU23/EGU23-15072_presentation.pdf&#34;&gt;risolto anni fa&lt;/a&gt; attraverso una combinazione di script in &lt;code&gt;R&lt;/code&gt; e &lt;code&gt;AWK&lt;/code&gt;, ma la procedura è lunga e complessa perché bisogna correggere a mano le tante incongruenze contenute nelle tabelle.&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt; Alla fine, per estrarre i dati di un singolo anno ci vogliono un paio di ore di lavoro attento, che non è male vista la complessità dell&amp;rsquo;analisi, ma che sarebbe molto utile riuscire a delegare all&amp;rsquo;IA.&lt;/p&gt;&#xA;&lt;p&gt;E allora provo a farlo fare a Gemini 3 Pro, scrivendo un prompt bello lungo dove gli spiego per filo e per segno cosa fare&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;question&#34; open&gt;&#xA;    &lt;summary class=&#34;question&#34;&gt;&#xA;        Prompt&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;question&#34;&gt;&#xA;        &#xA;    &#xA;    &lt;p&gt;Open &lt;code&gt;annale2013.pdf&lt;/code&gt; and go to page 6, where you will find a pair of data tables with measured precipitations [sic! sarebbe dovuto essere &amp;ldquo;temperatures&amp;rdquo;] for two weather stations. The data is arranged in pairs of columns, and each pair corresponds to a month, &lt;code&gt;G&lt;/code&gt; for &lt;code&gt;gennaio&lt;/code&gt; (january), &lt;code&gt;F&lt;/code&gt; for &lt;code&gt;febbraio&lt;/code&gt; (february), etc,. until &lt;code&gt;D&lt;/code&gt; or &lt;code&gt;dicembre&lt;/code&gt; (december).&lt;/p&gt;&#xA;    &lt;p&gt;As for the pairs, the first column is the minimum temperature and the second column is the maximum temperature.&lt;/p&gt;&#xA;    &lt;p&gt;Each row represents a different day.&lt;/p&gt;&#xA;    &lt;p&gt;At the end of each table there are some summary data, &lt;code&gt;Medie&lt;/code&gt;, &lt;code&gt;Med.mens.&lt;/code&gt; and &lt;code&gt;Med.norm&lt;/code&gt; that you can skip.&lt;/p&gt;&#xA;    &lt;p&gt;Missing data can be marked by either one or more &lt;code&gt;&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;&lt;/code&gt; signs, or by &lt;code&gt;=&lt;/code&gt; or be simply blank. In some tables there are extraneuous signs that you can skip outright.&lt;br&gt;&#xA;    Read the table and generate two different csv files, one for the maximum temperature and one for the minimum temperature, following this example&lt;/p&gt;&#xA;    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Date,Altamura,Andretta&#xA;    2007-01-01,13.4, 7.7,&#xA;    2007-01-02,15.7, 9.7,&#xA;    2007-01-03, 7.1, 2.7,&#xA;    2007-01-04, 9.5, 7.0,&#xA;    &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The header contains the date in ISO format, YYYY-MM-DD, and the name of the weather station which is written in bold at the top of each table, just under the months. All other information in thsi area, eg., &lt;code&gt;(Te)&lt;/code&gt;, &lt;code&gt;Bacino&lt;/code&gt; etc. is not useful and can be skipped.&lt;/p&gt;&#xA;    &#xA;&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Gemini prova e riprova a risolvere il problema con Python, ma i suoi script producono un sacco di errori e saltano parecchi giorni con dati validi. Del resto non è un problema facile, ci ho buttato il sangue io stesso per mesi, per cui gli do un aiutino.&lt;/p&gt;&#xA;&lt;p&gt;Ma a questo punto Gemini va in errore e non c&amp;rsquo;è verso di andare avanti.&lt;/p&gt;&#xA;&lt;p&gt;La cosa migliore sarebbe ricominciare da zero, ma nel frattempo ho raggiunto il &lt;code&gt;quota limit for Gemini 3 Pro (High)&lt;/code&gt; e dovrei aspettare diversi giorni prima di poter continuare.&lt;/p&gt;&#xA;&lt;p&gt;Non se ne parla, preferisco cambiare modello e passo a &lt;code&gt;Gemini 3 Flash&lt;/code&gt; di cui tutti parlano in questo momento. Gemini 3 Flash si mette al lavoro e mi propone un piano di lavoro che sembra sensato, ma che alla prova dei fatti produce, come ammette lui stesso, una &lt;em&gt;jumbled mess&lt;/em&gt; (un pasticcio confuso) perché ci sono &lt;em&gt;extraneous characters and unclear formatting&lt;/em&gt; (caratteri estranei e formattazione poco chiara).&lt;/p&gt;&#xA;&lt;p&gt;Gli suggerisco di usare la libreria &lt;code&gt;pdftools&lt;/code&gt; di R, che ho usato io stesso e che dà risultati infinitamente migliori dei tool analoghi per Python e alla fine, bingo!, Gemini ce la fa e produce un file dati corretto al 100%.&lt;/p&gt;&#xA;&lt;p&gt;Lo so, per essere davvero utile dovrei fargli ripetere il processo per tutte le stazioni e per parecchi anni diversi, ma per ora mi accontento, anche perché non voglio sprecare tutta la mia quota in questa attività. In ogni caso il risultato raggiunto con &lt;code&gt;Gemini 3 Flash&lt;/code&gt; è molto promettente e merita di essere approfondito come si deve.&lt;/p&gt;&#xA;&lt;p&gt;Va detto, invece, che con &lt;code&gt;Claude Sonnet 4.5 (Thinking)&lt;/code&gt; non c&amp;rsquo;è verso di fargli fare qualcosa di buono. Prova e riprova, raggiungo il limite di quota anche per questo modello  e mi devo fermare.&lt;/p&gt;&#xA;&lt;p&gt;Votazione? Gemini 3 Flash prende il massimo, mentre Gemini 3 Pro andrebbe riprovato nelle stesse condizioni del modello minore. Claude Sonnet 4.5, infine, prende un non classificato&lt;/p&gt;&#xA;&lt;h5 id=&#34;compito-7-programmazione-di-un-microcontroller&#34;&gt;Compito #7: Programmazione di un microcontroller&lt;/h5&gt;&#xA;&lt;p&gt;Un altro campo in cui le funzioni &lt;em&gt;agentiche&lt;/em&gt; di Google Antigravity potrebbero dimostrarsi molto interessanti e la programmazione dei microcontroller, come Arduino, Raspberry Pi Pico o ESP32. Ci sono letteralmente una marea di questi oggettini, e non per niente facile orientarsi fra i tanti modelli diversi e, ancora di più, fra le migliaia di sensori e moduli che gli si possono collegare.&lt;/p&gt;&#xA;&lt;p&gt;In questo caso specifico, un sistema di IA che produca velocemente del codice funzionante potrebbe essere davvero utile.&lt;/p&gt;&#xA;&lt;p&gt;Per le mie prove decido di usare un &lt;a href=&#34;https://www.arduino.cc/pro/hardware-product-nicla-vision/&#34;&gt;Nicla Vision&lt;/a&gt;, che di fatto è un Arduino con una videocamera incorporata. Il Nicla Vision è un vero gioiellino, che non costa poco ma che vale tutti i soldi spesi. Ma è anche un oggetto poco diffuso rispetto ai normali microcontroller, per cui se Antigravity riesce a programmarlo correttamente, riuscirà di sicuro a fare altrettanto con i normali Arduino, Pi Pico o ESP32.&lt;/p&gt;&#xA;&lt;p&gt;Torno quindi ad usare &lt;code&gt;Gemini 3 Flash&lt;/code&gt; e gli chiedo se conosce il Nicla Vision. Gli do anche il link alla pagina web del prodotto per aiutarlo ad orientarsi. Gemini mi conferma di sapere bene di cosa sto parlando, per cui possiamo partire può partire.&lt;/p&gt;&#xA;&lt;p&gt;Per programmare questi oggettini, io ho sempre e solo usato &lt;a href=&#34;https://www.arduino.cc/en/software/&#34;&gt;Arduino IDE&lt;/a&gt; e &lt;a href=&#34;https://thonny.org/&#34;&gt;Thonny&lt;/a&gt; e non so se Gemini può gestire il microcontroller direttamente dall&amp;rsquo;editor. Quando glielo chiedo, Gemini risponde con un comando molto semplice&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;% ls /dev/tty.usbmodem* /dev/cu.usbmodem* 2&amp;gt;/dev/null || echo &amp;#34;No usbmodem devices found&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;che permette di controllare che il Nicla Vision sia collegato al Mac. Una volta che l&amp;rsquo;ha trovato, verifica se sono installate le librerie Python necessarie per comunicare con il microcontroller e, dato che non ci sono, mi propone di installarle. Giustamente mi dà anche la possibilità di scegliere se farlo a livello globale o in un &lt;code&gt;virtual environment&lt;/code&gt;, e non c&amp;rsquo;è bisogno di dire che scelgo la seconda opzione.&lt;/p&gt;&#xA;&lt;p&gt;Gemini prepara anche un piccolo script di test che fa lampeggiare il LED (il classico Hello World dell&amp;rsquo;IoT) e, quando gli confermo che tutto funziona, proclama soddisfatto&lt;/p&gt;&#xA;&#xA;&lt;details class=&#34;answer&#34; open&gt;&#xA;    &lt;summary class=&#34;answer&#34;&gt;&#xA;        Risposta&#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;answer&#34;&gt;&#xA;        &#xA;I&#39;m ready to start writing more complex code for your project. What would you like to build first?&#xA;&lt;div&gt;&#xA;&lt;/details&gt;&#xA;&#xA;&lt;p&gt;Fin qui Gemini non fa nulla di più di quello che avrei potuto fare io stesso con &lt;a href=&#34;https://brew.sh/&#34;&gt;Homebrew&lt;/a&gt; e &lt;a href=&#34;https://github.com/conda/conda&#34;&gt;Conda&lt;/a&gt;. Ma per riuscirci avrei dovuto consultare pagine e pagine di documentazione sparsa per il web. Qui invece riesco a configurare tutto in pochi minuti, e per di più imparo tante cose utili.&lt;/p&gt;&#xA;&lt;p&gt;Dato che Gemini era così ansioso di rendersi utile, gli ho chiesto di scrivere un piccolo programma che sfrutta il Nicla Vision per scattare delle foto ad intervalli prestabiliti e inviarle al Mac tramite Wi-Fi. Risultato? Ha funzionato tutto al primo colpo.&lt;/p&gt;&#xA;&lt;p&gt;E Gemini non si è nemmeno offeso quando gli ho detto papale papale che non mi fidavo a dargli in pasto la password del mio Wi-Fi, anzi ha proposto una soluzione alternativa più sicura. Ma io sono malfidato, e alla fine ho usato l&amp;rsquo;hotspt del mio iPhone con una password usa e getta.&lt;/p&gt;&#xA;&lt;p&gt;Anche l&amp;rsquo;ultimo compito è superato a pieni voti.&lt;/p&gt;&#xA;&lt;h4 id=&#34;lasciare-una-traccia&#34;&gt;Lasciare una traccia&lt;/h4&gt;&#xA;&lt;p&gt;&lt;del&gt;Una cosa seccante di Antigravity è che non dispone di una funzione per esportare un &lt;code&gt;log&lt;/code&gt; completo di quello che si fa, con le domande fatte e le risposte del modello, e magari anche i suoi &lt;em&gt;pensieri&lt;/em&gt;.&lt;/del&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Correzione.&lt;/strong&gt; Mi sbagliavo, l&amp;rsquo;abbreviazione da tastiera &lt;strong&gt;CMD&lt;/strong&gt; (⌘)-&lt;strong&gt;E&lt;/strong&gt; consente di aprire l&amp;rsquo;&lt;code&gt;Agent Manager&lt;/code&gt;, una finestra separata di Antigravity che, fra le altre cose, consente di vedere l&amp;rsquo;intera storia di quello che ha fatto Antigravity, compresi i suoi &lt;em&gt;pensieri&lt;/em&gt;. Il problema è che non c&amp;rsquo;è una voce di menu specifica per l&amp;rsquo;Agent Manager (o almeno, io non l&amp;rsquo;ho trovata) e l&amp;rsquo;abbreviazione da tastiera è visibile solo all&amp;rsquo;avvio del programma.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Correzione #2.&lt;/strong&gt; Si può aprire l&amp;rsquo;Agent Manager direttamente dalla barra degli strumenti di Antigravity: la voce corrispondente si trova proprio accanto alle icone che permettono di modificare il layout dell’applicazione e di effettuare delle ricerche. Non so perché non me ne sia accorto prima, ma è anche vero che tutti gli altri comandi della barra degli strumenti sono rappresentati da icone; per questo non è immediato riconoscere quella voce come un comando anziché come una semplice stringa, come avviene per il nome dell’applicazione che occupa il centro della barra degli strumenti.&lt;/p&gt;&#xA;&lt;p&gt;In ogni caso, dopo ogni operazione volta, Antigravity mi permette di leggere un &lt;code&gt;Walkthrough&lt;/code&gt; dettagliato di ciò che ha fatto  e, facendo click con il tasto destro sul Tab relativo,&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/walkthrough.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;mi accorgo che posso &lt;em&gt;rivelare&lt;/em&gt; il file nel Finder. Quando lo faccio, compare una cartella con un gran numero di file Markdown, con nomi standard come &lt;code&gt;implementation_plan&lt;/code&gt;, &lt;code&gt;task&lt;/code&gt;,  o &lt;code&gt;walkthrough&lt;/code&gt; seguiti dal suffisso &lt;code&gt;resolved&lt;/code&gt; e da un numero progressivo&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-01-21-sorpresa-antigravity/agent-files.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;che dovrebbero rappresentare la &lt;em&gt;storia&lt;/em&gt; di tutto quello che faccio con il sistema agentico.&lt;/p&gt;&#xA;&lt;p&gt;Da quanto vedo, ogni volta che chiedo qualcosa ad uno degli &lt;em&gt;agenti&lt;/em&gt; integrati, Antigravity genera tre file contenenti: (1) quello che deve fare, &lt;code&gt;task&lt;/code&gt;, (2) il piano di lavoro, &lt;code&gt;implementation_plan&lt;/code&gt; e (3) una sintesi di quello che ha fatto, &lt;code&gt;walkthrough&lt;/code&gt;. A prima vista, non è facile mettere in relazione fra loro questi file, ma il meccanismo merita di essere approfondito. Per la cronaca, tutti i file in questione si trovano in una directory contenuta all&amp;rsquo;interno di  &lt;code&gt;~/.gemini/antigravity/brain/&lt;/code&gt;, ma la directory principale &lt;code&gt;~/.gemini/antigravity/&lt;/code&gt; contiene parecchie altre directory con file di configurazione, codice generato e altro.&lt;/p&gt;&#xA;&lt;h4 id=&#34;conclusioni&#34;&gt;Conclusioni&lt;/h4&gt;&#xA;&lt;p&gt;Da quello che ho scritto è chiaro che usare Antigravity mi è piaciuto. Ci sono casi in cui chi sa programmare rischia di essere &lt;a href=&#34;https://mastodon.social/@recantha/115829219381438249&#34;&gt;più rallentato che aiutato&lt;/a&gt;, ma in generale, e soprattutto per coloro che sanno usare Word, Excel e poco più, le funzioni &lt;em&gt;agentiche&lt;/em&gt; di Antigravity possono rivelarsi un aiuto davvero prezioso.&lt;/p&gt;&#xA;&lt;p&gt;Nel corso della mia vita di programmatore non-professionista sono passato dallo  scrivere il codice consultando i volumoni giganteschi di documentazione a cercare le risposte su &lt;a href=&#34;https://stackoverflow.com&#34;&gt;StackOverflow&lt;/a&gt;. Per come la vedo io, le funzioni &lt;em&gt;agentiche&lt;/em&gt; di Antigravity sono come uno &lt;a href=&#34;https://stackoverflow.com/&#34;&gt;StackOverflow&lt;/a&gt; con il turbo: non si limitano a presentare delle risposte alle nostre domande, ma le interpretano, ragionano su di esse e propongono soluzioni in modo quasi autonomo.&lt;/p&gt;&#xA;&lt;p&gt;Ma, proprio come su StackOverflow, bisogna sempre fare affidamento sulle proprie conoscenze e sulla propria esperienza per separare il grano dal loglio, le risposte utili e davvero funzionanti da quelle che valgono meno di niente.&lt;/p&gt;&#xA;&lt;p&gt;Non parliamo però per favore di &lt;em&gt;vibe coding&lt;/em&gt;, cioè di poter chiedere genericamente al programma di svolgere un dato compito, per poi andarsene in giro mentre Antigravity fa tutto da solo!&lt;sup id=&#34;fnref:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt; Come si vede dagli esempi, se non si è molto precisi e non gli si spiega per bene cosa vogliamo, controllando poi passo passo ciò che Antigravity propone di fare, si rischia che l&amp;rsquo;intero processo fallisca o produca dei risultati sbagliati.&lt;/p&gt;&#xA;&lt;p&gt;Proprio come un tesista, una dottoranda, o un nuovo collega, Antigravity può darti una grossa mano se sai cosa vuoi e come lo vuoi ottenere, e se glielo spieghi per bene. Ma &lt;a href=&#34;https://bigthink.com/starts-with-a-bang/vibe-physics-ai-slop/&#34;&gt;fargli tirare fuori delle idee sue&lt;/a&gt;, non dico originali ma almeno sensate, per ora è solo fantascienza. O marketing.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Già il solo fatto che Google utilizzasse, per un suo strumento di sviluppo, del codice prodotto da un concorrente diretto mi sembrava, diciamo così, piuttosto singolare.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;È vero che TextMate e BBEdit non sono delle IDE vere e proprie (soprattutto TextMate), ma la differenza di dimensioni rimane lo stesso impressionante.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;Io stesso ho sviluppato parecchi anni fa un programma in &lt;del&gt;C&lt;/del&gt;, no era in Python, che faceva tutto da solo, ma funzionava solo con le immagini di un tipo ben determinato di oscilloscopio digitale.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:4&#34;&gt;&#xA;&lt;p&gt;La fantasia degli estensori delle tabelle meriterebbe un premio.&amp;#160;&lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:5&#34;&gt;&#xA;&lt;p&gt;Anche un guru della programmazione molto indaffarato come Linus Torvalds usa il vibe coding, ma sa perfettamente quello che vuole fargli fare. E comunque lo usa solo &lt;a href=&#34;https://itsfoss.com/news/linus-torvalds-vibe-coding/&#34;&gt;per i suoi giochetti&lt;/a&gt;, non certo per sviluppare il kernel di Linux.&amp;#160;&lt;a href=&#34;#fnref:5&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Fotocopiato!</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2025/12/15/fotocopiato/</link>
      <pubDate>Mon, 15 Dec 2025 18:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2025/12/15/fotocopiato/</guid>
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen=&#34;allowfullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/SVCBA-pBgt0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;p&gt;Il video qui sopra è la presentazione ufficiale di &lt;a href=&#34;https://antigravity.google/&#34;&gt;Google Antigravity&lt;/a&gt;, una IDE (&lt;em&gt;Integrated Development Environment&lt;/em&gt;) che non è solo una semplice IDE ma è &amp;ldquo;&lt;em&gt;un nuovo modo di lavorare per questa prossima era dell&amp;rsquo;intelligenza agentica&lt;/em&gt;&amp;rdquo;. Che non ho ancora ben capito cosa significa, ma che suona tanto intelligente e al passo con i tempi.&lt;/p&gt;&#xA;&lt;p&gt;E allora vediamo cos&amp;rsquo;è questo &amp;ldquo;&lt;em&gt;nuovo modo di lavorare&lt;/em&gt;&amp;rdquo; nel quale gli agenti &amp;ldquo;&lt;em&gt;ti aiutano a decollare&lt;/em&gt;&amp;rdquo;. Una espressione che in altri tempi avrebbe significato ben altro.&lt;/p&gt;&#xA;&lt;p&gt;Scarico l&amp;rsquo;ultima versione disponibile di Google Antigravity, la 1.11.17 per la cronaca, che una volta installata occupa la bellezza di 700 MB. Una volta superate le solite schermate di &lt;em&gt;onboarding&lt;/em&gt; ed essermi autenticato tramite il mio account Gmail, ecco cosa viene fuori&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-12-15-fotocopiato/google-antigravity.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-12-15-fotocopiato/google-antigravity.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Praticamente &lt;a href=&#34;https://code.visualstudio.com/&#34;&gt;VS Code&lt;/a&gt; di Microsoft, con in più il tool &lt;em&gt;agentico&lt;/em&gt; &lt;code&gt;Antigravity&lt;/code&gt;, che non so ancora bene a cosa possa servire e, soprattutto, se serve davvero.&lt;/p&gt;&#xA;&lt;p&gt;Del resto, me lo avevano praticamente detto durante l&amp;rsquo;onboarding, quando è comparsa questa schermata dove mi veniva proposto di configurare l&amp;rsquo;editor da zero oppure di importare la configurazione da VS Code. O da Windsurf.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-12-15-fotocopiato/google-antigravity-setup.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-12-15-fotocopiato/google-antigravity-setup.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Windsurf?&lt;/p&gt;&#xA;&lt;p&gt;Sì, &lt;a href=&#34;https://windsurf.com/&#34;&gt;Windsurf&lt;/a&gt;, un editor derivato da &lt;a href=&#34;https://cursor.com/&#34;&gt;Cursor&lt;/a&gt;,&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; che a sua volta derivava dal solito VS Code.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-12-15-fotocopiato/windsurf.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-12-15-fotocopiato/windsurf.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;La somiglianza (per usare un eufemismo) diventa evidente quando li si mette uno accanto all&amp;rsquo;altro, Antigravity a sinistra e Windsurf a destra.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-12-15-fotocopiato/side-by-side.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-12-15-fotocopiato/side-by-side.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Identici.&lt;/p&gt;&#xA;&lt;p&gt;Insomma, l&amp;rsquo;IDE rivoluzionaria, il &amp;ldquo;&lt;em&gt;nuovo modo di lavorare per questa prossima era dell&amp;rsquo;intelligenza agentica&lt;/em&gt;&amp;rdquo; che &amp;ldquo;&lt;em&gt;ti aiuta a decollare&lt;/em&gt;&amp;rdquo;, non è altro che un clone di un editor che a sua volta era già il clone di un altro editor che a sua volta era il clone&amp;hellip;&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen=&#34;allowfullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/Rm_aUj4B4dU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;p&gt;Basta &lt;a href=&#34;https://levelup.gitconnected.com/the-2-4b-clone-how-three-companies-carved-up-one-startup-in-72-hours-36039524a9bb&#34;&gt;approfondire un po&amp;rsquo;&lt;/a&gt; per scoprire che Google ha speso 2.4 miliardi di dollari per acquisire il codice di Windsurf e per assumere i due fondatori, Varun Mohan e Douglas Chen, insieme ad una manciata di sviluppatori dell&amp;rsquo;azienda.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; Ma, per timore di interventi dell&amp;rsquo;antitrust, Google ha evitato di acquistare il prodotto vero e proprio o il marchio, per cui Windsurf continua ad esistere e ad essere sviluppato indipendentemente, provando a ripetere la storia di Davide contro Golia.&lt;/p&gt;&#xA;&lt;p&gt;Insomma, è un po&amp;rsquo; come se negli anni &amp;lsquo;80 Microsoft avesse assunto Steve Jobs e Steve Wozniak, con magari anche Bill Atkinson, Andy Hertzfeld e Susan Kare, prendendo con loro anche il codice del primo Macintosh. Per poi ripubblicarlo qualche mese dopo come Windows 1.0. E tutto ciò mentre Apple continuava tranquillamente a sviluppare lo stesso codice per il Mac originale.&lt;/p&gt;&#xA;&lt;p&gt;Ho l&amp;rsquo;impressione che quelli di Google abbiano usato qualcos&amp;rsquo;altro per decollare.&lt;/p&gt;&#xA;&lt;p&gt;Ma a parte le battute, gli &lt;em&gt;agenti&lt;/em&gt; presenti in Antigravity funzionano e sono utili nel corso dello sviluppo del codice? Non lo so nemmeno io, ed è quello che vedremo in diretta la prossima volta.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Chi è interessato alle polemiche nate dopo le ultime modifiche ai prezzi di Cursor può leggere &lt;a href=&#34;https://medium.com/@chrisdunlop_37984/wtf-is-cursor-doing-with-its-pricing-i-have-to-swap-at-this-rate-63681001a08e&#34;&gt;qui&lt;/a&gt;.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;L&amp;rsquo;articolo citato è a pagamento, ma può essere letto liberamente &lt;a href=&#34;https://freedium-mirror.cfd/https://levelup.gitconnected.com/the-2-4b-clone-how-three-companies-carved-up-one-startup-in-72-hours-36039524a9bb&#34;&gt;qui&lt;/a&gt;.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Ha ancora senso imparare le lingue con Duolingo?</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2025/10/23/ha-ancora-senso-imparare-le-lingue-con-duolingo/</link>
      <pubDate>Thu, 23 Oct 2025 18:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2025/10/23/ha-ancora-senso-imparare-le-lingue-con-duolingo/</guid>
      <description>&lt;p&gt;Imparare una lingua costa fatica: bisogna imparare i vocaboli, studiare la grammatica, ripetere all’infinito. E poi, appena se ne sa un po&amp;rsquo;, si deve iniziare a leggere, ascoltare, parlare con gli altri. Insomma, non è uno scherzo.&lt;/p&gt;&#xA;&lt;p&gt;In passato era ancora peggio. Si studiava su dei volumoni pieni zeppi di regole, fatti apposta per farti odiare la lingua. Il mio libro di inglese del liceo dedicava una quindicina di pagine solo all&amp;rsquo;uso dell&amp;rsquo;articolo determinativo &amp;ldquo;the&amp;rdquo;. Non ho mai letto una riga di quel libro.&lt;/p&gt;&#xA;&lt;p&gt;Per fortuna c&amp;rsquo;erano i corsi con i dischi o le cassette. Alle medie avevo imparato l&amp;rsquo;inglese proprio con uno di questi, un corso del Reader&amp;rsquo;s Digest prestato da uno zio. Doveva essere buono, perché alla fine riuscivo a leggere e a parlare discretamente in inglese.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/6169764a-9465-4fc7-8061-77a32f2b9459.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://www.subito.it/libri-riviste/l-inglese-d-oggi-selezione-dal-reader-s-digest-milano-614454764.htm&#34;&gt;subito.it&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Non l&amp;rsquo;ho fatto per motivi nobili, ma solo perché volevo leggere in anteprima i fumetti originali di SpiderMan e dei Fantastici Quattro che trovavo, molto faticosamente, in una edicola del centro.&lt;/p&gt;&#xA;&lt;p&gt;Altri tempi! Oggi ci sono una montagna di app che sostengono di poter insegnare le lingue, da quelle classiche come l&amp;rsquo;inglese, il francese o lo spagnolo, a lingue più esotiche come il finlandese, il cinese, il giapponese o il coreano, e fino a vere chicche come il navajo, l&amp;rsquo;hawaiano o perfino il klingon.&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;app più famosa è senza dubbio &lt;a href=&#34;https://www.duolingo.com/&#34;&gt;Duolingo&lt;/a&gt;, &amp;ldquo;&lt;em&gt;Il metodo gratuito, efficace e divertente per imparare le lingue!&lt;/em&gt;&amp;rdquo;, che ha scalzato dal trono il venerando &lt;a href=&#34;https://www.rosettastone.com/&#34;&gt;Rosetta Stone&lt;/a&gt;. Ma basta fare un giro sull&amp;rsquo;App Store di iOS (o su Google Play per gli utenti Android) per trovane a decine, da &lt;a href=&#34;https://www.babbel.com/&#34;&gt;Babbel&lt;/a&gt; a &lt;a href=&#34;https://lingvist.com/&#34;&gt;Lingvist&lt;/a&gt;, a &lt;a href=&#34;https://www.busuu.com/&#34;&gt;Busuu&lt;/a&gt;, &lt;a href=&#34;https://www.memrise.com/&#34;&gt;Memrise&lt;/a&gt;, &lt;a href=&#34;https://www.mondly.com/&#34;&gt;Moondly&lt;/a&gt;, &lt;a href=&#34;https://www.mosalingua.com/&#34;&gt;Mosalingua&lt;/a&gt;, &amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Ma è proprio così? Si può davvero imparare una lingua studiando per qualche minuto al giorno sul cellulare? E soprattutto, ha ancora senso farlo con Duolingo?&lt;/p&gt;&#xA;&lt;h4 id=&#34;quattro-anni-con-duolingo&#34;&gt;Quattro anni con Duolingo&lt;/h4&gt;&#xA;&lt;p&gt;Ho usato Duolingo ogni giorno per quattro anni filati per studiare il tedesco. E un po&amp;rsquo; devo averlo imparato, tanto che ho superato l&amp;rsquo;esame del &lt;a href=&#34;https://www.goethe.de/ins/it/it/spr/kon/stu.html&#34;&gt;livello A2&lt;/a&gt;. Ma, lo dico subito, se dovessi ricominciare oggi non lo rifarei.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/IMG_2405.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/IMG_2405-small.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h5 id=&#34;qualche-luce&#34;&gt;Qualche luce&lt;/h5&gt;&#xA;&lt;p&gt;Non c&amp;rsquo;è dubbio, Duolingo è carino, è divertente, è un appuntamento giornaliero piacevole. Il più grosso punto a favore è che &lt;strong&gt;non si concentra sulla grammatica fine a sé stessa&lt;/strong&gt;, ma la insegna tramite l&amp;rsquo;utilizzo pratico della lingua, mettendo le regole grammaticali in secondo piano. In generale funziona, anche se ogni tanto sarebbe utile approfondire certe regole più complesse.&lt;/p&gt;&#xA;&lt;p&gt;Altro pregio è che &lt;strong&gt;si può decidere autonomamente quanto tempo dedicare allo studio&lt;/strong&gt;. Io ne ho sempre dedicato poco, diciamo 10-15 minuti al giorno, infatti dopo quattro anni sono ancora all&amp;rsquo;inizio del livello B1 e a questo ritmo mi ci vorrebbero altri due anni per finirlo.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Infine c&amp;rsquo;è l&amp;rsquo;aspetto ludico. Come dicevo, &lt;strong&gt;Duolingo è piacevole da usare ed è perfino divertente&lt;/strong&gt;, e questo costituisce senza dubbio uno forte stimolo a prendere in mano l&amp;rsquo;app ogni giorno. Anche la sfida di mantenere la propria &lt;em&gt;striscia&lt;/em&gt; di lezioni consecutive aiuta a seguire le lezioni con regolarità.&lt;/p&gt;&#xA;&lt;h5 id=&#34;e-tante-ombre&#34;&gt;E tante ombre&lt;/h5&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ma l&amp;rsquo;aspetto ludico costituisce anche uno dei maggiori difetti di Duolingo&lt;/strong&gt;. Perché se si esagera e ci si fa coinvolgere troppo nella sfida a colpi di punti XP con gli altri concorrenti, quello che doveva essere un momento di studio rilassato diventa una corsa ad acchiappare quanti più punti possibile, per salire sempre più su nel ranking globale. Proprio come in un videogioco.&lt;/p&gt;&#xA;&lt;p&gt;È un errore che ho fatto anch&amp;rsquo;io. Ho usato trucchi e mezzucci di ogni tipo, riuscendo ad arrivare fino al terzo posto della &lt;em&gt;Lega Diamante&lt;/em&gt;, il livello più alto e prestigioso.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/IMG_2406.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/IMG_2406-small.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Poi sono rinsavito e ho detto basta: ho disattivato il mio profilo pubblico e ho perso ogni contatto con gli &lt;em&gt;amici&lt;/em&gt; e (soprattutto) con le competizioni. Perché facendo così non imparavo il tedesco, giocavo e basta. E infatti da quel momento in poi le cose sono andate molto meglio.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Anche l&amp;rsquo;app non è il massimo&lt;/strong&gt;: ogni tanto va in crash e perde i progressi fatti nella lezione. Altre volte non riconosce le parole che ho appena pronunciato, ma si porta avanti e scrive già quelle che non ho ancora detto. Ogni tanto non si riesce a chiudere lo spot pubblicitario e l&amp;rsquo;unico modo per andare avanti è riavviare l&amp;rsquo;applicazione. Non a caso gli sviluppatori la aggiornano di continuo, quasi sempre per correggere dei bug.&lt;/p&gt;&#xA;&lt;p&gt;Per rimanere all&amp;rsquo;app, è incomprensibile che &lt;strong&gt;non si possa tornare indietro durante una lezione&lt;/strong&gt;, per rivedere un esercizio precedente, per ricordare un vocabolo nuovo e così via. È come se leggendo un libro sul Kindle non potessi rivedere le pagine che ho già letto. Capisco che sviluppatori vogliano evitare che si cambino le risposte (ma sarebbe facile impedirlo), ma dal punto di vista didattico è una pessima scelta.&lt;/p&gt;&#xA;&lt;p&gt;E poi c&amp;rsquo;è la questione dell&amp;rsquo;impegno limitato, che significa che &lt;strong&gt;si impara piuttosto lentamente&lt;/strong&gt;. Se avessi seguito un corso tradizionale sarei arrivato al B2 in due anni, con Duolingo ce ne sono voluti quasi quattro. Va (ri)detto, però, che questo è anche un pregio perché, se non si ha una motivazione forte, è difficile riuscire a dedicare parecchio tempo ogni giorno allo studio di una lingua (e non solo quella).&lt;/p&gt;&#xA;&lt;p&gt;Ma l&amp;rsquo;aspetto di gran lunga peggiore di Duolingo è senza dubbio la &lt;strong&gt;continua modifica dell&amp;rsquo;organizzazione del corso&lt;/strong&gt;. Anni fa ci fu uno stravolgimento totale della struttura delle lezioni, che generò tanta confusione e una valanga di critiche.&lt;/p&gt;&#xA;&lt;p&gt;Ma queste non hanno fermato gli sviluppatori, che ogni tanto cambiano  qualcosa e zac!, i 20 gruppi (&lt;em&gt;Unit&lt;/em&gt;) da 10 lezioni l&amp;rsquo;uno a cui ti eri abituato diventano improvvisamente 40 gruppi da 5 lezioni ciascuno. Ma fra un mese, chissà, diventeranno 30 gruppi da 8 lezioni o 60 da 4. Questi cambiamenti periodici sono molto fastidiosi, un po&amp;rsquo; come quando si deve cambiare strada ogni giorno a causa di nuovi lavori in corso.&lt;/p&gt;&#xA;&lt;p&gt;Anche perché &lt;strong&gt;non si capisce il motivo di queste continue modifiche&lt;/strong&gt;. Capisco che gli sviluppatori vogliano migliorare il codice, aggiornare l&amp;rsquo;interfaccia, aggiungere delle nuove funzioni qui e là. Ma Duolingo è un corso di lingue, non è &lt;em&gt;rocket science&lt;/em&gt; che evolve quotidianamente o quasi. E anche se dietro l&amp;rsquo;applicazione ci fossero degli studi sofisticati sul modo migliore per insegnare una lingua (ma sarà davvero così?), non credo proprio che questi studi progrediscano così velocemente da richiedere dei continui stravolgimenti dei corsi.&lt;/p&gt;&#xA;&lt;h4 id=&#34;prima-lia&#34;&gt;Prima l&amp;rsquo;IA&lt;/h4&gt;&#xA;&lt;p&gt;Da qualche mese, seguendo la moda corrente, il &lt;a href=&#34;https://www.theverge.com/news/657594/duolingo-ai-first-replace-contract-workers&#34;&gt;management di Duolingo ha messo al primo posto l&amp;rsquo;IA&lt;/a&gt;, decidendo di &amp;ldquo;&lt;em&gt;sostituire il processo di creazione dei contenuti lento e manuale con uno basato sull&amp;rsquo;intelligenza artificiale&lt;/em&gt;&amp;rdquo; (per citare il cofondatore e CEO di Duolingo, Luis von Ahn).&lt;/p&gt;&#xA;&lt;p&gt;A suo dire lo fa solo per dovere, per &amp;ldquo;&lt;em&gt;fornire questi contenuti ai nostri studenti il prima possibile&lt;/em&gt;&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ma tanti utenti non l&amp;rsquo;hanno presa bene&lt;/strong&gt;. Non solo perché, per una azienda che proclama di avere &amp;ldquo;&lt;em&gt;molto a cuore i propri dipendenti&lt;/em&gt;&amp;rdquo; e poi sbatte fuori di punto in bianco i collaboratori esterni, tutto questo appare ben poco etico e somiglia molto a quello che ha fatto Elon Musk con Twitter.&lt;/p&gt;&#xA;&lt;p&gt;Ma anche perché questo significa in realtà che &lt;strong&gt;la produzione di contenuti di qualità&lt;/strong&gt;, magari più lenta ma anche più precisa ed affidabile, &lt;strong&gt;è diventata secondaria&lt;/strong&gt; rispetto alla moltiplicazione e alla estensione dei corsi e, di conseguenza, dei margini di profitto.&lt;/p&gt;&#xA;&lt;p&gt;Non a caso, subito dopo l&amp;rsquo;annuncio, l&amp;rsquo;azienda ha &lt;a href=&#34;https://techcrunch.com/2025/04/30/duolingo-launches-148-courses-created-with-ai-after-sharing-plans-to-replace-contractors-with-ai/&#34;&gt;più che raddoppiato l&amp;rsquo;offerta di corsi&lt;/a&gt;. E chissenefrega se le traduzioni sono spesso fatte con i piedi (virtuali).&lt;/p&gt;&#xA;&lt;h4 id=&#34;ma-prima-anche-i-soldi&#34;&gt;Ma prima anche i soldi&lt;/h4&gt;&#xA;&lt;p&gt;Cory Doctorow è diventato famoso per aver inventato il concetto di &lt;a href=&#34;https://gizmodo.com/enshittification-is-officially-the-biggest-word-of-the-year-2000530173&#34;&gt;enshittification&lt;/a&gt;, descritto molto bene in un &lt;a href=&#34;https://www.theguardian.com/technology/2025/oct/05/way-past-its-prime-how-did-amazon-get-so-rubbish&#34;&gt;recente articolo&lt;/a&gt; sul Guardian: all&amp;rsquo;inizio le piattaforme web (o le applicazioni che ne derivano) trattano gli utenti con i guanti bianchi, coccolandoli per conquistarne la fiducia. Poi iniziano a favorire i clienti paganti, a scapito di tutti gli altri. Alla fine, per monetizzare sempre di più, finiscono per abusare anche dei clienti paganti, diventando solo dei giganteschi mucchi di&amp;hellip; merda (l&amp;rsquo;ent-shit-tification, appunto).&lt;/p&gt;&#xA;&lt;p&gt;Di esempio se ne potrebbero fare a iosa, io mi limiterò a citare &lt;a href=&#34;https://cursor.com/&#34;&gt;Cursor&lt;/a&gt;, salutato come l&amp;rsquo;editor definitivo per sviluppare con l&amp;rsquo;aiuto dell&amp;rsquo;IA e diventato in un paio di anni una piovra che &lt;a href=&#34;https://medium.com/realworld-ai-use-cases/wtf-is-cursor-doing-with-its-pricing-i-have-to-swap-at-this-rate-63681001a08e&#34;&gt;divora i propri stessi utenti (paganti)&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Quello che è successo a Duolingo è lo stesso: &lt;a href=&#34;https://web.archive.org/web/20130804201050/http://www.duolingo.com/&#34;&gt;all&amp;rsquo;inizio l&amp;rsquo;applicazione era gratuita e non aveva pubblicità&lt;/a&gt;, e i suoi sviluppatori avevano promesso che sarebbe rimasta tale per sempre.&lt;/p&gt;&#xA;&lt;p&gt;Dopo un po&amp;rsquo; hanno iniziato a chiedere con garbo una piccola quota mensile, utile per accedere a qualche funzione extra ma non indispensabile per imparare.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Poi il management ha preso il sopravvento&lt;/strong&gt;, e ha iniziato a rendere sempre più difficile la vita agli utenti che si ostinavano a &lt;a href=&#34;https://it.duolingo.com/super&#34;&gt;rimanere sul piano gratuito&lt;/a&gt;, togliendo loro delle funzioni essenziali, come la possibilità di ripassare o la correzione degli errori, e rendendole accessibili solo a chi sceglieva il piano a pagamento.&lt;/p&gt;&#xA;&lt;p&gt;Infine, da qualche mese hanno sostituito i vecchi &lt;a href=&#34;https://duolingo.fandom.com/wiki/Hearts&#34;&gt;Cuori&lt;/a&gt; con l&amp;rsquo;&lt;a href=&#34;https://blog.duolingo.com/duolingo-energy/&#34;&gt;Energia&lt;/a&gt;, rappresentata dall&amp;rsquo;icona di una batteria che si scarica. Una fregatura scientifica.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Fino a luglio, prima di una lezione si avevano a disposizione fino a 5 Cuori. Ad ogni errore si perdeva un cuore, che si poteva riguadagnare aspettando alcune ore, guardando uno spot pubblicitario oppure, fino a un paio di anni fa, completando una lezione di &amp;ldquo;pratica&amp;rdquo;.&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; Questo significava che, &lt;strong&gt;chi faceva pochi errori riusciva a fare un numero praticamente illimitato di lezioni&lt;/strong&gt;, sorbendosi al più qualche spot extra.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Con l&amp;rsquo;Energia non è più possibile&lt;/strong&gt;. Ora si hanno 25 unità di Energia, e ad ogni risposta (non ad ogni errore, si badi bene!) si perde una unità. Dopo un certo numero di risposte senza errori si guadagna qualche unità di Energia, ma mai troppa. Il meccanismo è tale che si possono fare non più di due lezioni senza errori, tre se si è molto fortunati, prima di aver bisogno di ricaricare l&amp;rsquo;Energia. Ovviamente l&amp;rsquo;energia si ricarica solo con gli spot, mica ripassando!&lt;/p&gt;&#xA;&lt;p&gt;E se sei così stupido da voler ripassare un gruppo di lezioni con uno dei test di verifica che ti fa raggiungere lo stato &lt;em&gt;Leggendario&lt;/em&gt;, ad ogni domanda perdi ben due unità di Energia e, anche se non fai errori, ti ritrovi alla fine con la batteria quasi scarica (come  si vede nell&amp;rsquo;immagine qui sotto).&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/IMG_2413.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/IMG_2413-small.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;È chiaro che questo meccanismo è una &lt;strong&gt;spinta fortissima a passare ai piani a pagamento&lt;/strong&gt; Super Duolingo e il recente Duolingo Max dove, andando contro tutte le leggi della fisica, l&amp;rsquo;Energia (o il numero di Cuori) è illimitata. In aggiunta con questi piani non si è costretti a sorbirsi la pubblicità, ma anche questo è vero fino ad un certo punto perché gli utenti del piano Super Duolingo devono guardare di continuo degli spot che pubblicizzano Duolingo Max.&lt;/p&gt;&#xA;&lt;h4 id=&#34;quanto-costa-super-duolingo&#34;&gt;Quanto costa Super Duolingo?&lt;/h4&gt;&#xA;&lt;p&gt;Bella domanda, visto che &lt;strong&gt;è difficilissimo sapere quanto costa Super Duolingo o Duolingo Max&lt;/strong&gt;. Se si va sul sito si trova solo una &lt;a href=&#34;https://www.duolingo.com/super&#34;&gt;paginetta molto carina&lt;/a&gt; ma nella quale, a differenza di qualunque altro servizio a pagamento, non compare nessun prezzo.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/super-duolingo.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;L&amp;rsquo;unico modo per sapere quanto costa è iniziare la settimana di prova gratuita. Dopo un lungo processo di &lt;em&gt;onboarding&lt;/em&gt; e una prima lezione nella lingua scelta, si arriva alla schermata qui sotto, che impariamo che Super Duolingo costa di base 10.99 euro al mese. Se si paga annualmente il costo scende a 6.25 euro al mese, per un totale di 75 euro all&amp;rsquo;anno. Infine, il piano Famiglia annuale di Super Duolingo costa 8.84 euro al mese, cioè 106 euro all&amp;rsquo;anno, e può essere condiviso con altre 5 persone.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/super-duolingo-plans-euro.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;I &lt;a href=&#34;https://talkreal.org/en/blog/duolingo-costs/&#34;&gt;prezzi in dollari sono molto simili&lt;/a&gt;: Super Duolingo base costa 12.99 dollari al mese. Pagando annualmente il costo scende a 6.99 dollari al mese, cioè 83.88 dollari all&amp;rsquo;anno, mentre  il piano Famiglia annuale costa 9.99 dollari al mese, equivalenti a 119.88 dollari all&amp;rsquo;anno.&lt;/p&gt;&#xA;&lt;p&gt;Su Duolingo Max si trovano ancora meno informazioni, ma i prezzi dovrebbero aggirarsi intorno ai 30 dollari al mese e 168 dollari all&amp;rsquo;anno. Secondo me (e non solo) non ha senso scegliere Duolingo Max che, rispetto a Super Duolingo, offre solo qualche aiutino e la possibilità di dialogare con un avatar artificialmente intelligente. Una cosa che, lo dico per averla provata personalmente, è molto più imbarazzante di dialogare con un insegnante in carne ed ossa.&lt;/p&gt;&#xA;&lt;p&gt;A prima vista il piano Super Duolingo annuale è molto conveniente, e lo è ancora di più il piano Famiglia, anche se condiviso con un solo altro utente. In più ci sono spesso delle offerte con sconti molto consistenti. &lt;strong&gt;Ma non è l&amp;rsquo;aspetto economica la cosa più importante da prendere in considerazione&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;ha-ancora-senso-usare-duolingo&#34;&gt;Ha ancora senso usare Duolingo?&lt;/h4&gt;&#xA;&lt;p&gt;Non è bello tradire senza vergogna gli utenti che ci hanno fatto nascere e crescere.&lt;/p&gt;&#xA;&lt;p&gt;Quando Duolingo è nato, nel 2011, &lt;strong&gt;gli sviluppatori avevano promesso solennemente che sarebbe stato gratuito e senza pubblicità, per sempre&lt;/strong&gt;. So bene che sul web niente è per sempre, però è anche vero che sono queste promesse che hanno contribuito a creare una comunità attiva di utenti che hanno fatto crescere e fiorire Duolingo. Disattendere queste promesse equivale a dare uno schiaffo in faccia a chi si è fidato.&lt;/p&gt;&#xA;&lt;div style = &#34;border-style: solid; border-width: 0px 0px 0px 12px; border-color: #03a87c; background-color: #defef6; padding: 1em; color:black; font-size:100%;&#34;&gt;&#xA;&lt;p&gt;Duolingo nasce tramite un finanziamento della&lt;a href=&#34;https://www.nsf.gov/science-matters/nsf-gave-duolingo-its-wings&#34;&gt; National Science Foundation&lt;/a&gt;, soldi pubblici quindi. L&amp;rsquo;idea iniziale si basava sul &lt;a href=&#34;https://www.forbes.com/sites/parmyolson/2014/01/22/crowdsourcing-capitalists-how-duolingos-founders-offered-free-education-to-millions/&#34;&gt;concetto di &lt;em&gt;crowdsourcing&lt;/em&gt;&lt;/a&gt;: gli utenti imparavano (gratuitamente) una lingua mentre aiutavano a tradurre i contenuti dei siti web. Tutti i costi venivano pagati dai gestori dei siti che usufruivano del servizio, perché &amp;ldquo;&lt;em&gt;l&amp;rsquo;educazione gratuita cambierà davvero il mondo&lt;/em&gt;&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Con il senno di poi era una idea bislacca, visto che in pochi anni i sistemi di traduzione basati sull&amp;rsquo;intelligenza artificiale sono diventati così buoni da rendere inutile tutto quel lavorio manuale che sembrava così geniale.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/br&gt;&#xA;&lt;p&gt;Il valore di Duolingo stava soprattutto in questa comunità di utenti, che lo diffondeva con il passaparola, che contribuiva a migliorarlo, che animava le discussioni nel forum, in altre parole che lo faceva sentire una &lt;em&gt;cosa viva&lt;/em&gt; e non un semplice prodotto. Il management di Duolingo sta buttando via tutto questo in nome del dio denaro. Tanto per fare un esempio, i forum sono stati chiusi perché fornivano aiuto gratuito agli utenti in difficoltà, aiuto che ora è disponibile solo con il piano top, Duolingo Max.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ma Duolingo non ha solo ha tradito lo spirito originale diventando &lt;em&gt;anche&lt;/em&gt; a pagamento&lt;/strong&gt;. Ha anche &lt;strong&gt;reso quasi inusabile il tanto sbandierato piano &lt;em&gt;gratuito per sempre&lt;/em&gt;&lt;/strong&gt;, che ora è infarcito di pubblicità e ha perso molte funzioni essenziali disponibili solo nelle versioni Super e Max.&lt;/p&gt;&#xA;&lt;p&gt;Io posso capire benissimo che chi sviluppa un&amp;rsquo;app abbia bisogno di soldi per gestire l&amp;rsquo;infrastruttura, pagare gli sviluppatori, e così via. Ma allora deve scegliere. Può scegliere di offrire una app gratuita ma con meno funzioni di quella a pagamento. Oppure può offrire una app gratuita pienamente funzionale ma supportata dagli spot pubblicitari, mentre quella a pagamento ne è priva.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ma non può fare entrambe le cose allo stesso tempo&lt;/strong&gt;: togliere tante funzioni utili per imparare una lingua e contemporaneamente ficcarci dentro un sacco di pubblicità. E, come se tutto questo non bastasse, peggiorare la qualità dei corsi.&lt;/p&gt;&#xA;&lt;p&gt;Perché non c&amp;rsquo;è dubbio che, dopo tutti i cambiamenti degli ultimi anni, anche &lt;strong&gt;la qualità dei corsi di lingue offerti da Duolingo sia diminuita&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;è meno varietà di frasi da tradurre, e le traduzioni diventano sempre più letterali, parola per parola, forse perché non c&amp;rsquo;è più nessun &lt;em&gt;essere umano&lt;/em&gt; che inserisce nel database delle soluzioni delle alternative meno meccaniche.  Negli esercizi di traduzione, il numero di parole fra cui scegliere è più ridotto, e spesso si tratta solo di metterle nell&amp;rsquo;ordine giusto, senza dover selezionare le parole corrette. Anche le storielle da leggere sembrano sempre quelle, sono mesi che non mi viene proposta una lettura nuova.&lt;/p&gt;&#xA;&lt;p&gt;Ma anche la nuova struttura dei corsi contribuisce a questo decadimento qualitativo. Quando ho iniziato io, quattro anni fa, i corsi erano strutturato in un modo più tradizionale, con lezioni focalizzate su argomenti ben definiti (&lt;em&gt;Skill&lt;/em&gt;), dalle nozioni di base al cibo, agli animali, ai viaggi e così via. Gli Skill erano organizzati in modo parallelo, per cui in un dato giorno si poteva decidere di fare una lezione sui plurali e una sul cibo, mentre il giorno dopo ci si concentrava sugli animali.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/Skill_advancement_-_percentage.png&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://duolingo.fandom.com/wiki/Skill&#34;&gt;Duolingo Wiki&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Una volta completato uno Skill, un indicatore numerico a forma di corona forniva una indicazione visuale della necessità di ripetere periodicamente quello Skill, in modo da rafforzare la conoscenza sull&amp;rsquo;argomento.&lt;/p&gt;&#xA;&lt;p&gt;Tutto questo è scomparso nel 2022 con l&amp;rsquo;introduzione del &lt;em&gt;Percorso&lt;/em&gt; al posto degli Skill. Il Percorso organizza l&amp;rsquo;insegnamento in modo lineare e bisogna per forza completare un dato gruppo di lezioni (quello che nell&amp;rsquo;immagine qui sotto è colorato in viola) prima di passare al gruppo successivo (in grigio chiaro, ad indicare che è ancora bloccato). Non c&amp;rsquo;è niente che impedisce di tornare indietro nel Percorso già fatto, ripetendo una o più lezioni. Ma è anche vero che non c&amp;rsquo;è nessuno stimolo a farlo, come succedeva invece con il vecchio sistema con le corone.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/IMG_2414.png&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-10-23-ma-si-puo-davvero-imparare-una-lingua-con-duolingo/IMG_2414-small.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;La struttura attuale a Percorso assomiglia ai livelli di un gioco, dove bisogna completare un dato livello prima di passare al successivo. Ed è evidente che questa scelta mette in primo piano &lt;strong&gt;l&amp;rsquo;aspetto ludico del programma rispetto alle sue finalità didattiche&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Come se non bastasse, &lt;strong&gt;le stesse lezioni sembrano molto più meccaniche e ripetitive di prima.&lt;/strong&gt; Non so dire con certezza se anche un corso tradizionale come il tedesco che seguo io sia stato già &lt;em&gt;avvelenato&lt;/em&gt; dai contenuti generati dall&amp;rsquo;IA, ma l&amp;rsquo;impressione comunque è quella. Non oso pensare a quello che succede nei corsi più recenti e meno popolari (e io che volevo imparare l&amp;rsquo;hawaiano&amp;hellip; 🤣)&lt;/p&gt;&#xA;&lt;p&gt;E infine c&amp;rsquo;è il &lt;strong&gt;rapporto fra costi e benefici&lt;/strong&gt;. In quattro anni su Duolingo ho completato i &lt;a href=&#34;https://www.goethe.de/ins/it/it/spr/kon/stu.html&#34;&gt;livelli A1 e A2&lt;/a&gt;, diciamo che ho impiegato due anni per ciascun livello . Ho sempre usufruito del piano gratuito perché, facendo pochi errori, i cinque Cuori disponibili mi bastavano e avanzavano. E se anche qualche volta perdevo tutti i Cuori, li potevo recuperare con qualche lezione di ripasso, che non fa mai male.&lt;/p&gt;&#xA;&lt;p&gt;Ma oggi non potrei più fare lo stesso, a meno di non perdere un sacco di tempo a guardare degli insulsi spot pubblicitari, una cosa che distrae e fa passare la voglia di fare una lezione.&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;alternativa sarebbe usufruire del piano Super Duolingo, che nel mio scenario di uso significherebbe spendere 150 euro per ogni nuovo livello linguistico. Non è molto, se si tiene conto che un &lt;a href=&#34;https://www.goethe.de/ins/it/it/spr/kur/fer.html&#34;&gt;corso online tradizionale&lt;/a&gt; può costare tre o quattro volte di più. Ma è moltissimo se si tiene conto che la &lt;em&gt;gamificazione&lt;/em&gt; spinta degli ultimi anni, associata all&amp;rsquo;uso pervasivo dell&amp;rsquo;IA ha trasformato Duolingo &lt;strong&gt;da un programma per imparare le lingue a un gioco basato sulle lingue&lt;/strong&gt;. E per un gioco come questo 150 euro sono troppi.&lt;/p&gt;&#xA;&lt;h4 id=&#34;conclusioni&#34;&gt;Conclusioni&lt;/h4&gt;&#xA;&lt;p&gt;Se imparare una lingua è solo un hobby o una scusa per distrarsi un po&amp;rsquo;, usare gratuitamente un&amp;rsquo;app come Duolingo può ancora andare bene. Ma se si vuole fare sul serio, passare alla versione a pagamento Super Duolingo ha poco senso.&lt;/p&gt;&#xA;&lt;p&gt;Per fortuna oggi ci sono parecchie &lt;a href=&#34;https://talkreal.org/en/blog/duolingo-alternatives/&#34;&gt;alternative migliori&lt;/a&gt; a Duolingo, basta fare un giro su &lt;a href=&#34;https://talkreal.org/en/&#34;&gt;questo sito specializzato&lt;/a&gt; per trovare recensioni e consigli in quantità. Da parte mia, io punterei senza dubbio &lt;a href=&#34;https://it.rosettastone.com/&#34;&gt;Rosetta Stone&lt;/a&gt;, che insegna le lingue in modo intuitivo, proprio come un bambino impara la lingua madre.&lt;/p&gt;&#xA;&lt;p&gt;È vero, Rosetta Stone costa qualcosa in più di Super Duolingo, ma usa un metodo ben assestato e ha una &lt;a href=&#34;https://it.rosettastone.com/acquista/&#34;&gt;struttura di prezzi chiara ed evidente&lt;/a&gt; fin dal primo momento. Senza contare che ci sono spesso offerte vantaggiosissime, che permettono di acquistare l&amp;rsquo;accesso perpetuo a tutti corsi di lingue spendendo poco di più di due anni di Super Duolingo.&lt;/p&gt;&#xA;&lt;p&gt;Io in questo momento sto seguendo un corso online tradizionale al livello B1, con insegnante madrelingua in carne ed ossa (seppur a distanza), &lt;a href=&#34;https://deutschfuchs.de/&#34;&gt;piattaforma di e-learning&lt;/a&gt;, compagni di corso con cui interagire e non ho tempo di fare altro. Ma appena il corso sarà finito, credo proprio che un giretto con Rosetta Stone me lo farò.&lt;/p&gt;&#xA;&lt;p&gt;Nel frattempo continuerò a giocherellare per qualche minuto al giorno con Duolingo, più per abitudine e per ripassare quello che ho già fatto che per imparare cose nuove. Quattro anni di vita insieme non si dimenticano facilmente.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;C&amp;rsquo;è gente che si vanta di aver &lt;a href=&#34;https://medium.com/swlh/i-completed-italian-on-duolingo-was-it-honestly-worth-doing-26b4c2df9018&#34;&gt;completato un &amp;ldquo;corso&amp;rdquo; in un anno o meno&lt;/a&gt;. In realtà, escludendo i soliti cretini su YouTube, si riferiscono al solo &amp;ldquo;livello&amp;rdquo; A1 e non all&amp;rsquo;intero corso che, per il tedesco è strutturato su tre livelli, A1, A2 e B1. Studiando solo una mezz&amp;rsquo;ora al giorno si può tranquillamente completare l&amp;rsquo;A1 in un anno.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;L&amp;rsquo;Energia per ora è attiva solo per iOS, mentre per ora gli utenti Android sono stati esentati da questo cambiamento, così come chi usa l&amp;rsquo;applicazione web. Se questo è un test A/B su larga scala non ha molto senso.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;C&amp;rsquo;era anche la possibilità di recuperare i 5 Cuori pagando un certo numero di &amp;ldquo;gemme&amp;rdquo;, esattamente come in tanti giochi &lt;em&gt;freemium&lt;/em&gt;.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
  </channel>
</rss>
