Technology Experience
My personal life

L’ascensore della mia vita

Il Natale io e la mia famiglia lo passiamo a casa di una zia – una delle tante sorelle di mio padre – che vive in un palazzo di 7 piani. Lo stesso palazzo in cui vivevo da bambino, fino all’età di 10 anni. In quel palazzo ci sono cresciuto, nei giardini e nelle strade attorno ho imparato ad andare in bicicletta, ho giocato a pallone, mi sono rotto l’incisivo sinistro, etc. etc..

Nel palazzo c’è un ascensore nel quale – anno dopo anno – misuravo la mia crescita in base a dove arrivavo con l’indice: prima arrivavo al tasto 1, l’anno dopo al tasto 2, dopo qualche mese Al 3 e così via. Adesso quando entro in quell’ascensore, posso alzare il braccio e toccare tranquillamente il soffitto. I tasti dei numeri non li avevano mai cambiati: erano tutti consumati, logorati dall’uso di uomini e donne tutti i giorni. E tutti gli anni, a Natale, pensavo a quando ero bambino e a quando quei numeri erano una sorta di unità di misura per capire quanto fossi diventato “grande”.

Questo Natale, invece, ho scoperto che l’ascensore è stato ristrutturato: i pulsanti sono nuovi di zecca, hanno anche le indicazioni in Braille per i non vedenti, quando parte ed arriva l’ascensore non ha più gli “scossoni” di una volta. Le cose sono cambiate.

Sto diventando vecchio.

Technorati Tags:

Send to Kindle
.NET World

Invasione non volontaria: il mio nome nei registry altrui

Oggi pomeriggio ho ricevuto un’e-mail da un tizio, di cui manterrò segreta l’identità. Vi riporto il testo direttamente con uno screenshot dal mio Outlook di qualche minuto fa…

In poche parole, nel registry di questo utente compare il mio nome e quindi si chiede cosa possa aver installato!!! E lo chiede a me???

Non ho proprio idea di come sia finito il mio nome nel suo registry. Un dubbio piccolo piccolo ce l’ho: che Keyzard ci abbia messo lo zampino? Adesso gli rispondo e vediamo un po’ cosa mi dice. Vi farò sapere. Nel frattempo, fate una piccola prova anche voi: aprite regedit e cercate un po’ “Igor Damiani” – non si sa mai che sia finito per caso anche nel vostro PC!

Technorati Tags:

Send to Kindle
My personal life

Si ricomincia: siamo a Gennaio!

Gli esperti di volo dicono che un buon atterraggio è soprattutto il risultato di un buon avvicinamento: velocità, allineamento, posizione, tutto deve concorrere a portare il velivolo alle fasi finali dell’atterraggio in condizioni ottimali ed in tutta sicurezza.

La stessa cosa vale per il mio Gennaio 2008, che è il risultato di un Dicembre 2007 vissuto di corsa, a cavallo tra Innsbruck e Lazio, con in mezzo tanto lavoro, feste, lavoro, parenti, regali, freddo, nebbia padana, lavoro ed altro ancora. So solo che mi ritrovo a Gennaio 2008 e mi sembra che Dicembre 2007 sia passato senza che me ne sia reso conto.

La prima domenica ho festeggiato il compleanno di mia madre.
Il weekend successivo l’ho passato ad Innsbruck con la mia famiglia.
Neanche in tempo a tornare a casa, e mi sono catapultato a Roma per un veloce weekend.
Il weekend dopo ancora ero già in piena corsa per Natale e per i regali.
Il weekend dopo era il…precedente…cioè Capodanno, con pandoro, mascarpone, spumante, botti e via dicendo.

Tutto di corsa al punto che, come dicevo, tutto è volato via con una folata di vento. E siamo qui a Gennaio 2008 a ricominciare il lavoro dopo pochi giorni di ferie. La mia Astra è a casa bloccata, per lei l’anno nuovo comincia male. Il mio PC a casa è stato sfruttato a dovere con sane partite in multiplayer a Call of Duty 4, con qualche corsa a CMR2005 e, soprattutto, con Space Shuttle Mission 2007, la simulazione di volo di cui ho parlato nei mesi scorsi. Il mio portatile aziendale è rimasto invece in stand-by, e l’ho ripreso in mano questa mattina. Se c’è una cosa che mi piace fare ogni tanto, è disintossicarmi, mollare il lavoro per un po’ di giorni e riprendere al momento giusto: sembrerà strano, ma quando ricomincio mi sento più reattivo e veloce nel ragionare il codice. Mi sento – insomma – di avere più benefici.

