DevCon a Bologna e Napoli, ancora pochi giorni…

Tra pochi giorni inizieremo una campagna informativa più ampia (anche tramite MSDN) per segnalare le due edizioni di DevLeap Conference 2004, a Bologna 11 e 12 maggio e a Napoli 22 e 23 giugno.


Ricordo che i posti sono limitati, quindi avete ancora pochi giorni di “calma” per essere sicuri di trovare ancora posto. Se avete degli amici a cui volete consigliare di venire… fatelo al più presto, da lunedì non appena raggiungiamo il limite di posti chiudiamo le iscrizioni, e chi c’è c’è… Per informazioni logistiche e iscrizioni andate qui.

Controlli per Data Mining

Microsoft ha messo a disposizione (come download separato dal Data Mining Resource Kit, dove erano già presenti) i controlli di Data Mining per la visualizzazione su client che sono già presenti su Analysis Services: Tree Viewer, Cluster Viewer e Lift Chart.


Sono 10 Mb circa disponibili qui, dovrò verificare se è la stessa versione del Resource Kit o se hanno cambiato qualcosa…

Quello che nessuno insegna a un programmatore

Eric Sink segnala questo libro: Coder to Developer. Il titolo è intraducibile in italiano senza perdere l’efficacia della versione originale.


L’obiettivo del libro è di spiegare tutto quello che uno sviluppatore deve sapere oltre a ciò che è ovvio (saper scrivere codice): source control, eccezioni e assert, esame del sorgente, tool di generazione del codice, bug-tracking, loging, ecc. ecc.


A questo punto potrebbe pensare: lavoro in una piccola software house (in gergo ISV, Independent Software Vendor) che non ha le risorse per fare tutte queste cose…
Grave errore: un ISV basa tutto il suo fatturato sul software che produce. Tutte queste cose che ad alcuni sembrano un esercizio di stile sono in realtà finalizzate a migliorare la qualità e la manutenibilità del prodotto finale.


Ogni progetto software, per un ISV, è un investimento a lungo termine. Quanti sono i prodotti realizzati in tutta fretta, che inizialmente destano interesse per l’idea o per l’affrontare un certo problema in un mercato verticale e che poi soffrono di infiniti problemi di stabilità e di costi vertiginosi (per l’ISV) di manutenzione? Questo determina (economicamente parlando) un grande freno alla capacità di un ISV di crescere. Non dico che tutti dovrebbero organizzarsi come se fossero Microsoft, ma tra il non fare nulla e il fare tutto il possibile ci sono tante possibilità.


Quando faccio queste considerazioni, spesso vengo accusato di ignoranza della situazione reale del mercato. Credo invece che sia proprio il mercato a compiere la sua selezione darwiniana. Che magari non è veloce, ma è inesorabile.

Dove va Linux con Longhorn

Questa sera ho letto un post che segna una prima piccola ma autentica conquista di Microsoft con Longhorn. Il suo valore è in realtà molto relativo, perché ancora non parliamo di mercato reale…


Miguel de Icaza fa alcune considerazioni sul futuro di Linux con Longhorn.
Miguel mette in guardia le persone della comunità open-source dal pensare che ogni singola parte di Longhorn (XAML, Avalon, WinFS e quant’altro) sia qualcosa di già fatto e già disponibile in Linux, con vari tool, librerie e prodotti… o che qualsiasi “gadget” sia qualcosa che la comunità open-source può rifare in pochi giorni…
La potenza di Longhorn sarà quella di fornire insieme tutte queste tecnologie e Longhorn sarà rilasciato (con una vaga allusione all’inconcludenza di alcuni progetti nel mondo open-source) e sarà anche usato…


Cosa c’è di strano, direte? Niente, se non fosse che ho incontrato Miguel durante PDC e posso testimoniare personalmente che Miguel sta facendo autocritica anche verso se stesso.
Saper tornare sulle proprie idee è un segno di saggezza.
Ovviamente la partita è ancora tutta da giocare e Miguel non vuole certo gettare la spugna, ma è la prima voce autorevole “non allineata” che riconosce le potenzialità di Longhorn e i pericoli potenziali che pone alla crescita di Linux…

Eventi a maggio (Win32, Business Intelligence, Multithreading)

