Reporting Services 2005 Report Packs

Microsoft ha rilasciato un insieme di report per Reporting Services 2005, che coprono i log di SSIS, IIS e SharePoint e forniscono un po’ di reportistica anche per Axapta, Navision e Great Plains.


La versione per Reporting Services 2000 conteneva qualche esempio interessante, ma non suscitava tutto il mio entusiasmo (ma in effetti non può essere considerato un prodotto finito, è proprio un insieme di esempi e in questo senso va considerato). Non appena avrò modo di testarne bene le funzionalità (almeno di alcuni) tornerò sull’argomento, ma nel frattempo se qualcuno li avesse già provati mi piacerebbe avere le sue impressioni.

MapPoint 2006 in arrivo, ordini aperti negli USA

A quanto pare MapPoint 2006 è veramente in dirittura di arrivo. Su MP2KMAG è già possibile preordinare MapPoint 2006 (ma con le mappe Nord-America), ma di solito la versione Europa esce in maniera concomitante.


Su questo blog è possibile trovare qualche anticipazione delle nuove funzioni. Io sono impaziente di vedere il nuovo algoritmo di ricerca dei nomi (quello di MapPoint 2004 è poco utilizzabile per la sua rigidità) e le nuove mappe (dovrebbero avere un dettaglio maggiore a livello di strade). Ho ricevuto spesso mail di persone che sviluppano con MapPoint 2004 e mi chiedevano delucidazioni, io non ho tantissima esperienza avendo lavorato più a dei prototipi che a delle applicazioni complete che usano MapPoint come componente ActiveX, ma alcune nuove API dovrebbero migliorare anche dei problemi relativi alla georeferenziazione.


Appena il prodotto sarà disponibile (purtroppo non ho avuto modo di provare nemmeno una beta) tornerò sull’argomento.

Anti-trust o anti-Microsoft?

Premessa: lavorando quasi esclusivamente con tecnologie Microsoft, il mio può essere considerato un parere di parte, ma posso dire che i valori che mi ispirano sono indipendenti dal caso specifico, che però sollecita la mia attenzione in quanto ha effetti sul mondo (tecnologico) in cui tutti viviamo.


Ho appena letto questo breve articolo di Paul Thurrot che commenta una lettera inviata a Microsoft dal commissario antitrust dell’Unione Europea, Neelie Kroes. Il messaggio inviato a Microsoft è quello di fare attenzione a quello che farà con Windows Vista, perché se integrerà tecnologie come IE7, DRM e Metro, potrà esserne vietata la vendita nei paesi dell’Unione.


Ben sapendo di toccare un argomento che susciterà reazioni contrapposte, non riesco a capacitarmi di come si voglia definire delle regole per la realizzazione di un prodotto, che deve contenere alcune funzionalità ma non altre per decreto. Tra le possibili funzionalità soggette a regolamentazione, ci sarebbero addirittura funzionalità concorrenziali a Symantec e McAfee (riferendosi probabilmente di antivirus e firewall).


Ripeto, non riesco a capacitarmi di come ciò sia possibile. Credo sia noto a molti il paragone di come sarebbe un’automobile se fosse costruita da Microsoft (fermate in autostrada, spegni e riaccendi, cambia il volante ogni mese, ecc. ecc.). Immaginiamo il giochino al contrario, ovvero come sarebbe un’automobile oggi se fossero state applicate regole analoghe dal 1980 in avanti.


Le cinture di sicurezza sarebbero ancora un optional. ABS e Airbag forse ci sarebbero (difficile immaginare di montarli in un secondo tempo), ma qualcuno ricorderà che c’è stata un’epoca in cui il climatizzatore poteva essere montato in un secondo tempo. Quindi via il climatizzatore dalla dotazione di serie. E cosa dire dell’autoradio? Sparito il bollo (chi se lo ricorda quello della radio?) il massimo che dovremmo aspettarci dovrebbe essere una “predisposizione” per il montaggio del nostro “estraibile” preferito (per la gioia di ladruncoli e di chi vende vetri per auto).