Buon Anno nuovo a tutti, quindi.

Sarà un 2008 nel quale vedremo Europei di Calcio ed Olimpiadi, e nel quale nel nostro campo vedremo un sacco di novità che ci faranno essere più produttivi e grazie alle quali produrreremo – si spera – sempre di più e sempre meglio. Non ci resta che allacciarci le cinture di sicurezza e godercelo tutto, sperando che possa portare cambiamenti positivi in tutte le faccende che ci interessano maggiormente.

Technorati Tags:

Send to Kindle
My personal life

Buon Natale e Felice Anno Nuovo

Questo è il primo Natale di VivendoByte.

Ci sono feste in cui la cosa migliore è essere originali, come a Carnevale, oppure durante la più moderna Halloween. A Natale la cosa migliore è seguire la tradizione, a costo di essere monotoni e, per l’appunto, poco originali. Mi piace essere in piazza Duomo in mezzo al casino dei negozi, mi piace correre fino all’ultimo per prendere i regali a tutti, mi piace vedere l’albero di Natale ed i presepi. Mi piace insomma, respirare l’atmosfera natalizia fino in fondo. Quando ero ragazzino, ricordo che in questo periodo trasmettevano sempre film su Babbo Natale, film per tutta la famiglia, cartoni animati che facevano contenti un po’ tutti…bambini ed adulti. Il Natale di oggi è molto diverso, non so se sono io che sono invecchiato o se è davvero così.

C’è una cosa che nessuno mi potrà mai togliere: la voglia, ed il piacere di fare gli auguri a tutti voi, sia che siate miei lettori abituali oppure no. E per raccogliervi tutti, ho pensato di darvi dei confini geografici.

A Nord c’è la mia amica Daniela P., di Bolzano, che ha voluto offrirmi virtualmente un bicchiere di gluhwein (vin brulè) quando ha saputo che ero nella zona di Innsbruck. Con lei ha lavorato per un anno circa, in ASP, molto…molto tempo fa. Ma siamo andati al mare, sull’Adriatico, e una sera siamo andati a mangiarci una pizza nella pizzeria più fredda d’Italia – vicino a San Rocco al Porto (LO). Fredda perchè il salone era enorme e c’eravamo solo noi – manco l’avessi fatto apposta. Auguri di Buone Feste, Daniela!!!

Ad Ovest c’è Isacco S., da Asti, un mio collega che qualche mese fa ha cambiato posto di lavoro. Se in questo momento ci sono persone che vanno in giro per Milano con un palmare in mano a fare il loro lavoro, il merito è anche suo. Qualche giorno fa ci ha mandato un bel pacco pieno di torroncini, cioccolati, panettone e chi ne ha più ne metta. Senza scordare la pistola spara-elastici che ci ha fatto diventare matti qua in ufficio. Auguri a te, Isacco, a tua moglie Silvia ed al piccolo Francesco.

A Sud sono combattuto tra Valentina, siciliana, e mia zia Adele a Santa Maria di Leuca. Con la prima passiamo momenti belli sul Messenger – in attesa di conoscerci live chissà quando – la seconda purtroppo non la vedo da un sacco di tempo, ma so che è sempre lì, con il marito ed i miei cugini, tutti in Puglia. Valentina conta solo se prendo in considerazione le isole, mentre mia zia in ogni caso, dal momento che considero la Puglia come la mia seconda regione. Buon Natale a tutti voi, un giorno ci rivedremo!!!

Ad Est ci sono Maurizio ed Annalisa, miei cugini di Vicenza, con i vari cugini di secondo grado, tra cui mi fa piacere ricordare Giulia, la mia cugina piccola campionessa di pallavolo. Anche per il Veneto ho una piccola passione, è una regione che mi piace soprattutto per l’accento. Buon Natale e Buone Feste anche a tutti voi, cari cugini, cugine e cuginette…ci si vede!!!

