.oO( Thinking M.rkino)

Idee, racconti, varie ed eventuali della vita di tutti i giorni.

WP7, dal mio punto di vista

Sono da pochi giorni possessore di uno smartphone con WP7 (nello specifico è un LG Optimus 7 ). In ogni caso con il mio HTC Cruise non ho mai invidiato I possessori di Ipod: un copia e incolla veloce di mp3 nello storage del mio device, un paio di cuffie in tasca ed ero felice. (continua)

Printing in SL3, yes we can!

E’ del luglio 2009 il post “Printing in Silverlight 3, yes we can!” in cui si spiega come poter stampare con silverlight 3. Il post sfrutta le potenziale della classe WriteableBitmap e l’Encoder PNG di Joe Stegman per generare un immagine al volo a partire da un elemento dell’interfaccia grafica per salvare poi l’immagine su disco che l’utente può poi stampare. Il risultato finale non sarebbe per nulla piaciuto all’utente finale. Ecco come mi sono mosso per rendere l’operazione più integrata.

Un mio SAL sull’uso dei Ria Services

In Febbraio in Workshop "UGIdotNET feat. Community Tour" avevo segnalato i RIA services... tecnologia in crescita da maggio/giugno 2009, presentata in combinazione con VS2010 ma disponibile una versione (anche se al momento in beta) per VS2008. Recentemente ho provato ad applicarli in casi reali, o meglio ne sto studiamo l’applicazione per casi reali. Riporto dei feedback a caldo dopo un mesetto circa di test. (continua)

Il “capitolato” di un progetto

Nella realizzazione di un progetto identifico due "obiettivi": realizzazione dell’infrastruttura e soddisfazione dei requisiti utente in termini di funzionalità. Provare a fare un parallello con settori più consolidati e più maturi, capire quali sono le similitudini nel modello di business, e come avviene per i pattern provare ad applicare soluzioni già adotattate. (continua)

Software, romantici e pragmatici

Dopo il post in merito alle problematiche cliente e fornitore in ambito software... in questi giorni mi sono trovato a distingue due metologie/filosofie di lavoro: i romantici e i concreti/pragmatici. (continua)

Feature ... di prestigio (?)

Ecco che mi ritrovo ancora una volta a parlare di annosi problemi legati a clienti e richieste di feature che sebbene funzionalmente apppaiono naturali (continua)

IT e fantasmi dal passato...

Mi rendo conto che è molto più facile ricercare e apprendere nuove soluzioni orientate al maintenance che istruire al loro uso... (continua)

Css vs Skin

Mettere a confronto fogli di stile e skin di asp.net; Non credo siano confrontabili: operano in ambiti diversi e io credo nella loro sinergia. (continua)

Rigore e guidelines vs estro

Scrivere seguendo le guidelines credo sia sinonimo di professionalità e rispetto per gli altri che toccheranno il mio codice. In seguito ai nuovi arrivi nella rosa degli statement di c# spero di non essere all'alba di un neo-impressionismo di sviluppatori entusiasti. (continua)

UpdatePanel e i suoi abusi

L'ingresso di Microsoft nel Web 2.0 si chiama per i più UpdatePanel. Quello che voglio fare ora è analizzare l'approccio UpdatePanel vs uso diretto della api di Ajax. Se i metodi di Page_Load sono male implementati, l'uso di UpdatePanel potrebbe divantare altamente inefficiente server-side. (continua)

Casi "reali" di Authenticazione e Authorizzazione

Credo che qualcuno dovrebbe pensare a qualcosa di diverso (continua)

UnitTest e Code Coverage, parliamone #2

Un'ultimo post per chiudere "UnitTest e Code Coverage, parliamone" per non lasciare indefinito\vago quanto detto in alcuni punti. Quali sono le regole per quali giudico una componete particolare e "degna" di Unit Test specifico?

UnitTest e Code Coverage, parliamone

