Pietro Brambati Blog

Developer's stories

  • Pietro Brambati Blog

    WPC (2/3) : Ask the Expert ...

    • 0 Comments

    La secconda sessione alla WPC è stata una ask the expert su Visual Studio 2008 e .NET 3.5, che ho tenuto con l'aiuto di Gabriele Castellani e Mario Fontana ...

    Per cui vi lascio solo un'immagine ricordo :-)

    image

    Cosa c'è di utile in questo post?

    Il link ai blog di Gabriele e Mario, autore del fotomontaggio ..

  • Pietro Brambati Blog

    Il Kerner di Windows Vista

    • 0 Comments

    Volevo segnalarvi questo interessantissimo articolo di Mark Russinovich sulle novità del Kernel di Windows Vista; articolo che è il primo di una serie. Il link fa riferimento alla traduzione in italiano dello stesso.

    Questo articolo si focalizza sulle modifiche relative ai processi, thread ed I/O. Cerco di riassumerle per darvene un'idea veloce in modo che leggiate l'articolo per approfondire i contenuti:

    • Modifiche allo scheduler per rende più equa l'assegnazione del tempo di esecuzione di thread alla CPU. In Windows Vista vengono contati i cicli di clock effettivamente consumati dai thread in esecuzione. Questo permette di non penalizzare i thread che non usavano interamente il loro slot di tempo perchè interrotti.
    • Le applicazioni multimediali richiedono che l'audio o il video prodotto non sia interroto. Con Windows Vista un'applicazione multimediale può registrarsi ad usare delle nuove API con MMCSS. Questo componente da un lato garantisce ai thread delle applicazioni multimediali di ottenere il tempo loro necessario, ma anche garantisce che altre applicazioni non vengano penalizzate eccessivamente.
    • Collegamenti simbolici basati su file.
    • Possibilità di interrompere le chiamate di I/O sincrone. Miglioramenti di performance per le applicazioni server grazie ai miglioramenti ai completion port.
    • Priorità dell' I/O. Non più solo la priorità per l'utilizzo della CPU. Un processo in backgroud, che ad esempio accede al disco, come un Antivirus o un indicizzatore, può lavorare ad una priorità molto bassa e non bloccare applicazioni in primo piano. Inoltre un lettore multimediale può chiedere al sistema di I/O che sia possibile garantire la lettura ad una certa velocità.

    Buona lettura

  • Pietro Brambati Blog

    Link interessanti su IIS 7

    • 0 Comments

    Anche se con un po' di lentezza dopo il webcast, vi segnalo qualche link interessante:

    Tutto quello che serve sapere su IIS 7. Questa è la Homepage per IIS 7.

    Creare un modulo per IIS 7 usando .Net

    Integrare le vostre trace nei moduli con quelle di IIS 7

    Per quest'ultimo punto, come ho avuto modo di dire durante il webcast, è necessario modificare il file applicationhost.config se usate IIS 7 di Windows Vista.

    1. aprite il file %windir%\system32\inetsrv\config\applicationHost.config con un editor di testo
    2. Aggiungete
    3. <traceProviderDefinitions>

             …other providers defined…

                      <add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}">

                          <areas>

                              <add name="Infrastructure" value="1" />

                              <add name="Module" value="2" />

                              <add name="Page" value="4" />

                              <add name="AppServices" value="8" />

                          </areas>

                      </add>

       </traceProviderDefinitions>

    Ora vedrete ASP.NET tra la lista di Provider quando userete il "Failed Request Tracing Rule".

    Per chi si avvicina per la prima volta ad IIS 7 segnalo l'articolo al link qui (in italiano).

    -Pietro

  • Pietro Brambati Blog

    Application Platform Roadshow: iniziamo a Palermo

    • 0 Comments

    Si è svolta ieri a Palermo la prima tappa dell' Application Platform Roadshow.

    Molti ed interessanti gli arogomenti trattati: la mattina dedica al professionisti IT ha come tema conduttore la Business Intellingence, mentre il pomeriggio dedicato agli sviluppatori è incentrato sulla nuova Piattaforma Applicativa Microsoft ed in particolare sulle ASP.NET AJAX Extensions ... e non solo.

    Renato Francesco Giorgini, che conduce insieme a Franco Perduca, la mattinata mi ha preceduto è ha già pubblicato una foto. Fate un giro sul suo blog .. non fa male.

    Quasi dimenticavo ... nel pomeriggio invece mi troverete come speaker.

    Quindi vi aspetto: iscriveti per le prossime tappe (Bari, domani, poi Rimini,Treviso, Roma e Milano) qui.

    P.S. Appena ho un po' di tempo vedrò di mettere on-line slides ed esempi... stay tuned.

    Per tutte le informazioni su ASP.NET AJAX, vi rimando al sito istituzionale: http://ajax.asp.net/. Inoltre vi segnalo i seguenti blog:

    -Pietro

  • Pietro Brambati Blog

    WPF/E Rilascita la CTP di Dicembre

    • 0 Comments

    E' stata rilasciata la CTP di WPF/E, dove ‘E’ sta per "Everywhere". Infatti questa è l'intenzione.

    Per utilizzare una applicazione WPF che gira in un browser, cioè un’applicazione XBAP, è richiesto che sulla macchina client siano installati .Net Framework 3.0 (WPF ne è una parte) e IE 6 o 7, questo permette di sfruttare a fondo tutte le funzionalità della piattaforma, compresa la GPU della scheda grafica se presente. WPF/E offre, invece, un sottoinsieme delle funzionalità di WPF ma per diverse piattaforme (Mac e Winndows) e diversi Browser (IE, Firefox e Safari).

    Da qui potete trovare molte informazioni e da dove scaricarla. In particolare vi segnalo le FAQ.

  • Pietro Brambati Blog

    Microsoft Expression Media Encoder e Silverlight

    • 0 Comments

    Scarichiamo :

     

    Con Expression Media Encoder è possibile importare video e renderli disponibili per il web in un formato adatto a Microsoft Silverlight. ASP.NET Futures, mi sono serviti per vedere funzionare il mio filmato in una applicazione ASP.NET, che supporti appunto AJAX e Silverlight. In particolare ASP.NET Futures contiene oltre le Microsoft AJAX Library, le estensioni ad ASP.NET delle prossime versioni di ASP.NET e richiede che venga installato il .NET Framework 3.5, in Beta1, quest'ultimo verrà richiesto di scaricare durante la fase di installazione se non già presente. L'instazzione delle ASP.NET Futures è necessario solo se si vuole realizzare un progetto web ASP.NET con il filmato realizzato.

    Per prima cosa importiamo un video: File-> Import ... nel mio caso ho preso uno dei sample video che avevo sulla mia macchina Vista. Nel manuale trovate la lista completa dei formati audio/video supportati ed eventuali codec necessari non presenti.

    Ecco come appare il Media Encoder dopo l'import

    image

    Ora possiamo fare delle operazioni di editing del viveo importato, ad esempio crop, trim. Nel mio caso ho fatto una semplice operazione di trim spostando gli indicatori di inizio e fine del filmato, come si vede nella figura seguente:

    image

    Ora possiamo passare alla parte relativa alla codifica del filmato. Perchè? In questo modo ottimizzeremo il filmato per essere fruibile usando Silvelight. Quindi scegliamo il profilo che meglio si adatta alle nostre esigenze, che definirà il bit rate e la dimensione del video. Interessante a questo punto la possibilità di comparare, in modo visuale, la codifica dei due filmati: quello originale e quello nuovo, secondo il profilo di codifica scelto. Premendo infatti il tasto image , facilmente rintracciabile, il pannello con la preview del filmato si sdoppia in due parti per il confronto:

    image

    Nel pannello di Output sotto Job Ouput è possibile scegliere il template da usare, cioè la "cornice" che il nostro filmato avrà dopo la codifica. Ad esempio, nelle immagini seguenti sono usati due template differenti (Pilot e Classic):

    image image

    Ora premiamo Encode, tasto ben in vista, per  la codifica. Alla fine della codifica si aprirà  il browser con un file html che contiene il nostro filmato.

    image

    Se apriamo la directory che contiene il file html dell'esempio ci accorgiamo che è già predisposto un progetto ASP.NET, apriamolo usando ad esempio Visual Web Developer Express Edition, dopo aver installato le componenti aggiuntive che dicevo all'inizio ed ecco fatto un semplice esempio già fatto !

    image

     

     

    Se apriamo il progetto con Visual Studio noteremo innanzi tutto i nuovi controlli aggiunti dalle ASP.NET Futures: quelli relativi ad AJAX e quelli relativi alle nuove estensioni.

    Aprendo la pagina default.aspx è possibile vedere quali controlli sono stati utilizzati per realizzare la semplice pagina di esempio: il noto <scriptManager .../> con cui viene abilitato il partial-rendering della pagina, ovvero ciò che è alla base del comportamento asincrono della pagina web. Notiamo inoltre il controllo <asp:Media ..../> con cui è possibile inserire il contenuto multimediale nella pagina. In particolre punta ad un file xml che contiene i file da caricare: XAML, e gli scrip javascript, la size della finestra del filamato e il riferimeto al filmato stesso. Il file XAML contiene la cornice del filmato stesso: quella con il tasto play etc.

     

    -Pietro

  • Pietro Brambati Blog

    TechEd Developer 2007 ...

    • 0 Comments

    TechEd 2007

    L'estate è il momento migliore per pianificare cosa fare l'anno successivo. Magari qualcuno di voi sta approfittando di questo momento di calma(?) per pianificare la sua formazione per il prossimo anno .... sì, aimè, per noi sviluppatori le cose da sapere non finiscono mai.

    Volevo quindi segnalarvi che è possibile iscriversi al TechEd Developer 2007. Penso che chi lo conosce abbia già avuto modo di apprezzare la qualità delle sessioni tecniche trattate, per chi non lo conosce: è uno degli eventi tecnici più importanti dell'anno e che quinidi merita la vostra considerazione. 

    Ve lo segnalo perchè chi si iscrive entro il 31 Luglio ha la possibilità di risparmiare un po' di soldi e quindi ...

    A questo link trovate la lista dei percorsi (track) che verranno affrontati, in breve sono:

    • Architettura: scegliere la giusta tecnologia per indirizzare i problemi che la vostra applcazione vuole risolvere.
    • Business Applications: si parla delle tecnologie, prodotti e soluzioni legate a Microsoft Dynamics.
    • Business Intelligence: sulla piattaforma BI di Microsoft
    • Connected Systems: NET Framework 3.0, in particolare Windows Communications Foundation, Windows Workflow Foundation e Windows CardSpace, ma anche BizTalk Server 2006 R2 e i BizTalk Services e di come queste tecnologie si inquadrano nella visione di "Software as A Services" and "Software + Services"
    • Database Development: sviluppo su SQL Server 2005 e su "Katmai", la prossima versione di SQL Server.
    • Designer: chi utilizza la suite di prodotti Microsoft Expression
    • Infrastructure for Developers: Ciò che uno sviluppatore deve sapere per realizzare applicazioni per Windows Server 2008, Microsoft Virtual Server R2 SP1, Windows Server Virtualization, Terminal Services, Server Clustering.
    • Mobile & Embedded: per chi sviluppa con Windows Mobile 6, Windows Embedded CE 6.0, il .NET Micro Framework, Windows XP Embedded e .NET Compact Framework 2.0
    • Office System: per chi sviluppa con Microsoft Windows SharePoint Services, Microsoft Office SharePoint Server 2007, Microsoft Office client suites , Visual Studio Tools for Office STO SE, Visual Studio 2005 Extensions for SharePoint, Open XML File Formats e Windows Workflow Foundation e per chi è interessato a creare applicazioni "Office Business Applications" (OBA)
    • Security: Security Development Lifecycle (SDL), Cryptography, Windows Vista Security (e.g. User Account Control), Windows CardSpace, Active Directory Federation Services (ADFS).
    • Tools & Languages: ADO.NET Entity Framework e.NET Language Integrated Query (LINQ) e Windows Presentation Foundatio (WPF).
    • Web Development: IIS 6.0/7.0, ASP.NET 2.0, ASP.NET AJAX Library, ASP.NET 2.0 AJAX Extensions, ASP.NET AJAX Control Toolkit, RSS, IE7, Windows Live™ Platform ed Expression Studio.
    • Windows and Frameworks: sviluppo di codice managed ed unmaged

    Qui qualche sessione di esempio.

    Non dimenticatevi di iscrivervi.

  • Pietro Brambati Blog

    Uno sguardo al nuovo Visual C++ in Visual Studio 2008 ('Orcas')

    • 0 Comments

    Oggi mi sono imbattutto in un articolo molto interessante e sintetico sulle novità del Visual C++ nel prossimo Visual Studio 2008(in inglese), che per chi di voi è interessato vi consiglio di leggere.

    Due le aree trattate:

    1. Supporto per lo sviluppo di applicazioni in Windows Vista. Applicazioni che vogliono avere il "look" di un'applicazione alla Windows Vista e applicazioni che interagiscono con lo User Account Control (UAC)
    2. Supporto per lo sviluppo di applicazioni C++ che interagiscono con il CLR: marshaling di tipi nativi e tipi CLR, etc

    Oggi se si vuole realizzare un'applicazione con il look di Vista e non si vogliono utilizzare direttamente le API native del sistema operativo, si ha la possibilità di utilizzare "Vista Bridge", che si trova nel Windows SDK e che, in buona sostanza, è una serire di Wrapper, di esempio, su alcune delle nuove API che sono, così, rese disponibili al mondo .NET. Per chi è interessato può dare uno sgurdo a questa presentazione e a questo post, in cui in parte parlo di Vista Bridge. Il nuovo VC++ ha esteso le MFC per aggiungere il supporto ai nuovi elementi della User Interface(UI) e ai temi di Vista: Common File Dialog, Windows trasparenti, Common Link Control, etc.  La cosa interessante è che se creiamo, ad esempio, una FileDialog su Vista viene visualizzata con il nuovo look, mentre se la stessa applicazione viene fatta girare su un'altro sistema operativo, come 2000, viene visualizzata nel "vecchio modo". Un'applicazione già compilata con la versione precedente delle MFC, invece, presenta la Dialog tradizionale anche su Vista. Così è comunque possibile usare le nuove MFC e forzare il look tradizionale anche su Vista, impostando un opportuno parametro ( i dettagli li trovate nell'articolo segnalato).

    Una delle maggiori nuovità per la sicurezza in Vista rigurada lo UAC, che consente alle applicazioni di girare con i privilegi minimi richiesti, anche se l'utente che si è loggatto alla macchina, e il cui account sta facendo girare l'applicazione, appartiene al gruppo degli amministratori. Una applicazione che vuole a pieno sfruttare l'UAC e funzionare nel modo più consono all'applicazione stessa deve avere un manifest opportuno. In Visual Studio 2008 esiste un nuovo switch per il linker che permette la generazione automatica del manifest. Il comportamento di default impostato nel manifest è "As-Invoker", cioè l'applicazionie gira con i privilegi (token di sicurezza) del processo che l'ha lanciata.

    image 

    Per chi ha avuto modo di utilizzare il C++ "mixando" tipi nativi e tipi CLR, usando ad esempio il C++/CLI in Visual Studio 2005, o le precendenti Managed Extensions for C++, si sarà sicuramente imbattuto nelle problematiche di marshaling tra tipi nativi e tipi CLR, in particolare per le stringhe. Guardate i file marshal*.h in "C:\Program Files\Microsoft Visual Studio 9.0\VC\include\msclr". In Visual Studio 2008 è stata aggiunta una libreria di marshaling per i tipi più comuni di stringhe. Nell'articolo che vi ho segnalato vengono poi puntalizzate altre novità per chi sviluppa usando il CLR dal VC++.

    Buona lettura.

  • Pietro Brambati Blog

    Seminiario a Pisa sul Kernel di Windows

    • 0 Comments

    Come promesso pubblico il materiale usato durante il seminario della scorsa settimana alla facoltà di Ingegneria a Pisa sul Kernel di Windows (XP/2000/2003).

    Il primo zip contiene le slides, tratte dal Windows Academic Program, di cui parlerò specificamente in un prossimo blog. Il secondo contiene i tool usati durante il seminario.Questi e molti altri sono scaricabili dal sito www.sysinternals.com.

    File Attachment: Windows Kernel Pisa 06 slides.zip (1026 KB)

    File Attachment: Windows Kernel Pisa 06 demo.zip (4017 KB)

  • Pietro Brambati Blog

    Oggi al via il REMIX 07 ...

    • 0 Comments

     

    Oggi inizia a Milano, nella nostra sede di Segrate, il REMIX: la riedizione dell'evento tenutosi qualche settimana fa a Las Vegas e rivolto alle novità tecnologiche per il Web.

    L'evento è rivolto sia a Designer che a sviluppatori, molti i temi trattati dai colleghi americani: Silverlight, WPF, Windows Live, Microsoft Expression Studio, le novità su ASP.NET e Visual Studio e senza dimenticare lo sviluppo con AJAX e di Gadget per Windows Vista.

    Vi consiglio di dare un occhiata al blog "live" che verrà aggiornato in continuo anche nei prossimi giorni e che trovate qui.

    Non perdetevi quindi la possibilità di rimanere aggiornati sulle tecnologie Microsoft per il Web.

    -Pietro

  • Pietro Brambati Blog

    Seminario all' Universita' degli studi di Palermo

    • 0 Comments

    Forse un po’ in ritardo, comunque ecco le slides usate durante il seminario su ASP.NET 2.0 e ASP.NET AJAX.

    File Attachment: Programming ASP.Net 2.0 e MS AJAX.pdf (1479 KB)

    Grazie a tutti per la partecipazione e complimenti a chi ha guadagnato un credito formativo.

  • Pietro Brambati Blog

    ASP.NET AJAX 1.0 RC : e' stata rilasciata

    • 0 Comments

    Dopo la Beta2 ecco la RC (Release Candidate) di ASP.NET AJAX. Per gli impazienti potete scaricarla qui.

    Veniamo alle differenze con la Beta 2. E’ disponibile il documento di migrazione dalla Beta2 alla RC:

    • La differenza maggiore riguarda i namespace che sono cambiati da Microsoft.Web.* a System.Web.*. Questa modifica è stata fatta per meglio unifomarsi ai namespace del .NET Framework. Dal punto di  vista applicativo questo comporta la modifica dei files web.config nonchè della dichiarazione dell’ attributo ScriptService. Consultate il documento di migrazione per i dettagli e la sintassi.
    • I namespace delle classi JavaScript sono rimasti inalterati.

     

  • Pietro Brambati Blog

    Per iniziare a lavorare con WPF

    • 0 Comments

    Per chi vuole iniziare a lavorare con WPF e si sta chidendo: cosa serve a Visual Studio 2005? Dove posso trovare qualche utile tool? Dove le applicazioni di esempio? Bene vi segnalo questo blog di Tim Sneath in cui avete condensato in una pagina molti utili link e informazioni per crearvi una macchina di sviluppo con tutto il necessario.

    Per chi di voi che non sa molto di WPF (Windows Presentation Foundation) può trovare alcune slides in italiano qui.

  • Pietro Brambati Blog

    Aggiungere interazione a contenuti 2D mappati su elementi 3D in WPF

    • 0 Comments

    Nella versione odierna di WPF non è sempre facile rendere interattivi contenuti 2D che vengono mappati su un elemento 3D. Pensiamo ad esempio di avere un rettangolo che contiene un semplice bottone al quale è associto un evento di click. Se mappiamo questo elemento su una sfera perdiamo l'interattività offerta dal nostro bottone.

    La possibilità di rendere dunque interattivi questi elementi 3D non è offerta direttamente da WPF. Però per chi fosse interessato a questa funzionalità consiglio di utilizzare i 3DTools.

    I 3DTools sono una libreria che rende facile questa operazione estendendo le funzionalità di WPF. Vi consiglio di leggere questo blog per rendervi conto delle potenzialità.

    Come spiegato il "trucco" usato sta nell'intercettare la posizione del mouse che si muove sull'elemento 3D e riportarla su un piano nascoto (ma abilitabile per scopi di debug) che ne rappresenta la controparte in 2D.

    L'immagine seguente, presa da uno degli esempi che potete scaricare con le librerie, dovrebbe chiarire il concetto.

    s

    Come si veve abiltando il flag "Truth" viene mostrato il piano 2D che intercetta l'immagine 3D rappresentata. 

    Spero sia utile a qualcuno.

    -Pietro

  • Pietro Brambati Blog

    Windows Embedded Academic Program (WEMAP)

    • 0 Comments

    In questi mesi ho spesso parlato con docenti universitari di un programma Microsoft, realizzato in collaborazione con il mondo accademico, che ha come fine quello di rendere facile l'insegnamento del Kernel di Windows nei corsi di sistemi operativi. Il programma prevede anche di poter utilizzare il codice sorgente di Windows nei corsi o a scopi di ricerca, si chiama Windows Academic Program(WAP) e ne ho già discusso in un mio precedente blog, che trovate qui.

    Mi è stato chiesto anche se esisteva della documentazione per Windows CE 6, da poco rilasciato, in generale del materiale per i sistemi operativi embedded. Bene oggi vi parlo del Windows Embedded Academic Program (WEMAP). Questo è un programma che, in analogia al precedente, facilità l'insegnamento di tematiche relative ai sistemi operativi per dispositivi embedded. Potete scaricare la prima versione del materiale a questo link.

    Con questo programma i docenti hanno a disposizione slides e laboratori per realizzare un corso base e usare Windows CE come tool per insegnare agli studenti come si sviluppa su sistemi embedded. Per rendere più concreto il corso è stata scelta la piattaforma ICOP eBox 2300 come riferimento per i laboratori e gli esercizi. Questa piattaforma utilizza un processore x86 con 128 MB di RAM, una versione preinstallata di Windows CE ed il costo dovrebbe essere di circa 165 USD. Maggiori dettagli possono essere trovati qui.

    Qualche slides presa da WEMAP

     

     

     

    Spero questo materiale, nato da una collaborazione tra Microsoft e il mondo universitario, possa essere utile anche nelle università italiane.

     

    -Pietro

  • Pietro Brambati Blog

    Rilasciato ASP.NET AJAX 1.0

    • 0 Comments

    Non potevo certo scegliere un titolo diverso per questo blog.

    E' stata rilasciata la versione finale di ASP.NET AJAX 1.0. E' ora disponibile una tecnologia che va ad indirizzare la crescente richiesta di realizzare applicazioni web dalla ricca e responsiva interfaccia e che fossero in linea con le nuove esigenze della programmazione web. Proprio in questo senso, ASP.NET AJAX va, prima di tutto, ad estendere la piattaforma Microsoft ed il Microsoft .Net Framework, arrichendone ulteriormente le funzionalità.

    ASP.NET AJAX è composto da tre componenti:

    ASP.NET 2.0 AJAX Extensions: rappresentano le funzionalità "core", direi anche le più potenti. Infatti grazie ad una serie di controlli lato server, alla ASP.NET, per intenderci, è possibile rendere un sito alla AJAX in poco tempo, migliorando così l'utilizzabilità e l'esperienza dell' utilizzatore. Queste estensioni della piattaforma ASP.NET si appoggiano su un insieme di librerie in JavaScript note come Microsoft AJAX Library; librerie che estendono la parte client; in questo modo è così possibile andare ad aggiungere funzionalità AJAX a piattaforme come PHP e ColdFusion. Con le ASP.NET 2.0 AJAX Extensions c'è il supporto di Microsoft 24x7x365.

    Verrà inoltre rilasciato il codice sorgente delle ASP.NET 2.0 AJAX Extensions con la seguente  licenza Microsoft Reference License (Ms-RL), con l'intenzione di facilitare gli sviluppatori nelle operazioni di debugging, di manutenzione e interoperabilità. Ms-RL non permette la modifica o la redistribuzione o la compilazione in forma binaria.

    Le Microsoft AJAX Library, invece, sono distribuite secondo la Microsoft Permissive License (Ms-PL). Gli sviluppatori sono liberi di modificare e ridistribuire le librerie JavaScript modificate.

    ASP.NET AJAX Futures CTP: girano sfruttando la parte "core", ma aggiungono delle funzionalità alla piattaforma ASP.NET AJAX 1.0 che rimangono, però, aperte a sviluppi futuri. 

    ASP.NET AJAX Control Toolkit: sono una collezione di esempi e componenti che arrichisce le funzionalità offerte dalla piattaforma ASP.NET AJAX 1.0. Permettendo inoltre di realizzare nuovi componenti ed extenders facilmente riutilizzabili dagli sviluppatori. Il Control Toolkit è ospitato su CodePlex, da cui è possibile scaricare anche il codice sorgente.

    Non poteva mancare un riferimento al blog di ScottGu per avere altre informazioni.

    Happy coding!

    -Pietro

  • Pietro Brambati Blog

    Slides evento Microsoft all' I.S.I.I. G.Marconi di Piacenza

    • 0 Comments

    Questo è l'ultimo evento a cui ho parteciapato come speaker.

    L'evento ha avuto come tema dominante la piattaforma web e quindi le tecnologie ed i tool legati ad ASP.NET 2.0. La mattina è stata dedicata agli studenti, ai quali ho fatto circa 3 ore di sole demo usando Visual Web Developer 2005 Express Edition in italiano, nessuna slides, e quindi per questa parte non ho nulla da condividere.

    Nel pomeriggio invece ho parlato ai docenti, i quali mi hanno chiesto cortesemente di condividere il materiale usato. Eccolo. Spero possa essere utile ed utilizzato nelle forme e nei modi ritenute più corrette dagli insegnanti.

    Il primo gruppo di slides offre una panoramica sul Microsoft .Net Framework, mentre il secondo gruppo affronta i diversi modelli di programmazione sul web: dalle pagine statiche in HTML fino alla tecnica di programmazione nota come AJAX.

    Scarica le slides sul Microsoft .NET Framework.

    Scarica le slides sui Modelli per lo sviluppo di Applicazioni web.

    -Pietro

  • Pietro Brambati Blog

    Windows Vista Kernel (2)

    • 0 Comments

    E' stata da poco pubblicata la seconda parte dell'articolo (in italiano) di Mark Russinovich sulle novità del kernel di Vista. Non posso che consigliarvi di leggere anche questo, se volete sapere quali miglioramenti sono stati apportati al Kernel di Vista: Dynamic Kernel Address Space, Memory Priorities, SuperFetch, ReadyBoost, ReadyBoot, ReadyDrive, Boot Configuration Database e molto altro.

    Buona lettura

  • Pietro Brambati Blog

    Visual Studio 2005 Service Pack 1 Update for Windows Vista

    • 0 Comments

    E' indicato per chi sviluppa con Visual Studio 2005 su Windows Vista. Occorre avere già installato la Service Pack 1 di Visual Studio 2005

    Scarica qui. Maggiori informazioni qui.

    Per chi non ha installato la Service Pack 1 di Visual Studio 2005 può trovare qui i link a dove scaricarla per le differenti versioni di Visual Studio 2005

  • Pietro Brambati Blog

    Aspire Architect Tour

    • 0 Comments

    GUISA

    Ieri si è svolta la prima giornata dell' Aspire Architect Tout. Un tour dedicato agli "Architetti del Software" in collaborazione con alcune università italiane.

    Di cosa tratta?

    Partendo dalla definizione del ruolo dell'architetto all'interno dell’economia di un team, approfondiremo UML quale formalismo di espressione del progetto, giungendo ad introdurre i Domain Specific Languages. Progettare un sistema comporta la distribuzione delle responsabilità attinenti la logica di dominio e la gestione dei dati: partendo dai "classici" pattern architetturali (Transaction Script, Table Module, Active Record e Domain Model), arriveremo a definire il Service Layer quale luogo della application logic e affronteremo le tematiche di accesso ai dati, partendo da un approccio tradizionale e giungendo alle problematiche di object/relational mapping, avvalendoci degli strumenti odierni (NHibernate) e futuri (LINQ).
    Non trascureremo, infine, tematiche fondamentali quali gli idiomi caratteristici della progettazione in ambiente .NET e la "sicurezza" della soluzione, concludendo il seminario affrontando le problematiche di progettazione della interfaccia utente, sia essa di tipo Web o smart client.Tutte le dimostrazioni saranno basate su un progetto reale, reso disponibile con licenza open source a tutti i partecipanti.

    Per iscrizioni ecco il link: http://www.microsoft.com/italy/msdn/risorsemsdn/eventi/aspire.mspx.

    -Pietro

  • Pietro Brambati Blog

    Windows Mobile 6: le novita' e SDK

    • 0 Comments

    Vorrei segnalarvi questo articolo (in inglese) sulle novità per lo sviluppo con Windows Mobile 6. Mi sembra veramente ben fatto e completo.

    Se dopo la lettura vi viene voglia di scaricare il nuovo SDK per Windows Mobile 6, seguite questo link.

    Per chi viene da Windows Mobile 5, la prima cosa da tenere presente è la nuova nomenclatura per riferirsi alle diverse piattaforme di sviluppo. In particolare vale la tabella seguente, in cui viene tracciata una corrispondenza con le precenti versioni di Windows Mobile:

    • Windows Mobile 5.0 for Smartphone -> Windows Mobile 6 Standard
    • Windows Mobile 5.0 for Pocket PC Phone Edition ->Windows Mobile 6 Professional
    • Windows Mobile 5.0 for Pocket PC -> Windows Mobile 6 Classic

    Individuata la piattaforma preferenziale di sviluppo ecco come scegliere l'SDK più adatto alle nostre esigenze:

    • Windows Mobile 6 Standard -> Windows Mobile 6 Standard SDK
    • Windows Mobile 6 Professional -> Windows Mobile 6 Professional SDK
    • Windows Mobile 6 Classic -> Windows Mobile 6 Professional SDK

    Teniamo però presenti i seguenti requisiti per l'installazione:

    • Visual Studio 2005 Standard Edition, Professional Edition, o Team System (Necessario)
    • Visual Studio 2005 Service Pack 1 (Necessario per chi sviluppa su Vista)
    • ActiveSync 4.5 o maggiore (XP) o Windows Mobile Device Center (Vista)
    • .NET Compact Framework 2.0 Service Pack 1
    • Windows Mobile 6 Professional SDK o Windows Mobile 6 Standard SDK (Necessario)

    -Pietro

  • Pietro Brambati Blog

    Seminario Microsoft Robotics Studio alla 'La Sapienza'

    • 0 Comments

    Direi che questo è proprio da non perdere.

    Il giorno 12 Aprile si terrà all' Università degli Studi di Roma "La Sapienza" un seminario su Microsoft Robotics Studio (MSRS). Il seminario verrà tenuto da persone del team MSRS di Redmond ... non perdetelo.

    Ecco i dettagli logistici:

    Aula 1 in via Eudossiana 18, Roma. Orario 10-12

    Ecco l'abstract:

    Microsoft Robotics Studio (MSRS)- A Technical Introduction

    To further accelerate the growth of the emerging field of robotics, Microsoft has created a new software development kit for the robotics community – the Microsoft Robotics Studio (MSRS). MSRS provides a software platform that enables the development of a wide variety of applications which can be used across a variety of hardware, applicable to a wide audience of users.

    The robotics session will provide both a high level overview of the MSRS tools and runtime. The content is suited to both novices as well as advanced robotics professionals. The following areas will be covered in this technical introduction:

    -A scalable, extensible concurrency and distributed runtime architecture that can span a wide variety of hardware and devices. The programming interface can be used to create applications to drive robots using 8-bit or 16-bit processors (from a connected PC) as well as 32-bit systems with multi-core processors; and devices from simple touch sensors to laser distance finding devices.

    -A set of tools that make programming and debugging robot applications scenarios easier. These include a high resolution visual simulation environment that integrates 3D software physics supplied by the Ageia Technologies PhysX engine. While Microsoft Robotics Studio can be used with programming languages such as those included in Microsoft Visual Studio and Microsoft Visual Studio Express, also included is a new visual programming language that enables the creation of applications using a simple drag-and-drop interface.

    Un aggiornamento a questo post: il seminario è stato tenuto da:

    Joseph Fernando

    Architect & Program Manager

    Robotics Group

    josephf@microsoft.com

    Se siete interessati a MSRS e pensate di utilizzarlo per progetti e/o ricerca sentitevi liberi di contattarlo.

    -Pietro

  • Pietro Brambati Blog

    IIS 7 Output Cache

    • 0 Comments

    Una delle funzionalità meno note di IIS 7 è la possibilità di usare un tipo particolare di Cache, detta Output Cache, attenzione a non confonderla con la Kernel Mode Cache.

    La Output Cache funziona in user-mode (IIS worker process) e fornisce funzionalità simili alla cache di ASP.NET, ma con una importante differenza: essendo integrata in IIS 7, fornisce queste funzionalità di cache non solo alle pagine ASP.NET, ma anche a contenuti dinamici di natura diversa, come le pagine ASP e PHP.

    Come funziona? Si basa sulla possibilità di riconoscere i deversi contenuti di una pagina usando la query string o gli header Http. Mi spiego meglio. Inanzitutto va ricordato che in IIS 7 possiamo avere dei file web.config per la configurazione del comportamento di IIS anche in una directory che contiene solo contenuti statici o non-ASP.NET. Immaginiamo di avere una applicazione web del tipo http://server/GetBike.asp?type=tipo1 . Il parametro type nella query string permette di distringuere quale tipo bicicletta visualizzare. Nel nostro web.config possiamo scrivere qualcosa del genere:

    <system.webserver>
    <caching>
     <profiles>
    <add varybyquerystring="*"location="Any" duration="00:00:01" policy="CacheForTimePeriod" extension=".asp">
     </profiles>
    </caching>
    </system.webserver>

    Questo permette di effettuare il caching della pagina asp, si noti il parametro extension, in base al variare della query string, parametro varbyquerystring. Il parametro CacheForTimePeriod definisce una delle modalità di invalidazione della cache, in questo caso per time-out.

    Prima ho parlato della Kernel Mode Cache (già presente in IIS 6); la prima differenza rispetto alla precedente è che questa lavora in modalità Kernel :-). Ci sono due differenze di base rispetto a questi due tipi di cache:

    • la Kernel Mode Cache non supporta il parametro varyByQueryString, che abbiamo usato in precedenza nell'esempio, ma solo il varyByHeaders.
    • la Kernel Cache ha delle limitazioni rispetto ai tipi di richiesta che può mettere in cache. Date un occhio a questo articolo della Knoledge Base per dettagli.

    Per approfondimenti ulteriori sulle modalità di uso dell' Output Cache vi consiglio di partire da qui (in inglese).

    -Pietro

  • Pietro Brambati Blog

    Slides evento UnyOnAir

    • 0 Comments

    Sabato scorso ho avuto modo di parteciapare a UnyOnAir, un progetto ideato da Radio 24 che aiuterà gli atenei italiani a creare la propria web radio.

    All'evento erano presenti ragazzi di diverse università italiane di tipo diverso, per la maggior parte, non informatici. Nel mio breve intervento non ho avuto modo di far vedere le slides con i riferimenti da cui scaricare gli strumenti che ho usato. Ecco quindi le slides che vogliono essere un punto di partenza per chi vuole incominciare a sviluppare applicazioni web.

    -Pietro

  • Pietro Brambati Blog

    Virual Earth 6.1 & Javascript support in Visual Studio 2008

    • 0 Comments

    Una delle novità che durante il lancio di VS 2008 ho visto essere più apprezzate, per chi sviluppa per il web, è il supporto per l'intellisese del JavaScript che viene sicuramente in aiuto in molti siti che ne fanno sempre più uso.

    Dopo il recente annuncio della nuova versione delle API e del controllo di Virtual Earth 6.1 sono state aggiornate su CodePlex le librerie che consentono di avere il supporto per JavaScript quando si sviluppa con Virtual Earth. Come ho avuto modo di mostrare di recente, per creare un' applicazione che usa VE basterebbe una semplice pagina HTML, scritta con notepad,  che fa delle semplici chiamate in JavaScript. Ora, non so quanti oggi siano disposti a seguire questa modalità di programmazione, ma per chi, come me, preferisce un po' di aiuto dato da VS 2008 troverà sicuramente utili le librerie seguenti, che vi consentono di avere supporto pieno all' intellisese con Virtual Earth 6.1 quando lavoriamo in Visual Studio 2008.

    Quindi scaricate come prima cosa le  Virtual Earth JavaScript Intellisense Helper .

    Come usarle

    Una volta scaricato da CodePlex il progetto, se volete riutilizzare le librerie in un vostro progetto, potete semplicemente copiare la cartella VEJS, che contiene il riferimento a VeJavaScriptIntellisenseHelper.js. nel folder del vostro progetto e referenziarlo come vedete in figura. La pagina default.aspx, utilizza la sezione Scripts dello ScriptManager per istanziare i controlli VE 6.1 (nella figura non è visibile chiaramente) e il file javascript da me creato mymap.js che conterrà la logica per interagire con le mappe ed i riferimenti all' helper VeJavaScriptIntellisenseHelper.js che, a design-time, sarà responsabile di fornire il supporto all' Intellisese per VE 6.1.

    image 

    Vediamo ora come è fatto il file mymap.js: il file contiene, con la sintassi di Visual Studio 2008, il riferimento al file js che contiene l'Help per il Javascript di Virtual Earth. Come vedete, sulla funzione Load dell'oggetto map ho l'intellisese per il controllo.

    Nel file ho evidenziato in verde e in giallo due punti particolari del codice che ora vado a spiegare. In verde viene instanziata la classe VEMap a livello di pagina, questo consente, quando lavoriamo a design-time, di poter avere l'intellisese sull'oggetto map in tutte le funzioni in cui viene usato localmente. La funzione AddPushpin, infatti, utilizza di nuovo l'oggetto map, richiamando il metodo AddShape per aggiungere un Pushpin. Se non avessimo istanziato a livello di pagina l'oggetto map, il supporto per l'intellisese si sarebbe limitato solo alla funzione pageLoad(). Quindi questo approccio funziona bene per quando lavoriamo a design-time.

    Nel momento in cui, non ci interessa più avere il supporto a design-time, perchè andiamo a rilasciare l'applicazione, possiamo invece istanziare la classe VEMap , come viene usualmente fatto e inizializzare a null, l'oggetto map, come nella parte gialla. Il motivo di questo artificio è che a causa di una limitazione del JavaScript, se usassimo subito la parte in giallo, quella standard per l'uso delle librerie di VE, avremmo intellisesse sull'oggetto map solo nella funzione pageLoad e non nella AddPushpin ed in tutte quelle successive.

    image

    Conclusione

    In questo breve post avete visto un vantaggio del supporto al JavaScript di VS 2008 per chi sviluppa con VE e di come siano utili le nuovissime librerie che ci risparmiano un po' di lavoro quando lavoriamo con VE.

    Happy Coding with VS 2008 + VE 6.1

Page 8 of 11 (261 items) «678910»