sabato 12 giugno 2010

Nuovo concorso: embeddedSPARK 2010 SUMMER Challenge

Per il primo anno una nuova sfida si svolge durante l’estate, inizia quando l’originale embeddedSPARK Challenge finisce (Microsoft ha annunciato l’embeddedSPARK SUMMER Challenge alla fine di aprile, durante l’evento ESC Silicon-Valley), e termina con i finalisti a presentare sul palco all’ESC di Boston, a settembre.

Per quelli che non conoscono l’iniziativa Microsoft EmbeddedSpark, è una collezione di software Windows Embedded per hobbisti che consiste in versioni complete di strumenti di sviluppo Microsoft e una scheda SPARK-embedded di uno dei partner hardware di Microsoft. Di solito, la partecipazione al programma consiste nell’ottenere l’hardware e il software al solo costo della scheda.

Tra le molte iniziative (blog, documentazione, lezioni, forum della community, ecc.) Microsoft organizza anche un concorso per hobbisti embedded e fornisce un kit embeddedSpark gratuitamente a tutti quelli che superano la prima selezione del concorso.

Il concorso è basato sulle abilità dei partecipanti e la fortuna non gioca alcun ruolo  nella determinazione dei vincitori. L’obiettivo infatti è quello di fornire un forum per gli sviluppatori Windows Embedded e permettere loro di diffondere le loro abilità/conoscenze, costruire la community Windows Embedded e pubblicizzare il programma embeddedSpark.

Il nuovo concorso estivo è basato su Windows Embedded Standard 7, mentre l’originale embeddedSPARK Challenge (ora rinominato in embeddedSPARK WINTER Challenge) è basato su Windows Embedded CE. 

Non essendo stato in grado di continuare l’edizione invernale, ad inizio anno, ora ho deciso di provare a partecipare all’edizione estiva con una nuova proposta. Basato sulla eMMEC logonuova piattaforma Microsoft Embedded, il concorso rappresenta lo scenario ideale per consolidare le mie conoscenze e imparare cose nuove in vista dell’esame di certificazione Microsoft.

Il tema per la prima edizione è "Media Explosion". La mia idea è un’evoluzione del dispositivo presentato l’anno scorso, che prova a superare e risolvere molte delle limitazione e dei problemi di usabilità riscontrati nello sviluppo del prototipo per la mia tesi di laurea. Informazioni aggiuntive e dettagli, si hanno sulla pagina ufficiale della proposta: eMMEC.

Tra una decina di giorni saranno annunciati i vincitori del primo round…

venerdì 11 giugno 2010

Nuova comunità embedded

L’obiettivo primario del programma embeddedSPARK è quello di fornire un ambiente agli sviluppatori, di differenti regioni e con differenti conoscenze, per interagire, imparare e sfruttare le opportunità offerte da Windows Embedded. Vorrei condividere con voi il sito www.embedded101.com, che ho scoperto questa mattina mentre leggevo alcuni post nel forum ufficiale di embeddedSPARK. Il sito è stato creato per supportare una comunità online dedicata a Windows Embedded, per fornire un luogo agli sviluppatori in cui condividere esperienze, imparare, scambiare idee e suggerimenti ed evolvere come un gruppo. www.embedded101.com è completamente indipendente da Microsoft ed è organizzato per essere una comunità tecnica che possa aiutare gli sviluppatori a scoprire le tecnologie Windows Embedded. Attualmente il sito consiste delle seguenti sezioni:

  • Blogs
  • Forum
  • Articoli
  • Progetti

Se interessati, vi suggerisco di contribuire ai contenuti e invitare altre persone a diventare membri della community, con l’obiettivo di condividere conoscenza e imparare insieme le tecnologie Windows Embedded.

giovedì 29 aprile 2010

Congratulazioni, Marco!

