Categorie
Opinioni

Dura lex, sed lex

Qualche giorno fa, per la seconda volta in pochi mesi e sempre nello stesso punto, il cinturino Solo Loop del mio Apple Watch si è spaccato mentre lo stavo togliendo.

Non sono ovviamente l’unico ad aver avuto un problema simile: sono molti gli internauti che lamentano spaccature inaspettate.

Specie in America, Apple si rifiuta di risolvere questo tipo di problema in garanzia e offre invece sostituzioni a pagamento. Ci hanno provato anche con me, ma è venuto in mio soccorso il Codice del Consumo, con cui Apple in realtà non ha mai avuto un buon rapporto.

Molti non sanno infatti che mentre Apple offre una garanzia limitata del produttore di un anno, alle sue condizioni e regole, la Legge Italiana tutela giustamente tutti i consumatori per due anni obbligando il venditore a coprire la merce venduta per ogni qualsivoglia difetto di conformità. Nel mio caso, venditore e produttore coincidono in quanto ho acquistato il cinturino dall’Apple Store Online.

La legge su questo tema è chiara. Infatti, ai sensi dell’art. 130 del Codice del Consumo

1. Il venditore è responsabile nei confronti del consumatore per qualsiasi difetto di conformità esistente al momento della consegna del bene.
2. In caso di difetto di conformità, il consumatore ha diritto al ripristino, senza spese, della conformità del bene mediante riparazione o sostituzione, a norma dei commi 3, 4, 5 e 6, ovvero ad una riduzione adeguata del prezzo o alla risoluzione del contratto, conformemente ai commi 7, 8 e 9.
[…]

Art. 130 Codice del Consumo

Ma cos’è un difetto di conformità? Lo chiarisce sempre il Codice del Consumo, all’art. 129:

2. Si presume che i beni di consumo siano conformi al contratto se, ove pertinenti, coesistono le seguenti circostanze:
a) sono idonei all’uso al quale servono abitualmente beni dello stesso tipo;
b) sono conformi alla descrizione fatta dal venditore e possiedono le qualità del bene che il venditore ha presentato al consumatore come campione o modello;
c) presentano la qualità e le prestazioni abituali di un bene dello stesso tipo, che il consumatore può ragionevolmente aspettarsi, tenuto conto della natura del bene e, se del caso, delle dichiarazioni pubbliche sulle caratteristiche specifiche dei beni fatte al riguardo dal venditore, dal produttore o dal suo agente o rappresentante, in particolare nella pubblicità o sull’etichettatura;
d) sono altresì idonei all’uso particolare voluto dal consumatore e che sia stato da questi portato a conoscenza del venditore al momento della conclusione del contratto e che il venditore abbia accettato anche per fatti concludenti.

Comma 2 art. 129 Codice del Consumo

Come può un cinturino che si rompe semplicemente sfilandolo essere conforme, alla luce delle lettere a) e c) del comma 2 dell’art. 129 del Codice del Consumo?

Mi sono dunque rivolto al rivenditore, con l’intenzione di esercitare i miei diritti di legge, pur scoraggiato dai numerosi commenti negativi online.

È iniziata dunque la Fiera dell’est: ho provato a chiamare la Apple, che mi ha rimandato al centro di assistenza autorizzato. Il centro mi ha poi rimandato al supporto Apple di II livello, in quanto a loro dire sarebbe stato considerato danno accidentale, con mia somma disapprovazione. Dopo un fermo promemoria di cosa prevede il nostro diritto e due giorni di verifiche col dipartimento amministrazione, la pratica è stata approvata e sono stato rimandato al centro assistenza. Ovviamente, lì non avevano idea di quest’approvazione e anzi mi hanno detto che non avrei proprio dovuto essere inviato lì perché neanche li trattano i cinturini! Tuttavia hanno lo stesso ritirato il cinturino rotto…

Tutto è bene quel che finisce bene: richiamando Apple mi è stata confermata l’apertura di “un’eccezione”, cosa che ho prontamente riferito. In effetti il giorno dopo mi hanno avvisato della possibilità di ritirare il cinturino di ricambio.