Il Testing strutturato è - da qualche anno - entrato a fare parte del mondo .NET. Con l'introduzione del testing strutturato ecco la nascita di nuove fobie e nuove interessanti parole con cui ci si riempie la bocca. Io questa moda del test di ogni cosa ad ogni costo non so se la approvo. (continua).

MS, Vista e la posizione predominante

Faccio un mio personale ragionamento ad alta voce in merito a Vista... la Service Pack 1 e la posizione predominante di MS. (continua)

Nessun DM è perfetto in assoluto...

Prendo spunto dal post di raffau "Come NON progettare le Entities"... e dico la mia. (continua)

Babelfish... c'è chi lo imita e chi sa far meglio

Volevo fare un punto della situazione sulla qualità delle trduzioni offerte da MS Translator e Google Translator Sono concorde con l'opinione comune che i traduttori non sono perfetti... babelfish fu un inizio esilarante ma fu un inzio, mi aspetto che i traduttori dell'anno del signore 2008 siano un pò meglio! (continua)

Caro Babbo Natale, non sempre mamma MS pensa a noi

Caro babbo Natale questa è la mia lista dei desideri. Per fortuna che c'è Babbo Natale perchè mamma MS non sempre pensa a noi. (continua)

Web 2.0, chi è costui? #2

Cosa si intende per web 2.0? Qualche giorno fà avevo parlato di web 2.0 in merito ad un uso - a mio avviso - improprio del termine (vedi "Web 2.0... cosa?"). Per me web 2.0 continua ad essere un cambiamento technologico.

ORM dal mio punto di vista

Nonostante la mia iniziale diffidenza verso gli ORM mi sono poi ricreduto e devo dire che sicuramente l'accesso al dato tramite ORM sta diventando QUASI un MUST, non è infatti una novità che un pò tutte le grandi case si stanno orientando nella costruzione di tali framework (chi prima, chi in ritardo). Faccio qui un mio personalissimo punto della situazione. (continua)

Pòr'Italia ...e quella amara pillola chiamata internèt

E' la notizia de giorno... non ho commenti da fare; riporto qualche articolo e commento preso qui e là per esprimere il mio personale disgusto/disappunto! (continua)

Pacchi, pacchetti e librerie per i nostri Wiki

Per chi fosse interessato ad un sistema wiki per propri progetti segnalo un portale di comparazione dei pacchetti esistenti e un libreria wiki da integrare nei propri progetti (continua).

[Google] "Web Masterminds" a Milano

Oggi Google ha presentato l'evento "Web Masterminds" a Milano e io e Andrea c'eravamo. (continua)

Che amarezza...

Nel lontano 2003 scrissi un post che attira molti adolescenti ambiziosi di rimanere somari. Mi verrebbe da dire gioventù bruciata ...ma mi sentirei vecchio nel dirlo: mi ricorda quello che mia nonna diceva a me (continua)

Un pò di lamentela/sfogo su System.Configuration...

Non ho mai nascosto il mio disappunto per la decisione di deprecare IConfiguartionSectionHandler... beh non sono così malvagie le nueve strutture; però ... (continua)

MS e certe politiche di antitrust...

MS e certe politiche di antitrust... bah

NHibernate e qualche critica alla progettazione

Sebbene apprezzo le potenzialità di NHibernate (e di conseguenza sto rivedendo la mia opinione/scetticismo sugli ORM) NON posso tirarmi indientro dal criticare alcune scelte di progettazione. Ecco una delle mie storie.

doh.... un pinguin attack!

Come se non avessi nulla a cui pensare... oltre a moderare gli spam devo pure sorbirmi un pinguin attack!

Reti casalinghe e sistemi Linux...

L'utente casalingo ha bisogno di scatolotti chiusi di cui meno sa, meno deve sapere e meno deve fare e meglio vive. Linux ha il pregio di poter avere versioni/distribuzioni Light verticalizzabili per specifici problemi. (continua)

[NHibernate] e l'importanza dei parametri precisi!

