Come ti chiami?

Le nostre vite sono sempre più determinate dai computer. Quando provi ad aprire un conto corrente, a comprare dei biglietti per un volo o a prendere la patente c’è un software che decide.

Ma i software non sono scritti da persone onniscienti. Ogni sviluppatore porta con sé un bagaglio culturale sulla base del quale fa assunzioni che si rispecchiano nel modo in cui scrive il codice. Quando però i software vengono usati a livello globale queste assunzioni possono smettere di essere valide causando situazioni paradossali.

Prendiamo per esempio la questione delle generalità di una persona. Io sono Lorenzo Millucci ed essendo nato in Italia per me è normale che le persone siano identificate da un nome ed un cognome. Per cui, nei form di registrazione dei software che scrivo inserisco sempre due campi di input proprio per nome e cognome.

Ma questa assunzione non è sempre valida.

Ad esempio in Cile è normale che una persona erediti i cognomi di padre e madre. Di conseguenza, quando Ivan Erceg ha provato a registrarsi su un sistema Cileno si è visto assegnare un bel “Null” come secondo cognome.

Oppure un’altra situazione strana si venne a creare quando il signor Steven O decise di trasferirsi dalla Corea agli USA. Infatti, sfortunatamente, in America non sono ammessi cognomi costituiti da un singolo carattere. Di conseguenza quando Steven provò a prendere la patente venne registrato inserendo due spazi alla fine del suo cognome. Quando aprì un conto in banca venne registrato come “Steven Oo” e la Social Security Administration lo registrò come “Steven Oh”. Naturalmente il fatto che la stessa persona avesse cognomi differenti fece scattare qualsiasi sistema di sicurezza dell’anagrafe.

Ma oltre formato con cui un nome può essere scritto c’è di più. Ad esempio, per riconoscere le frodi nei pagamenti online con carta di credito, vengono fatti dei controlli sulla validità del nome fornito dal titolare. Ma chi stabilisce quali nomi e cognomi sono validi?

Per esempio, il signor “Batman Bin Suparman” riportato in copertina potrebbe sembrare un falso ma si tratta di una persona in carne ed ossa salita alla ribalta quando tentò senza successo di rapinare un market.

Oppure, a chi sembrerebbe valido il nome “X Æ A-Xii“? Eppure è il nome che il miliardario Elon Musk ha deciso di dare a suo figlio.

E ancora, il fatto che una persona si chiami Bowser come il nemico di Super Mario potrebbe far scattare qualche campanello di allarme. Eppure il presidente di Nintendo America si chiama esattamente Doug Bowser.

Per concludere, se questa storia ti ha incuriosito, non posso che consigliarti di passare un’oretta facendo qualche risata in compagnia di Gojko Adzic seguendo il talk “People that make computers go crazy”.

Se poi sei uno sviluppatore, avrai anche modo di riflettere su quanto le assunzioni che fai quando scrivi un software siano basate unicamente sui tuoi riferimenti culturali. Capire che spesso le assunzioni fatte per una determinata cultura non sono applicabili ad un’altra potrebbe aiutarti a percepire meglio l’impatto del tuo software sulla vita degli utilizzatori.


Grazie per aver letto questo articolo della rubrica Input/Output.
Ad ogni input, tipicamente, corrisponde un output. Proprio per questo ogni martedì prendo in input una curiosità legata al mondo tecnologico e cerco di produrre nuove idee in output. Infatti sono fermamente convinto che solo esponendosi ad input a cui gli altri non si espongono si possa arrivare a produrre risultati innovativi a cui gli altri non arrivano.

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Scarpe, dati e creatività

Che i dati siano il nuovo petrolio ormai lo hanno sentito dire anche i muri per cui il fatto che Nike si compri un’azienda specializzata nell’apprendimento automatico come Datalogue non mi stupisce affatto. Quello che mi stupisce di più è il fatto che questa sia la quarta acquisizione fatta negli ultimi anni da Nike nel settore dell’analisi dei dati.

Ma che cosa ci fa una compagnia che produce calzature con tutte queste aziende di analisi dei dati?

La risposta a questa domanda potrebbe essere legata alla possibile perdita di controllo sui dati dei clienti a causa dell’imminente eliminazione dei cookie di terze parti e delle modifiche di tracciamento in arrivo dopo gli interventi di Apple a riguardo.

