<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>b0sh.net</title>
	<atom:link href="https://www.b0sh.net/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.b0sh.net</link>
	<description>Proudly debugging the system since 1981</description>
	<lastBuildDate>Tue, 07 Jul 2026 20:11:29 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
<site xmlns="com-wordpress:feed-additions:1">7617468</site>	<item>
		<title>Il punto di svolta: quando i modelli locali hanno iniziato a fare paura al cloud</title>
		<link>https://www.b0sh.net/2026/07/il-punto-di-svolta-quando-i-modelli-locali-hanno-iniziato-a-fare-paura-al-cloud/</link>
					<comments>https://www.b0sh.net/2026/07/il-punto-di-svolta-quando-i-modelli-locali-hanno-iniziato-a-fare-paura-al-cloud/#respond</comments>
		
		<dc:creator><![CDATA[bosh]]></dc:creator>
		<pubDate>Tue, 07 Jul 2026 20:11:28 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Agent A1]]></category>
		<category><![CDATA[closed source AI]]></category>
		<category><![CDATA[cloud AI]]></category>
		<category><![CDATA[coding AI]]></category>
		<category><![CDATA[debug AI]]></category>
		<category><![CDATA[GGUF]]></category>
		<category><![CDATA[hardware consumer]]></category>
		<category><![CDATA[LLM locali]]></category>
		<category><![CDATA[MoE]]></category>
		<category><![CDATA[ollama]]></category>
		<category><![CDATA[open source AI]]></category>
		<category><![CDATA[qwen]]></category>
		<guid isPermaLink="false">https://www.b0sh.net/?p=4205</guid>

					<description><![CDATA[Negli ultimi mesi ho notato un cambio di passo netto nella qualità dei modelli LLM eseguibili in locale. Non è la prima volta che scrivo di questo argomento su questo blog (chi segue il tag Ollama lo sa bene), ma stavolta la sensazione è diversa: non si tratta più di rincorrere il cloud con modelli [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Negli ultimi mesi ho notato un cambio di passo netto nella qualità dei modelli LLM eseguibili in locale. Non è la prima volta che scrivo di questo argomento su questo blog (chi segue il <a rel="noreferrer noopener" target="_blank" href="https://www.b0sh.net/tag/ollama/">tag Ollama</a> lo sa bene), ma stavolta la sensazione è diversa: non si tratta più di rincorrere il cloud con modelli &#8220;dignitosi per essere locali&#8221;, ma di avvicinarsi seriamente a prestazioni che fino a poco tempo fa erano appannaggio esclusivo dei giganti closed source.</p>



<h2 class="wp-block-heading">Qwen 3.6 31B: il primo vero salto di qualità</h2>



<p class="wp-block-paragraph">Il modello che per me ha segnato la svolta è <strong>Qwen 3.6 31B</strong>. Non è la potenza bruta in sé a colpire, quanto la qualità delle rielaborazioni che la community ha saputo tirarne fuori.</p>



<p class="wp-block-paragraph">Due versioni GGUF mi hanno impressionato particolarmente:</p>



<ul class="wp-block-list">
<li>La build di <strong>Unsloth</strong> (<a href="https://huggingface.co/unsloth/Qwen3.6-35B-A3B-GGUF" target="_blank" rel="noreferrer noopener">Qwen3.6-35B-A3B-GGUF</a>), solida e ben ottimizzata per l&#8217;inferenza locale.</li>



<li>La versione di <strong>ByteShape</strong> (<a href="https://huggingface.co/byteshape/Qwen3.6-35B-A3B-MTP-GGUF" target="_blank" rel="noreferrer noopener">Qwen3.6-35B-A3B-MTP-GGUF</a>), che sfrutta il Multi-Token Prediction con risultati sorprendenti.</li>
</ul>



<p class="wp-block-paragraph">Nei miei test di coding e debug, entrambe le versioni si comportano molto bene, specialmente se abbinate all&#8217;harness ufficiale <strong>Qwen Code</strong> (<a rel="noreferrer noopener" target="_blank" href="https://qwen.ai/qwencode">qwen.ai/qwencode</a>). La combinazione modello-tooling fa davvero la differenza: non basta un buon modello, serve un ecosistema che lo sappia sfruttare.</p>



<h2 class="wp-block-heading">Agent A1: quando il locale sfida (davvero) il cloud</h2>



<p class="wp-block-paragraph">Se Qwen 3.6 mi aveva già convinto, oggi ho provato qualcosa che alza ulteriormente l&#8217;asticella: <strong>Agent A1</strong> di InternScience (<a rel="noreferrer noopener" target="_blank" href="https://huggingface.co/InternScience/Agents-A1">huggingface.co/InternScience/Agents-A1</a>). I benchmark che presenta lo pongono a un livello paragonabile a modelli closed source molto più grandi, e non è la prima volta che vedo un modello &#8220;piccolo&#8221; (in senso relativo) tenere testa a giganti da centinaia di miliardi di parametri.</p>



<p class="wp-block-paragraph">È il tipo di risultato che ti fa fermare un attimo e chiederti: dove sta andando davvero questo settore?</p>



<h2 class="wp-block-heading">La domanda da un milione (di dollari, letteralmente)</h2>



<p class="wp-block-paragraph">Questo mi porta alla domanda che mi frulla in testa da settimane: <strong>chi vincerà, alla fine, tra cloud e inferenza locale?</strong></p>



<p class="wp-block-paragraph">Da una parte, il cloud closed source vive ancora una fase &#8220;dorata&#8221; grazie ai capitali enormi investiti da attori come OpenAI, Anthropic e compagnia. Questo ha reso possibile offrire inferenza a prezzi vantaggiosi, spesso sussidiati, pur di conquistare quote di mercato. È un classico schema da economia digitale: brucia cassa oggi, guadagna posizione domani.</p>



<p class="wp-block-paragraph">Dall&#8217;altra parte, l&#8217;inferenza locale sta crescendo a una velocità sorprendente, ma per motivi completamente diversi: non capitali enormi, bensì ottimizzazione pura. Quantizzazione, tecniche come MTP, architetture MoE sempre più efficienti: tutto questo sta permettendo a hardware consumer di fare cose impensabili solo un paio di anni fa.</p>



<p class="wp-block-paragraph">Al momento, il cloud vince ancora, e probabilmente vincerà ancora per un po&#8217;. Ma la vera domanda è cosa succederà quando il mercato selezionerà un vincitore (o pochi vincitori) tra i provider closed source. In quel momento, chi resterà in piedi dovrà necessariamente far pagare l&#8217;inferenza a un prezzo che rifletta davvero i costi (e gli investimenti da recuperare). È lì che si aprirà la vera partita.</p>



<p class="wp-block-paragraph">Se a quel punto l&#8217;hardware consumer sarà abbastanza potente, e i modelli open abbastanza ottimizzati, avremo finalmente un&#8217;alternativa concreta e sostenibile al cloud a pagamento. Non lo so con certezza, ma spero che il ritmo di miglioramento dei modelli open continui così: non tanto per &#8220;battere&#8221; il cloud, quanto per garantire che un&#8217;alternativa esista sempre. Perché in un mercato senza alternative, alla fine, a pagare il conto siamo sempre noi.</p>
<p><a class="a2a_button_mastodon" href="https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F07%2Fil-punto-di-svolta-quando-i-modelli-locali-hanno-iniziato-a-fare-paura-al-cloud%2F&amp;linkname=Il%20punto%20di%20svolta%3A%20quando%20i%20modelli%20locali%20hanno%20iniziato%20a%20fare%20paura%20al%20cloud" title="Mastodon" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F07%2Fil-punto-di-svolta-quando-i-modelli-locali-hanno-iniziato-a-fare-paura-al-cloud%2F&amp;linkname=Il%20punto%20di%20svolta%3A%20quando%20i%20modelli%20locali%20hanno%20iniziato%20a%20fare%20paura%20al%20cloud" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_copy_link" href="https://www.addtoany.com/add_to/copy_link?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F07%2Fil-punto-di-svolta-quando-i-modelli-locali-hanno-iniziato-a-fare-paura-al-cloud%2F&amp;linkname=Il%20punto%20di%20svolta%3A%20quando%20i%20modelli%20locali%20hanno%20iniziato%20a%20fare%20paura%20al%20cloud" title="Copy Link" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_flipboard" href="https://www.addtoany.com/add_to/flipboard?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F07%2Fil-punto-di-svolta-quando-i-modelli-locali-hanno-iniziato-a-fare-paura-al-cloud%2F&amp;linkname=Il%20punto%20di%20svolta%3A%20quando%20i%20modelli%20locali%20hanno%20iniziato%20a%20fare%20paura%20al%20cloud" title="Flipboard" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.b0sh.net%2F2026%2F07%2Fil-punto-di-svolta-quando-i-modelli-locali-hanno-iniziato-a-fare-paura-al-cloud%2F&#038;title=Il%20punto%20di%20svolta%3A%20quando%20i%20modelli%20locali%20hanno%20iniziato%20a%20fare%20paura%20al%20cloud" data-a2a-url="https://www.b0sh.net/2026/07/il-punto-di-svolta-quando-i-modelli-locali-hanno-iniziato-a-fare-paura-al-cloud/" data-a2a-title="Il punto di svolta: quando i modelli locali hanno iniziato a fare paura al cloud"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.b0sh.net/2026/07/il-punto-di-svolta-quando-i-modelli-locali-hanno-iniziato-a-fare-paura-al-cloud/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4205</post-id>	</item>
		<item>
		<title>BookmarkFox: resuscitare Delicious con Firefox e un po&#8217; di AI-assisted coding</title>
		<link>https://www.b0sh.net/2026/07/bookmarkfox-resuscitare-delicious-con-firefox-e-un-po-di-ai-assisted-coding/</link>
					<comments>https://www.b0sh.net/2026/07/bookmarkfox-resuscitare-delicious-con-firefox-e-un-po-di-ai-assisted-coding/#respond</comments>
		
		<dc:creator><![CDATA[bosh]]></dc:creator>
		<pubDate>Sun, 05 Jul 2026 17:45:15 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[BookmarkFox]]></category>
		<category><![CDATA[delicious]]></category>
		<category><![CDATA[Estensione Firefox]]></category>
		<category><![CDATA[GitHub SpecKit]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OpenCode]]></category>
		<category><![CDATA[self-hosted]]></category>
		<category><![CDATA[Social bookmarking]]></category>
		<guid isPermaLink="false">https://www.b0sh.net/?p=4193</guid>

					<description><![CDATA[Racconto di come ho sviluppato BookmarkFox, un'estensione Firefox open source per salvare e condividere segnalibri, usando GitHub SpecKit e DeepSeek per un workflow AI-assisted più strutturato.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">C&#8217;è un momento, per chi naviga il web da abbastanza tempo, in cui capisci che un servizio chiuso non è mai stato davvero sostituito. Per me quel servizio era <strong>Delicious</strong>.</p>



<p class="wp-block-paragraph">Chi se lo ricorda sa di cosa parlo: un modo semplice per salvare i segnalibri, taggarli, e condividerli con altri. Quando Delicious ha chiuso i battenti, ho passato anni a provare alternative — estensioni, servizi cloud, note app riadattate — senza trovare niente che replicasse quel flusso naturale: trovo un sito interessante, lo salvo con un click, lo condivido con chi mi segue. Alla fine ho deciso di risolvere il problema alla vecchia maniera: <strong>scrivendomi l&#8217;alternativa da solo</strong>.</p>



<p class="wp-block-paragraph">È nato così <strong><a rel="noreferrer noopener" target="_blank" href="https://github.com/b0sh-net/bookmarkFox">BookmarkFox</a></strong>, un&#8217;estensione per Firefox che comunica con un backend web per pubblicare i segnalibri. Niente di rivoluzionario nell&#8217;idea, ma è esattamente quello che mi serviva — e visto che non esisteva, l&#8217;ho costruito.</p>



<h2 class="wp-block-heading">Il problema: nessuna vera alternativa a Delicious</h2>



<p class="wp-block-paragraph">Le opzioni moderne per gestire segnalibri condivisibili sono o troppo pesanti (servizi enterprise di bookmarking/knowledge management) o troppo chiuse in un ecosistema (salvataggi legati a un singolo social o browser). Mancava qualcosa di leggero, personale, e soprattutto <strong>self-hosted</strong>: un&#8217;estensione che facesse una cosa sola, bene, e che mi lasciasse controllo pieno sui dati.</p>



<p class="wp-block-paragraph">BookmarkFox nasce da questa esigenza precisa: un&#8217;estensione Firefox minimale che pubblica i segnalibri su un backend che gestisco io, raggiungibile su <a rel="noreferrer noopener" target="_blank" href="https://bookmarkfox.b0sh.net/">bookmarkfox.b0sh.net</a>.</p>



<h2 class="wp-block-heading">Come ho lavorato: SpecKit invece del solito &#8220;vibe coding&#8221;</h2>



<p class="wp-block-paragraph">La parte che mi interessa raccontare di più, però, non è il &#8220;cosa&#8221; ma il &#8220;come&#8221;. Negli ultimi tempi ho sviluppato diversi progettini con l&#8217;aiuto di modelli AI locali o via API, e il pattern tipico è quello del prompt libero seguito da iterazioni a ruota libera. Funziona, ma con progetti che superano una certa complessità il modello perde il filo, e tu perdi tempo a rispiegare il contesto ogni volta.</p>



<p class="wp-block-paragraph">Per BookmarkFox ho voluto provare un approccio più strutturato, usando <strong><a rel="noreferrer noopener" target="_blank" href="https://github.github.com/spec-kit/">GitHub SpecKit</a></strong> insieme a <strong>OpenCode</strong>. L&#8217;idea di SpecKit è semplice ma efficace:</p>



<ul class="wp-block-list">
<li>Si parte da un prompt utente ad alto livello (l&#8217;idea del progetto).</li>



<li>SpecKit guida una fase di <strong>analisi dettagliata</strong>, trasformando l&#8217;idea grezza in una specifica vera e propria.</li>



<li>C&#8217;è una fase di <strong>clarification</strong>: il sistema pone domande specifiche per chiarire ambiguità prima di scrivere codice, invece di assumere e sbagliare.</li>



<li>Solo dopo la specifica viene <strong>suddivisa in task</strong> ben definiti, ognuno con un perimetro chiaro.</li>
</ul>



<p class="wp-block-paragraph">Il vantaggio pratico? Un modello <strong>non enorme</strong> — nel mio caso DeepSeek V4 Flash, con 250k di contesto — riesce a lavorare bene su singole task senza dover tenere &#8220;in mente&#8221; tutta l&#8217;architettura del progetto contemporaneamente. Ogni task è autoconclusiva, con contesto sufficiente ma non eccessivo. Il risultato è un workflow più prevedibile, meno &#8220;allucinazioni&#8221; da perdita di contesto, e codice più coerente con l&#8217;architettura pensata a monte.</p>



<p class="wp-block-paragraph">È un cambio di paradigma interessante: non si tratta di usare un modello più potente, ma di <strong>strutturare meglio il problema</strong> perché anche un modello più leggero possa affrontarlo con efficacia. Per chi lavora con LLM locali o con budget di context window limitati, è una lezione che vale la pena portarsi a casa.</p>



<h2 class="wp-block-heading">Il risultato</h2>



<p class="wp-block-paragraph">BookmarkFox oggi è operativo:</p>



<ul class="wp-block-list">
<li>L&#8217;<strong>estensione</strong> è scaricabile dalle <a href="https://github.com/b0sh-net/bookmarkFox/releases" target="_blank" rel="noreferrer noopener">release su GitHub</a>.</li>



<li>Il <strong>backend</strong> che gestisce la pubblicazione dei segnalibri è live su <a href="https://bookmarkfox.b0sh.net/" target="_blank" rel="noreferrer noopener">bookmarkfox.b0sh.net</a>.</li>



<li>Il codice è <strong>open source</strong>, disponibile per chiunque voglia guardare sotto il cofano, contribuire, o semplicemente farsi un&#8217;idea di come è stato strutturato il progetto con SpecKit.</li>
</ul>



<p class="wp-block-paragraph">Non è (ancora) Delicious 2.0, ma è già quello che mi serviva: un modo veloce per salvare e condividere i siti interessanti che trovo in giro, senza dipendere da un servizio terzo che può chiudere domani.</p>



<h2 class="wp-block-heading">Cosa mi porto a casa</h2>



<p class="wp-block-paragraph">Al di là del progetto in sé, l&#8217;esperienza con SpecKit mi ha convinto che il futuro dell&#8217;AI-assisted coding per progetti non banali passa da qui: <strong>meno prompt-e-spera, più analisi-chiarifica-scomponi</strong>. È un investimento di tempo iniziale che si ripaga abbondantemente quando il progetto cresce oltre le due-tre funzioni.</p>



<p class="wp-block-paragraph">Se usi Firefox e ti manca un modo semplice per salvare e condividere segnalibri, dai un&#8217;occhiata a BookmarkFox. E se sei curioso di provare tu stesso il workflow SpecKit + LLM locale, è un ottimo punto di partenza per progetti di dimensioni simili.</p>
<p><a class="a2a_button_mastodon" href="https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F07%2Fbookmarkfox-resuscitare-delicious-con-firefox-e-un-po-di-ai-assisted-coding%2F&amp;linkname=BookmarkFox%3A%20resuscitare%20Delicious%20con%20Firefox%20e%20un%20po%E2%80%99%20di%20AI-assisted%20coding" title="Mastodon" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F07%2Fbookmarkfox-resuscitare-delicious-con-firefox-e-un-po-di-ai-assisted-coding%2F&amp;linkname=BookmarkFox%3A%20resuscitare%20Delicious%20con%20Firefox%20e%20un%20po%E2%80%99%20di%20AI-assisted%20coding" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_copy_link" href="https://www.addtoany.com/add_to/copy_link?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F07%2Fbookmarkfox-resuscitare-delicious-con-firefox-e-un-po-di-ai-assisted-coding%2F&amp;linkname=BookmarkFox%3A%20resuscitare%20Delicious%20con%20Firefox%20e%20un%20po%E2%80%99%20di%20AI-assisted%20coding" title="Copy Link" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_flipboard" href="https://www.addtoany.com/add_to/flipboard?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F07%2Fbookmarkfox-resuscitare-delicious-con-firefox-e-un-po-di-ai-assisted-coding%2F&amp;linkname=BookmarkFox%3A%20resuscitare%20Delicious%20con%20Firefox%20e%20un%20po%E2%80%99%20di%20AI-assisted%20coding" title="Flipboard" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.b0sh.net%2F2026%2F07%2Fbookmarkfox-resuscitare-delicious-con-firefox-e-un-po-di-ai-assisted-coding%2F&#038;title=BookmarkFox%3A%20resuscitare%20Delicious%20con%20Firefox%20e%20un%20po%E2%80%99%20di%20AI-assisted%20coding" data-a2a-url="https://www.b0sh.net/2026/07/bookmarkfox-resuscitare-delicious-con-firefox-e-un-po-di-ai-assisted-coding/" data-a2a-title="BookmarkFox: resuscitare Delicious con Firefox e un po’ di AI-assisted coding"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.b0sh.net/2026/07/bookmarkfox-resuscitare-delicious-con-firefox-e-un-po-di-ai-assisted-coding/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4193</post-id>	</item>
		<item>
		<title>PhotoPrism AI Curator: aggiornamenti, raffinamenti e una web UI</title>
		<link>https://www.b0sh.net/2026/06/photoprism-ai-curator-aggiornamenti-raffinamenti-e-una-web-ui/</link>
					<comments>https://www.b0sh.net/2026/06/photoprism-ai-curator-aggiornamenti-raffinamenti-e-una-web-ui/#respond</comments>
		
		<dc:creator><![CDATA[bosh]]></dc:creator>
		<pubDate>Mon, 01 Jun 2026 09:08:26 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[automazione foto]]></category>
		<category><![CDATA[batch processing]]></category>
		<category><![CDATA[cache AI]]></category>
		<category><![CDATA[clustering descrizioni]]></category>
		<category><![CDATA[clustering semantico]]></category>
		<category><![CDATA[deduplicazione foto]]></category>
		<category><![CDATA[foto viaggio]]></category>
		<category><![CDATA[gallery AI]]></category>
		<category><![CDATA[LM Studio]]></category>
		<category><![CDATA[ollama]]></category>
		<category><![CDATA[organizzazione foto]]></category>
		<category><![CDATA[photo management]]></category>
		<category><![CDATA[photoprims curator]]></category>
		<category><![CDATA[ranking estetico]]></category>
		<category><![CDATA[self-hosted]]></category>
		<guid isPermaLink="false">https://www.b0sh.net/?p=4180</guid>

					<description><![CDATA[Qualche tempo fa ho scritto di aver costruito un selezionatore AI per PhotoPrism, un piccolo strumento che usa modelli locali per scegliere le foto migliori e creare album automatici. Il post originale raccontava il primo prototipo: ranking estetico puro, clustering semantico, e una CLI minimale. Da allora ho lavorato molto sul progetto, aggiungendo funzionalità, migliorando [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Qualche tempo fa ho scritto di aver costruito un <strong>selezionatore AI</strong> per PhotoPrism, un piccolo strumento che usa modelli locali per scegliere le foto migliori e creare album automatici. Il post originale raccontava il primo prototipo: ranking estetico puro, clustering semantico, e una CLI minimale.</p>



<p class="wp-block-paragraph">Da allora ho lavorato molto sul progetto, aggiungendo funzionalità, migliorando la stabilità e rendendo tutto più facile da usare. </p>



<h2 class="wp-block-heading">Da Ollama a Ollama <strong>e</strong> LM Studio</h2>



<p class="wp-block-paragraph">Una delle richiesta più comuni che ho visto in giro per progetti simili è la possibilità di usare backend diversi. Nel primo post parlavo solo di <strong>Ollama</strong> come backend AI. Ora lo strumento supporta anche <strong>LM Studio</strong>, con API OpenAI-compatibili.</p>



<p class="wp-block-paragraph">Che significa, in pratica? Se desideri avere più controllo e scelta di modelli, puoi usare LM Studio senza cambiare nulla nel flusso di lavoro. Nell&#8217;interfaccia web e nella CLI il passaggio è trasparente: basta cambiare il backend nei parametri e puntare all&#8217;URL del server corretto.</p>



<h2 class="wp-block-heading">Deduplicazione tempo e spazio, non solo semantica</h2>



<p class="wp-block-paragraph">Nel post originale parlavo di clustering semantico: le foto venivano raggruppate per similarità di descrizione e poi selezionate a rotazione per evitare ripetizioni. Funzionava, ma a volte finivo comunque con foto troppo simili, scattate nello stesso istante e nella stessa posizione.</p>



<p class="wp-block-paragraph">Ho aggiunto un secondo livello di <strong>deduplicazione temporale e geografica</strong>. Dopo la selezione iniziale, lo strumento rimuove automaticamente le foto che sono entro <strong>30 secondi</strong> e <strong>100 metri</strong> l&#8217;una dall&#8217;altra, tenendo sempre quella con il ranking estetico migliore.</p>



<p class="wp-block-paragraph">Il risultato è un album più vario, con meno &#8220;serie di foto quasi identiche&#8221; e più momenti distinti.</p>



<h2 class="wp-block-heading">Logging professionale con Logback</h2>



<p class="wp-block-paragraph">Il primo prototipo scriveva log in modo un po&#8217; artigianale, spesso su stdout o in file senza gestione. Per un tool che può girare automaticamente su grandi archivi, serve qualcosa di più robusto.</p>



<p class="wp-block-paragraph">Ora il progetto usa <strong>Logback</strong> con:</p>



<ul class="wp-block-list">
<li>logging su file (<code>logs/photoprism-ai.log</code>)</li>



<li>rotazione giornaliera</li>



<li>retention di 7 giorni</li>



<li>nessun output su stdout, tranne barre di progresso essenziali</li>
</ul>



<p class="wp-block-paragraph">Nel log trovi:</p>



<ul class="wp-block-list">
<li>prompt di clustering (DEBUG)</li>



<li>rimozioni per dedup temporale/spaziale (INFO)</li>



<li>nomi dei cluster finali (INFO)</li>
</ul>



<h2 class="wp-block-heading">Prompt emozionale e descrizioni più ricche</h2>



<p class="wp-block-paragraph">Uno dei problemi iniziali era che il modello multimodale produceva descrizioni troppo brevi o generiche, il che rendeva il clustering meno efficace.</p>



<p class="wp-block-paragraph">Ho:</p>



<ul class="wp-block-list">
<li>aumentato la descrizione a <strong>30 parole</strong> per ogni foto</li>



<li>introdotto un <strong>prompt emozionale</strong> più ricco, per spingere il modello a valutare anche composizione, originalità e &#8220;atmosfera&#8221;, non solo要素 tecnici</li>
</ul>



<p class="wp-block-paragraph">Il clustering ne beneficia molto: le categorie sono più pulite e coerenti.</p>



<h2 class="wp-block-heading">Batch, thread e performance</h2>



<p class="wp-block-paragraph">Nel primo post parlavo di timeout e latenza come principali colli di bottiglia. Ho fatto diversi affini:</p>



<ul class="wp-block-list">
<li>batch da <strong>30</strong> richieste per il clustering</li>



<li><strong>3 thread</strong> per il processing parallelo</li>



<li>caching più intelligente di <code>takenAt</code>, titolo, coordinate e luogo</li>



<li>retry automatico <strong>3×</strong> per le chiamate AI in caso di errore</li>
</ul>



<p class="wp-block-paragraph">Questi cambiamenti hanno reso il tool più stabile e veloce, soprattutto su archivi grandi.</p>



<h2 class="wp-block-heading">Barra di progresso e Web UI</h2>



<p class="wp-block-paragraph">La CLI funziona bene, ma per molti utenti un&#8217;interfaccia visuale è più comoda. Ho quindi sviluppato una <strong>Web UI leggera</strong> con:</p>



<ul class="wp-block-list">
<li>Javalin come server embedded</li>



<li>HTMX per dinamicità senza scrivere JavaScript complesso</li>



<li>una <strong>barra di progresso</strong> per il clustering, con conteggio batch in tempo reale</li>
</ul>



<p class="wp-block-paragraph">La Web UI permette di:</p>



<ul class="wp-block-list">
<li>scegliere mese singolo o anno intero</li>



<li>specificare quante foto selezionare</li>



<li>personalizzare il prompt di valutazione</li>



<li>scegliere il nome dell&#8217;album</li>
</ul>



<p class="wp-block-paragraph">Il form è semplice, ma copre tutti i casi d&#8217;uso principali.</p>



<h2 class="wp-block-heading">Modalità anno intero</h2>



<p class="wp-block-paragraph">Nel post originale parlavo solo di selezione per mese. Ora c&#8217;è anche una <strong>modalità anno intero</strong>: lo strumento processa tutti i 12 mesi in sequenza, accumulando le foto migliori di ogni mese in un unico album annuale.</p>



<p class="wp-block-paragraph">È utile per creare album tipo &#8220;Best of 2025&#8221; o &#8220;Viaggi 2025&#8221; senza dover lanciare manualmente 12 selezioni separate.</p>



<h2 class="wp-block-heading">Cache arricchita e pool temporaneo</h2>



<p class="wp-block-paragraph">La cache (<code>ai-cache.json</code>) ora conserva per ogni foto:</p>



<ul class="wp-block-list">
<li>score estetico</li>



<li>descrizione generata dall&#8217;AI</li>



<li>cluster assegnato</li>



<li>titolo, coordinate, <code>takenAt</code>, <code>placeLabel</code>, <code>placeCity</code>, <code>placeState</code>, <code>placeCountry</code></li>
</ul>



<p class="wp-block-paragraph">Il pool temporaneo pre-dedup viene salvato in <code>{albumName}.json</code>, utile per debug e analisi.</p>



<h2 class="wp-block-heading">CLI più flessibile</h2>



<p class="wp-block-paragraph">Oltre alla Web UI, la CLI è più potente:</p>



<pre class="wp-block-preformatted">bash<code><em># Mese singolo</em>
java -jar target/photoprism-ai-curator-1.0.1.jar \
  --no-web --mode month --month 1 --year 2026 \
  --count 20 --album "Mia Selezione"

<em># Anno intero</em>
java -jar target/photoprism-ai-curator-1.0.1.jar \
  --no-web --mode year --year 2026 \
  --count 20 --album "Best of 2026"

<em># Prompt personalizzato</em>
java -jar target/photoprism-ai-curator-1.0.1.jar \
  --no-web --mode month --month 1 --year 2026 \
  --count 20 \
  --prompt "Rate composition and originality"</code></pre>



<p class="wp-block-paragraph">Sono disponibili flag per:</p>



<ul class="wp-block-list">
<li>percorso del config file</li>



<li>forzatura modalità CLI</li>



<li>modalità mese/anno</li>



<li>mese, anno, conteggio foto</li>



<li>nome album</li>



<li>prompt di valutazione</li>
</ul>



<h2 class="wp-block-heading">Struttura del progetto</h2>



<p class="wp-block-paragraph">Il progetto è ora più maturo e meglio organizzato:</p>



<ul class="wp-block-list">
<li><code>AiBackend</code> come interfaccia comune per rating e clustering</li>



<li><code>OllamaClient</code> e <code>LmStudioClient</code> come implementazioni separate</li>



<li><code>PhotoFetcher</code>, <code>AISelector</code>, <code>AlbumManager</code>, <code>ImageHasher</code> come servizi puliti</li>



<li><code>WebServer</code> con Javalin + HTMX</li>



<li><code>JobContext</code> per lo stato thread-safe dei job</li>
</ul>



<p class="wp-block-paragraph">Tutto il codice è in Java 17+, con Maven, JUnit 5 e Mockito per i test.</p>



<h2 class="wp-block-heading">Perché questi aggiornamenti contano</h2>



<p class="wp-block-paragraph">Per me, il punto non è solo automatizzare una classifica di bellezza. Il vero valore sta nel:</p>



<ul class="wp-block-list">
<li>combinare <strong>giudizio estetico</strong>, <strong>varietà narrativa</strong> e <strong>vincoli pratici</strong></li>



<li>gestire cache, timeout e costi computazionali in modo intelligente</li>



<li>offrire un&#8217;alternativa locale e controllabile ai servizi cloud per la selezione foto</li>
</ul>



<p class="wp-block-paragraph">Con LM Studio, dedup tempo/spazio, Logback, Web UI e modalità anno intero, ritengo che il progetto sia oggi molto più pronto per l&#8217;uso quotidiano.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">Tutti i dettagli tecnici, commit e modifiche sono disponibili su <a rel="noreferrer noopener" target="_blank" href="https://github.com/b0sh-net/photoprism-ai-curator">GitHub</a>.<br>La commit history è qui: <a rel="noreferrer noopener" target="_blank" href="https://github.com/b0sh-net/photoprism-ai-curator/commits/master/">https://github.com/b0sh-net/photoprism-ai-curator/commits/master/</a>.</p>
<p><a class="a2a_button_mastodon" href="https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F06%2Fphotoprism-ai-curator-aggiornamenti-raffinamenti-e-una-web-ui%2F&amp;linkname=PhotoPrism%20AI%20Curator%3A%20aggiornamenti%2C%20raffinamenti%20e%20una%20web%20UI" title="Mastodon" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F06%2Fphotoprism-ai-curator-aggiornamenti-raffinamenti-e-una-web-ui%2F&amp;linkname=PhotoPrism%20AI%20Curator%3A%20aggiornamenti%2C%20raffinamenti%20e%20una%20web%20UI" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_copy_link" href="https://www.addtoany.com/add_to/copy_link?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F06%2Fphotoprism-ai-curator-aggiornamenti-raffinamenti-e-una-web-ui%2F&amp;linkname=PhotoPrism%20AI%20Curator%3A%20aggiornamenti%2C%20raffinamenti%20e%20una%20web%20UI" title="Copy Link" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_flipboard" href="https://www.addtoany.com/add_to/flipboard?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F06%2Fphotoprism-ai-curator-aggiornamenti-raffinamenti-e-una-web-ui%2F&amp;linkname=PhotoPrism%20AI%20Curator%3A%20aggiornamenti%2C%20raffinamenti%20e%20una%20web%20UI" title="Flipboard" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.b0sh.net%2F2026%2F06%2Fphotoprism-ai-curator-aggiornamenti-raffinamenti-e-una-web-ui%2F&#038;title=PhotoPrism%20AI%20Curator%3A%20aggiornamenti%2C%20raffinamenti%20e%20una%20web%20UI" data-a2a-url="https://www.b0sh.net/2026/06/photoprism-ai-curator-aggiornamenti-raffinamenti-e-una-web-ui/" data-a2a-title="PhotoPrism AI Curator: aggiornamenti, raffinamenti e una web UI"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.b0sh.net/2026/06/photoprism-ai-curator-aggiornamenti-raffinamenti-e-una-web-ui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4180</post-id>	</item>
		<item>
		<title>Ho costruito un selezionatore AI per scegliere le foto migliori da PhotoPrism</title>
		<link>https://www.b0sh.net/2026/05/ho-costruito-un-selezionatore-ai-per-scegliere-le-foto-migliori-da-photoprism/</link>
					<comments>https://www.b0sh.net/2026/05/ho-costruito-un-selezionatore-ai-per-scegliere-le-foto-migliori-da-photoprism/#respond</comments>
		
		<dc:creator><![CDATA[bosh]]></dc:creator>
		<pubDate>Sun, 24 May 2026 20:04:11 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[album fotografici]]></category>
		<category><![CDATA[clustering semantico]]></category>
		<category><![CDATA[computer vision]]></category>
		<category><![CDATA[fotografia]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[multimodal AI]]></category>
		<category><![CDATA[ollama]]></category>
		<category><![CDATA[organizzazione foto]]></category>
		<category><![CDATA[photoprims curator]]></category>
		<category><![CDATA[photoprism]]></category>
		<category><![CDATA[PhotoPrism API]]></category>
		<category><![CDATA[selezione foto]]></category>
		<category><![CDATA[self-hosted]]></category>
		<guid isPermaLink="false">https://www.b0sh.net/?p=4167</guid>

					<description><![CDATA[Tornare da un viaggio significa quasi sempre ritrovarsi con una quantità ingestibile di foto. Nel caso di Lisbona, il problema non era tanto archiviare gli scatti, quanto riuscire a estrarne una ventina davvero condivisibile: belle, sì, ma anche varie e capaci di raccontare l’esperienza nel suo insieme. PhotoPrism offriva già un’ottima base grazie a geolocalizzazione, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Tornare da un viaggio significa quasi sempre ritrovarsi con una quantità ingestibile di foto. Nel caso di Lisbona, il problema non era tanto archiviare gli scatti, quanto riuscire a estrarne una ventina davvero condivisibile: belle, sì, ma anche varie e capaci di raccontare l’esperienza nel suo insieme. PhotoPrism offriva già un’ottima base grazie a geolocalizzazione, riconoscimento facciale, label e strumenti di organizzazione, ma non aveva ancora un modo per comporre automaticamente un album con “le foto più belle” e soprattutto con sufficiente varietà.</p>



<p class="wp-block-paragraph">Da qui è nata l’idea di un selezionatore AI: una piccola applicazione Java che usa PhotoPrism per recuperare le miniature delle immagini e Ollama per far lavorare due modelli AI, uno multimodale per assegnare un punteggio estetico e produrre una descrizione oggettiva, e un secondo modello testuale per raggruppare semanticamente le foto e selezionarle con più equilibrio.</p>



<h2 class="wp-block-heading">Il problema vero non era la qualità</h2>



<p class="wp-block-paragraph">Il primo prototipo faceva una cosa molto semplice: prendere le foto da PhotoPrism, inviarle a un modello multimodale su Ollama e chiedere un voto estetico da 1 a 100 insieme a una breve descrizione. Sulla carta sembrava sufficiente, ma in pratica produceva una selezione monotona: immagini molto belle singolarmente, ma spesso troppo simili tra loro.</p>



<p class="wp-block-paragraph">Era il classico caso in cui un ranking puro ottimizza la qualità locale ma non la copertura narrativa. Se cinque foto dello stesso scorcio o dello stesso momento ricevono voti alti, un algoritmo ingenuo tende a sceglierle tutte. Per costruire un album da condividere, invece, non basta premiare le immagini migliori: bisogna anche evitare la ripetizione.</p>



<span id="more-4167"></span>



<h2 class="wp-block-heading">Dalla classifica ai cluster</h2>



<p class="wp-block-paragraph">La seconda iterazione ha quindi cambiato approccio. Invece di trattare il problema come una semplice classifica, il tool ha iniziato a ragionare per gruppi: ogni foto riceve una descrizione oggettiva dal modello visivo, e queste descrizioni vengono poi analizzate da un secondo modello text-only per creare cluster di immagini semanticamente simili.</p>



<p class="wp-block-paragraph">In questo modo la selezione finale non è più dominata da un unico soggetto o da una sola scena. Il sistema sceglie a rotazione le migliori foto da cluster diversi, così da conservare un livello qualitativo alto senza sacrificare la varietà. È un cambiamento piccolo da spiegare, ma sostanziale nel risultato: da “le più belle” a “le più belle che, insieme, raccontano meglio il viaggio”.</p>



<h2 class="wp-block-heading">Il collo di bottiglia era la latenza</h2>



<p class="wp-block-paragraph">La parte più difficile non è stata immaginare la pipeline, ma farla funzionare in tempi accettabili. Creare i cluster su un numero elevato di immagini si è rivelato più costoso del previsto, soprattutto per il tempo necessario a far processare le descrizioni dal modello. Per questo la pipeline è stata spezzata in blocchi parziali, poi riunificati in una fase finale di merge, così da ridurre il costo operativo del clustering su un set grande.</p>



<p class="wp-block-paragraph">Anche così, però, i timeout continuavano a essere un problema reale. La svolta è arrivata intervenendo direttamente sulle chiamate verso Ollama: per il modello dedicato al clustering è stata disabilitata la fase di thinking, usando richieste batch con <code>think:false</code>, così da evitare lunghi passaggi riflessivi non necessari per questo tipo di compito. È stata la scelta risolutiva, soprattutto con i modelli Qwen, che tendono ad avere una fase riflessiva di default piuttosto lunga.<a rel="noreferrer noopener" target="_blank" href="https://opencode.ai/docs/"></a></p>



<h2 class="wp-block-heading">Cosa fa la prima beta</h2>



<p class="wp-block-paragraph">La prima beta, pubblicata come <strong>PhotoPrism AI Curator</strong>, automatizza l’intero flusso: scarica le miniature delle foto da PhotoPrism, invia ciascuna miniatura a Ollama con un modello multimodale per ottenere un punteggio estetico e una descrizione, raggruppa le immagini per similarità semantica tramite un secondo modello text-only, seleziona a rotazione le migliori da ciascun gruppo e crea infine un album direttamente in PhotoPrism. Questa architettura è coerente con le capacità offerte da PhotoPrism per organizzazione, persone e label, e con il ruolo di Ollama come runtime locale per modelli diversi nello stesso workflow.</p>



<p class="wp-block-paragraph">Il progetto include anche una modalità “anno intero”, che processa tutti i dodici mesi in sequenza e accumula le migliori foto mensili in un unico album annuale. È una funzione semplice da descrivere ma molto pratica per chi usa PhotoPrism come archivio personale continuo e non vuole lavorare manualmente mese per mese.</p>



<h2 class="wp-block-heading">Stack e funzionamento</h2>



<p class="wp-block-paragraph">Dal punto di vista tecnico, il progetto richiede Java 17+, Maven, un’istanza PhotoPrism con API attiva e Ollama con almeno due modelli: uno multimodale per l’analisi visiva, come <code>minicpm-v</code>, <code>llava</code> o <code>moondream</code>, e uno text-only per il clustering delle descrizioni, come <code>qwen3.5:4b</code> o <code>llama3.2:3b</code>. In alternativa è possibile usare un solo modello capace di gestire sia input visivi sia generazione testuale pura, ma l’architettura pensata per la beta separa chiaramente valutazione estetica e clustering semantico.</p>



<p class="wp-block-paragraph">L’applicazione si compila con Maven, legge la configurazione da <code>config.properties</code> e consente di impostare URL e token di PhotoPrism, endpoint Ollama, modelli da usare, prompt di valutazione, file di cache e timeout per connessione, rating e clustering. Il fatto di mantenere una cache locale delle valutazioni in <code>ai-cache.json</code> è importante, perché evita di ripetere inferenze costose su immagini già processate e rende molto più sopportabile l’uso iterativo durante i test.</p>



<h2 class="wp-block-heading">Web UI invece di solo CLI</h2>



<p class="wp-block-paragraph">Un aspetto interessante della beta è che non si ferma alla linea di comando. Il progetto espone anche una piccola interfaccia web embedded, avviabile direttamente dal JAR, costruita con Javalin lato server e HTMX nel frontend, una scelta leggera ma molto sensata per questo tipo di utility locale. L’interfaccia permette di scegliere se elaborare un mese singolo o l’intero anno, indicare quante foto selezionare, personalizzare il prompt di valutazione e decidere il nome dell’album finale.</p>



<p class="wp-block-paragraph">Questa parte è importante anche narrativamente, perché mostra che il progetto non è solo una prova tecnica. C’è già il tentativo di trasformare uno script nato per uso personale in uno strumento riutilizzabile, con uno stato di job thread-safe e una UX minima ma concreta.</p>



<h2 class="wp-block-heading">Struttura del progetto</h2>



<p class="wp-block-paragraph">La struttura del repository rende abbastanza chiara l’evoluzione del tool. I client separano le API di PhotoPrism e Ollama, i service isolano fetch delle foto, logica di selezione, hashing e gestione degli album, mentre il pacchetto web contiene il server e il contesto di esecuzione dei job. È una divisione ordinata che aiuta a leggere il progetto come una pipeline composta da fasi distinte: raccolta, valutazione, raggruppamento, selezione, pubblicazione.</p>



<p class="wp-block-paragraph">In breve, l’albero principale comprende <code>App.java</code> come entry point, una configurazione dedicata, model per foto e album, client per PhotoPrism e Ollama, service per selezione e gestione operativa, e una web UI HTMX servita da Javalin. Anche la scelta di usare JUnit 5 e Mockito per i test indica che la beta non è soltanto un esperimento estemporaneo, ma un progetto già pensato per crescere.</p>



<h2 class="wp-block-heading">Perché mi interessava davvero</h2>



<p class="wp-block-paragraph">La cosa più interessante di questo progetto non è tanto aver fatto scegliere delle foto a un’AI. Il punto è aver trasformato un problema quotidiano e noioso — rientrare da un viaggio e dover setacciare centinaia di immagini quasi uguali — in una pipeline locale, controllabile e compatibile con strumenti self-hosted già esistenti.</p>



<p class="wp-block-paragraph">PhotoPrism sa già dove sono state scattate le foto, chi compare nelle immagini e quali label possono descriverle, ma il salto verso una vera selezione richiede qualcosa in più: un giudizio estetico, una nozione minima di varietà e una serie di compromessi pratici su latenza, timeout e costo computazionale. È proprio in quel punto, tra metadata e gusto, che questo selezionatore AI prova a inserirsi.</p>



<h2 class="wp-block-heading">Come provarlo</h2>



<p class="wp-block-paragraph">Per compilare la beta basta clonare il repository, copiare <code>config.properties.example</code> in <code>config.properties</code>, inserire i dati della propria istanza PhotoPrism e di Ollama e lanciare <code>mvn clean package</code>. A quel punto si può avviare il JAR in modalità web oppure usare la CLI con il file di configurazione passato esplicitamente.</p>



<pre class="wp-block-preformatted">bash<code>git clone &lt;url-repo&gt;
cd photoprism-ai-curator
cp config.properties.example config.properties
<em># modifica config.properties con i tuoi dati</em>
mvn clean package
java -jar target/photoprism-ai-curator-1.0.0.jar</code></pre>



<p class="wp-block-paragraph">Una volta aperta l’interfaccia web su <code>http://localhost:8080</code>, il flusso è lineare: scegliere il periodo, indicare il numero di foto desiderate, adattare eventualmente il prompt di valutazione e lasciare che il sistema costruisca l’album finale dentro PhotoPrism.</p>



<h2 class="wp-block-heading">Cosa può diventare</h2>



<p class="wp-block-paragraph">Questa prima beta risolve già il problema più concreto: ridurre una massa di foto a una selezione più pulita, più varia e più condivisibile. Ma lascia intravedere sviluppi interessanti, come criteri di selezione personalizzabili per tipo di viaggio, un bilanciamento più esplicito tra soggetti, luoghi e momenti, oppure un uso più intelligente dei metadata di PhotoPrism per influenzare il clustering e la rotazione finale.</p>



<p class="wp-block-paragraph">Il progetto è già disponibile in una prima beta su GitHub, qui: <a href="https://github.com/b0sh-net/photoprism-ai-curator" target="_blank" rel="noreferrer noopener">b0sh-net/photoprism-ai-curator</a>. Dentro al repository ci sono codice, istruzioni di compilazione, configurazione di PhotoPrism e Ollama, oltre alla piccola interfaccia web che ho costruito per rendere il flusso più comodo da usare.</p>
<p><a class="a2a_button_mastodon" href="https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F05%2Fho-costruito-un-selezionatore-ai-per-scegliere-le-foto-migliori-da-photoprism%2F&amp;linkname=Ho%20costruito%20un%20selezionatore%20AI%20per%20scegliere%20le%20foto%20migliori%20da%20PhotoPrism" title="Mastodon" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F05%2Fho-costruito-un-selezionatore-ai-per-scegliere-le-foto-migliori-da-photoprism%2F&amp;linkname=Ho%20costruito%20un%20selezionatore%20AI%20per%20scegliere%20le%20foto%20migliori%20da%20PhotoPrism" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_copy_link" href="https://www.addtoany.com/add_to/copy_link?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F05%2Fho-costruito-un-selezionatore-ai-per-scegliere-le-foto-migliori-da-photoprism%2F&amp;linkname=Ho%20costruito%20un%20selezionatore%20AI%20per%20scegliere%20le%20foto%20migliori%20da%20PhotoPrism" title="Copy Link" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_flipboard" href="https://www.addtoany.com/add_to/flipboard?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F05%2Fho-costruito-un-selezionatore-ai-per-scegliere-le-foto-migliori-da-photoprism%2F&amp;linkname=Ho%20costruito%20un%20selezionatore%20AI%20per%20scegliere%20le%20foto%20migliori%20da%20PhotoPrism" title="Flipboard" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.b0sh.net%2F2026%2F05%2Fho-costruito-un-selezionatore-ai-per-scegliere-le-foto-migliori-da-photoprism%2F&#038;title=Ho%20costruito%20un%20selezionatore%20AI%20per%20scegliere%20le%20foto%20migliori%20da%20PhotoPrism" data-a2a-url="https://www.b0sh.net/2026/05/ho-costruito-un-selezionatore-ai-per-scegliere-le-foto-migliori-da-photoprism/" data-a2a-title="Ho costruito un selezionatore AI per scegliere le foto migliori da PhotoPrism"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.b0sh.net/2026/05/ho-costruito-un-selezionatore-ai-per-scegliere-le-foto-migliori-da-photoprism/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4167</post-id>	</item>
		<item>
		<title>OpenHuman: promesse grandi, prova sul campo deludente</title>
		<link>https://www.b0sh.net/2026/05/openhuman-promesse-grandi-prova-sul-campo-deludente/</link>
					<comments>https://www.b0sh.net/2026/05/openhuman-promesse-grandi-prova-sul-campo-deludente/#respond</comments>
		
		<dc:creator><![CDATA[bosh]]></dc:creator>
		<pubDate>Sun, 17 May 2026 13:43:03 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[agenti AI]]></category>
		<category><![CDATA[AI locale]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[ollama]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Open WebUI]]></category>
		<category><![CDATA[OpenHuman]]></category>
		<category><![CDATA[openrouter]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[review software]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">https://www.b0sh.net/?p=4159</guid>

					<description><![CDATA[Ho testato OpenHuman in più scenari, da Fedora in VM a Windows con GPU, passando per Ollama, Open WebUI e OpenRouter. Il risultato è stato deludente: installazioni instabili, configurazioni poco trasparenti, dipendenze cloud poco chiare e nessuna esperienza davvero affidabile nell’uso reale.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ho provato OpenHuman con l’idea di testare un progetto che, sulla carta, sembra voler portare gli agenti AI locali un passo più in là. Il risultato, però, è stato molto meno entusiasmante del racconto che accompagna il repository: installazione rapida, avvio instabile, integrazioni confuse e, alla fine, nessuna esperienza davvero solida da portare a casa.</p>



<p class="wp-block-paragraph">La prova più interessante non è stata nemmeno il primo avvio fallito su Fedora in VM, ma il confronto tra ambienti diversi. Su una macchina fisica Windows con GPU, OpenHuman parte; appena si entra nel flusso di configurazione, però, emergono subito domande poco rassicuranti: login cloud richiesto, collegamento Gmail mediato da un servizio terzo, e una catena di dipendenze che rende il concetto di “locale” molto più sfumato di quanto il marketing lasci intendere.</p>



<h2 class="wp-block-heading" id="un-progetto-che-promette-molto">Un progetto che promette molto</h2>



<p class="wp-block-paragraph">OpenHuman si presenta come un assistente personale AI locale, capace di integrarsi con servizi esterni, gestire memoria e collegarsi a modelli LLM sia in locale sia in cloud. Il pitch è forte: un agente “human-centric”, pronto a conoscersi in pochi minuti e a diventare parte del flusso di lavoro quotidiano.</p>



<p class="wp-block-paragraph">Ed è proprio qui che nasce il problema. Più la promessa è ambiziosa, più ci si aspetta che il setup sia semplice, trasparente e affidabile. Invece la mia esperienza è stata l’opposto: ogni passo sembrava introdurre un nuovo livello di complessità, spesso non spiegato bene all’utente.</p>



<h2 class="wp-block-heading" id="fedora-in-vm-crash-errori-e-packaging-fragile">Fedora in VM: crash, errori e packaging fragile</h2>



<p class="wp-block-paragraph">Il primo test è stato su Fedora in macchina virtuale. Qui OpenHuman ha mostrato subito il suo lato più fragile. L’installazione è partita velocemente, ma all’avvio il programma non è riuscito a completare il bootstrap in modo stabile. I log hanno iniziato a restituire errori diversi a ogni tentativo, e questo è già di per sé un pessimo segnale.</p>



<p class="wp-block-paragraph">Tra i messaggi più significativi c’erano:</p>



<pre class="wp-block-preformatted">text<code>VMware: No 3D enabled</code></pre>



<p class="wp-block-paragraph">e soprattutto:</p>



<pre class="wp-block-preformatted">text<code>Error initializing NSS with a persistent database
version `NSSUTIL_3.108' not found
FATAL: nss_error=-5925</code></pre>



<p class="wp-block-paragraph">In pratica, il pacchetto distribuiva librerie incompatibili con quelle presenti sul sistema. Il risultato non era solo un crash, ma un crash dovuto a un conflitto abbastanza banale da sembrare quasi un errore di packaging elementare. Ho provato anche a forzare l’esecuzione con estrazione manuale dell’AppImage, variabili ambientali diverse e disabilitazione della GPU, ma senza successo.</p>



<p class="wp-block-paragraph">A quel punto il problema non era più il singolo workaround: era il fatto che il software, su una configurazione abbastanza comune come Fedora in VM, falliva in modo ripetuto e poco affidabile.</p>



<h2 class="wp-block-heading" id="windows-con-gpu-parte-ma-non-convince">Windows con GPU: parte, ma non convince</h2>



<p class="wp-block-paragraph">Su una macchina fisica Windows con GPU, OpenHuman si installa e si avvia. Questo però non ha risolto il mio giudizio, anzi lo ha reso più netto. La prima sorpresa è stata la richiesta di un login cloud già al primo avvio, cosa che stride parecchio con l’immagine di applicazione locale e privacy-oriented.</p>



<p class="wp-block-paragraph">Poi è arrivata la richiesta di collegare Gmail attraverso un target chiamato <strong>Composio</strong>. Il problema non è solo tecnico, ma concettuale: non viene spiegato chiaramente perché un software che si presenta come locale debba passare da una terza parte esterna per accedere alle mail. Per me questa è una soglia di fiducia importante, e senza una spiegazione trasparente il risultato è un semplice “no”.</p>



<h2 class="wp-block-heading" id="skip-s-utilit-poca">Skip sì, utilità poca</h2>



<p class="wp-block-paragraph">C’è un pulsante tipo “skip for now”, quindi in teoria si può andare avanti anche senza concedere tutto subito. In pratica bisogna insistere un po’, ma alla fine si entra davvero nell’app.</p>



<p class="wp-block-paragraph">Il punto è un altro: <strong>se rifiuti di dare accesso a terze parti, OpenHuman resta davvero utile?</strong> Questa è la domanda centrale. Perché le funzioni più interessanti sembrano vivere proprio nel punto di incontro tra app locale, account cloud e servizi esterni. Se togli quella parte, resta un guscio molto meno significativo rispetto a quanto il progetto promette.</p>



<h2 class="wp-block-heading" id="ollama-open-webui-e-openrouter-altre-prove-fallite">Ollama, Open WebUI e OpenRouter: altre prove fallite</h2>



<p class="wp-block-paragraph">A questo punto ho provato a portare il tutto sul terreno più favorevole possibile: accesso LLM locale via Ollama, poi Open WebUI come eventuale router/proxy, e infine OpenRouter per testare anche una strada cloud.</p>



<p class="wp-block-paragraph">Il risultato è stato sempre negativo. Con Ollama non arrivava nessuna risposta in chat e <code>ollama ps</code> non mostrava modelli caricati. Con Open WebUI, usando impostazioni che con altre applicazioni funzionano correttamente, il backend restava silenzioso. Con OpenRouter non è cambiato nulla: le richieste non apparivano neppure nei log.</p>



<p class="wp-block-paragraph">Questo è stato probabilmente il segnale più chiaro di tutti. Non si tratta di un singolo provider da sistemare o di una configurazione da rifinire. Il problema sembra stare nel modo in cui OpenHuman orchestra il tutto: integrazione, routing, backend, richieste. Se la pipeline non produce neppure tracce nei log, la sensazione è che la superficie sia più avanzata della sostanza.</p>



<h2 class="wp-block-heading" id="perch-tante-stelline">Perché tante stelline?</h2>



<p class="wp-block-paragraph">La domanda, a questo punto, viene naturale: come fa un software così approssimativo a ottenere tante stelline su GitHub?</p>



<p class="wp-block-paragraph">La risposta probabilmente non è misteriosa: oggi molti progetti AI vendono prima l’idea e solo dopo il prodotto. Bastano un README convincente, una roadmap ambiziosa, qualche schermata accattivante e un paio di video ben fatti per generare entusiasmo. In molti casi il pubblico non prova davvero il software in scenari normali, oppure lo fa per pochi minuti in condizioni ideali.</p>



<p class="wp-block-paragraph">OpenHuman mi sembra rientrare proprio in questa categoria: molto forte sul piano narrativo, molto più debole nella prova concreta. E quando il marketing corre parecchio avanti rispetto alla maturità reale del codice, le stelline diventano un indicatore meno affidabile di quanto sembri.</p>



<h2 class="wp-block-heading" id="verdetto-attuale">Verdetto attuale</h2>



<p class="wp-block-paragraph">Per ora la valutazione è negativa. Non perché il progetto sia “senza idea”, ma perché l’idea è venduta come se fosse già matura, mentre nella pratica l’esperienza è fragile, poco trasparente e inadatta a un uso sereno.</p>



<p class="wp-block-paragraph">Il test su Fedora in VM è fallito. Il test su Windows è partito ma ha introdotto dubbi sostanziali sulla privacy e sulle dipendenze cloud. I tentativi con Ollama, Open WebUI e OpenRouter non hanno migliorato il quadro. Il risultato complessivo è un software che promette molto, ma che al momento convince poco.</p>



<p class="wp-block-paragraph">Disinstallerò OpenHuman e disconnetterò l’account. Per ora, almeno nel mio uso, resta un progetto interessante da osservare, ma non ancora uno strumento davvero affidabile.</p>
<p><a class="a2a_button_mastodon" href="https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F05%2Fopenhuman-promesse-grandi-prova-sul-campo-deludente%2F&amp;linkname=OpenHuman%3A%20promesse%20grandi%2C%20prova%20sul%20campo%20deludente" title="Mastodon" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F05%2Fopenhuman-promesse-grandi-prova-sul-campo-deludente%2F&amp;linkname=OpenHuman%3A%20promesse%20grandi%2C%20prova%20sul%20campo%20deludente" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_copy_link" href="https://www.addtoany.com/add_to/copy_link?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F05%2Fopenhuman-promesse-grandi-prova-sul-campo-deludente%2F&amp;linkname=OpenHuman%3A%20promesse%20grandi%2C%20prova%20sul%20campo%20deludente" title="Copy Link" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_flipboard" href="https://www.addtoany.com/add_to/flipboard?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F05%2Fopenhuman-promesse-grandi-prova-sul-campo-deludente%2F&amp;linkname=OpenHuman%3A%20promesse%20grandi%2C%20prova%20sul%20campo%20deludente" title="Flipboard" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.b0sh.net%2F2026%2F05%2Fopenhuman-promesse-grandi-prova-sul-campo-deludente%2F&#038;title=OpenHuman%3A%20promesse%20grandi%2C%20prova%20sul%20campo%20deludente" data-a2a-url="https://www.b0sh.net/2026/05/openhuman-promesse-grandi-prova-sul-campo-deludente/" data-a2a-title="OpenHuman: promesse grandi, prova sul campo deludente"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.b0sh.net/2026/05/openhuman-promesse-grandi-prova-sul-campo-deludente/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4159</post-id>	</item>
		<item>
		<title>Ha ancora senso usare N8N? Un esperimento con Gemini CLI mi ha fatto cambiare idea</title>
		<link>https://www.b0sh.net/2026/04/ha-ancora-senso-usare-n8n-un-esperimento-con-gemini-cli-mi-ha-fatto-cambiare-idea/</link>
					<comments>https://www.b0sh.net/2026/04/ha-ancora-senso-usare-n8n-un-esperimento-con-gemini-cli-mi-ha-fatto-cambiare-idea/#respond</comments>
		
		<dc:creator><![CDATA[bosh]]></dc:creator>
		<pubDate>Sat, 25 Apr 2026 14:47:07 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[gemini]]></category>
		<category><![CDATA[geminiCli]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[n8n]]></category>
		<category><![CDATA[whisper]]></category>
		<guid isPermaLink="false">https://www.b0sh.net/?p=4142</guid>

					<description><![CDATA[Per chi mi segue da un po&#8217;, sa che ho usato N8N come strumento di riferimento ogni volta che volevo integrare l&#8217;AI in un processo senza scrivere codice da zero. Workflow visivi, nodi preconfigurati, integrazioni pronte: per prototipare rapidamente è stato spesso la scelta giusta. Ma ultimamente mi sono fatto una domanda: ha ancora senso [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Per chi mi segue da un po&#8217;, sa che ho usato <a rel="noreferrer noopener" target="_blank" href="https://www.b0sh.net/tag/n8n/">N8N</a> come strumento di riferimento ogni volta che volevo integrare l&#8217;AI in un processo senza scrivere codice da zero. Workflow visivi, nodi preconfigurati, integrazioni pronte: per prototipare rapidamente è stato spesso la scelta giusta.</p>



<p class="wp-block-paragraph">Ma ultimamente mi sono fatto una domanda: <strong>ha ancora senso usare N8N nel 2026, ora che gli strumenti di codifica AI sono diventati così potenti?</strong></p>



<h2 class="wp-block-heading" id="lesperimento">L&#8217;esperimento</h2>



<p class="wp-block-paragraph">Avevo un workflow N8N che usavo per trascrivere e sintetizzare registrazioni video — niente di esoterico, ma un processo abbastanza articolato: estrazione audio, chiamata a un modello di trascrizione, sintesi con un LLM, output strutturato. Funzionava, ma con i suoi limiti: dimensione massima dei file in ingresso, dipendenza dall&#8217;infrastruttura N8N, e quella sensazione di lavorare &#8220;dentro una scatola&#8221;.</p>



<p class="wp-block-paragraph">Ho deciso di provare a riscrivere l&#8217;intero flusso come programma standalone. Gli strumenti? <strong>Gemini CLI</strong> come agente di codifica, il JSON del workflow N8N come specifica di partenza, e un prompt abbastanza dettagliato su cosa volessi ottenere.</p>



<h2 class="wp-block-heading" id="il-risultato-che-mi-ha-sorpreso">Il risultato (che mi ha sorpreso)</h2>



<p class="wp-block-paragraph">In <strong>poche decine di minuti</strong> avevo un programma funzionante da riga di comando. Non un prototipo traballante: un tool che funziona <em>meglio</em> del workflow N8N originale, senza i limiti sulla dimensione dei file e con un controllo molto più diretto su ogni fase del processo.</p>



<p class="wp-block-paragraph">Ho scelto deliberatamente la CLI perché l&#8217;uso che immagino è locale e sporadico — nessun senso di tirar su un&#8217;infrastruttura per qualcosa che uso una volta alla settimana. Ma sarebbe stato altrettanto semplice chiedere a Gemini CLI di generare un&#8217;app che espone un webservice: il delta di complessità sarebbe stato minimo.</p>



<p class="wp-block-paragraph">La cosa che mi ha colpito di più non è tanto la velocità, ma <strong>quanto sia stato naturale usare il JSON di N8N come prompt implicito</strong>. Il workflow descriveva già la logica del processo in modo strutturato; Gemini ha semplicemente tradotto quella struttura in codice Java coerente e funzionante.</p>



<h2 class="wp-block-heading" id="cosa-cambia-e-cosa-no">Cosa cambia (e cosa no)</h2>



<p class="wp-block-paragraph">N8N rimane uno strumento valido per certi scenari: team non tecnici, integrazioni con decine di servizi SaaS, processi che devono girare su scheduler senza infrastruttura dedicata. Non sto dicendo che sia morto.</p>



<p class="wp-block-paragraph">Ma per chi sa usare il terminale e ha accesso a un buon agente di codifica AI, <strong>il vantaggio principale di N8N — abbassare la barriera tecnica — si è assottigliato enormemente</strong>. Il codice generato è leggibile, manutenibile, e non ha i vincoli architetturali di una piattaforma generalista.</p>



<h2 class="wp-block-heading" id="il-codice--pubblico">Il codice è pubblico</h2>



<p class="wp-block-paragraph">Ho pubblicato tutto su GitHub: codice sorgente, workflow N8N originale e il prompt iniziale che ho passato a Gemini CLI.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a rel="noreferrer noopener" target="_blank" href="https://github.com/b0sh-net/VideoToMemo">github.com/b0sh-net/VideoToMemo</a></p>



<p class="wp-block-paragraph">Se vuoi replicare l&#8217;esperimento o adattarlo a un tuo caso d&#8217;uso, tutto quello che ti serve è lì. Sono curioso di sapere se anche voi avete fatto ragionamenti simili su N8N o su altri strumenti di automazione visuale — scrivetemi nei commenti.</p>
<p><a class="a2a_button_mastodon" href="https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fha-ancora-senso-usare-n8n-un-esperimento-con-gemini-cli-mi-ha-fatto-cambiare-idea%2F&amp;linkname=Ha%20ancora%20senso%20usare%20N8N%3F%20Un%20esperimento%20con%20Gemini%20CLI%20mi%20ha%20fatto%20cambiare%20idea" title="Mastodon" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fha-ancora-senso-usare-n8n-un-esperimento-con-gemini-cli-mi-ha-fatto-cambiare-idea%2F&amp;linkname=Ha%20ancora%20senso%20usare%20N8N%3F%20Un%20esperimento%20con%20Gemini%20CLI%20mi%20ha%20fatto%20cambiare%20idea" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_copy_link" href="https://www.addtoany.com/add_to/copy_link?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fha-ancora-senso-usare-n8n-un-esperimento-con-gemini-cli-mi-ha-fatto-cambiare-idea%2F&amp;linkname=Ha%20ancora%20senso%20usare%20N8N%3F%20Un%20esperimento%20con%20Gemini%20CLI%20mi%20ha%20fatto%20cambiare%20idea" title="Copy Link" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_flipboard" href="https://www.addtoany.com/add_to/flipboard?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fha-ancora-senso-usare-n8n-un-esperimento-con-gemini-cli-mi-ha-fatto-cambiare-idea%2F&amp;linkname=Ha%20ancora%20senso%20usare%20N8N%3F%20Un%20esperimento%20con%20Gemini%20CLI%20mi%20ha%20fatto%20cambiare%20idea" title="Flipboard" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fha-ancora-senso-usare-n8n-un-esperimento-con-gemini-cli-mi-ha-fatto-cambiare-idea%2F&#038;title=Ha%20ancora%20senso%20usare%20N8N%3F%20Un%20esperimento%20con%20Gemini%20CLI%20mi%20ha%20fatto%20cambiare%20idea" data-a2a-url="https://www.b0sh.net/2026/04/ha-ancora-senso-usare-n8n-un-esperimento-con-gemini-cli-mi-ha-fatto-cambiare-idea/" data-a2a-title="Ha ancora senso usare N8N? Un esperimento con Gemini CLI mi ha fatto cambiare idea"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.b0sh.net/2026/04/ha-ancora-senso-usare-n8n-un-esperimento-con-gemini-cli-mi-ha-fatto-cambiare-idea/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4142</post-id>	</item>
		<item>
		<title>Phone-whisper: trascrizione audio offline su Android con sherpa-onnx</title>
		<link>https://www.b0sh.net/2026/04/phone-whisper-trascrizione-audio-offline-su-android-con-sherpa-onnx/</link>
					<comments>https://www.b0sh.net/2026/04/phone-whisper-trascrizione-audio-offline-su-android-con-sherpa-onnx/#respond</comments>
		
		<dc:creator><![CDATA[bosh]]></dc:creator>
		<pubDate>Sun, 19 Apr 2026 14:07:24 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[gemini-cli]]></category>
		<category><![CDATA[parakeet]]></category>
		<category><![CDATA[phone-whisper]]></category>
		<category><![CDATA[qwen]]></category>
		<category><![CDATA[sherpa-onnx]]></category>
		<category><![CDATA[STT]]></category>
		<guid isPermaLink="false">https://www.b0sh.net/?p=4127</guid>

					<description><![CDATA[Se hai mai avuto bisogno di trascrivere una nota vocale, un&#8217;intervista o un audio WhatsApp direttamente sul tuo smartphone — senza mandare nulla in cloud, senza abbonamenti, senza privacy violata — allora questo progetto fa per te. phone-whisper è un&#8217;app Android open source che ho sviluppato a partire da un fork di un progetto esistente, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Se hai mai avuto bisogno di trascrivere una nota vocale, un&#8217;intervista o un audio WhatsApp direttamente sul tuo smartphone — senza mandare nulla in cloud, senza abbonamenti, senza privacy violata — allora questo progetto fa per te.</p>



<p class="wp-block-paragraph"><strong>phone-whisper</strong> è un&#8217;app Android open source che ho sviluppato a partire da un fork di un progetto esistente, riprogettandola per fare una cosa sola ma fatta bene: <strong>trascrivere file audio condivisi direttamente sul dispositivo</strong>, in modo completamente locale.</p>



<h2 class="wp-block-heading" id="da-dove-nasce-il-progetto">Da dove nasce il progetto</h2>



<p class="wp-block-paragraph">Il punto di partenza è stato un progetto open source che sfruttava il riconoscimento vocale via microfono. L&#8217;idea di base mi piaceva, ma quello che mi serviva era diverso: volevo poter condividere un file audio da qualsiasi app — WhatsApp, Files, un registratore vocale — e ottenere la trascrizione in pochi secondi, tutto offline.</p>



<p class="wp-block-paragraph">Ho quindi forkato il progetto e ho iniziato ad adattarlo, usando strumenti di intelligenza artificiale come <strong>Gemini CLI</strong> e <strong>Qwen Code</strong> per accelerare il refactoring e la riscrittura delle funzionalità principali. L&#8217;AI è stata preziosa per navigare una codebase che non conoscevo a fondo e per generare rapidamente le modifiche necessarie all&#8217;integrazione con il sistema di condivisione di Android.</p>



<h2 class="wp-block-heading" id="il-debugging-quando-la-trascrizione-locale-non-fun">Il debugging: quando la trascrizione locale non funzionava</h2>



<p class="wp-block-paragraph">Qui le cose si sono fatte interessanti. Il sistema di trascrizione locale del progetto originale non funzionava in modo affidabile — o meglio, non funzionava affatto nel mio caso. Dopo varie sessioni di debug, ho capito che la soluzione più stabile era integrare direttamente <strong><a rel="noreferrer noopener" target="_blank" href="https://github.com/k2-fsa/sherpa-onnx/">sherpa-onnx</a></strong>, una libreria di inferenza vocale offline estremamente performante, sviluppata dal team k2-fsa.</p>



<p class="wp-block-paragraph">Il problema? Non potevo semplicemente aggiungere la dipendenza tramite Gradle come si farebbe normalmente. Ho dovuto includere la libreria <strong>direttamente come file <code>.aar</code></strong> all&#8217;interno del progetto, per garantire compatibilità e controllo sulla versione esatta utilizzata.</p>



<p class="wp-block-paragraph">E proprio le versioni sono state un altro grattacapo: l&#8217;ultima release di sherpa-onnx al momento dello sviluppo (la <strong>v1.12.39</strong>) aveva un&#8217;interfaccia pubblica diversa rispetto a quella pensata per il progetto originale. Questo ha richiesto ulteriori modifiche ai metodi di comunicazione tra i componenti, ma alla fine tutto ha trovato il suo posto.</p>



<h2 class="wp-block-heading" id="come-funziona-oggi">Come funziona oggi</h2>



<p class="wp-block-paragraph">La release <strong><a rel="noreferrer noopener" target="_blank" href="https://github.com/b0sh-net/phone-whisper/releases/tag/0.4.4">0.4.4</a></strong> è stabile e funzionante. Il flusso d&#8217;uso è semplice:</p>



<ol class="wp-block-list">
<li>Condividi un file audio da qualsiasi app verso phone-whisper</li>



<li>L&#8217;app avvia la trascrizione in locale, senza connessione internet</li>



<li>Ottieni il testo trascritto direttamente sul dispositivo</li>
</ol>



<p class="wp-block-paragraph">Per ottenere i migliori risultati con <strong>audio in italiano</strong>, consiglio di utilizzare il modello <strong>Parakeet 0.6B</strong>: offre un ottimo equilibrio tra qualità della trascrizione e dimensioni del modello.</p>



<h2 class="wp-block-heading" id="una-cosa-importante-sullinstallazione-del-modello">Una cosa importante sull&#8217;installazione del modello</h2>



<p class="wp-block-paragraph">Il primo avvio richiede il download e l&#8217;installazione del modello linguistico, che può richiedere qualche minuto. <strong>Non interrompere il processo</strong>: farlo potrebbe corrompere l&#8217;installazione e rendere l&#8217;app non funzionante. Se dovesse succedere, è necessario cancellare i dati dell&#8217;applicazione dalle impostazioni di Android per poter ripetere l&#8217;installazione da capo.</p>



<h2 class="wp-block-heading" id="conclusioni-e-link-utili">Conclusioni e link utili</h2>



<p class="wp-block-paragraph">phone-whisper nasce da un&#8217;esigenza reale, da un po&#8217; di debugging ostinato e dall&#8217;aiuto — sempre più indispensabile — degli strumenti AI per muoversi velocemente in territorio inesplorato. È un progetto piccolo, ma funziona, è privato by design e gira interamente sul tuo telefono.</p>



<ul class="wp-block-list">
<li><strong>Repository GitHub:</strong> <a href="https://github.com/b0sh-net/phone-whisper" target="_blank" rel="noreferrer noopener">github.com/b0sh-net/phone-whisper</a></li>



<li><strong>Release 0.4.4:</strong> <a href="https://github.com/b0sh-net/phone-whisper/releases/tag/0.4.4" target="_blank" rel="noreferrer noopener">github.com/b0sh-net/phone-whisper/releases/tag/0.4.4</a></li>



<li><strong>sherpa-onnx:</strong> <a href="https://github.com/k2-fsa/sherpa-onnx/" target="_blank" rel="noreferrer noopener">github.com/k2-fsa/sherpa-onnx</a></li>
</ul>
<p><a class="a2a_button_mastodon" href="https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fphone-whisper-trascrizione-audio-offline-su-android-con-sherpa-onnx%2F&amp;linkname=Phone-whisper%3A%20trascrizione%20audio%20offline%20su%20Android%20con%20sherpa-onnx" title="Mastodon" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fphone-whisper-trascrizione-audio-offline-su-android-con-sherpa-onnx%2F&amp;linkname=Phone-whisper%3A%20trascrizione%20audio%20offline%20su%20Android%20con%20sherpa-onnx" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_copy_link" href="https://www.addtoany.com/add_to/copy_link?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fphone-whisper-trascrizione-audio-offline-su-android-con-sherpa-onnx%2F&amp;linkname=Phone-whisper%3A%20trascrizione%20audio%20offline%20su%20Android%20con%20sherpa-onnx" title="Copy Link" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_flipboard" href="https://www.addtoany.com/add_to/flipboard?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fphone-whisper-trascrizione-audio-offline-su-android-con-sherpa-onnx%2F&amp;linkname=Phone-whisper%3A%20trascrizione%20audio%20offline%20su%20Android%20con%20sherpa-onnx" title="Flipboard" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fphone-whisper-trascrizione-audio-offline-su-android-con-sherpa-onnx%2F&#038;title=Phone-whisper%3A%20trascrizione%20audio%20offline%20su%20Android%20con%20sherpa-onnx" data-a2a-url="https://www.b0sh.net/2026/04/phone-whisper-trascrizione-audio-offline-su-android-con-sherpa-onnx/" data-a2a-title="Phone-whisper: trascrizione audio offline su Android con sherpa-onnx"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.b0sh.net/2026/04/phone-whisper-trascrizione-audio-offline-su-android-con-sherpa-onnx/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4127</post-id>	</item>
		<item>
		<title>Aggiornamenti sulla app per l&#8217;esame VDS</title>
		<link>https://www.b0sh.net/2026/04/aggiornamenti-sulla-app-per-lesame-vds/</link>
					<comments>https://www.b0sh.net/2026/04/aggiornamenti-sulla-app-per-lesame-vds/#respond</comments>
		
		<dc:creator><![CDATA[bosh]]></dc:creator>
		<pubDate>Sat, 11 Apr 2026 13:32:19 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[volo]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[aviation]]></category>
		<category><![CDATA[ulm]]></category>
		<category><![CDATA[vds]]></category>
		<guid isPermaLink="false">https://www.b0sh.net/?p=4116</guid>

					<description><![CDATA[Sono andato ulteriormente avanti con lo sviluppo della app creata settimana scorsa, e oltre a qualche fix posso annunciare che è possibile scaricare e utilizzare l&#8217;apk pronto. Basta guardare tra le release su repo github. Ho qualche dubbio sull&#8217;opportunità di pubblicare sullo store ufficiale &#8230; dovrei informarmi su burocrazia e costi.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Sono andato ulteriormente avanti con lo sviluppo della app <a href="https://www.b0sh.net/2026/04/ho-costruito-unapp-per-lesame-vds-in-una-giornata-usando-qwen-3-6-plus-gratis-su-openrouter/" data-type="post" data-id="4104">creata settimana scorsa</a>, e oltre a qualche fix posso annunciare che è possibile scaricare e utilizzare l&#8217;apk pronto. Basta guardare tra le <a href="https://github.com/b0sh-net/vdsexamapp/releases" data-type="link" data-id="https://github.com/b0sh-net/vdsexamapp/releases">release</a> su repo github.</p>



<p class="wp-block-paragraph">Ho qualche dubbio sull&#8217;opportunità di pubblicare sullo store ufficiale &#8230; dovrei informarmi su burocrazia e costi. </p>



<p class="wp-block-paragraph"></p>
<p><a class="a2a_button_mastodon" href="https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Faggiornamenti-sulla-app-per-lesame-vds%2F&amp;linkname=Aggiornamenti%20sulla%20app%20per%20l%E2%80%99esame%20VDS" title="Mastodon" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Faggiornamenti-sulla-app-per-lesame-vds%2F&amp;linkname=Aggiornamenti%20sulla%20app%20per%20l%E2%80%99esame%20VDS" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_copy_link" href="https://www.addtoany.com/add_to/copy_link?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Faggiornamenti-sulla-app-per-lesame-vds%2F&amp;linkname=Aggiornamenti%20sulla%20app%20per%20l%E2%80%99esame%20VDS" title="Copy Link" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_flipboard" href="https://www.addtoany.com/add_to/flipboard?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Faggiornamenti-sulla-app-per-lesame-vds%2F&amp;linkname=Aggiornamenti%20sulla%20app%20per%20l%E2%80%99esame%20VDS" title="Flipboard" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Faggiornamenti-sulla-app-per-lesame-vds%2F&#038;title=Aggiornamenti%20sulla%20app%20per%20l%E2%80%99esame%20VDS" data-a2a-url="https://www.b0sh.net/2026/04/aggiornamenti-sulla-app-per-lesame-vds/" data-a2a-title="Aggiornamenti sulla app per l’esame VDS"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.b0sh.net/2026/04/aggiornamenti-sulla-app-per-lesame-vds/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4116</post-id>	</item>
		<item>
		<title>Ho costruito un&#8217;app per l&#8217;esame VDS in una giornata &#8211; usando Qwen 3.6 Plus gratis su OpenRouter</title>
		<link>https://www.b0sh.net/2026/04/ho-costruito-unapp-per-lesame-vds-in-una-giornata-usando-qwen-3-6-plus-gratis-su-openrouter/</link>
					<comments>https://www.b0sh.net/2026/04/ho-costruito-unapp-per-lesame-vds-in-una-giornata-usando-qwen-3-6-plus-gratis-su-openrouter/#respond</comments>
		
		<dc:creator><![CDATA[bosh]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 14:09:11 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[claude code]]></category>
		<category><![CDATA[nemotron]]></category>
		<category><![CDATA[qwen]]></category>
		<category><![CDATA[vds]]></category>
		<category><![CDATA[vibecoding]]></category>
		<guid isPermaLink="false">https://www.b0sh.net/?p=4104</guid>

					<description><![CDATA[Continua la serie &#8220;Usiamo Claude Code a costo zero&#8221;, e questa volta ho unito la programmazione a un&#8217;altra mia passione: il volo. L&#8217;Aero Club d&#8217;Italia (AECI) mette a disposizione un&#8217;applicazione desktop per simulare l&#8217;esame di conseguimento dell&#8217;attestato VDS (Volo da Diporto o Sportivo). Utile, certo &#8211; ma decisamente più comodo avere qualcosa in tasca, da [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Continua la serie <strong>&#8220;Usiamo Claude Code a costo zero&#8221;</strong>, e questa volta ho unito la programmazione a un&#8217;altra mia passione: il volo.</p>



<p class="wp-block-paragraph">L&#8217;<strong>Aero Club d&#8217;Italia (AECI)</strong> mette a disposizione un&#8217;applicazione desktop per simulare l&#8217;esame di conseguimento dell&#8217;<strong>attestato VDS (Volo da Diporto o Sportivo)</strong>. Utile, certo &#8211; ma decisamente più comodo avere qualcosa in tasca, da usare anche lontano dalla scrivania. Non a caso esistono già alcune app per smartphone, tutte però a pagamento.</p>


<div class="wp-block-image is-style-default">
<figure class="alignleft"><img alt="" fetchpriority="high" decoding="async" width="174" height="300" src="https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-174x300.jpg" alt="" class="wp-image-4108" srcset="https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-174x300.jpg 174w, https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-595x1024.jpg 595w, https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-768x1323.jpg 768w, https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-892x1536.jpg 892w, https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-676x1164.jpg 676w, https://www.b0sh.net/wp-content/uploads/2026/04/test-vds.jpg 921w" sizes="(max-width: 174px) 100vw, 174px" /></figure>
</div>


<p class="wp-block-paragraph">Ho voluto quindi fare un esperimento: quanto tempo ci vuole per replicare le funzionalità dell&#8217;app di AECI in formato mobile, usando un modello AI gratuito come strumento di sviluppo?</p>



<p class="wp-block-paragraph"><strong>Il risultato</strong></p>



<p class="wp-block-paragraph">In circa <strong>una giornata di lavoro</strong> ho ottenuto un prototipo sostanzialmente funzionante. Lo strumento usato? <strong>Qwen 3 Plus</strong>, recentemente disponibile gratuitamente su <a rel="noreferrer noopener" target="_blank" href="https://openrouter.ai">OpenRouter</a>, abbinato a Claude Code.</p>



<p class="wp-block-paragraph">La qualità del modello è evidente: rispetto a Nemotron 3 Super rappresenta un netto passo avanti in termini di comprensione del contesto e qualità del codice generato. Poterlo usare gratuitamente sembra quasi troppo bello per essere vero &#8211; e probabilmente questa finestra non durerà a lungo. <strong>Consiglio di sfruttarla finché c&#8217;è.</strong></p>



<p class="wp-block-paragraph"><strong>Prova l&#8217;app (è open source)</strong></p>



<p class="wp-block-paragraph">Il codice è disponibile su GitHub:  <a href="https://github.com/b0sh-net/vdsexamapp" target="_blank" rel="noreferrer noopener">github.com/b0sh-net/vdsexamapp</a></p>



<p class="wp-block-paragraph">Chiunque voglia provarla, migliorarla o creare opere derivate è il benvenuto. Il progetto è aperto a contributi e modifiche di ogni tipo.</p>



<p class="wp-block-paragraph"></p>
<p><a class="a2a_button_mastodon" href="https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fho-costruito-unapp-per-lesame-vds-in-una-giornata-usando-qwen-3-6-plus-gratis-su-openrouter%2F&amp;linkname=Ho%20costruito%20un%E2%80%99app%20per%20l%E2%80%99esame%20VDS%20in%20una%20giornata%20%E2%80%93%20usando%20Qwen%203.6%20Plus%20gratis%20su%20OpenRouter" title="Mastodon" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fho-costruito-unapp-per-lesame-vds-in-una-giornata-usando-qwen-3-6-plus-gratis-su-openrouter%2F&amp;linkname=Ho%20costruito%20un%E2%80%99app%20per%20l%E2%80%99esame%20VDS%20in%20una%20giornata%20%E2%80%93%20usando%20Qwen%203.6%20Plus%20gratis%20su%20OpenRouter" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_copy_link" href="https://www.addtoany.com/add_to/copy_link?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fho-costruito-unapp-per-lesame-vds-in-una-giornata-usando-qwen-3-6-plus-gratis-su-openrouter%2F&amp;linkname=Ho%20costruito%20un%E2%80%99app%20per%20l%E2%80%99esame%20VDS%20in%20una%20giornata%20%E2%80%93%20usando%20Qwen%203.6%20Plus%20gratis%20su%20OpenRouter" title="Copy Link" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_flipboard" href="https://www.addtoany.com/add_to/flipboard?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fho-costruito-unapp-per-lesame-vds-in-una-giornata-usando-qwen-3-6-plus-gratis-su-openrouter%2F&amp;linkname=Ho%20costruito%20un%E2%80%99app%20per%20l%E2%80%99esame%20VDS%20in%20una%20giornata%20%E2%80%93%20usando%20Qwen%203.6%20Plus%20gratis%20su%20OpenRouter" title="Flipboard" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.b0sh.net%2F2026%2F04%2Fho-costruito-unapp-per-lesame-vds-in-una-giornata-usando-qwen-3-6-plus-gratis-su-openrouter%2F&#038;title=Ho%20costruito%20un%E2%80%99app%20per%20l%E2%80%99esame%20VDS%20in%20una%20giornata%20%E2%80%93%20usando%20Qwen%203.6%20Plus%20gratis%20su%20OpenRouter" data-a2a-url="https://www.b0sh.net/2026/04/ho-costruito-unapp-per-lesame-vds-in-una-giornata-usando-qwen-3-6-plus-gratis-su-openrouter/" data-a2a-title="Ho costruito un’app per l’esame VDS in una giornata – usando Qwen 3.6 Plus gratis su OpenRouter"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.b0sh.net/2026/04/ho-costruito-unapp-per-lesame-vds-in-una-giornata-usando-qwen-3-6-plus-gratis-su-openrouter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4104</post-id>	</item>
		<item>
		<title>Nemotron 3 Super vs Qwen3.5: costruire un&#8217;app con l&#8217;AI senza scrivere codice</title>
		<link>https://www.b0sh.net/2026/03/nemotron-3-super-vs-qwen3-5-costruire-unapp-con-lai-senza-scrivere-codice/</link>
					<comments>https://www.b0sh.net/2026/03/nemotron-3-super-vs-qwen3-5-costruire-unapp-con-lai-senza-scrivere-codice/#respond</comments>
		
		<dc:creator><![CDATA[bosh]]></dc:creator>
		<pubDate>Mon, 30 Mar 2026 06:30:50 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[agentic ai]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[claude code]]></category>
		<category><![CDATA[nemotron]]></category>
		<category><![CDATA[openrouter]]></category>
		<category><![CDATA[qwen3.5]]></category>
		<guid isPermaLink="false">https://www.b0sh.net/?p=4093</guid>

					<description><![CDATA[La precedente esperienza con Qwen3.5 non aveva dato i risultati sperati. Nonostante ore di lavoro e feedback continui, il modello non è mai riuscito a produrre un&#8217;applicazione funzionante: regressioni cicliche ed errori difficilmente superabili con le capacità dello strumento hanno bloccato ogni progresso. Ho voluto quindi riprovare con Nemotron-Cascade-2, ma le sue richieste hardware si [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">La <a href="https://www.b0sh.net/2026/03/claude-code-ollama-qwen3-5/" target="_blank" rel="noreferrer noopener">precedente esperienza</a> con Qwen3.5 non aveva dato i risultati sperati. Nonostante ore di lavoro e feedback continui, il modello non è mai riuscito a produrre un&#8217;applicazione funzionante: regressioni cicliche ed errori difficilmente superabili con le capacità dello strumento hanno bloccato ogni progresso.</p>



<p class="wp-block-paragraph">Ho voluto quindi riprovare con <a href="https://ollama.com/library/nemotron-cascade-2" target="_blank" rel="noreferrer noopener">Nemotron-Cascade-2</a>, ma le sue richieste hardware si sono rivelate eccessive per la mia macchina. Incuriosito comunque dall&#8217;ecosistema di modelli NVIDIA, ho scoperto che <strong>Nemotron 3 Super è disponibile gratuitamente su OpenRouter</strong> — e ho deciso di metterlo alla prova con lo stesso compito.</p>



<p class="wp-block-paragraph">Quasi <strong>21 milioni di token dopo</strong>, e con una spesa effettiva di <strong>0$</strong>, l&#8217;applicazione non è ancora priva di bug. Eppure, in qualche modo, sembra più vicina a qualcosa di concreto rispetto a quanto ottenuto con Qwen3.5. Il dettaglio più incoraggiante? Non si è ancora bloccato su un errore irrisolvibile. Con qualche altra sessione di test e qualche milione di token in più, potrebbe davvero riuscire a chiudere il lavoro.</p>



<figure class="wp-block-image size-large"><img alt="" decoding="async" width="1024" height="267" src="https://www.b0sh.net/wp-content/uploads/2026/03/nemotron-1024x267.png" alt="" class="wp-image-4098" srcset="https://www.b0sh.net/wp-content/uploads/2026/03/nemotron-1024x267.png 1024w, https://www.b0sh.net/wp-content/uploads/2026/03/nemotron-300x78.png 300w, https://www.b0sh.net/wp-content/uploads/2026/03/nemotron-768x200.png 768w, https://www.b0sh.net/wp-content/uploads/2026/03/nemotron-676x176.png 676w, https://www.b0sh.net/wp-content/uploads/2026/03/nemotron.png 1277w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Resta però evidente una cosa: siamo ancora molto lontani dall&#8217;idea romantica di <em>&#8220;mi faccio un&#8217;app semplice, senza scrivere una riga di codice, in pochi minuti&#8221;</em>. Forse ci proverò anche con <strong>Claude Sonnet</strong>, se mi avanza qualche credito a fine mese.</p>



<p class="wp-block-paragraph">Il progetto è pubblico: puoi scaricarlo e testarlo sul <a href="https://github.com/b0sh-net/GPS-Track-Recorder" target="_blank" rel="noreferrer noopener">repository GitHub</a>.</p>



<p class="wp-block-paragraph"></p>
<p><a class="a2a_button_mastodon" href="https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F03%2Fnemotron-3-super-vs-qwen3-5-costruire-unapp-con-lai-senza-scrivere-codice%2F&amp;linkname=Nemotron%203%20Super%20vs%20Qwen3.5%3A%20costruire%20un%E2%80%99app%20con%20l%E2%80%99AI%20senza%20scrivere%20codice" title="Mastodon" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F03%2Fnemotron-3-super-vs-qwen3-5-costruire-unapp-con-lai-senza-scrivere-codice%2F&amp;linkname=Nemotron%203%20Super%20vs%20Qwen3.5%3A%20costruire%20un%E2%80%99app%20con%20l%E2%80%99AI%20senza%20scrivere%20codice" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_copy_link" href="https://www.addtoany.com/add_to/copy_link?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F03%2Fnemotron-3-super-vs-qwen3-5-costruire-unapp-con-lai-senza-scrivere-codice%2F&amp;linkname=Nemotron%203%20Super%20vs%20Qwen3.5%3A%20costruire%20un%E2%80%99app%20con%20l%E2%80%99AI%20senza%20scrivere%20codice" title="Copy Link" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_flipboard" href="https://www.addtoany.com/add_to/flipboard?linkurl=https%3A%2F%2Fwww.b0sh.net%2F2026%2F03%2Fnemotron-3-super-vs-qwen3-5-costruire-unapp-con-lai-senza-scrivere-codice%2F&amp;linkname=Nemotron%203%20Super%20vs%20Qwen3.5%3A%20costruire%20un%E2%80%99app%20con%20l%E2%80%99AI%20senza%20scrivere%20codice" title="Flipboard" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.b0sh.net%2F2026%2F03%2Fnemotron-3-super-vs-qwen3-5-costruire-unapp-con-lai-senza-scrivere-codice%2F&#038;title=Nemotron%203%20Super%20vs%20Qwen3.5%3A%20costruire%20un%E2%80%99app%20con%20l%E2%80%99AI%20senza%20scrivere%20codice" data-a2a-url="https://www.b0sh.net/2026/03/nemotron-3-super-vs-qwen3-5-costruire-unapp-con-lai-senza-scrivere-codice/" data-a2a-title="Nemotron 3 Super vs Qwen3.5: costruire un’app con l’AI senza scrivere codice"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.b0sh.net/2026/03/nemotron-3-super-vs-qwen3-5-costruire-unapp-con-lai-senza-scrivere-codice/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4093</post-id>	</item>
	</channel>
</rss>