Se non si specifica il "type" NHibernate deciderà di trattarlo come NVARCHAR(4000) - la cosa la si può vedere profilando i comandi -... e questo a fini delle performance è molto molto male!

Riflessioni su componenti e il gioco della superficie di contatto

Mi piacerà indicare con "gioco della superficie di contatto" il rapporto tra il numero delle funzionalità che un component espone al consumer e il numero dei casi d'uso che il componente risolve al consumer stesso. (continua)

Quelli che il load lo vogliono lazy ma anche un pò weak ...

A volte mi rendo conto che non solo ci farebbe piacere applicare il lazy load ma ci farebbe anche piacere che quello che carichiamo non occupi permanentemente spazio in memoria. (continua)

Considerazioni su Currency e Globalizzazione

E' noto che per formattare un numero in formato "currency" è possibile usare la formattazione predefinita "C": price.ToString("C"). Tale tipo di formattazione oltre che impostare la corretta formattazione per decimali e separatore per migliaia aggiunge alla stringa formattata anche il simbolo della currency della cultura impostata implicitamente o esplicitamente. Perchè la formattazione "currency" deve includere anche il simbolo della currency? (continua)

Convert con un metodo generico

Qualche riga di codice natalizio proponendo una "Convert con un metodo generico" così come avevo proposto "Casting con un metodo generico".

Parlando di Unknown e approdando alle Empty Interface

In questi giorni stavo seguendo un therad in cui si parlava di provare a vedere se tecnicamente era possibile generalizzare uno special case e in particolare si è preso come esempio il tipo Unknown (di cui in questi giorni si è discusso un pò sui blogs e un pò nel forum). Io propongo l'uso delle "Empty Interface" (continua ...)

Overhead e un pò di pignoleria

Overhead... solo pignoleria? (continua)

Pensieri a ruota libera sulla modellazione di un archiettura a provider ...

Un provider dovrebbe gestire a 360 gradi un atomico business? Un ragionamento ad alta voce sulle varie possibilità nella modellazione/disegno di un archiettura a provider. (continua)

Strategie di caricamento dei provider

Quali strategie abbiamo per caricare i provider? Caricamento statico, a plugIn, tramite registrazione o mixed... (continua)

L'evoluzione nel disegno di architetture ...

E’ da un pò che sto preparando un post dove volevo parlare e fare un punto della situazione - a grandi linee - dell'evoluzione che ha avuto l'architettura software e in particolare il mio modo di impostare le architetture… fare il punto su quali mode ho seguito - per scelta o imposizione - e dove vorrei andare. (continua)

Ancora sulla lettura dei dati, Casting e DbNull

Tra agosto e settembre del 2004 parlavo di classi di supporto per facilitare la lettura dei dati di un datareader. Nel novembre del 2005 ho parlato di un idea per l'implementazione di una classe per il _supporto_ nelle operazioni di casting. Il mese scorso ... (continua)

Sognando un web semplice ...

Oggi ho fatto un sogno che vede un utenza web meno esigente e più funzionale... Amo i processi semplici e intuibili, odio quando la potenza di una tecnologia viene ostentata. Contiinua per leggere di un sogno si offusca... in un estate fin troppo calda per i miei gusti.

Considerazioni su RBS, Ruoli e UserType

Credo che uno degli errori più diffusi e sia quello di confondere e/o unire il concetto di UserType con il concetto di ruolo. La Role Based Security (RBS) si basa sul concetto che un utente è associato a più ruoli e un ruolo identifica uno scope di azioni all’interno del applicazione/sistema. (continua)

sp1 per VS2003, ma "io volevo dei cOntanti non dei cAntanti!"

Su blog del DDCPX - Developer Division Customer Product Lifecycle Experience - si annuncia "Visual Studio .NET 2003 Service Pack 1 Release Date". Come interpretare la cosa?

Uno "screencast" per l'analisi!

