Prossimi eventi Microsoft in Italia – Marzo-Maggio 2015

Da qui a fine Maggio 2015 ci saranno diversi eventi molto interessanti che riguardano Microsoft, in varie parti d’Italia.

Ne segnalo qualcuno qui, sapendo che questo post non è esaustivo, per cui chiunque voglia segnalarne altri che non ho menzionato, può metterlo nei commenti di questo post.

Tramite la nostra community dotNET{podcast} cercheremo, per quanto nelle nostre possibilità, di pubblicizzare più possibile queste iniziative.

  • Marzo 2015
    • Milano
        • Mar 24 – Gio 26 Marzo 2015
          • Evento gratuito, fondato nel 2006 da ASPItalia e UGIdotNET, sono il maggiore evento community italiano organizzato da community e user group italiani dedicati ai prodotti e alle tecnologie Microsoft, dedicato a dev, ITPro, DBA e startup.
            Questo evento viene replicato anche a Roma da un paio di anni, ma questo di Milano resta l’appuntamento più atteso e anche più completo.
    • Roma
        • Ven 27 – Sab 28 Marzo 2015 (Conferenza)
          • Evento a pagamento, è un evento dedicato all’innovazione tecnologica, fino a un paio di anni fa era un evento gratuito, poi diventato a pagamento, in ogni caso il costo è sostenibile se consideriamo l’alto numero di sessioni e la qualità degli speaker.
            Le sessioni dedicate a Microsoft non sono tante ma l’evento puo’ essere comunque molto interessante anche a chi sviluppa prevalentemente con tecnologie Microsoft.
  • Aprile 2015
    • Roma
        • Ven 17 Aprile 2015
          • Evento gratuito, organizzato da DomusDotNet e GetLatestVersion, in collaborazione con Microsoft Italia.
            Una giornata interamente dedicata all’Application Lifecycle Management con lo scopo di far capire perchè lo sviluppo di un software non si limita alla sola scrittura del codice ma a tutta una serie di attività il cui scopo è guidare, semplificare, rendere stabile e sicuro il software che si va a scrivere.
    • Napoli
        • Sab 18 Aprile 2015
          • Evento gratuito, organizzato dall’associazione culturale DotNetCampania, insieme a Microsoft Italia.
            Terza edizione della “Microsoft Embedded Conference” che da quest’anno diventa ufficialmente “MEC Internet of Things Conference”, una giornata completamente gratuita dedicata alle tecnologie embedded ed IoT nel mondo Microsoft.
  • Maggio 2015
    • Roma
        • Sab 30 Maggio 2015
          • Da alcuni anni un appuntamento immancabile per chi lavora con le tecnologie Microsoft.
            Questo evento viene organizzato sempre di sabato all’interno dell’università Roma Tre e rappresenta un incontro molto interessante con tecnologie e speaker di livello nazionale e internazionale.

A questo punto non resta che iscriversi e andare.

Ci si vede là!

 

Prossimi eventi Microsoft in Italia – Marzo-Maggio 2015

Articolo “Introduzione a Microsoft Application Insights” su Windows Azure Italia

Ieri sul network Aspitalia.com e in particolare su WindowsAzureItalia.com è stato pubblicato un mio articolo su Microsoft Application Insights, un servizio che ci consente di effettuare operazioni di telemetria su una web application o un web service (ASP.NET o Java) o su mobile application (Windows Phone o Windows Store app).

E’ un servizio molto interessante sul quale mi piacerà fare degli approfondimenti.

Erano più di quattro anni che non scrivevo per il network Aspitalia, per motivi personali o di lavoro avevo un po’ perso questa sana abitudine, e quando approfondivo un argomento poi non scrivevo nulla.

Ma ho deciso che “approfondire e condividere” sono verbi che devono viaggiare di pari passo.

Trovate l’articolo qui.

Articolo “Introduzione a Microsoft Application Insights” su Windows Azure Italia

Microsoft rende open source il codice del motore di .NET

Un altro pezzo del framework .NET di Microsoft viene rilasciato in open source.

La filosofia adottata dall’azienda di Redmond sembra quella di rilasciare praticamente tutto il codice sorgente del framework .NET, e quindi anche il CoreCLR diventa pubblico.

Quello di cui stiamo parlando è il motore vero e proprio di .NET, quello cioè che si occupa di compilare a run time ed eseguire il codice IL che otteniamo sviluppando con questo framework.

E come è già successo per gli altri rilasci, anche questo finisce su GitHub e non su Codeplex.

Anche questa scelta sembra parte di una vision ben definita, almeno a mio modo di vedere, visto che oltre la significativa differenza dal punto di vista tecnologico di un sistema rispetto all’altro, l’utilizzo di GitHub rappresenta un forte segnale di aggregazione verso il mondo open source, che con le precedenti gestioni del top management di Microsoft sembrava invece una strada mai percorribile.

Microsoft continua quindi nel “cambiamento di pelle”, non nascondo il mio scetticismo iniziale, ma ora pian piano che la “direzione” sembra quasi del tutto chiara, posso dire di condividerla e di esserne entusiasta.

In effetti un mondo che si apre porta sempre ad un maggiore confronto, e questo per chi fa il nostro lavoro è un fatto sempre positivo.

Microsoft rende open source il codice del motore di .NET

Windows 10 per Raspberry PI 2 arriverà presto e sarà gratis

La notizia di ieri è rimbalzata per tutta la rete: Microsoft ha annunciato che entro quest’anno rilascerà una versione del prossimo sistema operativo, Windows 10, capace di girare sulla board Raspberry PI 2.

Tutta la giornata di ieri c’è stato un gran fermento per questa notizia, tutti sono rimasti molto contenti di questa iniziativa, anche per il costo contenuto della board, al momento in cui scrivo di soli 35$.

Ma molti non sapevano cosa fosse la Rapberry PI, e anche io, che pure sono molto felice di questa notizia, non ho mai avuto modo di lavorarci.

Per quello che ne so, la Raspberry PI è di fatto un “microcomputer”, ovvero una singola scheda con caratteristiche proprie di un calcolatore classico, che qualche anno fa neanche un PC costoso aveva, e a cui possiamo demandare varie operazioni di calcolo tra cui, per esempio, quelle in ambito domotica o IoT.

Sviluppato da alcuni anni nel Regno Unito, era nato con l’idea di una scheda da usare per scopi “accademici” ma poi la notevole diffusione ne ha fatto qualcosa di più, questo anche perchè la sua “completezza” (scheda video, porte usb, ecc.) hanno ingolosito gli utenti meno esperti ma anche quelli più smaliziati.

Per capire di cosa stiamo parlando, vi riporto di seguito le caratteristiche specifiche di questa Raspberry PI 2:

  • CPU quad-core ARM Cortex-A7 900MHz
  • 1GB LPDDR2 SDRAM
  • Retrocompatibilità con la Raspberry Pi 1

Per quanto riguarda invece il succo della notizia, ovvero la disponibilità di una versione di Windows 10 per Raspberry PI 2, chi è interessato all’argomento (e magari vuole comprare una scheda per divertirsi un po’) deve andare sul sito di WindowsOnDevices e da lì poi seguire le indicazioni per associarsi al programma “Windows Developer Program for IoT”.
In questo modo si riceveranno tutte le informazioni in merito ai prossimi rilasci del programma (tra cui quello di Windows 10 per Raspberry PI 2).
Sicuramente sarà molto interessante dare un’occhiata a questa versione, anche in virtù del fatto che su di essa sarà possibile far girare le Universal App.

Ultimamente su dotNET{podcast} abbiamo parlato di IoT, ma sicuramente questo sarà uno dei prossimi argomenti che tratteremo.

Il tempo che mi rimane, tra lavoro, podcast e altre attività (famiglia inclusa), è veramente esiguo e per questo a casa ho ferme da un pezzo una Netduino 2 e una Intel Galileo (so che sono cose diverse, ma per me rientrano “ignorantemente” nella stessa categoria), ma questa notizia ha ravvivato l’interesse per un mondo che conosco poco, e che a mio avviso rappresentano il fronte tecnologico che avrà maggior sviluppo nei prossimi anni.

Magari questo post serve a ricordarmi che devo riprendere in mano la situazione :-)

Windows 10 per Raspberry PI 2 arriverà presto e sarà gratis

Differenza tra cast esplicito e uso del comando ‘as’

Per effettuare una conversione da un tipo A ad un tipo B, si può pensare di eseguire un cast esplicito:

 A a = new A();
 B b = (B)a;

oppure si può utilizzare il comando ‘as’:

 A a = new A();
 B b = (a as B);

Tuttavia le due tipologie di conversione sono differenti per comportamento, per valore di ritorno e anche per istruzioni del compilatore utilizzate.

Andiamo a vedere queste differenze:

  1. innanzitutto il cast esplicito ritorna una exception in caso di errori nella conversione, mentre nello stesso caso il comando ‘as’ ritorna semplicemente un valore null
  2. anche in virtù del punto 1, in caso di utilizzo del comando ‘as’ è necessario che il tipo B del nostro esempio sia sempre un reference type o almeno un nullable type (come ad esempio int?), mentre nel caso del cast esplicito questo non è necessario
  3. con il cast esplicito è possibile utilizzare conversioni definite dall’utente nella class (user-defined conversions, per esempio nel caso di due classi senza nessuna relazione tra loro), mentre con il comando ‘as’ questo non è consentito
  4. infine, scendendo al livello dell’Intermediate Language (IL), le istruzioni utilizzate (OpCode) sono diverse, infatti mentre un cast esplicito viene tradotto in IL con l’istruzione ‘castclass’, per il comando ‘as’ si fa ricorso all’istruzione ‘isinst’

Sebbene in alcuni casi l’uso del comando ‘as’ possa risultare leggermente più veloce rispetto al cast esplicito, la scelta dell’uno o dell’altro sistema dipende molto dallo scenario in cui è necessario effettuare la conversione.

Differenza tra cast esplicito e uso del comando ‘as’

dotNET{podcast}

Tra pochi giorni sarà Natale e pensando ai mesi scorsi mi sono ritrovato a ricordare di quando, ai primi di agosto, ero in treno verso il lavoro, ascoltando come spesso accade uno dei podcast in lingua inglese che riguardano le tecnologie Microsoft. In quell’occasione mi chiesi come mai non avessi mai trovato un simile podcast ma italiano. Indagando capii che la motivazione era semplice: non esisteva.

Così, mosso dal mio solito e a volte eccessivo entusiasmo, pensai “beh, se non c’è lo facciamo, qual è il problema?” e così ne parlai con Antonio e con Massimo, due che oltre ad essere miei cari amici condividono con me la passione per lo sviluppo software con le tecnologie Microsoft, e dal loro ulteriore entusiasmo intesi che forse si poteva veramente fare.

Nel giro di un paio di giorni, feci un “sondaggio” tra i possibili ospiti, chiedendo loro telefonicamente o via Skype se gli piacesse l’idea di partecipare ad un podcast del genere, e con mia piacevole sorpresa, furono tutti immediatamente disponibili, qualcuno arrivò addirittura a farci i complimenti per quell’idea.

E così partimmo, incoraggiati dalla quantità e soprattutto dalla qualità delle persone che potevamo intervistare, e cominciammo a studiare come fare, quali tecnologie utilizzare per il sito, quali prodotti per la registrazione ed il montaggio, e tutti e tre eravamo entusiasti dell’idea. Tanto entusiasti da riuscire in un mese e mezzo a mettere su praticamente due siti, il “portale” e “l’amministrazione” dello stesso, progettando nel frattempo anche i loghi, trovando le musiche adatte, imparando a montare, capendo come tracciare tutto, partendo assolutamente da zero.
Attività frenetiche, fatte di tantissime piccole e grandi attività, che solo grazie all’aiuto di un bellissimo strumento per la condivisone delle informazioni, quale è Microsoft OneNote, abbiamo potuto organizzare e portare a termine quotidianamente.

Le prime puntate furono subito molto incoraggianti, e l’entusiasmo dei nostri ospiti ci aiutò tantissimo, perchè credetemi, siamo in tre ma per poter realizzare quell’ora di podcast a settimana lavoriamo veramente sodo, perchè ovviamente si tratta di un “secondo lavoro”, e in certi mesi abbiamo dormito veramente poco per portare avanti questa piccola, grande avventura, e tutto viene fatto con le nostre sole forze.

Abbiamo avuto anche il grandissimo piacere di ricevere il supporto da parte di OverNet, grazie alla quale siamo stati ospiti al WPC del novembre scorso, una delle più grandi conferenze italiane per le tecnologie Microsoft. Il loro grandissimo sostegno, unito a quello degli amici di Microsoft che abbiamo incontrato (e anche intervistato) in quella occasione, ci hanno dato e ci danno grande energia per continuare e fare sempre il meglio possibile per realizzare un prodotto di qualità.

La strada da fare è ancora molto, ma molto lunga, e non sappiamo neanche dove e a cosa, eventualmente, ci porterà. Ma quella che abbiamo fatto finora insieme a tutti i nostri ospiti, ai nostri ascoltatori, agli amici di Microsoft e a tutti quelli che ci stanno accompagnando, è una strada molto affascinante, fatta di condivisione, di conoscenza, di pazienza e di curiosità. Ed è questa la strada che vogliamo fare, è questo il viaggio che ci piace.

La condivisione è alla base delle community, dell’amicizia, e della passione verso questo lavoro, quest’ultima particolarmente difficile da trovare e sempre più da coltivare. E non importa se non ci si guadagna niente e anzi ci si rimette, perché la soddisfazione che ne deriva è tale che ripaga tutto il resto. Come dicevo oggi via Skype ad un nostro prossimo ospite, “tutto quello che facciamo è importante se e solo se è importante per qualcun altro”.

Il sito in questione è dotNET{podcast}, speriamo di potervi vedere sempre più numerosi a interfacciarvi con noi tramite i commenti sul sito, o tramite il gruppo Facebook o anche su Twitter. In futuro i canali potrebbero aumentare, e di sicuro il sito evolverà con nuove sorprese, di cui ovviamente su questo blog non parlerò, almeno per il momento.

In chiusura di questo post vorrei inviare un sincero e profondo “grazie” ad Antonio Giglio e Massimo Bonanni, miei inestimabili amici, soci e (spesso) vittime della mia irruenta voglia di fare.
Lo so, sopportarmi non sempre è facile, ma penso che dovrete rassegnarvi, perché bisognerà farlo ancora (speriamo) per parecchio, parecchio tempo.

Buon Natale.

dotNET{podcast}

Designing APIs for the Web (Mike Amundsen, O’Reilly Media)

I have had the opportunity to follow the course “Designing APIs for the Web” in which the lecturer is Mike Amudsen, who talks about Design Considerations, Tooling, and Implementation Models with SOAP, HTTP, and REST.

It is a really interesting course, more and more interesting that I actually could suppose.

It represent a great journey between the aspects to consider when API layer is required in an organization, even if this is targeted to a product or a service, as for internal as for external use.

Mike Amudsen is a very clear lecturer and his ability to explain complex topics as simple concepts makes this course really impressive.

The course is well structured in chapters, and every one of these are independent and not strictly related to others, so everyone can be viewed and viewed again singularly, and everyone affronts and explains a single slice of the whole cake of arguments.

Mike is able to explain with very simple words, explaining a lot of concepts and behavior to have or to avoid when anyone need to clearly have in mind when implementing APIs.

After listening any chapter, your first impression could be: “but, wait, he’s talking about good sense, he’s talking of organization, all of these things are obvious!” but in second step, when you realize that all of these “obvious” concepts are so easily neglected in every day’s work, at the end you will think: “That’s great!”.

I would recommend this course to designers and architects that are meaning to implement an API layer for their products or services, even if any developer can benefit of this knowledge in every day’s work.

It was really a great experience for me “attending” at this course, and I think I surely will return back to view some chapters from a while to while, because in my opinion these are very well-done lessons!

If you are interested, you can find the course here.

Designing APIs for the Web (Mike Amundsen, O’Reilly Media)