A maggio farò tre giornate di seminari a Milano su vari argomenti, con ripetizione degli stessi a Roma tra giugno e luglio. Gli eventi fanno parte di una serie di giornate tecniche chiamate TechTalk – si tratta di eventi a pagamento e non sono organizzati da DevLeap.


Per chi è interessato allego una breve descrizione dei titoli e dei contenuti. Per altre informazioni di tipo logistico-organizzativo fate riferimento al sito TechTalk Premiere.


Architettura Win32


Lunedì 17 maggio 2004 (Milano)
Mercoledì 14 luglio 2004 (Roma)

Windows NT, 2000, XP e 2003 hanno una base comune che, sin dalle prime versioni, è evoluta mantenendo un’architettura ancora oggi attuale, tanto che continuerà a essere usata nelle versioni future. Parliamo del kernel di Windows, che offre i principali servizi di base di un sistema operativo: gestione della memoria, dei processi, dei thread e servizi di I/O.
L’obiettivo del seminario è di fornire a programmatori e sistemisti una maggiore consapevolezza del funzionamento dei servizi usati da qualsiasi applicazione, per migliorare le proprie capacità sia di progettazione sia di troubleshooting di applicazioni Win32, siano esse scritte in VB, C++ o in un linguaggio .NET.


Business Intelligence


Martedì 18 maggio 2004 (Milano)
Giovedì 15 luglio 2004 (Roma)

L’attività di analisi dei dati con piattaforme di Business Intelligence (BI) è sempre più importante e diffusa nelle realtà aziendali. In questa giornata saranno presentati i concetti alla base di un sistema di BI, come Data Warehouse, Data Mart, database OLAP e Data Mining. Attraverso l’uso di dati provenienti da scenari reali, sarà illustrato passo-passo come realizzare una soluzione completa partendo da un database relazionale, esaminando i prodotti usati, le tecnologie adoperate, lo sviluppo eventualmente necessario e le estensioni possibili. I temi trattati toccheranno sia il lato server che il lato client di una soluzione completa. Analysis Services è il prodotto server di Microsoft destinato alla Business Intelligence e sarà il principale strumento utilizzato in questa giornata.


Programmazione asincrona (multithreading) in .NET


Mercoledì 19 maggio 2004 (Milano)
Mercoledì 16 giugno 2004 (Roma)
La programmazione asincrona (multithreading) in .NET è resa più accessibile grazie alla presenza di molti strumenti che ne semplificano la sintassi, ma bisogna comprenderne i concetti per padroneggiare la situazione e poter progettare, scrivere e fare il debug di applicazioni multithread. L’approccio tradizionale usato da chi è abituato a programmi completamente sequenziali porta a commettere errori difficili da individuare, anche perché gli strumenti sono necessariamente diversi: basta dire che, di solito, il debugger è uno strumento piuttosto inutile per questi problemi…
La giornata comincerà con alcuni semplici esempi introduttivi, per poi analizzare i concetti fondamentali del multithread preemptive, definendo la relazione esistente tra thread .NET e thread del sistema operativo. Saranno poi approfonditi gli strumenti disponibili in .NET per creare operazioni asincrone (thread, thread pool, chiamate asincrone, remoting) e per sincronizzarle tra loro (Monitor, Mutex, eventi, ReaderWriterLock).

Security e Longhorn

Come segnalato da Chris Sells, Keith Brown inaugura una serie di articoli per MSDN dedicati alla security su Longhorn.


Nel primo articolo si descrive una cosa che farebbe tanto comodo già oggi: Application Impact Management (AIM) è un meccanismo che “isola” i file che un’applicazione eseguita senza privilegi amministrativi (LUA – Least Privilege User Account) tenta di scrivere (per es. qualcosa su C:\Program Files\…), fornendo al programma una copia del file richiesto, tanto per farlo contento, senza andare a scrivere l’originale.


Un effetto collaterale (che l’articolo non descrive) di questa tecnica potrebbe essere quello di “invalidare” automaticamente i controlli che alcuni programmi in versione valutativa fanno per verificare se è trascorso il periodo limite della prova.
Nel MSDN Security Roadshow io e Paolo stiamo facendo vedere una demo in cui usiamo una tecnica più “sicura” per questo tipo di esigenze, senza ricorrere a trucchetti e file nascosti. A fine mese le demo saranno anche disponibili on-line.