Sono felice di annunciare che ieri il mio amico e collega Marco ha vinto il primo premio nel concorso Microsoft Embedded Sparks 2010. La soluzione proposta, inviata a Microsoft in gennaio, dovrebbe rappresentare il sogno di ogni chitarrista: la possibilità di provare tutti gli effetti, solitamente disponibili come pedaliere dal costo di 100-200$ ciascuna, ad un prezzo accessibile. Il suo progetto “Guitar Multi Effect" è stato progettato per emulare digitalmente tutti gli effetti, risparmiando soldi e permettendo ad un musicista di portarseli tutti in giro comodamente. La proposta di Marco, inoltre, offre una “modalità karaoke” che accompagna il chitarrista con tracce audio registrate in precedenza. Se al dispositivo si collega uno schermo sensibile al tocco (opzionale), esso permette anche di visualizzare video-lezioni o di scaricare dal web nuovi effetti.

Per informazioni e dettagli visitate il sito del concorso, il blog di Marco o guardate il video ufficiale:

domenica 21 marzo 2010

Concorso Embedded ed esami di certificazione Microsoft

Alcune settimane fa avevo annunciato che avrei scritto alcuni post a proposito del lavoro per il concorso Microsoft Embedded Sparks 2010. Purtroppo, a causa del poco tempo libero nell’ultimo periodo e per alcune problematiche hardware/software nella preparazione del prototipo, ho dovuto interrompere lo sviluppo. Sarà magari per il prossimo anno…

Nel frattempo, ho anche studiato per dare due esami di certificazione Microsoft. Ho dato il primo a metà dicembre: era la versione beta dell’esame Windows Mobile 6.5 - Application Developer. Ho ricevuto comunicazione del fatto di averlo passato appena dieci giorni fa. E lo scorso mercoledì ho dato e passato l’esame Windows Embedded CE 6.0 - Development. Adesso sono un Microsoft Certified Technology Specialist nel campo embedded… ma questo è solo l’inizio: ho già iniziato a studiare per un nuovo esame embedded, Windows Embedded Standard 7 for Developers (precedentemente noto come Windows Embedded Standard 2011), che darò appena sarà disponibile (probabilmente per metà giugno).

domenica 14 febbraio 2010

Ambiente di sviluppo virtualizzato in singola workstation

A lavoro e a casa ho a disposizione solo una macchina di lavoro e in genere ho la necessità di utilizzare versioni differenti degli ambienti e degli strumenti di sviluppo. Per esempio, per generare immagini di Windows CE 6.0, uno ha bisogno di Visual Studio 2005, Windows CE 6.0 Platform Builder, i vari service pack, gli aggiornamenti di compatibilità con Windows Vista/Windows 7 (se non viene più usato Windows XP), aggiornamenti mensili di Windows CE. Se uno ha a disposizione una macchina pulita, con solo i software elencati precedentemente, non ci dovrebbero essere problemi. Tutto dovrebbe funzionare bene, il debug remoto sui dispositivi funziona, la generazione delle immagini si dovrebbe completare con successo (a parte i normali errori di generazione e configurazioni errate, ma che in alcun modo dipendono dalla configurazione del sistema e dai software installati).

Ma cosa succede se si avesse la necessità di sviluppare anche applicazioni .NET Compact Framework 3.5 per Windows Phones? Sulla macchina di sviluppo bisogna installare Visual Studio 2008 e i vari SDK e strumenti per Windows Mobile. Naturalmente si vorrebbe anche che tutto il software precedentemente installato continuasse a funzionare come prima: questo è il problema. Raggiungere questo obiettivo non è una cosa facile. Visual Studio 2008 aggiorna infatti alcuni componenti di sistema che vengono usati da Visual Studio 2005 e da Platform Builder per lo sviluppo con Windows CE, e questo potrebbe causare alcune problematiche nel debug remoto di dispositivi Windows Mobile/Windows CE. Non che non sia possibile far convivere i due ambienti, ma bisogna prestare particolarmente attenzione all’ordine di installazione dei vari applicativi, degli aggiornamenti, degli strumenti. A lungo andare, qualcosa andrà storto e, per esempio, non sarà magari più possibile generare immagini Windows CE oppure effettuare debug remoto di un dispositivo.

