Submitted by masayume on 21 December, 2020 - 00:00
Il Modello OSI, fondamentale per la comunicazione di rete, infrastruttura cruciale per il 3° millennio, spiegato in modo che sia comprensibile a chiunque:
1 - Physical Layer
2 - Data Link Layer
3 - Network Layer
4 - Transport Layer
5 - Session Layer
6 - Presentation Layer
7 - Application Layer
Submitted by masayume on 19 December, 2020 - 00:00
FastAPI è una delle tecnologie più immediate per creare delle API. Ecco alcune delle feature:
- Documentazione automatica tramite OpenAPI, che permette di fare cose come generare codice Python che sappia parlare con le API.
- Documentazione sull'interfaccia utente che permette di comprendere facilmente e interagire direttamente con l'API.
- Validazione degli input tramite Pydantic, lo stesso strumento usato per generare gli schemi nella documentazione. Fondamentalmente basta annotare il vostro endpoint con gli input/output e questi vengono documentati e validati.
- Facile da testare usando qualcosa come pytest grazie ad alcuni fantastici strumenti inclusi e alla flessibilità dell'iniezione di dipendenza.
- La fantastica documentazione di FastAPI, alcuni dei migliori in giro, dà accesso ad alcune delle feature migliori.
- Facile da ospitare su AWS Lambda usando Mangum.
Submitted by masayume on 23 November, 2020 - 00:00
In questo interessante articolo Before Lovelace si risale alle origini dell'era del computer, con il suo progenitore più antico: il Telaio Jaquard.
Fu creato dall'omonimo inventore francese agli albori del XIX secolo. Era capace di intrecciare disegni complessi con i fili del tessuto, governati individualmente, e soprattutto era programmabile con delle schede perforate: una tecnologia dismessa solo pochi decenni fa che permise di gestire i molti tra i primi supercomputer.
Il motore analitico di Babbage e di Ada Lovelace sarebbe comparso soltanto 40 anni dopo ed avrebbe a sua volta influenzato il lavoro di Alan Turing degli anni '30.
Quali sono le caratteristiche di una buona API ?
- Facile da imparare
- Facile da usare, anche senza documentazione
- Difficile da usare in modo improprio
- Il codice che la utilizza deve essere di facile lettura e manutenzione
- Abbastanza potente da soddisfare i requisiti
- Facile da evolvere
- Adeguata al pubblico
Nella pratica:
- Una API dovrebbe fare una cosa e farla bene
- Una API dovrebbe essere più piccola possibile, ma non esagerare
- Non inserire i dettagli di implementazione nella API
- Ridurre al minimo l'accessibilità di tutto
- I nomi contano !
- La documentazione è importante
- Mai deformare una API per le prestazioni
- Ridurre al minimo i cambiamenti
- Creare sottoclassi solo dove ha senso
- Progettare e documentare per l'ereditarietà o vietarla
- Non far fare al client tutto ciò che il modulo potrebbe fare
- Applicare il principio della minima sorpresa
- Fail fast - Gli errori devono essere segnalati il più presto possibile dopo che si sono verificati.
- Fornire un accesso programmatico a tutti i dati disponibili sotto forma di stringa
- Sovraccaricare con cura
- Utilizzare i tipi di parametri e di ritorno appropriati
- Utilizzare un ordine di parametri coerente tra i vari metodi
- Evitare lunghe liste di parametri
- Evitare i tipi di restituzione che richiedono un'elaborazione ulteriore
Submitted by masayume on 16 November, 2020 - 00:00
Le Machine Learning Guides di google sono in grado di portare un neofita ad una certa conoscenza del campo nel quale la ricerca è più rovente degli ultimi anni.
Il gioco si svolge in una scacchiera dove due giocatori si alternano nel collocare i propri segnalini. Si può piazzare un proprio segnalino solo se nelle adiacenze ci sono più amici che nemici. Il secondo giocatore è interpretato da una IA che esegue una MonteCarlo Blind Search nell'albero decisionale per 1 secondo, e non è affatto debole.
Hobogo è in realtà una demo di egui, una interfaccia web in "immediate mode" che esegure direttamente nel browser, sempre in rust, senza l'uso di html, dom, javascript.
«Ci sono due pesci che nuotano e a un certo punto incontrano un pesce anziano che va nella direzione opposta, fa un cenno di saluto e dice: "Salve, ragazzi. Com'è l'acqua?" I due pesci giovani nuotano un altro po', poi uno guarda l'altro e fa "Ma che diavolo è l'acqua?"»
- David Foster Wallace
Una domanda che i "nativi digitali", le persone di una certa età e anche tutti gli altri si dovrebbero porre: come si naviga in mezzo ad un oceano di informazioni ? E' il caso di restare per sempre nella propria isoletta social, apparentemente al riparo dai pericoli del "mare aperto" ? Come si fa a sopravvivere al bias di conferma (la parola bias su wiktionary) ? E' davvero il caso di fidarsi degli "influencer" da milioni di follower ? Il paradosso dell'intera conoscenza dello scibile umano sempre a portata di click è che dilaga l'ignoranza. E questo semplicemente perchè, appoggiandosi ad una metafora da videogioco, invece di imparare le regole partendo dai livelli più semplici e poi accedendo a quelli più difficili, sul web e sui social tutti i livelli sono presenti contemporaneamente. E volendo indulgere nella suddetta metafora, alcuni livelli difficili si presentano come semplicissimi...
Chi pensa di "sapersi arrangiare", che sia tutto così intuitivo grazie al proprio smartphone, forse è il caso che riveda la propria posizione. Per esempio facendosi una domanda: quante volte il web e i social sono stati davvero alla base di qualche evento negativo successo ultimamente ? E qual'è la tendenza ? Si è davvero sicuri di avere il controllo di quello che ci succede, oppure non c'è una vaga sensazione di essere controllati dietro a quella ridda di gattini, foto di momenti epici altrui e complotti vari che si succedono sullo schermo "come con i rulli delle slot machine" ?
Personalmente, da ingegnere informatico che ha visto il web nascere, crescere, che se lo è studiato a tutti i livelli e che ci lavora quotidianamente, non sono mai stato tanto disorientato, e tanto preoccupato per una jungla inestricabile di interessi che si stanno letteralmente divorando il tempo, e non solo, di centinaia di milioni di persone, me compreso.
Crash Course Navigating Digital Information Preview
Spesso si sottovaluta l'importanza del suono in un opera audiovisiva. Il suono è importante perché coinvolge il pubblico: aiuta a fornire informazioni, aumenta il valore della produzione, evoca risposte emotive, enfatizza ciò che è sullo schermo e serve a dare indicare il "tono". Quando vengono usati bene insieme, il linguaggio, gli effetti sonori, la musica e persino il silenzio possono elevare drammaticamente il video. Ma è ancora più vero il contrario: un cattivo suono può rovinare il video, magari lavorando anche a livello inconscio.
L'audio non può risolvere l'animazione scadente, un montaggio di basso livello o il movimento di una telecamera amatoriale. Tuttavia, quando si tratta di creare un'esperienza completa per il pubblico, l'audio è probabilmente più importante della qualità video. Il suono aggiunge emozione e collega le persone a ciò che vedono. Supporta ogni visuale e ogni taglio, e definisce lo stato d'animo e il tono generale della narrazione.
A Sound Effectintervista il sound designer Wylie Stateman e il montatore Eric Hoehn sul loro lavoro per "The Queen's Gambit", la serie dell'anno a sorpresa su Netflix.
Si pensa sempre a molte cose: un oggetto puntiforme, un'eccitazione di un campo, un granello di pura matematica che si è intrufolato dentro alla realtà. Ma mai la concezione di una particella da parte dei fisici è cambiata più di quanto non stia cambiando in questi ultimi tempi. La descrizione dipende spesso dallo strumento usato, dalla disciplina che la esprime, dal punto di vista del ricercatore.
Una particella diventa di volta in volta una funzione d'onda collassata, l'eccitazione quantistica di un campo di energia, l'irriducibile rappresentazione di un gruppo, un oggetto stratificato, una deformazione dell'ocenao di Qubit, perfino la vibrazione di stringhe ad 11 dimensioni.
Sembra che la realtà, così sfaccettata al nostro livello di percezione, moltiplichi indefinitamente il suo aspetto scendendo nel dettaglio, un interessante concetto controintuitivo, che forse ha più di un risvolto filosofico. COme ai bei vecchi tempi di Democrito e Aristotele.
AI Hub offre una raccolta di risorse per sviluppatori e data scientist che si occupano di sistemi di intelligenza artificiale (AI). Si può eseguire il training di un modello di machine learning (ML) in un notebook o implementatelo in un servizio gestito. Trovare e implementare pipeline di ML. Esplorare e riutilizzare i moduli TensorFlow. Scoprire la soluzione migliore per servire e gestire il vostro modello una volta addestrato. Si può imparare da tutorial ed esempi approfonditi.
La risposta a questa domanda, apparentemente impossibile, trova una soluzione piuttosto efficace: creare un wiki della propria conoscenza, divisa per argomenti. Questo processo viene chiamato da alcuni, creare il proprio giardino digitale, il proprio digital garden.
Lo hanno già fatto in molti, e questi sono i loro wiki, a disposizione dichiunque per poterne prendere spunto e addirittura prendere nota delle cose imparate !
Submitted by masayume on 22 September, 2020 - 00:00
Secondo un modello psicologico descritto nel 1969 da Martin Broadwall nel suo "four levels of teaching" si possono definire generalmente quattro stadi di competenza relativamente ad una qualsiasi abilità (skill).
Si va dalla "non conoscenza", nella quale l'unica cosa che si può usare è l'intuito, ma sbagliando perchè non si è approfondita ancora la materia.
Poi si passa alla "incompetenza conscia" nella quale si conosce quello che non si sa della materia e quindi si possono azzardare delle analisi citandone gli aspetti principali, ma molto probabilmente sbagliando.
Poi si arriva alla "competenza conscia" che permette di fare delle analisi corrette.
Ed infine si arriva alla "competenza inconscia", Nella quale si padroneggia abbastanza da poter mettere in campo anche l'intuito.
Submitted by masayume on 14 September, 2020 - 00:00
Ecco alcuni dei principi del "Metodo Toyota", che da decenni ispira alcune delle best practice di management in vari settori industriali di tutto il mondo, in giapponese si pronuncia "toyotashiki" (トヨタ式).
Kaizen (改善, "miglioramento"): in giapponese significa semplicemente miglioramento, nel senso generale, da piccolo e occasionale a grande e continuativo. Nell'accezione economica internazionale invece è diventato sinonimo di quest'ultimo concetto, instaurare la tendenza a un costante miglioramento di ogni aspetto della produzione.
Metodologia 5S, le 5 "S" stanno per: seiri (整理) in giapponese semplicemente "ordine", ma economicamente: "priorità" (sort). seiton (整頓) in giapponese tenere in ordine, a portata di mano, ma economicamente "gestione ordinata" (set in order). seisō (清掃) in originale "pulizia", ma nel metodo "far brillare" (shine) seiketsu (清潔) in Giappone "pulito, igenicamente", ma che diventa "standardizzare" (standardize) shitsuke (躾) originale "educazione", che diventa "mantenimento" (sustain/self-discipline).
Genba ("gemba"): il "posto reale", la "scena del delitto". Diventa la gestione localizzata con sopralluogo e interviste dove avviene il lavoro vero, per rendersi conto direttamente dei problemi e individuare soluzioni pratiche e realistiche.
Submitted by masayume on 11 September, 2020 - 00:00
La mente umana rimane un "motore di innovazione" senza pari, con la sua capacità unica di dare un senso alle informazioni complesse e di trovare profonde connessioni analogiche che hanno guidato il progresso della scienza e della tecnologia negli ultimi millenni.
La recente esplosione di informazioni disponibili online in quasi tutti i domini dovrebbe rappresentare un'opportunità per accelerare questo "motore", ma minaccia invece di rallentarlo man mano che si raggiungono i limiti di elaborazione delle informazioni delle singole menti coinvolte.
In questo video Aniket Kittur parla degli sforzi per costruire un acceleratore universale della conoscenza: un sistema in cui persone si impegnano online per consolidarlo e condividerlo con altri, portando a cicli virtuosi di miglioramento continuo delle fonti di informazione che a loro volta aiutano le persone a sintetizzare e innovare in modo ancora più efficace.
Circa 70 miliardi di ore all'anno, solo negli Stati Uniti, sono dedicate a questo sistema online in settori che vanno dalla letteratura scientifica alla salute; catturarne anche solo una frazione potrebbe fornire benefici significativi. Si discutono quindi tre livelli integrati di ricerca che sono necessari per realizzare questa visione:
a livello individuale nella comprensione e nella cattura della cognizione di ordine superiore;
a livello computazionale nello sviluppo di nuovi sistemi di interazione e partner di intelligenza artificiale per la cognizione umana;
a livello sociale nello sviluppo di sistemi complessi e creativi di crowdsourcing e di social computing.
Submitted by masayume on 10 September, 2020 - 00:00
Online Logic Simulator permette di sperimentare, direttamente online, con i gate delle reti logiche, i componenti di base dei computer, implementati tramite transistor nei chip.
Ci sono già dozzine di circuiti predisposti, dei i quali si può finalmente comprendere il funzionamento nel dettaglio, e si possono fare modifiche a piacimento.
Ottimo anche per la progettazione, e la verifica che tutto funzioni prima di armeggiare con l'hardware.
Submitted by masayume on 3 September, 2020 - 00:00
L' omeostasi è la tendenza naturale del corpo a mantenere il suo stato di equilibrio. La dopamina è un ormone e neurotrasmettitore che causa una sensazione piacevole. Qualsiasi attività rilascia quantità di dopamina, ma alcune attività, come l'assunzione di droghe, ne rilasciano quantità innaturali.
I comportamenti che generano microrilasci di dopamina frequenti (ad esempio usare il cellulare per scorrere le infinite timeline dei social) contribuiscono ad aumentare la tolleranza alla dopamina, di fatto rendendo progressivamente meno "divertenti" certe attività. E' la cosiddetta "instant gratification". Per questo sarebbe consigliabile cercare di abbassare i livelli e farli tornare normali con una giornata di "astinenza da dopamina", nella quale si cerca di "annoiarsi". L'effetto positivo è quello di riuscire a fare attività più approfondite ma meno appaganti nell'immediato più facilmente, ed ingannare il cervello in modo da riuscire a portarle a compimento.
Una ottima soluzione per riuscire ad invertire la tendenza infatti è quella di associare le attività che si vorrebbero fare, quelle a basso rilascio di dopamina (leggere un libro, fare esercizio, studiare) ad una ricompensa ad "alto rilascio" (una caramella, una partitella, ecc.).
E' pavlovianamente ovvio no ? E allora traiamone beneficio.