Se infatti finora era possibile tracciare l’intera cronologia di navigazione di un utente, con le recenti modifiche adottate dai browser al fine di tutelare la privacy degli utenti questo non sarà più possibile. Ed ecco quindi che diventa sempre più importante acquisire il know-how per estrarre informazioni preziose partendo dai dati che l’azienda è in grado di raccogliere in prima persona. In definitiva, queste acquisizioni, Nike spera di aumentare la propria capacità di analisi dei dati di cui è in possesso riguardanti prodotti marketing e servizi in modo da incrementare la fidelizzazione dei clienti e la loro frequenza di acquisto.

Certamente, i numeri sono fondamentali, ma solo se chi li osserva ha la capacità di interpretarli e soppesarli attentamente e infatti John Donahoe (CEO di Nike) in un’intervista, ha detto: “La cosa che rende questa azienda straordinaria è l’arte. È la creatività dei nostri team del marchio e la narrazione che fanno, quindi i dati non sostituiscono l’arte…ma aiutano a migliorarla e integrarla“.

Credo che queste parole dette da John Donahoe siano particolarmente importanti. Penso che nel futuro prossimo l’analisi dei dati sarà una pratica sempre più comune tra le aziende di successo. Quando però tutti avranno un “data scientist” in azienda, quello che farà veramente la differenza sarà la creatività di chi è in grado di interpretare i dati in modo tale da immaginare nuove forme e funzioni e di produrre bellezza e ispirazione tramite il motore della tecnologia.

What Nike’s Datalogue deal says about the brand’s evolving approach to data-driven marketing


Grazie per aver letto questo articolo della rubrica Input/Output.
Ogni martedì prendiamo in input una notizia legata allo sconfinato mondo tecnologico e ci ragioniamo insieme per produrre nuove idee in output.
Infatti sono fermamente convinto che solo esponendosi ad input a cui gli altri non si espongono si possa arrivare a produrre risultati innovativi a cui gli altri non arrivano.
Ah, io sono Lorenzo Millucci e ti aspetto martedì prossimo per un nuovo input!

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Mantenersi l’infrastruttura di un’applicazione in casa è un rischio

E ne hanno pagato le conseguenze i mantainer del linguaggio PHP che ieri si sono visti aggiungere due commit malevoli alla branch di sviluppo della versione 8.1 in uscita a fine anno. 

Fortunatamente, grazie al processo di code review di ogni commit, è stato possibile individuare e correggere in poche ore il problema impedendo quindi che il codice venisse rilasciato nonostante i due commit fossero stati inviati utilizzando gli account di Rasmus Lerdorf e Nikita Popov (due autorità per quanto riguarda il linguaggio PHP).

Uno dei commit malevoli inviato usando l’account di Nikita Popov

Come sia potuta accadere una cosa del genere non è ancora chiaro ma si sospetta che il colpevole possa essere il vecchio server git su cui era ospitato il repository del linguaggio. Questo vecchio server era gestito “in casa” direttamente dai responsabili di PHP che ne curavano la manutenzione gli aggiornamenti e che gestivano l’amministrazione dei permessi con un progetto sviluppato ad-hoc per il servizio chiamato “Karma”.

Per tagliare la testa al toro è stato deciso di dismettere immediatamente il vecchio server per passare ad un servizio specializzato nella gestione di repository git come GitHub. In modo che i mantainer possano concentrarsi solo nello sviluppo del linguaggio senza dover dedicare attenzione al mantenimento dell’infrastruttura su cui è ospitato il repository.

Al di là degli effetti catastrofici che un attacco del genere avrebbe potuto causare alle applicazioni scritte in PHP (circa il 79% di tutte quelle web), di questa storia ci sono due aspetti che mi hanno colpito particolarmente.

Il primo è che ha ribadito l’importanza di avere un processo di code review in modo che ci siano sempre almeno quattro occhi ad ispezionare ogni modifica al codice prima del rilascio in modo da garantirne la qualità e, come in questo caso, l’assenza di vulnerabilità.

