Etica della persuasione

Il primo maggio 2018 termina di esistere Cambridge Analytica. Il motivo è stato trattato per diverse settimane dai media nazionali e internazionali e il mondo è rimasto scioccato nell’apprendere che Cambridge Analytica ha usato impropriamente i dati di un innocuo quiz pubblicato su Facebook, per indirizzare il pubblico della piattaforma con pubblicità persuasiva: l’intento era di convincere loro a votare in un certo modo. Solo una parte dei dati è stata ottenuta con il consenso al trattamento dei dati; i dati sono stati memorizzati dal creatore dell’app e poi venduti a Cambridge Analytica in violazione dei termini di utilizzo. Questo è stato uno dei tanti esempi esistenti in rete per cui si applicano tecniche di persuasione in modo ingannevole, combinato all’uso non etico delle informazioni personali…

Ma d’altra parte chi non conosce Amazon o eBay? Non vi è mai capitato di entrare in Amazon e trovare in prima pagina gli oggetti del desiderio? Magari avete fatto una ricerca di prodotti qualche settimana addietro: Amazon conserva i vostri interessi (lo fa in maniera del tutto lecita e vi informa di ciò) e crea un profilo personalizzato in base alle vostre scelte. Un po’ come fa Facebook e i suoi annunci sponsorizzati: a quanti è capitato di trovare nello stream della propria pagina, degli annunci sponsorizzati di proprio interesse?

Continue Reading


Machine Learning

Machine Learning (o Apprendimento Automatico) rappresenta un insieme di metodi sviluppati a partire dagli ultimi decenni del XX secolo che porta i computer ad apprendere e agire come fanno gli umani, migliorare in modo autonomo il loro apprendimento nel tempo, “alimentandoli” con dati e informazioni sotto forma di osservazioni e interazioni reali.

Varie comunità scientifiche hanno utilizzato nel tempo diversi nomi quali statistica computazionale, riconoscimento di pattern, reti neurali artificiali, filtraggio adattivo, teoria dei sistemi dinamici, elaborazione delle immagini, data mining, algoritmi adattivi, ecc. Tutti sinonimi per indicare l’applicazione di metodi statistici al fine di migliorare progressivamente la performance di un algoritmo nell’identificare pattern nei dati. Continue Reading


La programmazione ad oggetti spiegata a mio figlio

Quali sono i principi fondamentali della programmazione orientata agli oggetti? È uno di quegli argomenti che viene chiesto così spesso che un informatico non può permettersi di non sapere. Come le classiche domande banali in un colloquio, anche questa serve principalmente a scoprire il grado di preparazione di un candidato o il livello di comprensione di un argomento.

Ma torniamo a noi… Quattro principi basilari: incapsulamento, astrazione, eredità e polimorfismo.

Queste parole possono sembrare spaventose per uno sviluppatore junior. E le complesse spiegazioni eccessivamente lunghe di Wikipedia a volte non aiutano ma raddoppiano la confusione. Per questo motivo, questo articolo è dedicato ad una spiegazione semplice, breve e chiara per ciascuno dei 4 concetti, come se davanti a me ci fosse mio figlio. Continue Reading


Come costruire un motore di ricerca basato su MySQL

Nei siti web content-heavy (con molti contenuti), è importante dare la possibilità di poter effettuare ricerche in grado di aiutare gli utenti a trovare esattamente ciò che stanno cercando. La soluzione più ovvia è la ricerca diretta all’interno delle tabelle del database MySQL. Tuttavia, l’implementazione di una ricerca MySQL generica non è affatto banale. Ecco come evitare insidie ​​e creare un motore di ricerca robusto basato su MySQL.

MySQL è un database relazionale, non un motore di ricerca. Sebbene fornisca alcuni strumenti per cercare all’interno delle tabelle, è meglio integrare un vero motore di ricerca se stai cercando una soluzione a tutti gli effetti. Alcuni dei più popolari motori di ricerca (open source) sono:

Le opzioni di cui sopra sono sicuramente di gran lunga superiori, tuttavia potrebbe avere senso costruire un motore di ricerca basato solo su MySQL, magari per evitare l’installazione e la manutenzione di software aggiuntivo o perchè il nostro hosting ha risorse limitate. Continue Reading



React, da dove iniziare?

Nel precedente articolo, ho parlato di DOM e Virtual DOM e di quali potenzialità quest’ultimo offre agli sviluppatori per creare interfacce dinamiche performanti e veloci. Tutto questo può avvenire grazie alla libreria React.

In questo articolo, proverò a spiegarti i concetti fondamentali di React attraverso un esempio step-by-step su come creare una semplice app. Si presuppone che tu abbia già conoscenza del linguaggio Javascript e che abbia installato l’ambiente NodeJs. Continue Reading


Una panoramica su React

React è una potente libreria Javascript per creare applicazioni dinamiche e interattive efficienti. In questo articolo vedremo una breve panoramica di ciò che può fare React, partendo da un esempio costruito da zero, senza utilizzare strumenti o ide particolari, ma solo un semplice notepad.

Continue Reading


React, DOM e DOM Virtuale: quali differenze?

Prima di parlare di DOM Virtuale e React, cerchiamo di fissare un paio di concetti: DOM sta per Document Object Model ed è un’astrazione di un testo strutturato.

Per gli sviluppatori web, questo testo è una semplice pagina HTML, e il DOM è semplicemente chiamato DOM HTML. Gli elementi di HTML diventano nodi nel DOM.

Quindi, mentre l’HTML è un testo, il DOM è una rappresentazione in memoria di questo testo. Potremmo confrontarlo alla stregua di un processo informatico, che si tratta di un’istanza di un programma. Possiamo avere più processi dello stesso programma, cosi come possiamo avere più DOM dello stesso codice HTML (ad esempio la stessa pagina caricata su molte schede). Continue Reading


Smart contract (o contratti intelligenti)

 Nel precedente articolo ho introdotto in maniera semplice il concetto di blockchain, la tecnologia che sta alla base di Bitcoin e di tutte le cryptovalute su web. In parole poverissime, la blockchain è un sistema decentralizzato che ci consente di effettuare transazioni digitali senza la necessità di grandi intermediari come banche, governi o social media, con evidenti risparmi di tempo e di conflitti. La blockchain è un sistema informatico che non è immune da bug e problemi, ma è innegabilmente vero che sono sistemi veloci, economici e più sicure rispetto ai sistemi tradizionali: governi, banche e istituti finanziarie hanno i riflettori puntati su questa tecnologia per eventuali utilizzi futuri.

Uno dei progetti, ancora in una fase embrionale/sperimentale, che si basa su blockchain è appunto Smart Contract, cioè “contratti intelligenti”.

Continue Reading


Teoria del colore: spazi di colore e modelli

Quante volte ci è capitato di stampare una foto che sul monitor sembrava perfetta, mentre sulla carta i colori erano del tutto sbagliati?

Supponiamo di voler stampare un’immagine contenente un quadrato rosso. Se l’immagine richiede il 100% di rosso, significa che il dispositivo darà il 100% di rosso, che sia una stampante o un monitor.  Tuttavia ci sono due problemi principali: le caratteristiche dei dispositivi sono diverse, quindi il rosso apparirà completamente diverso tra due monitor o tra due stampanti e, in secondo luogo, come possiamo spostarci tra i vari modelli di colore (ad esempio da RGB a CMYK) con la garanzia di rappresentare accuratamente i colori? Per fare ciò correttamente, abbiamo bisogno di un processo chiamato gestione del colore. Ma prima introduciamo il concetto di spazi di colore. Continue Reading


Pagine:12345678

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi