Disponibile Windows 2003 SP1

Da poche ore è disponibile Windows 2003 SP1, al momento solo in inglese e tedesco.


Sono 330Mb di download, praticamente un nuovo CD. Inutile aggiungere che è un aggiornamento importante che va installato al più presto, ma sempre facendo le dovute verifiche di compatibilità se avete dei server critici in produzione. Segnalo i riferimenti forniti da Bink.nu relativamente a questo aggiornamento, in particolare la pagina sul sito Microsoft dedicata alle informazioni su questo Service Pack.


Non è un aggiornamento da prendere alla leggera, io lo sto scaricando e lo proverò su qualche server di sviluppo prima di andare su quelli in produzione.


UPDATE: segnalo questo post di Alessandro Perilli che riassume le principali novità introdotte da questo Service Pack.

Come gestire le mail in arrivo

Credo che la gestione della posta in arrivo sia una delle pratiche più controverse e personali della nostra quotidianità. Tuttavia esistono alcune scuole di pensiero e probabilmente ciascuno di noi ricade in un qualche stereotipo.


Lo spunto di questo post mi è venuto leggendo questo post di Eric Gunnerson: lui si è convertito al credo “zero mail nella Inbox”. Io sono passato a questa convinzione un paio di anni fa e l’uso di NEO mi ha facilitato nella scelta.


Ora… prima di aprire una discussione sull’argomento… chi ha voglia di dirmi quante mail ha mediamente nella inbox a fine giornata e in quale linguaggio programma abitualmente (si può anche dire “nessuno”) ? Voglio capire se c’è una qualche relazione… i commenti sono aperti.

ILMerge

ILMerge è un tool che consente di unire più assembly .NET in un unico assembly. Si tratta di un progetto sviluppato da Michael Barnett, ricercatore in Microsoft Research, che è “nato” da oltre un anno ma solo da pochi giorni è disponibile “ufficialmente” via MSDN.


Può essere uno strumento interessante per incapsulare tutti gli assembly di un progetto in un solo eseguibile. Il dubbio è che fornisca altri vantaggi in termini di impronta in memoria o di tempi di caricamento e/o compilazione JIT. In teoria è così (va più veloce un solo assembly), ma quanto sia significativo l’impatto su uno scenario reale è tutto da misurare. Qualcuno ha esperienze in proposito?

A chi serve Visual Studio Team System

Ho appena terminato di leggere questo post di Eric Sink che parla di Visual Studio Team System e del suo modello di pricing, spiegando come il prodotto sia in realtà destinato a una fascia di mercato che è diversa da coloro i quali si sono lamentati, in questi giorni, del costo eccessivo del prodotto stesso (e del fatto che gli abbonati a MSDN non avranno automaticamente diritto a usare tale prodotto).


In estrema sintesi, Visual Studio Team System è indirizzato a grandi gruppi di sviluppo. Non 5 programmatori. Non 10. Centinaia o migliaia di programmatori.


Insomma… spero perdonerete la battuta che vuole essere, appunto, una battuta e non un’affermazione… in Italia praticamente Visual Studio Team System non serve a nessuno! 🙂

Prepararsi a Longhorn: si può cominciare dal monitor

Per il post numero 700 uno si potrebbe immaginare chissà quali disquisizioni architetturali… e invece eccomi qua a parlare di monitor LCD! Ma in fondo non è un argomento così off-topic e prima o poi tutti ci faranno i conti con queste considerazioni…


Anni fa ho speso un’enormità per acquistare due monitor LCD 1280×1024 con funzione Pivot. Ancora oggi funzionano egregiamente, ma è chiaro (e in parte me lo aspettavo) che anche i monitor subiscono la legge dell’obsolescenza tecnologica, peraltro in modo di gran lunga inferiore rispetto a molti altri dispositivi elettronici.


Un mese fa stavo per acquistare un nuovo LCD da 20″ con risoluzione da 1680×1050. Una delle tante offerte commerciali stava per intrappolarmi ma… per fortuna ho resistito all’acquisto d’impulso, anche perché una rapida ricerca mi ha consentito di scoprire che da lì a poco sarebbe arrivato sul mercato un nuovo mostro: 24″ con risoluzione da 1.920×1.200.


Fin qui niente di strano, monitor così ce ne sono in giro da un pezzo, ma quello che è stato devastante (per me) è stato il prezzo. Devo fare nomi e cognomi: il Dell 2405FPW ha un prezzo di listino di 1.049€+IVA. Acquistandone uno viene offerto a 891,65€. Ma acquistandone due lo sconto diventa ancora maggiore e ogni monitor costa 786,75€, senza neppure le spese di spedizione. Detto monitor supporta anche la rotazione a 90 gradi (pivot) con un eccellente 1.200×1.920. Oltre ad avere una serie di gadget per me poco significativi (USB, card reader multi-standard, ecc.) ma che sicuramente poi tornano comodi.


Cosa avrei dovuto fare? Continuare a dire a me stesso che tanto tra 6 mesi ci sarebbe stato un nuovo modello a un prezzo più basso? Non ce l’ho fatta, in meno di 24 ore ho trovato un compagno d’acquisto e abbiamo fatto un ordine per due monitor, così abbiamo la coscienza a posto sul piano del risparmio economico (si fa per dire, ovviamente).


Adesso devo risolvere il dilemma: usare due o tre monitor? L’idea è di provare a usarne 3, dotandosi di opportuna scheda grafica. Farò un po’ di prove, ma inevitabilmente entro un paio di mesi cambierò completamente il PC desktop.


Anche perché (e veniamo al tema del post) Longhorn si avvicina e per sfruttare Longhorn bisognerà avere: tanto schermo, tanta grafica, tanta CPU, tanta RAM. Con il monitor dovrei essere a posto per qualche anno (almeno 3?). Ora devo cominciare a pensare a una scheda video adeguata…

Risorse per SQL 2005

Con l’ultima CTP di SQL Server 2005 dovremmo avere quasi tutte le funzionalità complete… anche il materiale più o meno ufficiale aumenta e quindi ho pensato di segnalare qualche link dedicato.



Consiglio a chi è interessato di dare un’occhiata al mio blog in inglese (dove anche se non ci sono tanti post cerco di mantenere un elenco aggiornato e più completo alle risorse interessanti).

David Chappel in Italia

David Chappel sarà in Italia il 22 marzo 2005 a parlare di SOA (Service Oriented Architecture). L’evento si chiama Architect Day e si terrà a Segrate (MI) presso la sede di Microsoft. La partecipazione è gratuita.


Si tratta di un evento di tipo principalmente architetturale, diverso dall’evento SOA tenuto da Paolo il 14 gennaio scorso a Brescia, che invece aveva come tema dominante l’architettura e la realizzazione in particolare di Smart Client. Dobbiamo fare attenzione a usare troppo spesso le buzzword del momento (ora è il momento di SOA) perché si rischia di fare un po’ di confusione. L’evento di David Chappel sarà probabilmente utile a tutti quelli che vogliono avere una panoramiza dell’architettura e delle tecnologie utilizzabili (da Indigo a BizTalk passando ovviamente per .NET).

Troppe finestre in Windows fanno male

Spesso mi è capitato di parlare con persone che hanno avuto problemi creando applicazioni che creano un grande numero di oggetti/finestre nell’interfaccia utente. In Windows ogni elemento (un bottone, una cobo, una lista…) è una finestra, cioè ha un suo window handle, che maschera una serie di strutture gestite dal modulo USER dell’interfaccia utente. Anche quando si usa Windows Forms o VB6, dietro le quinte vengono allocati questi oggetti.


Purtroppo ogni window handle in Windows costa parecchio e il numero di window handle istanziabili è limitato per processo (ma le prestazioni solitamente decadono ben prima di raggiungere il limite). Visual Basic 6 ha un modello di controlli window-less (che fa a meno di window handle) che ricalca ciò che era stato fatto in una delle primissime versioni di Delphi, con la differenza che in Delphi si potevano (e si possono) scrivere nuovi componenti window-less,  mentre in VB6 no.


Quando ho visto per la prima volta Windows Forms (parliamo del 2000) mi sono immediatamente chiesto per quale assurdo motivo non avessero pensato di definire un’architettura di componenti che contemplasse i controlli window-less: Windows Forms è molto simile a VCL (libreria di Delphi) e a WFC (Windows Fundation Class di J#); non conosco WFC ma VCL prevedeva (e prevede) architetturalmente questa possibilità, ed è un peccato che tale scelta non sia stata replicata in Windows Forms.


Chi ha affrontato lo sviluppo di gestionali complessi con Windows Forms ha affrontato questo problema, di non facile soluzione. In questo post Raymond Chen spiega storicamente i motivi dell’architettura di Windows che portano ad avere i window-handle – vi consiglio di leggere anche i commenti, perché si scopre che anche Amiga aveva qualcosa di meglio a livello architetturale. Anche qui trovate un’interessante discussione sull’argomento, che spiega come Internet Explorer non usi controlli di Windows ma abbia controlli window-less proprio per evitare di toccare questi limiti.


Per fortuna Avalon elimina alla radice il problema. Se qualcuno conoscesse delle librerie per .NET alternative o complementari a Windows Forms in grado di definire dei controlli window-less… me lo faccia sapere. Purtroppo la convivenza dei due mondi è tutt’altro che semplice (anche in Delphi ci sono diverse limitazioni per questo).

Outsourcing IT in Italia

Ieri sera leggevo un articolo sull’outsourcing IT nelle aziende italiane, dove si sostiene (relativamente alle PMI) che in Italia c’è una domanda praticamente nulla ma anche una scarsissima offerta.
Mi sono chiesto: ma la domanda non c’è e non ci sarebbe, neppure se stimolata, oppure è proprio la mancanza di offerta l’impedimento maggiore?


L’assunto dell’outsourcing è che costa meno o, per lo meno, a parità di costi si ottiene un servizio migliore.


Io ho sempre pensato che ci sia un conflitto di interessi tra chi fornisce l’outsourcing e chi lo richiede, al punto che è difficile trovarne una convenienza reale se il servizio che si dà all’esterno è una parte strategica del business. Nell’articolo si cita l’home banking come esempio di uso dell’IT che da servizio collaterale diventa una colonna portante del business, sostenendo che l’outsourcing dia un vantaggio perché consente di avere le migliori competenze con un costo inferiore (rispetto a formarsele in casa). Dall’altra (per come la vedo io) l’outsourcing costituisce un’arma a doppio taglio perché, se ci si basa su un fornitore esterno per una parte così cruciale del business, diventa poi molto difficile separarsene (e allora addio controllo dei costi…).


Un conto è andare da un fornitore esterno per fare il servizio di manutenzione di 1.000 PC client (con amministrazione di Active Directory, deployment automatici, ecc.). Un conto è dare lo sviluppo e l’intera infrastruttura di erogazione del servizio in appalto a una società esterna non controllata: molte banche infatti si fanno la loro società di outsourcing, così per lo meno riducono i rischi di perderne il controllo.


Comunque, come al solito, è bene avere dei dubbi. Leggendo l’articolo il dubbio è che, nel panorama italiano, sarebbe veramente più facile migliorare l’infrastruttura IT di un’azienda rivolgendosi a una struttura di outsourcing piuttosto che cercare di fare tutto in casa. Una struttura dedicata potrebbe mantenere competenze elevate su tutta una serie di campi (tra cui uno dei più importanti, cioè la sicurezza) e fornire così servizi di qualità molto alta (24×7, aggiornamento continuo, sviluppo secondo standard qualitativi elevati potendo contare su team composti da specializzazioni molto ampie e non basato sulle competenze specifiche dei 2-3 sviluppatori bravi – quando ci sono – di una piccola software house).


Al di là del fatto che una struttura simile oggi forse non esiste (ce ne sono sul lato hardware-sistemistico, ma sono rivolte prevalentemente a grandi aziende per servizi di data-center soprattutto) mi chiedo se esista poi una cultura di fondo che possa recepire una proposta del genere…


Ho scambiato allora una mail con chi ha tentato (e tenta) di offrire un servizio simile alle aziende. Ecco la risposta (che posso ripubblicare con l’autorizzazione dell’autore omettendo alcuni riferimenti).



Mi proponi una riflessione di cui discutevo giusto la settimana scorsa.


Io sono convinto che l’outsourcing sia il “solo” sistema che le PMI italiane hanno a disposizione per la crescita tecnologica della propria azienda. Nessuna PMI oggi ha la possibilità di strutturare internamente le competenze necessarie allo sviluppo di progetti che vanno dal web alla firma digitale per l’invio dell’iva mensile. La nostra idea è proprio questa, mettere a disposizione delle aziende una conoscenza molto “skillata” e distribuita per lo sviluppo dei progetti e il costante aggiornamento degli stessi. Ci scontriamo però con l’aspetto da te evidenziato della “percezione” di pericolo per la dipendenza che ne deriva (dipendenza che spesso viene interpretata come interesse economico sullo sviluppo in determinate direzioni e investimenti).


Ti faccio alcuni esempi da noi vissuti per darti un feed-back reale dello stato dell’arte delle aziende:


 1. [omissis] Media azienda con prodotto tecnologicamente molto avanzato in cui alla nostra proposta di outsourcing della parte EDP hanno preferito una collaborazione occasionale con il solo scopo di “controllo” indiretto dell’attività e delle scelte della struttura interna 


 2. [omissis] Media azienda in cui la parte EDP è affidata a un dipendente che “smanetta” access e l’odbc di Oracle. Solo grazie alla mia amicizia con il responsabile di produzione riusciamo a sviluppare qualche progetto ma senza una continuità in quanto gli investimenti in informatica vengono visti solo come un costo dall’amministratore delegato e siamo arrivati al punto di fatturare a giornata di assistenza tecnica i progetti per “nascondere” gli investimenti. Pensa che dovevano [omissis] e ad una nostra proposta di outsourcing dell’attività hanno preferito comprare [omissis] da 10.000 €uro e far fare il lavoro a tempo perso ai dipendenti interni (e il termine perso è un vero eufemismo).


 3. [omissis] Media azienda in cui dopo un buon inizio, sempre grazie ad una mia conoscenza, ci siamo arenati su un dirigente neo assunto che alla nostra proposta di outsourcing (una riunione mensile di progettazione e sviluppo dell’infrastruttura e assistenza sull’implementazione dei progetti) ha preferito assumere 6 persone con varie competenze per tenersi in casa la gestione e probabilmente evitare che qualcuno esterno mettesse in evidenza i suoi limiti di conoscenza informatica.


Ora il vero problema di queste aziende è che nessuno dei titolari “percepisce” l’informatica come uno strumento di business e quindi le decisioni vengono delegate a personaggi che limitano le soluzioni al solo indispensabile. Inoltre forse le poche volte che hanno delegato all’esterno si sono imbattuti in brutte esperienze….
Hai anche recentemente tastato con mano come anche imprenditori informatici ritengano una tariffa di un corso troppo alta in quanto la percezione del servizio reso sia “equivalente” al risparmio di tempo per la lettura di testi che permettano ai suoi valenti tecnici (che assolutamente non affidano attività in outsourcing perché non è opportuno) di migliorare la loro competenza!
Oppure di ISV che vendono software a PMI lombarde solo perché evitando di investire sul prodotto riescono a tenere basso il prezzo e a essere considerati meno costosi dei concorrenti.


Io penso che per ora non ne usciamo, dobbiamo aspettare che nelle aziende arrivino i figli dei titolari che hanno cominciato dall’ X-Box e si sono travati a scuola un PC per usare Paint o per trovare su internet la canzone per la fidanzata, e allora la percezione che l’informatica sia il motore di sviluppo sarà nel DNA dei decision maker delle aziende.


La mia risposta è stata: ma la generazione cresciuta con PacMan non doveva essere sufficiente? Se aspettiamo quella della XBox… siamo in pensione (ok, noi non ci andremo, ma insomma forse non saremo più tanto attivi lo stesso…).


L’argomento è interessante, i commenti sono aperti…