Ho chiuso gli angoli: tra nord, sud, ovest ed est, ci siete tutti voi che, per volere o solo per caso, siete qua sul mio blog. A ciascuno di voi auguro davvero un Sereno Natale e Felici Feste. Che possiate passare questi pochi giorni di feste nel modo in cui desiderate di più, con la persona amata o con la vostra famiglia, lontani dal tran-tran quotidiano o dall’altra parte del mondo: come volete voi. Io in ferie non ci vado, ma non credo che troverò il tempo e la voglia di scrivere qualcosa sul blog: ci si sente l’anno prossimo. Auguri a tutti voi!!!

Send to Kindle
.NET World

Perchè preferire smart-client o WPF ad ASP.Net

Questa volta faccio parlare un altro. Ecco il link da cui ho tratto queste riflessioni.

The browser and all the baggage associated with it is the #1 reason I pushed for and we chose WPF over ASP.NET. ASP.NET was not the issue, the browser is.

Questo punto mi piace particolarmente. I veri problemi della programmazione Web non sono dovuti ad ASP, oppure ad ASP.Net, a PHP, a JSP o al framework di programmazione. Il vero problema è il browser, ovvero il cuore del Web, il mezzo attraverso il quale lo viviamo.

What happens after we deploy an application with 500 forms? We will always have the ongoing headache of customers reporting that, “I just installed (new O/S, new browser, service pack, etc.) and the page does not render as before.” Can you imagine having to touch 500 forms or even 200, just so we can support 2-5 versions of IE?

WPF solutions, like WinForms are not affected by the hosting system. So two, three or four years from now, our WPF application will run just like it did the day the customer received it.

Ci sono degli spunti su Visual Studio e sulle tecnologie, ma preferisco sorvolare.

Do I need to say anything here? Rich interactivity, resolution independence, super fast UI.

WPF takes full advantage of the user’s hardware, especially the monitor. Didn’t think I would list the monitor first, eh? Think user!

With a web application, you really need to “target” a screen resolution. Most of our pages are business forms that users interact with. If we target 1024 x 768 and Mr. Smith gets a new computer with a 22″ wide screen monitor (less than $300 today), his web application will be displayed in the upper left of his screen. Bummer.

With WPF just ViewBox it and boom, the same information displayed utilizing his full screen and he can see the form much better AND without any hacks, or lots of code to make this happen. This is a major selling point for us, considering our target market.

WPF takes full advantage of the users CPU/GPU for processing. Today all our customers can afford an Intel 2 Core Duo system. As all readers of this know, these babies are super fast.

Questo qui sopra è fantastico. Bocciatura completa del Web: dipendenza dalla risoluzione grafica, nessuna possibilità di usare la potenza delle GPU moderne, etc. etc.

With ASP.NET, our customers have to maintain an Intranet site.
With WPF this requirement is removed from the equation.

Fantastico. Preferisco fermarmi, perchè il post originario è davvero lungo, me lo sono letto tutto e sottoscrivo in pieno. Al di là di quello che viene detto, mi piace la logica che ci sta dietro: dal punto di vista dello scrittore del post, il Web non è la piattaforma migliore per deliverare applicazioni, per tutta una serie di motivazioni intrinseche al Web stesso, motivazioni verso le quali non si può fare nulla. Sia chiaro: le cose che dice lui e che io sottoscrivo possono anche essere viste positivamente, ma io proprio non ce la faccio. E’ più forte di me.

Technorati Tags:

Send to Kindle
.NET World

Extension method con Visual Studio 2008

Gli extension method sono una delle novità puramente sintattiche del .NET Framework 3.5. Mi piace chiamarle sintatticamente perchè tecnicamente parlando è possibile ottenere lo stesso risultato con le vecchie versioni del framework. Facendola breve, utilizzando gli extension method è possibile “estendere” un tipo, dotandolo di uno o più metodi, senza creare nuovi tipi, senza la necessità di mettere mano a codice sorgente che magari non avete e – in fin dei conti – senza modificare il tipo originale. Maggiori dettagli su questa pagina di MSDN.

Supponiamo di aver definito un tipo Holiday come segue:

public class Holiday { public string Name { get; set; } public DateTime When { get; set; } }

La classe Holiday espone due proprietà Name e When. Implicitamente il compilatore crea un costruttore parameter-less. Ora: supponiamo di voler esporre un metodo IsPassed(), che ci dice se una certa festa è già passata nell’anno in corso. Se avessi il sorgente della classe, non avremmo problemi: si crea il metodo IsPassed che ritorna bool e siamo a posto. Supponiamo però di non avere il codice sorgente, oppure di non poter estendere la classe Holiday perchè è sealed o per chissà quale motivo. In una situazione di questo tipo, l’unica possibilità che avete è definire un extension method per il tipo Holiday. Guardate il seguente codice:

public static class HolidayExtensionMethod { public static bool IsPassed(this Holiday holiday) { return holiday.Name.Length > 0; } }

E’ una classe statica HolidayExtensionMethod, che espone un metodo pubblico IsPassed che prende in input un’istanza di Holiday. Notare la keyword this fra i parametri di input. Questa è la definizione di un extension method. L’utilizzo è banalissimo: l’Intellisense ci aiuta, perchè il metodo IsPassed() viene visto come se fosse esposto dal tipo Holiday.

static void Main(string[] args) { Holiday h = new Holiday(); h.Name = "Natale"; h.When = new DateTime(2007, 12, 25); bool isPassed = h.IsPassed(); }

Tutto qua.

Technorati Tags:   

Send to Kindle
IV del Venerdì

[IV] del Venerdì (27)

Il mio IV del Venerdì riprende oggi, dopo diverse settimane di black-out dovute a viaggi in Italia ed in Europa. Quando il mio blog era su UGI era un mio preciso dovere allietare(!) i lettori scrivendo ogni venerdì qualcosa: qua su VivendoByte mi sento in un regime di maggiore libertà – posso fare quello che voglio – e quindi mi prendo i miei tempi. Non che UGI mi obbligasse a scrivere, però sapere di finire sul Muro era un incentivo ad impegnarmi di più.

Riprendo la serie parlando di una cosa che colpirà noi “pendolari” che ogni giorno raggiungiamo Milano per venire nei nostri uffici a lavorare. Dal 2 Gennaio 2008 per entrare a Milano bisognerà pagare una tassa, la famosa Eco-Pass, voluta fortemente dalla sindachessa Letizia Moratti. Sarà un bel problema. Prima qualche premessa. Lo scopo di questo Eco-Pass è quello di limitare il più possibile il numero dei veicoli inquinanti in determinate zone della città. Non so quanto andrà ad impattare questa iniziativa: una cosa è certa: tutti i veicoli che prima sarebbero entrati in Milano senza battere ciglio, adesso dovranno parcheggiare altrove. E dove se non nei grossi parcheggi appena fuori Milano – che io conosco benissimo – come quelli che ci sono a San Donato oppure a Famagosta?

Ma questi parcheggi sono già oggi molto incasinati: non è raro vedere file per entrare ed uscire, file confuse e non regolamentate, dove a volte accadono piccoli incidenti o tamponamenti. Senza contare anche il sovraffollamento delle tangenziali, che spesso e volentieri rendono difficile già solo avvicinarsi ai parcheggi. Sapete come si chiama questa cosa? Non la so perchè so tutto, e non voglio apparire saccente, ma se ne parla sul numero di Dicembre 2007 dell’Automobile, la rivista che riceviamo in famiglia per essere soci ACI. Non ha un nome, ma questi problemi nascono quando non c’è una pianificazione coordinata delle infrastutture. Centri commerciali collocati in luoghi dove le strade non fanno circolare, la stessa cosa di cui soffre per esempio la nuova fiera di Milano a Rho/Pero, oppure Malpensa. Se ne è parlato poco tempo fa a Venezia, di queste cose: per far fronte alle necessità commerciali e allo stesso tempo garantire una certa mobilità ai cittadini è necessario che una cosa cresca senza che l’altra parte ne soffra più di tanto. Facciamo nuove strade? Ok, ma pensiamo alle piste ciclabili: non che c’è da correre dopo, perchè si viene a sapere che l’Italia è il paese europeo con meno piste ciclabili di tutti. La stessa cosa vale per altre questioni.

