<?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>Gioxx.org</title>
	<atom:link href="https://gioxx.org/feed/" rel="self" type="application/rss+xml" />
	<link>https://gioxx.org</link>
	<description>Life is short. Live your dream and share your passion</description>
	<lastBuildDate>Sun, 12 Apr 2026 14:12:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://gioxx.org/wp-content/uploads/2018/02/cropped-ICON_path231-32x32.png</url>
	<title>Gioxx.org</title>
	<link>https://gioxx.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>PrivateBin: una CLI per caricare velocemente file da terminale</title>
		<link>https://gioxx.org/2026/04/13/privatebin-cli-pbincli/</link>
					<comments>https://gioxx.org/2026/04/13/privatebin-cli-pbincli/#respond</comments>
		
		<dc:creator><![CDATA[Gioxx]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 07:30:17 +0000</pubDate>
				<category><![CDATA[Tech & Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[PrivateBin]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Self-Hosted]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Terminale]]></category>
		<guid isPermaLink="false">https://gioxx.org/?p=124899</guid>

					<description><![CDATA[<p>Il mio backlog di cose da scrivere fa spavento e so benissimo che parlarti di prodotti Self-hosted senza un minimo di introduzione può sembrare cosa stupida e insensata, ma ho bisogno di mettere a terra degli appunti che sicuramente mi torneranno comodi nuovamente in futuro. Voglio davvero parlarti di self-hosting ... <a title="PrivateBin: una CLI per caricare velocemente file da terminale" class="read-more" href="https://gioxx.org/2026/04/13/privatebin-cli-pbincli/" aria-label="Read more about PrivateBin: una CLI per caricare velocemente file da terminale">Leggi tutto</a></p>
<p><a rel="nofollow" href="https://gioxx.org/2026/04/13/privatebin-cli-pbincli/">PrivateBin: una CLI per caricare velocemente file da terminale</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Il mio backlog di cose da scrivere fa spavento e so benissimo che parlarti di prodotti Self-hosted senza un minimo di introduzione può sembrare cosa stupida e insensata, ma ho bisogno di mettere a terra degli appunti che sicuramente mi torneranno comodi nuovamente in futuro. Voglio davvero parlarti di self-hosting e del mondo Docker (che fa il paio con quell&#8217;ormai vecchio articolo <a href="https://gioxx.org/2024/07/16/cloudflare-tunnel-cose-e-come-usarlo-con-docker/">Cloudflare Tunnel: cos&#8217;è e come usarlo con Docker</a>), spero di poterci mettere un po&#8217; di testa e dita sulla tastiera entro un tempo ragionevole.</p>
<p>Protagonista di questo articolo d&#8217;appunti è <strong>PrivateBin</strong> (sto parlando di lui: <strong><a href="https://privatebin.info/" rel="noopener">privatebin.info</a></strong>), che io personalmente adoro e &#8220;<em>tengo in casa</em>&#8221; a disposizione di chiunque lo voglia, raggiungibile tramite l&#8217;URL <strong><a href="https://privatebin.cerbero.cc" rel="noopener">privatebin.cerbero.cc</a></strong>. In breve, si tratta di un software pastebin open source con cifratura lato client, estremamente comodo per condividere appunti o log. E dato che ultimamente sto aiutando lo sviluppatore di Mail Archiver (<a href="https://mail-archiver.org/" rel="noopener">mail-archiver.org</a>) a risolvere una bega con le caselle Gmail &#8220;<em>molto nutrite</em>&#8220;, mi tocca spesso prendere dei log dal container in cui faccio girare la sua immagine, ripulirli da dati sensibili e poi metterglieli a disposizione. Ecco: per farlo mi sto appoggiando, tra le varie cose, a <strong>PBinCLI</strong> (<a href="https://pypi.org/project/PBinCLI/" rel="noopener">pypi.org/project/PBinCLI</a>).</p>
<h1>PrivateBin da riga di comando</h1>
<p>PrivateBin offre diversi vantaggi interessanti:</p>
<ul>
<li>cifratura end-to-end</li>
<li>scadenza automatica dei contenuti</li>
<li>possibilità di autodistruzione del paste dopo la lettura</li>
</ul>
<p>Usarlo da CLI permette di automatizzare il flusso di lavoro, integrarlo (volendo) all&#8217;interno di script e condividere velocemente contenuti testuali senza uscire dal terminale. Dato che lo script di pulizia del log originale è già scritto in Python e gira su macchina Linux, ho solo completato l&#8217;opera affiancando PBinCLI in un virtualenv di Python.</p>
<h2>Perché virtualenv?</h2>
<p>Perché installare pacchetti Python globalmente mi ha già causato problemi o conflitti con il Python di sistema, e in generale perché <em>mi sta notevolmente sul fondoschiena</em> sporcare il sistema di base.<br />
La soluzione più pulita è usare un ambiente virtuale, tanto costa zero ed è già assolutamente previsto in maniera nativa, perciò:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">python3 -m venv cli
source cli/bin/activate
pip install pbincli</pre>
<p>E il primo step è andato.</p>
<h2>Configurazione personalizzata</h2>
<p>Di default, PBinCLI utilizza un suo endpoint pubblico (disponibile all&#8217;indirizzo <a href="https://paste.i2pd.xyz/" rel="noopener">paste.i2pd.xyz</a>, un &#8220;<em>pelo tanto</em>&#8221; indietro rispetto alla versione più aggiornata di PrivateBin). Considerato che ho la mia istanza, ho quindi preferito creare un file di configurazione personalizzato che PBinCLI rileverà sul sistema e andrà a utilizzare ogni volta che viene eseguito.</p>
<pre class="EnlighterJSRAW" style="background: #f6f8fa; padding: 14px; overflow-x: auto; border-radius: 6px;" data-enlighter-language="bash">mkdir -p ~/.config/pbincli
nano ~/.config/pbincli/pbincli.conf</pre>
<p>Le opzioni utilizzabili sono tutte raccolte nella pagina ufficiale della libreria (sempre <a href="https://pypi.org/project/PBinCLI/" rel="noopener">pypi.org/project/PBinCLI</a>), nel mio caso ho semplicemente specificato questo:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">server=https://privatebin.cerbero.cc/
expire=1week
format=syntaxhighlighting</pre>
<p>In questo modo ogni invio verrà eseguito verso la mia istanza senza dover specificare ogni volta l’URL completo o le opzioni che voglio tenere come predefinite (anche perché la scadenza di default è impostata a un giorno, cosa poco fattibile quando due persone devono lavorare insieme, e in tempi differenti, a un problema).</p>
<h2>Inviare un file di testo</h2>
<p>A questo punto non resta che prendere il file di testo e inviarlo direttamente tramite PBinCLI:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">pbincli send file.txt</pre>
<p>Il file non viene trattato come allegato: il suo contenuto viene caricato come testo, cifrato e pubblicato su PrivateBin. Il comando restituisce direttamente il link finale pronto da condividere (insieme a un set di altre informazioni utili eventualmente per la gestione / cancellazione prima del previsto):</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">(cli) hello@World:/# pbincli send helloworld.txt
Reading text from stdin…
Preparing paste…
Uploading paste…
Paste uploaded!
PasteID:        8e54e66440a8a00f
Password:       DJZRTYSn7FgtCfZwAY3oar9p43jYHTxn4EkFCSu6a17G
Delete token:   ab16ee6c5750d2cddd0d0cbb14bd2b46214542f85c6422b5da5ffbe437f64f19

Link:           https://privatebin.cerbero.cc/?8e54e66440a8a00f#DJZRTYSn7FgtCfZwAY3oar9p43jYHTxn4EkFCSu6a17G
Delete Link:    https://privatebin.cerbero.cc/?pasteid=8e54e66440a8a00f&amp;deletetoken=ab16ee6c5750d2cddd0d0cbb14bd2b46214542f85c6422b5da5ffbe437f64f19</pre>
<h3>Inviare contenuto da stdin</h3>
<p>In alternativa si può usare comunque lo standard input, comodo per l&#8217;utilizzo tramite pipe e automazioni:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">cat file.txt | pbincli send -</pre>
<p>O ancora puoi scegliere di inviare le ultime righe di un log:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">tail -n 100 /var/log/syslog | pbincli send -</pre>
<p>Questa modalità torna particolarmente utile quando vuoi condividere output generato al volo da uno script o da un comando di diagnostica.</p>
<h1>Extra: Integrazione negli script</h1>
<p>Paragrafo non vitale ma te lo lascio comunque qui perché vorrei evitare di tornare a parlare di questo argomento solo per aggiungere casi d&#8217;uso. Pensa potenzialmente alla pubblicazione automatica di un log al termine di uno script:</p>
<pre class="EnlighterJSRAW" style="background: #f6f8fa; padding: 14px; overflow-x: auto; border-radius: 6px;" data-enlighter-language="bash">LOGFILE="/tmp/output.log"
some_command &gt; "$LOGFILE" 2&gt;&amp;1
URL=$(pbincli send "$LOGFILE" | grep -o 'https://.*')
echo "Log disponibile qui: $URL"</pre>
<p>In questo modo ottieni direttamente il link da allegare a notifiche, ticket o messaggi di supporto.</p>
<h2>Richiamarlo tramite alias</h2>
<p>Per rendere il comando ancora più rapido da usare, puoi sempre pensare di aggiungere un alias al terminale: <code class="EnlighterJSRAW" data-enlighter-language="bash">alias pbpush='pbincli send'</code> e poi usarlo così:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">pbpush file.txt
cat log.txt | pbpush -</pre>
<h1>Una rapida nota sulla sicurezza</h1>
<p>Il vantaggio principale rispetto a un <em>invio artigianale</em> con strumenti generici come <code>curl</code> è che <strong>PBinCLI gestisce correttamente il modello di PrivateBin</strong>, inclusa la cifratura lato client. Questo aspetto è particolarmente importante quando si condividono log sensibili, configurazioni o output tecnici che non dovrebbero essere pubblicati in chiaro.</p>
<h1>Conclusione</h1>
<p>La combinazione tra <strong>virtualenv</strong>, <strong>PBinCLI</strong> e una propria istanza PrivateBin è una soluzione per me ideale, ma considera che l&#8217;ultimo tassello non è assolutamente fondamentale (potresti usare qualsiasi istanza di PrivateBin pubblicamente disponibile su Internet), soprattutto in ambienti server e in tutti quei casi in cui serve condividere rapidamente output testuali in modo ordinato e sicuro.</p>
<p>Se poi sei curioso come una faina, anche tu utilizzi Mail Archiver e dovessi avere necessità di condividere il log del container, allora ti ho pubblicato su GitHub lo script che sto usando per anonimizzare il log e togliere di mezzo le informazioni più sensibili: <a href="https://gist.github.com/gioxx/785b93b9a0adc747d1d0f5541f3c0ed7" rel="noopener">gist.github.com/gioxx/785b93b9a0adc747d1d0f5541f3c0ed7</a> :-)</p>
<p dir="auto"><strong>#KeepItSimple</strong></p>
<p><a rel="nofollow" href="https://gioxx.org/2026/04/13/privatebin-cli-pbincli/">PrivateBin: una CLI per caricare velocemente file da terminale</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gioxx.org/2026/04/13/privatebin-cli-pbincli/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A Luca</title>
		<link>https://gioxx.org/2026/03/11/a-luca/</link>
					<comments>https://gioxx.org/2026/03/11/a-luca/#respond</comments>
		
		<dc:creator><![CDATA[Gioxx]]></dc:creator>
		<pubDate>Wed, 11 Mar 2026 21:06:54 +0000</pubDate>
				<category><![CDATA[Personale]]></category>
		<category><![CDATA[Amici]]></category>
		<category><![CDATA[Blogosfera]]></category>
		<guid isPermaLink="false">https://gioxx.org/?p=124886</guid>

					<description><![CDATA[<p>Sono passati poco meno di 20 anni da quella prima volta: poi ci siamo incontrati diverse altre volte nel corso del tempo; abbiamo avuto modo di scoprire, sorridere, chiacchierare, scambiare pensieri e vivere una vita felice dei blog, piccole isole digitali che oggi faticano a sopravvivere perché circondate da video, ... <a title="A Luca" class="read-more" href="https://gioxx.org/2026/03/11/a-luca/" aria-label="Read more about A Luca">Leggi tutto</a></p>
<p><a rel="nofollow" href="https://gioxx.org/2026/03/11/a-luca/">A Luca</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Sono passati poco meno di 20 anni da quella prima volta: poi ci siamo incontrati diverse altre volte nel corso del tempo; abbiamo avuto modo di scoprire, sorridere, chiacchierare, scambiare pensieri e vivere una <em>vita felice dei blog</em>, piccole isole digitali che oggi faticano a sopravvivere perché circondate da video, audio e forme evidentemente meno faticose di fare proprie delle informazioni che &#8211; &#8220;<em>noi boomer del web</em>&#8221; &#8211; continuiamo a <em>mettere a terra</em> &#8220;confidandole&#8221; a una tastiera e un monitor.<br />
Avevo appreso della tua malattia proprio leggendo il tuo blog, e per un momento mi ero illuso potessi davvero farcela, o almeno ci volevo credere, perché io ho davvero un brutto rapporto con la malattia e la morte, è un mio limite e devo ancora lavorarci tanto.</p>
<p>Avevo trovato il coraggio di scriverti una e-mail e mandartela, pur con tutta la difficoltà mia psicologica e il non avere mai le giuste parole in casi come questi, che per un pagliaccio logorroico come me è cosa assai strana.<br />
Avevi risposto in tempi rapidi che certamente non mi aspettavo, e mi hai pure strappato un sorriso ricordando quella prima edizione di <em>Fa La Cosa Giusta</em> a Milano (era il 2007), alla quale avevamo partecipato con il team di Mozilla Italia, dove tu eri un ospite fortemente voluto, forse eri l&#8217;unica persona seria di tutto lo stand, salvo poi <em>abbassarti</em> per un po&#8217; al nostro livello e riderne di gusto.</p>
<p>A quella e-mail, io non avrò più il coraggio di risponderti, perché sono sicuramente un coglione e perché qualsiasi altra parola non avrebbe potuto salvare una situazione evidentemente irrecuperabile. Pensa, volevo provarci davvero, mi ero tenuto &#8220;da leggere&#8221; la tua e-mail affinché mi comparisse in mezzo a quelle a cui dare ancora seguito, ho tolto il flag qualche secondo fa.</p>
<p>Ti sei spento ieri, nella tua Senigallia, in ospedale, e io continuerò a pentirmi e vergognarmi per diverso altro tempo di questa mia mancanza di ulteriore <em>coraggio</em>. Spero vorrai perdonarmi.</p>
<p>Buon viaggio amico mio.<br />
Mi auguro un giorno di poterti rivedere e organizzare insieme un Barcamp da qualche parte, nell&#8217;aldilà, solo una &#8220;<em>becera scusa</em>&#8221; per incontrarci nuovamente tutti, e godere ancora della tua compagnia.</p>
<p><a rel="nofollow" href="https://gioxx.org/2026/03/11/a-luca/">A Luca</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gioxx.org/2026/03/11/a-luca/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>NYC</title>
		<link>https://gioxx.org/2026/03/10/nyc/</link>
					<comments>https://gioxx.org/2026/03/10/nyc/#comments</comments>
		
		<dc:creator><![CDATA[Gioxx]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 08:30:40 +0000</pubDate>
				<category><![CDATA[Personale]]></category>
		<category><![CDATA[Curiosità]]></category>
		<category><![CDATA[Estero]]></category>
		<category><![CDATA[Eventi]]></category>
		<category><![CDATA[Fotografia]]></category>
		<category><![CDATA[Italia]]></category>
		<category><![CDATA[Milano]]></category>
		<category><![CDATA[USA]]></category>
		<guid isPermaLink="false">https://gioxx.org/?p=124869</guid>

					<description><![CDATA[<p>Non so neanche da dove cominciare, a malapena ricordo come si fa. Non scrivo da queste parti, intendo sul serio, da troppo tempo. Lavoro e famiglia necessitano della maggior parte delle mie ore di veglia, e nel frattempo mi è tornata la passione per la scrittura del codice, soprattutto per ... <a title="NYC" class="read-more" href="https://gioxx.org/2026/03/10/nyc/" aria-label="Read more about NYC">Leggi tutto</a></p>
<p><a rel="nofollow" href="https://gioxx.org/2026/03/10/nyc/">NYC</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Non so neanche da dove cominciare, a malapena ricordo come si fa.<br />
Non scrivo da queste parti, intendo sul serio, da troppo tempo. Lavoro e famiglia necessitano della maggior parte delle mie ore di veglia, e nel frattempo mi è tornata la passione per la scrittura del codice, soprattutto per creare soluzioni che aiutano prima di tutto me e i miei cari (ma che poi spesso finiscono per essere rese completamente Open), anche grazie all&#8217;avvento degli LLM che mi hanno facilitato la vita non poco, velocizzato e corretto laddove ho dovuto un po&#8217; &#8220;<em>tornare a imparare come si pedala</em>&#8220;, e questo ha inevitabilmente tolto tempo al blog, come con una coperta che da qualche parte comincia e poi finisce, quella che spesso non copre proprio <em>tutto tutto</em>.</p>
<p>Ti scrivo dal JFK di New York, sono in attesa del volo di rientro in Italia. Quando leggerai questo articolo (soprattutto se hai il mio blog tra i feed o sei uno/a di quelli che si accorge immediatamente di una nuova pubblicazione) dovrei nel frattempo essere atterrato a Malpensa e trovarmi &#8211; spero &#8211; sulla A8 direzione Milano. Sono stati giorni intensi, uno switch-off pianificato con neanche tanto anticipo, e che per fortuna ha subito pure un micro-slittamento che ha permesso di evitare la grande nevicata di febbraio, <a href="https://www.ilpost.it/2026/02/24/new-york-neve-foto-2026/" rel="noopener">quella che ha coperto NYC per intero</a>. Alla fine, nonostante il grigiume e il frizzante frescolino, è stata una NYC che si è lasciata amare con tutte le sue sfaccettature, onestamente non saprei neanche da dove cominciare.</p>
<p>Provo a buttare qui di getto parole, che poi vorrei provare a mettere un po&#8217; più in ordine: odori, colori, sapori, erba, piscio, povertà contrapposta a grande ricchezza (spesso ostentata senza nessun tipo di problema o remora, e fondamentalmente va bene così), posti meravigliosi adatti a tutti ma anche piccole<em> chicche</em> proprio da Instagram, palazzi, grande civiltà che si alterna abbastanza spesso anche con chi l&#8217;ha dimenticata a casa o decide di non volerla usare. Di termini ne potrei tirare fuori molti altri, ma voglio provare a buttare giù qualcosa così, a caldo, nonostante sarebbe stato bello farlo per ogni notte passata a NYC, un po&#8217; come sorta di rito della buonanotte, ma la &#8216;<em>cottura</em>&#8216; del corpo era in stadio avanzato a fine giornata, e sono praticamente andato a coricarmi quasi sempre prima della mezzanotte <em>ora locale</em>.</p>
<div id="ez-toc-container" class="ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title" style="cursor:inherit">Indice dei contenuti</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #000000;color:#000000" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #000000;color:#000000" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class="ez-toc-link ez-toc-heading-1" href="https://gioxx.org/2026/03/10/nyc/#Benvenuti_nella_City">Benvenuti nella City</a></li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class="ez-toc-link ez-toc-heading-2" href="https://gioxx.org/2026/03/10/nyc/#Hai_sete">Hai sete?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class="ez-toc-link ez-toc-heading-3" href="https://gioxx.org/2026/03/10/nyc/#Hai_fame">Hai fame?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class="ez-toc-link ez-toc-heading-4" href="https://gioxx.org/2026/03/10/nyc/#Mi_vuoi_sposare_Ti_vuoi_spostare">Mi vuoi sposare? Ti vuoi spostare?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class="ez-toc-link ez-toc-heading-5" href="https://gioxx.org/2026/03/10/nyc/#Divertiti_e_scopri">Divertiti e scopri</a></li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class="ez-toc-link ez-toc-heading-6" href="https://gioxx.org/2026/03/10/nyc/#E_quindi">E quindi?</a></li></ul></nav></div>

<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-124880" src="https://gioxx.org/wp-content/uploads/2026/03/nyc-43-e1773095929567-900x563.jpg" alt="NYC 6" width="900" height="563" title="NYC 13" srcset="https://gioxx.org/wp-content/uploads/2026/03/nyc-43-e1773095929567-900x563.jpg 900w, https://gioxx.org/wp-content/uploads/2026/03/nyc-43-e1773095929567-500x313.jpg 500w, https://gioxx.org/wp-content/uploads/2026/03/nyc-43-e1773095929567-768x480.jpg 768w, https://gioxx.org/wp-content/uploads/2026/03/nyc-43-e1773095929567-200x125.jpg 200w, https://gioxx.org/wp-content/uploads/2026/03/nyc-43-e1773095929567-1536x960.jpg 1536w, https://gioxx.org/wp-content/uploads/2026/03/nyc-43-e1773095929567.jpg 1920w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<h1>Benvenuti nella City</h1>
<p>Frase che per qualche motivo riascolto nella mia testa e <em>sento arrivare</em> dalla bocca di Germano Lanzoni, in riferimento a Milano, ma che fa molto più al caso di NYC, che di &#8220;big&#8221; ha proprio tutto.<br />
Ti accorgi di essere in America già da come ti squadrano, ti parlano, ti fanno capire che sei già in ritardo su una task-list evidentemente inesistente, ma quella sensazione &#8211; almeno in aeroporto e durante i controlli per poter entrare ufficialmente su suolo americano &#8211; te la fanno sentire tutta. E per fortuna solo lì. Sì perché, una volta approdato poi nel cuore della città, quella sensazione svanisce, sei una goccia nell&#8217;oceano e al tempo stesso importante per tutto e per tutti.</p>
<p>Si alternano saluti e sorrisi a inespressività totali, fondamentalmente perché tu esisti <em>ma non esisti</em> allo stesso tempo, la libertà di poter fare (quasi) qualsiasi cosa qui è sacrosanta e un po&#8217; te ne accorgi quando nessuno si scandalizza (e l&#8217;ho adorato, davvero) per come parli, come ti vesti, per come ti comporti in mezzo alla gente. Questo non vuol dire mancanza di rispetto per l&#8217;altrui persona, tutto il contrario, questo vuol dire che non c&#8217;è pregiudizio e costante malizia nel dire e nel fare, ed è una cosa che invidio e mi mancherà molto, nonostante Milano (e pochi altri luoghi, almeno in Italia) da questo punto di vista sta cercando di crescere almeno un po&#8217;, pur con grandissime difficoltà.</p>
<p>Ecco, forse però una nota sulla &#8216;<em>maria</em>&#8216; io qui la lascerei.<br />
Perché sì, pur vivendo in una grande metropoli (parlo di Milano) dove sono tutto sommato abituato alla puzza di piscio nei classici punti che tutti un po&#8217; si aspettano (un grandissimo saluto alle stazioni della rete metropolitana o della Centrale, o anche Rogoredo e Garibaldi <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f44b-1f3fb.png" alt="👋🏻" class="wp-smiley" style="height: 1em; max-height: 1em;" />) e <em>allo spinello lontano da occhi indiscreti</em>, quella della marijuana &#8211; che a NYC (e non solo) tutti possono fumare tranquillamente &#8211; ti porterà inesorabilmente a non sopportarla più in tempi rapidi. Penso di non averne mai passivamente inalata così tanta come in questa occasione, e pur in una situazione per me non ideale (perché non siamo qui a discutere di gusti) la mia testa è andata sulla questione della libertà: puoi farlo, nessuno ti darà contro, nessuno ti guarderà male per questo, e comunque tutti in generale rispettano le buone regole di convivenza civile, magari spegnendo il joint prima di scendere in metropolitana (un obbligo, tra l&#8217;altro), o più semplicemente <em>non fumandotela addosso</em>. Per me è stato un po&#8217; un battesimo del fuoco, uno degli odori più pesanti che NYC ha da offrire oltre a quelli che già ti aspetteresti da qualsiasi altra grande metropoli.</p>
<h1>Hai sete?</h1>
<p>Poco meno di 30 chilometri nella prima vera giornata completa a NYC, replicati e leggermente migliorati nella seconda, poi ancora una ventina circa nella terza (dove abbiamo accusato un po&#8217; di più il colpo): camminare a NYC è bellissimo ma parecchio stancante, impossibile negarlo.</p>
<p>Il territorio è vastissimo e di cose da vedere ce ne sono tante. Il numero di giorni da dedicare a questa città cambia completamente le carte in tavola ma &#8211; fortunatamente &#8211; c&#8217;è sempre la possibilità di usare i mezzi di trasporto pubblici (che funzionano perfettamente) oppure noleggiare una bicicletta, o ancora chiamare un Uber o un taxi classico, tutto ciò può accorciare di molto i tempi e le distanze tra i POI, la scelta è tua. Noi abbiamo optato &#8211; nella maggior parte dei casi &#8211; per i piedi, e quello che ho notato, e che mi è piaciuto moltissimo, è stata la facilità con la quale si possono trovare fontanelle pubbliche, sia per strada che nei luoghi pubblici al chiuso (compresi monumenti importanti quali il MOMA o il museo del Memoriale per il 9/11), in questi ultimi casi troverai molto facilmente anche la possibilità di ricaricare borracce e bottiglie. Considerato il costo dell&#8217;acqua in bottiglia, il &#8220;<em>free-refill</em>&#8221; è qualcosa che poi giustifica quasi del tutto l&#8217;acquisto. Quello che posso consigliarti in merito, è di fare un salto presso una qualsiasi catena locale di supermercati per poter risparmiare qualche centesimo, perché acquistare lo stesso prodotto presso i chioschetti in strada o nei negozi che vendono solo bibite e snack, inevitabilmente finirà per costarti di più per motivi tutt&#8217;altro che validi.</p>
<p>Sei nel paese dove la soda &#8211; in generale, vale quindi per qualsiasi bibita gassata &#8211; costa sempre meno di una bottiglia d&#8217;acqua naturale che non contenga null&#8217;altro che acqua, solo stramaledettissima acqua.</p>
<h1>Hai fame?</h1>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-124877" src="https://gioxx.org/wp-content/uploads/2026/03/nyc-5-e1773095484502-900x563.jpg" alt="NYC 4" width="900" height="563" title="NYC 14" srcset="https://gioxx.org/wp-content/uploads/2026/03/nyc-5-e1773095484502-900x563.jpg 900w, https://gioxx.org/wp-content/uploads/2026/03/nyc-5-e1773095484502-500x313.jpg 500w, https://gioxx.org/wp-content/uploads/2026/03/nyc-5-e1773095484502-768x480.jpg 768w, https://gioxx.org/wp-content/uploads/2026/03/nyc-5-e1773095484502-200x125.jpg 200w, https://gioxx.org/wp-content/uploads/2026/03/nyc-5-e1773095484502-1536x960.jpg 1536w, https://gioxx.org/wp-content/uploads/2026/03/nyc-5-e1773095484502.jpg 1920w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Fatti avanti, ma non pensare di spendere poco. In linea generale la vita ha un costo medio-alto, non importa quindi se mangerai un panino dal lurido (definizione tipicamente milanese quando si pensa al camioncino dei panini fuori dallo stadio) o se sceglierai di prendere posto al ristorante, servito e riverito. Più punti in alto, più spendi, quello vale ovunque, qui di più. Ti &#8216;salvi&#8217; solo andando a mangiare nelle classiche catene (anche se non tutte applicano lo stesso taglio prezzi e ragionamento): andare a mangiare uno smash da Five Guys, anche senza bibita (il nostro caso, come ti dicevo poco sopra), magari solo con delle patatine &#8216;regular&#8217;, arriverà a costare all&#8217;incirca 40€ (circa 47$). La stessa ordinazione, in Italia, ti sarebbe costata un pelino di più: 42,40€, ho appena simulato un ordine &#8220;da remoto&#8221; con pick-up nella sede di via Dante (a Milano, appunto).</p>
<p>Se abbandoni però questa via (e te lo consiglio, per goderti appieno <em>la cucina del luogo</em>, seppur non esista realmente ma sia fatta da &#8220;<em>più cucine del mondo</em>&#8220;), allora scoprirai che tutto sommato &#8211; comparata a una Milano &#8211; i prezzi ti risulteranno <em>familiari</em>, e sicuramente la cosa mi ha fatto pensare un po&#8217; (del tipo che a Milano i prezzi sono ormai davvero fuori da un sensato standard). L&#8217;acquisto più sensato in tal senso? Ecco. Se hai in previsione di passare da queste parti e ti piace il pesce, devi per forza fare un salto al <a href="https://www.chelseamarket.com/" rel="noopener">Chelsea Market</a> (<a href="https://maps.app.goo.gl/YN831tLBAiZvLfQ67" rel="noopener">qui</a>), e in particolare al <a href="https://www.lobsterplace.com/" rel="noopener">Lobster Place</a>: un Maine Lobster Roll da 4oz lo paghi $28.00, mentre da 6oz ti costerà $38.00, <strong>sono stati i migliori 38 dollari spesi &#8211; in cibo &#8211; da qui a parecchio tempo che io ricordi</strong>. Le tue papille gustative ti ringrazieranno, il portafogli forse un pelo meno.</p>
<p>Per il resto, ecco, fai un po&#8217; come ti pare: esistono mille guide, diecimila consigli, otto fantastilioni di influencer che popolano Instagram, TikTok e probabilmente pure la carta con incartare i regali del negozio di giocattoli all&#8217;angolo. Tutti esperti, e si finisce poi per non fare un salto in bettole o posti ultra-caratteristici non mainstream, non sponsorizzati, che poi finiscono per lasciarti la bocca in festa e un ricordo meraviglioso che ti porterai fino al prossimo viaggio, quando potrai dire all&#8217;amico, alla compagna, a tuo figlio: <em>vieni, ti porto in un posto che spacca</em>.</p>
<p>Con questo voglio evitare che tu vada a prenderti una slice da Joe o un panino al pastrami da Katz? No, ma voglio solo dirti che &#8220;<em>oltre alle gambe c&#8217;è di più</em>&#8221; (cit.), e persino un gelato preso vicino al Brooklyn Bridge può diventare qualcosa che potrei tornare a prendermi, prima o poi (se sei curioso come una faina, <a href="https://maps.app.goo.gl/R5Z3ogdxqfGL5eiS9" rel="noopener">fai clic qui</a> e segnatelo).</p>
<h1><del>Mi vuoi sposare?</del> Ti vuoi spostare?</h1>
<p>Google Maps ti è amico. E in linea generale lo è anche una eSIM con 20 GB di traffico, che poi è quella che mi sono attivato e che sto ancora usando facendo hotspot per il mio Mac. Pensavo che non avrei consumato mai quel piano, mi sbagliavo.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-124883 size-large" src="https://gioxx.org/wp-content/uploads/2026/03/nyc-4-900x204.png" alt="NYC 7" width="900" height="204" title="NYC 15" srcset="https://gioxx.org/wp-content/uploads/2026/03/nyc-4-900x204.png 900w, https://gioxx.org/wp-content/uploads/2026/03/nyc-4-500x113.png 500w, https://gioxx.org/wp-content/uploads/2026/03/nyc-4-768x174.png 768w, https://gioxx.org/wp-content/uploads/2026/03/nyc-4-200x45.png 200w, https://gioxx.org/wp-content/uploads/2026/03/nyc-4-1536x348.png 1536w, https://gioxx.org/wp-content/uploads/2026/03/nyc-4.png 1758w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Il mio è evidentemente un caso &#8216;<em>estremo</em>&#8216; (definizione forse esagerata, ma è giusto per farti capire), perché non ho voluto / dovuto utilizzare nessuna rete pubblica, eppure la città ne mette a disposizione una quantità esagerata, motivo per il quale non sarei mai riuscito a consumare tutti questi GB (<del>lo screenshot non è aggiornato proprio all&#8217;ultimo minuto, magari lo sostituisco una volta tornato in Italia con il valore finale</del> ora è aggiornato!). Quello che ti serve è &#8211; e lo faccio senza pubblicizzare proprio nessuno, perché quel club fatico a sopportarlo &#8211; una buona VPN per cercare di &#8216;<em>proteggere</em>&#8216; le tue query DNS e il tuo traffico dati, <strong>solo</strong> nel caso in cui &#8211; appunto &#8211; tu decida di utilizzare reti WiFi libere aperte come delle cozze fresche servite lungo l&#8217;East River. La favola della VPN sempre accesa anche su reti non pubbliche eviterei volentieri di raccontarla in giro, è paranoia al chilogrammo.</p>
<p>Venire a NYC senza uno smartphone con piano dati è un po&#8217; come volersela cercare. Le indicazioni non mancano e in generale ci si orienta davvero molto facilmente, ma con uno smartphone, un piano dati attivo e Google Maps alla mano ti diventerà tutto immediatamente più semplice e accessibile. Vale per i percorsi a piedi tanto quanto per quelli con i mezzi pubblici. Maps ci ha permesso di ottenere con precisione millimetrica indicazioni riguardo direzioni, numeri dei mezzi pubblici da prendere, minuti di attesa e molto, molto altro ancora. Di sicuro un&#8217;arma da avere a portata di mano manco fosse un coltellino svizzero, e nell&#8217;altra mano non dimenticarti una power bank, che finirà per servirti per forza uscendo dall&#8217;albergo al mattino e rientrandoci solo alla sera quando &#8211; prima o poi &#8211; il tuo corpo dovrà arrendersi a doccia e nanna.</p>
<p>Per il piano dati io ho personalmente scelto <a href="https://www.nomadesim.com/" rel="noopener">Nomad</a>, ma tu puoi fare un po&#8217; come ti pare. L&#8217;unico &#8220;<em>lusso</em>&#8221; che decido di prendermi, se posso permettermi (e se non posso, amen, siamo pur sempre a casa mia!), è quello di metterti in guardia da &#8220;eSIM io&#8221;: quando mi sono messo alla ricerca di un possibile fornitore eSIM per l&#8217;estero, mi è capitato di intravedere la loro pubblicità &#8211; soprattutto su Instagram &#8211; molto insistentemente. Come da tradizione, spesso questi casi di pubblicità aggressiva via social network si traduce in scam. Magari non uno scam tradizionale, ma è bastata qualche ricerca online e qualche lettura su Reddit per incontrare esperienze parecchio negative. Perché cercarsela se lì fuori esistono alternative ben più testate e affidabili?</p>
<p>Maps, e poi concludo, ti tornerà molto utile anche solo per tracciare un percorso-giornata cercando di ottimizzare le fermate, le visite, ed evitare di procurarti chilometri aggiuntivi da mettere sul conto dei tuoi piedi che di certo non ne avranno bisogno oltre quella quantità già &#8216;<em>concordata</em>&#8216; in maniera poco democratica dal tuo <em>voler fare e vedere tutto</em>. Cerca di mescolare POI di tuo reale interesse &#8211; anche solo per sfizio &#8211; a quelli che per ovvi motivi sono &#8220;<em>obbligatori</em>&#8221; per non sprecare un viaggio nella grande mela. Questo vuol dire che so per certo che nel tuo percorso infilerai l&#8217;Empire State Building o il memoriale dell&#8217;11 settembre, ma nessuno se ne avrà a male se in mezzo ci metterai una capatina al negozio di action figure in Times Square, al Google/Microsoft/Apple Store o al Nintendo Store. Ecco, anche perché poi alcune di queste &#8216;<em>frivolezze commerciali</em>&#8216; in Italia non esistono, e quindi è del tutto sensato visitarle se ti trovi da queste parti.</p>
<h1>Divertiti e scopri</h1>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-124878" src="https://gioxx.org/wp-content/uploads/2026/03/nyc-41-e1773095647986-900x563.jpg" alt="NYC 3" width="900" height="563" title="NYC 16" srcset="https://gioxx.org/wp-content/uploads/2026/03/nyc-41-e1773095647986-900x563.jpg 900w, https://gioxx.org/wp-content/uploads/2026/03/nyc-41-e1773095647986-500x313.jpg 500w, https://gioxx.org/wp-content/uploads/2026/03/nyc-41-e1773095647986-768x480.jpg 768w, https://gioxx.org/wp-content/uploads/2026/03/nyc-41-e1773095647986-200x125.jpg 200w, https://gioxx.org/wp-content/uploads/2026/03/nyc-41-e1773095647986-1536x960.jpg 1536w, https://gioxx.org/wp-content/uploads/2026/03/nyc-41-e1773095647986.jpg 1920w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Fai quello che ti piace, quello che ti fa stare bene, cerca di ragionare e pensare che questa potrebbe essere la tua prima e ultima volta a NYC, ma lascia comunque spazio alla tua fantasia, cerca di essere ottimista e dire &#8220;<em>dai, questo lo vado a guardare la prossima volta</em>&#8220;, è stato un po&#8217; il mio mantra nel momento in cui ho scoperto che no, non sarei potuto andare proprio dappertutto nonostante le buonissime intenzioni e la forza di volontà quasi ferrea (e in alcuni casi pure stupida, soprattutto quando i dolori e le vesciche mi facevano ciao con la manina). Legoland l&#8217;ho lasciata alla &#8216;<em>prossima volta</em>&#8216;, avrebbe necessitato di troppo tempo, eppure posso dirti &#8211; senza nessuna vergogna &#8211; <strong>di aver pagato per ben due volte la visita all&#8217;Empire State Building</strong> solamente perché durante la prima visita è scesa una nebbia pazzesca che non ha permesso di avere vista alcuna dall&#8217;affacciata all&#8217;ottantaseiesimo piano. Perché farlo? La domanda è: <strong>perché no</strong>? Un monumento di importanza così storica a NYC lo meritava, ed è valso ogni dollaro (il portafogli si è dissociato a questa mia affermazione, nel frattempo).</p>
<p>Vuoi metterti a parlare con un perfetto sconosciuto incontrato per strada o in metropolitana? Fallo, ma sii rispettoso, si sta aprendo con te e spesso si intavolano belle chiacchiere, e si finisce per scoprire cose nuove della città e della cultura che la popola, è meraviglioso. Riuscirai persino a sopportare quel modo di fare molto <em>swaaaaaaaaaaaaaaag</em> che non ti appartiene sicuramente, ma che qui è la normalità, così come è normale notare scene in cui due perfette sconosciute si incontrano per la prima volta, magari si incrociano solo per un momento, ma comunque si faranno un complimento a vicenda che finirà per strappare un sorriso e magari dare una migliore svolta alla giornata, non c&#8217;è malizia, non c&#8217;è invidia, c&#8217;è solo voglia di godersi la vita.</p>
<p>Qui tutto è così: se sono in buona, e non troppo presi sul serio da un qualche problema, ti sorridono e parlano pure gli agenti di polizia. Belle le uniformi, belli i mezzi (i più disparati), li trovi praticamente ovunque (i poliziotti, ma anche un po&#8217; i mezzi di trasporto), non è difficile incontrarli nei supermercati piuttosto che in pasticceria, magari solo per <em>buttare un occhio</em>, magari pure per prendersi un caffè e mangiare qualcosa facendo una piccola pausa durante il loro pattugliamento, ce ne sono ovunque, qualcuno (io?) potrebbe fare facili battute e dire che &#8216;<em>escono dalle fottute pareti</em>&#8216; (cit.) ma ti assicuro che è tutto vero. Se pensi possano incutere timore beh, hai ragione, potrebbe succedere, almeno fino a quando non ci fai l&#8217;abitudine. Ho notato invece che i local spesso li sopportano a fatica e, in almeno un paio di casi, ho anche partecipato &#8211; da spettatore &#8211; a scenate che in Italia non so quanto potrebbero accadere, discussioni in cui a fare la voce alta è il cittadino, anche quando però non si ha la ragione dalla propria. Vittoria a mani basse? I pompieri, ma per quelli nutro una stima e un affetto differente e più profondo, dagli uomini e le donne che compongono le squadra (qui ultra rispettate), tutti armadi dell&#8217;Ikea che però non possono essere montati, al massimo sono loro che <strong>smontano</strong> te, ai mezzi di trasporto che sono imponenti e bellissimi, veri protagonisti in strada in caso di emergenza. Ho fatto la foto davanti al <a href="https://maps.app.goo.gl/ywURRVQqaAySZboS6" rel="noopener">Ghostbusters Headquarters</a> che in realtà è una stazione dei vigili in attività? Ovvio, mi pare il minimo (e mi viene da piangere al solo pensare che si è aperta per un attimo per poi richiudersi subito dopo!).</p>
<h1>E quindi?</h1>
<p>E quindi è meglio che smetto di scrivere, perché nel frattempo il tempo è volato.<br />
Lui, perché noi invece stiamo ancora aspettando il nostro volo di rientro, in ritardo di circa 57 minuti rispetto al previsto, ma pure questa cosa la voglio &#8216;<em>leggere</em>&#8216; positivamente perché mi sta aiutando a fare qualcosa che non facevo da tempo: ti sto tediando con questo racconto (ammesso che tu sia arrivato a leggere fino a qui: sei un po&#8217; un eroe, ma pure un masochista mica male).</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-124874" src="https://gioxx.org/wp-content/uploads/2026/03/nyc-3-900x327.png" alt="NYC 2" width="900" height="327" title="NYC 17" srcset="https://gioxx.org/wp-content/uploads/2026/03/nyc-3-900x327.png 900w, https://gioxx.org/wp-content/uploads/2026/03/nyc-3-500x182.png 500w, https://gioxx.org/wp-content/uploads/2026/03/nyc-3-768x279.png 768w, https://gioxx.org/wp-content/uploads/2026/03/nyc-3-200x73.png 200w, https://gioxx.org/wp-content/uploads/2026/03/nyc-3-1536x558.png 1536w, https://gioxx.org/wp-content/uploads/2026/03/nyc-3.png 1832w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Potrei continuare così per molto ancora, ho visto tanto e sono stra-felice di aver creato esperienza e memoria, di portare via con me un <em>pezzo di NYC</em> visto dai miei occhi e vissuto sulla mia pelle e con mio cuore (piedi e ginocchia si stanno ora dissociando da queste affermazioni).<br />
Non ci sono (non ci vogliono essere) consigli oltre quei pochi che ti ho messo qui sopra, di guide ne è abbastanza pieno l&#8217;Internet e ti dirò che una vale più o meno l&#8217;altra, sono tutti e tutte abbastanza standardizzate. E se è vero che ci sono luoghi che non puoi non visitare (perché sarebbe veramente uno spreco d&#8217;occasioni e per questo motivo potresti prendere schiaffoni pure da remoto), è altrettanto vero che ognuno può e deve fare un po&#8217; quello che gli pare. Vuoi andare a NYC, inchiodarti in albergo e poi dire a tutti che stai <em>chattando</em> da lì? Fare un paio di fotografie <em>chiave</em> e vantarti con il mondo subito prima di rientrare a casa? Fallo, nessuno te lo vieta, se è quello che vuoi. NYC è molto più della solita inquadratura a Times Square, in fondo quella piazza è quasi la più banale da spuntare nell&#8217;elenco delle cose da fare. Spingiti più in là, perditi tra i vicoli (magari non durante la notte!), esplora e apprezza ogni sfaccettatura, a me è pianto il cuore perché ho visto un Central Park davvero molto spento e ancora molto invaso dalla neve e dal ghiaccio non ancora scioltisi, ma è inutile negare che si tratti comunque di una delle cose splendide da vedere, ho apprezzato da morire la &#8216;<em>sosta forzata</em>&#8216; a <a href="https://maps.app.goo.gl/pejGAyGSeQ6wqZwS7" rel="noopener">Strawberry Fields Memorial</a> ascoltando artisti di strada esibirsi e ricordare nella migliore maniera un artista come <span class="HlvSq">John Lennon.</span></p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-124879" src="https://gioxx.org/wp-content/uploads/2026/03/nyc-42-e1773095786796-900x563.jpg" alt="NYC 5" width="900" height="563" title="NYC 18" srcset="https://gioxx.org/wp-content/uploads/2026/03/nyc-42-e1773095786796-900x563.jpg 900w, https://gioxx.org/wp-content/uploads/2026/03/nyc-42-e1773095786796-500x313.jpg 500w, https://gioxx.org/wp-content/uploads/2026/03/nyc-42-e1773095786796-768x480.jpg 768w, https://gioxx.org/wp-content/uploads/2026/03/nyc-42-e1773095786796-200x125.jpg 200w, https://gioxx.org/wp-content/uploads/2026/03/nyc-42-e1773095786796-1536x960.jpg 1536w, https://gioxx.org/wp-content/uploads/2026/03/nyc-42-e1773095786796.jpg 1920w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Grazie NYC, ci vediamo la prossima volta, spero presto.<br />
E tu che mi stai leggendo, grazie pure a te, e scusami per i refusi che sicuramente avrò lasciato pressoché ovunque in questo mio racconto, ma l&#8217;ho lasciato uscire di getto dalle mie mani, e ora sono molto felice di averlo fatto :-)</p>
<p><a rel="nofollow" href="https://gioxx.org/2026/03/10/nyc/">NYC</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gioxx.org/2026/03/10/nyc/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>🌴 Stretch My Time Off: fatti dire quando andare in ferie</title>
		<link>https://gioxx.org/2026/02/12/stretch-my-time-off-fatti-dire-quando-andare-in-ferie/</link>
					<comments>https://gioxx.org/2026/02/12/stretch-my-time-off-fatti-dire-quando-andare-in-ferie/#respond</comments>
		
		<dc:creator><![CDATA[Gioxx]]></dc:creator>
		<pubDate>Thu, 12 Feb 2026 08:30:15 +0000</pubDate>
				<category><![CDATA[Tech & Coding]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Pillole]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Test Hw/Sw]]></category>
		<category><![CDATA[Tools]]></category>
		<guid isPermaLink="false">https://gioxx.org/?p=124858</guid>

					<description><![CDATA[<p>Sembra ieri, e invece era il 2024 quando WeRoad ha messo in piedi quella campagna pubblicitaria in metropolitana, qui, a Milano, che ha messo a disposizione di chiunque la &#8220;lista ponti&#8221; per poter sfruttare al meglio le proprie ferie (igpdecaux.it/it/case-study/we-road). La stessa campagna è stata rinnovata per il 2025 e ... <a title="🌴 Stretch My Time Off: fatti dire quando andare in ferie" class="read-more" href="https://gioxx.org/2026/02/12/stretch-my-time-off-fatti-dire-quando-andare-in-ferie/" aria-label="Read more about 🌴 Stretch My Time Off: fatti dire quando andare in ferie">Leggi tutto</a></p>
<p><a rel="nofollow" href="https://gioxx.org/2026/02/12/stretch-my-time-off-fatti-dire-quando-andare-in-ferie/">🌴 Stretch My Time Off: fatti dire quando andare in ferie</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Sembra ieri, e invece era il 2024 quando WeRoad ha messo in piedi quella campagna pubblicitaria in metropolitana, qui, a Milano, che ha messo a disposizione di chiunque la &#8220;<em>lista ponti</em>&#8221; per poter sfruttare al meglio le proprie ferie (<a href="https://www.igpdecaux.it/it/case-study/we-road" rel="noopener">igpdecaux.it/it/case-study/we-road</a>). La stessa campagna è stata rinnovata per il 2025 e il 2026, perché è oggettivamente efficace, fa discutere e sa farsi ricordare facilmente (sono qui a parlarne e sono passati già due anni, no?)</p>
<p>Nel frattempo sono nati strumenti che hanno replicato quell&#8217;idea, già precedentemente esistente e &#8211; più in generale &#8211; hobby per coloro che sono soliti mettersi davanti al calendario del nuovo anno per capire quanto tempo si riuscirà a stare lontani dalla scrivania, tra cui <a href="https://stretchmytimeoff.com/" rel="noopener">stretchmytimeoff.com</a>, progetto open che ho conosciuto e iniziato a utilizzare proprio a fine 2024. L&#8217;idea è semplice: dimmi quante ferie hai a disposizione, dove vivi (se vuoi andare più nello specifico puoi anche dichiarare la regione di appartenenza) e io ti dirò quali ferie prendere per cercare di massimizzare il periodo di relax sfruttando le giornate festive già esistenti.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-124861" src="https://gioxx.org/wp-content/uploads/2026/02/f09f8cb4-stretch-my-time-off-fatti-dire-quando-andare-in-ferie-900x514.png" alt="&#x1f334; Stretch My Time Off: fatti dire quando andare in ferie" width="900" height="514" title="&#x1f334; Stretch My Time Off: fatti dire quando andare in ferie 20" srcset="https://gioxx.org/wp-content/uploads/2026/02/f09f8cb4-stretch-my-time-off-fatti-dire-quando-andare-in-ferie-900x514.png 900w, https://gioxx.org/wp-content/uploads/2026/02/f09f8cb4-stretch-my-time-off-fatti-dire-quando-andare-in-ferie-500x286.png 500w, https://gioxx.org/wp-content/uploads/2026/02/f09f8cb4-stretch-my-time-off-fatti-dire-quando-andare-in-ferie-768x439.png 768w, https://gioxx.org/wp-content/uploads/2026/02/f09f8cb4-stretch-my-time-off-fatti-dire-quando-andare-in-ferie-200x114.png 200w, https://gioxx.org/wp-content/uploads/2026/02/f09f8cb4-stretch-my-time-off-fatti-dire-quando-andare-in-ferie-1536x878.png 1536w, https://gioxx.org/wp-content/uploads/2026/02/f09f8cb4-stretch-my-time-off-fatti-dire-quando-andare-in-ferie-2048x1170.png 2048w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Il progetto funziona ed è facilmente raggiungibile da qualsiasi browser. Quello che manca è qualche ulteriore personalizzazione che &#8211; però &#8211; per qualche motivo non è ancora stata integrata nonostante la presenza di diverse richieste aperte sul repository GitHub (che trovi all&#8217;indirizzo <a href="https://github.com/zachd/stretch-my-time-off" rel="noopener">github.com/zachd/stretch-my-time-off</a>). Io mi sono limitato ad aprire una <a href="https://github.com/zachd/stretch-my-time-off/issues/25" rel="noopener">nuova segnalazione riguardo il 4 ottobre in Italia</a>:</p>
<blockquote><p>A partire dal 1° gennaio 2026, il 4 ottobre è ufficialmente una <strong>festa nazionale in Italia dedicata a San Francesco d&#8217;Assisi</strong>, patrono del Paese, ripristinando una solennità civile per celebrare pace, fratellanza e dialogo. Questo giorno prevede la chiusura di scuole e uffici pubblici, con il diritto al trattamento retributivo di festività per i lavoratori.</p>
<ul>
<li><strong>Significato:</strong> La ricorrenza celebra San Francesco d&#8217;Assisi, Patrono d&#8217;Italia.</li>
<li><strong>Effetti:</strong> Dal 2026, si tratta di una festività a tutti gli effetti, equiparata ad altre festività nazionali, con sospensione delle attività lavorative e didattiche.</li>
<li><strong>Calendario 2026:</strong> Nel 2026, il 4 ottobre cadrà di <strong>domenica</strong>.</li>
<li>La legge n. 151 dell&#8217;8 ottobre 2025 ha introdotto questa modifica, inserendola nel calendario delle festività nazionali di cui alla legge n. 260/1949.</li>
</ul>
<p>La celebrazione del 4 ottobre era già stata istituita nel 1958, ma soppressa nel 1977, e ora ritorna come giorno festivo.</p></blockquote>
<p>Spero possa tornarti utile com&#8217;è tornato utile a me. Se hai altri suggerimenti in merito, ricorda che l&#8217;area commenti in fondo all&#8217;articolo è sempre a tua disposizione :-)</p>
<p><strong>#KeepItSimple</strong></p>
<hr />
<h6>Immagine di copertina <a class="stockpack-author" href="https://unsplash.com/@dylu?utm_source=Stockpack&amp;utm_medium=referral&amp;utm_campaign=api-credit" target="_blank" rel="nofollow noopener noreferrer">Jacek Dylag</a> on <a class="stockpack-provider" href="https://unsplash.com/photos/PMxT0XtQ--A?utm_source=Stockpack&amp;utm_medium=referral" target="_blank" rel="nofollow noopener noreferrer">Unsplash</a></h6>
<p><a rel="nofollow" href="https://gioxx.org/2026/02/12/stretch-my-time-off-fatti-dire-quando-andare-in-ferie/">🌴 Stretch My Time Off: fatti dire quando andare in ferie</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gioxx.org/2026/02/12/stretch-my-time-off-fatti-dire-quando-andare-in-ferie/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Welcome to Nebula</title>
		<link>https://gioxx.org/2026/02/09/welcome-to-nebula/</link>
					<comments>https://gioxx.org/2026/02/09/welcome-to-nebula/#comments</comments>
		
		<dc:creator><![CDATA[Gioxx]]></dc:creator>
		<pubDate>Mon, 09 Feb 2026 08:30:12 +0000</pubDate>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[In Evidenza]]></category>
		<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[Microsoft Entra]]></category>
		<category><![CDATA[Microsoft Exchange]]></category>
		<category><![CDATA[Nebula]]></category>
		<category><![CDATA[Nebula KB]]></category>
		<category><![CDATA[Nebula.Automations]]></category>
		<category><![CDATA[Nebula.Core]]></category>
		<category><![CDATA[Nebula.Log]]></category>
		<category><![CDATA[Nebula.Scripts]]></category>
		<category><![CDATA[Nebula.Tools]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[PowerShell per Microsoft 365]]></category>
		<guid isPermaLink="false">https://gioxx.org/?p=124835</guid>

					<description><![CDATA[<p>Era il 2022, muovevo i primi passi con i moduli di PowerShell personalizzati perché, stanco di avere la classica raccolta di script da interrogare a colpi di dir in console PowerShell o Command Prompt, avevo deciso di dar loro un tetto comune, da tenere sempre aggiornato, un po&#8217; per andare ... <a title="Welcome to Nebula" class="read-more" href="https://gioxx.org/2026/02/09/welcome-to-nebula/" aria-label="Read more about Welcome to Nebula">Leggi tutto</a></p>
<p><a rel="nofollow" href="https://gioxx.org/2026/02/09/welcome-to-nebula/">Welcome to Nebula</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Era il 2022, <a href="https://gioxx.org/2022/07/19/powershell-come-crearsi-un-modulo-personalizzato/">muovevo i primi passi con i moduli di PowerShell personalizzati</a> perché, stanco di avere la classica raccolta di script da interrogare a colpi di <code>dir</code> in console PowerShell o Command Prompt, avevo deciso di dar loro un tetto comune, da tenere sempre aggiornato, un po&#8217; per andare a svuotare quella raccolta ben organizzata e un po&#8217; perché tornava indubbiamente comodo avere un coltellino svizzero a portata di tastiera.<br />
2026, sono passati circa quattro anni e, insieme alla barba sempre più bianca e i quaranta che si fanno sentire, sono finalmente riuscito a tirare fuori quello che per me è stato (ed è tutt&#8217;ora) curiosità, studio, errori (tanti) e approfondimento continuo: ti presento <strong>Nebula</strong>.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-124837 size-large" src="https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-2-900x221.jpg" alt="Welcome to Nebula 1" width="900" height="221" title="Welcome to Nebula 23" srcset="https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-2-900x221.jpg 900w, https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-2-500x123.jpg 500w, https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-2-768x189.jpg 768w, https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-2-200x49.jpg 200w, https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-2-1536x378.jpg 1536w, https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-2-2048x504.jpg 2048w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<h1>Nebula</h1>
<p><strong>Nebula</strong> non è solo uno dei personaggi più controversi e particolari dell&#8217;universo Marvel, una figura complessa, frammentata, ricostruita <em>pezzo dopo pezzo, </em>è prima ancora una <span class="s1"><b>nube cosmica</b></span>, un luogo sospeso, caotico solo in apparenza, dove materia ed energia si incontrano, si mescolano e, col tempo, danno origine a qualcosa di nuovo. Nebula è il nome che ho ritenuto più adatto e calzante per un progetto che ho a lungo coccolato, voluto (prima di tutto per me), una raccolta di conoscenza sparsa, diffusa, un&#8217;evoluzione continua, un&#8217;esplorazione senza una mappa chiara, senza una precisa destinazione finale.</p>
<p class="p1"><b>Nebula non è ordine perfetto, è ordine che sta <em>nascendo</em>, </b>all&#8217;interno del quale frammenti dispersi trovano una forma e dove idee apparentemente isolate iniziano a gravitare attorno a un senso e uno scopo comune.</p>
<p>Too much?<br />
Forse. Ma sono comunque contento di poterti presentare ciò su cui ho lavorato negli ultimi tempi, e sono pronto pure a leggere quei commenti che sotto al cofano portano un semplicistico &#8220;<em>per così poco, <del>e sticazzi</del>?</em>&#8221;</p>
<h2>Core, Automations, Log, Tools</h2>
<p>Sono i nomi che ho scelto per i moduli Nebula. Inizialmente era un tutt&#8217;uno, poi ho deciso (magari sbagliando, c&#8217;è tempo per rimediare) di scindere le funzionalità, di dare a ciascun modulo un suo scopo e un suo ambiente ideale in cui darsi da fare. <strong>Core</strong> è certamente quello che porta via più tempo e concentra tanto del progetto completo, è il coltellino svizzero che ti aiuta ad amministrare più agilmente Microsoft 365, in particolare il mondo di Exchange ed Entra. Nel suo futuro c&#8217;è sicuramente Intune (in parte già si interfaccia con i dati via Graph, è solo questione di allargare un pelo gli orizzonti), e poi chissà cos&#8217;altro.</p>
<p><strong>Automations</strong> e <strong>Log</strong> sono pensati e un po&#8217; più orientati per un utilizzo lato server, utili da chiamare in causa all&#8217;interno di script programmati per non avere interazione umana (o ridurla quanto più possibile al minimo), Log è sicuramente quello che uso in maniera ormai puntuale all&#8217;interno di tutti i miei script &#8216;<em>unattended</em>&#8216;, Automations è limitato, ma ho delle idee che vorrei provare a sviluppare per dargli maggiore peso in futuro. <strong>Tools</strong> è un po&#8217; quella scatola degli attrezzi che abbandoni in uno scaffale del tuo ripostiglio o nel garage in base alla necessità, è di tutti e di nessuno, ci butti dentro un occhio quando ne hai bisogno e magari ti serviva proprio quella chiave inglese che non sapevi dove avevi lasciato l&#8217;ultima volta, perché in fondo in fondo sei sempre un po&#8217; distratto. Piccolo, &#8220;<em>occupa poco spazio</em>&#8220;, non da fastidio e <em>non mangia più del dovuto</em>, non vuole farsi notare (ed è voluto).</p>
<p>E poi c&#8217;è <em><strong>Scripts</strong></em>, che non è un modulo, è un po&#8217; quel concetto di cartella di cui ti parlavo a inizio articolo, perché nonostante tutta la buona volontà e il desiderio di integrare e accorpare, c&#8217;è sempre qualcosa che rimane fuori, quel self-service al quale è difficile rinunciare. Scripts è un repository, tale rimarrà, tu puoi sbirciare all&#8217;interno come faresti con la cassetta degli attrezzi, e puoi scegliere ciò che ti serve, tirarlo fuori, usarlo e poi riporlo.</p>
<p>In fondo si tratta sempre di repository. <strong>Il mondo dell&#8217;Open Source è abituato a dare molto</strong> e &#8211; spesso &#8211; non ottenere indietro a sufficienza. Sarà che la mia generazione è stata fortemente caratterizzata da questo spirito di condivisione della conoscenza, sarà pure perché il mio passato con Mozilla (e in particolare Mozilla Italia) ha tanto da raccontare in merito, ma quando penso a codice sorgente che non è fortemente legato a un flusso aziendale, a dati evidentemente riservati per definizione, penso sempre che sia un bene renderlo quanto più aperto possibile: utilizzo, commenti, idee, <em>modifiche condivise</em>.</p>
<p><strong>Nebula.Core</strong>, <strong>Nebula.Automations</strong>, <strong>Nebula.Log</strong> e <strong>Nebula.Tools</strong> sono tutti disponibili su GitHub:</p>
<ul>
<li><a href="https://github.com/gioxx/Nebula.Core" rel="noopener">github.com/gioxx/Nebula.Core</a></li>
<li><a href="https://github.com/gioxx/Nebula.Automations" rel="noopener">github.com/gioxx/Nebula.Automations</a></li>
<li><a href="https://github.com/gioxx/Nebula.Log" rel="noopener">github.com/gioxx/Nebula.Log</a></li>
<li><a href="https://github.com/gioxx/Nebula.Tools" rel="noopener">github.com/gioxx/Nebula.Tools</a></li>
</ul>
<p>Ovviamente c&#8217;è anche <strong>Nebula.Scripts</strong>, trovi pure lui su GitHub, all&#8217;indirizzo <a href="https://github.com/gioxx/Nebula.Scripts" rel="noopener">github.com/gioxx/Nebula.Scripts</a>. Alcuni degli script disponibili sono già in fase di integrazione nella versione <em>instabile</em> di Core, quella non ancora scaricabile da PowerShell Gallery (almeno fino a oggi che sto scrivendo queste righe) ma generalmente sempre allineata su GitHub, tempo al tempo.</p>
<h2>Un&#8217;unica Knowledge Base</h2>
<p>Che poi, come spesso accade, è ciò che mi ha portato via più tempo in assoluto.<br />
La documentazione è il tallone d&#8217;Achille di qualsiasi sviluppatore, a prescindere che sia amatoriale o esperto. Impieghi decisamente meno tempo a costruire un flusso, un&#8217;automazione, del codice che esegue un determinato compito, piuttosto che stare lì a stendere la documentazione, controllarla, arricchirla e cercare di fornire quante più spiegazioni ed esempi possibili a chiunque deciderà di dedicare alla tua opera del tempo, testarla e magari integrarla all&#8217;interno della sua quotidianità.</p>
<p>Ho navigato e cercato, chiesto in giro a chi ne sa decisamente più di me e poi scelto di concentrarmi su <a href="https://docusaurus.io/" rel="noopener">Docusaurus</a>, &#8220;<em>un generatore di siti statici open-source basato su React e sviluppato da Meta, ottimizzato per creare principalmente documentazione tecnica, ma pure blog e siti web in generale</em>&#8220;. Oggi, a distanza di un po&#8217; di tempo che la documentazione è <em>up&amp;running</em> (dopo un lungo periodo di vita vissuto in un container Docker con Node, tenuto in casa), posso dirti che c&#8217;è ancora molto da imparare, lo strumento è decisamente malleabile e ben si adatta a diversi scopi, calza a pennello per questo progetto.</p>
<p>Ho abusato, e non mi vergogno a dirlo, dell&#8217;aiuto di Codex al quale ho dato in pasto tutti i file PS1 che fanno parte dei moduli, chiedendogli di darmi una mano a preparare per sommi capi la documentazione sui vari file MD, per poi modellarla in base al mio gusto personale e a quello che reputo il modo migliore per comunicare il prodotto e come utilizzarlo, per poi tornare a chiedergli una mano per applicare lo stesso stile a tutto quello che era necessario documentare. Nasce così la KB di Nebula (battezzata anche come <strong><em>Nebula.KB</em></strong>, tanto per rimanere in linea con la <em>naming convention</em>), quella che trovi all&#8217;indirizzo <a href="https://kb.gioxx.org"><strong>kb.gioxx.org</strong></a>.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-124853" src="https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-3-900x514.jpg" alt="Welcome to Nebula 2" width="900" height="514" title="Welcome to Nebula 24" srcset="https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-3-900x514.jpg 900w, https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-3-500x286.jpg 500w, https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-3-768x439.jpg 768w, https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-3-200x114.jpg 200w, https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-3-1536x878.jpg 1536w, https://gioxx.org/wp-content/uploads/2026/02/welcome-to-nebula-3.jpg 1920w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Qui troverai tutto quello che c&#8217;è da sapere sui quattro moduli principali e, presto, spero, anche una sezione dedicata a Nebula.Scripts e agli ulteriori progetti che per un motivo o l&#8217;altro sto tenendo aggiornati e <a href="https://github.com/gioxx?tab=repositories" rel="noopener">disponibili pure loro su GitHub</a>. Non ha importanza che si tratti di plugin per <a href="https://gioxx.org/tag/wordpress/">WordPress</a> o <a href="https://gioxx.org/tag/yourls/">YOURLS</a>, l&#8217;idea è quella di avere un tetto comune, uno solo, possibilmente il più organizzato, pulito e allineato possibile, serve soprattutto per dare un ordine mentale al sottoscritto e per ritrovare facilmente informazioni quando, un domani, dimenticherò quel particolare comando che non sono abituato a utilizzare così spesso.</p>
<p>Non ci sono cookie, non ci sono analisi statistiche, la cosa più &#8220;<em>avanzata</em>&#8221; che troverai è il campo di ricerca che sono riuscito a mettere in piedi grazie ad <a href="https://www.algolia.com/" rel="noopener">Algolia</a> e al suo servizio offerto gratuitamente a siti web di documentazione per progetti Open.</p>
<p>Dimenticavo una cosa importante: <strong>è tutto in inglese</strong>. Mi piacerebbe non essere confinato alla comunità italiana, <a href="https://kb.gioxx.org/Nebula/intro#why-in-english-">l&#8217;ho spiegato un po&#8217; meglio qui</a>, e per l&#8217;occasione te lo traduco ben volentieri:</p>
<blockquote><p>Per cercare di uscire un po&#8217; dagli schemi abituali.<br />
Ho sempre scritto in italiano (e lo faccio ancora sul mio blog personale), ma a volte ho scritto in inglese, il che mi ha permesso di raggiungere un pubblico diverso, ampliando i miei orizzonti e cercando di abbracciare lo scambio di idee e il miglioramento di quelle esistenti grazie al contributo di persone al di fuori dello Stivale (come è conosciuta l&#8217;Italia).<br />
Per questo motivo ho scelto di utilizzare l&#8217;inglese come lingua principale dell&#8217;intera KB. È facilmente traducibile utilizzando strumenti online e forse in futuro valuterò la possibilità di localizzarla in italiano, ma al momento non è qualcosa che mi interessa fare.</p></blockquote>
<p>Sono sicuro che continuerò a commettere stupidi errori e che dimenticherò per strada qualcosa, ma spero davvero che tu possa e voglia contribuire, anche solo segnalandomi delle sviste, dandomi nuovi spunti e idee su cui lavorare, &#8220;<em>spammando</em>&#8221; un po&#8217; in maniera sana e mai invasiva questo progetto e, nel caso tu fossi un amministratore Microsoft 365, utilizzando i moduli e individuando anomalie e problemi che conto di correggere rapidamente, ti prego di utilizzare le Issue su GitHub (disponibili in ciascun repository e modulo annesso) per arrivare a me rapidamente.</p>
<h2>I tools non sono mai abbastanza</h2>
<p>È il concetto alla base di alcune pagine <em>particolari</em> che trovano spazio all&#8217;interno della KB:</p>
<ul>
<li><a href="https://kb.gioxx.org/message-header-analyzer"><strong>Message Header Analyzer</strong></a>: tu incolla l&#8217;intestazione di un&#8217;e-mail, la pagina penserà a estrarre il percorso di consegna, i tempi e i verdetti antispam. <span style="text-decoration: line-through;">Copiato integralmente</span> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f601.png" alt="😁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Liberamente ispirato al progetto originale di Microsoft (<a href="https://github.com/microsoft/MHA" rel="noopener">MHA</a>), leggermente rivisto in termini di usabilità della pagina di post-analisi. Tutto avviene sul tuo browser, nessun dato verrà trasmesso e/o salvato sul server.</li>
<li><a href="https://kb.gioxx.org/psadt-log-viewer"><strong>PSADT Log Viewer</strong></a>: consente di ispezionare i file di log in stile PSAppDeployToolkit / CMTrace direttamente nel browser. È possibile caricare direttamente un file di log o incollarne il contenuto, quindi filtrare per livello, componente e testo del messaggio. Anche in questo caso, nessun dato verrà salvato sul server (no, neanche quello che decidi di mandare in &#8220;<em>upload</em>&#8220;, perché in realtà viene caricato da disco e analizzato live via Javascript).</li>
<li><a href="https://kb.gioxx.org/quarantine-email-analyzer"><strong>Quarantine Email Analyzer</strong></a>: per questo servirà una specifica documentazione e uno specifico script affinché tu possa davvero comprenderlo e utilizzarlo al meglio, spero davvero di poterci lavorare entro breve (io lo sto già usando <em>in produzione</em> da mesi). Lo scopo, giusto per anticiparti qualcosa, permetterti di caricare o incollare un file CSV di quarantena per filtrare rapidamente mittenti e destinatari, e decidere (se e) cosa rilasciare. La sicurezza dei tuoi dati è sempre la stessa: vedi i due &#8220;<em>soci</em>&#8221; poco sopra, i dati non lasciano il tuo browser.</li>
</ul>
<h1>In conclusione</h1>
<p>Intanto ti chiedo scusa, ho scritto un mucchio, non scrivevo da un po&#8217;, ne avevo bisogno, e poi c&#8217;era tanto da dire, <strong>grazie</strong> per essere arrivato fino a qui.</p>
<p>È stato faticoso, lungo, ma bellissimo, se tornassi indietro rifarei tutto. Tutto questo mi ha permesso di imparare molto e di studiare cose che prima non conoscevo. L&#8217;uso dell&#8217;IA non va visto come una cosa negativa quando si usa la giusta attenzione per evitare strafalcioni o produrre sprechi di bit, è un acceleratore formidabile che mancava e che oggi non può non trovarsi all&#8217;interno della <em>borsa attrezzi</em> di una figura che lavora (o si muove per pura passione) in questo campo. E con questo, è arrivato il momento di archiviare <a href="https://github.com/gioxx/ps.toybox" rel="noopener">il vecchio ToyBox</a>.</p>
<p>Sono curioso di sapere cosa ne pensi, l&#8217;area commenti qui di seguito è a tua totale disposizione.</p>
<p><strong>#KeepItSimple</strong></p>
<p><a rel="nofollow" href="https://gioxx.org/2026/02/09/welcome-to-nebula/">Welcome to Nebula</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gioxx.org/2026/02/09/welcome-to-nebula/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Swaks: un wrapper in bash per verificare il tuo server SMTP</title>
		<link>https://gioxx.org/2025/12/04/swaks-bash-wrapper/</link>
					<comments>https://gioxx.org/2025/12/04/swaks-bash-wrapper/#respond</comments>
		
		<dc:creator><![CDATA[Gioxx]]></dc:creator>
		<pubDate>Thu, 04 Dec 2025 08:52:25 +0000</pubDate>
				<category><![CDATA[Tech & Coding]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Exchange]]></category>
		<category><![CDATA[Posta elettronica]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[Terminale]]></category>
		<guid isPermaLink="false">https://gioxx.org/?p=124778</guid>

					<description><![CDATA[<p>Un po&#8217; di cultura generale e spicciola. Cos&#8217;è Swaks (Swiss Army Knife for SMTP)? Swaks is a featureful, flexible, scriptable, transaction-oriented SMTP test tool written and maintained by John Jetmore. It is free to use and licensed under the GNU GPLv2. Features include: SMTP extensions including TLS, authentication, pipelining, PROXY, ... <a title="Swaks: un wrapper in bash per verificare il tuo server SMTP" class="read-more" href="https://gioxx.org/2025/12/04/swaks-bash-wrapper/" aria-label="Read more about Swaks: un wrapper in bash per verificare il tuo server SMTP">Leggi tutto</a></p>
<p><a rel="nofollow" href="https://gioxx.org/2025/12/04/swaks-bash-wrapper/">Swaks: un wrapper in bash per verificare il tuo server SMTP</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Un po&#8217; di cultura generale e spicciola. Cos&#8217;è <strong>Swaks</strong> (Swiss Army Knife for SMTP)?</p>
<blockquote><p>Swaks is a featureful, flexible, scriptable, transaction-oriented SMTP test tool written and maintained by <a href="https://www.jetmore.org/john/" rel="noopener">John Jetmore</a>. It is free to use and <a href="https://jetmore.org/john/code/swaks/latest/LICENSE.txt" rel="noopener">licensed</a> under the GNU GPLv2.</p>
<p><b>Features include:</b></p>
<ul>
<li>SMTP extensions including TLS, authentication, pipelining, PROXY, PRDR, and XCLIENT</li>
<li>Protocols including SMTP, ESMTP, and LMTP</li>
<li>Transports including UNIX-domain sockets, internet-domain sockets (IPv4 and IPv6), and pipes to spawned processes</li>
<li>Completely scriptable configuration, with option specification via environment variables, configuration files, and command line</li>
</ul>
<p><cite><a href="https://jetmore.org/john/code/swaks/" rel="noopener">jetmore.org/john/code/swaks</a></cite></p></blockquote>
<p>Avevo necessità di verificare che una casella di posta elettronica creata sul tenant Exchange (Microsoft 365) funzionasse correttamente, considerato che l&#8217;ho limitata in tutto tranne nell&#8217;invio tramite SMTP autenticato. Ho quindi messo in campo Swaks e, dato che non ricordavo a memoria i parametri, ho consultato la documentazione e li ho trovati, usati e verificato il corretto funzionamento della casella.</p>
<p>Al termine, però, ho pensato che un wrapper avrebbe reso la vita certamente più comoda. Considerato che quasi sicuramente tornerò a usare Swaks prossimamente, ho buttato giù qualche riga di codice per:</p>
<ul>
<li>installare il pacchetto di Swaks nel caso in cui tu non lo abbia su sistema (parlo di distribuzioni Linux o macOS),</li>
<li>installare la libreria Perl per sfruttare il TLS/SSL (<span class="pl-c">Net::SSLeay</span>),</li>
<li>chiederti tutti i parametri necessari per effettuare il collegamento SMTP alla casella di posta elettronica che vuoi testare (di default ti proporrà i dati di collegamento a Office 365, ma solo per mia comodità),</li>
<li>lanciare un test finale per permetterti di capire se c&#8217;è qualcosa che non va.</li>
</ul>
<p>Ho cercato di mantenere quanti più suggerimenti di default possibili, ma chiaramente alcune richieste sono imprenscindibili. Il codice è disponibile pubblicamente su Gist:</p>
<a href="https://gist.github.com/89a8520d1117114faaa1268f0c8f8740" target="_blank" rel="noopener"><em>View this code snippet on GitHub.</em></a>
<p>Puoi facilmente scaricarlo tramite <code>wget</code> sulla macchina dove intendi utilizzarlo:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">wget https://go.gioxx.org/swakswrapper -O swaksWrapper.sh</pre>
<h2>In caso di problemi</h2>
<p>Mi è capitato di avere problemi nel download di pacchetti (ma anche dello script stesso da GitHub) causati da proxy aziendali un po&#8217; più restrittivi. Nel caso in cui tu stia ricevendo un errore per certificato non valido quando lanci il wget, puoi ricorrere al parametro <code class="EnlighterJSRAW" data-enlighter-language="bash">--no-check-certificate</code> così da evitare la verifica su <em>player</em> che solitamente si mettono in mezzo alla comunicazione tra la tua postazione e la destinazione finale, perciò:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">wget --no-check-certificate https://go.gioxx.org/swakswrapper -O swaksWrapper.sh</pre>
<p>Se hai dubbi, l&#8217;area commenti è a tua totale disposizione! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f44b.png" alt="👋" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>#KeepItSimple</strong></p>
<p><a rel="nofollow" href="https://gioxx.org/2025/12/04/swaks-bash-wrapper/">Swaks: un wrapper in bash per verificare il tuo server SMTP</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gioxx.org/2025/12/04/swaks-bash-wrapper/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Portainer: problemi di connessione verso Docker Engine 29.0.0</title>
		<link>https://gioxx.org/2025/11/13/portainer-problemi-di-connessione-verso-docker-engine-29-0-0/</link>
					<comments>https://gioxx.org/2025/11/13/portainer-problemi-di-connessione-verso-docker-engine-29-0-0/#respond</comments>
		
		<dc:creator><![CDATA[Gioxx]]></dc:creator>
		<pubDate>Thu, 13 Nov 2025 11:15:10 +0000</pubDate>
				<category><![CDATA[Tech & Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Eventi]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LXC]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Portainer]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Self-Hosted]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Terminale]]></category>
		<guid isPermaLink="false">https://gioxx.org/?p=124799</guid>

					<description><![CDATA[<p>Giornate frizzanti per il mondo Docker e più in generale con i problemi relativi ai container (vedi Proxmox: open sysctl net.ipv4.ip_unprivileged_port_start file: reopen fd 8: permission denied (LXC), tanto per citarne uno di pochi giorni fa). Oggi (in realtà già a cavallo tra ieri e il giorno prima ancora) un nuovo ... <a title="Portainer: problemi di connessione verso Docker Engine 29.0.0" class="read-more" href="https://gioxx.org/2025/11/13/portainer-problemi-di-connessione-verso-docker-engine-29-0-0/" aria-label="Read more about Portainer: problemi di connessione verso Docker Engine 29.0.0">Leggi tutto</a></p>
<p><a rel="nofollow" href="https://gioxx.org/2025/11/13/portainer-problemi-di-connessione-verso-docker-engine-29-0-0/">Portainer: problemi di connessione verso Docker Engine 29.0.0</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Giornate frizzanti per il mondo Docker e più in generale con i problemi relativi ai container (vedi <a href="https://gioxx.org/2025/11/10/proxmox-open-sysctl-net-ipv4-ip_unprivileged_port_start-file-reopen-fd-8-permission-denied-lxc/">Proxmox: open sysctl net.ipv4.ip_unprivileged_port_start file: reopen fd 8: permission denied (LXC)</a>, tanto per citarne uno di pochi giorni fa). Oggi (in realtà già a cavallo tra ieri e il giorno prima ancora) un nuovo bug fa capolino per tenere <em>svegli</em> e <em>attivi</em> tutti coloro che utilizzano <strong>Docker</strong> in modalità <strong>Stand Alone</strong>, <strong>engine 29</strong>.0.0 (ultimo disponibile) e <strong>Portainer</strong> (sia in versione commerciale che Community):</p>
<blockquote>
<p id="post-title-t3_1oumupa" aria-label="Post Title: Docker 29 is currently not compatible with Portainer. If you upgrade, you may experience issues. Our team is already working on support for Docker 29 and we will provide an update once it is fully validated." aria-describedby="feed-post-credit-bar-t3_1oumupa">Docker 29 is currently not compatible with Portainer. If you upgrade, you may experience issues. Our team is already working on support for Docker 29 and we will provide an update once it is fully validated.</p>
<p><cite><a href="https://www.reddit.com/r/portainer/comments/1oumupa/docker_29_is_currently_not_compatible_with/" rel="noopener">reddit.com/r/portainer/comments/1oumupa/docker_29_is_currently_not_compatible_with</a></cite></p></blockquote>
<p>Quasi sicuramente, però, sarai arrivato a questo articolo (o meglio, al post di Portainer su Reddit) troppo tardi. Avrai già aggiornato la tua macchina Docker e ti sarai imbattuto nell&#8217;impossibilità di connetterti al tuo Environment con il più fermo e freddo dei messaggi: &#8220;<strong><em>The environment named XXX is unreachable</em></strong>&#8220;. Io, a questo, ho aggiunto anche il messaggio di errore che mi arrivava da WatchTower, che girava proprio su quella macchina colpita dal problema: <em>Watchtower updates on 3f00a00ad000 &#8211; Error response from daemon: client version 1.25 is too old. <strong>Minimum supported API version is 1.44</strong>, please upgrade your client to a newer version</em>. Messaggio &#8220;<em>criptico</em>&#8221; probabilmente, ma che assume molto più senso se leggi le righe subito sotto.</p>
<p>Qualche dettaglio in più lo si trova poi nel commento (sempre ufficiale) all&#8217;indirizzo <a href="https://www.reddit.com/r/portainer/comments/1oumupa/comment/noex8y6/" rel="noopener">reddit.com/r/portainer/comments/1oumupa/comment/noex8y6</a>, condito anche con l&#8217;URL diretto alla <a href="https://github.com/portainer/portainer/issues/12925#issuecomment-3516549977" rel="noopener">Issue aperta su GitHub e al work-around</a> che &#8211; <em>spoiler, funziona, ammesso tu non stia però utilizzando la versione Business che ha comunque qualche problemino ulteriore</em> &#8211; rimette tutto in piedi fino a quando non ci sarà una soluzione definitiva e ufficiale.</p>
<p style="padding-left: 40px;">You can fix it without downgrading Docker or Portainer. You can add the variable <strong>DOCKER_MIN_API_VERSION=1.24</strong> to the docker service config ( this fixes the issue for Traefik aswell if you are using this, since traefik uses the version 1.24 )</p>
<ol>
<li>systemctl edit docker.service</li>
<li>Add this part above the line <em>### Lines below this comment will be discarded:</em><br />
<strong>[Service]<br />
Environment=DOCKER_MIN_API_VERSION=1.24</strong></li>
<li>Save the file and exit</li>
<li>systemctl restart docker</li>
</ol>
<div class="messagebottle">
	<div class="messagebottle-sidebar postupdate">
		<i class="fa-solid fa-square-plus"></i> Aggiornato
	</div>
  	<div class="messagebottle-content postupdate">
		<p>Se la cosa dovesse capitarti su Alpine Linux, non ti scaldare, si aggira tutto grosso modo alla stessa maniera:</p>
<p>Modifica il file <code class="EnlighterJSRAW" data-enlighter-language="bash">/etc/conf.d/docker</code> e, in fondo al file, vai a inserire semplicemente:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash"># Docker daemon configuration
export DOCKER_MIN_API_VERSION=1.24
</pre>
<p>Salva il file e riavvia il servizio di Docker (<code class="EnlighterJSRAW" data-enlighter-language="bash">rc-service docker restart</code>), non serve altro.</p>
<p></p>
  	</div>
</div>
<p dir="auto">Applica la <em>pezza</em> su macchine non di produzione, se possibile, o &#8211; se non puoi proprio farne a meno &#8211; almeno ricorda di andare a rimuovere questa modifica nel momento in cui il problema verrà risolto sul serio. Ti consiglio di tenere d&#8217;occhio la Issue aperta su GitHub e il thread su Reddit sia per capire quando tutto questo succederà, sia per richiedere eventuale supporto. Io posso esserti molto poco utile, almeno stavolta.</p>
<p dir="auto"><strong><del>#KeepItSimple</del> #NonSmettereDiImprecare</strong> (che in questo caso penso sia d&#8217;obbligo)</p>
<hr />
<h6>Immagine di copertina: <a href="https://hdwallpaperim.com/docker-containers-2/" rel="noopener">hdwallpaperim.com</a></h6>
<p><a rel="nofollow" href="https://gioxx.org/2025/11/13/portainer-problemi-di-connessione-verso-docker-engine-29-0-0/">Portainer: problemi di connessione verso Docker Engine 29.0.0</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gioxx.org/2025/11/13/portainer-problemi-di-connessione-verso-docker-engine-29-0-0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Proxmox: open sysctl net.ipv4.ip_unprivileged_port_start file: reopen fd 8: permission denied (LXC) (Aggiornato)</title>
		<link>https://gioxx.org/2025/11/10/proxmox-open-sysctl-net-ipv4-ip_unprivileged_port_start-file-reopen-fd-8-permission-denied-lxc/</link>
					<comments>https://gioxx.org/2025/11/10/proxmox-open-sysctl-net-ipv4-ip_unprivileged_port_start-file-reopen-fd-8-permission-denied-lxc/#respond</comments>
		
		<dc:creator><![CDATA[Gioxx]]></dc:creator>
		<pubDate>Mon, 10 Nov 2025 08:30:49 +0000</pubDate>
				<category><![CDATA[Tech & Coding]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LXC]]></category>
		<category><![CDATA[Portainer]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Terminale]]></category>
		<guid isPermaLink="false">https://gioxx.org/?p=124789</guid>

					<description><![CDATA[<p>Durante il fine settimana ho avuto la malaugurata sempre buona idea di andare a fare un po&#8217; di manutenzione sul nodo Proxmox di casa e, tra le varie, aggiornare anche tutti i i LXC attivi. In seguito all&#8217;aggiornamento, Uptime Kuma mi ha prontamente segnalato che alcuni container Docker erano KO, ... <a title="Proxmox: open sysctl net.ipv4.ip_unprivileged_port_start file: reopen fd 8: permission denied (LXC) (Aggiornato)" class="read-more" href="https://gioxx.org/2025/11/10/proxmox-open-sysctl-net-ipv4-ip_unprivileged_port_start-file-reopen-fd-8-permission-denied-lxc/" aria-label="Read more about Proxmox: open sysctl net.ipv4.ip_unprivileged_port_start file: reopen fd 8: permission denied (LXC) (Aggiornato)">Leggi tutto</a></p>
<p><a rel="nofollow" href="https://gioxx.org/2025/11/10/proxmox-open-sysctl-net-ipv4-ip_unprivileged_port_start-file-reopen-fd-8-permission-denied-lxc/">Proxmox: open sysctl net.ipv4.ip_unprivileged_port_start file: reopen fd 8: permission denied (LXC) (Aggiornato)</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Durante il fine settimana ho avuto la <del>malaugurata</del> sempre buona idea di andare a fare un po&#8217; di manutenzione sul nodo Proxmox di casa e, tra le varie, aggiornare anche tutti i i LXC attivi.</p>
<p>In seguito all&#8217;aggiornamento, <a href="https://uptime.kuma.pet/" rel="noopener">Uptime Kuma</a> mi ha prontamente segnalato che alcuni container Docker erano KO, cosa che di solito non accade perché, nel post-aggiornamento di Docker e delle sue componenti, tutti i compose vengono fatti ripartire e i container tornano operativi in autonomia. Il nodo ha in pancia un paio di LXC che sono dedicati ad altrettanti servizi che girano &#8211; appunto &#8211; via Docker, esposti e isolati. Provando a fare un salto su Portainer e forzando l&#8217;avvio degli stack, ottengo questo errore:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="raw">Failed to deploy a stack: compose up operation failed: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: open sysctl net.ipv4.ip_unprivileged_port_start file: reopen fd 8: permission denied</pre>
<p>Dato che volevo rapidamente riportare up&amp;running i servizi, ho chiesto a ChatGPT di spiegarmi e cercare cosa stesse accadendo:</p>
<blockquote><p>Con gli ultimi update il <strong>runtime tenta di impostare il sysctl <code>net.ipv4.ip_unprivileged_port_start=0</code> all’avvio di ogni container</strong>, cosa che in un <strong data-start="246" data-end="266">LXC unprivileged</strong> viene ora bloccata da AppArmor/cgroup → “permission denied”. Prima questo passaggio era più permissivo; una recente modifica in <strong>runc</strong> (per una fix di sicurezza) ha cambiato il modo in cui il sysctl viene applicato, e dentro LXC unprivileged ora salta fuori l’errore.</p>
<h3>Perché &#8220;proprio oggi&#8221;?</h3>
<ul>
<li><strong>runc/containerd aggiornati</strong>: c’è un bug/regressione recente in <strong>runc 1.3.x</strong> che, in LXC non privilegiati, fa fallire l’accesso al sysctl durante l’init del container. È correlato a un hardening introdotto per una CVE e impatta chi esegue Docker dentro LXC.</li>
<li><strong>Docker tende a settare quel sysctl a 0 di default per i container</strong> (così anche gli utenti non root possono aprire porte &lt;1024). In LXC unprivileged, questa scrittura ora viene negata.</li>
<li><strong>Molti hanno visto il problema dopo &#8220;apt upgrade&#8221; su Proxmox LXC</strong> negli ultimi giorni; alcuni hanno risolto <strong>downgradando <code>containerd.io</code></strong> a una build precedente.</li>
</ul>
</blockquote>
<p>Se sei curioso e vuoi approfondire, ti ho lasciato qualche riferimento (link) in fondo all&#8217;articolo.</p>
<p>Per poter rimettere in piedi il tutto, ho scelto di non effettuare un downgrade di <strong><code>containerd.io</code></strong> (vedi anche <a href="https://forum.proxmox.com/threads/docker-inside-lxc-net-ipv4-ip_unprivileged_port_start-error.175437/" rel="noopener">questa discussione sul forum di Proxmox</a>), ho preferito modificare il comportamento del LXC e abilitare i permessi extra, così da permettere a <code>sysctl</code> di non rimanere bloccato. Per farlo, ho recuperato l&#8217;ID del LXC interessato e poi ho eseguito (occhio: 801, qui di seguito, è l&#8217;ID che ho usato io, nel tuo caso dovrai recuperarlo lanciando un <code class="EnlighterJSRAW" data-enlighter-language="bash">pct list</code> sulla console del tuo nodo Proxmox):</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">pct set 801 -features nesting=1,keyctl=1
echo "lxc.apparmor.profile: unconfined" &gt;&gt; /etc/pve/lxc/801.conf
echo "lxc.cgroup2.devices.allow: a" &gt;&gt; /etc/pve/lxc/801.conf
echo "lxc.cap.drop:" &gt;&gt; /etc/pve/lxc/801.conf
pct restart 801</pre>
<p>Dato che avrei dovuto ripetere da lì a poco la medesima operazione, ho scritto due righe di bash (che poi sono diventate ben più di due revisionando il codice con VSCode e Copilot, ma vabbè) per farlo più agilmente:</p>
<a href="https://gist.github.com/b1b714956ad0dee685c1de52f65e4238" target="_blank" rel="noopener"><em>View this code snippet on GitHub.</em></a>
<p>Puoi scaricarlo sul tuo nodo Proxmox direttamente da GitHub:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">wget https://gist.github.com/gioxx/b1b714956ad0dee685c1de52f65e4238/raw/9fb1c98fdb227a51a389b96d7008a00f76d01381/tune-pct.sh -O tune-pct.sh</pre>
<p>A quel punto rendilo eseguibile (<code class="EnlighterJSRAW" data-enlighter-language="bash">chmod +x tune-pct.sh</code>) e lancialo così: <code class="EnlighterJSRAW" data-enlighter-language="bash">./tune-pct.sh 801</code></p>
<p>Salvo problemi, in console sul tuo nodo Proxmox dovresti vedere un messaggio simile a questo:</p>
<p><code class="EnlighterJSRAW" data-enlighter-language="raw">explicitly configured lxc.apparmor.profile overrides the following settings: features:nesting</code></p>
<p>A conferma che il container LXC sta ripartendo rispettando però i tuoi nuovi settaggi. Ora, sperando di non portare iella, dovresti riuscire a far ripartire tutto senza problemi.</p>
<div class="messagebottle">
	<div class="messagebottle-sidebar postupdate">
		<i class="fa-solid fa-square-plus"></i> Aggiornato
	</div>
  	<div class="messagebottle-content postupdate">
		<p><strong>Aggiornamento del 12/11/29025</strong><br />
Nel caso in cui tu ottenga comunque un errore di avvio del tuo Compose &#8211; <strong><em>Error response from daemon: Could not check if docker-default AppArmor profile was loaded: open /sys/kernel/security/apparmor/profiles: permission denied</em></strong> &#8211; dovrai mettere mano allo stesso e aggiungere / modificare l&#8217;opzione apparmor così:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="dockerfile">security_opt:
   - apparmor=unconfined</pre>
<p>Così facendo, dovresti finalmente riuscire ad avviare il tuo Compose / Stack e permettere al container di partire.</p>
<p>Un grande grazie a Matteo per la segnalazione.</p>
  	</div>
</div>
<p>In caso di dubbi, come al solito, hai l&#8217;area commenti a tua disposizione.</p>
<p><strong>#KeepItSimple</strong></p>
<hr />
<h6>Immagine di copertina: <a href="https://www.proxmoxcentral.com/" rel="noopener">proxmoxcentral.com</a><br />
riferimenti:<br />
<a href="https://forums.docker.com/t/non-root-user-able-to-bind-to-port-80-why/140524" rel="noopener">forums.docker.com/t/non-root-user-able-to-bind-to-port-80-why/140524</a><br />
<a href="https://github.com/opencontainers/runc/issues/4972" rel="noopener">github.com/opencontainers/runc/issues/4972</a><br />
<a href="https://help.nextcloud.com/t/error-during-container-init-open-sysctl-net-ipv4-ip-unprivileged-port-start-file-reopen-fd-8-permission-denied-unknown/235301" rel="noopener">help.nextcloud.com/t/error-during-container-init-open-sysctl-net-ipv4-ip-unprivileged-port-start-file-reopen-fd-8-permission-denied-unknown/235301</a><br />
<a href="https://www.reddit.com/r/docker/comments/1op6e1a/impossible_to_run_docker/" rel="noopener">reddit.com/r/docker/comments/1op6e1a/impossible_to_run_docker/</a></h6>
<p><a rel="nofollow" href="https://gioxx.org/2025/11/10/proxmox-open-sysctl-net-ipv4-ip_unprivileged_port_start-file-reopen-fd-8-permission-denied-lxc/">Proxmox: open sysctl net.ipv4.ip_unprivileged_port_start file: reopen fd 8: permission denied (LXC) (Aggiornato)</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gioxx.org/2025/11/10/proxmox-open-sysctl-net-ipv4-ip_unprivileged_port_start-file-reopen-fd-8-permission-denied-lxc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Intune e Managed Apps: Waiting for install status</title>
		<link>https://gioxx.org/2025/10/28/intune-e-managed-apps-waiting-for-install-status/</link>
					<comments>https://gioxx.org/2025/10/28/intune-e-managed-apps-waiting-for-install-status/#respond</comments>
		
		<dc:creator><![CDATA[Gioxx]]></dc:creator>
		<pubDate>Tue, 28 Oct 2025 11:36:45 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Intune]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://gioxx.org/?p=124767</guid>

					<description><![CDATA[<p>È un problema vecchio, stra-noto e stra-discusso nei forum, su Reddit e chissà in quanti altri posti. Eppure, nonostante io ci stia combattendo da non poco tempo, sono ancora fermo al palo (ho anche un ticket aperto con Microsoft che naviga in acque agitate e ben lontano da terraferma) e ... <a title="Intune e Managed Apps: Waiting for install status" class="read-more" href="https://gioxx.org/2025/10/28/intune-e-managed-apps-waiting-for-install-status/" aria-label="Read more about Intune e Managed Apps: Waiting for install status">Leggi tutto</a></p>
<p><a rel="nofollow" href="https://gioxx.org/2025/10/28/intune-e-managed-apps-waiting-for-install-status/">Intune e Managed Apps: Waiting for install status</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>È un problema vecchio, stra-noto e stra-discusso nei forum, su Reddit e chissà in quanti altri posti. Eppure, nonostante io ci stia combattendo da non poco tempo, <strong>sono ancora fermo al palo</strong> (ho anche un ticket aperto con Microsoft che naviga in acque agitate e ben lontano da terraferma) e mi dispiace pure dirtelo così, perché probabilmente mi stai leggendo alla ricerca della soluzione.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-124770" src="https://gioxx.org/wp-content/uploads/2025/10/intune-e-managed-apps-waiting-for-install-status-900x372.png" alt="Intune e Managed Apps: Waiting for install status" width="900" height="372" title="Intune e Managed Apps: Waiting for install status 26" srcset="https://gioxx.org/wp-content/uploads/2025/10/intune-e-managed-apps-waiting-for-install-status-900x372.png 900w, https://gioxx.org/wp-content/uploads/2025/10/intune-e-managed-apps-waiting-for-install-status-500x207.png 500w, https://gioxx.org/wp-content/uploads/2025/10/intune-e-managed-apps-waiting-for-install-status-768x318.png 768w, https://gioxx.org/wp-content/uploads/2025/10/intune-e-managed-apps-waiting-for-install-status-200x83.png 200w, https://gioxx.org/wp-content/uploads/2025/10/intune-e-managed-apps-waiting-for-install-status-1536x636.png 1536w, https://gioxx.org/wp-content/uploads/2025/10/intune-e-managed-apps-waiting-for-install-status.png 1561w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Quello che posso fare è usare questo articolo per raccogliere alcuni spunti interessanti e che mi sono tornati utili. Nello specifico, un po&#8217; per battezzare l&#8217;articolo, voglio salvarmi qui questo riferimento che mi ha aiutato a tirare fuori alcuni dati da Intune e metterli in un file CSV che ho potuto così lavorare un po&#8217; meglio tramite Excel.</p>
<blockquote><p>Managing application installations is crucial for any organization. Microsoft Intune, combined with Microsoft Graph, offers powerful tools to monitor and report on app installations. However, Intune provides these reports per app, requiring you to click into each one individually. In this article, we&#8217;ll show you how to extract the Intune App user install status data using Microsoft Graph and compile it into an Excel file for a complete overview. This approach will help you track deployments across your organization.<cite><a href="https://michaelsendpoint.com/powershell/user_app_install_report.html" rel="noopener">michaelsendpoint.com/powershell/user_app_install_report.html</a></cite></p></blockquote>
<p>Avevo pensato che ottenere la lista dei PC con installazioni in <em>sospeso</em> potesse essere una buona idea, così da poter provare a individuare più facilmente i <em>partecipanti al cimitero</em> dei &#8220;<em>Waiting for install status</em>&#8220;.<br />
Lo script di Michael (questo: <a href="https://github.com/Vejitaxp/michaelsendpoint_public/blob/main/Powershell/user_app_install_report/user_app_install_report.ps1" rel="noopener">github.com/Vejitaxp/michaelsendpoint_public/blob/main/Powershell/user_app_install_report/user_app_install_report.ps1</a>) resta valido, ma non risponde all&#8217;esigenza specifica, anche perché andando a sbirciare singolarmente lo stato delle installazioni delle applicazioni gestite da Intune, i PC &#8220;<em>problematici</em>&#8221; spesso compaiono come correttamente gestiti e con l&#8217;applicazione a bordo, installata correttamente.</p>
<p>Il problema è relativo proprio alla trasmissione dell&#8217;inventario da PC a Intune, o chissà cos&#8217;altro io mi stia perdendo a oggi.</p>
<p>Se hai suggerimenti, sappi che sono tutti preziosi, usa l&#8217;area commenti e parliamone insieme.</p>
<p><strong>#KeepItSimple</strong></p>
<p><a rel="nofollow" href="https://gioxx.org/2025/10/28/intune-e-managed-apps-waiting-for-install-status/">Intune e Managed Apps: Waiting for install status</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gioxx.org/2025/10/28/intune-e-managed-apps-waiting-for-install-status/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PSADT: migrare facilmente da 4.1.5 a 4.1.7</title>
		<link>https://gioxx.org/2025/10/24/psadt-from-4-1-5-to-4-1-7/</link>
					<comments>https://gioxx.org/2025/10/24/psadt-from-4-1-5-to-4-1-7/#respond</comments>
		
		<dc:creator><![CDATA[Gioxx]]></dc:creator>
		<pubDate>Fri, 24 Oct 2025 09:30:46 +0000</pubDate>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[Intune]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[PSADT]]></category>
		<guid isPermaLink="false">https://gioxx.org/?p=124758</guid>

					<description><![CDATA[<p>Ti racconterò di PSADT non appena possibile, promesso. Per il momento, ti basti sapere che è un framework PowerShell che ti facilita (e di tanto) la vita quando hai bisogno di creare pacchetti di installazione (applicazioni, configurazioni, ma banalmente anche copia dati, seppur sprecato) da dare in pasto a Microsoft ... <a title="PSADT: migrare facilmente da 4.1.5 a 4.1.7" class="read-more" href="https://gioxx.org/2025/10/24/psadt-from-4-1-5-to-4-1-7/" aria-label="Read more about PSADT: migrare facilmente da 4.1.5 a 4.1.7">Leggi tutto</a></p>
<p><a rel="nofollow" href="https://gioxx.org/2025/10/24/psadt-from-4-1-5-to-4-1-7/">PSADT: migrare facilmente da 4.1.5 a 4.1.7</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><!-- Traduzione italiana dell’articolo: "Restore mailbox content to another mailbox with PowerShell" Autore originale: ALI TAJRAN Fonte: o365info.com --></p>
<p>Ti racconterò di <a href="https://psappdeploytoolkit.com/" rel="noopener">PSADT</a> non appena possibile, promesso. Per il momento, ti basti sapere che è un framework PowerShell che ti facilita (e di tanto) la vita quando hai bisogno di creare pacchetti di installazione (applicazioni, configurazioni, ma banalmente anche copia dati, seppur <em>sprecato</em>) da dare in pasto a Microsoft Intune, quindi ai tuoi client Windows gestiti. Da poco arrivato alla <a href="https://github.com/PSAppDeployToolkit/PSAppDeployToolkit/releases/tag/4.1.7" rel="noopener">versione 4.1.7</a>, ha introdotto nella <a href="https://github.com/PSAppDeployToolkit/PSAppDeployToolkit/releases/tag/4.1.6" rel="noopener">4.1.6</a> diversi bugfix che le versioni 4.1.5 e inferiori &#8220;<em>soffrono</em>&#8220;.</p>
<p>Io, che avevo scritto svariati pacchetti di installazione con la versione 4.0, avevo nel frattempo migrato tutto alla versione 4.1.5 (a causa di alcune differenze importanti riportate sul sito ufficiale: <a href="https://psappdeploytoolkit.com/docs/getting-started/upgrade-guidance-4x-to-v41" rel="noopener">psappdeploytoolkit.com/docs/getting-started/upgrade-guidance-4x-to-v41</a>) e oggi mi ritrovo a dover scegliere se fare ulteriore upgrade. Dato che ricordavo vagamente si potesse sostituire solo le cartelle principali del modulo (ammesso di rimanere nella stessa Major Version), ho aperto una discussione ad-hoc sul forum: <a href="https://discourse.psappdeploytoolkit.com/t/upgrade-to-psadt-4-1-7/7081" rel="noopener">discourse.psappdeploytoolkit.com/t/upgrade-to-psadt-4-1-7/7081</a>. L&#8217;esito è positivo: <a href="https://discourse.psappdeploytoolkit.com/t/upgrade-to-psadt-4-1-7/7081/5" rel="noopener">si può fare ancora</a>, ma per sicurezza ho fatto un&#8217;ulteriore analisi mettendo a confronto le cartelle di template pulite tra 4.1.5 e 4.1.7.</p>
<p>Quanto emerso con il sempre fidato <a href="https://winmerge.org/" rel="noopener">WinMerge</a>, fa risultare palese che le cartelle del modulo (e dei tools) sono cambiate rispetto al passato, e vale quindi quanto confermato nel forum di PSADT: conviene aggiornarle del tutto, prendendo quelle della versione 4.1.7 e sovrascrivendo quelle della 4.1.5.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-124762" src="https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-2-900x190.png" alt="PSADT: migrare facilmente da 4.1.5 a 4.1.7" width="900" height="190" title="PSADT: migrare facilmente da 4.1.5 a 4.1.7 29" srcset="https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-2-900x190.png 900w, https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-2-500x106.png 500w, https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-2-768x162.png 768w, https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-2-200x42.png 200w, https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-2.png 1149w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Partendo quindi dal presupposto che prenderò per buone le due cartelle principali (<code>PSAppDeployToolkit</code> e <code>PSAppDeployToolkit.Extensions</code>), aggiungo anche l&#8217;eseguibile (<code>Invoke-AppDeployToolkit.exe</code>). Andando poi un po&#8217; più nello specifico del file PowerShell principale (<code>Invoke-AppDeployToolkit.ps1</code>), ti posso dire che le differenze riguardano banalmente la versione del modulo.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-124763" src="https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-3-900x395.png" alt="PSADT: migrare facilmente da 4.1.5 a 4.1.7 1" width="900" height="395" title="PSADT: migrare facilmente da 4.1.5 a 4.1.7 30" srcset="https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-3-900x395.png 900w, https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-3-500x219.png 500w, https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-3-768x337.png 768w, https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-3-200x88.png 200w, https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-3-1536x674.png 1536w, https://gioxx.org/wp-content/uploads/2025/10/psadt-migrare-facilmente-da-4-1-5-a-4-1-7-3.png 1919w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Si parte con la riga più prevedibile, la 112:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">DeployAppScriptVersion = '4.1.7'</pre>
<p>Che per ovvi motivi, nella precedente versione, riportava 4.1.5. Poi, nella sezione dedicata all&#8217;inizializzazione (dalla riga 296) si passa da questo:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell"># Import the module locally if available, otherwise try to find it from PSModulePath.
if (Test-Path -LiteralPath "$PSScriptRoot\PSAppDeployToolkit\PSAppDeployToolkit.psd1" -PathType Leaf)
{
    Get-ChildItem -LiteralPath "$PSScriptRoot\PSAppDeployToolkit" -Recurse -File | Unblock-File -ErrorAction Ignore
    Import-Module -FullyQualifiedName @{ ModuleName = "$PSScriptRoot\PSAppDeployToolkit\PSAppDeployToolkit.psd1"; Guid = '8c3c366b-8606-4576-9f2d-4051144f7ca2'; ModuleVersion = '4.1.5' } -Force
}
else
{
    Import-Module -FullyQualifiedName @{ ModuleName = 'PSAppDeployToolkit'; Guid = '8c3c366b-8606-4576-9f2d-4051144f7ca2'; ModuleVersion = '4.1.5' } -Force
}</pre>
<p>a questo:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell"># Import the module locally if available, otherwise try to find it from PSModulePath.
if (Test-Path -LiteralPath "$PSScriptRoot\PSAppDeployToolkit\PSAppDeployToolkit.psd1" -PathType Leaf)
{
    Get-ChildItem -LiteralPath "$PSScriptRoot\PSAppDeployToolkit" -Recurse -File | Unblock-File -ErrorAction Ignore
    Import-Module -FullyQualifiedName @{ ModuleName = "$PSScriptRoot\PSAppDeployToolkit\PSAppDeployToolkit.psd1"; Guid = '8c3c366b-8606-4576-9f2d-4051144f7ca2'; ModuleVersion = '4.1.7' } -Force
}
else
{
    Import-Module -FullyQualifiedName @{ ModuleName = 'PSAppDeployToolkit'; Guid = '8c3c366b-8606-4576-9f2d-4051144f7ca2'; ModuleVersion = '4.1.7' } -Force
}</pre>
<p>Cambia, perciò, solo il dettaglio relativo alla versione del modulo (<code class="EnlighterJSRAW" data-enlighter-language="powershell">ModuleVersion = '4.1.7'</code>). E per concludere, un&#8217;ultima differenza anch&#8217;essa non impattante. Si arriva al termine fino all&#8217;Invocation, dove lo <code class="EnlighterJSRAW" data-enlighter-language="powershell">Show-ADTInstallationPrompt</code> (riga 355) passa da questo:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell"># Show-ADTInstallationPrompt -Message "$($adtSession.DeploymentType) failed at line $($_.InvocationInfo.ScriptLineNumber), char $($_.InvocationInfo.OffsetInLine):`n$($_.InvocationInfo.Line.Trim())`n`nMessage:`n$($_.Exception.Message)" -MessageAlignment Left -ButtonRightText OK -Icon Error -NoWait</pre>
<p>a questo:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell"># Show-ADTInstallationPrompt -Message "$($adtSession.DeploymentType) failed at line $($_.InvocationInfo.ScriptLineNumber), char $($_.InvocationInfo.OffsetInLine):`n$($_.InvocationInfo.Line.Trim())`n`nMessage:`n$($_.Exception.Message)" -ButtonRightText OK -Icon Error -NoWait</pre>
<p>In pratica è stato rimosso il <code class="EnlighterJSRAW" data-enlighter-language="powershell">-MessageAlignment Left</code> ma l&#8217;istruzione rimane commentata (quindi non eseguita).</p>
<p>Cosa puoi fare? Cerca e sostituisci 4.1.5 con 4.1.7, ignora tranquillamente il <code class="EnlighterJSRAW" data-enlighter-language="powershell">-MessageAlignment Left</code> perché stiamo parlando di una riga neanche eseguita. Così facendo hai aggiornato un pacchetto PSADT 4.1.5 a 4.1.7 con fatica pressoché zero.</p>
<p>In caso di errori, dubbi o boiate riportate in articolo sai già cosa fare, l’area commenti è a tua totale disposizione :-)</p>
<p><strong>#KeepItSimple</strong></p>
<hr />
<h6>Immagine di copertina: <a href="https://alan.co.id/cara-install-ionic/" rel="noopener">alan.co.id/cara-install-ionic</a></h6>
<p><a rel="nofollow" href="https://gioxx.org/2025/10/24/psadt-from-4-1-5-to-4-1-7/">PSADT: migrare facilmente da 4.1.5 a 4.1.7</a> è stato scritto da <a rel="nofollow" href="https://gioxx.org/author/gioxx/">Gioxx</a> per <a rel="nofollow" href="https://gioxx.org">Gioxx.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gioxx.org/2025/10/24/psadt-from-4-1-5-to-4-1-7/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
