ottobre 2003 Blog Posts
La maggior parte delle sessioni di questa mattina sono panels ovvero sessioni di QA con il pubblico. Ho spizzicato "CLR internals" (dove Raf ha inchiodato i guru di C++ e C#) e "Hosting CLR in your application".Data la natura delle sessioni non è facile bloggare dettagli interessanti diciamo che quello che traspare è la massima disponibilità e rilassatessa dei teams e l'interesse verso i feedback dagli utenti.Questo è il mio ultimo blog da PDC, fra un ora inizia il lungo ritorno in Italia, mi sono organizzato con un po di materiale da leggere (credo che mi leggerò "Introducing LongHorn for...
Agli Universal Studios di Holliwood!, ben 7000 persone presenti tutte indaffarate a provare le attrazioni dimenticando (non tutti ovviamente) .NET, LongHorn e tutto il resto.Purtroppo il tempo era poco e quindi ci siamo dovuti accontentare di Terminator 3, L'Uomo Ragno, Jurassic Park, e Ritorno al futuro. :-)Non credo sia necessario ricordarlo ma, per chi viene a Los Angeles gli Studios insieme a Walk of Fame e Disneyland sono un must.Se per caso nel wekend non sapete cosa fare, ecco un ottima alternativa... :-)
Sono riuscito a seguire qualche minuto della sezione dedicata al nuovo compact framework presente in Whidbey, ecco alcune news:I Wwinforms per il CF sono stati notevolmente migliorati ora supportano Docking,Ancoring,Tabbing e Autoscroll (inserite piu' controlli e il form scrolla auromaticamente), Skinning e Rotation (ruotate il PPC e il form gira e si autoadatta automaticamente!)Clipboard: Disponibile anche nel CF.Direct3D e DirectDraw: presenti!Un nuovo controllo EventNotificationBroker permette di avere essere notificati quando un determinato evento accade (ad esempio quando arriva un SMS...)Phone Call Control (fare una chiamata via software dallo smartphone e' semplicissimo)Pieno supporto per IPV6 e namespace System.Messaging (per MSQM)Finalmente XmlSerialization/XmlSchema/XPath,...
Kit George, ci mostra alcune novita' del .NET Framework 2.0Avete idea di quanto sia difficile trovare un valore all'interno di una hashtable nella watch window?, bene nella v2.0 attraverso nuovi attributi tipo DebuggerDisplayAttributes e' possibile decidere come i nostri oggetti appariranno nella finestra.Risorse:Resgen ha un nuovo switch che oltre a generare il file .resource genera una classe C# o VB che possiamo includere nel nostro progetto e richiamare le nostre risorse in maniera Type-Safe (bye bye ResourceManager...)Friend Assemblies:Avete una classe internal e vi farebbe comodo esporla ad una determinata assembly (ma solo a quella...) bene una attributo e via! (Friend...
Sessione lampo! 40 minuti per introdurre alcuni concetti che dovremmo considerare quando svilupperemo applicazioni disconnesse.Alcune news le ho indicate ieri nel mio blog su System.NET, la novita' e' che LongHorn avra' anche delle Location APIs che ci permetteranno di identificare e localizzare dove si trova un determinato client (alla faccia della privacy!)
Rick Rashid Senior Vice President di Microsoft research ci ha portato oltre LongHorn mostrando come parte delle tecnologie che usiamo oggia siano state pensate nei laboratori di MS Research (cito i Tablet PC...)Successivamente sono state mostrate alcune applicazioni che, seppure embrionali, mostrano cosa sia quello che ci aspetta (le potete vedere ul sito MS Research)In campo universitario la possibilita' di remote learning e' ormai una realta' e gli SPOT (smart personal object technology) sono pronti a ready to ship (per i curiosi montano un ARM a 27 MHZ on 512 K ROM, 38K Ram e 32 K EEProm).Il futuro?, connected...
Ori Amiga (PM mobile devices, sulla destra) e il senior Manager della divisione Mobile...
Riprendo il discorso su VB.NET e WhidbeyCome in VB6 sara' possibile avere Get e Set con diversi livelli di visibilita'Anche VB.NET avra' la keyword Continue
Una nuova keyword IsNot che potremmo usare If Person IsNot Nothing then...End If
Unsigned types (UInteger,UByte,ULong) pienamente supportati.Per maggior chiarezza sara' possibile scrivere Dim x (0 to 5) attenzione che la base e' (e rimane!) zero.Anche VB.NET avra' l'enunciato Using (era ora!)Come C# anche VB.NET supporta i Partial Types, cosa sono?, classi splittate tra loro che rapprsentano alla fine un unica classe
Partial Class Pippo Public sub A End SubEnd Class
Public Class Pippo Public Sub B End SubEnd Class
Dim X as New Pippopippo.APippo.B
Whidbey...
Visto che il futuro sara "Connesso" sono andato a vedere quali novita' ci offre il namespace System.Net in Whidbey.L'argomento e' molto "under the hood" e lo speaker non e' senz'altro Don Box, pero' le novita' sono interessanti: Finalmente avremo il support FTP direttamente nel framework (FTPWebRequest) oltre questa, una nuova classe HttpChacheRequest che permette di memorizzare i dati scaricati nella cache locale ed eventualmente recuperarli.La classe WebProxy sulla quale si basano parecchie classi di System.Net e' stata migliorata per gestire meglio il proxy, attualmente pur basandosi sulle impostazioni di IE certe volte il proxy non viene correttamente identificato.Le operazioni asincrone...
Fa sempre piacere incontrare persone del calibro di Paul Vick e Amanda Silver agli speech su VB.NET.Brevemente: Le novita' sono parecchie, a partire dal namespace My che semplifica notevolmente la vita dei programmatori VB.Le proprieta' del progetto sono ora contenute in un designer specifico e questo inclusi i settings dell'applicazione (accessibili da My.Settings) i quali (udite udite) sono r/w e personalizzabili per utente.Nuovi eventi: App.Start, App.Shutdown, App.UnhadledException e App.NetworkConnected e Disconnected.Gli snippet di codice sono presenti dovunque e grazie ad un designer apposito creare i propri snippets (parametrizzabili alla C#) non e' difficile, gli snippets possono essere condivisi tra i...
Che dite se fosse possibile avere la possibilita' di aggiornare le vostre applicazioni Win32 con la stessa facilita' con cui si aggiorna una pagina web?, bene, e' finalmente possibile grazie a ClickOnce.Di cosa si tratta: E' una nuova features del framework di Whidbey (e nativamente presente in LongHorn) che integra molte delle funzionalita' del attuale MSI installer.Mi spiego meglio: Con Whidbey dopo avere sviluppato un applicazione Win32 potete decide di pubblicarla, ovvero metterla su un server Web oppure su un disco condiviso in rete e dire ai vostri utenti, vuoi provare la mia applicazione? clicca su questo link!.L'applicazione verra' scaricata...
Eric Rudder ha introdotto le nuove features di Whidbey e pur essendo gia' un prodotto che conosco ammetto di essere rimasto comunque colpito, sopratutto perche' a diferenza di LongHorn uscira' nella seconda meta' del 2004, quindi 'a breve'.Ari Bixorn a mostrato le nuove features di VB.NET (e qui gli applausi si sprecavano...), oltre all'ormai famosissimo ritorno di Edit & Continue (solo in VB.NET) ha creato un applicazione che senza scrivere una riga di codice si collega ad una base dati e visualizza il contenuto in un windows form, in questo era contenuto un nuovo InkControl dedicato ai Tablet PC, anche...
Per chi non lo sapesse Robert Scroble, oltre che essere un LongHorn Evangelist è ormai "The Blog Man" per definizione...Robert, It was a great pleasure to know you this evening and to know you get my blogs even if you don't understand them... ;-)As promised, here's your 1st Italian lesson:"Hello, How are you?" becomes "Ciao, come va?"See ya!
Qualche foto scattata oggi...
Descrivere una sessione di Don Box non e' facile, sopratutto perche', d'abitudine, il numero delle slides e' ridotto all'osso mentre le parole sono tante e Don e' un grande oratore.Argomento: "Indigo" ovvero Connettivita'.Don esordisce dicendo: "No program is an Island" ogni programma ha bisogno di interagire con altri programmi, programmi che posso stare anche essere su macchine diverse. Nell'ultimi anni si e' cercato di realizzare questo ma con scarsi risultati (DCOM) sopratutto perche' non si e' capito che quello che e' perfetto sulla carta puo' non esserlo nelle applicazioni reali.Microsoft sta lavorando su Indigo da 3 anni e rappresenta la tecnologia...
Utilizzando i bits consegnati oggi è già possibile sviluppare applicazioni che hanno il look and feel di LongHorn, dopo avere installato, LongHor,Whidbey e il Longhorn SDK (in questo ordine...), in VS2004 appaiono una lunga serie di nuovi progetti "LongHorn related".Come gia detto prima, la parte grafica è contenuta in files .xaml (files xml che descrivono la parte grafica) il cui editing è, al momento, piuttosto macchinoso (bisogna editare l'xml a mano) però le potenzialità dei nuovi controlli (es. GridPanels,FlowPanels...) è notevole e il rendering è tale da rendere "vecchie" le attuali applicazioni windows xp style.Oltre ai vari controlli "Avalon" ci sono anche...
Prendete i 23 MB del framework, comprimeteli, comprimeteli e comprimeteli fino ad arrivare a circa 40Kb metteteli all'interno di un orologio ed avrete SPOT (simple portable objects technology).Ovviamente non aspettiamoci di trovare tutto quello che abbiamo nel .NET Framework e non aspettimoci di poter scrivere applicazioni Windows Forms (non ho ancora capito, in realtà se lo sviluppo sarà limitato ai soli OEMs) però dai prototipi visibili qui, avere il framework nel telecomando o nel portachiavi apre senz'altro nuovi orizzonti.Dettagli tecnici:Il codice è interpretato, non jittato perchè il codice generato è più piccolo, però è un vero OS preempitivo che nel suo...
Ho visto il futuro: Senz'altro direte "Esagerato!" però non ci sono parole per siegare quello che abbiamo visto in queste tre ore e ciò che mi fa pensare è che tutto quello che ho visto è vero, è codice che è stato scritto e stava girando davanti a me, e la prima cosa che ho pensat è "Questo è il futuro, ed è fantastico!"Andiamo per gradi: L'apertura è stata grandiosa, mi aspettavo uscisse Madonna sul palco ed invece è apparso Bill Gates (vabbè, ci accontentiamo), la sua come al solito è stato un speech generale sugli argomenti che stanno a...
Nella sessione di oggi, Richter ha fatto notare un dettaglio del quale non ero a conoscenza...
public void Main(){ Person pers; per=new Person(); System.Console.WriteLine("Person Name is {0} ",per.Name()); // 1. DoATimeConsumingOperation(); // 2.}
Secondo voi, quando il garbage collector considera Person non più referenziata?, al punto 1 oppure 2?Io avrei detto 2, però la risposta è 1, in quanto il JIT è talmente smart da capire che le istruzioni successive non interessano Pers e percio al punto 1 Pers potrebbe venire, se necessario, scaricata dal GC.Attenzione che questo è valido solo in Release mode perchè in debug mode, il punto corretto è...
Ore 15:45, Ultime 2 ore della sessione fiume di Richter, si parte parlando di References Types e Value Types per poi iniziare una dettagliata descrizione del Garbage Collector.Richter ammette che all' inizio lui stesso era molto scettico sul funzionamento del GC ma adesso (grazie anche al fatto che ha passato parecchio tempo con il team del GC) ammette che non riuscirebbe più a farne a meno.Tra i vari dettagli analizzati, il fatto che oggetti pù grandi di 85K non sono soggetti a GC ma rimangono sempre in memoria (sarebbero troppo grandi da gestire) oppure che gli oggetti che implementano un destructor...
Jeff ha esordito parlando dei sui problemi all'ingresso: "Lei non è registrato!, vuole partecipare alle pre-conferences?" incredibile!, alla fine l'hanno fatto entrare...Questa seconda parte è in gran parte dedicata al famoso problema "Dll Hell" e su come Microsoft ha finalmente cercato di risolverlo.Si è parlato di Assembly Private e su come queste vengono cercate (probing) dal framework e delle Shared Assemblies (come e quando utilizzarle e come inserire un assembly nella GAC) e quanto importante sia la possibilità di avere multiple versioni della stessa assembly nella stessa macchina.Richter ha anche descritto come Microsoft stessa si vittima del Dll Hell raccontando...
L'unico modo per descrivere una seesione di Richter è "Venite a vederla!", dopo un iniziale presentazione (come se ce ne fosse bisogno) si è entrati subito nel sodo parlando di codice IL e dei relativi tools ILASM e ILDASM, interessante la demo sul'uso di PEVerify per dimostrare come sia in grado di verificare che il codice IL si veramente 'safe'.In questo momento (blogging live!) si sta parlando di un 'problema' sentito: La protezione del codice e Jeff ha mostrato come un interessante tool di terze parti (Demeanor) possa rendere il nostro codice veramente non decompilabile, e illeggibile da ILDasm.Dopo aver...
Ormai ci siamo e breve andremo a registrarci a PDC 2003...In una Los Angeles calda e investita dal fumo dell'incendio che sta devastando la parte sud (la tv dice che sono bruciate più di 250 case...) si respira aria di PDC, da cosa l'ho capito?, non lo so, però questa è la chiave della mia stanza...
Ebbene si, uno dei circa 7000 partecipanti sono Io.In totale sono ben 13 ore di volo, pero' tra le varie edizioni questa e' senz'altro una che non bisogna assolutamente perdere: Whidbey,Yukon,Indigo e LongHorn, ovvero tutte le tecnologie con cui avremmo a che fare nei prossimi anni presentate direttamente da chi le sta' realizzando (I PMs e i loro teams) insomma, niente waporware ma 'real and solid' code, che alla fine e' quello che un DEV vuole vedere.Domani durante il volo pianifichero' in dettaglio le sessioni, molto probabilmente saranno molto Whidbey oriented ma non manchero' a qualche sessione su Longhorn (questa...
Stando a quanto riportato qui, a Novembre sara' possibile (pagando un piccolo 'obolo') scaricare la build 4051 di LongHorn (quella che ci verra' data a PDC) mentre a Dicembre sara' disponibile per tutti gli abbonati MSDN Universal. La build non includera' l'interfaccia grafica "Aero" presente nella versione finale (e presentata a PDC) ma a quanto pare pur essendo una Alpha, e' molto stabile.Credo che a breve aggiungero' un altra 'entry' al mio Virtual PC (l'altra potete facilemente immaginare qual'e'... ;-) )
Stando alle dichiarazioni di Nikhil Kothari grandi novita' in ASP.NET 2.0, fa pensare il fatto che la nuova system.web.dll sia passata dalle 321 classi alle oltre 1000 e che le linee di codice siano diventate oltre 300000 dalle precedenti 90000.Insomma... ricominciare a studiare!
Come annunciato qui agli MVP verra' data la possibilita' di accedere al codice sorgente di Windows oltre che a quello di CE .NET, ASP.NET, Visual Studio® .NET, and Passport Manager.In realta' questo era gia' possibile da qualche tempo, ma ora la notizie e' stata resa nota ufficialmente.
Volete sapere come funziona dietro le quinte XmlSerializer? Ecco un interessante dettaglio (e' vero, l'ho verificato...)
Il transcript della chat con il team di VB.NET e' finalmente online, come potrete facilmente notare e' molto 'Whidbey" oriented..."
Manca poco e il "buzz" PDC aumenta, mi sono scaricato tutto l'elenco e mi sono fatto un piccolo (31 pagine!) doc, se a qualcuno interessa per sapere cosa andremo a vedere eccolo quiNon ho ancora deciso quali andro' a vedere, purtroppo molte sono sovrapposte e la scelta non sara' facile...
...Pero' so come saro' vestito!Jeff del Longhorn Evangelism Team ha mandato a tutti gli iscritti di PDCBloggers la maglietta ufficiale dei bloggers di PDC , Thank you Jeff!
Ovviamente quello nella foto non sono Io ma Corey Gouker
... forse è già conosciuta ma avete provato a:
1-Aprire Word2-Scrivere = rand (200,99)3-Premere Invio
?
Mi sono divertito giocando con il plug-in segnalato da Andrea Saltarello, a parte il fatto che sono ben 27 MB (!) direi che funziona egregiamente, una volta installato e selezionato Windows Installer BootStrapper nelle opzioni di boot del progetto di Setup vi ritroverete nella directory di output questi files:Config.ini (Contiene i messaggi usati dal setup, localizzabili)dotnetfx.exe (Il framework!)Setup.exe (bootstrapper)Setting.ini (configurazione del bootstrapper)xxx.msi (il vostro applicativo)
Nella documentazione viene indicato come il bootstrapper possa finalmente porre fine all'ormai famosa domanda "Come installo MDAC?"Basta creare una Registry Launch Condition e aggiustare la relativa entry nel Launch Contion Editor per avere nell'output directory anche un...
Stando a quanto riportato qui la beta1 di Whidbey e la Beta2 di Yukon sono previste per Maggio 2004, peccato per chi non va a PDC... :-)
Un interessante EBook gratuito sulla programmazione a oggetti per programmatori VB.NET e C#...
Brad Abrams in un recente blog fa notare come l'utilizzo di As puo' evitare inutili casts.
Esempio: Supponiamo vogliate scrivere "ok" in tutte le textboxes presenti in un form.Metodo1
foreach (Control ctrl in this.Controls) { TextBox txt = ctrl as TextBox; (*) if (txt !=null) txt.Text="ok"; }
Metodo2
foreach (Control ctrl in this.Controls) //(*) { if (ctrl is TextBox) //(**) { TextBox txt=(TextBox)ctrl; txt.Text="ok"; } }
Entrambe funzionano: Ma quale e' la differenza?La seconda da origine a 2 casts (segnati con *) mentre la prima soluzione, grazie all'uso di As, solamente 1.Non e' un segreto che "As" e' una delle cose che invidio a C#, fortunatamente "rumors" dicono che forse anche i programmatori VB.NET avranno...
...non ci sono grandi novità (arriveranno a PDC) ma se siete interessati date un occhiata...
... vedendo quante sessioni mi dovro' perdere perche' sono alla stessa ora!Per i fortunati che andranno a PDC... :-) qui e' possibile scaricare la mappa delle sessioni suddivise per giorno/ora, per gli altri, date un occhiata a cosa vi perderete... :-(
Se avete necessita di conoscere l'ID del contollo che ha generato il postback della vostra pagina ASP.NET nell'evento Load() della pagina potete usare:
string ID = Request.Form["__EVENTTARGET"];
Remotesoft ha pubblicato un linker che permette di creare delle versione ridotte del .NET framework contenenti le sole assemblies necessarie al funzionamento del nostro programma.
Il 1° Ottobre 2003 sono stati nominati 5 nuovi MVP Italiani
- David De Giacomi [Windows XP]- Andrea Montanari [SQL Server]- Raffaele Rialdi [.NET]- Ivan Riservato [Exchange]- Roberto Scassellati (Karappo) [Windows XP]
Complimenti ai nuovi arrivati!
Da quanto riportato da IeXbeta sarebbe da poco iniziato il programma beta del service pack 1 per la versione 1.1 del .NET Framework
La nuova versione di Delphi .NET a.k.a "Octane" è stata recentemente presentata alla Entwickler Konferenz di Francoforte...
Questo blog nasce da una domanda ricorrente:"Come faccio ad inserire un immagine (ad esempio un logo) nello sfondo di un form MDI?"Risposte:1-Usa BackgroundImage()2-Inserisci un immagine nel form MDIControrisposte:1-L'immagine viene stretchata2-L'immagine (per il gioco delle 'parentele') e' visibile attraverso i child forms.Soluzione: Bisogna disegnare l'immagine a runtime nell' evento OnPaint del Form.Ri-problema: La finestra entro la quale vogliamo disegnare l'immagine e' in realta una child window del form principale ed e' su quella che dobbiamo agire.
Quindi, per procedere bisogna:1-Ricavare l'handle della child window e recuperarne l'handle2-Subclassare la child window mediante NativeWindow (ne ho parlato nel mio blog del 16/09) intercettare WM_PAINT...
Sara' una delle nuove interessanti features di Whidbey... ;-)Volete saperne di piu? click here...
Questa sera alle 22 c'e' stata una chat con il team di VB.NET, tra questi Amanda Silver e Paul Vick (PM di VB.NET) ecco alcune parti interessanti (a breve ci sara' comunque tutto il transcript online)
PaulV_MS : Q: Are we going to get anonymous methods support as well in vb.net?
PaulV_MS : A: Not in this release. It's a very interesting feature that we looked at, but it wasn't a high enough priority when matched against the other stuff we're doing this time. Definitely something we're going to keep our eye on.
Amanda_MS : Q: In the future, are we going to...