Solo che non è vero che “tutto è bene”… È possibile che per usufruire di un diritto di legge si debba perdere così tanto tempo? Un giorno vi racconterò della mia epopea mitologica contro la TIM…

Categorie
Wikimedia

I 4 minuti più lunghi della mia vita

Quest’anno Wikimania, la conferenza internazionale dei progetti Wikimedia, cancellata nel 2020 e riproposta in una chiave completamente rivista nel 2021, ha avuto un relatore in più. 😀

Il mio intervento si è tenuta in una sessione riguardante le collaborazioni tra Wikimedia e università insieme alla prof.ssa Maristella Gatto, con cui organizziamo i progetti universitari ad Uniba. È stato difficile condensare in 10 minuti 280 studenti e tante ore di lavoro, ma ce l’abbiamo fatta.

La sessione pre-registrata è andata abbastanza bene, complici anche i numerosi tentativi e fallimenti fatti in mattinata (ecco qui spiegato il titolo del post), forse me la sono cavata un po’ più peggio sulle domande. 😀

Parlando dell’evento in generale, ho partecipato a qualche altra sessione ed è stato divertente incontrare altri Wikimediani da tutto il mondo, in particolare ho molto gradito il confronto con gli altri organizzatori di Wiki Loves Monuments.

Il sistema usato però (che non era software libero) non mi è piaciuto molto, l’ho trovato parecchio disorientante e dispersivo. Tirando le somme, penso che avrei potuto fare molte più conoscenze e conversazione. Spero prima o poi di poter partecipare ad una Wikimania di persona!

Se avete piacere a vedere il mio intervento, trovate il video sopra. Qui invece c’è qualche materiale utile, mentre prometto solennemente di pubblicare il prima possibile il link alla registrazione del doppiaggio in tempo reale in Arabo, Francese, Tedesco, Spagnolo, Russo e Cinese che Wikimedia Foundation ha messo a disposizione per diversi eventi della conferenza, compreso il mio!

Categorie
Informatica

Il menu accenti non funziona più

Il menu accenti è forse una delle più utili funzionalità offerte da macOS. Si richiama tenendo premuta una lettera e consente di selezionare varie opzioni relative ad accenti e segni diacritici, anche per le lettere maiuscole. È forse quest’ultima opzione che lo rende particolarmente importante per la nostra lingua!

Qualche mese fa però ha incominciato a disattivarsi in modo casuale e senza apparente motivazione. Inizialmente mi sono interrogato sulla questione senza trovare una risposta e ho deciso dunque di procedere nel modo più pigro possibile, cioè dando all’occorrenza il comando per riattivarlo nel Terminale, che riporto qui a vostro beneficio:

defaults write -g ApplePressAndHoldEnabled -bool true

Ad un certo punto mi sono accorto però che il fenomeno si presentava insistentemente quando usavo Parallels Desktop 15, l’ottimo software di virtualizzazione che consente di usare Windows su macOS.

Ho contattato il supporto che ha tagliato corto e mi ha consigliato di provare la versione 16. Effettivamente il problema ha smesso di verificarsi e quindi ho aggiornato definitivamente alla 16 (a pagamento, ovviamente).

Di necessità virtù, però, e così durante il periodo di separazione forzata dal menu accenti ho imparato ad usare anche i comodi shortcut per le lettere accentate maiuscole:

  • È si ottiene con Option (⌥) + Shift (⇧) + E
  • À si ottiene con Option (⌥) + Shift (⇧) + W
  • Ì si ottiene con Option (⌥) + Shift (⇧) + R
  • Ò si ottiene con Option (⌥) + Shift (⇧) + T
  • Ù si ottiene con Option (⌥) + Shift (⇧) + U

Sono dell’idea che usare gli shortcut, quando possibile, consenta a lungo andare di aumentare la produttività, ma ora che l’ho ritrovato, non penso che abbandonerò del tutto il caro menu accenti! 😄

Categorie
Informatica

Perché su Mac sento solo dalla cuffia destra o sinistra?

Da quando ho aggiornato il mio Macbook Pro a macOS Big Sur 11.0, l’auricolare sinistra delle mie Airpods Pro ha smesso di funzionare solo su Mac, mentre continuava ad andare benissimo sugli altri miei dispositivi. Reset, controreset e procedure varie non sono erano serviti a niente, così avevo gettato la spugna, persa ormai ogni speranza.