L’articolo di Keith Brown prosegue con la descrizione di una modalità chiamata “Protected Administrator”, con cui un utente “amministratore” può eseguire delle applicazioni in un contesto di sicurezza più “ristretto”. Oggi è buona abitudine lavorare con un utente non-amministratore ed eseguire solo alcune attività specifiche con un utente amministratore.
Con Longhorn è possibile “ribaltare” il concetto, per cui si entra con un utente amministratore ma tutte le applicazioni sono eseguite con un token che ha meno privilegi, salvo le applicazioni “registrate” per essere eseguite in un contesto di amministratore vero.
Attenzione: una differenza importante potrebbe essere che l’utente non è un utente diverso, ma lo stesso utente con un profilo di sicurezza diverso… dall’articolo non si capisce bene… l’utilità di questa condizione sarebbe il fatto di non ritrovarsi con due profili utenti diversi, che in molti casi è scomodo per come si fanno le cose oggi.


L’ultima parte dell’articolo è dedicata alla Code Access Security. Sì, perché tutto il resto lavora sui concetti “tradizionali” di utente e si applica a tutte le applicazioni, non solo a quelle scritte per Longhorn. Ovviamente tutto dovrà essere messo alla prova del fuoco, ma è confortante sapere che il lavoro non sia tutto rivolto esclusivamente alla security di applicazioni .NET: per tanti anni ancora dovremo usare applicazioni “unmanaged”.

Conferenza su dispositivi mobili a L’Aquila

Sono aperte le iscrizioni al DevLeap Mobility Day: questo è il nome con cui abbiamo ribattezzato l’edizione 2004 di FWC (Future Web Conference).


L’evento si terrà a L’Aquila l’8 giugno, è gratuito ma bisogna registrarsi per tempo. Qualche informazione in più sulla nostra scheda evento e per tutto il resto (agenda, registrazione, informazioni varie) andate su http://www.fwc.it


Anche questa è una conferenza “no-frills”… Per fortuna L’Aquila costa meno delle solite metropoli ma il consiglio per chi viene da fuori è di prendersi un giorno o due per godersi un po’ il posto, ne vale la pena (intendiamoci: è una cosa tranquilla, non pensate di trovare una metropoli, anzi… ma c’è più vita notturna di quanto possiate immaginare, ci sono tanti studenti universitari).

Problemi degli eventi in contemporanea

Durante il MSDN Security Roadshow è successo che qualcuno, pur iscrivendosi correttamente alla sessione MSDN, è stato fatto accomodare nella sala della sessione TechNet (che peraltro dura tutto il giorno, e non soltanto il pomeriggio).


Segnalerò la cosa allo staff, ma se entrate in una sala e l’aria non vi sembra familiare (insomma… se non sentite parlare di linguaggi, librerie, ecc.), chiedete aiuto! 🙂


Scusate se ho approfittato del blog per questa piccola comunicazione di servizio destinata a chi seguirà i prossimi eventi sulla security.

Da Delphi a C#

Non so quanto sia realmente utile, visto che non converte codice BDE o ADO…. ma grazie alla segnalazione di TheServerSide.NET ho scoperto che è stato rilasciato Delphi2CS, per convertire aplicazioni Delphi in C#, migrando l’uso di VCL in Windows Forms.


Dalla stessa azienda (Netcoole) da segnalare un convertitore VB6->C# (non supporta On Error, Screen, Clipboard, App e Data Control, principalmente), un convertitore ASP->J2EE (non so dire di che qualità) e un convertitore ASP->ASP.NET (anche qua non so dire quale sia la qualità).


Certo, tool come questi non posso reingegnerizzare un’applicazione trasformandola in object-oriented quando l’originale non lo era… Per questo motivo non credo molto in tool simili, ma se qualcuno ne sentisse il bisogno può sempre provare…

SQL Injection da manuale

A saperlo non mi inventavo delle demo per le date del MSDN Security Roadshow ma facevo le prove direttamente sul sito di 187…


Repubblica segnala la vulnerabilità dei siti www.187.it e www.aliceadsl.it che ha messo “a disposizione” le informazioni sugli utenti registrati presso tali siti. La vulnerabilità era data dalla possibilità di fare SQL Injection nel sito. Se non sapete di cosa sto parlando e scrivete software (magari per il web), dovete assolutamente seguire una delle date del MSDN Security Roadshow e leggervi Writing Secure Code. Al più presto…