Se poi avete anche bisogno di usare database SQL Server, di cui alcuni in versione 2005 e altri 2008, l’unica cosa da fare è installare entrambi sulla propria macchina. So che il problema non esisterebbe se i database 2005 potessero essere aggiornati alla versione 2008 (ma alcuni clienti non permettono di fare questa cosa) oppure se avessi altre macchine/server di sviluppo su cui installarli separatamente. Cercando sul web, nei forum, sui blog, molte persone dicono che le due versioni possono convivere tranquillamente, senza problemi. Io ho provato a installarli entrambi e per le necessità che ho per lavoro (Management Studio, Query Analyzer, backup database, accesso remoto ai database) le cose funzionano. Tuttavia molte persone in rete segnalano problemi con Management Studio, Integration Services e Analysis Services, ma di questo non posso dire molto, non avendo esperienza in merito.

Stufo di questi (e molti altri) problemi di compatibilità nel lavoro quotidiano, durante le vacanze natalizie ho iniziato a sperimentare un ambiente di sviluppo virtualizzato sulla mia workstation di casa. Dopo un mese di uso quotidiano, ho quindi deciso di adottare la stessa configurazione di sviluppo a lavoro.

In alcuni prossimi post vi darò una panoramica dei miei esperimenti di virtualizzazione, con i problemi che ho avuto e le soluzioni che ho trovato.