Cercando in giro però ho notato che delle persone con lo stesso problema hanno risolto semplicemente controllando le impostazioni di bilanciamento nella scheda “Uscita” della sezione “Suono” delle Preferenze di Sistema.

In effetti, il bilanciamento era stato completamente spostato verso destra, isolando così del tutto l’auricolare sinistro. Questo cambiamento di impostazioni si è verificato, in misura minore, anche per altre mie cuffie.

Non conosco la motivazione di questa modifica improvvisa e non richiesta, ma magari anche a voi può essere utile sapere che basta spostare uno slider per ritornare a godere appieno delle nostre cuffie.

Categorie
Informatica Opinioni

Non tanto live

A live stream concert. Ma certamente.

Come potete vedere dall’immagine, stasera a partire dalle 21 era previsto un concerto di Mika in live streaming per aiutare il Libano in seguito alla recente tragedia.

Ho però potuto apprendere a mie spese che il significato di live streaming, il quale mi sembra abbastanza chiaro ed inequivocabile, è sconosciuto a Mika e al suo entourage.

Leggendo durante la promozione dell’iniziativa live streaming e termini simili sembrava lecito supporre infatti che il concerto avvenisse nel momento stesso della trasmissione.

Ciò sembrano averlo pensato anche i commentatori su YouTube quando, esattamente come me, si sono visti davanti al posto di una diretta live, per l’appunto, questa scena.

È un video, un semplice video dalla durata di 1 ora, 35 minuti e 51 secondi, un comunissimo e normalissimo video: insomma proprio il contrario di live streaming.

Evitando le facili battute sul fatto che questa sia una situazione da articolo 640 del codice penale dato che comunque i ricavati dovrebbero essere destinati a scopi caritatevoli, mi sembra che non sia molto corretto da parte dagli organizzatori indurre in errore i consumatori lasciando loro credere che si trattasse di un evento in live broadcasting. Il fatto che si tratti di beneficenza non cambia poi molto.

Mi dispiace molto anche che a chi ha ideato questo show che lascia con l’amaro in bocca sia sconosciuta l’esistenza di un fantastico tool per dirette live e col quale avrebbero anche potuto mettere in piedi questo giochetto in un modo più credibile, volendo. Si tratta di Open Broadcast Studio, un software gratuito e open source, ma sono sicuro ne esistano molti altri anche a pagamento e professionali. Oltre al danno la beffa, insomma.

Livestream ticket dal costo di 10 euro. Mi sembra molto chiaro anche il significato di livestream ticket.
Categorie
Informatica

Una sciagurata idea

Ormai conoscerete le mie avventure con Ghost, dopo averne letto. Saprete dunque che ho rinunciato completamente ad ogni tentativo di installarlo nuovamente. Tra le sue dipendenze c’era mySQL, che non mi serve né ho intenzione di usare, dato che per le mie applicazioni impiego PostgreSQL.

Ho deciso quindi di cancellare, rimuovere, distruggere ed estirpare qualsiasi traccia di mySQL dal mio Ubuntu 20.04 che come saprete è stato da poco installato.

Rimuovo dunque tutti i pacchetti collegati con l’apposito comando e pulisco tutto:

sudo apt-get remove --purge -s 'mysql*'
sudo apt-get autoremove
sudo apt-get autoclean

e trovo sul web un comando per rimuovere

sudo rm -rf /etc/mysql /var/lib/mysql

Leggendo una delle tante guide su come disinstallare mySQL mi sovviene però una pazza, sciagurata, malsana idea! Il (mio) primo risultato su Google per “Uninstall mySQL” dice di dare anche questo comando:

sudo find / -iname 'mysql*' -exec rm -rf {} \;

Senza pensarci troppo do invio e poco dopo mi rendo conto della stupidaggine megagalattica appena fatta. In pochi istanti, esplodono tutte le mie applicazioni.

Quel comando cancella tutti i file che contengono mysql nel nome, purtroppo non solo i file collegati a mySQL hanno mySQL nel nome.