L’Eco-Pass non sfugge a questa logica. Se si vogliono tenere lontane le automobili dai centri storici, per me va bene, ma è indispensabile che queste auto trovino posto altrove. Già oggi i cittadini si lamentano della carenza di parcheggi, al punto che molti le lasciano fra le strisce blu senza pagare. Come la mettiamo? Vogliamo impazzire ancora di più? Sapete qual’è la cosa davvero triste? Protestare contro i politici, parlamentari o sindaci che siano. Perchè si è la sensazione di parlare al vento, così come fa ‘ginopino’ sul mio blog, perchè indipendentemente da quello che si dice non si viene ascoltati. I nostri diritti vengono costantemente ignorati, messi in secondo piano. Con nostri non parlo di lavoratori o chissà cosa, ma di diritti dei semplici cittadini.

Non vi auguro ancora Buon Natale, o Buone Feste, perchè c’è ancora tempo.

Technorati Tags:

Send to Kindle
My personal life

Pizza e birra in quel di Milano

Data : 19 Dicembre 2007
Ora : 20:00 circa
Luogo : Pizzeria SoloPizza, viale Umbria – Milano

Compagnia: colleghi e colleghe tutti spettacolari.

Cosa ho mangiato:
Pizza SoloPizza (12 gusti)
3 birre medie rosse
porzione di tiramisù fresco
due meloncelli
caffè
assaggio di lambrusco

Prezzo: 20 euro

Giudizio: indimenticabile

Ragazzi, grazie ai presenti di ieri sera. Senza di voi, non mi sarei mai divertito così tanto.

Send to Kindle
.NET World

XamlPadX 3.0

XamlPad ha fatto qualche passo in avanti rispetto a quello che usavo io quando ho studiato WPF. Qui potete trovare la versione 3.0 del tool. Mettiamola così: si tratta sostanzialmente di un blocco note avanzato, che fa il parsing dello XAML che digitate che viene renderizzato immediatamente a video man mano che lo scrivete. Comodo per le cose semplici, e forse un po’ ostico per chi non conosce XAML o se dovete fare particolarmente complesse.

Le features sono salvataggio/caricamento dello XAML su disco, il supporto per plugins e – non ho potuto trattenere un WOW – lo splash screen durante il caricamento iniziale!!!!

Link : http://blogs.msdn.com/llobo/archive/2007/12/19/xamlpadx-v3-0.aspx

Download diretto : XamlPad 3.0

Technorati Tags:   

Send to Kindle
.NET World

Insofferenza cronica verso lo sviluppo Web

All’ultimo workshop UGIdotNET del 13 Dicembre, Dino Esposito ha illustrato al meglio, e in un modo che solo lui può ottenere, qual’è il trend delle applicazioni future sul Web. Questo trend prende il nome di Silverlight. So poco o nulla di queste tecnologie Web, ma un’idea ce l’ho e non riesco a non dirvela più di tanto. Oggi è il 19, sono passati 6 giorni dal workshop e non ce la faccio più a stare zitto.

La morale è che nelle versioni future, che oggi non sono nemmeno in alpha, Silverlight richiederà l’installazione del .NET Framework 3.0 sul PC client. Questo per avere TUTTE le potenzialità di WPF al 100%: tutti i tipi di panel, tutti i tipi di controlli, supporti per stili, data-binding, etc. etc. Tutto meraviglioso, io per quel poco che utilizzo WPF, so le sue potenzialità che sono assolutamente devastanti. Con tutta la potenza di fuoco di WPF, le applicazioni Web saranno in grado di dare agli utenti una user-experience mai provata prima. Ma non può essere tutto oro quello che luccica.

