tecnologia

Scienza e tecnologia

Semantic Versioning in software development

categorie

semantic versioning
Adottare la specifica del Semantic Versioning nel numerare i rilasci del software permette di dare un significato preciso ad ogni versione in modo da far capire al volo cosa potrebbe andare storto e cosa ci si dovrebbe aspettare installando ciò che si è appena scaricato.

Al cambio di "major release" ci si deve aspettare che varie cose possano rompersi, che le feature deprecate non siano più supportate, che ci siano modifiche anche radicali nel comportamento del software e che ci siano cambiamenti nelle API. La minor version introduce nuove feature retrocompatibili, ed infine la patch o fix risolve bug restando sempre compatibile con le versioni precedenti.

C'è anche la Grammatica Backus-Naur per la correttezza formale delle versioni.

perchè usare il semantic versioning
FAQ


Il linguaggio di programmazione più amato: Rust

categorie

Rust Programming language

Rust è un linguaggio di programmazione multi-paradigma incentrato su sicurezza e performance, supporta un elevato numero di transazioni concorrenti tra sistemi. E' simile al C++ ma fortunatamente è "memory safe", anche se non usa un garbage collector. E' stato sviluppato da Graydon Hoare per Mozilla a partire dal 2006, e la prima versione stabile è stata lanciata nel 2015.

Rust Reviewed: Is the hype justified?
A brief history of Rust at Facebook

github original repository
github topics: rust
crates.io
rustlings: Small exercises to get you used to reading and writing Rust code
rust reference
String VS str
Rust marks five years since its 1.0 release

install rust
rust compie 5 anni, la storia fino ad ora
reddit

rust on gitpod

SQLite clone in rust: part 0: overview, part 1: SQLite, CLI and REPL, Meta Command Parser + Error handling, github (via)


Rust Programming Course for Beginners - Tutorial

Intro to the Rust programming language

Rust: A Language for the Next 40 Years - Carol Nichols

Rust Crash Course | Rustlang

Overview of the Rust Programming Language (part 1)

Corso Completo di PyTorch

Il corso si chiama PyTorch for Deep Learning - Full Course / Tutorial, ed è messo a disposizione da free code camp. E' uno dei corsi più lineari e comprensibili in una materia della quale si parla moltissimo e ci sono tanti tutorial, ma che forniscono solo una conoscenza frammentaria dell'argomento.

pytorch.org è una libreria open source di Machine Learning che permette di implementare computer vision e natural language processing. E' stata sviluppata inizialmente presso il laboratorio di ricerca sulla AI di facebook.
pytorch VS tensorflow


AI Jukebox - Un altro passo avanti nella generazione automatica di contenuti multimediali

categorie

okuribito
OpenAI presenta Jukebox, un software anticipato oltre 30 anni fa da William Gibson che ora inizia a diventare realtà. Si tratta di una rete neurale che genera musica, compresa la parte del canto (ancora rudimentale), in una varietà di generi e stili basati su artisti reali, come ad esempio Katy Perry.

Il modello e il codice sono stati rilasciati, insieme ad uno strumento per esplorare i campioni che vengono generati.

La storia dell'informatica insegna che il miglioramento costante del codice e delle tecniche e l'aumento della potenza dei processori e della memoria producono software quasi sempre migliore, fino ad arrivare all'indistinguibile dalla realtà. A quando la prima hit di una AI al primo posto in classifica ?

il paper

jukedek alternatives for music generation
Fugue
No Lick
sounds ui good
music for makers
stampede
music maker
tune pocket


Life Support | 360° VR Music Video Composed By AI

Keras - la libreria per Machine Learning più accessibile

categorie

keras

Keras è un'API per reti neurali di alto livello, scritta in Python e in grado di funzionare su TensorFlow, CNTK o Theano.

È stata sviluppata con l'obiettivo di consentire una rapida sperimentazione. Essere in grado di passare dall'idea al risultato nel minor tempo possibile è la chiave per fare una buona ricerca.

Keras viene usato se si ha bisogno di una libreria per il Deep learning che:

- Permette una facile e veloce prototipazione (attraverso la facilità d'uso, la modularità e l'estensibilità).
- Supporta sia reti convoluzionali che reti ricorrenti, così come combinazioni delle due.
- Funziona senza soluzione di continuità su CPU e GPU.

TensorFlow: Writing custom layers and models with Keras
github
dev.to: keras
documentazione


Imparare Javascript creando 7 giochi - corso completo

Ania Kubow (instagram, youtube, github) racconta la creazione di ben 7 giochi in javascript puro ("vanilla"), ovvero senza l'uso di framework complessi.

Nel corso Imparare Javascript creando 7 giochi - video corso completo verranno creati, in ordine di complessità crescente e riusando nei giochi avanzati i metodi imparati nei giochi precedenti:
- memory
- Whack-a-mole
- Forza 4
- Snake (nokia version)
- Space Invaders
- Frogger
- Tetris

A seguire anche Flappy Bird e Doodle Jump.

How to Build Super Mario Bros, Zelda, and Space Invaders with Kaboom.js

40 JavaScript Projects for Beginners – Easy Ideas to Get Started Coding JS
★ Full JavaScript Course for Beginners built around 143 interactive challenges


JavaScript Tutorial: Build Flappy Bird and Doodle Jump

Easy JavaScript Game Development with Kaboom.js (Mario, Zelda, and Space Invaders) - Full Course

Veritasium - la Mappa Logistica

categorie

okuribito
Veritasium è un canale youtube che spiega fenomeni scientifici usando matematica e fisica.

In questo caso ci presenta la seguente equazione che spiega come si riproducono i conigli:

xn+1 = rxn(1-xn)

La Logistic Map ("Mappa Logistica") viene spesso citata come un esempio di come si può ottenere un comportamento caotico partendo da una semplice equazione dinamica non lineare.

La cosa sorprendente è come questa equazione ricompaia in ambiti termodinamici, su come gocciola un rubinetto e via dicendo. E come si possa sfruttare questa conoscenza per intervenire in un comportamento caotico riuscendo a ripristinare un ordine.

Inoltre da questa deriva un nuovo numero notevole, la costante universale di Feigenbaum: 4.669...

patreon
facebook
instagram
twitter
youtube

Chaos by Jonny Hyman


Scoperchiare i segreti del Deep Learning

categorie

New Theory Cracks Open the Black Box of Deep Learning


Su Quanta Magazine l'articolo di Natalie Wolchover: New Theory Cracks Open the Black Box of Deep Learning parla di una nuova idea chiamata "collo di bottiglia dell'informazione" ("information bottleneck") che contribuisce a spiegare il successo sconcertante degli attuali algoritmi di intelligenza artificiale - e potrebbe anche svelare dettagli su come impara il cervello umano.

[via]

Fast.Ai, Kaggle: Combattere i commenti tossici

Fast.Ai, Kaggle
Nell'articolo di Michael Li (twitter) "How to Build a Multi-label NLP Classifier from Scratch" si spiega come usare fast.ai e kaggle per costruire un automa che individua i commenti tossici.

Tecnologie di questo genere sono i nuovi antivirus e antispam della comunicazione online, inquinata da bot, troll, agenti provocatori, disinformazione, bieche menzogne ecc. Questi metodi non devono affatto far pensare ad una forma di censura, o al contrario che il "libero pensiero" debba essere espresso senza condizioni online.

Poco più di un decennio fa c'era una netta distinzione tra chi informava (giornali, TV, siti istituzionali) essendo sottoposto a regole e leggi, e chi "cazzeggiava" online sui social network. Ma ora non è più così. Anche la persona più preparata può cadere nel tranello di credere a questa o quella "fonte" e contribuire a diffondere notizie false. Ed innescare "flame", caterve di commenti litigiosi che contribuiscono ancora di più al propagarsi della disinformazione.

Non è affatto facile predisporre delle contromisure, ma è questa, senz'altro, la direzione da prendere .

[via]