Tornando al nostro “mondo tecnologico”, quando Microsoft è passata a Windows ha eliminato l’intero mercato dei memory extender (chi ha sviluppato in DOS si ricorda di cosa significhi un limite di 640K, dove oggi non ci sta nemmeno il notepad (non sto scherzando, verificate pure). Il Defrag, nato con uno degli ultimi DOS, ha messo in pericolo molti produttori di utility corrispondenti. Lo stesso Explorer, da un certo punto di vista, ha messo in crisi utility favolose per la gestione e la copia di file.


Per guardare ad altri: è inimmaginabile oggi un sistema operativo senza browser internet (Apple ha Safari e nessuno glielo impedisce, com’è giusto). Secondo me è auspicabile, per la sicurezza di tutti, che alcune funzionalità di sicurezza siano implementate a livello di sistema operativo. Vogliamo dire che il mercato di un paio di aziende (americane e non europee, tra l’altro – Symantec ha in Europa degli impianti produttivi, come peraltro Microsoft, ma per questioni più logistiche e fiscali che non strategiche) è più importante della sicurezza? Vogliamo le cinture di sicurezza come optional nelle automobili?


Certo, il software è un bene particolare, tutto ricerca e sviluppo con zero costi di produzione materiale. Certi distinguo rispetto ai beni materiali sono, sotto certi aspetti, anche giustificate. Ma io credo fermamente che lo spirito ultimo che guida l’antitrust debba essere la tutela del mercato e in prima istanza dei clienti/consumatori, non il diritto all’esistenza delle singole aziende e/o dei singoli prodotti. Quando leggo certe giustificazioni, non riesco a comprenderne il senso. Signori, il costo per il possesso di un personal computer è sceso enormemente negli ultimi 20 anni. Google si è affermata contro un colosso che pareva invincibile come Altavista. Microsoft ha combattuto IBM sul terreno dei sistemi operativi (Windows su OS/2). In molti mercati Microsoft ha una buona posizione ma non ha il 90% del mercato in fatturato (XBox, SQL Server, Exchange). Ma tutte queste battaglie si sono combattute sul mercato e non in tribunale. Il risultato è stato un vantaggio per gli utenti, che hanno scelto il prodotto migliore valutandone tutti gli aspetti. Che un’azienda cerchi di eliminare o ridurre la concorrenza fa parte delle regole del gioco e non è una distorsione, purché ciò avvenga in maniera corretta: acquisire un’azienda (come l’esempio di Alienware di cui ho parlato pochi giorni fa) è ben diverso dal ricattarla o farla fallire facendo dumping sui prezzi. Questo è il tipo di azione che mi aspetterei da un organo di controllo: individuare, perseguire e se possibile prevenire l’abuso di posizioni dominanti (quindi ricatto o dumping) e di cartelli sui prezzi, non il mantenimento dello status quo (mantenere le condizioni per cui un prodotto abbia mercato venenendo meno all’interesse primario del cliente/consumatore).


Dal mio punto di vista, un cartello di prezzi fatto dalle società che detengono una quota maggioritaria del mercato è eticamente disdicevole tanto quanto un’intervento legislativo che distorce le regole della concorrenza prevenendo il cambiamento di condizioni di mercato che potrebbero far scendere i prezzi (o aumentare la qualità) dei prodotti. Vietare di mettere un antivirus in un sistema operativo per me equivale a consentire che si costituiscano cartelli sui prezzi.


Il mondo cambia, il mercato cambia, i prodotti cambiano, le aziende cambiano.
Il cambiamento va incentivato, non fermato.
Pensare di fermare il tempo è fuori dal tempo stesso.


Dite la vostra.


 


PS: Forse, semplicemente, Microsoft dovrebbe investire qualcosa in una lobby migliore a Strasburgo e Bruxelles, come fanno tutti…

Security RoadShow 2006 in corso

Ieri ho inaugurato il Security Roadshow 2006 a Brescia, il tour va avanti in tutta Italia nel mese di marzo e aprile (date e iscrizioni su questa pagina). Personalmente sarò ancora speaker a Verona (30 aprile) e Padova (13 aprile).


Approfitto del post per ringraziare gli intervenuti che onestamente hanno alzato la mano alla mia domanda su chi sviluppasse ancora come amministratore. Io non ho guardato (per avere risposte sincere) ma terminata la giornata ho chiesto a qualche collega le percentuali… un 80% di sviluppatori usa ancora un utente amministratore, spero di essere riuscito a convertire almeno un 50% dei presenti, sarebbe già un ottimo risultato!


Un commento personale: anche se in Vista è presente UAC (User Account Control) che consente a un utente amministratore di operare come se fosse un utente normale, resto dell’idea che sia meglio usare un utente “normale”. UAC, così come RunAsAdmin (funzione simile utilizzabile anche su XP e 2003), per quanto comodi mi sembrano un po’ dei palliativi.


Ricordo che le slide dell’evento saranno disponibili sulle pagine di MSDN alla fine del tour, comunque se avete bisogno di riferimenti a tool o altre informazioni non fate problemi a scrivermi.

Viste ordinate in SQL Server: trucchi inutili

Mi è capitato di frequente di vedere l’uso della clausola TOP 100 PERCENT usato nella definizione di viste (in SQL Server) per poter usare la clausola ORDER BY nella definizione della vista. Non si tratta di una buona idea.


Benché apparentemente il risultato sia simile a quello di avere una ORDER BY in una SELECT, non è assolutamente garantito che il risultato restituito sia ordinato: il piano di query può essere ottimizzato in modo tale da restituire comunque tutti i record della tabella, ignorando l’ordinamento richiesto nella query. Dunque, i trucchi sono inutili: una vista non può avere una ORDER BY di cui sia garantito il funzionamento.


Una spiegazione più dettagliata è fornita in questo post nel blog del team di ottimizzazione delle query di SQL Server segnalato da Davide Mauri.

Dell compra Alienware

Non è un post da week-end ma quasi: Dell ha annunciato un accordo per l’acquisizione di Alienware. Per chi non lo sapesse, Alienware fa PC e notebook assolutamente privi di qualsiasi compromesso (prezzo compreso, purtroppo).


Qualche settimana fa ho considerato l’acquisto di un loro notebook, ma a parte i costi (a cui comunque corrispondono caratteristiche introvabili in notebook “normali”) e il problema della tastiera (quella che assomiglia di più alla italiana è la spagnola, l’italiana non è a listino), il vero blocco è stato la mancanza di un supporto diretto in Italia, in caso di guasto il notebook comincia a fare su e giù con l’Irlanda.


Questa acquisizione forse renderà molto più accessibile (almeno per assistenza e tastiera) un notebook Alienware. Per i prezzi, non credo che Fiat comprerebbe Ferrari per abbassarne i prezzi (anzi, forse da allora i prezzi sono addirittura saliti).


Leggendo quest’intervista a Michael Dell viene però malignamente da pensare che il vero motivo sia quello di eliminare un possibile concorrente prima, molto ma molto prima che diventi anche solo un piccolo fastidio. Nessun antitrust che rompe le scatole e l’unica realtà significativa che ha un modello di business accomunabile a Dell (solo vendite dirette, nessuna rete commerciale) è sotto controllo. Se è veramente così, si tratta di un’ammirevole caso di lungimiranza imprenditoriale.


Un consiglio ai maniaci della tecnologia più spinta: non visitate siti come questo con una carta di credito a portata di mano…

Curiosità: chi progetta sistemi operativi a volte corre in auto

Lavorando sul materiale per il prossimo Technet-MSDN Security Roadshow (farò da speaker a Brescia, Verona e Padova, per i dettagli seguite il link) ho rivisto la biografia di Dave Cutler (al secolo David Neil Cutler) e ho scoperto che fino a qualche anno fa correva anche in auto, senza primeggiare ma senza neanche arrivare ultimo.


Per restare sul tecnico, il PDP-11 nel curriculum di Cutler era un altro tassello che mi mancava, o meglio che mi ero dimenticato, visto che è tutto scritto nell’introduzione alla prima edizione di Inside Windows NT di Helen Custer.

Dove è finito WinFX in Vista?

In questi giorni è capitato di discutere di questo articolo di Richard Grimes che fa un’analisi un po’ spietata della relazione che c’è tra Windows Vista e il .NET Framework.


Nell’articolo sono elencati una serie di dati oggettivi: .NET non è praticamente utilizzati in Windows Vista e Microsoft si è silenziosamente rimangiata la promessa di fare di WinFX la nuova API per le nuove funzionalità del sistema operativo. Credo ci siano poche discussioni su questo fatto, i numeri parlano da soli, praticamente nessun componente del sistema operativo usa .NET.
Quello che personalmente non condivido del tutto sono le conclusioni. Dire che Microsoft non si fida di .NET non mi sembra corretto, esistono dei prodotto sviluppati da Microsoft con questa tecnologia (Reporting Services credo sia il più diffuso) e altri ne sta sviluppando (l’editor di WPF). Il sistema operativo e i servizi di base hanno requisiti di scalabilità molto diversi da quelli di una normale “applicazione”, anche considerando un servizio del sistema operativo.


Come ho detto già pochi giorni fa, dal punto di vista della stabilità è molto meglio fare un componente e poi costruirci sopra qualcosa. Tanto per fare un esempio, anche quando è arrivato COM non lo abbiamo visto usare da quasi nessun componente del sistema operativo, almeno nelle prime versioni, e tutto continuava a essere connesso attraverso DLL e chiamate “C-like”. Oggi ci sono alcune API che esistono esclusivamente come interfacce COM e non esiste il corrispondente “C”. Questa migrazione graduale (che non ha sostituito le API esistenti!) ha garantito un certo livello di stabilità, almeno nei componenti del sistema operativo (il versioning dei componenti di base di COM rispetto agli applicativi è sempre stato un mal di testa molto diverso e più pesante).


Trovo quindi naturale pensare che ci vorrà ancora qualche anno per avere un vero Windows .NET, che sfrutterà WPF molto più a fondo di quanto non faccia l’interfaccia Shell delle attuali Beta di Vista. Quel che è certo, a questo punto, è che la rivoluzione che Microsoft ha promesso nel 2003 con Longhorn non sarà così “rivoluzionaria”, ma molto più diluita nel tempo (più un’evoluzione, insomma).


In poche parole, questo è il prezzo della compatibilità.

Minesweeper in Vista

Post da week-end: provando l’ultima CTP di Vista ho trovato un caro vecchio ricordo, il Minewseeper. Finalmente hanno tolto l’ipocrisia della traduzione “pacifista” (credo di aver visto “campo fiorito” in una qualche versione di Windows), tanto che quando si perde le mine “esplodono” con tanto di animazione.

La grafica è stata aggiornata ed è aderente all’interfaccia di Aero (per i curiosi, c’è già chi ha pubblicato dei bitmap).

Curiosando ho constatato che anche Minesweeper non usa WPF (ex-Avalon) ma agisce direttamente con il nuovo set di Common Controls di Windows Vista. Insomma, è e resta un’applicazione unmanaged, forse scritta ancora in C e non in C++.


Insomma, il sistema operativo per ora si guarda bene dal considerare WinFX una parte di sé. Le promesse del 2003 non saranno completamente completamente mantenute, ma forse la lezione di SQL 2005 e Visual Studio 2005, così legati e interdipendenti da ritardare il lancio di entrambi di mesi, è servita. La priorità ora è uscire con Windows Vista, che di novità ne ha già abbastanza, con il tempo vedremo come le nuove API (basate su .NET) saranno usate da tool e applicazioni Microsoft.