A quanto pare infatti, ci sono anche dei file di un componente fondamentale Ruby on Rails, che sono automaticamente inclusi in ogni applicazione.

Nonostante non abbia capito cosa abbia effettivamente condotto all’errore in cui mi sono imbattuto, ho capito benissimo che una cosa del genere non va fatta a meno che non vogliate essere chiamati dal vostro servizio di monitoring alle 2:00 e dover reinstallare tutte le applicazioni a quell’ora della notte (e menomale che non ci sono stati altri problemi). Chiedo perdono al mio server per le atrocità commesse.


Vuoi sapere quali sono le applicazioni Ruby on Rails di cui sto parlando? Trovi tutto sul mio Github, non saranno fatte benissimo ma almeno possono essere utili 😀

Categorie
Informatica

Addio Ghost

Dopo un anno e qualche mese ho finalmente deciso di intraprendere una buona e giusta migrazione da Ghost, una piattaforma di blogging, a WordPress, sempre una piattaforma di blogging ma a quanto pare decisamente migliore. In questo articolo vi racconto perché e perché dovreste evitare Ghost anche voi.

Un’installazione tormentata

A parole installare Ghost è la cosa più semplice del mondo. Installi le dipendenze, dai un comandino in una cartella da un utente creato ex-novo e le voilà la tua istanza di Ghost è pronta, SSL compreso.

Qualche giorno fa ho cambiato server perché ho trovato un’offerta più vantaggiosa (a proposito, addio 95.217.2.93, ti ho voluto bene) e ho dovuto quindi fare l’intera procedura da capo.

L’installazione è già partita male: l’installer informava di non essere compatibile con Ubuntu 20.04, rilasciato ad aprile 2020 e in esecuzione sul mio server.

Andando avanti, Ghost ha provato a creare il suo utente mySQL e non ci è riuscito perché non compatibile con mySQL 8 incluso in Ubuntu 20.04. Sono stato costretto a farlo io per lui, ma l’installazione è fallita lo stesso, dopo diversi tentativi, o per problemi con SSL o per altri non specificati problemi. Il server non risultava quindi raggiungibile.

Così, mi sono stancato e ho detto basta. Non avevo voglia di perdere altro tempo a risolvere altri problemi (tra l’altro, la prima installazione su Ubuntu 18.04 era andata liscia come l’olio). Era giunto il momento di fare una cosa che avrei dovuto fare da tempo: usare una piattaforma con un minimo di community, di universalità e di supporto.

Eccoci qui dunque, il mio blog ora è su un’installazione WordPress che ha richiesto pochi minuti e non ha dato problemi.

Una migrazione dolorosa

Mi sono reso conto troppo tardi che Ghost, nonostante sia software libero, è una terribile gabbia. Ci sono tanti modi per migrare a Ghost, ma alcun modo per migrare da Ghost.

Insomma, mi sono dovuto arrangiare. Neanche a dirlo, quando ho provato a spostare la mia installazione di ghost da ferdinando.me (questo sito) a blog.ferdinando.me per poter spostare i contenuti con calma su WordPress, si è rotto tutto e sono stato costretto ad esportare i contenuti dal mio blog Ghost sul server e importarli manualmente sul mio computer in un’istanza locale appositamente preparata e collegata al mondo attraverso ngrok. Facendo così, però, sono andate perse le immagini, nonostante abbia importato la cartella content/images e fatto quanto necessario per renderle visibili.

Ho riscontrato pure problemi con l’importazione tramite RSS non ha funzionato quasi per niente. L’unico plugin gratuito parzialmente funzionante tra i tanti che ho provato è stato CyberSEO Lite che ha importato egregiamente solo gli ultimi sei articoli.

Mi sono dunque dovuto arrendere all’evidenza: esportare da Ghost verso WordPress è per me impossibile e quantomeno difficile (magari esiste qualche metodo che non ho considerato).

Per salvare il salvabile ed evitare di perdere altro tempo sono riuscito a far importare automaticamente gli articoli che avevo su Medium, ma dato che il servizio online consigliato dalla maggior parte delle guide si rifiutava di accettare il mio file di esportazione Medium (ritenendolo “troppo grande”), ho dovuto usare l’importazione integrata in WordPress.com ed esportare da lì un file compatibile con WordPress.