La analisi funzionali e le analisi in generale senza avere il codice davanti sono decisamente quelle che escono meglio. Scrivere una analisi di sole parole a volte però non solo può risultare noioso e lungo ma potrebbe essere - sopratutto se davanti si ha il committente - che persone diverse danno significati diversi alle stessa frase/concetti: qualcuno pensa che alcune cose siano implicite qualcuno no. (continua)

Socket, BeginReceive e idee di utilizzo

Il TcpClient è un interessante wrapper per le connessione con Socket. A me poi piace incapsulare lo stream (vedere GetStream) in StreamReader e StreamWriter per poter facilmente leggere e scrivere sul canale. Questo potrebbe obbligare - a prima vista - a rinunciare alla ricezione asyncrona dei dati ... (continua)

Come ti sommo le pere con le mele #2

Ricordate l'idiomatica soluzione per sommare Pere e Mele descritta in "Come ti sommo le pere con le mele"? Soluzione interessante anche se mi era poco soddisfacente perchè poco pulita ( e poco OOP) e troppo legata a potenzialità del linguaggio. La problematica di trovate qualcosa di soddisfacente era sopratutto legata/limitata ai "limiti dei Generics di C# 2.0". La nuova soluzione è frutto di una più attenta analisi dei requisiti del caso d'uso/funzionalità. [continua]

Generics e i ... presunti "paradossi"

Il polimorfismo e le interfaccie sono senza dubbio una degli aspetti più interssanti della programmazione OOP... sebbene spesso vogliamo dare ai comportamenti di una classe e/o di un interfaccia degli aspetti quasi umani ci dobbiamo convincere che quelli che noi chiamiamo comportamenti sono contratti definiti da tanto di vTable e tecnicismi correlati .... con i generics ecco che l'ovvietà potrebbe essere mal vista e diventare una vera e propria scocciatura!! [continua]

SSIS e i nuovi import... l'accendiamo!?

SSIS e i nuovi import... l'accendiamo!? Ora sono anche io che mostro le miei perplessità sullo strumento... perplessità che forse andranno a morire con le prossime versioni del prodotto che ora è ancora alle prime versioni. Sia chiaro che sono contento dell'evoluzione dei DTS... ma a fronte di una evoluzione concettuale mi sembra di vedere un involuzione tecnica!

[ErrataKorrige]: La Cache e oggetti singleton

Piccola modifica al codice che avevo postato in "La Cache e oggetti singleton" perchè non si sa mai che la CacheItemRemovedCallback scatti prima che la funzione sia riuscita a tornare l'istanza statica e quindi vi ritroviate con un bel NullReferenceException. [continua]

ProgressBarRenderer e DataGridView, una interessante collaborazione!

In questi giorni avevo necessità di avere una ProgressBar in una DataGridView (System.Windows.Forms)... L'idea è quella che negli opportuni eventi della DataGridView avrei disegnato io l'immagine da associare alla griglia... [continua]

WindowForms, UI e comportamenti standard da tenere ...

Solitamente non solo uno sviluppatore vicino allo sviluppo di UI e WindowForms... in questi giorni mi sono ritrovato a implementare una semplice e veloce applicazione windows. Non ho potuto fare a meno di notare che qui e la nella gestione degli eventi il buon senso mi _costringeva_ a scrivere del codice ripetitivo per gestire il comportamento dell'UI durante lo svolgimento del codice... [continua]

Quanto è cambiato il mio modo di modellare gli oggetti nel corso degli anni

Ieri sera nel tornare a casa ho iniziato a ricordare quanto è cambiato il mio modo di modellare gli oggetti nel corso degli anni... credo di dire che la vera rivoluzione è legata al fatto che maturando ho iniziato a dare più importanza al caso d'uso e alla facile estendibilità/utilizzo invece di puntare al modello astratto perfetto. [continua]

L'uso della query string, la privacy e lo spargimento improprio di informazioni!

