tecnologia

Scienza e tecnologia

LINQ

linq

Linq ("Language Integrated Query") è un componente del Microsoft .NET Framework che aggiunge funzionalità di interrogazione dati stile SQL. Può essere utilizzato per estrarre ed elaborare comodamente dati da array, classi numerabili, documenti XML, database relazionali e fonti di dati di terze parti. Altri usi mediante espressioni di query per comporre in modo leggibile calcoli arbitrari, includono la costruzione di gestori di eventi o parser monadici. Linq definisce anche un insieme di nomi di metodi (chiamati operatori di query standard, o operatori di sequenza standard) per tradurre espressioni in stile fluente in espressioni che utilizzano questi nomi di metodi, espressioni lambda e tipi anonimi.

Esistono versioni di LINQ per PHP (PHPLinq), JavaScript (linq.js), TypeScript (linq.ts) e ActionScript (ActionLinq), anche se nessuna è strettamente equivalente all'originale .NET implementato in C#, F# e VB.NET nei quali è una parte integrante del linguaggio, non una libreria esterna, e spesso risponde ad una più ampia gamma di esigenze.

Language Integrated Query (LINQ)
LINQ to Objects for the .NET developer
LINQ basics

LINQ: a language to rule them all!

C# Tutorial 15 LINQ Tutorial

C# Essentials: Linq for Lists - Sorting, Filtering, and Aggregating Lists Easily

StyleGAN 2

Il nuovo progetto di Nvidia denominato StyleGAN2, presentato a CVPR 2020, utilizza il transfer learning per generare un numero apparentemente infinito di ritratti in una varietà infinita di stili pittorici. Il lavoro si basa sul famoso progetto StyleGAN precedentemente pubblicato dallo stesso team.

In questa nuova demo, il modello permette all'utente di creare ed esplorare in modo fluido i ritratti autogenerati. Il tutto avviene controllando separatamente il contenuto, l'identità, l'espressione e la posa del soggetto. Gli utenti possono anche modificare lo stile artistico, la combinazione di colori e l'aspetto delle pennellate. Questo nuovo modello è stato oggetto di training usando un sistema NVIDIA DGX composto da otto GPU NVIDIA V100, con il framework di Deep Learning TensorFlow (versione 1.3) con accelerazione cuDNN.

stylegan2 su 80.lv

il paper: Analyzing and Improving the Image Quality of StyleGAN
Nvidia e Tensorflow
stylegan2 su github


Gitpod

gitpod

gitpod.io è un ambiente online con IDE che può essere lanciato da qualsiasi pagina di GitHub.

In pochi secondi, Gitpod fornisce un ambiente di sviluppo completamente funzionante, incluso un IDE VS Code-powered (Theia) e un contenitore Linux cloud-based configurato appositamente per il progetto in questione. E' la maniera più rapida in assoluto per provare un progetto il cui codice è su github, anche se occorre predisporlo.

tips & tricks
Frictionless Open-Source Contributions
rust in gitpod
php in gitpod

★ Learn GitPod

Full Stack Development with Svelte, Postgres, Vercel, and Gitpod


Online Github Work Environments - A Gitpod Review

Gitpod Basics Episode 2

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