Per chi non conoscesse la virtualizzazione, segue una breve introduzione. Per maggiori informazioni, iniziate dando un’occhiata alle voci disponibili su Wikipedia (http://it.wikipedia.org/wiki/Virtualizzazione e http://en.wikipedia.org/wiki/virtualization).

 

Cos’è la virtualizzazione?

Il termine “virtualizzazione” fu coniato negli anni ‘60 del secolo scorso, facendo riferimento ad una macchina virtuale: ovvero, in generale, l’astrazione di una risorsa informatica. Questo include sia il far apparire una singola risorsa fisica come una moltitudine di risorse logiche (come server, sistemi operativi, applicativi, dispositivi) e sia il far apparire risorse fisiche multiple come se fossero un’unica risorsa logica (come server o dispositivi di memorizzazione). La creazione e la gestione di macchine virtuali è stata chiamata “virtualizzazione di piattaforma” o, recentemente, “virtualizzazione server”.

La virtualizzazione di piattaforma è ottenuta su una specifica piattaforma hardware da un programma di controllo (host), che crea un computer simulato, una macchina virtuale, per il suo software ospitato (guest). Il software guest non si limita alle singole applicazioni utenti: molti host permettono l’esecuzione di sistemi operativi completi. Il software ospitato viene eseguito come se stesse girando direttamente sull’hardware fisico, ma con alcune limitazioni. L’accesso alle risorse fisiche (rete, schermo, tastiera, dischi, dispositivi USB, ecc.) in genere viene gestito con un livello più limitato rispetto al processore e alla memoria. Spesso i software ospitati potrebbero avere delle limitazioni nell’accedere a particolari periferiche o potrebbero solo aver accesso ad un insieme ristretto delle effettive funzionalità del dispositivo fisico. Il tutto dipende dalle politiche di accesso all’hardware implementate dal software di virtualizzazione.

Esistono vari software di virtualizzazione, commerciali, gratuiti e alcuni anche open-source, disponibili per i principali sistemi operativi. Per citarne alcuni, senza un particolare ordine preferenziale:

  • VMWare Workstation
  • Microsoft VirtualPC
  • VMWare Server
  • Sun VirtualBox
  • Microsoft Hyper-V
  • QEMU
  • Microsoft Virtual Server
  • Parallels for Desktop
  • Parallels Workstation
  • …

Per altri software e maggiori informazioni: http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines

 

Usi della virtualizzazione

La virtualizzazione può essere usata in vari contesti e modalità. Principalmente può essere utile per:

  • Server consolidation (unificazione di sistemi poco/sotto usati in un unico server fisico; unificazione di vecchi sistemi)
  • Testing (test QA; test di portabilità; nuovi sistemi operativi)
  • Navigazione web sicura (siti pericolosi; ricerche; download; script automatici; validazione; test sicurezza; ecc.)
  • Supporto tecnico (software e sistemi operativi dei clienti in macchine virtuali; ricreazione dell’ambiente dei clienti in maniera virtuale)
  • Prove software (test di caratteristiche e compatibilità; simulazione di scalabilità; catture-schermo; snapshot delle VM per ri-uso futuro)
  • Corsi (nessun problema di configurazione tra insegnanti e studenti; macchine per pratica/studio)
  • Demo (nuove VM per ogni demo garantiscono esperienze riproducibili)
  • Load balancing (cluster di VM piuttosto che nodi hardware)
  • Grid computing (Cloud computing)
  • Sviluppo software (gli sviluppatori usano una o più VM con tutte le risorse sulla propria macchina locale)

Negli  ultimi anni la virtualizzazione ha iniziato a prendere sempre più posto nelle strategie di organizzazione e nell’utilizzo nel mondo IT. Alcuni degli scenari precedenti sono correntemente utilizzati, mentre altri si stanno appena affacciando sul mondo della virtualizzazione. Di sicuro la virtualizzazione nell’IT crescerà sempre più in futuro, perchè i benefici che ne derivano sono molteplici.

L’ultimo punto della precedente lista rappresenta il punto di partenza dei miei esperimenti. In uno dei prossimi post vedremo la mia interpretazione di quest’uso della virtualizzazione.

giovedì 4 febbraio 2010

Windows Embedded Standard 2011

Windows Embedded Standard 2011 è la prossima versione di Windows Embedded Standard 2009 e sarà basata su Windows 7. La Release Candidate di Standard-2011 sarà presto disponibile. Per iniziare a conoscere questa nuova piattaforma, grazie ad un accordo con il Microsoft Windows Embedded Team, Beppe Platania (Beps Engineering CEO) ha iniziato a pubblicare sul suo blog una traduzione italiana degli articoli del Windows Embedded Blog riguardanti il prodotto.

Gli articoli saranno pubblicati su base settimanale e il primo è stato pubblicato appena qualche giorno fa. Se siete interessati, date un’occhiata al blog di Beppe!

sabato 16 gennaio 2010

Nuovo anno… nuovo concorso

AR-DressUp Era più o meno lo stesso periodo, l’anno scorso, quando fui avvisato che l’idea proposta, Home Communication Concentrator, era stata scelta come una dei 50 vincitori a livello mondiale nella prima fase del concorso Sparks Your Imagination 2009 di Microsoft (potete leggere di questo nel mio post precedente). Partecipare l’anno scorso è stato molto interessante, così ho deciso di prendere parte anche all’edizione di quest’anno, EmbeddedSpark 2010 Challenge.

Ieri sera, dopo un’impaziente attesa, sono stati finalmente annunciati i vincitori 2010 della prima fase, e sono stato molto contento nel scoprire che la mia proposta è nuovamente tra uno di essi!

Il tema del concorso dell’anno scorso era la Casa digitale del futuro. Quest’anno, invece, è Divertimento & Giochi. Durante le vacanze di Natale, mi sono venute un paio di idee e una di queste, ispirata due anni fa da mia sorella, è diventata quella proposta: AR-DressUp. Ulteriori informazioni sono disponibili nel documento inviato al concorso, potete trovarlo qui: AR-DressUP Contest Entry.

Nelle prossime settimane aggiornerò il blog con post riguardanti lo sviluppo del prototipo, rimanete sintonizzati!

 

Per quelli che non conoscono l’iniziativa Microsoft EmbeddedSpark, è una collezione di software Windows Embedded per hobbisti che consiste in:

  • Una versione completa di Windows Embedded CE 6.0 R2
  • Una versione completa di Visual Studio 2005 Professional

  • Una scheda SPARK-embedded di uno dei sette partner hardware di Microsoft

Di solito, partecipare al programma significa che è possibile ottenere l’hardware e il software al solo costo della scheda.

Tra le molte iniziative (blog, documentazione, lezioni, hands-on labs, forum della community, etc.) Microsoft organizza anche un concorso per hobbisti embedded e fornisce un kit EmbeddedSpark gratuitamente a tutti quelli che superano la prima selezione del concorso.

Il concorso è basato sulle abilità dei partecipanti e la fortuna non gioca alcun ruolo  nella determinazione dei vincitori. L’obiettivo infatti è quello di fornire un forum per gli sviluppatori Windows Embedded CE e permettere loro di diffondere le loro abilità/conoscenze, costruire la community Windows Embedded e pubblicizzare il programma SPARK Your Imagination / EmbeddedSpark.