Il resto, purtroppo, l’ho dovuto fare a mano.

Conclusioni

Dopo questo anno e mezzo e dopo aver finalmente provato Gutenberg su WordPress, posso serenamente dire che:con l’introduzione di un editor come Gutenberg in WordPress, Ghost ha perso tutto l’appeal che aveva nei miei confronti, quindi non vale la pena imbarcarsi in un’avventura problematica come quella di usare Ghost per un proprio blog, senza tra l’altro possibilità di fuga. Mentre infatti è possibile tranquillamente migrare da WordPress a Ghost o addirittura da Medium a Ghost, fare il contrario vi toglierà tempo e vi provocherà molti problemi, nonostante Ghost sia assolutamente open source. Insomma, il gioco non vale la candela, soprattutto se è nelle vostre intenzioni cambiare nuovamente piattaforma.

Categorie
Informatica Wikimedia

Un’app per Wiki Loves Monuments Italia

Giocando con Appcelerator Titanium, un framework open source e rilasciato con licenza Apache per lo sviluppo di applicazioni mobile native a partire da una sola codebase, ho realizzato un’applicazione per il concorso Wiki Loves Monuments Italia. Trovate il codice sorgente su https://github.com/ferdi2005/monumenti.

In una settimana, è stato possibile implementare la possibilità di trovare monumenti tramite geolocalizzazione e mostrarli su una mappa, sia qualla di cercare una determinata località italiana (per esempio, Roma) e vedere i monumenti ivi presenti. In più, c’è anche una bellissima scheda per ogni monumento e un simpatico tasto refresh da premere quando ci si sposta, per esempio durante una wikigita.

La documentazione dell’API qui riportata è ferma a qualche versione fa per quanto riguarda il contenuto della risposta, ora c’è qualche parametro in più.

Backend

Ebbene, quando scrivi un’app mobile ti serve anche un backend! Ho deciso quindi di riutilizzare il mio progetto wlm.puglia.wiki ed ho esposto quindi alcune nuove simpatiche API in alcune delle nuove versioni. Quella piccola webapp prima aveva solamente la stessa funzione dell’app e dava la possibilità di trovare i monumenti vicino a sé con Leaflet + OSM, mentre ora svolge anche da backend dell’app. Per ragioni tecniche (non c’era un framework per Appcelerator Titanium), non ho potuto utilizzare OSM anche sull’applicazione mobile, quindi troverete su Android le mappe di Google e su iOS quelle di Apple, ma tutto il lavoro di geocoding è fatto da OSM, precisamente da Mapbox con OSM.

È stato duro anche trovare il modo di far funzionare l’URL di caricamento del monumento, che ora viene restituito insieme alle informazioni del monumento ed è generato miscelando informazioni dalla query SPARQL e dall’esecuzione tramite l’API parse di MediaWiki del Modulo:WLM su Wikipedia!

Trovare i monumenti

Il primo endpoint che ho messo a disposizione, un bel po’ di tempo fa già prefigurandomi l’app, è /monuments.json, che accetta come parametri sia latitude e longitude che city, per cercare invece i monumenti vicino ad una città.

La risposta è di questo tipo, il secondo array rappresenta il centro della mappa, cioé il punto al centro di tutti i risultati o, in caso di città, la localizzazione della città:

[[{"id":34746,"item":"Q61905499","wlmid":"16A6620042","latitude":"41.132779","longitude":"16.838713","itemlabel":"Non creiamo precedenti","image":null,"created_at":"2020-06-07T22:54:03.906Z","updated_at":"2020-06-07T22:54:03.906Z","itemDescription":"Scultura presso lo Stadio della Vittoria","distance":0.69212135568994,"bearing":"109.201534968318"}], [41.13698328712448,16.826640973289223]]

Più informazioni sul singolo monumento

A vostra disposizione c’è anche l’endpoint /show.json che accetta il parametro id corrispondente all’id del monumento che si ottiene attraverso la prima richiesta API. La risposta corrisponderebbe, visitando wlm.puglia.wiki/show.json?id=34746, a:

