• Rust Exercises

    Mikamai / LinkMe

    Cosa faremo: Hack night! esercitiamo il nostro Rust tutti insieme e aiutiamoci a vicenda. Sceglieremo sul momento se dividerci in gruppi o procedere in mob programming. Le opzioni saranno: - Rust exercises - Un code kata fra i molti esistenti - Un giorno a caso del Advent of Code - Qualsiasi problema interessante vi venga in mente Sara' un'occasione per imparare insieme hands-on Rust, perché la teoria è nulla senza la pratica ;-) Cosa portare: Un computer portatile con Rust installato e voi stessi ;-)

    6
  • Fun with Rusty Robots

    Mikamai / LinkMe

    Siamo felicissimi di avere Massimiliano Mantione che terrà per noi la seguente sessione: "Fun with Rusty Robots" Rust e' perfetto per sistemi embedded, ed i sistemi embedded piu' divertenti sono i robot :-) Questa sera vedremo come usare Rust su un OS real time che gira sulla piattaforma robotica Mindstorm EV3. Poi scriveremo insieme il codice di un sumo robot e lo faremo combattere con altri suoi pari, sempre programmati in Rust. Uno dei contendenti e' stato il vincitore del Robotic Tournament 2019 a Rybnic (primo su 50 della sua categoria: "https://robotictournament.pl/minisumo-lego/results"), quindi la sfida sara' ai massimi livelli! Se fossi in voi non me la perderei :-D

    1
  • Let's do it in Rust

    Mikamai / LinkMe

    Sessione di mob programming. Partiamo con un semplice esercizio di cui abbiamo solo il testo e i tests. Per prima cosa scriviamo una soluzione diretta C-style preoccupandoci solo di passare i tests. Rifattorizzeremo poi il codice per dargli un aspetto più "Rust"ico ;-) Sarà una discussione aperta oltre a una occasione per vedere sia costrutti base che sperimentare strutture più complesse.

    4
  • Rust & AWS: Serverless Rust with AWS Lambda

    Mikamai / LinkMe

    Marco Grandi presenterà: "Rust & AWS: Serverless Rust with AWS Lambda" In questo incontro vedremo come scrivere una semplice AWS Lambda in Rust e come testarla localmente utilizzando Docker. Rust non è tra i linguaggi ufficialmente supportati da AWS, ma esistono comunque crate per utilizzare i servizi AWS con Rust. Tra questi, il più degno di nota è "rusoto", un AWS SDK per Rust. Rust viene però internamente utilizzato in AWS per alcuni progetti e forse potremmo vedere qualcuno di questi progetti reso open source. Il crate lambda_runtime è uno di questi progetti. Questo runtime permette di scrivere codice Rust per AWS Lambda, la piattaforma serveless di AWS.

  • Di chi e' questo buffer?

    Mikamai / LinkMe

    Andrea Tomasi presenterà: Di chi è questo buffer? Il prestito di un buffer in una struttura può portare a diverse situazioni potenzialmente pericolose che Rust non permette. L'ownership del dato sembra obbligare il programmatore ad effettuare delle copie o cambiare il modo di programmare pur sapendo di avere ragione. La mia lotta con il compilatore é passata da un primo semplice approccio con i lifetime per poi arrivare all'uso dei trait, della specialization e capire che forse non avevo del tutto tutto ragione.

    3
  • Rust: Hello Open Closed Principle

    Mikamai / LinkMe

    Cosa faremo: dopo una breve introduzione a cosa e' l'open-closed principle. Ci lanceremo in FizzBuzz molto particolare: Seguendo i vincoli descritti da Matteo Vaccari nel sul blog http://matteo.vaccari.name/blog/archives/293 cercheremo di implementare FizzBuzz scoprendo i costrutti che ci mette a disposizione Rust per scrivere del codice "Open" (per il close normalmente non ci sono problemi). L'esercizio lo eseguiremo a coppie in autonomia... quindi portate un portatile con Rust istallato ( https://rustup.rs/ )

    7
  • Welcome Webasm

    Mikamai / LinkMe

    Cosa faremo: Inizieremo a giocare con Rust Webasm seguendo il tutorial https://rustwasm.github.io/book/introduction.html Partiremo da https://github.com/la10736/mu-wasm-game-of-life con un primo "Hello World". E lo useremo per capire come parlano i due mondi fino a fare una prima implementazione di GameOfLife in Rust eseguibile sul Browser. Quindi se volete partecipare a pieno portatevi un computer portatile, nel repository trovate tutte le istruzioni per preparare il vostro ambiente di sviluppo

  • Rust Exercises

    Mikamai / LinkMe

    Cosa faremo: Hack night! esercitiamo il nostro Rust tutti insieme e aiutiamoci a vicenda. Sceglieremo sul momento se dividerci in gruppi o procedere in mob programming. Le opzioni saranno: - Rust Exercises - Facciamo il Kata di GameOfLife compilato in WebAssembly - Un giorno a Caso del Advent of Code - ... Qualsiasi problema interessante vi venga in mente Cosa portare: Un computer portatile con Rust installato e voi stessi ;-)

    3
  • 8080 emulator in Rust to play Space Invaders

    Mikamai / LinkMe

    Michele D'Amico presenterà: Scrivere in Rust un emulatore di 8080 e farci girare sopra space invaders e' un'ottima occasione imparare. - Iniziare a capire come e' fatto un emulatore e quali sono le criticita' - Comprendere alcuni aspetti del type system di Rust - Comprendere la ownership In questo talk vedremo come è composto un emulatore e cosa deve fare. Poi navigheremo nel codice per individuare i punti interessanti e vedere come ho deciso di implementarle. Infine ci soffermeremo su un pattern che e' emerso più volte durante lo sviluppo e ha risvolti molto interessanti (live coding). Questo talk è il primo di una serie di incontri dove vorrei condividere alcuni aspetti interessanti che sono emersi e emergeranno durante lo sviluppo di questo progetto. Cosa portare: Un computer portatile con Rust installato e voi stessi ;-)

    5
  • Rust Exercises

    Mikamai / LinkMe

    Cosa faremo: Hack night! esercitiamo il nostro Rust tutti insieme e aiutiamoci a vicenda. Sceglieremo sul momento se dividerci in gruppi o procedere in mob programming. Le opzioni saranno: - Rust Exercises - Mars Rover Kata (o altro kata ...) - Un giorno a Caso del Advent of Code - ... Qualsiasi problema interessante vi venga in mente Sara' un'occasione per scambiarci i saluti prima di rivederci a Settembre. Cosa portare: Un computer portatile con Rust installato e voi stessi ;-)

    3