L'uso della query string è spesso travisato... molti non ne capiscono senso/significato. La query string è spesso vista solo come un semplice problema di passaggio di parametri ad una pagina... per questi  l'importante che i parametri siano pochi e brevi. La query string invece - a mio avviso - è un vero e proprio identificativo di una pagina... da qui a volte l'esigenza - ben descritta da Andrea, "Url rewriting e sitemap provider, un sodalizio inatteso" - di traformare tali parametri in parti dell'url per avere una migliore indicizzazione su quei motori di ricerca che stanno restringendone/esludendone l'uso. Poichè la query string...

Acrobat Reader e la leggera controtendenza ... :(

Ultimanente la filosofia che i programmi seguono è quella di pesare/disturbare il meno possibile sull'utente per quanto riguardo la loro manutenzione. Ecco che nasce ClickOnce  o in generale i programmi implementano sistemi di aggiornamento abbastanza silenti: pochi secondi di disturbo per scaricare e aggiornare il proprio sistema. Finita l'era in cui ogni programma chiedeva il riavvio del computer e/o pretendeva che durante l'aggiornamento si chiudessero tutti gli altri applicativi! ...si certo ci sono casistiche in cui ancora non è così ma il più delle volte sono legate all'installazione di patch di sicurezza di WindowsUpdate... insomma la tendenza è quella di scocciare il meno possibile....

Le stringhe Xml e quello scomodo Encoding!

L'Xml andrebbe costruito tramite tecnologie e/o librerie ben consolidate che facilitano e guidano la creazione di un Xml well-formatted. Ma quando arrivano nuove tecnologie c'è sempre qualcuno che proprio non le vuole accettare per cui le denigra e le sminuisce... e per questi l'encoding è proprio una tremenda scocciatura!. Segui il link per l'_articolo_ completo.

Il terrore di implementare nuove classi...

Girovagando per i newsgroup e/o parlando con newbie (ma non solo) una della cose che più faccio fatica a capire è la paura (o forse il fastidio) di scrivere nuove classi ("si ma un'altra classe?! uff..." :o). Perchè la gente prefersice implementare metodi chilometrici pieni di if e/o switch solo per capire quale problema si deve risolvere invece di racchiudere le regole in specifiche classi che si occupano di specifici problemi? Probabilmente le righe di codice da scrivere sarebbero le stesse, solo meglio organizzare... Inoltre ci sarebbero solo benefici: l'archiettura più leggere e facile da seguire, il codice più leggibile e il programmatore più rilassato... no?!

I programmi che dovremo ancora scrivere tra 10 anni!

Venerdì parlando con una amico non tecnico mi stava raccontando di un servizio che la sua società stava mettendo in piedi per le gestione della fatturazione elettronica. Il servizio accetta dati sia in formato flat file sia in formato XML... su 10 beta tester solo 1  userà il formato XML. :-| Quell'unico pioniere che ha scelto di usare XML non si è basato sullo schema XSD ma ha preferito seguire le specifiche del file word di documentaione - che ahimè era disallineato con lo schema :-( ovviamente poichè il file XSD non venne preso nemmeno in codiderazione non si accorse del disallineamento e nella fase di...

Come mi piace implementare il Lazy Load con un pizzico di polimorfismo...

Ogni layer può parlare solo con quello direttamente sotto di lui, tutti i layer conoscono il modello e ovviamente le entità di business non conoscono nessuno ... La modalità di caricamento dei dati in fondo è - a mio avviso - una questione unicamente del DAL che sa meglio di chiunque altro cosa è conveniente relativamente alla base dati da lui gestita. Come implementare un lazy load? Leggete il post per vedere come la penso!

"Freedom Toaster"

Ecco qui una interessante notizia dalla rete. "Freedom Toaster": distributore automatico di software, ovviamente solo Free e OpenSource (FOSS). L'iniziativa nasce dal Sud Africa e la motivazione è "Aiutare gli abitanti di aree con una limitata o nulla disponibilità di ampiezza di banda a procurarsi delle soluzioni senza avere la necessità di connessione alla rete". Sinceramente vedrei anche altre motivazioni oltre a quella qui descritta... anche perchè anche qui e ovunque si ha la banda larga non si potrebbe andare in rete se non si fosse in possesso del software per andarci :-p [update] Devo essere sincero la cosa non è che mi convince più di tanto.... poi...

Archietture a plugIn, pensieri e considerazioni

Uno dei modelli architetturali che più mi piace adottare per garantirmi sistemi aperti e personlaizzabili senza toccare il core applicativo è l'architettura a plugIn. Questo Week end ho fatto un paio di riflessioni: meglio avere un interfaccia che i plug devono implentare o una classe base che devono estendere? La questione credo che sia interessante perchè ognuno in merito ha i suoi pro e i suoi contro.

Continua seguendo il link.

WebService, Serializzazione, dati nullabili e interop 1.x e 2.0

[English version] Finalmente con la versione 2.0 del Framework la serializzaione ci darà la possibilità di inserire nei nostri xml dati nulli secondo gli standard xml, xsi:nil.Tale possibilità ci viene offerta dai nullable types. L'xml è ad oggi considerato il re dei formati di interoperazione tra sistemi eterogenei per tecnologia. Un possibile scenario del prossimo futuro potrebbe essere quello di avere il sistema server che espone servizi web implementati con la 2.0 e client implementati con la 1.x.  Ovviamente la cosa è possibilissima. Ma cosa succede se il server espone un nullable type? Client-side interpreta il wsdl correttamente e genera quindi senza problemi la classe proxy.. ovviamente non...

[~OT] L'OpenSource, Grillo e la conoscenza libera

E' un perido questo che sto seguendo con interesse il blog di Beppe Grillo. Certo Grillo è fatto un pò a modo suo, va a volte preso con le pinze, non è un oracolo e alcune cose che dice sono discutibili... ma il post di Lunedì quando parlava dell'intervento di Bill Gates a SMAU e della sua intervista  ha un Post Scriptum che proprio non mi riesce di digerire.

Oggi mi sento un pò Wiki! :-D

Era ora che anche io mi buttassi nel magico mondo del Wiki... grazie a Luka e ai sui manuali pratici di Wiki, eccomi qui a comporre la mia Home Page :-D Perchè anche il wiki? Il mondo della rete ci dà ogni giorno modo di comunicare con forme sempre diverse e innovative e questo da la possibilità di ampliare e divulgare la conoscenza... il bello del wiki - a mio avviso - è quello di avere argomenti sempre under construction arricchiti di giorno in giorno dell'esperienza di ognuno dei partecipanti... il blog come la radio, il forum come la piazza, il portale...

java, solo per programmatori virtuosi...

Pierre oggi lo vedo intento a preparare una demo sul consumo di un webservices implementato in java e consumato da .NET (è noto che pierre non è simpatizzante della tecnologia java). Dopo qualche ora di disperazione ecco che mi chiama perchè proprio il deploy di un web services di prova non riusciva a farlo... beh qllo è stato più o meno semplice grazie al cielo Tomcat non è cambiato di molto - è un pò che non lavoro in java... Secondo problema... il web services non c'era verso di poterlo consumare, problemi di "Soap Action" non riconosciuta, la trace HTTP sembrava...

ADO.NET, i parameter e l'importanza dei tipi precisi.

Solitamente sono abituato a usare i parameter ma spesso lascio che sia ADO.NET a decidere per me quale sia il DataType da associare, decisione che poi si riflette - ovviamente - nella chiamata al database. La stringa viene per cui passata di default come NVARCHAR poichè in .NET la stringa è unicode. Sotto segue l'effetto che fa sul database filtrare su una colonna usando un tipo che non coincide con la colonna stessa, nel caso specifico dell'esempio qui sotto ID della tabella MyTable è di tipo CHAR. exec sp_executesql N'SELECT * FROM [MyTable] WHERE ID = @ID', N'@ID nvarchar(12)', @ID = N'0123456789AB' (1 row(s) affected) Table 'MyTable'....

Implementare un Contesto a livello di Thread

Settembre... ora di rimettersi in moto, anche se quest'anno con un pò di fatica in più :o In queste sere di ripresa sto facendo qualche gioco non tanto sulle archietture quanto sulle tecnologie analizzando alcune possibilità date dal Framework _conosciute_ ma mai davvero approfonfite. In questi giorni ho avuto la necessità di avere contesti a livello di Thread per poter condividere dati tra funzioni senza aggiungere parametri nelle varie firme. Attenzione il contesto a livello di Therad non è da confondere con il contesto del Thread (quello in cui gira) in quanto in esso potrebbero girare altri Thread. Ho quindi approndito Thread.AllocateNamedDataSlot (e...

Lady bug e le segnalazione del M.rkino :-D

Ricordate qualche giorno fa quando dicevo che avevo avuto problemi con la configurazione dei tool esterni con VS2005, http://blogs.ugidotnet.org/markino/archive/2005/07/26/24281.aspx? Postato il problema su lady bug, non avevo molta fiducia nella cosa perchè non mi sembrava che le risposte fossero tempestive... e invece sembra ce il bug sia stato risolto, "A fix for this issue has been submitted to the VSCore checkin system. Thanks!", http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=74843b88-6133-4693-8185-0a292e9871cb! :-D La cosa più piacevole è stata invece che tempo fa avevo proposto un metodo per facilitare la lettura dei DbNull, pensiero esposto un po grezamente qui sul blog, "Lettura dei dati e DbNull", e ancor più grezzamente su lady...

System.DateTime, Operator '-' e il VB.NET

In c# scrivo:   DateTime d  = new DateTime(1976, 3, 15);  TimeSpan t   = DateTime.Today - d; e tutto funziona, poi traduco il tutto in VB.NET   Dim d As System.DateTime = New DateTime(1976, 3, 15)  Dim t As TimeSpan = System.DateTime.Today - d e Operator '-' is not defined for types 'Date' and 'Date'. Certo la soluzione è semplice: non è definito l'operatore di sottrazione per il tipo "Date".... ma perchè usa "Date" se io ho esplicitamente indicato "System.DateTime"? In ogni caso perchè per "Date" non trova l'overload dell'operatore se la documentazione dice "The equivalent .NET data type is System.DateTime", http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/vadatDate.asp ? Si è fatto tardi... domani - tempo permettendo...

Quando il TouchPad scotta!

Ma a voi non capita mai che il touchPad vi scotti il dito? beh sta il fatto che da quando ho portatile ho smesso di usare il mouse... Solo un piccolo problema, il touchPad si surriscalda - per lo meno il mio ha questo problema. Un collega non esclude che il dolore al dito possa essere anche causato dall'attrito per _sfregamento_ dovuto all'uso continuo del touchPad . Sarà l'atrito, sarà il calore che emana ma quest'oggi non ce lo proprio fatta e così ecco come l'ho risolto usando due etichette di quelle che si usano per labellizzare gli oggetti! :-p   Avevo pensato...

Come ti serializzo in CDATA

A volte fa comodo avere deio campi con dei CDATA sopratutto quando il contenuto del testo di un nodo deve essere in documento HTML o documento XML. (continua)

Lettura dei dati e DbNull

Uno dei problemi che spesso si hanno durante la lettura dei dati tramite Ado è scovare i DbNUll per non cadere nella maggior parte dei casi in InvalidCastException a runtime. Il risultato che se si vogliono fare le cose fatte bene abbiamo a che fare con codice prolisso o codice virtuoso inline che penalizza la leggibilità. Una cosa interessante che si può fare per ovviare a questo è implementare un wrapper di supporto per il DataRecord. Parlo di DataRecord in quanto sono abituato a leggere i dati con il DataReader... nel caso si usa più spesso il DataAdapter non vedo...

«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011