L’installazione del .NET Framework su ogni PC è un elemento a mio avviso bloccante. Sarà ovviamente un sottoinsieme del .NET Framework. Si parla di un plug-in di 13Mb. Ora: non è tanto il peso in Mb in sè, quanto la sensazione di invasività – passatemi il termine – che questo può creare. Non parlo di me che lavoro con il framework tutti i giorni, e non parlo nemmeno della maggior parte di voi che leggete il mio blog, ma parlo di tutti quelli che odiano il framework, o comunque di tutti quelli che non voglio installarlo per tenere pulito il PC. Uno dei motivi di successo di Google è – oltre all’ovvia efficienza del motore di ricerca – anche la leggerezza delle pagine, compresa la home-page. Quanti di noi installiamo le toolbar per IE o per Firefox? Quanti di noi fanno le installazioni custom degli applicativi al fine di essere il più leggeri possibile? Quanti di noi vanno nelle impostazioni di IE per disabilitare questo o quel plug-in per rendere più sicuro il sistema?

Dico chiaro e tondo quello che penso: pochi si installeranno 13Mb per avere Silverlight sul sistema. Dino ha fatto un ottimo esempio, quando ha parlato del buon vecchio ActiveX, che all’epoca (era pre-2000) doveva portare sui client un vero ambiente dove far girare le applicazioni, scritte con linguaggi seri ed attraverso componenti COM. Fallì, secondo me, non perchè era in anticipo sui tempi come ha detto Dino, quanto perchè era troppo invasivo sul PC dell’utente: c’era da scaricare un ocx o una dll, che girava in una sandbox sicura, etc. etc. Questo non cambia affatto con Silverlight: si scarica un assembly, e tale assembly gira attraverso il CLR lato client. Chiaro, è l’unica soluzione plausibile, ma è una cosa che gli utenti non digeriranno mai. E’ ovvio che attualmente è l’unica soluzione per liberarsi da Javascript (l’assembly è scritto in linguaggio managed, e su questo nessun problema), ma non è una strada percorribile. Non sono in grado di dire qual’è una strada migliore, ed è il motivo per cui oggi – più che in passato – odio tutti gli strumenti/tools/framework/tecnologie che hanno a che fare con lo sviluppo Web. Scusatemi, non voglio offendere nessuno. Se qualcuno mi dicesse: “Se uno sciocco se sviluppi per smart-client, o per palmare!”, la mia sicurezza è tale che gli risponderei pregi e difetti, e perchè mi piace, e perchè ritengo che quella è Vera Programmazione e le altre no. Quelli per Web sono solo un’accozzaglia di strumenti che tentano di unirsi fra loro per raggiungere un risultato finale decente. Contenti voi. Se sapessi una strada migliore, probabilmente non sarei qui a scrivere sul mio blog ma sarei da qualche parte a diventare ricco. Davvero.

Andiamo avanti.

Senza contare che il .NET Framework significa ad oggi compatibilità solo con il mondo Windows. Diciamo poco. Chiunque abbia programmato un sito Web appena più che decente sa che è assolutamente necessario coprire la maggioranza degli utenti, quindi prevedere tutti gli OS, tutti i browser, tutte le versioni, etc. etc. E voi mi venite a dire che Silverlight gira solo con il .NET Framework? Assurdo. Ok, si potrebbe obiettare, Microsoft rilascerà il framework anche su MAC, ed in futuro il progetto Mono arriverà a portare il framework anche su Linux. Sì, certo: adesso appena esco compro un X-Wing e vado a distruggere la Morte Nera, prima però passo a prendere Penelope Cruz che mi sta aspettando qui sotto per andare a mangiare una pizza. Siamo realisti, per favore. Secondo me, non è nemmeno questione di tempo. Anche se il framework sarà davvero disponibile su tutte le piattaforme, vorrei sapere chi davvero lo installerà. O comunque, vorrei sapere chi fra i Grandi del Web (Amazon, Ebay, etc. etc.) si azzarderà a costruire il proprio portale in Silverlight.

Ultima cosa: con Silverlight potremo visualizzare video. Il plug-in penserà a tutto. Io ho già raccontato la mia esperienza: WPF richiede Windows Media Player 10 per poter visualizzare certi tipi di video. Non posso affermare con certezza che il plug-in permetta davvero di vedere ogni tipo di video: secondo me, allo stato attuale delle cose, WMP è richiesto. Questo è un altro elemento bloccante, perchè WMP oggi significa solo Windows.

Meglio starò lontano dallo sviluppo Web, e meglio mi sentirò (cit.).
Oddio, che mal di testa. Ditemi quello che volete.

Technorati Tags:    

Send to Kindle