{"id":34746,"item":"Q61905499","wlmid":"16A6620042","latitude":"41.132779","longitude":"16.838713","itemlabel":"Non creiamo precedenti","image":null,"created_at":"2020-06-07T22:54:03.906Z","updated_at":"2020-06-07T22:54:03.906Z","itemDescription":"Scultura presso lo Stadio della Vittoria","distance":0.69212135568994,"bearing":"109.201534968318"}

Notare che gli ID cambiano ad ogni risincronizzazione del database e questo endpoint è stato creato esplicitamente per fornire le informazioni dall’app.

Indirizzo

Dato che il geocoding a quanto pare non funziona benissimo su iOS, ho predisposto un endpoint API del tipo /address.json che accetta il parametro id, sempre corrispondente all’id del monumento ottenuto sempre nel primo endpoint.

Per esempio wlm.puglia.wiki/address.json?id=34746 risponde:

Piazzale Vittorio Emanuele Orlando, Bari, Bari, 70132, Italy

Ringraziamenti

Siamo ormai giunti alla versione 1.1.3. 😁 Per il raggiungimento di questo risultato mi preme ringraziare i miei fidi beta tester anticipati Yacine Boussoufa e Stupeficium, ma anche il carissimo sviluppatore Titanium Michael Gangolf, che mi ha dato alcuni importanti consigli per l’applicazione

Download

Siete convinti adesso? Mentre risolvo i problemi con la burocrazia per pubblicare su iOS (magari ottenendo lo sconto della quota per il no profit), vi lascio i link per scaricare l’applicazione su Android. Notate che per utilizzare l’app è necessario avere i Google Play Services attivi.

Non dimenticate di lasciare una recensione o un commento, o di scrivermi se avete qualche dubbio!

Categorie
Guide Informatica

Siete pronti al DVB-T2?

È giunta l’ora di verificare se la vostra TV sia compatibile con il DVB-T2 o no. Potete farlo in modo molto semplice, andando sul canale 200 o sul canale 100. Se non trovate il canale, neanche dopo una risintonizzazione, o trovate solo una schermata nera, significa che la vostra TV non è compatibile e presto la dovrete cambiare, a seconda di quando avverrà lo switch-off nella vostra regione:

  • dal 1° settembre al 31 dicembre 2021: Valle d’Aosta, Piemonte (Torino), Lombardia (Milano), Veneto, Friuli-Venezia Giulia, Emilia-Romagna, Trentino-Alto Adige;
  • dal 1° Gennaio al 31 Marzo 2022: Liguria (Genova), Toscana, Umbria, Lazio (Roma), Campania (Napoli), Sardegna;
  • dal 1° Aprile al 30 Giugno 2022: Sicilia, Calabria, Puglia, Basilicata, Abruzzo, Molise, Marche.

Dopo lo switch-off, non sarete in grado di vedere più nulla e tutte le trasmissioni avverranno col nuovo standard. Questo porta numerose innovazioni (quella di poter vedere programmi in 4K per esempio) e libera frequenze utili al 5G.

Siete ancora in tempo, inoltre, per richiedere il bonus TV messo a disposizione dal Ministero dello Sviluppo Economico, per comprare una nuova TV o decoder se la vostra non risulta essere compatibile

Categorie
Informatica Opinioni

Un termostato intelligente, anche troppo

Qualche anno fa abbiamo deciso di far installare a casa un termostato intelligente Nest perché è più facile da impostare rispetto soliti termostati, ma anche perché volevamo sperimentare una novità.

Sin da subito ha funzionato parecchio bene e si è rivelato molto utile, soprattutto nelle fredde serate invernali, potendo accendere il riscaldamento anche fuori casa, dall’app.

Abbiamo però incominciato a notare una strana attivazione del riscaldamento, specialmente la notte, quando non era invece necessario.

Quindi ho deciso di curiosare nelle impostazioni ed ho notato che era attiva la funzionalità di apprendimento automatico della programmazione, che nel nostro caso non esiste, dato che lo regoliamo in base alle necessità giorno per giorno, progettando quindi un calendario completamente sballato.

Forse per alcuni può risultare utile, ma in questo caso è stato anche “troppo intelligente”!