Il secondo aspetto è legato alla comodità dei servizi Platform-as-a-Service (Paas) a cui è possibile delegare completamente la gestione dell’infrastruttura dell’applicazione. In molti ambiti si dice che “se una cosa funziona allora non si tocca”. Questo motto è quanto di più sbagliato esista nel mondo dell’informatica visto il ritmo estenuante con cui vengono rilasciati aggiornamenti e patch di sicurezza. Per cui quello che oggi funziona ed è sicuro rischia di essere vulnerabile domani se non ha personale dedicato che segue attentamente il ciclo di sviluppo del software. Molto spesso si preferisce tenere il server che ospita l’applicazione “nello scantinato” per risparmiare i soldi che un provider cloud richiede per lo stesso servizio senza intuire quali sono i vantaggi derivanti dall’investimento.

https://news-web.php.net/php.internals/113838


Grazie per aver letto questo articolo della rubrica Input/Output.
Ogni martedì prendiamo in input una notizia legata allo sconfinato mondo tecnologico e ci ragioniamo insieme per produrre nuove idee in output.
Infatti sono fermamente convinto che solo esponendosi ad input a cui gli altri non si espongono si possa arrivare a produrre risultati innovativi a cui gli altri non arrivano.
Ah, io sono Lorenzo Millucci e ti aspetto martedì prossimo per un nuovo input!

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

La crisi dei chip nel mercato delle automobili

I produttori di auto utilizzano un approccio “Just in time” per l’approvvigionamento dei chip elettronici necessari alla costruzione dei veicoli. In questo modo non è necessario tenere riserve di chip all’interno degli stabilimenti produttivi ed è sufficiente limitarsi ad ordinare i microprocessori che servono nel momento in cui servono. Così facendo si riducono i costi di stoccaggio dei componenti e, considerata l’evoluzione dell’elettronica, si minimizzano il rischio di trovarsi con scorte di chip obsoleti.

Questo approccio alla gestione del magazzino ha funzionato alla grande permettendo alle case automobilistiche di seguire con precisione le piccole oscillazioni di domanda che si hanno in condizioni normali.

Ma poi è arrivata la pandemia…

Da un giorno all’altro la popolazione si è trovata ad essere confinata in casa e a non aver più bisogno di una nuova auto.
I produttori di auto allora, rispondendo al crollo della domanda, hanno interrotto immediatamente le forniture di microprocessori.

Quello che nessuno si aspettava era che la domanda di veicoli potesse ritornare ai volumi pre-pandemia già da fine 2020. Nel frattempo però le fonderie avevano dirottato la propria capacità produttiva al servizio dei big dell’elettronica i quali già da diverso tempo arrancavano nel cercare di soddisfare l’altissima richiesta di processori per computer, schede grafiche e componenti per smartphone. Infatti, se segui il mondo dei videogiochi saprai sicuramente quanto è difficile trovare in vendita una PlayStation 5 o un Xbox Series X proprio a causa della bassissima disponibilità causata dalla carenza di chip.

Di conseguenza il mercato automobilistico si è trovato senza scorte di processori e nell’impossibilità di ottenere rifornimenti in tempi brevi. Proprio per questo motivo General Motors si è trovata costretta a chiudere temporaneamente 3 stabilimenti che non erano più in grado di produrre alcunché senza disponibilità di microprocessori.

Secondo i più ottimisti la situazione potrebbe stabilizzarsi già a metà 2021 ma ci sono voci che parlano di una risoluzione definitiva del problema non prima del 2022.

È incredibile come questi giganti del mercato dell’automobile in realtà si appoggiassero su piedi di argilla. E altrettanto incredibile è il fatto che un’automobile il cui costo supera spesso e volentieri le decine di migliaia di euro non possa essere consegnata a causa della carenza di qualche chip da poche manciate di euro.

In ogni caso in questi giorni, andando a sentire da un concessionario la prima data di consegna disponibile per un veicolo nuovo è inizio agosto. Quasi 5 mesi da oggi!

Fonte

Grazie per aver letto questo articolo della rubrica Input/Output.
Ogni martedì prendiamo in input una notizia legata allo sconfinato mondo tecnologico e ci ragioniamo insieme per produrre nuove idee in output.
Infatti sono fermamente convinto che solo esponendosi ad input a cui gli altri non si espongono si possa arrivare a produrre risultati innovativi a cui gli altri non arrivano.
Ah, io sono Lorenzo Millucci e ti aspetto martedì prossimo per un nuovo input!

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!