Coding: pensieri sparsi

Lettura : Scrittura = Uso del computer : Programmazione

Si impara a leggere e a scrivere da piccoli, perché è il momento in cui si impara con maggiore facilità, per sempre.

Tutti imparano a scrivere, anche se pochi diventeranno scrittori.

Non ha senso imparare a leggere senza imparare a scrivere.

In quasi tutti i mestieri del mondo, tranne forse i più umili, è necessario saper scrivere. La stessa cosa vale oggi: non c’è professione qualificata che non richieda almeno la conoscenza delle basi della programmazione

Anche un foglio di Excel è un programma (input -> algoritmo -> output) in linguaggio funzionale.

Tempo fa, a una platea di programmatori di tutte le età, ho chiesto: “Chi di voi ha scritto il suo primo programma prima dei 14 anni?” Hanno alzato la mano quasi tutti.

Cosa si impara con il coding

Si impara prima di tutto a porsi dei problemi, e poi a risolverli.

Si impara a ragionare con metodo, senza rinunciare alla intuizione.

Si impara a essere creativi e fantasiosi.

Si impara a ragionare in una lingua straniera.

Si impara a riciclare le soluzioni altrui adattandole al proprio caso.

Si impara a non arrendersi davanti alle difficoltà.

(post in progress)

Fake News lo dici a tua sorella

Definizione di notizia:

“una informazione che ho bisogno di sapere e che nessuno mi ha ancora detto”

Se questo è il metro, quasi tutto quel che passa per i canali tradizionali è “fake news”. Ma il termine viene usato oggi per enfatizzare il pericolo legato alla proliferazione delle fonti di informazione, dove non esiste più la voce autorevole di riferimento e ogni notizia ha la stessa potenziale visibilità indipendentemente dalla fonte.

Esiste davvero questo pericolo?

Ogni nuova tecnologia comporta dei rischi, e viene adottata dalla società quando i vantaggi superano di gran lunga gli svantaggi. Dal momento in cui viene adottata da tutti al momento in cui la società prende consapevolezza dei rischi e adotta misure per ridurli,  passano  di solito parecchie decine di anni: pensa per esempio all’elettricità e ai salvavita, pensa alle automobili e alle cinture, all’airbag, all’ABS, alla guida autonoma. E puoi già vedere l’avvicinarsi di un futuro in cui non dovrai più insegnare ai tuoi figli, come prima cosa, a non scendere dal marciapiede.

Allo stesso modo il web è stato adottato dalla maggioranza della popolazione mondiale perché offre innumerevoli e irresistibili vantaggi rispetto al passato: primo fra tutti la violenta accelerazione della velocità di diffusione delle informazioni, e la moltiplicazione infinita delle fonti.

Penso che nessuno onestamente possa dire che si stava meglio quando avevamo un solo canale televisivo e un solo telegiornale. Il filtro alla fonte (all’unica fonte) certificava l’attendibilità dell’informazione, senza  nessuna possibilità di controllo o replica da parte dei consumatori. Le false notizie non erano smascherabili, oppure venivano smascherate dopo mesi o anni.

La colpa è del modello economico

Ma specialmente adesso con la crisi dell’editoria, c’è il bisogno urgente di richiamare sempre più lettori (che invece calano inesorabilmente) per venderli alla pubblicità; e le notizie gonfiate, distorte o inventate di sana pianta, il solleticamento degli istinti più bassi, non sono più una eccezione alla regola ma sono una necessità di sopravvivenza.

Io ti propongo che le fake news sono sempre esistite e che oggi sono in sensibile aumento perché sono premiate dal modello economico informazione in cambio di pubblicità; ed è vero che oggi a causa di internet si diffondono molto più velocemente di prima, ma è anche vero che grazie a internet è molto più facile e più veloce scoprirle, a volte nel giro di pochi minuti.

Che fare?

Se su internet  non esiste più il filtro alla fonte, e se non vuoi rimanere in balia dell’algoritmo, devi per forza imparare a usare il filtro a posteriori: devi chiederti sempre davanti a ogni notizia perché mi arriva, da che fonte, con quale scopo. Si tratta di un lavoro necessario ma duro e noioso, e per fortuna si cominciano a sviluppare strumenti che lo rendono automatico e che possono concorrere, se adottati su larga scala, a mitigare il problema.

E poi ovviamente l’educazione. Conosco una signora che da sempre ripete al figlio (ormai cinquantenne) “non andare nei pericoli”. Ecco, bisogna insegnare ai nostri figli ad attraversare questa nuova strada.

Robot Street Challenge 2018: simulazioni con Scratch

Per mio divertimento, e in vista della Robot Street Challenge 2018, ho creato due progetti con Scratch che simulano un robot “line follower” e un robot che risolve un labirinto. Il divertimento consiste nel variare i diversi parametri (percorso, velocità numero di sensori, eccetera) per capire come influiscono sui tempi di percorrenza. Enjoy!

Se hai suggerimenti per migliorare il codice, te ne sarò grato.

In azienda le ciofeche costano carissime

Giro per le aziende insubriche e vedo gente capace, preparata e volenterosa, a cui vengono affidati compiti gravosi e importanti, che lavora ancora con PC di modernariato e software anziano.

“Lavora” è un eufemismo: in realtà dovrei dire “lotta, fatica, si dispera e si abbronza alla luce della clessidra”.

Faccio i conti della serva: metti che quel collaboratore costi almeno 50.000 €/anno, e che con meno di 2.000 € di hw/sw nuovo la sua produttività aumenti del 10% (e il suo stress diminuisca del 75%).

Penso quindi che queste aziende non sappiano far di conto, e che non dureranno a lungo.

(Più è grande l’azienda, più è grave è il problema)

(E non tocchiamo l’argomento “amministrazione pubblica”)

Il protocollo MQTT per la internet delle cose

Questa piovosa e fredda domenica mattina si presta perfettamente allo struso esplorativo, propiziato dall’arrivo dei nuovi Raspberry Pi 3.

Raspberry Pi 3

Leggevo del protocollo standard MQTT per la interconnessione degli apparecchi IoT, e ho deciso di dedicare un raspi a fare l’ MQTT broker.

MQTT-FAQ

  • Il broker consigliato per Linux è Mosquitto (di cui esiste anche il client).
  • Il client consigliato per Windows è Paho.
  • Il client consigliato per Android è MyMQTT.

L’installazione dei diversi componenti è andata al primo colpo senza problemi, e ho testato con successo sulla LAN casalinga lo scambio di messaggi da Arduino a Windows e viceversa. Per una connessione remota le cose diventano un poco più complicate, dato che occorre aprire una porta del router, usare un DNS dinamico e dotarsi diuna autenticazione robusta.

Esistono le librerie per Arduino  e anche per Particle, che spero di testare presto e che aprono scenari eccitanti.

Prima impressione: questo protocollo è molto promettente ma anche molto giovane, e si vede. Se otterrà la necessaria massa critica, come io spero, diventerà molto più usabile.