UGIAlt.NET Conference schedule

Saturday 21st January 2012

  • DDD Brutto Sporco e Cattivo

    by Alberto Brandolini

    A volte DDD sembra "troppo bello per essere vero". E se invece volessimo fare DDD in un mondo dominato da query, stored procedures, codice legacy, data-based integration ed altre amenità simili?

    At 10:30am to 11:30am, Saturday 21st January

  • Oltre lo schermo: la user experience delle "cose"

    by Daniela Panfili

    In questa sessione vedremo un esperimento di user experience "ambientale" realizzata con arduino, processing e qualche sensore.

    At 10:30am to 11:30am, Saturday 21st January

  • Sviluppare applicazioni web mobile con Asp.Net MVC, HTML5 e jQuery Mobile

    by Michele Aponte

    In un mercato che non designa vincitori assoluti nella diffusione di un particolare dispositivo mobile, poter sviluppare applicazioni che tengano conto dei maggiori device in commercio può essere il valore aggiunto che possiamo dare al nostro business. In questa sessione vedremo come sfruttare Asp.Net MVC, HTML5, CSS3 e jQuery Mobile per realizzare applicazioni web che tengano conto del dispositivo su cui sono utilizzate.

    At 10:30am to 11:30am, Saturday 21st January

  • TDD everywhere

    by Matteo Migliore

    Adottare Test Driven Development ovunque, dallo scrivere il gioco “BomberMan” ad un motion detector.

    At 10:30am to 11:30am, Saturday 21st January

  • Building awesome games with WebGL and Node.js

    by 'Hurricane Rob'

    WebGL is a technology that allows you to write 3D accelerated software in JavaScript, all in the browser - with some awesome shininess. Node.js is a technology that allows you to write server-side JavaScript in a largely asynchronous and non-blocking manner. Websockets allow you to communicate between the browser and external servers in an efficient and lightweight manner. Marrying these three technologies gives us some amazing possibilities, and in this session we'll explore what each of these things are and showcase some examples (and code) for using them together.

    At 11:45am to 12:45pm, Saturday 21st January

  • Perché a fare i preventivi facciamo così schifo?

    by Cristiano Rastelli

    L'idea del talk è quella di prendere spunto da alcune osservazioni recenti, su come spesso in fase di preventivazione di un lavoro si tenda a sottovalutare tutta una serie di aspetti e attività apparentemente secondari, ma in realtà con un impatto notevole sull'effort, sul tempo complessivo che sarà necessario dedicare a quell'attività per completare il lavoro richiesto. A partire da queste "osservazioni sul campo" proverò a suggerire alcuni accorgimenti che ho adottato nella mia esperienza per evitare questo "effetto sottovalutazione", coinvolgendo la platea e invitando i partecipanti a discutere e confrontarsi con me su questi e su altri stratagemmi che ho intenzione di provare nel futuro. Scopo del talk è quello di portare all'attenzione degli sviluppatori (ma non solo loro) come questo "difetto" nelle proprie stime abbia impatto non solo sulla remuneratività del proprio lavoro e sul tempo che dedichiamo ad esso, ma soprattutto sulla qualità complessiva del prodotto consegnato al cliente.

    At 11:45am to 12:45pm, Saturday 21st January

  • WinRT e il futuro dello sviluppo per Windows

    by Lorenzo Barbieri

    At 11:45am to 12:45pm, Saturday 21st January

  • Git Happens!

    by Alessandro Cinelli

    We all know git. We use it. It works. We see it everywhere every day more: github is a powerful tool, backing open source development like never before. But there’s more under the hood. Git made my work better and much more enjoyable. I would love to give back to the community what I learned. In this talk I will present how this amazing tool can be adapted to your own personalized workflow, whether you are an independent developer or a large company. I will present th most useful and relevant parts to know about git’s internals as well as all the tricks I find to be really time-savers. I will show u good practices in git’s daily use such as good branching models, how git can be an excellent assistant when debugging, and more. This is not the usual talk on git’s basics. But it does not require too much background knowledge either.

    At 2:15pm to 3:15pm, Saturday 21st January

  • I Love Async!

    by Antonio Liccardi and Emanuele Garofalo

    Spesso un click da parte di un utente, o la chiamata ad un servizio, può provocare nel nostro codice operazioni che richiedono un tempo di esecuzione decisamente lungo. Questo porterebbe l'utilizzatore del client (che sia un proxy o un utente) ad attese non accettabili. Per ovviare a questo problema una possibile soluzione può essere l'uso della programmazione asincrona. In questa sessione vedremo come implementarla attraverso l'uso del Framework Async che sarà presente nella prossima versione del .NET Framework.

    At 2:15pm to 3:15pm, Saturday 21st January

  • Organize your chickens: NuGet for the enterprise

    by Xavier Decoster

    Managing software dependencies, whether those created in-house or from third parties can be a pain in the behind. Whether dependencies feel like wild chickens or people run around like chickens dealing with dependencies, the NuGet package manager can be a cure. Let us guide you to creating enterprise (chicken) NuGets and dealing with them in a structured, easy-to-maintain manner. From developer workstation to build server, NuGet tastes great! We'll provide you the dip sauce.

    At 2:15pm to 3:15pm, Saturday 21st January

  • Roslyn: un compilatore per amico

    by Alessandro Melchiori

    Fino a prima dell'avvento di Roslyn, il compilatore era una black box alla quale guardavamo con sconsolata ammirazione. Ora le "porte" si aprono e le possibilità si sprecano. In questa sessione cercheremo di capire di che si tratta e come sfruttare le potenzialità del compiler-as-a-service

    At 2:15pm to 3:15pm, Saturday 21st January

    Coverage video

  • Java Viene da Marte, Ruby da Venere

    by Paolo Perrotta

    Il mondo dei linguaggi di programmazione è dominato da due filosofie diverse: quella dei linguaggi "statici", come C# e Java, e quella dei linguaggi "dinamici", come Ruby e Python. Un bravo sviluppatore dovrebbe sapersi muovere senza difficoltà da un mondo all'altro, ma la cosa sembra più difficile di quello che potremmo pensare. In questo talk parlerò degli ostacoli che dobbiamo superare per diventare madrelingua in un linguaggio statico e uno dinamico allo stesso tempo, prendendo a prestito qualche idea dalla psicologia cognitiva. In particolare mostrerò come gli stessi principi di design e architettura portano ad un sistema software completamente diverso a seconda del linguaggio con il quale lavoriamo.

    At 3:45pm to 4:45pm, Saturday 21st January

  • Layered Expression Trees feat. CQRS

    by Andrea Saltarello

    CQRS, ovvero: 2 stack, uno per "leggere" e l'altro per "scrivere". Se per "scrivere" abbiamo l'imbarazzo della scelta (Domain Model, Command, Event Sourcing, ...) per leggere, invece, apparentemente c'è poco da dire. "Apparentemente", appunto. Parliamone :-)

    At 3:45pm to 4:45pm, Saturday 21st January

    Coverage slide deck

  • SignalR. Code, not toothpaste. Using SignalR for realtime client/server communication

    by Maarten Balliauw

    Almost all HTML5 and web applications today make use of AJAX to communicate between client and server. AJAX is great with asynchronous operations, but what about real-time communication? How would you push a message from server to client? HTML5 websockets offer a solution to all of these questions but are not supported in every browser and every network environment. SignalR is the new cool kid on the block: it leverages websockets when supported and falls back to different mechanisms when they aren’t. In this session, I’ll show you where and how to use SignalR to create rich real-time applications in the browser. No toothpaste. Just code.

    At 3:45pm to 4:45pm, Saturday 21st January

  • Using RavenDB in the wild

    by Mauro Servienti

    Vantaggi, problemi e soluzioni nell'uso di un database documentale, come RavenDB, in un'applicazione distribuita.

    At 3:45pm to 4:45pm, Saturday 21st January

    Coverage video

  • ASP.NET MVC, Javascript MVVM e WCF REST Services: web to the max

    by Roberto Messora

    Javascript è stato per anni un linguaggio molto sottovalutato, l'evoluzione delle tecnologie web, però lo stanno fortemente rivalutando elevandolo al rango che gli compete. In questa sessione sarà presentata una possibile soluzione web HTML5 basata su ASP.NET MVC 3.0 in cui il front-end utilizza KnockoutJs (un framework Model-View-ViewModel Javascript), jQuery, servizi REST WCF e supporto alla modularità mediante MEF (Microsoft Extensibility Framework)

    At 5:00pm to 6:00pm, Saturday 21st January

  • Come implementare un server per giochi on line in real time

    by Massimiliano Mantione

    Come usare (o non usare) threading, replication, operazioni asincrone e tecniche affini in un sistema in cui sono importanti sia la bassa latenza che il throughput complessivo.

    At 5:00pm to 6:00pm, Saturday 21st January

  • oData può rappresentare il futuro del DataLayer?

    by Raffaele Rialdi

    Il protocollo Open Data Protocol è nato con l'intento di essere il nuovo "ODBC" e permettere di erogare dati in modo standard e facilmente fruibile. Già oggi aziende come Netflix, Twitpic ed eBay stanno erogando dati sul web con questo protocollo, cosa che ci tranquillizza sulla solidità delle sue specifiche e delle attuale implementazioni. La vera domanda è se può essere lecito farlo diventare il futuro dei datalayer nelle nostre applicazioni. Dopo una panoramica di come funziona e quali siano le tecnologie per produrre e consumare questi 'feed' di dati, apriremo le discussioni su questa opportunità architetturale.

    At 5:00pm to 6:00pm, Saturday 21st January

  • OOP vs COP - Classi contro oggetti

    by Gianluca Padovani

    Se si chiama Object Oriented Programming perché tutti parlano di classi? Il codice che scriviamo è realmente ad oggetti? Cosa significa scrivere codice ad oggetti? Cosa ci dà (ci dovrebbe dare???) in più questa tecnologia rispetto alle altre? In questa sessione si cerca di analizzare cosa si intende per codice ad oggetti e come spesso si ponga l'attenzione su cose secondarie o addirittura errate. Con un poco di teoria e di pratica si può correggere questa deriva?

    At 5:00pm to 6:00pm, Saturday 21st January