<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Wordpress on Melabit</title>
    <link>https://static.233.196.69.159.clients.your-server.de/it/tags/wordpress/</link>
    <description>Recent content in Wordpress on Melabit</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Tue, 21 Jan 2025 18:00:00 +0000</lastBuildDate>
    <atom:link href="https://static.233.196.69.159.clients.your-server.de/it/tags/wordpress/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Da melabit a melabit: perché Jekyll?</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2025/01/21/da-melabit-a-melabit-perche-jekyll/</link>
      <pubDate>Tue, 21 Jan 2025 18:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2025/01/21/da-melabit-a-melabit-perche-jekyll/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-01-21-da-melabit-a-melabit-perche-jekyll/jametlene-reskp-fmyZcoCaSac-unsplash.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://unsplash.com/@reskp&#34;&gt;Jametlene Reskp&lt;/a&gt; su &lt;a href=&#34;https://unsplash.com&#34;&gt;Unsplash&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Come dicevo nell&amp;rsquo;&lt;a href=&#34;https://melabit.com/it/2025/01/02/da-melabit-a-melabit-addio-wordpress-ciao-jekyll/&#34;&gt;ultimo post&lt;/a&gt;, lasciare la &lt;em&gt;comfort zone&lt;/em&gt; di Wordpress non è stato per niente facile.&lt;/p&gt;&#xA;&lt;p&gt;Fra doversi preoccupare solo di scrivere qualcosa di interessante, con tutto il resto gestito da una squadra di amministratori di sistema ed esperti di programmazione web, a dover fare tutto da solo c&amp;rsquo;è un abisso.&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;è voluto un bel po&amp;rsquo; di tempo per configurare il nuovo sistema, aggiungere le funzionalità mancanti e risolvere i (tanti) problemi tecnici imprevisti. Tanto più che in parallelo continuavo a svolgere la mia normale attività lavorativa e, non dimentichiamo, dovevo pure scrivere un post ogni tanto.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;Di conseguenza, la prima necessità era basare questo nuovo blog su una piattaforma stabile e affidabile, che non cambiasse pelle ogni settimana o, peggio, che scomparisse improvvisamente dalla circolazione perché lo sviluppatore si era stufato di giocare con il suo progetto.&lt;/p&gt;&#xA;&lt;p&gt;Anche la disponibilità di una documentazione abbondante e ben fatta era fondamentale: avere guide chiare per configurare il sistema e trovare risposte rapide ai problemi (che sono inevitabili) è un aiuto enorme per non perdere giorni interi a impazzire dietro al codice.&lt;/p&gt;&#xA;&lt;p&gt;Su queste basi la scelta era inevitabile, ed era identica a quella di &lt;a href=&#34;https://melabit.wordpress.com/2014/12/31/and-the-winner-is/&#34;&gt;tanti anni fa&lt;/a&gt;: Jekyll.&lt;/p&gt;&#xA;&lt;p&gt;Perché &lt;a href=&#34;http://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt; avrà pure tanti difetti, fra tutti la lentezza nella generazione del sito e la pesantezza del codice generato, ma esiste da ben 16 anni, viene ancora sviluppato con regolarità ma senza stravolgimenti (l&amp;rsquo;&lt;a href=&#34;https://github.com/jekyll/jekyll&#34;&gt;ultima release&lt;/a&gt; è di settembre 2024), e sul web si trovano guide su tutto ciò che può venire in mente quando si sviluppa un sito con questa piattaforma.&lt;/p&gt;&#xA;&lt;p&gt;Del resto, non sarà certo un caso se &lt;a href=&#34;https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll&#34;&gt;GitHub ha scelto proprio Jekyll&lt;/a&gt; come piattaforma per generare un sito direttamente da un suo &lt;em&gt;repository&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;A suo tempo, Jekyll mi aveva tanto convinto da spingermi a scrivere tutti i 482 post del blog su &lt;a href=&#34;https://melabit.wordpress.com/&#34;&gt;wordpress.com&lt;/a&gt; in Markdown, con una &lt;a href=&#34;https://jekyllrb.com/docs/front-matter/&#34;&gt;intestazione in YAML&lt;/a&gt; come quella usata di Jekyll e con le immagini salvate in cartelle con lo stesso nome del post.&lt;/p&gt;&#xA;&lt;p&gt;Su WordPress non serviva, perché tutto quello che dovevo (e potevo) fare era copiare il testo in un nuovo post, aggiungere le immagini e premere in bottone di pubblicazione (beh, in realtà è un po&amp;rsquo; più complicato, ma ci siamo capiti).&lt;/p&gt;&#xA;&lt;p&gt;Ma avere tutto bello e pronto nel formato &lt;em&gt;giusto&lt;/em&gt; ha semplificato parecchio la transizione da WordPress a sito statico basato su Jekyll. Mi è bastato preparare la struttura di base, aggiungere i post e le immagini, e generare il sito per avere tutto bello e pronto (anche qui le cose sono &lt;em&gt;leggermente&lt;/em&gt; più complicate, ma l&amp;rsquo;idea di base è quella).&lt;/p&gt;&#xA;&lt;p&gt;Se non avessi conservato i testi originali, avrei potuto usare un &lt;a href=&#34;https://github.com/benbalter/wordpress-to-jekyll-exporter&#34;&gt;plugin WordPress&lt;/a&gt; per &lt;a href=&#34;https://heidloff.net/article/migrating-from-wordpress-to-jekyll/&#34;&gt;esportare i post da WordPress in Jekyll&lt;/a&gt; (è proprio vero che esiste un plugin WordPress per qualunque cosa!). Ma il plugin non supporta i commenti, le immagini finiscono in una directory non standard e vanno spostate in quella corretta, bisogna correggere tutti i link&amp;hellip; Alla fine, nel mio caso ci sarebbe voluto più tempo a sistemare tutto che a ripartire da zero.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;Ora il lavoro di base è finito e tutte le funzioni principali del nuovo sito bene o male funzionano. A questo punto diventa più facile esplorare delle soluzioni alternative e, si spera, più performanti di Jekyll. In cima alla mia lista ci sono Bridgetown, che è un &lt;em&gt;fork&lt;/em&gt; di Jekyll che vale la pena approfondire, e Middleman, che mi incuriosisce parecchio anche se non so bene il perché!&lt;/p&gt;&#xA;&lt;p&gt;Ci sarà da divertirsi.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Da melabit a melabit: addio WordPress, ciao Jekyll</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2025/01/02/2025-01-02-da-melabit-a-melabit-addio-wordpress-ciao-jekyll/</link>
      <pubDate>Thu, 02 Jan 2025 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2025/01/02/2025-01-02-da-melabit-a-melabit-addio-wordpress-ciao-jekyll/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-01-02-da-melabit-a-melabit-addio-wordpress-ciao-jekyll/phoenix.jpeg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Immagine generata dall&amp;rsquo;IA di &lt;a href=&#34;https://designer.microsoft.com/image-creator&#34;&gt;Microsoft Designer&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Undici anni fa, quando ho iniziato a scrivere in questo spazio personale, non avrei mai pensato di rimanere per tutto questo tempo su &lt;a href=&#34;https://wordpress.com/&#34;&gt;WordPress.com&lt;/a&gt;, una piattaforma di blogging comoda ed affidabile, che però è sempre stata &lt;a href=&#34;https://melabit.com/it/2014/08/01/i-limiti-di-wordpress-com/&#34;&gt;poco adatta al mio modo di lavorare&lt;/a&gt;. Con il tempo ho imparato a convivere con questi limiti, ma l&amp;rsquo;idea di cambiare non mi ha mai abbandonato.&lt;/p&gt;&#xA;&lt;p&gt;Sin dall&amp;rsquo;inizio avevo ben chiaro &lt;a href=&#34;https://melabit.com/it/2014/12/31/and-the-winner-is/&#34;&gt;quale piattaforma alternativa&lt;/a&gt; avrei voluto utilizzare. Qualche anno dopo ho riesaminato le alternative disponibili e i passi da fare in una &lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;lunga serie di articoli&lt;/a&gt; che alla fine si è conclusa con&amp;hellip; un nulla di fatto, forse perché non ero convinto al 100% della decisione presa.&lt;/p&gt;&#xA;&lt;p&gt;Del resto, non è facile abbandonare la &lt;em&gt;comfort zone&lt;/em&gt; di una piattaforma con la quale hai avuto per tanti anni esattamente zero problemi, per imbarcarsi in una nuova avventura in cui bisogna gestire tutto in prima persona.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;Qualche mese fa, però, è arrivata la decisione di &lt;a href=&#34;https://automattic.com/&#34;&gt;Automattic&lt;/a&gt;, l&amp;rsquo;azienda che gestisce il software open source &lt;a href=&#34;https://wordpress.org/&#34;&gt;WordPress&lt;/a&gt; e tutti i prodotti derivati, di &lt;a href=&#34;https://www.engadget.com/tumblr-and-wordpress-posts-will-reportedly-be-used-for-openai-and-midjourney-training-204425798.html&#34;&gt;condividere di default&lt;/a&gt; tutti i contenuti presenti su WordPress.com con &amp;ldquo;terze parti&amp;rdquo;, cioè di fatto con i generatori di testi basati sull&amp;rsquo;Intelligenza Artificiale (ChatGPT e compagnia bella, per capirci), sempre affamati di nuovi testi con cui affinare il loro addestramento.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; A quel punto non ci potevano più essere tentenamenti.&lt;/p&gt;&#xA;&lt;p&gt;Come se non bastasse, poco dopo Matt Mullenweg, il fondatore di WordPress, ha &lt;a href=&#34;https://joshcollinsworth.com/blog/fire-matt&#34;&gt;dato di matto&lt;/a&gt; (&lt;em&gt;nomen omen&lt;/em&gt;), evidenziando come, nonostante WordPress sia il il sistema di gestione dei contenuti (CMS) open-source più diffuso al mondo, il controllo esercitato in maniera centralizzata e sempre più dittatoriale rischia di mettere in dubbio il futuro aperto e trasparente della piattaforma.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;E allora il dado è tratto! C&amp;rsquo;è voluto tanto tempo e anche tanto lavoro, ma da oggi questo piccolo blog ha una casa tutta sua, &lt;a href=&#34;https://melabit.com/it/it&#34;&gt;melabit.com/posts/it&lt;/a&gt;, dove poter sperimentare con una libertà molto maggiore di quella concessa finora. Vediamo come va.&lt;/p&gt;&#xA;&lt;p&gt;Il &lt;a href=&#34;https://melabit.com/it/it&#34;&gt;nuovo sito&lt;/a&gt; è ancora un oggetto in divenire, la struttura di base è quella ma nei prossimi mesi ci saranno di sicuro modifiche e aggiustamenti. La prima cosa da fare è espandere la sezione in inglese, che al momento contiene solo una manciata di post, con link mancanti o ancora riferiti agli articoli originali in italiano. Vorrei anche aggiungere un sistema di notifica dei nuovi post.&lt;/p&gt;&#xA;&lt;p&gt;Nel frattempo segnalatemi senza scrupoli nei commenti tutto ciò che non funziona o che funziona male.&lt;/p&gt;&#xA;&lt;p&gt;Per i dettagli e gli aspetti tecnici della transizione vi rimando invece ai prossimi post.&lt;/p&gt;&#xA;&lt;p&gt;Resta inteso che tutti i vecchi contenuti e i commenti rimarrano disponibili su &lt;a href=&#34;https://melabit.wordpress.com/&#34;&gt;melabit.wordpress.com&lt;/a&gt;. Almeno finché Mullenweg non mi caccia&amp;hellip; 🤣🤣🤣🤣🤣&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Perché è vero che è possibile rifiutare la condivisione dei propri contenuti, e l&amp;rsquo;ho fatto anch&amp;rsquo;io ma, è altrettanto vero che bisogna scegliere esplicitamente di &lt;strong&gt;non condividere&lt;/strong&gt; i propri dati e non il contrario, come sarebbe più normale. E comunque non è affatto detto che questi contenuti non vengano razzolati lo stesso.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Swift contro Python, ovvero mele contro pere</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2022/10/03/swift-contro-python-ovvero-mele-contro-pere/</link>
      <pubDate>Mon, 03 Oct 2022 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2022/10/03/swift-contro-python-ovvero-mele-contro-pere/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2022-10-03-swift-contro-python-ovvero-mele-contro-pere/martina-leuderalbert-i-GgDz7KQz4-unsplash.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://unsplash.com/@tinaleuderalbert&#34;&gt;Martina Leuderalbert&lt;/a&gt; su &lt;a href=&#34;https://unsplash.com&#34;&gt;Unsplash&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Alle elementari la maestra mi aveva insegnato a non sommare le mele con le pere, cioè a non mettere insieme (o paragonare) cose e fatti molto diversi fra loro. Non ha quindi senso sommare 3 litri di acqua con 5 chilogrammi di farina o chiedersi se 40 metri sono più o meglio di 20 secondi.&lt;/p&gt;&#xA;&lt;p&gt;Quello che diceva la mia maestra lo dicono, sono sicuro, le maestre di tutto il mondo, ma c&amp;rsquo;è sempre qualcuno assente a queste lezioni.&lt;/p&gt;&#xA;&lt;h4 id=&#34;il-golia-della-programmazione-moderna&#34;&gt;Il Golia della programmazione moderna&lt;/h4&gt;&#xA;&lt;p&gt;Uno di questi è stato di sicuro Ari Joury che, nonostante il suo dottorato in fisica delle particelle, non si è fatto scrupoli a pubblicare su Medium questo &lt;a href=&#34;https://medium.com/geekculture/swift-was-poised-to-replace-python-then-it-tanked-3e6c11740ba6&#34;&gt;Swift was poised to replace Python. Then it tanked&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Cosa dice l’articolo? Che nel mondo del machine learning i linguaggi di programmazione più usati sono Matlab, R, Julia e soprattutto Python. Quest’ultimo, nato originariamente per sviluppare dei piccoli &lt;em&gt;script&lt;/em&gt; senza troppe pretese, è diventato oggi un vero &lt;em&gt;&amp;ldquo;Golia della programmazione moderna”&lt;/em&gt;, tanto da essere usato estensivamente da aziende come Dropbox, Instagram e Pinterest per i loro servizi online.&lt;/p&gt;&#xA;&lt;p&gt;Grazie alla disponibilità di librerie come TensorFlow o PyTorch (nonché, aggiungo io, di librerie di base come Pandas o NumPy), Python è diventato anche il linguaggio di elezione di chi si occupa di machine learning e di analisi dei dati.&lt;/p&gt;&#xA;&lt;p&gt;La crescita di Python sembra bloccata da un paio di anni, ma la sua enorme diffusione lo farà rimanere comunque un attore centrale anche nel prossimo futuro.&lt;/p&gt;&#xA;&lt;h4 id=&#34;entra-in-scena-swift&#34;&gt;Entra in scena Swift&lt;/h4&gt;&#xA;&lt;p&gt;Fin qui tutto vero e condivisibile. Magari si potrebbe eccepire qualcosina sull&amp;rsquo;importanza di R nell&amp;rsquo;ambito dell&amp;rsquo;analisi dei dati, ma non voglio essere puntiglioso.&lt;/p&gt;&#xA;&lt;p&gt;Il guaio è che se uno si limita a scrivere queste cose non se lo fila nessuno, chi vorrà mai leggere l&amp;rsquo;ennesimo articolo generico sulle virtù di Python per il machine learning (e non) o su &lt;a href=&#34;https://towardsdatascience.com/why-python-is-not-the-programming-language-of-the-future-30ddc5339b66&#34;&gt;quale linguaggio&lt;/a&gt; è destinato a soppiantarlo?&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; Ci vuole un colpo d&amp;rsquo;ala.&lt;/p&gt;&#xA;&lt;p&gt;Per fortuna c&amp;rsquo;è sempre Apple che, come il nero, va bene su tutto e, soprattutto, garantisce sempre un bel po&amp;rsquo; di click. E allora perché non mettere in mezzo Swift?&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.apple.com/swift&#34;&gt;Swift&lt;/a&gt; è un linguaggio di programmazione sviluppato da Apple con l&amp;rsquo;obiettivo specifico di sostituire &lt;a href=&#34;https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html&#34;&gt;Objective-C&lt;/a&gt; come linguaggio di elezione per lo sviluppo delle applicazioni per iOS e per macOS. Swift è facile da imparare e la sua sintassi leggibile ricalca quella di Python, è vero, così come quella di Julia e di tanti altri linguaggi di programmazione moderni.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Swift però non ha mai preteso di essere, come &lt;a href=&#34;https://medium.com/geekculture/swift-was-poised-to-replace-python-then-it-tanked-3e6c11740ba6&#34;&gt;sostiene il nostro Ari&lt;/a&gt;, il nuovo &lt;em&gt;&amp;ldquo;Re della Programmazione&amp;rdquo;&lt;/em&gt;. Ad Apple non interessa posizionare Swift come uno strumento di programmazione &lt;em&gt;general purpose&lt;/em&gt;, le interessa solo che venga usato per programmare le applicazioni per i suoi sistemi operativi. Del resto, il fatto che manchi di una versione per Windows taglia fuori una fetta così importante di potenziali utenti da rendere impossibile a priori una pretesa tanto assurda.&lt;/p&gt;&#xA;&lt;p&gt;A maggior ragione Swift non ha mai preteso di essere il nuovo strumento principe per il machine learning, come il buon Ari sotto sotto ci vuole far intendere. È vero che Google ha provato a &lt;a href=&#34;https://tensorflow.org/swift&#34;&gt;supportare Swift&lt;/a&gt; all&amp;rsquo;interno di TensorFlow (di cui Google è il principale sviluppatore), ma questo esperimento, come succede con tanti altri prodotti dell&amp;rsquo;azienda di Mountain View, è stato interrotto nel 2021. È ragionevole pensare, infatti, che chi sviluppa in Swift preferisce usare gli &lt;a href=&#34;https://developer.apple.com/machine-learning&#34;&gt;strumenti per il machine learning integrati&lt;/a&gt; in macOS/iOS piuttosto che prodotti di terze parti.&lt;/p&gt;&#xA;&lt;h4 id=&#34;io-sono-più-popolare-di-te&#34;&gt;Io sono più popolare di te&lt;/h4&gt;&#xA;&lt;p&gt;Ma la cosa più sconcertante è pretendere di confrontare la popolarità (o meno) dei linguaggi di programmazione utilizzando una metrica fasulla come la percentuale di domande poste ogni mese su StackOverflow relativamente ad uno o ad un altro linguaggio. In base a questa percentuale, la &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=python%2Cswift&#34;&gt;popolarità di Python&lt;/a&gt; è cresciuta costantemente fino alla fine del 2020, per poi stabilizzarsi al 16% del totale delle domande su StackOverflow, mentre &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=python%2Cswift&#34;&gt;quella di Swift&lt;/a&gt; dopo aver raggiunto un massimo del 3% è in declino e ora si aggira nei dintorni dell&#39;1.5%.&lt;/p&gt;&#xA;&lt;p&gt;Perché è una metrica fasulla? Perché finché siamo sui grandi numeri e confrontiamo la &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=python%2Cjavascript&#34;&gt;popolarità di Python con quella di JavaScript&lt;/a&gt; può anche avere senso basarsi sul numero di domande poste su StackOverflow per valutarne la diffusione.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2022-10-03-swift-contro-python-ovvero-mele-contro-pere/stack-overflow-python-javascript.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Ma se buttiamo nel calderone anche la terna &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=python%2Cjavascript%2Cjava%2Chtml%2Ccss%2Cphp&#34;&gt;HTML, CSS e PHP&lt;/a&gt;, che sono ancora oggi tre strumenti fondamentali per chi fa sviluppo web, troviamo che questi ultimi sono in costante declino, senza però che la decadenza (su StackOverflow) di PHP venga compensata da un incremento corrispondente nell&amp;rsquo;interesse verso JavaScript.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2022-10-03-swift-contro-python-ovvero-mele-contro-pere/stack-overflow-python-javascript-html-css-php.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Anche &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=wordpress&#34;&gt;Wordpress&lt;/a&gt;, che piaccia o non piaccia sta dietro il 40% dei siti web, secondo la metrica di StackOverflow sarebbe in calo. Idem per &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=mysql&#34;&gt;MySQL&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;E allora la spiegazione può essere un&amp;rsquo;altra: più che la diffusione, le domande su StackOverflow ci fanno vedere la complessità del linguaggio e la qualità della sua documentazione: HTML, CSS e PHP (o Wordpress e MySQL) sono prodotti ben assestati, per loro esistono ottime guide sul web che ne spiegano diffusamente i segreti. Di conseguenza non è necessario cercare risposte più o meno occasionali su StackOverflow, e comunque quelle che ci sono già bastano ed avanzano.&lt;/p&gt;&#xA;&lt;p&gt;Python e JavaScript, al contrario, hanno una sintassi di base piuttosto semplice ma per essere usati al meglio hanno bisogno di un gran numero di librerie aggiuntive, che sono spesso più complesse del linguaggio base e che vengono aggiornate ed espanse di continuo. La documentazione relativa non tiene sempre il passo dello sviluppo, per cui il modo migliore per imparare ad usare al meglio le centinaia e centinaia di API disponibili è quello di rivolgersi a qualche esperto su StackOverflow, spingendo così in alto la &lt;em&gt;popolarità&lt;/em&gt; dei due linguaggi.&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Secondo la logica basata sul numero di domande su StackOverflow anche &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=c%2Cc%2B%2B&#34;&gt;C e C++&lt;/a&gt;, i linguaggi usati per la programmazione di sistema (e non) su Linux e Windows, sarebbero in declino, e lo stesso succede a &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=algorithm%2Carchitecture%2Cclass%2Cdatabase&#34;&gt;concetti di base&lt;/a&gt; come &lt;em&gt;algoritmo&lt;/em&gt;, &lt;em&gt;architettura&lt;/em&gt;, &lt;em&gt;classe&lt;/em&gt; o &lt;em&gt;database&lt;/em&gt;. Ma  sono in declino perché c&amp;rsquo;è davvero poco interesse o solo perché anche per loro c&amp;rsquo;è abbondanza di documentazione di ottimo livello, senza doversi ridurre a porre sempre delle nuove domande su StackOverflow?&lt;/p&gt;&#xA;&lt;p style=&#34;border-style:solid; border-color:lightblue; background-color:lightyellow; padding:1em;&#34;&gt;Nel mio piccolo lo faccio anch&#39;io: quando programmo in R uso pochissimo StackOverflow, perché posso usare l&#39;ottimo help in linea di RStudio e perché la documentazione che accompagna le librerie aggiuntive di R è centralizzata sul [CRAN](https://cran.r-project.org/) (_The Comprehensive R Archive Network_) ed è di altissima qualità. E quando tutto questo non basta, posso trovare decine di siti e di blog che spiegano benissimo gli aspetti più ostici del linguaggio. Quando passo a Python (un linguaggio che, sia chiaro, mi piace parecchio), StackOverflow diventa quasi una necessità, perché la frammentazione e la mancanza di sistema di gestione centralizzata delle librerie di Python rendono molto più complicato trovare documentazione aggiornata di qualità.&#xA;&lt;/p&gt;&#xA;&lt;h4 id=&#34;decaduto-o-semplice&#34;&gt;Decaduto o semplice?&lt;/h4&gt;&#xA;&lt;p&gt;Swift è un linguaggio semplice con una ottima &lt;a href=&#34;https://www.swift.org/documentation/&#34;&gt;documentazione ufficiale&lt;/a&gt;, un eccellente strumento di apprendimento del linguaggio (e non solo) come &lt;a href=&#34;https://www.apple.com/it/swift/playgrounds/&#34;&gt;Swift Playgrounds&lt;/a&gt; e un numero relativemente ridotto di &lt;a href=&#34;https://codersera.com/blog/open-source-swift-libraries/&#34;&gt;librerie aggiuntive&lt;/a&gt;, c&amp;rsquo;è davvero bisogno di passare un sacco di tempo su StackOverflow per usarlo al meglio?&lt;/p&gt;&#xA;&lt;p&gt;Guardando il grafico relativo al numero di domande relative a Swift ci si accorge che i picchi di interesse corrispondono alle date di presentazione della versione 1.0 (giugno 2014) e al rilascio delle versioni 2.0 (settembre 2015), 3.0  (settembre 2016) e 5.0 (marzo 2019) e, come è naturale, dopo ogni presentazione l&amp;rsquo;interesse tende a decadere, proprio perché per usare il linguaggio c&amp;rsquo;è davvero poco da chiedere su StackOverflow.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2022-10-03-swift-contro-python-ovvero-mele-contro-pere/stack-overflow-swift.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;A supporto di questa tesi c&amp;rsquo;è il risultato di &lt;a href=&#34;https://data.stackexchange.com/stackoverflow/query/edit/1649394&#34;&gt;questa semplice query SQL&lt;/a&gt;, con la quale ho provato a calcolare il numero di domande poste su StackOverflow ogni anno. Di SQL ne so pochissimo per cui dovete prendere i risultati con le pinze, ma sembra che il numero di domande su StackOverflow sia in progressiva diminuzione, da un massimo di 2.2 milioni di domande nel 2016 a 1.6 milioni nel 2021.&lt;/p&gt;&#xA;&lt;p&gt;Una volta raggiunta una base di conoscenza sufficientemente ampia non ha molto senso porre sempre delle nuove domande (che su StackOverflow sono fortemente scoraggiate) ma ci si può limitare ad utilizzare il materiale già esistente. Questo almeno per le tecnologie più stabili, come possono essere HTML, CCS, PHP, Wordpress, MySQL&amp;hellip; oppure Swift. Quando invece abbiamo a che fare con strumenti in rapidissima evoluzione, come Python o JavaScript, StackOverflow diventa davvero il modo migliore per imparare.&lt;/p&gt;&#xA;&lt;h4 id=&#34;conclusioni&#34;&gt;Conclusioni&lt;/h4&gt;&#xA;&lt;p&gt;C&amp;rsquo;è bisogno di dilungarsi ancora? Non credo, dico solo che basarsi su ipotesi fantasiose o metriche poco affidabili per ipotizzare &lt;a href=&#34;https://medium.com/geekculture/swift-was-poised-to-replace-python-then-it-tanked-3e6c11740ba6&#34;&gt;scenari catastrofici&lt;/a&gt; per Swift (o, al contrario, &lt;a href=&#34;https://towardsdatascience.com/bye-bye-python-hello-julia-9230bff0df62&#34;&gt;scenari entusiasmanti&lt;/a&gt; per Julia&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;) mi pare francamente &lt;a href=&#34;https://xkcd.com/558/&#34;&gt;insensato&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2022-10-03-swift-contro-python-ovvero-mele-contro-pere/dt140323.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://dilbert.com/strip/2014-03-23&#34;&gt;Dilbert&lt;/a&gt; di Scott Adams&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Capo: Non si possono confrontare mele e arance.&lt;/p&gt;&#xA;&lt;p&gt;Dilbert: È chiaramente sbagliato, perché li hai appena confrontati e dichiarati diversi.&lt;/p&gt;&#xA;&lt;p&gt;Wally: Mele e arance sono entrambi alimenti che crescono sugli alberi. Sarebbe assolutamente valido confrontarli dal punto di vista nutrizionale.&lt;/p&gt;&#xA;&lt;p&gt;Dilbert: Ho notato che molte delle cose che escono dalla tua bocca non hanno senso.&lt;/p&gt;&#xA;&lt;p&gt;Capo: Parli come mia moglie.&lt;/p&gt;&#xA;&lt;p&gt;Wally: Non puoi paragonare tua moglie al tuo subordinato. Sono mele e arance.&lt;/p&gt;&#xA;&lt;p&gt;Capo: Cosa sta succedendo qui?&lt;/p&gt;&#xA;&lt;p&gt;Wally: Non lo so, ma non lo paragonerei a lavoro.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Ari sembra avere le idee un po&amp;rsquo; confuse sul futuro di Python, dato che su Medium ha anche pubblicato &lt;a href=&#34;https://towardsdatascience.com/why-python-is-not-the-programming-language-of-the-future-30ddc5339b66&#34;&gt;Why Python is not the programming language of the future&lt;/a&gt;, oppure &lt;a href=&#34;https://towardsdatascience.com/bye-bye-python-hello-julia-9230bff0df62&#34;&gt;Bye-bye Python. Hello Julia!&lt;/a&gt; e perfino &lt;a href=&#34;https://levelup.gitconnected.com/why-tensorflow-for-python-is-dying-a-slow-death-ba4dafcb37e6&#34;&gt;Why TensorFlow for Python is dying a slow death&lt;/a&gt;.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;E non è un caso, perché alla base di tutti questi linguaggi c&amp;rsquo;è sempre il buon vecchio &lt;a href=&#34;https://time.com/69316/basic/&#34;&gt;BASIC&lt;/a&gt;, il primo linguaggio di programmazione davvero per tutti, che è stato il linguaggio di base dei computer personali degli anni &amp;lsquo;80 su cui si sono fatti le ossa tutti i grandi nomi dell&amp;rsquo;informatica di quegli anni.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;Le sole domande sulla libreria &lt;code&gt;pandas&lt;/code&gt; di Python (una libreria fondamentale per chi usa Python per l&amp;rsquo;analisi dei dati) &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=pandas&#34;&gt;assommano al 3%&lt;/a&gt; del totale, le principali librerie per il machine learning (TensorFlow, Keras, PyTorch, scikit-learn, OpenCV, NLTK) fanno &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=tensorflow%2Ckeras%2Cpytorch%2Cscikit-learn%2Copencv%2Cnltk&#34;&gt;un altro 2%&lt;/a&gt;, mentre quelle su &lt;code&gt;Django&lt;/code&gt; e &lt;code&gt;Flask&lt;/code&gt; (le principali librerie Python per lo sviluppo di applicazioni per il web) sono quasi &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=django%2Cflask&#34;&gt;al 2.5%&lt;/a&gt; del totale generale. Chiaramente queste domande vengono anche conteggiate come domande relative a Python.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:4&#34;&gt;&#xA;&lt;p&gt;Perché sì, &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=julia&#34;&gt;l&amp;rsquo;interesse per Julia&lt;/a&gt; sembra essere in aumento su StackOverflow, ma parliamo di non più dello 0.16% (1/10 dei valori di Swift) e anche in questo caso i picchi corrispondono al rilascio delle varie versioni del linguaggio.&amp;#160;&lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Cronaca di un disastro: come sopravvivere alla pagina bianca di WordPress</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2020/01/22/cronaca-di-un-disastro-come-sopravvivere-alla-pagina-bianca-di-wordpress/</link>
      <pubDate>Wed, 22 Jan 2020 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2020/01/22/cronaca-di-un-disastro-come-sopravvivere-alla-pagina-bianca-di-wordpress/</guid>
      <description>&lt;p&gt;&lt;em&gt;Questo non è un post adatto per chi si spaventa facilmente. Se siete ansiosi o deboli di cuore fatevi un favore e non continuate a leggere.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;premessa&#34;&gt;Premessa&lt;/h4&gt;&#xA;&lt;p&gt;Quando si verifica un disastro in ambito informatico (e non solo) la cosa più importante è non perdere mai la calma. E poi non bisogna avere fretta di rimettere le cose a posto, meglio riflettere prima di agire. Naturalmente avere un backup aggiornato a disposizione aiuta sempre moltissimo.&lt;/p&gt;&#xA;&lt;p&gt;Tutte le volte che ho dovuto affrontare un disastro di tipo informatico &amp;ndash; e fra casi personali, amici e conoscenti succede relativamente spesso &amp;ndash; queste linee guida sono sempre state utilissime per risolvere il problema. L&amp;rsquo;ultima volta, però, una installazione di WordPress andata completamente in tilt ha messo a durissima prova la mia pazienza, oltre che le mie conoscenze tecniche. Ecco il racconto di quello che è successo.&lt;/p&gt;&#xA;&lt;h4 id=&#34;una-giornata-particolare&#34;&gt;Una giornata particolare&lt;/h4&gt;&#xA;&lt;p&gt;Oltre a questo blog, amministro da anni &lt;a href=&#34;https://ilnostrocnr.it/&#34;&gt;Il nostro CNR&lt;/a&gt;, un sito finalizzato alla discussione di tematiche relative al mondo del CNR e della ricerca in generale. Come &lt;a href=&#34;https://melabit.wordpress.com&#34;&gt;melabit&lt;/a&gt;, anche Il nostro CNR è basato su &lt;a href=&#34;https://wordpress.org/&#34;&gt;WordPress&lt;/a&gt;. Il sito è piuttosto popolare, ha un discreto numero di visualizzazioni giornaliere, purtroppo sono sempre troppo pochi quelli che hanno la voglia e la pazienza di intervenire sul forum. Ma questo è un male tipico degli italiani, bravissimi a discutere animatamente al bar (&lt;em&gt;verba volant&amp;hellip;&lt;/em&gt;), ma molto meno propensi a mettere per iscritto quello che pensano, magari per paura di ritorsioni (&lt;em&gt;&amp;hellip;scripta manent&lt;/em&gt; ).&lt;/p&gt;&#xA;&lt;p&gt;Poco prima di Natale Corrado Zunino, un giornalista di Repubblica sempre molto attento ai problemi della ricerca, pubblica un articolo in cui rivela che la procedura di elezione del rappresentante del personale nel CdA del CNR, conclusa un mese prima, potrebbe essere stata &lt;a href=&#34;https://www.repubblica.it/scuola/2019/12/19/news/_brogli_per_le_elezioni_al_cnr_-243846407/&#34;&gt;viziata da brogli&lt;/a&gt;. Il rappresentante &lt;a href=&#34;https://melabit.wordpress.com/2015/10/06/il-cnr-e-anche-questo-scienza-contro-establishment/&#34;&gt;eletto alla tornata precedente&lt;/a&gt; era stato una vera e propria spina nel fianco per la dirigenza del CNR e, non pago di quattro anni di fatiche e sacrifici anche personali, aveva deciso di ripresentarsi per un secondo mandato, con ottime possibilità di successo. Toglierlo di mezzo e sostituirlo con qualcuno meno rigido e competente era quasi una necessità.&lt;/p&gt;&#xA;&lt;p&gt;Subito dopo aver letto l&amp;rsquo;articolo su Repubblica decido di diffonderlo tramite &lt;a href=&#34;https://ilnostrocnr.it/&#34;&gt;Il nostro CNR&lt;/a&gt;. Del resto, dopo la &lt;a href=&#34;https://www.raiplay.it/video/2017/03/Ricercatori-e-ricercati-66100079-8a30-44a7-a913-cf95f6e92fbb.html&#34;&gt;trasmissione di Report del marzo 2017&lt;/a&gt; che ha rivelato la lunga serie di ruberie avvenute in un istituto del CNR (di certo non l&amp;rsquo;unico) e ancora di più &lt;a href=&#34;https://napoli.repubblica.it/cronaca/2019/11/20/news/napoli_false_consulenze_al_cnr-241466172/&#34;&gt;dopo l&amp;rsquo;arresto&lt;/a&gt; &lt;a href=&#34;https://www.ilmattino.it/napoli/cronaca/napoli_consiglio_nazionale_delle_ricerca_cnr_scandalo_consulenze_arresti-4875711.html&#34;&gt;dell&amp;rsquo;ex-direttore del CNR e dei suoi sodali&lt;/a&gt;, nel nostro ente l&amp;rsquo;interesse per queste vicende ripugnanti è altissimo.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.ilmattino.it/photos/PANORAMA/57/11/4875711_2103_parco_giochi_gonfiabile_2.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://www.ilmattino.it/napoli/cronaca/napoli_consiglio_nazionale_delle_ricerca_cnr_scandalo_consulenze_arresti-4875711.html&#34;&gt;Il Mattino, 20 novembre 2019&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;aggiornamenti-inattesi&#34;&gt;Aggiornamenti inattesi&lt;/h4&gt;&#xA;&lt;p&gt;Entro quindi in quello che è un po&amp;rsquo; il &lt;em&gt;retrobottega&lt;/em&gt; del sito, la cosiddetta &lt;em&gt;dashboard&lt;/em&gt;, l&amp;rsquo;interfaccia di gestione dei contenuti e delle funzionalità di WordPress, per scrivere un post sulla notizia di Repubblica e come al solito trovo alcuni &lt;em&gt;plugin&lt;/em&gt; da aggiornare (i plugin sono dei pezzetti di codice che estendono le funzioni del sito). Succede praticamente ogni volta che accedo alla &lt;em&gt;dashboard&lt;/em&gt;, e senza pensarci più di tanto clicco sul pulsante di aggiornamento. È una procedura assolutamente sicura e comunque, anche se uno dei plugin non dovesse più funzionare bloccando il resto del sistema, mi basterebbe modificare i nomi di qualche file per disattivarlo e recuperare la piena operatività del sito.&lt;/p&gt;&#xA;&lt;p&gt;Questa volta invece, per qualche motivo incomprensibile, insieme all&amp;rsquo;aggiornamento dei plugin parte anche l&amp;rsquo;aggiornamento dell&amp;rsquo;intero codice di WordPress dalla versione 4.x all&amp;rsquo;ultima versione disponibile, la 5.qualcosa. Aggiornamento che per tanti motivi non volevo ancora fare, e soprattutto che non avrei mai fatto senza prima eseguire un backup affidabile di tutto il sito.&lt;/p&gt;&#xA;&lt;p&gt;Non riesco ancora a capacitarmi di cosa possa essere successo, ma sono sicuro al 100% di non averlo fatto io stesso per errore. I pulsanti per aggiornare i plugin o il codice di WordPress sono ben distinti e non possono essere premuti contemporaneamente (lo vedete qui sotto), e poi ricordo benissimo di aver letto i messaggi che elencavano i plugin in corso di  aggiornamento. Ma, quando alla fine del processo ho cliccato per tornare alla pagina principale, ho visto partire anche l&amp;rsquo;aggiornamento del codice di WordPress, e a quel punto non potevo più far niente per interromperlo.&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2020/01/aggiornamento-sito-e-plugin.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;È possibile che l&amp;rsquo;aggiornamento del codice sia partito da solo per qualche baco di Wordpress o di un plugin, del resto i bachi del software sono inevitabili. Una cosa seccante, ma ancora niente di preoccupante.&lt;/p&gt;&#xA;&lt;h4 id=&#34;un-backup-è-per-sempre&#34;&gt;Un backup è per sempre?&lt;/h4&gt;&#xA;&lt;p&gt;Una volta concluso l&amp;rsquo;aggiornamento non voluto di WordPress, apro una nuova scheda del browser per controllare cos&amp;rsquo;è successo al sito. Compare solo una pagina completamente bianca. Il sito in effetti funziona ancora, ma non carica correttamente le pagine, e anche la &lt;em&gt;dashboard&lt;/em&gt; appare completamente vuota. Per fortuna i file che costituiscono il sito  ci sono ancora tutti, e anche il database usato da WordPress per memorizzare i dati variabili del sito è ancora al suo posto.&lt;/p&gt;&#xA;&lt;div style = &#34;border: 4px dotted lightgray; padding: 1em;&#34;&gt;&#xA;Un sito web dinamico come WordPress è costituito in genere da due componenti ben distinte: la prima comprende tutti file che costituiscono il sito web vero e proprio e che vengono modificati di rado, in particolare il codice WordPress e le personalizzazioni dell&#39;utente, i plugin, i temi grafici, le immagini e tutti i documenti collegati alle pagine del sito (questa componente sarà denominata da ora in poi &#34;file del sito&#34; o semplicemente &#34;sito&#34;). La seconda componente è costituita da un database nel quale vengono memorizzati i dati variabili del sito, fra cui i testi degli articoli e degli interventi sul forum, le informazioni relative agli utenti registrati, i dati di accesso e moltissimo altro.&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Quando succedono queste cose nel 99% dei casi la colpa è di qualche plugin che funziona male o non funziona affatto. Non c&amp;rsquo;era del resto da stupirsi, uno dei motivi per decidere di non aggiornare alla versione più recente di WordPress era legato proprio al fatto che almeno due plugin piuttosto importanti non erano ancora stati aggiornati per funzionare con le nuove versioni di WordPress e di &lt;a href=&#34;https://www.php.net/&#34;&gt;PHP&lt;/a&gt;, il linguaggio di programmazione per il web con il quale è sviluppato WordPress.&lt;/p&gt;&#xA;&lt;p&gt;Per correggere il problema della pagina bianca ci sono sostanzialmente due metodi: il primo richiede di disattivare i plugin uno ad uno, fino a scoprire quello che non funziona. Richiede ore ed ore di lavoro certosino e non avrebbe comunque risolto il problema dell&amp;rsquo;aggiornamento indesiderato del sito. Nonostante tutto, ho provato a disattivare i due, tre plugin più critici ma non cambiava niente.&lt;/p&gt;&#xA;&lt;p&gt;Il secondo metodo prevede di ripristinare il sito da un backup recente e, in questo caso specifico, ha l&amp;rsquo;enorme vantaggio di poter tornare alla versione precedente di WordPress. E dato che il &lt;a href=&#34;https://melabit.wordpress.com/2018/05/21/da-melabit-a-melabit-la-scelta-dell-hosting/&#34;&gt;&lt;em&gt;provider&lt;/em&gt; scelto per ospitare il sito&lt;/a&gt; fa un backup ogni ora, mi sembrava più che naturale scegliere la seconda soluzione.&lt;/p&gt;&#xA;&lt;p&gt;Ed è qui che sono cominciati i guai.&lt;/p&gt;&#xA;&lt;p&gt;Apro un &lt;em&gt;ticket&lt;/em&gt;, cioè una richiesta di supporto tecnico, presso il provider e chiedo come ripristinare il sito da un backup eseguito intorno alle 9 del mattino, ora alla quale ero sicuro di non aver fatto ancora niente. Purtroppo non posso fare da solo, l&amp;rsquo;assistenza tecnica mi avvisa che la procedura di ripristino del database di WordPress deve essere effettuata dal provider, altrimenti dà errore.&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2020/01/ticket-01.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Ovviamente li lascio fare, indicando il backup da ripristinare, il &lt;code&gt;#687&lt;/code&gt; eseguito alle 8:53, e ribadendo che volevo un ripristino totale, &lt;em&gt;pulito&lt;/em&gt;, sia del sito che del database su cui si appoggia (la conversazione qui sotto, così come tutte le conversazioni successive, vanno lette dal basso verso l&amp;rsquo;alto).&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2020/01/ticket-02.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Non funziona, anzi è peggio, i file del sito sembrano a posto, ma il database viene ripristinato solo in parte e quindi in pratica non serve a niente.&lt;/p&gt;&#xA;&lt;p&gt;Intanto mi sono fatto dare l&amp;rsquo;intero backup del sito e del database delle ore 8:53 in formato standard e in questo backup il database sembra completo. Però ogni volta che l&amp;rsquo;assistenza tecnica prova a ripristinarlo la procedura fallisce. Secondo loro perché il database è corrotto, secondo me perché la loro procedura di ripristino non funziona bene.&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2020/01/ticket-03.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Provo allora a chiedere il ripristino da un backup di un paio di giorni prima, ma non cambia niente. È già passato un giorno, il sito è ancora giù e io faccio una pessima figura con i colleghi che lo frequentano.&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2020/01/ticket-04.png&#34; alt=&#34;&#34;&gt;&lt;h4 id=&#34;andare-sul-cloud&#34;&gt;Andare sul cloud&lt;/h4&gt;&#xA;&lt;p&gt;A questo punto decido di lasciar perdere l&amp;rsquo;assistenza tecnica e di fare da solo, usando il backup del sito e del database che mi sono fatto dare per ricostruire il sito da zero. Potrei usare come al solito una macchina virtuale, dove installare una versione server di Linux con tutto quello che serve per far funzionare WordPress, ma questa volta preferisco di andare sul cloud in modo da poter lavorare, se serve (e servirà molto spesso!), anche da casa.&lt;/p&gt;&#xA;&lt;p&gt;Scelgo &lt;a href=&#34;https://aws.amazon.com/cloud9/?origin=c9io&#34;&gt;AWS Cloud9&lt;/a&gt; di Amazon, funziona bene, costa poco e mi sembra più affidabile di altri servizi che ho usato in passato, come &lt;a href=&#34;https://codeanywhere.com/&#34;&gt;Codeanywhere&lt;/a&gt;, &lt;a href=&#34;https://www.koding.com/&#34;&gt;Koding&lt;/a&gt; o &lt;a href=&#34;https://pilvia.com/&#34;&gt;Pilvia&lt;/a&gt;, che cambiano continuamente modello di &lt;em&gt;business&lt;/em&gt;. Accedo al mio account e creo una nuova istanza di AWS Cloud9, dove installo la versione 18.04/Bionic LTS di Ubuntu Linux.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2020/01/aws-cloud9.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Potrei scegliere anche &lt;a href=&#34;https://aws.amazon.com/amazon-linux-ami/&#34;&gt;Amazon Linux&lt;/a&gt;, una versione di Linux specifica per Amazon AWS e basata su &lt;a href=&#34;https://www.redhat.com&#34;&gt;RedHat&lt;/a&gt; e &lt;a href=&#34;https://centos.org/&#34;&gt;CentOS&lt;/a&gt;, ma preferisco andare sul sicuro, in fondo Ubuntu deriva sempre da &lt;a href=&#34;https://www.debian.org/&#34;&gt;Debian&lt;/a&gt;, e nel mondo Linux non c&amp;rsquo;è niente di meglio di Debian.&lt;/p&gt;&#xA;&lt;p&gt;Tralascio i dettagli dell&amp;rsquo;installazione di tutto quanto serve per far funzionare WordPress su Linux (ma se richiesto potrebbe essere argomento di un prossimo articolo). Il server web &lt;a href=&#34;http://httpd.apache.org&#34;&gt;Apache&lt;/a&gt;, il linguaggio di programmazione &lt;a href=&#34;https://www.php.net&#34;&gt;PHP&lt;/a&gt; e il sistema di database relazionale &lt;a href=&#34;https://mariadb.org&#34;&gt;MariaDB&lt;/a&gt;,&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; sono già installati di &lt;em&gt;default&lt;/em&gt; in Ubuntu LTS, si tratta solo di configurare opportunamente tutto per &lt;a href=&#34;https://lucidar.me/en/aws-cloud9/how-to-run-apache-on-aws-ec2-cloud9-server/&#34;&gt;girare su AWS Cloud9&lt;/a&gt; e di creare il database per WordPress. Già che ci sono, installo anche &lt;a href=&#34;https://www.phpmyadmin.net&#34;&gt;phpMyAdmin&lt;/a&gt;, un programma comodissimo che permette di gestire un database MySQL (e quindi anche MariaDB) tramite una interfaccia web.&lt;/p&gt;&#xA;&lt;p&gt;A questo punto basta scaricare il &lt;a href=&#34;https://wordpress.org/download/&#34;&gt;codice di WordPress&lt;/a&gt; ed effettuare la famosa &lt;a href=&#34;https://wordpress.org/support/article/how-to-install-wordpress/&#34;&gt;installazione in 5 minuti&lt;/a&gt; per essere a posto.&lt;/p&gt;&#xA;&lt;p&gt;Beh, magari fosse così semplice! Tutto quello che ho in questo momento è un sito funzionante ma vuoto, invece a me serve ripristinare tutto il contenuto de &lt;a href=&#34;https://ilnostrocnr.it&#34;&gt;Il nostro CNR&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Per farlo, sostituisco i file del sito e il database di WordPress con quelli contenuti nel backup fornito dal provider. Sembra difficile, ma avendo pieno accesso al terminale di Linux ed essendo l&amp;rsquo;amministratore onnipotente del sistema su cui gira WordPress diventa un gioco da ragazzi. Riavvio MariaDB ed Apache per fargli &lt;em&gt;rileggere&lt;/em&gt; i nuovi dati su cui operare, ma non funziona.&lt;/p&gt;&#xA;&lt;p&gt;Naturale, il database contiene l&amp;rsquo;indirizzo web (URL) del sito originale, &lt;code&gt;https://ilnostrcnr.it&lt;/code&gt;, ma ora sono su Amazon AWS e l&amp;rsquo;URL del sito che ho creato è completamente diverso, è qualcosa tipo &lt;code&gt;https://b0ef0914612e145f8fad9237c0dabd8a.vfs.cloud9.us-east-2.amazonaws.com&lt;/code&gt;. Non ho intenzione di combattere con i DNS o il file &lt;code&gt;hosts&lt;/code&gt;, per cui entro nel database con phpMyAdmin, seleziono la tabella &lt;code&gt;wp_options&lt;/code&gt; e sostituisco l&amp;rsquo;URL originale contenuto nei record &lt;code&gt;siteurl&lt;/code&gt; e &lt;code&gt;home&lt;/code&gt; con quelli forniti da Amazon AWS.&lt;/p&gt;&#xA;&lt;p&gt;Riavvio di nuovo MariaDB ed Apache e finalmente il sito torna a vivere. Con phpMyAdmin controllo se il database ha degli errori, e in effetti ci sono, ma niente di così grave che possa impedirne il ripristino (e del resto a me funziona tutto perfettamente).&lt;/p&gt;&#xA;&lt;p&gt;A questo punto è quasi routine, ed è anche l&amp;rsquo;occasione per dare una bella rinfrescata alle funzionalità del sito. Entro nella dashboard e rimuovo il plugin &lt;code&gt;All-in-One WP Migration&lt;/code&gt;, che usavo per fare i backup personali del sito ma che che non è compatibile con le ultime versioni di PHP 7.x, e cancello dal terminale la directory relativa. Rimuovo anche il plugin &lt;code&gt;Count per Day&lt;/code&gt;, ottimo per analizzare le statistiche di accesso al sito ma che non è aggiornato da un anno e non è stato testato con le versioni più recenti di WordPress. E dato che &lt;a href=&#34;https://wordpress.org/plugins/count-per-day/&#34;&gt;ha violato le linee guida di WordPress&lt;/a&gt; è stato pure rimosso dall&amp;rsquo;archivio (&lt;em&gt;repository&lt;/em&gt;) ufficiale dei plugin di WordPress.&lt;/p&gt;&#xA;&lt;p&gt;Controllo di nuovo il database usando sia una funzione seminascosta di WordPress&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; che il solito phpMyAdmin ed ora è tutto a posto, dopo la rimozione dei due plugin problematici anche gli errori del database sono scomparsi.&lt;/p&gt;&#xA;&lt;h4 id=&#34;ritorno-al-provider&#34;&gt;Ritorno al provider&lt;/h4&gt;&#xA;&lt;p&gt;A questo punto mi rimane solo da fare un backup del sito e del database, che il provider potrà usare (o meglio &amp;ldquo;dovrà usare&amp;rdquo;, visto che finora non ha fatto niente di significativo) per ripristinare il sito originale.&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2020/01/ticket-05.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Ma la cosa si rivela più difficile del previsto e l&amp;rsquo;interazione fra il supporto tecnico e me sembra un dialogo fra sordi,&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2020/01/ticket-06.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;che sfocia rapidamente nella incomunicabilità totale. Il sito è &lt;em&gt;giù&lt;/em&gt; da ben 11 giorni ma al servizio tecnico importa pochissimo. Inutile provare ancora a ricevere un supporto degno di questo nome.&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2020/01/ticket-07.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Prima di tagliare i ponti con il servizio tecnico ho preparato un Piano B. Ore di ricerche sul web mi hanno fatto trovare &lt;a href=&#34;https://wordpress.org/plugins/duplicator&#34;&gt;Duplicator&lt;/a&gt;, un plugin che sembra perfetto per le mie esigenze. In apparenza è uno dei soliti plugin di backup/ripristino di una installazione di WordPress, che alla fine richiedono sempre l&amp;rsquo;acquisto della versione Pro per essere davvero utili. Duplicator invece è diverso, la &lt;a href=&#34;https://snapcreek.com/duplicator/&#34;&gt;versione Pro&lt;/a&gt; aggiunge delle funzioni molto interessanti per chi gestisce dei siti web per professione, ma la versione base gratuita fa tutto quello che mi serve, è solo leggermente più complicata da utilizzare.&lt;/p&gt;&#xA;&lt;p&gt;In previsione del piano B ho già provato a fondo Duplicator, usandolo per fare un backup completo del sito e per ripristinarlo in una nuova istanza di AWS Cloud9, e funziona in modo spettacolare. Mi piace soprattutto il fatto che lavori a bassissimo livello, sembra quasi di usare il terminale, che è poi quello che farei io stesso se il provider mi concedesse un accesso pieno e senza limitazioni via &lt;code&gt;ssh&lt;/code&gt; al mio sito e soprattutto al database associato.&lt;/p&gt;&#xA;&lt;p&gt;Entro quindi nel pannello di controllo del mio sito web e di tutti i tool collegati, il notissimo &lt;a href=&#34;https://en.wikipedia.org/wiki/CPanel&#34;&gt;cPanel&lt;/a&gt;, cancello tutti i file del sito e anche il database che ha creato tanti problemi, e già che ci sono aggiorno PHP alla versione 7.2, la stessa versione disponibile in AWS Cloud9. Mi tremano un po&amp;rsquo; i polsi, da ora in poi se sbaglio non posso più tornare indietro, ma ho delle alternative migliori?&lt;/p&gt;&#xA;&lt;p&gt;A differenza degli altri plugin di backup/ripristino che conosco, Duplicator non ha bisogno di una installazione preesistente di WordPress per funzionare, ma insieme al backup del sito genera un programma in &lt;code&gt;PHP&lt;/code&gt; che effettua da solo il processo di ripristino del sito e del database associato. Anche l&amp;rsquo;URL che ho modificato a mano diretatmente nel database vengono aggiornati correttamente. Bastano pochi minuti e il sito &lt;a href=&#34;https://ilnostrocnr.it&#34;&gt;torna a vivere&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;È il 2 gennaio, sono passati ben 14 giorni dal disastro.&lt;/p&gt;&#xA;&lt;h4 id=&#34;conclusioni&#34;&gt;Conclusioni&lt;/h4&gt;&#xA;&lt;p&gt;Quando dicevo all&amp;rsquo;inizio che la lettura di questo articolo non è adatta a chi si spaventa facilmente o è ansioso, stavo scherzando, ma non troppo. Questa esperienza ha davvero messo a dura prova le mie capacità tecniche, nonché la mia pazienza nell&amp;rsquo;interagire con chi dovrebbe fornire un supporto tecnico decente.&lt;/p&gt;&#xA;&lt;p&gt;Ma dopo un paio di giorni era diventata una sfida personale, una specie di esame fuori tempo massimo, &lt;em&gt;sei capace di risolvere questo problema difficile&lt;/em&gt;? E poi, naturalmente, c&amp;rsquo;era la necessità di non fare brutta figura con tanti colleghi&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Ovvio che alla scadenza del contratto bisognerà cambiare provider, tutto sommato questo finora non è stato male, ma finché va tutto bene sono buoni tutti, le differenze si vedono solo &lt;a href=&#34;https://www.youtube.com/watch?v=lIxUKbV0UEM&#34;&gt;quando il gioco si fa duro&lt;/a&gt;. Avevo già pensato di farlo per altri motivi, ma il dover &lt;em&gt;traslocare&lt;/em&gt; il sito su un&amp;rsquo;altro spazio web mi preoccupava un po&amp;rsquo;. Ora, con l&amp;rsquo;esperienza che mi sono fatta, sarà uno scherzetto.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;A differenza delle versioni normali di Ubuntu Linux, che vengono rilasciate ogni sei mesi, le versioni LTS, &lt;em&gt;Long Term Support&lt;/em&gt;, vengono rilasciate solo nella primavera degli anni pari e sono particolarmente indicate per un sistema server.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;MariaDB è un derivato (&lt;em&gt;fork&lt;/em&gt;) del notissimo database &lt;a href=&#34;https://www.mysql.com/&#34;&gt;MySQL&lt;/a&gt;, prodotto dagli sviluppatori originali di MySQL e &lt;a href=&#34;https://mariadb.com/kb/en/mariadb-vs-mysql-compatibility/&#34;&gt;compatibile praticamente al 100%&lt;/a&gt; con la versione corrispondente di MySQL. L&amp;rsquo;origine del &lt;em&gt;fork&lt;/em&gt; sta nell&amp;rsquo;introduzione da parte di &lt;a href=&#34;https://www.oracle.com/index.html&#34;&gt;Oracle&lt;/a&gt;, che nel 2010 ha acquisito la ormai decaduta &lt;a href=&#34;https://it.wikipedia.org/wiki/Sun_Microsystems&#34;&gt;Sun Microsystems&lt;/a&gt; con tutto il suo parco software fra cui Java e proprio MySQL, di estensioni proprietarie disponibili solo per la versione a pagamento di MySQL.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;Bisogna aggiungere nel file &lt;code&gt;wp-config.php&lt;/code&gt; la riga &lt;code&gt;define(&#39;WP_ALLOW_REPAIR&#39;, true);&lt;/code&gt;, andare all&amp;rsquo;URL di amministrazione &lt;code&gt;YOURSITE.com/wp-admin/maint/repair.php&lt;/code&gt; (dove &lt;code&gt;YOURSITE.com&lt;/code&gt; deve essere sostituito con l&amp;rsquo;indirizzo web del sito) e seguire le istruzioni.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Da melabit a melabit: conclusioni</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2019/07/03/da-melabit-a-melabit-conclusioni/</link>
      <pubDate>Wed, 03 Jul 2019 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2019/07/03/da-melabit-a-melabit-conclusioni/</guid>
      <description>&lt;p&gt;&lt;em&gt;&amp;ldquo;Dopo tutto questo parlare di hosting, domini, provider e cloud, si può sapere &lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;cosa hai deciso&lt;/a&gt; alla fine di fare per questo blog?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Sono consapevole di &lt;a href=&#34;https://melabit.wordpress.com/2014/12/31/and-the-winner-is/&#34;&gt;contraddire&lt;/a&gt; quello che avevo scritto alcuni anni fa ma, dopo aver soppesato tutte le alternative, mi sono reso conto che la cosa migliore da fare in questo momento era cambiare il meno possibile, per cui ho deciso di  continuare ad usare WordPress, ospitato questa volta su una piattaforma di hosting tradizionale.&lt;/p&gt;&#xA;&lt;p&gt;Per ora niente generatori di siti statici come &lt;a href=&#34;https://jekyllrb.com&#34;&gt;Jekyll&lt;/a&gt; (che nonostante tutto continua a piacermi tantissimo), &lt;a href=&#34;https://getgrav.org&#34;&gt;Grav&lt;/a&gt; o &lt;a href=&#34;https://gohugo.io&#34;&gt;Hugo&lt;/a&gt;, niente CMS alternativi, magari più veloci ed efficienti di WordPress. Passare dalla &amp;ldquo;gabbia&amp;rdquo; dorata di &lt;a href=&#34;https://wordpress.com/&#34;&gt;Wordpress.com&lt;/a&gt; &amp;ndash; nella quale devo solo occuparmi di scrivere e a tutto il resto ci pensa &lt;a href=&#34;https://automattic.com/&#34;&gt;Automattic&lt;/a&gt; &amp;ndash; ad una piattaforma autogestita è già abbastanza complicato per volersi imbarcare in una transizione ancora più radicale. Qualche anno fa sarebbe stato più facile, ma in questo momento è un rischio che non voglio (e che non ho nemmeno il tempo di) correre.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://melabit.files.wordpress.com/2019/07/amador-loureiro-unsplash.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://unsplash.com/@amadorloureiroblanco&#34;&gt;Amador Loureiro&lt;/a&gt; su &lt;a href=&#34;https://unsplash.com&#34;&gt;Unsplash&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Senza dimenticare che negli ultimi tre anni ho avuto modo di sperimentare a fondo la stabilità e l&amp;rsquo;affidabilità di WordPress gestendo un sito (semi)professionale con un carico di lavoro nettamente superiore a quello prodotto da questo blog e con &lt;em&gt;editor&lt;/em&gt; multipli, interventi sul forum, un gran numero di utenti registrati, infinite richieste di supporto tecnico nonché (potevano mancare?) innumerevoli attacchi al sito. WordPress si è comportato benissimo, perché buttare via questa esperienza sul campo?&lt;/p&gt;&#xA;&lt;p&gt;Non nascondo di essere stato attratto a lungo dall&amp;rsquo;ipotesi &amp;ldquo;WordPress + Raspberry Pi&amp;rdquo;, mi intrigava moltissimo l&amp;rsquo;idea di gestire tutto autonomamente, ma poi ho deciso che &lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;il gioco non valeva la candela&lt;/a&gt; e ho lasciato perdere.&lt;/p&gt;&#xA;&lt;p&gt;Ormai è tutto pronto o quasi. Il nome c&amp;rsquo;è, l&amp;rsquo;hosting pure, ho anche scelto un tema nuovo e più adatto (spero!) a mostrare i contenuti disponibili, manca solo il tocco finale, la pressione del classico bottone di avvio. Se non ci sono imprevisti &lt;del&gt;luglio&lt;/del&gt; settembre dovrebbe essere il momento buono.&lt;/p&gt;&#xA;&lt;p&gt;Ma niente è per sempre e non è detto che, dopo aver completato questa prima transizione, non decida di farne un&amp;rsquo;altra più radicale adottando Jekyll, la piattaforma che considero ancora la più vicina al mio spirito di programmatore, seppur solo &lt;em&gt;part-time&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;da-melabit-a-melabit-la-serie-completa-degli-articoli&#34;&gt;Da melabit a melabit, la serie completa degli articoli&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;Da melabit a melabit: introduzione&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/05/21/da-melabit-a-melabit-la-scelta-dell-hosting/&#34;&gt;Da melabit a melabit: la scelta dell’hosting&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/06/19/da-melabit-a-melabit-la-scelta-del-dominio/&#34;&gt;Da melabit a melabit: la scelta del dominio&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;Da melabit a melabit: fare da sé?&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/&#34;&gt;Da melabit a melabit: andare sul cloud&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/07/03/da-melabit-a-melabit-conclusioni/&#34;&gt;Da melabit a melabit: conclusioni&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
    </item>
    <item>
      <title>Da melabit a melabit: andare sul cloud</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/</link>
      <pubDate>Mon, 24 Jun 2019 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://melabit.files.wordpress.com/2019/06/daniel-falcao-418402-unsplash.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://unsplash.com/@danielsfalcao&#34;&gt;Daniel Falcão&lt;/a&gt; su &lt;a href=&#34;https://unsplash.com&#34;&gt;Unsplash&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il &lt;em&gt;cloud computing&lt;/em&gt; è ovunque e ci sono decine di servizi diversi che ci permettono di usare un computer &lt;em&gt;virtuale&lt;/em&gt; situato da qualche parte nel mondo come se fosse il computer fisico che abbiamo sulla scrivania. In questo campo i grossi calibri sono &lt;a href=&#34;https://aws.amazon.com&#34;&gt;Amazon AWS&lt;/a&gt;, &lt;a href=&#34;https://cloud.google.com&#34;&gt;Google Cloud&lt;/a&gt;, &lt;a href=&#34;https://azure.microsoft.com&#34;&gt;Microsoft Azure&lt;/a&gt;, &lt;a href=&#34;https://www.openshift.com/&#34;&gt;Red Hat OpenShift&lt;/a&gt; (in rigoroso ordine alfabetico), ma ci sono anche i servizi offerti da fornitori di servizi di hosting come &lt;a href=&#34;https://it.siteground.com/cloud-hosting&#34;&gt;SiteGround&lt;/a&gt;, &lt;a href=&#34;https://www.dreamhost.com/cloud/&#34;&gt;DreamHost&lt;/a&gt; o &lt;a href=&#34;https://www.netsons.com&#34;&gt;Netsons&lt;/a&gt; oppure da &lt;em&gt;provider&lt;/em&gt; più orientati al mondo degli sviluppatori come &lt;a href=&#34;https://www.digitalocean.com/products/droplets&#34;&gt;Digital Ocean&lt;/a&gt;, &lt;a href=&#34;https://codenvy.com&#34;&gt;Codenvy&lt;/a&gt;, &lt;a href=&#34;https://www.heroku.com&#34;&gt;Heroku&lt;/a&gt;, &lt;a href=&#34;https://upcloud.com/&#34;&gt;UpCloud&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Descrivere tutto quello che fanno questi servizi è impossibile, le opzioni e le configurazioni sono tante e tanto diverse che cercare di orientarsi fra le varie possibilità fa letteralmente girare la testa (provate a districarvi nel sito di Amazon AWS e poi ditemi). Ma rimanendo a quello che ci interessa qui, tutti questi servizi mettono a disposizione un computer &lt;em&gt;virtuale&lt;/em&gt; ospitato sull&amp;rsquo;onnipresente cloud dove possiamo installare un sistema operativo (generalmente Linux) e tutte le applicazioni necessarie per realizzare il nostro sito web.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://melabit.files.wordpress.com/2019/06/debian-on-cloud1.png&#34; alt=&#34;&#34;&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2019/06/debian-on-cloud2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Anche in questo caso valgono &lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;considerazioni analoghe a quelle fatte una settimana fa per il Raspberry Pi&lt;/a&gt;, con l&amp;rsquo;ovvia differenza che ora non dobbiamo preoccuparci degli aspetti legati all&amp;rsquo;hardware, visto che la &lt;em&gt;macchina&lt;/em&gt; fisica e l&amp;rsquo;indirizzo IP sono forniti dal fornitore di servizi di cloud computing (in realtà la nostra macchina fisica non esiste nemmeno, il nostro computer virtuale sul cloud è solo un &lt;a href=&#34;https://www.html.it/pag/62783/docker-e-i-container/&#34;&gt;contenitore Docker&lt;/a&gt; ospitato insieme a mille altri su un server di un qualche datacenter).&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; A noi rimarranno comunque alcuni oneri importanti, come ad esempio quello di aggiornare e mantenere in sicurezza il sistema operativo e i pacchetti software che utilizziamo per realizzare il sito web.&lt;/p&gt;&#xA;&lt;p&gt;Ma oltre a non doverci preoccupare di gestire l&amp;rsquo;hardware, il vero vantaggio di ospitare il sito su un servizio di cloud computing è quello di essere liberi di utilizzare per il sito il software che preferiamo, senza i vincoli stabiliti dai normali fornitori di servizio di hosting che normalmente danno la possibilità di scegliere solo fra un certo numero di applicazioni predefinite, selezionate fra quelle più popolari.&lt;/p&gt;&#xA;&lt;p&gt;Se per il nostro sito vogliamo usare un CMS come Wordpress, Drupal, CMS Made Simple o Kirby non fa nessuna differenza, anzi un servizio di hosting tradizionale può essere preferibile perché ci permette di concentrarci sui contenuti, lasciando tutta la gestione del sito al fornitore del servizio di hosting. Ma se vogliamo utilizzare dei CMS meno diffusi come &lt;a href=&#34;https://ghost.org&#34;&gt;Ghost&lt;/a&gt; o &lt;a href=&#34;https://www.postleaf.org&#34;&gt;Postleaf&lt;/a&gt; oppure dei generatori di siti statici come &lt;a href=&#34;https://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt;, &lt;a href=&#34;https://gohugo.io&#34;&gt;Hugo&lt;/a&gt;, &lt;a href=&#34;https://getgrav.org&#34;&gt;Grav&lt;/a&gt; o &lt;a href=&#34;https://hexo.io&#34;&gt;Hexo&lt;/a&gt;,&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; la soluzione &lt;em&gt;cloud&lt;/em&gt; ci offre una flessibilità impareggiabile, nettamente maggiore di quella offerta da un normale servizio di hosting.&lt;/p&gt;&#xA;&lt;p&gt;Tutto questo però ha un prezzo da pagare. Un servizio di hosting decente può costare anche solo qualche decina di euro all&amp;rsquo;anno, per usufruire di un computer (anche se solo virtuale) nel cloud la cifra da sborsare è nettamente maggiore, dell&amp;rsquo;ordine di almeno 20-30 euro al mese (con variazioni enormi fra le offerte dei diversi provider).&lt;/p&gt;&#xA;&lt;p&gt;Prima di scegliere fra hosting e cloud bisognerà quindi valutare realisticamente quello che vogliamo fare con il sito web (un blog personale è ben diverso da un sito di commercio elettronico), tenendo bene in conto dell&amp;rsquo;impegno richiesto per mantenerlo in &lt;em&gt;forma&lt;/em&gt; e delle competenze tecniche necessarie per gestire un servizio mediamente complesso come questo. Trascurare quest&amp;rsquo;ultimo punto in particolare potrebbe significare dover spendere cifre nettamente maggiori per rimediare ai problemi di configurazione, o peggio di sicurezza, che potrebbero danneggiare gravemente non solo il sito ma anche la nostra immagine. In questo campo i costi non sono solo quelli che si vedono sul cartellino del prezzo.&lt;/p&gt;&#xA;&lt;h4 id=&#34;da-melabit-a-melabit-la-serie-completa-degli-articoli&#34;&gt;Da melabit a melabit, la serie completa degli articoli&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;Da melabit a melabit: introduzione&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/05/21/da-melabit-a-melabit-la-scelta-dell-hosting/&#34;&gt;Da melabit a melabit: la scelta dell’hosting&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/06/19/da-melabit-a-melabit-la-scelta-del-dominio/&#34;&gt;Da melabit a melabit: la scelta del dominio&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;Da melabit a melabit: fare da sé?&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/&#34;&gt;Da melabit a melabit: andare sul cloud&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/07/03/da-melabit-a-melabit-conclusioni/&#34;&gt;Da melabit a melabit: conclusioni&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Il nostro unico problema sarà quello di associare l&amp;rsquo;indirizzo IP al nome di dominio (ma in genere lo stesso fornitore del nome di dominio ci mette a disposizione gli strumenti per farlo da soli).&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;Dei primi tre ne ho scritto parecchio anche qui, chi vuole può leggere i vecchi articoli su &lt;a href=&#34;https://melabit.wordpress.com/2015/05/28/grav-bello-ma-impossibile/&#34;&gt;Grav&lt;/a&gt;, &lt;a href=&#34;https://melabit.wordpress.com/2014/12/28/hugo-la-prova/&#34;&gt;Hugo&lt;/a&gt; e &lt;a href=&#34;https://melabit.wordpress.com/2014/12/31/and-the-winner-is/&#34;&gt;Jekyll&lt;/a&gt;.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Da melabit a melabit: fare da sé?</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2019/06/18/da-melabit-a-melabit-fare-da-se/</link>
      <pubDate>Tue, 18 Jun 2019 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2019/06/18/da-melabit-a-melabit-fare-da-se/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://melabit.files.wordpress.com/2019/06/glen-carrie-1671267-unsplash.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://unsplash.com/@glencarrie&#34;&gt;Glen Carrie&lt;/a&gt; su &lt;a href=&#34;https://unsplash.com&#34;&gt;Unsplash&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Non avrei mai immaginato che sarebbe passato un &lt;a href=&#34;https://melabit.wordpress.com/2018/06/19/da-melabit-a-melabit-la-scelta-del-dominio/&#34;&gt;anno intero&lt;/a&gt; prima di riuscire a scrivere ancora di trasferimento del blog, hosting e così via. Nel mezzo c&amp;rsquo;è stata una transizione lavorativa improvvisa e quasi inaspettata oltre che vari impegni familiari improrogabili e non sono riuscito a fare di più. Ma abbiamo già perso troppo tempo, quindi meglio venire subito al dunque.&lt;/p&gt;&#xA;&lt;h4 id=&#34;fare-da-soli&#34;&gt;Fare da soli&lt;/h4&gt;&#xA;&lt;p&gt;Abbiamo già visto &lt;a href=&#34;https://melabit.wordpress.com/2018/05/21/da-melabit-a-melabit-la-scelta-dell-hosting/&#34;&gt;come scegliere il servizio di hosting&lt;/a&gt;, cioè l&amp;rsquo;azienda (o &lt;em&gt;provider&lt;/em&gt;) che gestisce l’infrastruttura hardware e software su cui si basa il nostro sito web e che lo rende raggiungibile attraverso la rete. Un &lt;em&gt;provider&lt;/em&gt; ha un certo costo, che per un  blog personale o un sito web di un professionista o di una piccola azienda può andare da un minimo di 20-30 euro a qualche centinaia di euro all&amp;rsquo;anno, a seconda del provider, dei servizi scelti e del livello di supporto desiderato. A fronte di questa spesa assolutamente ragionevole, utilizzare un provider permette di delegare la gestione di tutta l&amp;rsquo;infrastruttura hardware, l&amp;rsquo;aggiornamento del sistema operativo e del software su cui si basa il sito, la sicurezza, il backup e così via, a degli esperti professionisti (si spera!), lasciando a noi solo il compito di gestire i contenuti veri e propri del sito.&lt;/p&gt;&#xA;&lt;p&gt;Ma&amp;hellip; e se volessimo lo stesso fare da soli? Magari perché vogliamo imparare a gestire un server. Oppure perché vogliamo provare diverse soluzioni prima di decidere come realizzare definitivamente il nostro sito. Perché siamo restii a far gestire il nostro sito da un provider che domani potrebbe scomparire. Per semplice curiosità o  perfino perché vogliamo riutilizzare come server web un vecchio computer lasciato a marcire in cantina.&lt;/p&gt;&#xA;&lt;p&gt;Cominciamo dalla fine. Se sperate di poter fare quello che era così comune agli albori del web, prendere un computer ormai vecchio e poco performante e fargli gestire il vostro piccolo sito web, mi dispiace ma dovete ricredervi. Il web di oggi è molto diverso da quello di 15-20 anni fa, è infarcito di JavaScript, di contenuti dinamici, di CSS, di decine di altre tecnologie completamente sconosciute anche solo cinque o sei anni fa. Un computer vecchio, con un processore obsoleto, poca RAM, con un hard-disk lento come una lumaca, non ce la fa più a gestire in modo efficiente il web odierno, a meno di non ostinarsi a realizzare un sito vecchio (anzi, vecchissimo) stile, con le pagine scritte in HTML &lt;em&gt;puro&lt;/em&gt; e collegate manualmente l&amp;rsquo;una all&amp;rsquo;altra. Un sito come quelli di &lt;a href=&#34;https://www.wired.com/2009/11/geocities/&#34;&gt;GeoCities&lt;/a&gt; o giù di lì.&lt;/p&gt;&#xA;&lt;h4 id=&#34;raspberry-pi&#34;&gt;Raspberry Pi&lt;/h4&gt;&#xA;&lt;p&gt;Per fortuna per un sito web non serve nemmeno una workstation superpotente con processore Xeon e decine di gigabyte di RAM, è sufficiente un computer moderno anche se a basso costo.&lt;/p&gt;&#xA;&lt;p&gt;E fra i computer a basso (o meglio, bassissimo) costo disponibili sul mercato, il più interessante è senza alcun dubbio il &lt;a href=&#34;https://www.raspberrypi.org/&#34;&gt;Raspberry Pi&lt;/a&gt;, il microcomputer grande poco più di un pacchetto di sigarette (si può dire ancora?) che ha prodotto una vera e propria rivoluzione  fra i cosiddetti &lt;em&gt;maker&lt;/em&gt;, che lo usano per i progetti più svariati e a volte incredibili, dai semplici sistemi domestici di &lt;a href=&#34;https://averagemaker.com/2014/09/turn-raspberry-pi-into-cctv-security.html&#34;&gt;videosorveglianza&lt;/a&gt; o &lt;a href=&#34;https://support.hifiberry.com/hc/en-us/articles/205699981-How-to-build-a-multiroom-audio-system-based-on-Raspberry-Pi-and-Hifiberry&#34;&gt;intrattenimento&lt;/a&gt; a progetti avanzati di &lt;a href=&#34;https://www.freecodecamp.org/news/how-to-monitor-your-air-quality-with-this-diy-setup-3399793137c3/&#34;&gt;monitoraggio ambientale&lt;/a&gt;, &lt;a href=&#34;https://www.oreilly.com/learning/how-to-build-a-robot-that-sees-with-100-and-tensorflow&#34;&gt;robotica&lt;/a&gt; o &lt;a href=&#34;https://medium.com/nanonets/how-to-easily-detect-objects-with-deep-learning-on-raspberrypi-225f29635c74&#34;&gt;intelligenza artificiale&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Se il Raspberry Pi va bene per queste applicazioni, a maggior ragione può essere usato per implementare un &lt;a href=&#34;https://www.makeuseof.com/tag/turn-your-raspberry-pi-into-a-nas-box/&#34;&gt;NAS&lt;/a&gt;, un &lt;a href=&#34;https://pimylifeup.com/raspberry-pi-nextcloud-server/amp/&#34;&gt;servizio cloud&lt;/a&gt; personale o un &lt;a href=&#34;http://thestuffwebuild.com/projects/raspberry-pi-web-server/&#34;&gt;server web&lt;/a&gt; &lt;em&gt;casalingo&lt;/em&gt; (dove con questo termine intendo indicare in generale un blog personale o un sito di un professionista o di una piccola azienda).&lt;/p&gt;&#xA;&lt;p&gt;Io ho provato a trasferire &lt;a href=&#34;https://melabit.wordpress.com&#34;&gt;questo blog&lt;/a&gt; sul mio Raspberry Pi 3 B e ha funzionano tutto perfettamente, molto meglio di quanto mi sarei potuto aspettare. Per farlo, ho installato &lt;a href=&#34;https://www.raspberrypi.org/downloads/raspbian/&#34;&gt;Raspbian&lt;/a&gt; (la versione di Debian GNU/Linux specifica per il Raspberry Pi) scegliendo la versione Lite senza interfaccia grafica,&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; ho installato e configurato Wordpress seguendo &lt;a href=&#34;https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress&#34;&gt;queste istruzioni&lt;/a&gt; stringate ma molto chiare e infine ho trasferito tutto il contenuto del blog usando il plugin di esportazione installato di default in Wordpress. Più o meno due ore di lavoro, andando piano e controllando bene quello che stavo facendo.&lt;/p&gt;&#xA;&lt;p&gt;I risultati sono andati oltre le più rosee aspettative: la velocità di accesso al blog era indistinguibile da quella garantita dall&amp;rsquo;hosting attuale su Wordpress.com e anche l&amp;rsquo;utilizzo del &lt;em&gt;backend&lt;/em&gt;, cioè del sistema di gestione di Wordpress (articoli, file allegati, plugin, utenti e così via), non faceva assolutamente rimpiangere quello a cui sono abituato ormai da tanti anni.&lt;/p&gt;&#xA;&lt;p&gt;A chi volesse provarci a sua volta e non ha già un Raspberry Pi a disposizione, consiglio di acquistare il modello più recente, il &lt;a href=&#34;https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/&#34;&gt;Raspberry Pi 3 B+&lt;/a&gt; (costa 32 euro su &lt;a href=&#34;https://www.amazon.it/Raspberry-Pi-3-modello-B/dp/B07BDR5PDW/ref=sr_1_3?__mk_it_IT=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;amp;keywords=Raspberry&amp;#43;Pi&amp;#43;3&amp;#43;Model&amp;#43;B%2B&amp;amp;qid=1560593594&amp;amp;s=gateway&amp;amp;sr=8-3&#34;&gt;Amazon&lt;/a&gt;, qualcosa di più su &lt;a href=&#34;https://thepihut.com/products/raspberry-pi-3-model-b-plus&#34;&gt;PiHut&lt;/a&gt;), e una scheda micro SD veloce da almeno 16-32 GB, tenendo conto che la velocità della scheda è molto più importante della capienza.&lt;/p&gt;&#xA;&lt;h4 id=&#34;pro-e-contro&#34;&gt;Pro e contro&lt;/h4&gt;&#xA;&lt;p&gt;Il Raspberry Pi è perfetto per imparare a gestire un server web e il sistema Linux associato oppure per fare delle prove con diversi &lt;a href=&#34;https://melabit.wordpress.com/2014/08/06/i-limiti-di-wordpress-com-una-nuova-piattaforma-per-il-blog/&#34;&gt;CMS&lt;/a&gt; o &lt;a href=&#34;https://melabit.wordpress.com/2014/08/06/i-limiti-di-wordpress-com-una-nuova-piattaforma-per-il-blog/&#34;&gt;generatori di siti statici&lt;/a&gt; prima di scegliere quello che vogliamo usare per il nostro sito.&lt;/p&gt;&#xA;&lt;p&gt;Il Raspberry Pi non ha nemmeno bisogno di essere collegato ad un monitor e ad una tastiera e mouse, ma può essere gestito senza problemi da remoto tramite l&amp;rsquo;interfaccia &lt;code&gt;ssh&lt;/code&gt; (naturalmente bisogna avere dei rudimenti di conoscenza del Terminale, cosa comunque necessaria per chiunque voglia imparare a gestire Linux e un sistema server). In più è molto piccolo, messo in un case come &lt;a href=&#34;https://thepihut.com/collections/raspberry-pi-cases/products/flirc-raspberry-pi-3-b-case&#34;&gt;questo&lt;/a&gt; o &lt;a href=&#34;https://thepihut.com/products/pibow-3b-coupe-raspberry-pi-3-3b?ref=isp_rel_prd&amp;amp;isp_ref_pos=2&#34;&gt;questo&lt;/a&gt; fa la sua figura e può essere tenuto tranquillamente in bella vista sulla scrivania o accanto al router.&lt;/p&gt;&#xA;&lt;p&gt;Ma anche se, come io stesso ho potuto verificare, funziona molto bene con Wordpress e probabilmente anche con qualunque altro CMS o sistema statico che ci possa venire in mente di installare, usare un Raspberry Pi come sistema &lt;em&gt;definitivo&lt;/em&gt; sul quale ospitare un server web (ma anche un NAS o un cloud casalingo) richiede di curare attentamente una serie di dettagli niente affatto trascurabili. È importante tenere presente che, anche se l&amp;rsquo;articolo è focalizzato sull&amp;rsquo;uso del Raspberry Pi, le considerazioni che seguono valgono in parte per qualunque computer che possiamo voler usare come server web.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Il processore del Raspberry Pi genera poco calore e non ha bisogno di un dissipatore o di una ventola. Ma il microcomputer è progettato per essere usato per qualche ora e poi spento, cosa succede se lo teniamo acceso 24 ore su 24? Ci sarà bisogno di montare un &lt;a href=&#34;https://thepihut.com/collections/raspberry-pi-cases/products/raspberry-pi-heatsink&#34;&gt;dissipatore metallico&lt;/a&gt; o una &lt;a href=&#34;https://thepihut.com/products/adafruit-miniature-5v-cooling-fan-for-raspberry-pi-and-other-computers&#34;&gt;ventola&lt;/a&gt;, oppure di usare un &lt;a href=&#34;https://thepihut.com/collections/raspberry-pi-cases/products/flirc-raspberry-pi-3-b-case&#34;&gt;case metallico&lt;/a&gt; adatto a dissipare il calore prodotto dal processore (io ho fatto così).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2019/06/flirc.jpg&#34; alt=&#34;&#34;&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Le schede SD utilizzate dal Raspberry Pi come memoria di massa sono notoriamente fragili e poco adatte ad un uso prolungato. Ci sono soluzioni che permettono di utilizzare un &lt;a href=&#34;https://geekworm.com/products/x820-v3-0-usb-3-0-2-5-inch-sata-hdd-ssd-storage-expansion-board&#34;&gt;disco esterno&lt;/a&gt; meccanico o SSD (o anche &lt;a href=&#34;https://geekworm.com/collections/new-arrivals/products/raspberry-pi-x822-dual-2-5-sata-hdd-ssd-storage-expansion-board&#34;&gt;due&lt;/a&gt;) al posto della scheda SD, sono molto interessanti ma richiedono un minimo di manualità e di esperienza per installare e configurare il tutto.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Alimentare un server con un alimentatore da parete e il suo fragile connettorino microUSB ha un livello di affidabilità decisamente scarso. Se poi aggiungiamo un disco esterno, è facile che la potenza fornita dall&amp;rsquo;alimentatore USB diventi insufficiente. Molto meglio usare un alimentatore ad hoc, magari insieme ad un case adatto ad ospitare tutti i componenti &lt;a href=&#34;http://thestuffwebuild.com/projects/raspberry-pi-web-server/&#34;&gt;come questo&lt;/a&gt; (si veda anche la figura qui sotto). Purtroppo, mettere insieme una cosa del genere richiede un livello di manualità e di esperienza ancora più elevato.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;http://thestuffwebuild.com/wp-content/uploads/2013/07/DSC_0121.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: The Stuff We Build, &lt;a href=&#34;http://thestuffwebuild.com/projects/raspberry-pi-web-server/&#34;&gt;Raspberry Pi Web Server&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Sempre in tema di alimentazione elettrica, per usare il Raspberry Pi come server è indispensabile aggiungere una &lt;a href=&#34;https://uk.pi-supply.com/products/pijuice-standard&#34;&gt;batteria tampone&lt;/a&gt;, adatta a tenere il Raspberry Pi alimentato anche in assenza di corrente elettrica, meglio se associata ad un &lt;a href=&#34;https://www.amazon.it/EPYC-Continuit%C3%A0-Potenza-Tecnologia-Interactive/dp/B07N2NMJ9X/&#34;&gt;piccolo UPS&lt;/a&gt; per il router (se va via la corrente di casa e il router si spegne, tenere alimentato il Raspberry Pi non serve comunque). Il solo UPS può anche andare bene per alimentare i due dispositivi, bisogna solo controllare che abbia una potenza sufficiente ad alimentare il router ed il Raspberry Pi per diverse ore.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Un server web ha bisogno di un nome di dominio e di un indirizzo IP associato. Per il nome di dominio c&amp;rsquo;è poco da fare, va richiesto necessariamente ad una azienda intermediaria (&lt;em&gt;registrar&lt;/em&gt;) come &lt;a href=&#34;https://www.register.it/&#34;&gt;Register.it&lt;/a&gt;, &lt;a href=&#34;https://it.godaddy.com/domains/domain-name-search&#34;&gt;GoDaddy&lt;/a&gt;, &lt;a href=&#34;https://www.cloudflare.com/products/registrar/&#34;&gt;Cloudflare&lt;/a&gt;, &lt;a href=&#34;https://domains.google&#34;&gt;Google Domains&lt;/a&gt; e costa circa 10-15 euro all&amp;rsquo;anno (spesso molto meno il primo anno). Al nome di dominio bisogna associare l&amp;rsquo;indirizzo IP del nostro sito, che in genere è gestito direttamente dal provider del servizio di hosting. Se vogliamo fare da soli dobbiamo riuscire ad ottenere in qualche modo un indirizzo IP personale. Purtroppo i normali provider telefonici che usiamo per accedere ad internet da casa o dall&amp;rsquo;ufficio, Wind/Infostrada, Vodafone o simili, ci assegnano degli IP &lt;em&gt;dinamici&lt;/em&gt;, che possono cambiare nel tempo, mentre a noi serve un IP &lt;em&gt;statico&lt;/em&gt;, da associare una volta per tutte al nome di dominio. Scordatevi i servizi di &lt;a href=&#34;https://dyndns.it/knowledgebase/cose-un-dns-dinamico/&#34;&gt;DNS dinamico&lt;/a&gt; come &lt;a href=&#34;https://www.opendns.com&#34;&gt;DynDNS&lt;/a&gt;, &lt;a href=&#34;https://www.opendns.com/&#34;&gt;OpenDNS&lt;/a&gt; o &lt;a href=&#34;https://www.noip.com&#34;&gt;NoIP&lt;/a&gt; e simili, questi possono andar bene per accedere di tanto in tanto alla videosorveglianza o ai dispositivi IoT di casa, non certo per un server web. L&amp;rsquo;unico provider che conosca che fornisce facilmente un IP statico ai clienti è Fastweb, basta chiederlo ed è anche gratuito.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Da non dimenticare la questione dell&amp;rsquo;aggiornamento e della messa in sicurezza del sistema operativo e dei pacchetti software che utilizziamo per realizzare il sito web. Linux è intrinsecamente un sistema operativo sicuro, ma ciò non toglie che bisogna preoccuparsi di aggiornarlo frequentemente, nonché di aggiornare tutti i pacchetti software di contorno, in particolare quelli utilizzati per il sito web, in modo da evitare non solo che il sito finisca sotto il controllo di qualche &lt;em&gt;script kiddie&lt;/em&gt; che non ha di meglio da fare, ma soprattutto che il nostro microcomputer diventi una base di partenza per i malintenzionati della rete per effettuare attacchi mirati a più vasta scala.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;conclusioni&#34;&gt;Conclusioni&lt;/h4&gt;&#xA;&lt;p&gt;Come è facile notare le mie perplessità sull&amp;rsquo;uso del Raspberry Pi come server web &lt;em&gt;casalingo&lt;/em&gt; (così come di qualunque altro computer usato per questo scopo) sono soprattutto di natura hardware, e in fondo riflettono il fatto che questo microcomputer nasce come sistema sperimentale o di sviluppo, non come sistema affidabile da tenere in funzione 24 ore su 24.&lt;/p&gt;&#xA;&lt;p&gt;Anche dal punto di vista puramente economico non mi sembra una grande idea: fra Raspberry Pi, UPS, case e accessori vari si rischia di superare facilmente il costo di un servizio di hosting pluriennale, con in più i tanti grattacapi descritti.&lt;/p&gt;&#xA;&lt;p&gt;Il Raspberry Pi invece è imbattibile come sistema didattico ed è di sicuro uno dei migliori acquisti che si possano fare in questo momento, una specie di ritorno ai tempi &lt;em&gt;eroici&lt;/em&gt; degli anni &amp;lsquo;80 quando chi comprava un computer come il Commodore 64, lo Spectrum o, per i più fortunati, l&amp;rsquo;Apple II doveva rimboccarsi le maniche e imparare i rudimenti della programmazione e magari anche dell&amp;rsquo;elettronica per usarlo al meglio. È una vera fortuna che quei tempi siano tornati, oggi.&lt;/p&gt;&#xA;&lt;h4 id=&#34;da-melabit-a-melabit-la-serie-completa-degli-articoli&#34;&gt;Da melabit a melabit, la serie completa degli articoli&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;Da melabit a melabit: introduzione&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/05/21/da-melabit-a-melabit-la-scelta-dell-hosting/&#34;&gt;Da melabit a melabit: la scelta dell’hosting&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/06/19/da-melabit-a-melabit-la-scelta-del-dominio/&#34;&gt;Da melabit a melabit: la scelta del dominio&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;Da melabit a melabit: fare da sé?&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/&#34;&gt;Da melabit a melabit: andare sul cloud&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/07/03/da-melabit-a-melabit-conclusioni/&#34;&gt;Da melabit a melabit: conclusioni&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;La versione ideale per un server web al quale, dopo la configurazione iniziale, si accede quasi esclusivamente tramite l&amp;rsquo;interfaccia web.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Da melabit a melabit: la scelta del dominio</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2018/06/05/da-melabit-a-melabit-la-scelta-del-dominio/</link>
      <pubDate>Tue, 05 Jun 2018 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2018/06/05/da-melabit-a-melabit-la-scelta-del-dominio/</guid>
      <description>&lt;p&gt;Se la scelta del &lt;a href=&#34;https://melabit.wordpress.com/2018/05/21/da-melabit-a-melabit-la-scelta-dell-hosting/&#34;&gt;servizio di hosting&lt;/a&gt; più adatto alle nostre esigenze è difficile, ancora più complicata è la scelta del &lt;em&gt;nome di dominio&lt;/em&gt; (o solo &lt;em&gt;dominio&lt;/em&gt;), cioè del nome univoco assegnato ad un sito web, che lo caratterizza e lo rende facile da ricordare, come ad esempio &lt;code&gt;www.google.com&lt;/code&gt;, &lt;code&gt;www.debian.org&lt;/code&gt; oppure &lt;code&gt;www.nomesito.it&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Breve lezioncina preliminare (sono noioso, ma bisogna pure capirsi). Un dominio è composto da tre parti separate da punti: la prima parte è il noto acronimo &lt;code&gt;www&lt;/code&gt; (cioè &lt;em&gt;world wide web&lt;/em&gt;), una specie di marchio di riconoscimento del web (come la &lt;code&gt;@&lt;/code&gt; per la posta elettronica) che ormai viene usato sempre più di rado.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;La parte finale è detta &lt;a href=&#34;https://it.wikipedia.org/wiki/Domini_di_primo_livello_generici&#34;&gt;dominio di primo livello&lt;/a&gt; (o TLD, &lt;em&gt;Top Level Domain&lt;/em&gt;) e serve ad identificare la tipologia del sito web (&lt;code&gt;.com&lt;/code&gt; per i siti commerciali, &lt;code&gt;.org&lt;/code&gt; per quelli senza scopo di lucro) oppure la nazione dove opera il sito (&lt;code&gt;.it&lt;/code&gt;). Però, dopo la &lt;a href=&#34;https://www.ilsoftware.it/articoli.asp?tag=Nuovi-domini-di-primo-livello-cosa-sono-e-come-si-registrano_10660&#34;&gt;liberalizzazione dei TLD&lt;/a&gt;, queste definizioni sono diventate sempre meno significative.&lt;/p&gt;&#xA;&lt;p&gt;Infine la parte di mezzo è il &lt;em&gt;nome dell&amp;rsquo;host&lt;/em&gt; (&lt;code&gt;google&lt;/code&gt;, &lt;code&gt;debian&lt;/code&gt; oppure &lt;code&gt;nomesito&lt;/code&gt; negli esempi di sopra), la parte del nome di dominio che caratterizza veramente il sito.&lt;/p&gt;&#xA;&lt;p&gt;Aggiungendo il &lt;em&gt;metodo di accesso&lt;/em&gt;, &lt;code&gt;http://&lt;/code&gt; o ormai quasi sempre la versione &lt;em&gt;sicura&lt;/em&gt; &lt;code&gt;https://&lt;/code&gt;, si ottiene l&amp;rsquo;URL, cioè la stringa univoca &lt;code&gt;https://www.nomesito.it&lt;/code&gt;, che permette al browser di accedere al sito web desiderato.&lt;/p&gt;&#xA;&lt;p&gt;Finita la lezione, veniamo alla parte più significativa dell&amp;rsquo;articolo: come si fa a scegliere il nome di dominio più adatto per il nostro sito? Le regole di base sono già tutte in &lt;a href=&#34;https://sos-wp.it/come-scegliere-dominio/&#34;&gt;questo articolo&lt;/a&gt;, inutile ripeterle un&amp;rsquo;altra volta.&lt;/p&gt;&#xA;&lt;p&gt;Per una volta voglio usare un approccio più &lt;em&gt;pratico&lt;/em&gt; e raccontare come e perché ho scelto proprio &lt;code&gt;melabit&lt;/code&gt; come nome di dominio per questo sito, applicando senza nemmeno saperlo alcune delle regole contenute nell&amp;rsquo;articolo appena citato. Tre regole in particolare: volevo un nome di dominio che fosse breve e facile da scrivere, e che una volta letto non sembrasse qualcosa di diverso e imprevisto. Perché la ragione conta, ma il caso ha sempre il suo bel daffare a metterci i bastoni fra le ruote.&lt;/p&gt;&#xA;&lt;p&gt;La primissima idea di tenere un blog personale non è mia, ma dell&amp;rsquo;amico &lt;a href=&#34;http://macintelligence.org/&#34;&gt;Lucio Bragagnolo&lt;/a&gt;, che molto gentilmente mi aveva invitato ad aprirne uno su Macworld Italia. Si doveva chiamare &amp;ldquo;iLife of Brian&amp;rdquo;, un bel gioco di parole con il nickname che uso più o meno sempre su internet (con qualche variazione).&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; Ho ancora il testo del post di presentazione, che non ho mai pubblicato perché intanto Macworld ha chiuso su due piedi.&lt;/p&gt;&#xA;&lt;p&gt;Ci ho pensato e ripensato e alla fine ho deciso di fare da solo. Ma senza più l&amp;rsquo;ombrello protettivo di Macworld ho escluso immediatamente di chiamarlo &amp;ldquo;iLife of Brian&amp;rdquo;, i motori di ricerca non l&amp;rsquo;avrebbero mai trovato. Provate a cercare &amp;ldquo;iLife of Brian&amp;rdquo; su Google (ma anche su Bing, su DuckDuckGo, su quello che vi pare), vi verrà fuori solo e sempre &lt;a href=&#34;https://www.youtube.com/watch?v=kx_G2a2hL6U&#34;&gt;qualcosa&lt;/a&gt; dei monumentali Monty Python. Il confronto era improponibile.&lt;/p&gt;&#xA;&lt;p&gt;Allora ho preso il fidato &lt;a href=&#34;http://brettterpstra.com/projects/nvalt/&#34;&gt;nvALT&lt;/a&gt;, che uso molto più di Notes per buttare giù degli appunti veloci, e ho cominciato a buttare giù una serie di nomi per il blog. Poi li ho messi in ordine (si può fare a mano, ma sapere usare un po&amp;rsquo; il Terminale può essere utile anche per queste cose) e mi sono messo a cercare su internet se erano disponibili o no.&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;è voluto un po&amp;rsquo; di tempo e di pazienza, e alla fine è venuta fuori questa lista. Nella colonna di sinistra sono finiti tutti quelli già utilizzati, un vero peccato perché alcuni erano veramente carini. Rimanevano quelli della colonna di destra.&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2018/06/nomi-blog.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;A questo punto ho cominciato a tagliare. Alcuni nomi erano troppo lunghi e complicati (&lt;code&gt;mactechbit&lt;/code&gt;, &lt;code&gt;openappletech&lt;/code&gt;), spesso troppo &lt;em&gt;anglosassoni&lt;/em&gt; per un blog destinato volutamente ad un pubblico italiano (&lt;code&gt;openmactools&lt;/code&gt;, &lt;code&gt;toolsformac&lt;/code&gt;). Poi c&amp;rsquo;erano i nomi troppo &lt;em&gt;caratterizzati&lt;/em&gt; verso aspetti molto particolari del mondo Mac (&lt;code&gt;melaprog&lt;/code&gt;, &lt;code&gt;scientificmac&lt;/code&gt;) mentre io volevo mantenere la possibilità di di scrivere di tutto quello che mi piaceva (e mi interessava). Tagliati anche loro senza pietà.&lt;/p&gt;&#xA;&lt;p&gt;Alla fine mi ero deciso per &lt;code&gt;melaperta&lt;/code&gt;. Poi quasi per caso, mentre lo ripetevo mentalmente, mi sono accorto che poteva essere scambiato per un sito per adulti (provate anche voi e ditemi). Avrebbe fatto molto bene alle statistiche di accesso, lo so, ma ho tagliato anche &lt;code&gt;melaperta&lt;/code&gt; senza pietà.&lt;/p&gt;&#xA;&lt;p&gt;Il nome immediatamente successivo era l&amp;rsquo;unico che non aveva controindicazioni, ed è così che è nato &lt;code&gt;melabit&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;per-approfondire&#34;&gt;Per approfondire&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Host-academy, &lt;a href=&#34;https://host-academy.it/tutorial-seo/abc-tutorial-seo/171-cos-e-un-dominio&#34;&gt;Cos&amp;rsquo;è un dominio?&lt;/a&gt;, 2018.&lt;/li&gt;&#xA;&lt;li&gt;Nicola Losito, &lt;a href=&#34;https://nicolalosito.it/2017/09/04/22-consigli-la-scelta-del-prossimo-nome-dominio/&#34;&gt;22 consigli per la scelta del tuo prossimo nome a dominio&lt;/a&gt;, 2017.&lt;/li&gt;&#xA;&lt;li&gt;ReteLab, &lt;a href=&#34;https://retelab.it/blog/scegliere-un-nome-dominio/&#34;&gt;Come scegliere un nome di dominio&lt;/a&gt;, 2016.&lt;/li&gt;&#xA;&lt;li&gt;Andrea Di Rocco, &lt;a href=&#34;https://sos-wp.it/come-scegliere-dominio/&#34;&gt;Come scegliere un dominio per il tuo nuovo sito web&lt;/a&gt;, 2016.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;da-melabit-a-melabit-la-serie-completa-degli-articoli&#34;&gt;Da melabit a melabit, la serie completa degli articoli&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;Da melabit a melabit: introduzione&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/05/21/da-melabit-a-melabit-la-scelta-dell-hosting/&#34;&gt;Da melabit a melabit: la scelta dell’hosting&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/06/19/da-melabit-a-melabit-la-scelta-del-dominio/&#34;&gt;Da melabit a melabit: la scelta del dominio&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;Da melabit a melabit: fare da sé?&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/&#34;&gt;Da melabit a melabit: andare sul cloud&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/07/03/da-melabit-a-melabit-conclusioni/&#34;&gt;Da melabit a melabit: conclusioni&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Dato che ormai il web è diventato onnipresente, l&amp;rsquo;acronimo &lt;code&gt;www&lt;/code&gt; non è più indispensabile per riferirsi ad un sito, e quindi si può usare solo &lt;code&gt;google.com&lt;/code&gt; (detto dominio &lt;em&gt;nudo&lt;/em&gt; o &lt;em&gt;naked&lt;/em&gt;) al posto di &lt;code&gt;www.google.com&lt;/code&gt;.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;Nickname che deriva sia dal film più famoso dei grandi Monty Python, sia dal nome di uno dei fisici con cui più ho avuto a che fare, Brian Josephson, uno capace di vincere un &lt;a href=&#34;https://www.mediatheque.lindau-nobel.org/laureates/josephson&#34;&gt;premio Nobel&lt;/a&gt; pubblicando un solo articolo significativo. Tanto che subito dopo si è &lt;a href=&#34;https://www.wired.it/scienza/lab/2014/05/13/premio-nobel-wikipedia/&#34;&gt;praticamente rimbambito&lt;/a&gt;.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Da melabit a melabit: la scelta dell&#39;hosting</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2018/05/21/da-melabit-a-melabit-la-scelta-dellhosting/</link>
      <pubDate>Mon, 21 May 2018 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2018/05/21/da-melabit-a-melabit-la-scelta-dellhosting/</guid>
      <description>&lt;p&gt;Dopo l&amp;rsquo;&lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;introduzione generale&lt;/a&gt; di un mese fa (è già passato un mese!), eccoci subito a quello che forse è il passo più difficile della transizione, la scelta del servizio di &lt;em&gt;hosting&lt;/em&gt;. Nella maggior parte dei casi, per avere una presenza su internet dobbiamo appoggiarci ad una azienda (&lt;em&gt;provider&lt;/em&gt;) che ci mette a disposizione il server che ospita il sito (il servizio di &lt;em&gt;hosting&lt;/em&gt; propriamente detto) e tutta l&amp;rsquo;infrastruttura hardware e software che rende il sito raggiungibile attraverso internet.&lt;/p&gt;&#xA;&lt;p&gt;Ho letto da qualche parte che scegliere un servizio di hosting è come sposarsi: bisogna scegliere il partner, stabilire una relazione e sperare che duri nel tempo. E come nel matrimonio, separarsi non è mai facile né privo di conseguenze negative. Non so quanto sia vera la parte riguardante la separazione (dal provider), ma posso testimoniare che la semplice scelta del servizio-partner si è dimostrata molto più complicata di quanto potessi immaginare. Ho pensato quindi di elencare le linee guida che ho seguito per la scelta, sperando che possano essere utili anche a qualcun&amp;rsquo;altro.&lt;/p&gt;&#xA;&lt;p&gt;Prima di iniziare un piccolo &lt;em&gt;disclaimer&lt;/em&gt;: questi consigli sono adatti a chi voglia mettere su un blog o un sito web per un professionista o una piccola azienda, magari anche un piccolo sito di commercio elettronico. Chi ha bisogno di gestire un sito web di livello superiore farà meglio a rivolgersi altrove, i principi di base sono più o meno sempre gli stessi ma cambia parecchio il peso che si da ai vari fattori. E poi, è più che probabile che in questi casi non vi basti più un normale servizio di hosting condiviso (&lt;em&gt;shared hosting&lt;/em&gt;) ma che abbiate bisogno di un server virtuale privato (VPS) o perfino di un server &amp;ldquo;fisico&amp;rdquo; vero e proprio (&lt;em&gt;dedicated hosting&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Su internet le guide alla scelta dell&amp;rsquo;hosting non mancano, purtroppo per la maggior parte non sono altro che degli spot pubblicitari per questo o quel provider. Fra tutte quelle a cui ho dato una occhiata, l&amp;rsquo;unica che mi sento di consigliare è questa &lt;a href=&#34;https://www.sitepoint.com/ultimate-guide-choosing-hosting-provider/&#34;&gt;guida di SitePoint&lt;/a&gt;: c&amp;rsquo;è anche qui un po&amp;rsquo; di pubblicità, ma almeno quelli di SitePoint lo ammettono onestamente.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Avere pazienza.&lt;/strong&gt; Non sto scherzando, è una cosa fondamentale. I provider che forniscono servizio di hosting sono centinaia, se non migliaia (nel mondo). Ognuno di loro a parole fornisce un servizio esemplare, una assistenza immediata, un prezzo stracciato. Nella maggior parte dei casi sono delle balle o perlomeno delle affermazioni, diciamo così, &lt;em&gt;piuttosto esagerate&lt;/em&gt;. Di conseguenza dovete rassegnarvi a navigare a lungo in rete, per cercare di capire cosa offrono (e soprattutto cosa &lt;em&gt;non&lt;/em&gt; offrono) i vari provider e se quello che vi danno serve veramente.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Niente è per sempre.&lt;/strong&gt; Niente è per sempre, soprattutto su internet. Un certo numero di aziende nascono, crescono e prosperano. Ma tante di più chiudono malamente dopo pochi anni. Come potete fidarvi di provider semisconosciuti che offrono servizi di hosting &lt;em&gt;a vita&lt;/em&gt;, da pagare ovviamente sempre in anticipo, magari allettandovi con lo zuccherino di uno sconto mai visto?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Provare il servizio.&lt;/strong&gt; Sono invece molto interessanti i provider che offrono pagamenti su base mensile o bimestrale. Si spende di più, è vero, ma si può provare direttamente la qualità del servizio offerto. E dopo un mese o due di prova &lt;em&gt;sul campo&lt;/em&gt;, potrete decidere a ragion veduta se rimanere con quel provider passando ad una tariffazione annuale o se cambiare aria in cerca di qualcosa di meglio. E poi, se un provider decide di copiare Netflix e di farsi pagare ogni mese, secondo me sa il fatto suo ed è sicuro che il servizio che offre non fa fuggire i clienti dopo i primi trenta giorni. Proprio come Netflix.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tenere i piedi per terra.&lt;/strong&gt; Forse è una banalità, ma prima di scegliere questo o quel contratto bisogna fare due conti e valutare quanto spazio occuperà il vostro sito (oggi e nei prossimi anni). Con &amp;ldquo;spazio&amp;rdquo; intendo proprio lo spazio occupato sul disco rigido del server dai testi, dalle immagini e magari dai documenti allegati nonché, se usiamo un CMS &lt;em&gt;dinamico&lt;/em&gt; come Wordpress, Drupal o, Dio ce ne scampi!, Joomla, dal database associato. Altrettanto importante è valutare il numero di utenti che visiteranno il sito. Inutile acquistare un servizio di hosting con spazio su disco &amp;ldquo;infinito&amp;rdquo; e banda di traferimento dati altrettanto &amp;ldquo;infinita&amp;rdquo; se poi non vi serve. A parte che l&amp;rsquo;infinito qui non esiste, a che vi serve tutto questo spazio se oggi avete solo dieci pagine e cento visitatori al giorno? Meglio iniziare con un contratto base, assicurandosi di poterlo aggiornare prontamente quando ce ne sarà bisogno. Anche perché i servizi di hosting forniti dai vari provider cambiano molto velocemente seguendo l&amp;rsquo;evoluzione tecnologica, per cui è probabile che, quando avrete veramente bisogno di più spazio e di più banda, riuscirete a spuntare prezzi e condizioni decisamente più convenienti di quelli odierni.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ciò che è veramente importante&lt;/strong&gt;. Tre parole: HTTP2, SSL, backup. Se il provider non vi garantisce queste cose fondamentali, andate da un&amp;rsquo;altra parte. E se ve le fa pagare a parte, valutate bene se vi conviene o se non è meglio rivolgersi altrove. In tutti i casi, su questo non ci piove, dovete averle tutte e tre. Per il backup in particolare, non fidatevi del provider e fate voi stessi un backup periodico del sito in aggiunta a quello automatico, che in ogni caso deve essere almeno giornaliero (penso comunque che nessun provider oggi possa pensare di stare sul mercato con qualcosa di meno). Perché? Perché non potete mai essere sicuri che il backup del provider funzioni finché non succede il &lt;em&gt;fattaccio&lt;/em&gt; e in quel malaugurato caso è meglio avere una seconda alternativa. Ma anche perché potete essere ancora meno sicuri che un bel(?) giorno il provider non chiuda tutto all&amp;rsquo;improvviso, lasciandovi senza servizio e pure senza backup.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ciò che è abbastanza importante&lt;/strong&gt;. Server che usano dischi SSD al posto di quelli meccanici. Ho qualche dubbio che facciano veramente la differenza, vista la scarsa qualità delle linee dati del nostro Paese (che me ne faccio di un server che legge velocissimamente i file dal disco se poi ci vuole un sacco di tempo per trasmetterli a destinazione?), però i dischi SSD sono più affidabili di quelli meccanici, quindi: perché no?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ciò che è piuttosto importante&lt;/strong&gt;. Se il provider vi offre una CDN o dispone di più server sparsi per l&amp;rsquo;Europa (come è sufficiente per un sito italiano) o per il mondo, fateci un serio pensierino sopra, soprattutto se il prezzo è onesto. La velocità su internet è tutto, se il sito ci mette più del dovuto a caricare i testi e le immagini, i visitatori si scocciano e scappano via. Non ci vuole molto, basta un ritardo di due o tre secondi. Le nostre linee dati si danno già parecchio da fare per rallentare la velocità di accesso ai siti (l&amp;rsquo;avete già letto prima), per cui è consigliabile stare sul sicuro e ridurre per quanto è possibile gli altri colli di bottiglia. Non è male poter avere un accesso al server anche tramite SSH, ma solo se sapete già usare il Terminale, del Mac o di Linux, perfino quello di Windows (finalmente dalle parti di Microsoft si sono decisi a metterne uno decente).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ciò che è incontrollabile.&lt;/strong&gt; Tante guide che ho letto prestano molta attenzione (troppa attenzione, secondo me) ad aspetti come l&amp;rsquo;affidabilità del servizio di hosting, la velocità nel rispondere alle richieste di aiuto, la qualità del supporto tecnico, la reputazione dell&amp;rsquo;azienda. Purtroppo sono tutti fattori sui quali non potete avere il minimo controllo, almeno finché non provate il servizio per qualche mese (anche per questo è utile poter iniziare con dei pagamenti mensili). In teoria la reputazione aziendale può essere valutata leggendo qualche recensione sul web o dando una occhiata a quello che dicono i social. In teoria. Nella pratica le recensioni sono inutili, nel 99.99% dei casi sembrano, e sono, solo pubblicità. Sull&amp;rsquo;affidabilità di quello che compare sui social è inutile sprecare tempo e parole.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Sicurezza.&lt;/strong&gt; Dovrei consigliarvi di scegliere un provider che curi particolarmente bene la sicurezza dei server e della infrastruttura di rete. Che disponga degli strumenti software adatti a respingere le principali tipologie di attacchi e che soprattutto sappia usarli. Che aggiorni rapidamente i software che girano sui server e magari anche quelli utilizzati dai siti web dei clienti, in modo da riparare velocemente alle vulnerabilità, agli errori di programmazione, che vengono scoperti ogni giorno e che possono essere sfruttati dai tanti malintenzionati che girano per il web. Purtroppo tutto ciò è forse ancora meno controllabile a priori della qualità del servizio offerto dal provider, e in questo caso anche i mesi di prova iniziale non bastano a darvi informazioni utili su questo aspetto (fondamentale!) del servizio. In questo caso particolare, una azienda nota e attiva da parecchi anni è potenzialmente preferibile ad una &lt;em&gt;startup&lt;/em&gt; appena nata, ma non è neanche detto a priori, magari i gestori della &lt;em&gt;startup&lt;/em&gt; sono particolarmente esperti in questo campo e possono agire con una rapidità ed una efficienza impossibili per una azienda di grosse dimensioni. Insomma, la questione sicurezza è veramente spinosa, l&amp;rsquo;unica cosa che mi sento di consigliare è quella di provare a verificare se il provider che avete scelto è stato soggetto ad attacchi nel passato e come ha reagito. È un consiglio molto debole, lo so, spero che qualcuno abbia delle idee migliori.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Prezzo chiaro.&lt;/strong&gt; Questa cosa la metto alla fine, in modo che sia più evidente. Non so a voi, a me danno profondamente fastidio quei provider (e sono tanti, anche fra i più quotati, come &lt;a href=&#34;https://www.bluehost.com/products/shared&#34;&gt;Bluehost&lt;/a&gt;, &lt;a href=&#34;https://www.siteground.it/hosting-web&#34;&gt;SiteGround&lt;/a&gt; o per stare in Italia, &lt;a href=&#34;https://hosting.aruba.it/en/hosting/linux.aspx&#34;&gt;Aruba&lt;/a&gt; o &lt;a href=&#34;https://www.1and1.it/web-hosting&#34;&gt;1&amp;amp;1&lt;/a&gt;) che propongono un prezzo molto basso per il primo anno, che poi si duplica (o si triplica) negli anni successivi. Un sito web non è un affare di un solo anno, e anche il servizio di hosting dovrebbe essere una relazione a lunga scadenza. Un provider lo sa benissimo e, se fa così, mi da l&amp;rsquo;impressione di essere un furbetto che applica la stessa politica di marketing di un supermercato. Con la differenza che ci vuol poco a cambiare supermercato, mentre trasferire il sito da un provider all&amp;rsquo;altro è una faccenda molto più complicata.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Trasferimento.&lt;/strong&gt; Se avete già un sito web e volete cambiare provider, siate consapevoli che trasferire il sito, fra DNS, dominio, email, database, CMS (e di tante altre cose che ora non mi vengono in mente), non è facilissimo. Se avete conoscenze tecniche sufficienti e tempo a disposizione fatelo pure da voi, in tutti gli altri casi vale decisamente la pena affidarsi al provider che avete scelto. Costa un po&amp;rsquo; ma dubito che ve ne pentirete.&lt;/p&gt;&#xA;&lt;h4 id=&#34;da-melabit-a-melabit-la-serie-completa-degli-articoli&#34;&gt;Da melabit a melabit, la serie completa degli articoli&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;Da melabit a melabit: introduzione&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/05/21/da-melabit-a-melabit-la-scelta-dell-hosting/&#34;&gt;Da melabit a melabit: la scelta dell’hosting&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/06/19/da-melabit-a-melabit-la-scelta-del-dominio/&#34;&gt;Da melabit a melabit: la scelta del dominio&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;Da melabit a melabit: fare da sé?&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/&#34;&gt;Da melabit a melabit: andare sul cloud&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/07/03/da-melabit-a-melabit-conclusioni/&#34;&gt;Da melabit a melabit: conclusioni&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
    </item>
    <item>
      <title>Da melabit a melabit: introduzione</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2018/04/16/da-melabit-a-melabit-introduzione/</link>
      <pubDate>Mon, 16 Apr 2018 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2018/04/16/da-melabit-a-melabit-introduzione/</guid>
      <description>&lt;p&gt;Come promesso, con questo post inizia la descrizione quasi in tempo reale del passaggio del blog da &lt;a href=&#34;https://wordpress.com&#34;&gt;WordPress.com&lt;/a&gt; ad un servizio di hosting più flessibile.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Come &lt;a href=&#34;https://melabit.wordpress.com/2014/08/01/i-limiti-di-wordpress-com/&#34;&gt;ho già scritto tempo fa&lt;/a&gt;, WordPress.com offre un servizio impeccabile, comodissimo per chi vuole iniziare ad avere una presenza sul web. Il servizio è affidabile e ragionevolmente veloce, gli aggiornamenti sono automatici, praticamente non bisogna occuparsi di nulla tranne che di scrivere. È veramente difficile chiedere di più ad un servizio gratuito come questo.&lt;/p&gt;&#xA;&lt;p&gt;Il vero limite di WordPress.com, che tutto sommato è anche la sua forza, è la mancanza di flessibilità. Con l&amp;rsquo;account gratuito non si possono installare altri plugin oltre a quelli previsti da &lt;a href=&#34;https://automattic.com/&#34;&gt;Automattic&lt;/a&gt;, l&amp;rsquo;azienda che gestisce lo sviluppo e la commercializzazione della &lt;a href=&#34;https://wordpress.org/&#34;&gt;piattaforma di blogging&lt;/a&gt; (open source) più diffusa al mondo.&lt;/p&gt;&#xA;&lt;p&gt;Una cosa comprensibile per motivi di sicurezza e affidabilità, ma che naturalmente dopo un po&amp;rsquo; risulta troppo limitante, perché impedisce di estendere le funzioni del blog oltre i confini ristretti stabiliti da Automattic.&lt;/p&gt;&#xA;&lt;p&gt;Idem per i temi. WordPress.com ne offre parecchi, sia gratuiti che a pagamento e ad un prezzo più che onesto, ma oltre quelli non si può andare, prendere o lasciare.&lt;/p&gt;&#xA;&lt;p&gt;Infine c&amp;rsquo;è la &lt;a href=&#34;https://melabit.wordpress.com/2018/04/03/e-una-sporca-faccenda-wordpress-com/&#34;&gt;questione della pubblicità&lt;/a&gt;, di cui ho scritto di recente, con annessi &lt;a href=&#34;https://melabit.wordpress.com/2018/04/07/e-una-sporca-faccenda-wordpress-com-profilazione/&#34;&gt;servizi di profilazione&lt;/a&gt; di ciò che i frequentatori del blog fanno online. Forse quello che è successo ad alcuni lettori può essere considerato un evento eccezionale o particolarmente sfortunato. Ciò non toglie che la presenza di annunci pubblicitari alla fine degli articoli, pur se giustificabile,&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; falsa un po&amp;rsquo; troppo l&amp;rsquo;immagine del blog, e lo mette quasi sullo stesso piano di quelle decine e centinaia di siti che ospitano contenuti raffazzonati alla bell&amp;rsquo;e meglio con il solo scopo di guadagnare dagli annunci che ne infarciscono le pagine.&lt;/p&gt;&#xA;&lt;p&gt;Per tutte queste ragioni è arrivata l&amp;rsquo;ora di cambiare, passando ad un servizio di hosting che consenta di gestire in proprio la piattaforma e di utilizzare finalmente il nome di dominio personale, &lt;code&gt;melabit.com/posts/it&lt;/code&gt;, lasciato in sospeso per troppi anni.&lt;/p&gt;&#xA;&lt;p&gt;In linea di principio, la cosa più semplice sarebbe quella di utilizzare uno dei piani a pagamento offerti da WordPress.com. Purtroppo dei &lt;a href=&#34;https://wordpress.com/pricing/&#34;&gt;tre piani disponibili&lt;/a&gt; i primi due, Personale e Premium, offrono (molto) poco di più rispetto al piano gratuito e praticamente servono solo per rimuovere la pubblicità e per usufruire di un dominio personalizzato e dei temi &lt;em&gt;premium&lt;/em&gt;. Mentre il piano Business, l&amp;rsquo;unico che consente di installare tutti i plugin e i temi che si desidera, a 25 euro al mese è decisamente troppo caro per un piccolo blog come questo, costruito nei ritagli di tempo e con il solo scopo di mettere a disposizione qualche contenuto di buona (si spera!) qualità.&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;unica opzione ragionevole è quindi di cercare un servizio di hosting con un buon rapporto qualità/prezzo e una affidabilità provata, e che naturalmente permetta di far girare la piattaforma software scelta per il blog.&lt;/p&gt;&#xA;&lt;p&gt;Ma questa è una storia che riguarda la prossima puntata.&lt;/p&gt;&#xA;&lt;p&gt;P.S. Questo post l&amp;rsquo;ho scritto a mano in macchina, mentre aspettavo mia figlia. Una esperienza molto &lt;em&gt;vecchio stile&lt;/em&gt; ma anche molto efficiente, ci ho messo meno di mezz&amp;rsquo;ora a buttarlo giù. Perché a mano posso scrivere malissimo (io stesso a volte riesco a capire a fatica quello che ho scritto) ma molto più velocemente che con la tastiera. Perché tanto so di dover copiare il testo sul computer e quindi non mi preoccupo troppo degli errori. Perché tutte le correzioni e gli spostamenti del testo di vedono chiaramente, e si continua a vedere anche il testo originale non corretto (una specie di controllo di versione rudimentale). Una esperienza da ripetere (e di cui riparlare, più avanti).&lt;/p&gt;&#xA;&lt;h4 id=&#34;da-melabit-a-melabit-la-serie-completa-degli-articoli&#34;&gt;Da melabit a melabit, la serie completa degli articoli&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;Da melabit a melabit: introduzione&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/05/21/da-melabit-a-melabit-la-scelta-dell-hosting/&#34;&gt;Da melabit a melabit: la scelta dell’hosting&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/06/19/da-melabit-a-melabit-la-scelta-del-dominio/&#34;&gt;Da melabit a melabit: la scelta del dominio&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;Da melabit a melabit: fare da sé?&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/&#34;&gt;Da melabit a melabit: andare sul cloud&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/07/03/da-melabit-a-melabit-conclusioni/&#34;&gt;Da melabit a melabit: conclusioni&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Ma anche più complesso da gestire.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;Automattic dovrà pur cercare di recuperare, almeno in parte, i costi del servizio gratuito.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>È una sporca faccenda, WordPress.com: profilazione</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2018/04/07/e-una-sporca-faccenda-wordpress-com-profilazione/</link>
      <pubDate>Sat, 07 Apr 2018 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2018/04/07/e-una-sporca-faccenda-wordpress-com-profilazione/</guid>
      <description>&lt;p&gt;Mentre cercavo di far &lt;a href=&#34;https://melabit.wordpress.com/2018/04/03/e-una-sporca-faccenda-wordpress-com/&#34;&gt;comparire le inserzioni pubblicitarie&lt;/a&gt; alla fine dei miei post, mi sono reso conto di quanti servizi di profilazione (&lt;em&gt;tracker&lt;/em&gt;) esterni a &lt;a href=&#34;https://wordpress.com/&#34;&gt;WordPress.com&lt;/a&gt; mettano il naso nelle pagine del blog.&lt;/p&gt;&#xA;&lt;p&gt;Ci sono naturalmente gli onnipresenti &lt;em&gt;social&lt;/em&gt;, collegati tramite i pulsanti di condivisione, e c&amp;rsquo;è &lt;a href=&#34;https://analytics.google.com&#34;&gt;Google Analytics&lt;/a&gt;, che lo stesso WordPress.com utilizza per misurare i parametri di accesso al sito.&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2018/04/chrome-melabit.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Ma poi ci sono una serie di servizi dai nomi più oscuri ma significativi &amp;ndash; &lt;a href=&#34;https://www.doubleclickbygoogle.com/&#34;&gt;DoubleClick&lt;/a&gt; di Google, &lt;a href=&#34;www.adap.tv&#34;&gt;Adapt.tv&lt;/a&gt; e &lt;a href=&#34;https://en.wikipedia.org/wiki/Advertising.com&#34;&gt;Advertising.com&lt;/a&gt;, entrambe costole di AOL e quindi di Verizon, &lt;a href=&#34;https://www.appnexus.com/en&#34;&gt;AppNexus&lt;/a&gt;, che applica tecniche di &lt;em&gt;machine learning&lt;/em&gt; per rendere &amp;ldquo;la pubblicità digitale più predittiva ed intelligente&amp;rdquo;, &lt;a href=&#34;https://www.criteo.com&#34;&gt;Criteo&lt;/a&gt;, che &amp;ldquo;aiuta a costruire esperienze personalizzate per gli acquirenti&amp;rdquo;, &lt;a href=&#34;https://skimlinks.com/&#34;&gt;SkimLinks&lt;/a&gt;, ovvero &amp;ldquo;fai soldi con i tuoi contenuti&amp;rdquo;, &lt;a href=&#34;http://www.bidswitch.com/&#34;&gt;BidSwitch&lt;/a&gt; e  &lt;a href=&#34;https://www.demandbase.com&#34;&gt;Demandbase&lt;/a&gt; di cui vi risparmio la &lt;em&gt;filosofia&lt;/em&gt; di marketing &amp;ndash; che analizzano tutto quello che facciamo con il browser, le ricerche effettuate, i link seguiti, le pagine che leggiamo, per costruire una immagine sempre più precisa di noi, delle nostre abitudini e di quello che ci piace, con un solo e unico obiettivo: sapere tutto di noi per presentarci degli annunci pubblicitari mirati e quindi sempre più efficaci.&lt;/p&gt;&#xA;&lt;p&gt;Tenendo conto di tutto, l&amp;rsquo;home page di &lt;a href=&#34;https://melabit.wordpress.com&#34;&gt;Melabit&lt;/a&gt; viene tracciata da ben 16-17 servizi di profilazione diversi, con un forte impatto negativo nella velocità di accesso al sito, come ci si accorge facilmente se si prova ad usare uno dei tanti strumenti di &lt;a href=&#34;https://www.webpagetest.org/result/180406_4A_08de7773cbb288febe7f28ad876f5221/1/details/#waterfall_view_step1&#34;&gt;analisi delle prestazioni&lt;/a&gt; disponibili in rete, come &lt;a href=&#34;https://www.webpagetest.org&#34;&gt;WebPagetest.org&lt;/a&gt;, &lt;a href=&#34;https://gtmetrix.com/&#34;&gt;GTmetrix&lt;/a&gt; o &lt;a href=&#34;https://tools.pingdom.com/&#34;&gt;Pingdom&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Tanto per fare un confronto, ecco quello che compare guardando l&amp;rsquo;home page di un sito semi-istituzionale, sempre in WordPress ma ospitato su un servizio di hosting a pagamento, che ho messo su da un anno con alcuni colleghi. Niente servizi di profilazione &lt;em&gt;opachi&lt;/em&gt; e indesiderati, solo Google Analytics, che sarà pure invasivo, ma che almeno è stato attivato appositamente per contare gli accessi al sito.&lt;/p&gt;&#xA;&lt;p&gt;Forse possiamo ancora a difenderci.&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2018/04/chrome-ilnostrocnr.png&#34; alt=&#34;&#34;&gt;</description>
    </item>
    <item>
      <title>È una sporca faccenda, WordPress.com</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2018/04/03/e-una-sporca-faccenda-wordpress-com/</link>
      <pubDate>Tue, 03 Apr 2018 18:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2018/04/03/e-una-sporca-faccenda-wordpress-com/</guid>
      <description>&lt;p&gt;Mentre leggevano &lt;a href=&#34;https://melabit.wordpress.com/2018/03/20/bastardi-con-tanta-gloria-seconda-parte/&#34;&gt;uno degli ultimi articoli&lt;/a&gt; pubblicati, &lt;em&gt;Roberto&lt;/em&gt; e &lt;em&gt;katsiematsi&lt;/em&gt; (😃) si sono ritrovati abbonati senza volerlo ad uno di quegli stramaledetti &lt;em&gt;servizi&lt;/em&gt; a pagamento di loghi, suonerie o giochini insulsi, veri e propri furti consentiti da una legislazione perlomeno distratta.&lt;/p&gt;&#xA;&lt;p&gt;Con l&amp;rsquo;iPhone è un attimo, arrivati in fondo all&amp;rsquo;articolo basta toccare senza volere l&amp;rsquo;annuncio &lt;em&gt;cattivo&lt;/em&gt; per ritrovarsi alleggeriti di parecchi euro (e con il fastidio di doversi anche dare da fare per annullare l&amp;rsquo;abbonamento).&lt;/p&gt;&#xA;&lt;p&gt;Non avevo idea che &lt;a href=&#34;https://wordpress.com&#34;&gt;WordPress.com&lt;/a&gt;, la piattaforma gratuita che ospita il &lt;a href=&#34;https://melabit.wordpress.com&#34;&gt;blog&lt;/a&gt;, consentisse inserzioni di questo tipo. L&amp;rsquo;interfaccia di amministrazione del sito mi avvisa che ci potrebbero essere degli annunci pubblicitari alla fine dei post, ma non dice nulla sul tipo di annunci mostrati, né tantomeno mi consente di sceglierli o di vietarli, a meno di non passare ad uno dei piani a pagamento (tante grazie, preferisco fare da me).&lt;/p&gt;&#xA;&lt;p&gt;Ma anche senza essere amministratore, Firefox (il browser che uso normalmente) non mi fa vedere gli annunci pubblicitari, che vengono bloccati a priori dall&amp;rsquo;ottimo &lt;a href=&#34;https://github.com/gorhill/uBlock&#34;&gt;uBlock Origin&lt;/a&gt;, una delle estensioni indispensabili per qualunque browser.&lt;/p&gt;&#xA;&lt;a href=&#34;https://melabit.files.wordpress.com/2018/04/firefox-ublock-on.png&#34;&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2018/04/firefox-ublock-on.png&#34; width=&#34;400&#34; class=&#34;aligncenter&#34; /&gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;Solo se disattivo esplicitamente l&amp;rsquo;estensione vedo finalmente gli annunci alla fine degli articoli, in questo caso assolutamente benigni.&lt;/p&gt;&#xA;&lt;a href=&#34;https://melabit.files.wordpress.com/2018/04/firefox-ublock-off.png&#34;&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2018/04/firefox-ublock-off.png&#34; width=&#34;400&#34; class=&#34;aligncenter&#34; /&gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;Nonostante usi la modalità di navigazione anonima, ho la netta impressione che WordPress &lt;em&gt;sappia&lt;/em&gt; lo stesso chi sono, sarà un caso ma gli annunci che mi fa vedere sembrano dedicati proprio a me. Le cose non cambiano se uso Safari o Chrome sul Mac o iOS. Con Android invece la pubblicità è più generica, forse perché lo uso poco e il sistema ha meno informazioni sulle mie abitudini di navigazione.&lt;/p&gt;&#xA;&lt;p style=&#34;text-align:center;&#34;&gt;&#xA;    &lt;img style=&#34;margin:0 10px;border:0 solid #fff;padding:5px;width:40%;&#34; src=&#34;https://melabit.files.wordpress.com/2018/04/chrome-android1.png&#34; alt=&#34;Chrome su Android #1&#34; /&gt;  &lt;img style=&#34;margin:0 10px;border:0 solid #fff;padding:5px;width:40%;&#34; src=&#34;https://melabit.files.wordpress.com/2018/04/chrome-android2.png&#34; alt=&#34;Chrome su Android #2&#34; /&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Sia quel che sia, è arrivata l&amp;rsquo;ora di abbandonare WordPress.com. Un po&amp;rsquo; di pubblicità mi sta bene, è ragionevole che WordPress.com voglia guadagnare qualcosa in cambio del servizio di hosting gratuito che mette a disposizione, ma un conto è vedere un annuncio con Cannavacciuolo, un altro è farsi incastrare senza volere da qualche servizio a pagamento ai limiti della legalità.&lt;/p&gt;&#xA;&lt;p&gt;Ci pensavo da tempo, anzi da troppo tempo, l&amp;rsquo;ho anche &lt;a href=&#34;https://melabit.wordpress.com/?s=%22I&amp;#43;limiti&amp;#43;di&amp;#43;WordPress%22&#34;&gt;scritto più volte&lt;/a&gt;, ma alla fine ha sempre prevalso la pigrizia. Anche perché il piano gratuito di WordPress.com sarà anche limitato (e credetemi, lo è!) ma evita di dover affrontare un sacco di fastidi collegati alla gestione del sito, dagli aggiornamenti allo spam agli inevitabili problemi di sicurezza.&lt;/p&gt;&#xA;&lt;p&gt;Ma come dicevo prima, il dado è tratto, fra poco sarà attivo &lt;code&gt;melabit.com/posts/it&lt;/code&gt;, un dominio che ho acquistato da anni ma che ho lasciato dormire per tanto, troppo tempo.  Sarà anche una buona occasione per raccontare quasi in diretta i dettagli della transizione che, come ho già verificato, non sarà facilissima e nemmeno indolore.&lt;/p&gt;&#xA;&lt;p&gt;Come sempre, &lt;em&gt;stay tuned&lt;/em&gt;.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Perché open source</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2017/02/02/perche-open-source/</link>
      <pubDate>Thu, 02 Feb 2017 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2017/02/02/perche-open-source/</guid>
      <description>&lt;img src=&#34;http://thinkopensource.org/wp-content/uploads/2015/09/osi.jpg&#34; alt=&#34;&#34; title=&#34;© Open Source Matters – http://thinkopensource.org/open-sour-matters&#34;&gt;&lt;h4 id=&#34;free-e-open-source&#34;&gt;Free e open source&lt;/h4&gt;&#xA;&lt;p&gt;Sono da sempre un estimatore della distribuzione del software secondo il modello &lt;em&gt;free&lt;/em&gt; o &lt;em&gt;open source&lt;/em&gt; e se posso preferisco usare programmi di questo tipo. Anche il mio software &lt;em&gt;pubblico&lt;/em&gt; è distribuito secondo licenze di questo tipo (ad esempio &lt;a href=&#34;https://github.com/sabinomaggi/waterDE&#34;&gt;questo&lt;/a&gt;, appena &lt;a href=&#34;https://authors.elsevier.com/a/1UStL,63b~cpJX&#34;&gt;pubblicato&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Ma perché usare il software &lt;em&gt;free&lt;/em&gt; (ad accesso libero) o &lt;em&gt;open source&lt;/em&gt; (a sorgente aperto)?&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Le questioni filosofiche le lascio a personaggi del calibro di &lt;a href=&#34;https://it.wikipedia.org/wiki/Richard_Stallman&#34;&gt;Richard Stallman&lt;/a&gt;, massimo esponente del movimento del free sofware e fondatore del &lt;a href=&#34;https://www.gnu.org/philosophy/&#34;&gt;progetto GNU&lt;/a&gt;, e di &lt;a href=&#34;https://en.wikipedia.org/wiki/Eric_S._Raymond&#34;&gt;Eric Raymond&lt;/a&gt;, avvocato di un modello &lt;em&gt;aperto&lt;/em&gt; ma più vicino agli interessi dele aziende, che hanno descritto in modo egregio i fondamenti di questi modelli di distribuzione del software in due saggi imperdibili, &lt;a href=&#34;https://www.gnu.org/philosophy/fsfs/rms-essays.pdf&#34;&gt;Free Software, Free Society&lt;/a&gt; e &lt;a href=&#34;http://www.catb.org/~esr/writings/cathedral-bazaar/&#34;&gt;The Cathedral and the Bazaar&lt;/a&gt;&#xA;(la bibliografia finale rimanda alle versioni italiane di questi volumi).&lt;/p&gt;&#xA;&lt;h4 id=&#34;leggere-il-codice&#34;&gt;Leggere il codice&lt;/h4&gt;&#xA;&lt;p&gt;A me interessa affrontare qui una questione molto più spicciola e mostrare come l&amp;rsquo;accesso al codice permetta di migliorare la qualità del software e di correggerne rapidamente i bachi.&lt;/p&gt;&#xA;&lt;p&gt;Il concetto di &lt;em&gt;accesso al codice&lt;/em&gt; può sembrare campato in aria, riservato solo ad una piccola elite di programmatori esperti. In effetti mettere le mani nel codice è spesso molto più semplice di quanto si pensi e si può fare senza nemmeno essere programmatori esperti o particolarmente dotati.&lt;/p&gt;&#xA;&lt;p&gt;Ecco una piccola storia &lt;em&gt;pratica&lt;/em&gt; e personale. Non è la prima di questo genere che mi succede, ma è quella più recente.&lt;/p&gt;&#xA;&lt;h4 id=&#34;buttato-fuori&#34;&gt;Buttato fuori&lt;/h4&gt;&#xA;&lt;p&gt;Negli ultimi tempi mi sono occupato di sviluppare un &lt;a href=&#34;http://ilnostrocnr.it&#34;&gt;sito web&lt;/a&gt; &lt;em&gt;quasi istituzionale&lt;/em&gt; in Wordpress. La genesi è stata fin troppo lunga &amp;ndash; ci sono sempre mille cose da fare ogni giorno &amp;ndash; ma alla fine il sito è stato &lt;a href=&#34;http://ilnostrocnr.it/2017/01/25/presentazione-del-sito-il-nostro-cnr/&#34;&gt;presentato ufficialmente&lt;/a&gt; la settimana scorsa.&lt;/p&gt;&#xA;&lt;p&gt;Per vari motivi non ho sviluppato il sito sul mio Mac, dove avrei potuto usare un sistema di revisione e tenere traccia diretta di tutti i cambiamenti, ma direttamente sul server che ospita il sito. Anzi, per stare sicuro, per lo sviluppo vero e proprio ho usato una &lt;em&gt;copia&lt;/em&gt; del sito, sul quale provavo le novità prima di trasferirle al sito principale.&lt;/p&gt;&#xA;&lt;p&gt;Come è ovvio, gli ultimi giorni prima della presentazione sono stati frenetici, con un sacco di aggiunte e di modifiche dell&amp;rsquo;ultimo minuto. In questi casi la disciplina va a farsi benedire: non c&amp;rsquo;era semplicemente tempo di provare ogni cosa sulla copia prima di trasferirla al sito vero e proprio. Ed è chiaro che in questi casi, con una scadenza in vista, c&amp;rsquo;è un rischio altissimo che succeda qualche guaio all&amp;rsquo;ultimo minuto.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Infatti.&lt;/p&gt;&#xA;&lt;p&gt;All&amp;rsquo;improvviso, dopo chissà che operazione, sono stato buttato fuori senza complimenti dal mio account di amministratore. Il sito era lì vivo e vegeto, ma di fatto non potevo fare più niente.&lt;/p&gt;&#xA;&lt;p&gt;Per fortuna potevo almeno accedere all&amp;rsquo;interfaccia di gestione del server. Da qui la cosa più semplice da fare sarebbe stata quella di ripristinare il sito e il database dall&amp;rsquo;ultimo backup &amp;ndash; fatto ore prima! &amp;ndash; cercando poi di ricordare tutto quello che avevo cambiato dopo il backup. Una cosa praticamente impossibile.&lt;/p&gt;&#xA;&lt;p&gt;Ma per fortuna ci sono i file di log di Wordpress e lì l&amp;rsquo;errore era stampato chiarissimo, con il nome del file e la riga esatta dove si era verificato il problema. Il colpevole era un plugin di Wordpress che avevo aggiornato poco prima senza patemi. Sembrava inoffensivo: non faceva niente di fondamentale, serviva solo a configurare lo stile grafico del forum del sito.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://wordpress.org/&#34;&gt;Worpress&lt;/a&gt; è open source e anche i plugin lo sono, quindi il codice è disponibile e si può leggere e modificare a piacere.&lt;/p&gt;&#xA;&lt;p&gt;Perfino uno come me, con una conoscenza solo basilare di &lt;a href=&#34;https://secure.php.net/&#34;&gt;PHP&lt;/a&gt; e &lt;a href=&#34;https://www.javascript.com/&#34;&gt;JavaScript&lt;/a&gt; con cui è scritto Wordpress, con un&amp;rsquo;occhiata veloce poteva capire il motivo dell&amp;rsquo;errore, una (molto) banale svista del programmatore. Errore che però aveva conseguenze così gravi da impedirmi di lavorare al sito.&lt;/p&gt;&#xA;&lt;p&gt;Rapida correzione, salvataggio, tutto a posto e in mezz&amp;rsquo;ora potevo di nuovo entrare nel mio account e tornare lavorare come prima.&lt;/p&gt;&#xA;&lt;p&gt;Naturalmente sono andato nell&amp;rsquo;area di supporto del plugin e ho descritto quello che era successo e come avevo risolto il problema. In fondo, se qualcuno ti da un software gratis, è il minimo che si possa fare per sdebitarsi.&lt;/p&gt;&#xA;&lt;p&gt;Dopo poche ore era uscita la versione aggiornata e corretta del plugin.&lt;/p&gt;&#xA;&lt;p&gt;Provate ad avere un problema serio con un prodotto commerciale, magari pagato a caro prezzo, e poi ditemi come e in quanto tempo viene risolto. Non ci sarebbe storia.&lt;/p&gt;&#xA;&lt;h4 id=&#34;bibliografia&#34;&gt;Bibliografia&lt;/h4&gt;&#xA;&lt;p&gt;Per una volta i volumi citati sopra sono disponibili in italiano. Ho aggiunto anche un bellissimo libro di Sam Williams che tratta della vita e delle ragioni di Richard Stallman nel contesto della cultura &lt;em&gt;hacker&lt;/em&gt; degli anni &amp;lsquo;80.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Eric Raymond, &lt;em&gt;La cattedrale e il bazaar&lt;/em&gt;, 1998, Apogeo. Disponibile in italiano in una &lt;a href=&#34;http://www.apogeonline.com/openpress/cathedral&#34;&gt;prima versione ridotta&lt;/a&gt; rispetto al &lt;a href=&#34;http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/&#34;&gt;testo originale&lt;/a&gt; aggiornato.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Richard_Stallman, &lt;em&gt;Software libero pensiero libero - Volume primo&lt;/em&gt;, Stampa Alternativa, 2003. Disponibile online in &lt;a href=&#34;http://www.stampalternativa.it/liberacultura/books/softlib1.pdf&#34;&gt;formato pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Richard_Stallman, &lt;em&gt;Software libero pensiero libero - Volume secondo&lt;/em&gt;, Stampa Alternativa, 2004. Disponibile online in &lt;a href=&#34;http://www.stampalternativa.it/liberacultura/books/softlib2.pdf&#34;&gt;formato pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Sam Williams, &lt;em&gt;Codice Libero (Free as in Freedom&lt;/em&gt;, Apogeo, 2010.  Disponibile online in &lt;a href=&#34;http://www.apogeonline.com/libri/9788850311224/scheda&#34;&gt;formato ePub/Kindle&lt;/a&gt; e &lt;a href=&#34;https://itunes.apple.com/it/book/codice-libero-free-as-in-freedom/id588162095?l=en&amp;amp;mt=11&#34;&gt;per iBooks&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;post-scriptum&#34;&gt;Post scriptum&lt;/h4&gt;&#xA;&lt;p&gt;Oltre al senso di &lt;em&gt;libertà&lt;/em&gt;, ciò che ho appena descritto è una delle cose più interessanti dell&amp;rsquo;open source: ci sono così tanti occhi e tanti cervelli con competenze diverse che è normalmente molto facile risolvere i problemi, molto più facile che con un team fisso di sviluppatori, con competenze per forza di cose più statiche.&lt;/p&gt;&#xA;&lt;p&gt;E poi dai, contribuire a qualcosa senza nemmeno conoscersi, senza avere un interesse economico diretto, fa bene allo spirito e forse anche alla società. Fa meno bene al portafoglio, ma non si può avere sempre tutto.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Le differenze fra il software &lt;em&gt;free&lt;/em&gt; e quello &lt;em&gt;open source&lt;/em&gt; sono spiegate piuttosto bene in questo &lt;a href=&#34;https://www.whitesourcesoftware.com/whitesource-blog/open-source-free-software/&#34;&gt;breve articolo&lt;/a&gt; e, in modo più approfondito, in queste pagine di &lt;a href=&#34;https://it.wikipedia.org/wiki/Open_source&#34;&gt;Wikipedia&lt;/a&gt; e &lt;a href=&#34;http://wiki.c2.com/?FreeSoftwareVsOpenSource&#34;&gt;WikiWikiWeb&lt;/a&gt;. Imprescindibile anche il punto di vista &lt;a href=&#34;https://www.gnu.org/philosophy/open-source-misses-the-point.html&#34;&gt;del progetto GNU&lt;/a&gt;.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;Persino il backup a volte non basta: se si fanno modifiche continue, anche perdere un paio di ore di lavoro ripristinando da Time Machine può essere un danno gravissimo.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Duecento</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2016/07/05/duecento/</link>
      <pubDate>Tue, 05 Jul 2016 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2016/07/05/duecento/</guid>
      <description>&lt;p&gt;Con il post di sabato scorso siamo arrivati a 200. Due anni e mezzo di melabit e duecento post, in media uno ogni quattro giorni e mezzo. Non male, se si considerano i tanti impegni di ogni giorno, che mi impediscono di dare una periodicità più serrata al blog.&lt;/p&gt;&#xA;&lt;p&gt;Poiché questo in fondo è un blog dedicato alla programmazione e ai sistemi operativi (anche se me ne dimentico spesso), invece di celebrare l&amp;rsquo;evento preferisco prendere la palla al balzo e descrivere alcuni semplici comandi di Terminale, che userò per fare una piccola analisi dei post scritti finora.&lt;/p&gt;&#xA;&lt;p&gt;Lancio il Terminale (chi segue con continuità il blog dovrebbe sapere come fare, per gli altri il Terminale si trova in Applicazioni &amp;gt; Utility) e mi sposto nella cartella (&lt;em&gt;directory&lt;/em&gt;) che contiene tutti i miei post,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ cd ~/cartella/del/blog/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Per prima cosa voglio controllare di aver scritto veramente 200 post.&lt;/p&gt;&#xA;&lt;p&gt;Sin dall&amp;rsquo;inizio ho deciso di usare per i nomi dei file sorgenti dei post il formato &lt;code&gt;anno-mese-giorno-titolo-separato-da-trattini.md&lt;/code&gt;, dove &lt;code&gt;anno-mese-giorno&lt;/code&gt; indica la data di pubblicazione, ad esempio &lt;code&gt;2016-07-05&lt;/code&gt; per questo post, e &lt;code&gt;.md&lt;/code&gt; è l&amp;rsquo;estensione standard dei documenti scritti in &lt;a href=&#34;https://lwn.net/Articles/610884/&#34;&gt;Markdown&lt;/a&gt;, il linguaggio di formattazione per il web che uso per scrivere questi post. La cartella contiene altri file e cartelle, ma solo i post completi hanno il nome in questo formato. Per contare i post contenuti nella cartella mi basta quindi eseguire il comando,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ ls 20*.md | wc&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;che con &lt;code&gt;ls&lt;/code&gt; (&lt;em&gt;list&lt;/em&gt;) elenca tutti i file il cui nome inizia con il secolo corrente e termina con il suffisso &lt;code&gt;.md&lt;/code&gt;. L&amp;rsquo;output di &lt;code&gt;ls&lt;/code&gt; viene inviato tramite il simbolo &lt;code&gt;|&lt;/code&gt; (&lt;em&gt;pipe&lt;/em&gt;) ad un ulteriore comando del Terminale (in realtà della shell &lt;code&gt;bash&lt;/code&gt;, ma oggi non voglio essere troppo pignolo), &lt;code&gt;wc&lt;/code&gt; (&lt;em&gt;word count&lt;/em&gt;), che conta il numero di linee, parole e caratteri (e volendo anche di byte) di un file o, come in questo caso, dell&amp;rsquo;output del comando precedente.&lt;/p&gt;&#xA;&lt;p&gt;La risposta del Terminale è&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;201     202    8704&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;dove il primo numero rappresenta il numero di linee dell&amp;rsquo;output di &lt;code&gt;ls&lt;/code&gt;, cioè il numero dei file elencati da &lt;code&gt;ls&lt;/code&gt;  che rispettano le specifiche stabilite dal comando (e di conseguenza il numero dei post).&lt;/p&gt;&#xA;&lt;p&gt;Il Terminale quindi mi dice che finora ho scritto 201 post. &lt;em&gt;201&lt;/em&gt;? Certo, i post sono 201 perché nella lista c&amp;rsquo;è anche &lt;em&gt;questo post&lt;/em&gt; (potrei fare in modo da non considerarlo, ma renderebbe tutto inutilmente più complicato).&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;è però un dettaglio che non torna. Il secondo numero, 202, indica il numero di parole dell&amp;rsquo;output di &lt;code&gt;ls&lt;/code&gt;. Poichè, come già notato, il nome dei file è nel formato &lt;code&gt;anno-mese-giorno-titolo-separato-da-trattini.md&lt;/code&gt;, che per &lt;code&gt;wc&lt;/code&gt; equivale ad una parola singola, i primi due numeri restituiti da &lt;code&gt;wc&lt;/code&gt; dovrebbero essere identici. Se il Terminale indica che c&amp;rsquo;è una parola in più, significa che uno dei file contiene nel nome (per sbaglio) uno spazio al posto del trattino.&lt;/p&gt;&#xA;&lt;p&gt;Per cercare il file in questione, eseguo questa volta&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ ls 20*.md | grep &amp;quot; &amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;inviando l&amp;rsquo;output di &lt;code&gt;ls&lt;/code&gt; a &lt;code&gt;grep&lt;/code&gt;, uno dei tool più importanti del Terminale, che serve per cercare una o più stringhe di testo in un file. Normalmente la ricerca viene effettuata usando una &lt;a href=&#34;http://regexone.com/&#34;&gt;espressione regolare&lt;/a&gt;, ma in questo caso è più che sufficiente limitarsi a cercare la presenza di un semplice spazio nell&amp;rsquo;output di &lt;code&gt;ls&lt;/code&gt;. La risposta è,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ 2015-12-23-first-draft-la prova.md&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;dove manca effettivamente il trattino fra &amp;ldquo;la&amp;rdquo; e &amp;ldquo;prova&amp;rdquo;. Correggo subito, eseguo di nuovo&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ ls 20*.md | wc&#xA;     201     201    8704&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;e questa volta ottengo il risultato che mi aspetto.&lt;/p&gt;&#xA;&lt;p&gt;Ora che ci siamo &lt;em&gt;scaldati&lt;/em&gt;, proviamo qualcosa di più divertente. Voglio sapere quante parole in tutto ho scritto finora in questi famosi 200 post. Facile, basta sostituire ad &lt;code&gt;ls&lt;/code&gt; il comando &lt;code&gt;cat&lt;/code&gt; (&lt;em&gt;concatenate&lt;/em&gt;), che stampa sul Terminale il contenuto dei file indicati dopo il comando. Eseguendo&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ cat 20*.md&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;non faccio altro che stampare sullo schermo uno dietro l&amp;rsquo;altro il contenuto di tutti i file dei post. La stampa dei file è velocissima, ma scrollando all&amp;rsquo;indietro nel Terminale si può verificare che ci sono veramente tutti. Se volessi potrei usare &lt;code&gt;less&lt;/code&gt;,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ cat 20*.md | less&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;per stampare i file riempiendo una pagina alla volta del Terminale (e potendo anche tornare indietro). Ma non mi interessa, preferisco inviare l&amp;rsquo;output di &lt;code&gt;cat&lt;/code&gt; a &lt;code&gt;wc&lt;/code&gt;,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ cat 20*.md | wc&#xA;   10639  113141  836099&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;da cui risulta che i 200 (anzi 201) post scritti finora sono composti in tutto da 10639 linee (che equivalgono in pratica ai paragrafi, separati fra loro da un a capo) e da ben 113141 parole.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ogni post è quindi composto in media da&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ echo &amp;quot;113183 / 200&amp;quot; | bc&#xA;565&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;ben 565 parole.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; Per calcolare la media ho usato &lt;code&gt;bc&lt;/code&gt;, la calcolatrice integrata nel Terminale, un oggetto poco conosciuto ma a volte molto comodo. Anche in questo caso ho utilizzato il &lt;em&gt;pipe&lt;/em&gt; (&lt;code&gt;|&lt;/code&gt;) per inviare alla calcolatrice l&amp;rsquo;outupt di &lt;code&gt;echo&lt;/code&gt;, il comando che stampa su schermo la stringa (o le stringhe) che lo segue. Volendo avrei anche potuto usare &lt;code&gt;bc&lt;/code&gt; in modo interattivo,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ bc&#xA;bc 1.06&#xA;Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.&#xA;...&#xA;113183 / 200&#xA;565&#xA;quit&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Il risultato non è precisissimo, ogni file dei post ha anche una intestazione che non compare su Wordpress e che contiene titolo, data, categoria e tag, e così via. E poi non bisogna dimenticare che c&amp;rsquo;è di mezzo anche questo 201-esimo post, che è già ben più lungo di 565 parole. Ma insomma, ad occhio dovremmo essere più o meno sulle 520-530 parole &lt;em&gt;effettive&lt;/em&gt; per post.&lt;/p&gt;&#xA;&lt;p&gt;Ma c&amp;rsquo;è modo di vedere quante parole ci sono in ciascuno dei post? Certo, basta racchiudere i comandi precedenti in un ciclo &lt;code&gt;for&lt;/code&gt;,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ for i in `ls 20*.md`; do echo $i; cat $i | wc -w; done&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;dove &lt;code&gt;i&lt;/code&gt; è l&amp;rsquo;indice del ciclo &lt;code&gt;for&lt;/code&gt;, a cui viene associato di volta in volta uno dei nomi di file stampati da &lt;code&gt;ls&lt;/code&gt;. Nel corpo del ciclo &lt;code&gt;do... done&lt;/code&gt;, per ogni valore di &lt;code&gt;$i&lt;/code&gt; (in bash, ogni volta che si &lt;em&gt;usa&lt;/em&gt; una variabile, le si antepone il &lt;code&gt;$&lt;/code&gt;), si stampa con &lt;code&gt;echo $i&lt;/code&gt; prima il valore della variabile (cioè il nome del file), poi si usa &lt;code&gt; cat $i | wc -w&lt;/code&gt; per stampare il contenuto del file e inviarlo al &lt;em&gt;contatore&lt;/em&gt; &lt;code&gt;wc&lt;/code&gt;. L&amp;rsquo;opzione &lt;code&gt;-w&lt;/code&gt; (&lt;em&gt;word&lt;/em&gt;) di &lt;code&gt;wc&lt;/code&gt; serve per contare solo le parole. Eseguendo il ciclo ottengo&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ for i in `ls 20*.md`; do echo $i; cat $i | wc -w; done&#xA;2013-12-18-il-migliore-spot.md&#xA;     238&#xA;2013-12-18-melabit-il-blog.md&#xA;     497&#xA;2013-12-19-una-pinta-di-tablet.md&#xA;     346&#xA;2013-12-20-la-dogana.md&#xA;     165&#xA;2013-12-21-rinominare-i-file-con-il-terminale.md&#xA;     669&#xA;...&#xA;2016-05-24-rapidweaver-7-in-anteprima.md&#xA;     729&#xA;2016-05-27-cartellino-rosso-su-facebook.md&#xA;    1385&#xA;2016-05-28-la-matematica-di-facebook.md&#xA;     356&#xA;2016-06-05-playlist-per-bora-bora-brian-boru.md&#xA;     278&#xA;2016-07-02-da-latex-a-word-e-ritorno.md&#xA;    2278&#xA;2016-07-05-duecento.md&#xA;     987&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Per analizzare i dati è più comodo salvare la lista su un file, facendo in modo che il titolo del post e il conteggio delle parole stiano sulla stessa linea.&lt;/p&gt;&#xA;&lt;p&gt;Facile, per salvare l&amp;rsquo;output di un comando di Terminale su un file si usa il simbolo &lt;code&gt;&amp;amp;#62;&lt;/code&gt; seguito dal nome del file (&lt;a href=&#34;https://www.freebsd.org/doc/it/books/unix-introduction/special-features-file-redir.html&#34;&gt;ricapitolando&lt;/a&gt;, il simbolo &lt;code&gt;|&lt;/code&gt; invia l&amp;rsquo;output di un comando ad un altro comando, mentre il simbolo &lt;code&gt;&amp;amp;#62;&lt;/code&gt; lo invia ad un file). Per stampare titolo e conteggio sulla stessa linea, è sufficiente aggiungere al comando &lt;code&gt;echo&lt;/code&gt; l&amp;rsquo;opzione &lt;code&gt;-n&lt;/code&gt; (&lt;em&gt;no newline&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Eseguendo il comando così modificato,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ for i in `ls 20*.md`; do echo -n $i; cat $i | wc -w; done &amp;amp;#62; ~/Desktop/words.dat&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;compare sul Desktop il file &lt;code&gt;words.dat&lt;/code&gt;, le cui prime 5 righe sono,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ head -5 ~/Desktop/words.dat&#xA;2013-12-18-il-migliore-spot.md     238&#xA;2013-12-18-melabit-il-blog.md     497&#xA;2013-12-19-una-pinta-di-tablet.md     346&#xA;2013-12-20-la-dogana.md     165&#xA;2013-12-21-rinominare-i-file-con-il-terminale.md     669&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;esattamente come richiesto. Partendo da questi dati, è facile calcolare la distribuzione del numero di post in funzione del numero di parole,&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://melabit.files.wordpress.com/2016/07/words.png&#34;&gt;&lt;img src=&#34;https://melabit.files.wordpress.com/2016/07/words.png&#34; alt=&#34;Distribuzione del numero di post in funzione del numero di parole&#34; width=&#34;600&#34; height=&#34;432&#34; class=&#34;aligncenter size-full wp-image-2645&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;da cui è evidente che quasi la metà dei post contiene non più di 300 parole.&lt;/p&gt;&#xA;&lt;p&gt;Più specificatamente, si trova che la mediana è uguale a 346, che significa che metà dei post contiene meno di 346 parole e l&amp;rsquo;altra metà ne contiene di più. Forse non sono poi così prolisso come ho sempre pensato.&lt;/p&gt;&#xA;&lt;p&gt;Domanda (facoltativa): Perché c&amp;rsquo;è questa grossa differenza fra la media e la mediana del numero di parole che compongono i miei post?&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Si noti che se l&amp;rsquo;output di un comando che stampa qualcosa sul Terminale viene inviato ad un altro comando per un&amp;rsquo;ulteriore elaborazione, l&amp;rsquo;output stesso viene &lt;em&gt;risucchiato&lt;/em&gt; dal secondo comando e non compare più sullo schermo.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;Forse sono troppo prolisso, 565 equivalgono a più di una pagina (densa) di un libro di formato medio-grande.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Primo WordPress Meetup a Bari</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2016/05/14/primo-wordpress-meetup-a-bari/</link>
      <pubDate>Sat, 14 May 2016 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2016/05/14/primo-wordpress-meetup-a-bari/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://photos3.meetupstatic.com/photos/event/9/e/d/3/highres_449920659.jpeg&#34;&gt;&lt;img src=&#34;http://photos3.meetupstatic.com/photos/event/9/e/d/3/highres_449920659.jpeg&#34; width=&#34;640&#34; class /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ieri ho partecipato al &lt;a href=&#34;http://www.meetup.com/it-IT/WordPress-Meetup-Bari/events/230340023/&#34;&gt;1° WordPress Meetup&lt;/a&gt;, organizzato a Bari presso &lt;a href=&#34;http://photos1.meetupstatic.com/photos/event/9/e/d/2/highres_449920658.jpeg&#34;&gt;l&amp;rsquo;area di Ricerca del CNR&lt;/a&gt;. Il racconto dettagliato della manifestazione lo lascio agli organizzatori, &lt;a href=&#34;http://koolinus.net/blog/&#34;&gt;Nicola &amp;lsquo;Koolinus&amp;rsquo; Losito&lt;/a&gt; e &lt;a href=&#34;http://www.meetup.com/WordPress-Meetup-Bari/members/187470319/?_locale=it-IT&#34;&gt;Francesco Cozzi&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Da parte mia voglio solo dire di aver passato un pomeriggio molto piacevole, in una atmosfera amichevole e rilassata. Non mi sarei mai aspettato di trovare in una città come Bari così tanti sviluppatori professionisti, appassionati e competenti. Ho sentito parlare di strumenti, plugin ed applicazioni di cui non avevo la più pallida idea.&lt;/p&gt;&#xA;&lt;p&gt;Intanto devo studiare, per essere più pronto la prossima volta, fra un mese, quando si entrerà nel vivo delle applicazioni per (e con) &lt;a href=&#34;https://it.wordpress.org/&#34;&gt;WordPress&lt;/a&gt;. Forse però è meglio che non mi faccia sfuggire che mi piace &lt;a href=&#34;https://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt;, altrimenti non mi invitano più. :D&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Imparare ad usare Wordpress</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2016/04/13/imparare-ad-usare-wordpress/</link>
      <pubDate>Wed, 13 Apr 2016 10:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2016/04/13/imparare-ad-usare-wordpress/</guid>
      <description>&lt;img src=&#34;https://melabit.files.wordpress.com/2016/04/wordpress-3-complete.jpg&#34; alt=&#34;WordPress 3 Complete&#34; width=&#34;224&#34; height=&#34;276&#34; class=&#34;aligncenter size-full wp-image-2424&#34; /&gt;&#xA;&lt;p&gt;È parecchio tempo che non consiglio qualcuno dei volumi offerti giornalmente da &lt;a href=&#34;https://www.packtpub.com/&#34;&gt;Packt&lt;/a&gt;. Ma oggi si può scaricare liberamente &lt;a href=&#34;https://www.packtpub.com/packt/offers/free-learning&#34;&gt;WordPress 3 Complete&lt;/a&gt;, e non posso evitare di segnalarlo, perché WordPress è il &lt;a href=&#34;https://it.wikipedia.org/wiki/Content_management_system&#34;&gt;sistema di gestione dei contenuti (CMS)&lt;/a&gt; più diffuso e popolare, che chiunque sia interessato al web non può esimersi dal conoscere.&lt;/p&gt;&#xA;&lt;p&gt;La fama non è immeritata, perché &lt;a href=&#34;https://wordpress.org/&#34;&gt;WordPress&lt;/a&gt; coniuga al meglio potenza e facilità d&amp;rsquo;uso, e le sue pecche sono di sicuro inferiori ai suoi meriti. Non è un caso che anche questo piccolo blog giri (ancora) sotto Wordpress.&lt;/p&gt;&#xA;&lt;p&gt;Buona lettura!&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Grav, bello ma impossibile</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2015/05/28/grav-bello-ma-impossibile/</link>
      <pubDate>Thu, 28 May 2015 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2015/05/28/grav-bello-ma-impossibile/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.koolinus.net/blog/&#34;&gt;KOoLiNuS&lt;/a&gt;, uno dei più attenti lettori di questo blog, mi ha suggerito di dare una occhiata a &lt;a href=&#34;http://getgrav.org/&#34;&gt;Grav&lt;/a&gt;, un moderno generatore di siti web statici,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;follemente veloce, ridicolmente facile e favolosamente potente&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;L&amp;rsquo;ho provato per qualche giorno, con la prospettiva di verificare se potesse essere una alternativa a &lt;a href=&#34;http://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt;, il generatore di siti web statici che &lt;a href=&#34;https://melabit.wordpress.com/2014/12/31/and-the-winner-is/&#34;&gt;ho deciso da tempo di usare&lt;/a&gt; per questo blog al posto di Wordpress (non chiedetemi però quando avverrà).&lt;/p&gt;&#xA;&lt;p&gt;Gli sviluppatori non esagerano, Grav è veramente bello e facile da usare.&lt;/p&gt;&#xA;&lt;p&gt;Mi piace in particolare la possibilità di scaricare dei siti preconfezionati, contenenti il sistema base, il tema grafico e alcuni plugin già configurati, che implementano i tipi più comuni di sito web, dal blog al sito di fotografie, dal sito di presentazione di un prodotto a quello di e-commerce.&lt;/p&gt;&#xA;&lt;h4 id=&#34;installazione-e-uso-di-grav&#34;&gt;Installazione e uso di Grav&lt;/h4&gt;&#xA;&lt;p&gt;Premessa: tutti gli esempi seguenti verranno eseguiti nella directory &lt;code&gt;Sites&lt;/code&gt;, contenuta nella &lt;a href=&#34;https://melabit.wordpress.com/le-parole-per-dirlo/&#34;&gt;Home&lt;/a&gt; dell&amp;rsquo;utente. Una volta creata questa directory dal Finder o dal Terminale, si noterà che l&amp;rsquo;icona della cartella ha impresso il simbolo di Safari. Per parecchie versioni di OS X infatti (fino a Lion se ricordo bene), &lt;code&gt;Sites&lt;/code&gt; è stata una delle directory predefinite presenti nella Home degli utenti di OS X.&#xA;Nonostante Apple abbia rimossa da tempo questa directory, io continuo a trovarla molto comoda per gestire dei siti web di prova.&lt;/p&gt;&#xA;&lt;p&gt;Grav può essere installato sia dalla linea di comando che scaricando un file zip contenente un sito già pronto e perfettamente funzionante.&lt;/p&gt;&#xA;&lt;p&gt;Nel primo caso, basta lanciare il Terminale, spostarsi nella directory Sites ed eseguire in sequenza i comandi&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#x9;$ cd ~/Sites&#xA;&#x9;$ git clone https://github.com/getgrav/grav.git&#xA;&#x9;$ cd grav/&#xA;&#x9;$ bin/grav install&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;con i quali (1) si seleziona la directory di lavoro, (2) si scarica il codice di Grav dal &lt;a href=&#34;https://github.com/getgrav/grav&#34;&gt;sito del progetto&lt;/a&gt;, (3) ci si sposta nella directory &lt;code&gt;grav/&lt;/code&gt; del sito e (4) si installano  il tema grafico e i plugin predefiniti.&lt;/p&gt;&#xA;&lt;p&gt;Completata l&amp;rsquo;installazione, si può provare rapidamente che tutto funzioni eseguendo, sempre dalla directory &lt;code&gt;grav/&lt;/code&gt; il comando&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ php -S localhost:8000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;e puntando il proprio browser all&amp;rsquo;indirizzo web&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;http://localhost:8000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;per visualizzare in tutta la sua magnificenza grafica il sito web di default generato da Grav.&lt;/p&gt;&#xA;&lt;p&gt;Sinoti che il comando &lt;code&gt;php -S localhost:8000&lt;/code&gt; esegue un server web basilare integrato in &lt;a href=&#34;http://php.net/&#34;&gt;PHP&lt;/a&gt;, uno degli strumenti fondamentali per sviluppare applicazioni web, presente di default in OS X. Ovviamente nulla impedisce di usare al suo posto &lt;code&gt;apache&lt;/code&gt;, il principe dei server web, presente anch&amp;rsquo;esso di default in OS X. Purtroppo è diventato difficile convincere &lt;code&gt;apache&lt;/code&gt; ad usare la directory &lt;code&gt;~/Sites&lt;/code&gt; in aggiunta a quella predefinita, &lt;code&gt;/Library/WebServer/Documents/&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Fra tutte le directory contenute in Grav, la più importante è la directory &lt;code&gt;user/&lt;/code&gt;, che contiene le pagine del sito e i relativi plugin, temi e file di supporto.&lt;/p&gt;&#xA;&lt;p&gt;Le pagine del sito sono contenute in &lt;code&gt;user/pages/&lt;/code&gt; e sono scritte in &lt;a href=&#34;http://daringfireball.net/projects/markdown/&#34;&gt;Markdown&lt;/a&gt;, uno degli strumenti più interessanti per &lt;a href=&#34;https://melabit.wordpress.com/2015/03/31/markdown-online/&#34;&gt;scrivere testi per il web&lt;/a&gt;, che utilizza una sintassi molto più semplice e leggibile del classico codice &lt;a href=&#34;http://www.html.it/guide/guida-html/&#34;&gt;HTML&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Il modo più semplice per aggiungere una nuova pagina al sito è spostarsi nella directory &lt;code&gt;user/pages/&lt;/code&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;cd user/pages/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;copiare la directory &lt;code&gt;01.home&lt;/code&gt; in, diciamo, &lt;code&gt;02.nuova_pagina&lt;/code&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;cp -p -r 01.home 02.nuova_pagina&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;e modificare opportunamente il contenuto del file &lt;code&gt;default.md&lt;/code&gt; presente all&amp;rsquo;interno della directory &lt;code&gt;02.nuova_pagina&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Il titolo della  pagina, definito nella intestazione del file &lt;code&gt;default.md&lt;/code&gt; verrà usato per aggiungere automaticamente una nuova voce al menu del sito web.&#xA;Il prefisso numerico associato al nome di ciascuna directory stabiliscono l&amp;rsquo;ordine con cui compaiono le pagine nel menu del sito.&lt;/p&gt;&#xA;&lt;p&gt;Se si vuole installare uno dei siti preconfezionati, bisogna invece scaricare &lt;a href=&#34;http://getgrav.org/downloads/skeletons&#34;&gt;il file zip relativo&lt;/a&gt; in ~/Sites/. Come già detto, contiene oltre al sistema base i plugin necessari ad implementare le funzionalità desiderate e il tema grafico previsto dagli sviluppatori per quel particolare tipo di sito web.&lt;/p&gt;&#xA;&lt;p&gt;Una volta scompattato il file zip e rinominata la directory generata con un nome più conveniente (in questi casi non c&amp;rsquo;è bisogno di essere troppo creativi, &lt;code&gt;grav&lt;/code&gt; va benissimo), basta spostarsi all&amp;rsquo;interno della directory del sito e lanciare il server web PHP&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ cd ~/Sites/grav&#xA;$ php -S localhost:8000&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;per attivare il nuovo sito web, visibile come già visto prima all&amp;rsquo;indirizzo&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;http://localhost:8000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;aggiornamento-e-installazione-di-plugin-e-temi&#34;&gt;Aggiornamento e installazione di plugin e temi&lt;/h4&gt;&#xA;&lt;p&gt;Il comando di Terminale &lt;code&gt;gpm&lt;/code&gt; (grav package manager) permette di aggiornare il sistema e di installare i plugin e i temi di Grav. Il comando &lt;code&gt;gpm&lt;/code&gt; deve essere eseguito posizionandosi nella directory &lt;code&gt;grav/&lt;/code&gt; del sitoe specificando la directory &lt;code&gt;bin&lt;/code&gt; che contiene l&amp;rsquo;eseguibile.&lt;/p&gt;&#xA;&lt;p&gt;I principali comandi implementati in &lt;code&gt;gpm&lt;/code&gt; sono molto semplici:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ bin/gpm index&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;che mostra la lista completa dei plugin e dei temi disponibili,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ bin/gpm info nome_plugin&#xA;$ bin/gpm install nome_plugin&#xA;$ bin/gpm uninstall nome_plugin&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;che permettono rispettivamente di ottenere informazioni, installare o disinstallare un particolare plugin o un tema di Grav.&lt;/p&gt;&#xA;&lt;p&gt;Inoltre il comando&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ bin/gpm self-upgrade&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;aggiorna Grav all&amp;rsquo;ultima versione disponibile, mentre&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ bin/gpm update&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;aggiorna i plugin o i temi già installati. Quest&amp;rsquo;ultimo può essere anche seguito dal nome del plugin (o del tema) da aggiornare.&lt;/p&gt;&#xA;&lt;h4 id=&#34;documentazione&#34;&gt;Documentazione&lt;/h4&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://learn.getgrav.org/&#34;&gt;La documentazione di Grav&lt;/a&gt; è fatta molto bene, anche se è piuttosto succinta e un po&amp;rsquo; carente nei dettagli.&lt;/p&gt;&#xA;&lt;p&gt;Purtroppo, data la relativa giovinezza del progetto, mancano ancora i tutorial online creati dagli utenti, che molte volte sono più utili della documentazione &amp;ldquo;ufficiale&amp;rdquo; per imparare ad usare un software come questo.&lt;/p&gt;&#xA;&lt;p&gt;Molte volte, infatti, i programmatori non riescono a spiegare al meglio il funzionamento dei software che sviluppano, si perdono in dettagli inutili e tralasciano gli aspetti fondamentali. Gli utenti finali sono spesso più bravi e, avendo imparato ad usare il software da zero, si rendono conto meglio delle difficoltà che si incontrano nell&amp;rsquo;uso quotidiano del programma.&lt;/p&gt;&#xA;&lt;h4 id=&#34;bello-ma-impossibile&#34;&gt;Bello ma impossibile&lt;/h4&gt;&#xA;&lt;p&gt;Tutto bene, allora? L&amp;rsquo;ho già detto, Grav è veramente bello e interessante, una opzione allettante se si vuole mettere su un nuovo sito web.&#xA;Ammetto che se partissi da zero potrei perfino considerare di usarlo al posto di Jekyll.&lt;/p&gt;&#xA;&lt;p&gt;Ma non lo farò.&lt;/p&gt;&#xA;&lt;p&gt;Innanzi tutto perché sono ormai andato troppo avanti con Jekyll, ho letto decine di articoli e di tutorial, ho una idea piuttosto chiara di quello che voglio fare e non mi va di buttare a mare il lavoro fatto finora.&lt;/p&gt;&#xA;&lt;p&gt;Inoltre Grav va benissimo finché si sta dentro i recinti stabiliti dagli sviluppatori. Ma comincia a mostrare di essere ancora piuttosto immaturo se si prova ad uscire, anche di poco, da questi recinti.&lt;/p&gt;&#xA;&lt;p&gt;La struttura delle directory e dei file che costituiscono un sito è troppo rigida.&#xA;Voglio creare una nuova pagina di un sito web statico? Devo andare in &lt;code&gt;user/pages/&lt;/code&gt; e aggiungere una directory con un nome qualunque, che deve però iniziare con un numero. In questa directory devo creare un file &lt;code&gt;default.md&lt;/code&gt; che contiene il testo della pagina e il cui titolo definisce la voce di menu del sito web associata alla pagina.&lt;/p&gt;&#xA;&lt;p&gt;Posso usare un&amp;rsquo;altro nome per il file al posto di  &lt;code&gt;default.md&lt;/code&gt;? Assolutamente no.&#xA;Come faccio se ho già una serie di file contenenti il testo delle pagine? Devo rinominarli uno ad uno e distribuirli in ciascuna delle directory numerate.&#xA;E se le pagine contengono già dei link che le collegano le une alle altre, non sarò mica obbligato a cambiare i link uno a uno? Probabilmente si.&lt;/p&gt;&#xA;&lt;p&gt;E se voglio aggiungere delle pagine statiche ad un blog già pronto, ad esempio il bellissimo &lt;a href=&#34;https://github.com/getgrav/grav-skeleton-notepad-site&#34;&gt;Notepad&lt;/a&gt;? Le pagine statiche devono andare in &lt;code&gt;user/pages/&lt;/code&gt;, quelle del blog in &lt;code&gt;user/blog/&lt;/code&gt;. Se provo ad aggiungere in &lt;code&gt;user/&lt;/code&gt; la directory &lt;code&gt;pages/&lt;/code&gt; contenente una o più pagine statiche, non c&amp;rsquo;è verso, continuerò comunque a vedere solo i post del blog.&lt;/p&gt;&#xA;&lt;p&gt;Perfino i plugin e i temi installati da Terminale nel 50% dei casi non funzionano, senza che Grav dia delle indicazioni utili per capire il perché.&lt;/p&gt;&#xA;&lt;p&gt;Sono sicuro che c&amp;rsquo;è un modo per superare questi problemi, ma io non ci sono riuscito e la documentazione non aiuta. Meglio aspettare che Grav maturi un po&#39;.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>And the winner is...</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2014/12/31/and-the-winner-is/</link>
      <pubDate>Wed, 31 Dec 2014 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2014/12/31/and-the-winner-is/</guid>
      <description>&lt;p&gt;Riassunto delle puntate precedenti. &lt;a href=&#34;http://wordpress.com/&#34;&gt;Wordpress.com&lt;/a&gt; è un&amp;rsquo;ottima piattaforma di blogging, ed ha il grosso vantaggio di liberare l&amp;rsquo;utente da tutte le preoccupazioni riguardanti la manutenzione del proprio blog.&#xA;Non è però una piattaforma che si adatta bene al mio modo di lavorare, e ne ho già &lt;a href=&#34;http://melabit.wordpress.com/2014/08/01/i-limiti-di-wordpress-com/&#34;&gt;scritto diffusamente&lt;/a&gt; alcuni mesi fa.&#xA;Però &lt;a href=&#34;http://melabit.wordpress.com/2014/08/06/i-limiti-di-wordpress-com-una-nuova-piattaforma-per-il-blog/&#34;&gt;cosa scegliere&lt;/a&gt; fra le varie tipologie disponibili: wiki o CMS o piattaforme di blog, siti statici o siti dinamici? Per vari motivi mi sono orientato verso un &lt;a href=&#34;http://luftmensch.net/blog/2013/12/22/building-a-static-website-the-website-generator/&#34;&gt;generatore di siti statici&lt;/a&gt;, un programma che prende una serie di file di testo, di immagini e di documenti e li converte in un sito web completo secondo un tema grafico predefinito.&#xA;In rete ci sono letteralmente &lt;a href=&#34;https://staticsitegenerators.net/&#34;&gt;decine e decine di generatori di siti statici&lt;/a&gt; ed il loro numero cresce molto rapidamente: erano 289 all&amp;rsquo;inizio di agosto, oggi sono ben &lt;a href=&#34;https://staticsitegenerators.net/&#34;&gt;388&lt;/a&gt;!&#xA;&lt;a href=&#34;http://melabit.wordpress.com/2014/08/09/i-limiti-di-wordpress-com-generatori-di-siti-web-statici/&#34;&gt;Come orientarsi&lt;/a&gt; in questo marasma? Basandomi su una lista di &lt;a href=&#34;http://melabit.wordpress.com/2014/08/06/i-limiti-di-wordpress-com-una-nuova-piattaforma-per-il-blog/&#34;&gt;caratteristiche irrinunciabili&lt;/a&gt; (almeno per me), ne ho &lt;a href=&#34;http://melabit.wordpress.com/2014/08/12/i-limiti-di-wordpress-com-cosa-ho-scartato-e-perche/&#34;&gt;provati e scartati&lt;/a&gt; parecchi, buon ultimo  &lt;a href=&#34;http://melabit.wordpress.com/2014/12/28/hugo-la-prova/&#34;&gt;Hugo&lt;/a&gt;, promettente ma rivelatosi alla fine piuttosto immaturo.&lt;/p&gt;&#xA;&lt;p&gt;In realtà avevo deciso subito. Tutte le prove che ho fatto mi sono servite solo ad esplorare il più possibile il &lt;em&gt;territorio&lt;/em&gt;, a provare le alternative e a verificarne i vantaggi e gli svantaggi.&lt;/p&gt;&#xA;&lt;p&gt;La scelta più ragionevole, date le premesse, era solo una: &lt;a href=&#34;http://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Per due ragioni fondamentali: prospettive di sviluppo del codice a medio-lungo termine e disponibilità di documentazione abbondante e di buona qualità. Senza queste due caratteristiche non si va avanti. Tutti gli altri generatori di siti web statici possono anche apparire interessanti, ma impallidiscono se li si confronta a Jekyll su questi due aspetti.&lt;/p&gt;&#xA;&lt;p&gt;Tanto per fare un esempio: che senso avrebbe avuto scegliere uno dei tanti progetti &lt;em&gt;giocattolo&lt;/em&gt; di un singolo programmatore? Può anche essere eccellente, ma quante sono le probabilità che continui ad essere sviluppato fra uno, due, tre anni? Magari fra sei mesi il programmatore si stanca e passa ad altro, non rispondendo più alle richieste di supporto o di correzione degli inevitabili errori. Che si fa, allora?&#xA;Oppure: come si può cercare di configurare ed estendere il sistema prescelto se non esiste della buona documentazione, se magari l&amp;rsquo;unico modo per capire cosa fa il programma è analizzarne i sorgenti (auguri)?&lt;/p&gt;&#xA;&lt;p&gt;Infatti fra i 388 generatori di siti statici elencati oggi da &lt;a href=&#34;https://staticsitegenerators.net/&#34;&gt;Static Site Generators&lt;/a&gt;, ben 171 non sono aggiornati da almeno un anno e 225 da sei mesi. E solo una settantina ha ricevuto un aggiornamento nell&amp;rsquo;ultimo mese. Insomma, ci sono circa 320 progetti censiti che in realtà sono morti, inutili, da scartare a priori.&lt;/p&gt;&#xA;&lt;p&gt;I primi due generatori di siti web statici nella lista di &lt;a href=&#34;https://www.staticgen.com/&#34;&gt;StaticGen&lt;/a&gt;, Jekyll e il suo derivato &lt;a href=&#34;http://octopress.org/&#34;&gt;Octopress&lt;/a&gt;, hanno ricevuto insieme su GitHub più di un terzo delle &lt;a href=&#34;https://help.github.com/articles/about-stars/&#34;&gt;stelle&lt;/a&gt; &amp;ndash; cioè delle manifestazioni esplicite di interesse nel progetto &amp;ndash; guadagnate da tutti i 67 progetti elencati nel sito.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&#xA;Non sarà che sono ritenuti così interessanti perché sono fatti bene e sono (relativamente) facili da usare e da metterci le mani?&lt;/p&gt;&#xA;&lt;p&gt;Ora rimane solo da rimboccarsi le maniche, configurare Jekyll e trasportare il blog sulla nuova piattaforma.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ma prima di allora, auguro a tutti coloro che pazientemente seguono questo blog un 2015 felice e, se possibile, migliore dell&amp;rsquo;anno che ci stiamo lasciando alle spalle!&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Immagino che StaticGen censisca solo i progetti sviluppati attivamente. Probabilmente non è un caso che, se si considerano &lt;em&gt;attivi&lt;/em&gt; solo i progetti aggiornati nell&amp;rsquo;ultimo mese, i numeri di Static Site Generators e di StaticGen concidano. Sarebbe interessante verificare se i progetti sono veramente gli stessi.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Hugo, la prova</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2014/12/28/hugo-la-prova/</link>
      <pubDate>Sun, 28 Dec 2014 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2014/12/28/hugo-la-prova/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Massimiliano vene scostumato. Cioè&amp;hellip; niente, lo so&amp;hellip; È proprio il nome che è scostumato.&#xA;Perché Massimiliano&amp;hellip; Per esempio, questo ragazzo sta vicino alla mamma&amp;hellip; questo ragazzo si muove per andare a qualche parte? La mamma prima di chiamare Mas-si-mi-lia-no, il ragazzo già chissà dove è andato, chissà cosa sta facendo! Non ubbidisce, perche è troppo lungo!&#xA;Invece Ugo, quello come sta vicino alla mamma e sta per muoversi: Ugo! Il ragazzo non ha nemmeno il tempo di fare un passo. Ugo!, e deve tornare per forza, perche lo sente, il nome.&#xA;&amp;ndash; Massimo Troisi, Ricomincio da tre (1981)&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen=&#34;allowfullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/yOLr5RiGTf4?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;p&gt;Sono passati diversi mesi dalla mia (quasi) &lt;a href=&#34;http://melabit.wordpress.com/2014/08/12/i-limiti-di-wordpress-com-cosa-ho-scartato-e-perche/&#34;&gt;promessa di provare&lt;/a&gt; approfonditamente &lt;a href=&#34;http://gohugo.io/&#34;&gt;Hugo&lt;/a&gt;, uno dei generatori di siti web statici più promettenti. Finalmente sono riuscito ad avere un po&amp;rsquo; di tempo libero da lavoro e famiglia per installare e provare Hugo, ed ecco qui le mie impressioni.&lt;/p&gt;&#xA;&lt;p&gt;Lo dico subito: Hugo non mi è piaciuto. Il primo impatto è buono, non lo nego, ma appena ho cominciato ad usarlo con un sito di test mi sono accorto che presenta delle notevoli debolezze, almeno rispetto alle mie idee circa la futura implementazione di questo blog.&lt;/p&gt;&#xA;&lt;h4 id=&#34;installazione&#34;&gt;Installazione&lt;/h4&gt;&#xA;&lt;p&gt;Hugo è facilissimo da installare. La pagina &lt;a href=&#34;https://github.com/spf13/hugo/releases&#34;&gt;Hugo Releases&lt;/a&gt; contiene il codice di Hugo compilato per le diverse piattaforme. L&amp;rsquo;ultima versione di Hugo per i Mac recenti è &lt;code&gt;hugo_0.12_darwin_amd64.zip&lt;/code&gt; (i Mac hanno sempre usato processori Intel, chissà perché la versione a 64 bit per OS X è etichettata con il suffisso &lt;code&gt;amd64&lt;/code&gt;), ma va comunque benissimo anche la versione a 32 bit, &lt;code&gt;hugo_0.12_darwin_386.zip&lt;/code&gt;, compatibile anche con i Mac Intel più vecchi.&lt;/p&gt;&#xA;&lt;p&gt;Una volta scaricato il file .zip, bisogna scompattarlo e copiare l&amp;rsquo;eseguibile &lt;code&gt;hugo_0.12_darwin_amd64&lt;/code&gt; in &lt;code&gt;/usr/local/bin&lt;/code&gt; o &lt;a href=&#34;http://melabit.wordpress.com/2014/11/06/script-di-shell-in-os-x/&#34;&gt;preferibilmente&lt;/a&gt; in &lt;code&gt;~/bin&lt;/code&gt;. Per evitare di dover scrivere ogni volta un comando così lungo, consiglio di rinominare l&amp;rsquo;eseguibile in &lt;code&gt;hugo&lt;/code&gt; o, meglio, di creare un soft-link al file originale.&lt;/p&gt;&#xA;&lt;p&gt;Da Terminale e supponendo di aver già scaricato il file .zip nella cartella Downloads&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ cd Downloads&#xA;$ unzip hugo_0.12_darwin_amd64.zip&#xA;$ cd /usr/local/bin&#xA;$ sudo cp -p ~/Downloads/hugo_0.12_darwin_amd64/hugo_0.12_darwin_amd64 .&#xA;$ ln -s hugo_0.12_darwin_amd64 hugo&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Se si vuole invece installare Hugo in &lt;code&gt;~/bin&lt;/code&gt; non serve usare il &lt;a href=&#34;http://www.linux.com/learn/tutorials/306766:linux-101-introduction-to-sudo&#34;&gt;comando &lt;code&gt;sudo&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ cd Downloads&#xA;$ unzip hugo_0.12_darwin_amd64.zip&#xA;$ cd ~/bin&#xA;$ cp -p ~/Downloads/hugo_0.12_darwin_amd64/hugo_0.12_darwin_amd64 .&#xA;$ ln -s hugo_0.12_darwin_amd64 hugo&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Per chi usa &lt;a href=&#34;http://melabit.wordpress.com/2014/04/29/homebrew-software-per-il-mac-fatto-in-casa/&#34;&gt;Homebrew&lt;/a&gt;, l&amp;rsquo;installazione è ancora più semplice. È sufficiente eseguire da Terminale&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ brew install hugo&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;che, oltre ad Hugo, installerà automaticamente il compilatore &lt;a href=&#34;https://golang.org/&#34;&gt;Go&lt;/a&gt; e i sistemi di controllo di revisione &lt;a href=&#34;http://bazaar.canonical.com/en/&#34;&gt;Bazaar&lt;/a&gt; e &lt;a href=&#34;http://mercurial.selenic.com/&#34;&gt;Mercurial&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;un-sito-di-prova&#34;&gt;Un sito di prova&lt;/h4&gt;&#xA;&lt;p&gt;Hugo permette di creare automaticamente la struttura di default di un sito, da cui partire per ulteriori personalizzazioni ed aggiunte. Spostiamoci in una directory del nostro account, ad esempio Documenti, e creiamo il sito &lt;code&gt;testhugo&lt;/code&gt; con il comando&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ cd Documenti&#xA;$ hugo new site testhugo&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;La struttura del sito di default è molto semplice [1^],&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ tree testhugo&#xA;testhugo/&#xA;├── archetypes&#xA;├── config.toml&#xA;├── content&#xA;├── layouts&#xA;└── static&#xA;4 directories, 1 file&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;contiene solo il file di configurazione &lt;code&gt;config.toml&lt;/code&gt; e le quattro directory standard del sistema.&#xA;Fra queste, la più importante è &lt;code&gt;content&lt;/code&gt;, che contiene i file originali delle pagine e dei post del sito in formato &lt;a href=&#34;http://daringfireball.net/projects/markdown/&#34;&gt;markdown&lt;/a&gt; ovvero, prendendo a prestito un termine tipico della programmazione, i &lt;em&gt;sorgenti&lt;/em&gt; del sito.&lt;/p&gt;&#xA;&lt;p&gt;Tutte le operazioni successive vanno eseguite da Terminale tramite il comando &lt;code&gt;hugo&lt;/code&gt; seguito dalle relative opzioni. Il comando deve essere eseguito necessariamente dall&amp;rsquo;interno della directory del sito&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  $ cd Documenti/testhugo&#xA;  $ hugo [opzioni]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Un sito web non serve a niente se non ci sono dei contenuti. Hugo ha un comando per creare una nuova pagina del sito. Eseguendo&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; $ hugo new chi-sono.md&#xA; /Users/.../Documenti/testhugo/content/chi-sono.md created&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Hugo crea il file &lt;code&gt;chi-sono.md&lt;/code&gt; nella directory &lt;code&gt;content&lt;/code&gt;,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ tree testhugo/&#xA;testhugo/&#xA;├── archetypes&#xA;├── config.toml&#xA;├── content&#xA;│   └── chi-sono.md&#xA;├── layouts&#xA;└── static&#xA;&#xA;4 directories, 2 files&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;e aggiunge automaticamente stato, titolo e data di creazione (in &lt;a href=&#34;http://www.cl.cam.ac.uk/~mgk25/iso-time.html&#34;&gt;formato ISO8601/Zulu&lt;/a&gt;) nel &lt;a href=&#34;http://gohugo.io/content/front-matter/&#34;&gt;&lt;em&gt;frontespizio&lt;/em&gt;&lt;/a&gt; (front matter) del file.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;+++&#xA;draft = true&#xA;title = &amp;quot;chi-sono&amp;quot;&#xA;date = 2014-12-27T21:19:56Z&#xA;+++&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Il frontespizio di default è in formato &lt;a href=&#34;https://github.com/toml-lang/toml&#34;&gt;TOML&lt;/a&gt; (identificabile dal fatto che le variabili sono racchiuse fra una coppia di linee contenenti la sequenza &lt;code&gt;+++&lt;/code&gt;), ma in alternativa possono anche essere usati i formati &lt;a href=&#34;http://www.yaml.org/&#34;&gt;YAML&lt;/a&gt; e &lt;a href=&#34;http://www.json.org/&#34;&gt;JSON&lt;/a&gt; più diffusi.&lt;/p&gt;&#xA;&lt;p&gt;Ovviamente il contenuto vero e proprio della pagina deve essere inserito a mano, con un editor di testo.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; Editiamo il file &lt;code&gt;chi-sono.md&lt;/code&gt;, aggiungendo le righe seguenti&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;+++&#xA;draft = true&#xA;title = &amp;quot;about&amp;quot;&#xA;date = 2014-05-20T10:04:31Z&#xA;+++&#xA;&#xA;### Chi sono&#xA;&#xA;Io sono. Io chi sono? Il cielo è primordialmente puro ed immutabile mentre le nubi sono temporanee. Le comuni apparenze scompaiono con l&#39;esaurirsi di tutti i fenomeni. Tutto è illusorio privo di sostanza, tutto è vacuità.&#xA;&#xA;Io sono. Io chi sono?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Per creare una pagina in una directory contenuta all&amp;rsquo;interno della directory principale &lt;code&gt;content&lt;/code&gt;, dobbiamo scrivere il percorso completo al file markdown della pagina, relativamente alla directory &lt;code&gt;content&lt;/code&gt;. Quindi&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ hugo new cartella/annidata/nuova-pagina.md&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;crea il file &lt;code&gt;nuova-pagina.md&lt;/code&gt;, contenuto nella directory &lt;code&gt;content/cartella/annidata/&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Un esempio particolare di questo meccanismo è costituito dai post di un blog, che vanno obbligatoriamente inseriti nella directory &lt;code&gt;content/post/&lt;/code&gt;. Il comando&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ hugo new post/un-post.md&#xA;/Users/.../Documenti/testhugo/content/post/un-post.md created&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;crea il nuovo post &lt;code&gt;un-post.md&lt;/code&gt;, inserendolo nella directory &lt;code&gt;content/post/&lt;/code&gt;. Di conseguenza, la struttura del sito diventa&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ tree testhugo/&#xA;testhugo/&#xA;├── archetypes&#xA;├── config.toml&#xA;├── content&#xA;│   ├── chi-sono.md&#xA;│   └── post&#xA;│       └── un-post.md&#xA;├── layouts&#xA;└── static&#xA;&#xA;5 directories, 3 files&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Anche in questo caso valgono le considerazioni fatte prima: Hugo crea automaticamente il frontespizio del post, a cui naturalmente va poi aggiunto il contenuto vero e proprio.&lt;/p&gt;&#xA;&lt;p&gt;Hugo integra anche un semplice server web. Non è quindi necessario installare o configurare un server web completo, come &lt;a href=&#34;http://www.apache.org/&#34;&gt;apache&lt;/a&gt; o &lt;a href=&#34;http://nginx.org/&#34;&gt;nginx&lt;/a&gt;, per visualizzare le pagine web create dal sistema.&lt;/p&gt;&#xA;&lt;p&gt;Una volta definiti i contenuti del sito, basta eseguire il comando&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ hugo server --buildDrafts&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;per convertire i sorgenti in markdown nelle pagine html del sito, che saranno visibili puntando il browser all&amp;rsquo;indirizzo &lt;code&gt;http://localhost:1313&lt;/code&gt;.&#xA;L&amp;rsquo;opzione &lt;code&gt;--buildDrafts&lt;/code&gt; istruisce Hugo a convertire in html anche le pagine ancora in formato &lt;code&gt;draft&lt;/code&gt; (o bozza), cioè quelle che contengono nel preambolo la riga &lt;code&gt;draft = true&lt;/code&gt;. Questa opzione è utilissima quando si effettuano delle prove, ma non dovrebbe mai essere usata per un sito &lt;em&gt;vero&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Il processo di conversione dei sorgenti in pagine html è velocissimo: con il mio sito di test contenente tutti i sorgenti di questo blog la conversione è praticamente immediata. Anzi, una delle caratteristiche principali di Hugo e una delle ragioni per cui è stato sviluppato in origine è proprio la sua grande efficienza nel convertire i sorgenti in markdown in file html, anche nel caso di siti contenenti migliaia di documenti.&lt;/p&gt;&#xA;&lt;h4 id=&#34;un-po-di-stile&#34;&gt;Un po&amp;rsquo; di stile&lt;/h4&gt;&#xA;&lt;p&gt;Se proviamo ad eseguire il comando &lt;code&gt;hugo server --buildDrafts&lt;/code&gt; otterremo un sito funzionale ma assolutamente povero dal punto di vista grafico.&lt;/p&gt;&#xA;&lt;p&gt;Per fortuna Hugo permette di installare facilmente un gran numero di temi predefiniti, con cui si può cambiare facilmente l&amp;rsquo;aspetto grafico del sito. Per farlo basta eseguire una volta per tutte&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ cd Documenti/testhugo&#x9;&#x9;# per spostarsi all&#39;interno della directory del sito&#xA;$ git clone --recursive https://github.com/spf13/hugoThemes themes&#xA;Cloning into &#39;themes&#39;...&#xA;remote: Counting objects: 83, done.&#xA;remote: Compressing objects: 100% (6/6), done.&#xA;remote: Total 83 (delta 2), reused 0 (delta 0)&#xA;Unpacking objects: 100% (83/83), done.&#xA;...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;che installa nella directory del sito tutti i temi disponibili alla pagina &lt;a href=&#34;https://github.com/spf13/hugoThemes/&#34;&gt;hugoThemes&lt;/a&gt;. Dopo l&amp;rsquo;installazione la struttura del sito diventa&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ tree testhugo/&#xA;testhugo/&#xA;├── archetypes&#xA;├── config.toml&#xA;├── content&#xA;│   ├── chi-sono.md&#xA;│   └── post&#xA;│       └── un-post.md&#xA;├── layouts&#xA;└── static&#xA;└── themes&#xA;    ├── LICENSE&#xA;    ├── README.md&#xA;    ├── herring-cove&#xA;    │   ├── ...&#xA;&#x9;├── html5&#xA;    │   ├── ...&#xA;&#x9;...&#xA;&#x9;└── tinyce&#xA;        ├── ...&#xA;&#x9;&#x9;└── theme.toml&#xA;&#x9;&#xA;183 directories, 625 files&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;In alternativa, si può scaricare il file zip presente nella pagina web &lt;a href=&#34;https://github.com/spf13/hugoThemes/&#34;&gt;hugoThemes&lt;/a&gt;, scompattarlo e copiare tramite il Finder o il Terminale la directory &lt;code&gt;themes&lt;/code&gt; in &lt;code&gt;Documenti/testhugo/&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;A questo punto possiamo provare a ricreare il sito web di prova usando uno dei temi appena installati&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ hugo server --theme=hyde --buildDrafts&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;e caricando di nuovo la pagina &lt;code&gt;http://localhost:1313&lt;/code&gt; nel browser. Ora il sito appare decisamente meglio.&lt;/p&gt;&#xA;&lt;h4 id=&#34;tutto-bene&#34;&gt;Tutto bene?&lt;/h4&gt;&#xA;&lt;p&gt;In sintesi: Hugo è facile da installare, ha una struttura piuttosto semplice, dispone di parecchi temi preconfezionati, crea automaticamente le nuove pagine e i nuovi post. Tutto bene, allora?&lt;/p&gt;&#xA;&lt;p&gt;Nemmeno per sogno.&lt;/p&gt;&#xA;&lt;p&gt;La maggior parte dei temi non funzionano &amp;ndash; o funzionano soltanto dopo una serie di modifiche &lt;em&gt;ad-hoc&lt;/em&gt; più o meno complicate &amp;ndash; nonostante siano distribuiti come i temi più o meno &lt;em&gt;ufficiali&lt;/em&gt; di Hugo. È vero che il progetto è giovane e in rapida evoluzione, ma credo che sarebbe stato decisamente meglio distribuire ufficialmente solo i temi già pronti per essere usati &lt;em&gt;out-of-the-box&lt;/em&gt;, cioè quelli che non hanno bisogno di configurazioni o modifiche particolari.&lt;/p&gt;&#xA;&lt;p&gt;Disporre di un comando specifico per creare nuove pagine o nuovi post è utile solo fino ad un certo punto. Innanzi tutto perché non può essere utilizzato da chi usa spesso l&amp;rsquo;iPad per preparare i propri post (non guardate me, io per ora l&amp;rsquo;ho fatto solo in estate).  E poi, qual&amp;rsquo;è il vero vantaggio &amp;ndash; in termini di tempo o di facilità d&amp;rsquo;uso &amp;ndash; di creare automaticamente un nuovo file in markdown con qualche riga di frontespizio preconfezionata, quando poi la parte inevitabilmente più lunga e complicata del lavoro è quella di &lt;em&gt;scrivere&lt;/em&gt; il contenuto della pagina (o del post)?&lt;/p&gt;&#xA;&lt;p&gt;Per il frontespizio si possono usare ben tre formati diversi, &lt;a href=&#34;https://github.com/toml-lang/toml&#34;&gt;TOML&lt;/a&gt;, &lt;a href=&#34;http://www.yaml.org/&#34;&gt;YAML&lt;/a&gt; e &lt;a href=&#34;http://www.json.org/&#34;&gt;JSON&lt;/a&gt;. Già così la cosa è abbastanza confusionaria, ma questo è il meno. Quello che è veramente &lt;em&gt;grave&lt;/em&gt; è che nella documentazione di Hugo, &lt;a href=&#34;http://gohugo.io/content/front-matter/&#34;&gt;a parte questa brevissima pagina&lt;/a&gt;, non si trova nessun dettaglio sui tre formati del frontespizio, sulle variabili predefinite, su come crearne di nuove o su come passare da un formato all&amp;rsquo;altro. Può anche darsi che le informazioni ci siano ma che io non sia riuscito a trovarle, ma allora perché tenerle così ben nascoste nei meandri del sito del progetto?&lt;/p&gt;&#xA;&lt;p&gt;E qui arriviamo al punto dolente più importante: la documentazione. La documentazione su Hugo è veramente scarsa, tutto si risolve più o meno nelle poche pagine che costituiscono il &lt;a href=&#34;http://gohugo.io&#34;&gt;sito del progetto&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In rete non si trova praticamente nessun tutorial indipendente, nessuna pagina di trucchi o di consigli, nessun informazione del tipo &lt;em&gt;io ho fatto così&lt;/em&gt;. Tutto quello che c&amp;rsquo;è è più o meno un copia e incolla dal sito ufficiale di &lt;a href=&#34;http://gohugo.io/&#34;&gt;Hugo&lt;/a&gt;, come &lt;a href=&#34;http://www.cirrushosting.com/web-hosting-blog/an-introduction-to-hugo/&#34;&gt;questo post&lt;/a&gt; o &lt;a href=&#34;https://peteraba.com/blog/first-impressions-of-hugo/&#34;&gt;quest&amp;rsquo;altro&lt;/a&gt;.&#xA;&lt;a href=&#34;https://gowalker.org/github.com/reedobrien/hugo&#34;&gt;Questa pagina&lt;/a&gt; sembra ben fatta, ma in fondo è solo una sintesi in un documento singolo di quello che si trova disperso sul sito ufficiale. La cosa migliore che ho trovato finora su Hugo è &lt;a href=&#34;http://npf.io/2014/08/hugo-is-awesome/&#34;&gt;questa serie di post&lt;/a&gt;: non male, ma troppo poco approfondita.&lt;/p&gt;&#xA;&lt;p&gt;Di conseguenza è quasi impossibile &lt;em&gt;mettere le mani&lt;/em&gt; in Hugo e imparare ad estenderne le funzionalità oltre a quelle predefinite. A parte studiare i sorgenti, ovviamente.&lt;/p&gt;&#xA;&lt;p&gt;Anche in questo caso potrei sbagliarmi o essere stato troppo superficiale nel leggere la documentazione disponibile. Ma se nel corso delle mie prove con Hugo non sono riuscito a fare una cosa banale come visualizzare le categorie e i tag dei post del mio sito di test, non riesco nemmeno ad immaginare quanto potrebbe essere ostico cercare di aggiungere qualche funzione leggermente più complessa: un &lt;a href=&#34;http://it.wikipedia.org/wiki/Breadcrumb&#34;&gt;breadcrumb&lt;/a&gt;, un box di ricerca, l&amp;rsquo;elenco dei tag più usati, o magari un servizio di commenti alternativo a &lt;a href=&#34;http://gohugo.io/extras/comments/&#34;&gt;Disqus&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;conclusioni&#34;&gt;Conclusioni&lt;/h4&gt;&#xA;&lt;p&gt;Come ho già detto il primo impatto con Hugo è positivo, ma appena si cerca di usarlo in pratica ci si scontra con i suoi limiti attuali, la scarsità di documentazione su tutti.&lt;/p&gt;&#xA;&lt;p&gt;Sarà anche facile da installare, sarà perfino relativamente semplice da usare così com&amp;rsquo;è, ma per ora, mi dispiace, Hugo non fa per me.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Consiglio come al solito &lt;a href=&#34;http://macromates.com/&#34;&gt;TextMate 2&lt;/a&gt;, &lt;a href=&#34;http://www.barebones.com/products/textwrangler/&#34;&gt;TextWrangler&lt;/a&gt;, &lt;a href=&#34;https://atom.io/&#34;&gt;Atom&lt;/a&gt;, &lt;a href=&#34;http://brackets.io/&#34;&gt;Brackets&lt;/a&gt;, più o meno in ordine di (personale) preferenza. Altri editor &lt;em&gt;veri&lt;/em&gt;, da &lt;a href=&#34;http://www.barebones.com/products/bbedit/&#34;&gt;BBEdit&lt;/a&gt; o &lt;a href=&#34;http://www.sublimetext.com/&#34;&gt;Sublime Text&lt;/a&gt; (che prima o poi mi deciderò a provare a fondo) agli editor &lt;em&gt;storici&lt;/em&gt; emacs o vi, presenti di default in OS X, vanno naturalmente altrettanto bene.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Un dominio personale</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2014/03/06/un-dominio-personale/</link>
      <pubDate>Thu, 06 Mar 2014 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2014/03/06/un-dominio-personale/</guid>
      <description>&lt;p&gt;Dopo solo due mesi dalla nascita di questo blog i limiti di Wordpress.com sono diventati evidenti, tanto da spingermi ad acquistare (tecnicamente &lt;em&gt;affittare&lt;/em&gt;) il dominio &lt;code&gt;melabit.com/posts/it&lt;/code&gt; in modo da poter effettuare una transizione su una piattaforma più flessibile.&lt;/p&gt;&#xA;&lt;p&gt;Devo ammettere che nel complesso Wordpress.com non è affatto male. L&amp;rsquo;interfaccia di gestione del blog è un po&amp;rsquo; pesante, è vero, ma comunque è molto migliorata negli ultimi anni. Anche la configurazione del blog è sufficientemente flessibile, soprattutto se teniamo conto che le funzionalità principali della piattaforma sono totalmente gratuite.&lt;/p&gt;&#xA;&lt;p&gt;Mi è anche piaciuta la possibilità di poter provare i temi grafici sul sito &lt;em&gt;live&lt;/em&gt;, che è l&amp;rsquo;unico modo per testare in modo approfondito l&amp;rsquo;effetto reale del tema grafico scelto. Io ho dovuto scartare moltissimi temi che mi piacevano solo perché non mostravano in modo accettabile i (pochi finora) frammenti di codice che ho inserito nel testo dei post. Probabilmente su un semplice sito di prova non sarei riuscito ad accorgermi di questi dettagli, o me ne sarei accorto troppo tardi.&lt;/p&gt;&#xA;&lt;p&gt;Al confronto, Blogger è tremendo. L&amp;rsquo;ho provato a lungo prima di decidere e mi è sembrato decisamente meno pratico da usare di Wordpress.com. Una delle cose più sgradevoli era il fatto che ogni cambiamento del tema scombinasse completamente l&amp;rsquo;impostazione del sito: per correggere gli errori dovevo resettare tutto alle impostazioni di default o, a volte, perfino correggere a mano il codice di impostazione dei widget! Per uno strumento rivolto agli utenti comuni e prodotto da un gigante come Google non è certo un buon biglietto da visita.&lt;/p&gt;&#xA;&lt;p&gt;Però anche Wordpress ha gravi limiti. I due più seri e legati fra loro sono l&amp;rsquo;impossibilità di effettuare il backup del sito e la cattiva implementazione del &lt;a href=&#34;http://daringfireball.net/projects/markdown/&#34;&gt;codice di markdown&lt;/a&gt;, utilizzabile per scrivere i post al posto dell&amp;rsquo;html. All&amp;rsquo;inizio è successo parecchie volte che il sorgente in markdown venisse convertito in html, senza alcuna possibilità di recuperarlo da un backup.&lt;/p&gt;&#xA;&lt;p&gt;Per non perdere il sorgente degli articoli sono quindi stato costretto a scrivere il testo degli articoli sul Mac con un editor specifico per markdown (io preferisco &lt;a href=&#34;http://multimarkdown.com&#34;&gt;MultiMarkdown Composer&lt;/a&gt; e &lt;a href=&#34;http://www.markdownpro.com/&#34;&gt;Markdown Pro&lt;/a&gt;, ma ne riparleremo in dettaglio prima o poi) per poi copiarlo a mano nell&amp;rsquo;editor online  di Wordpress.&lt;/p&gt;&#xA;&lt;p&gt;Decisamente poco pratico, anche perché poi ogni ulteriore correzione prima della pubblicazione del post deve essere sincronizzata con il sorgente sul Mac. E da (anche) sviluppatore, trovo assurdo il dover tenere lo stesso codice in posti diversi, una pratica che induce troppo facilmente all&amp;rsquo;errore.&lt;/p&gt;&#xA;&lt;p&gt;Un&amp;rsquo;altro limite, meno serio, è legato alle immagini. L&amp;rsquo;upload dei file grafici è molto lento e bisogna necessariamente usare l&amp;rsquo;html per inserire le immagini nel testo dell&amp;rsquo;articolo, o almeno io non sono riuscito a farlo in markdown.&lt;/p&gt;&#xA;&lt;p&gt;Insomma, è arrivata rapidamente l&amp;rsquo;ora di cambiare. Il nome di dominio personale è il presupposto. Ma per la transizione vera e propria ci vorrà ancora tempo.&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
