luglio 2007 Entries
A Developers Toolkit for C# and .Net

Paciugando su asp.net mentre aspetto che il progetto enorme finisca di fare il get latest da un sourcesafe particolarmente congestionato, mi sono imbattuto in questa lista di programmi liberamente scaricabili per rendere la vita piu semplice al moderno sviluppatore metropolitano....

Che dire, le conosco tutte, ma non le uso tutte (DevMetrics by Anticipating Minds.... sigh, la complessità ciclomatica.... ne aveva parlato Luka o Marco credo... non sono ancora convinto che sia una scienza esatta :)) .... credo che prenderò lo spunto di queste vacanze, oltre che per rifare il portatile come già previsto, anche per installare qualcosa di sfizioso e provarlo...

Tranne Subversion...... purtroppo lo uso già per alcune cose e non mi ci trovo particolarmente bene... sarà probabilmente colpa mia :)

2 Comments Filed Under [ ASP.NET ]
[Daily Issue] Stop and go

La cosa piu difficile (e qui molti mi insulteranno, ma va beh...) è tornare dalle ferie, avere solo una settimana per cercare di rimettere ordine nella propria vita lavorativa, e poi ripartire ancora :)

Io sono tornato ieri, e sabato riparto per la sicilia... le vacanze "a salto" che sto facendo quest'anno non me le sono programmate, ma è piu che altro la volontà di vedere posti diversi con gente diversa, che si traduce nell'accontentare le esigenze dei giorni di ferie degli amici (si sa, noi consulenti siamo "flessibili"... sigh...).

Questo si traduce in una "lentezza" mentale che è dura da risolvere... ma che spesso risolvo con ingenti quantità di caffe, come ieri e come oggi :)

Tra una lentezza e l'altra, comunque, mi sono scontrato contro un altro esempio di cattiva gestione di mamma MS. Chi si ricorderà le mie diatribe coi Gadgets di windows live, gradirà sapere che mentre ero in ferie, microsoft ha rilasciato la nuova versione dei Live Spaces, cosa di cui ero a conoscenza. Cosa di cui invece non ero a conoscenza è che questi spaces nuovi sono buggatissimi (come fanno notare anche altri nei post sul forum asp.net) e soprattutto non introducono quella granularità e quella flessibilità che promettevano. Insomma, è tutto quasi uguale, cambia la grafica, ci sono mille errori applicativi in piu che prima non c'erano, è saltata la preview dei custom gadget, e guarda caso l'SDK è ferma alla versione beta di un anno fa.

Credo che manderò una mail a qualcuno di MS per far notare questa cosa, inizia a diventare insostenibile. Se vogliono che sia impossibile usare una tecnologia, basta dirlo e non la si usa!

P.S.: Questa settimana non so quanti daily issue ci saranno. Come ho detto sarà piu una settimana organizzativa che altro, comunque state sintonizzati :)

Add Comment Filed Under [ Weekly Issues ]
[OT] Si Inizia....

.... il periodo estivo...

Questo vuol dire che inizio a farmi una settimana tra i monti, per poi lavorare ancora un pò e farmene altre due tra i flutti....

Questo non per suscitare post del tipo "infame" oppure "lavurà barbunn" o altre cose simili, ma per precisare che ovviamente darò un taglio ai Daily Issue ed alle mie presenze varie su NG e forum per un pò... non ho intenzione di bloggare nulla dalle vacanze, spiacente.. le vacanze sono vacanze...

Hem.. certo.. mi porto il portatile....

Si.. e l'MSDN.. ok.. ma questo che centra??? :P

Buon riposo/vacanze a chiunque le faccia, e buon lavoro agli altri!

[Daily Issue] Ma è così difficile avere un API decente?

Mi sto scontrnado in questi giorni con un sacco di problemi di documentazioni incomplete.

Dopo i problemi vari con Virtual Earth, e quelli forse ancora piu gravi coi Gadgets di live, mi sto scontrando in questi giorni con l'API dei Sql Server Reporting Services per scrivere una Rendering Extension. La documentazione è quantomeno scadente: gli oggetti ci sono tutti, ma la spiegazione è risicata all'osso. C'è un brevissimo stralcio di codice sull'implementare l'interfaccia IRenderingExtension, ma non spiega per esempio nel dettaglio il contenuto dei vari parametri del metodo Render che, sorpresa sorpresa, sono NameValueCollection e quindi non ci si capisce cosa passarci.

Ma mi chiedo, già odio abbastanza l'implementazione dei reporting services pur dovendola utilizzare, ma un SDK così l'hanno fatto perchè si vergognano di quello che hanno scritto, perchè non vogliono che nessuno la usi, o cosa?

Oltretutto, dopo milioni di giorni di ricerca, ho visto che quello che volevo fare non si può fare perchè l'ExcelRenderer è marchiato come sealed e quindi non posso estenderlo.. sigh.. altra decisione che non capisco :)

Mah.. andrò a piangere da qualche parte e duplicherò i report come mi aveva detto Andrea... sighhhh :)

One Comment Filed Under [ Weekly Issues ]
[Daily Issue] Could not find installable ISAM

Stranamente, ci sono quelle giornate in cui senti che il  fato/caso/murphy/whatever comanda effettivamente le pedine....

Ogni tanto sono brutte, ogni tanto stupende, spesso neutre, ma curiose... oggi è una di queste, in cui per un qualche strano caso, tre persone che conosco se ne sono venute fuori su MSN con questo errore... mah, direi che è un errore decisamente poco comune, ma il fatto che me l'abbiano chiesto in tre mi ha fatto sorridere e quindi, già che ci sono, ci scrivo sopra un bello issue, anche se non è stato un mio scontro personale :)

Comunque, "Coult not find installable ISAM" (0x80004005) è un errore che può apparire quando dialogate con il database JET da applicazioni .NET o ADO Classic.
Come specificato chiaramente in questo articolo della KB, il problema è dato dalla dichiarazione in stringa di connessione di proprietà custom del provider JETche possono essere valorizzate solo dopo aver stabilito un effettiva connessione e che quindi non possono essere incluse nella stringa stessa.

La soluzione? Sempre come dice la KB, dividere la dichiarazione di queste variabili in un secondo momento...

Add Comment Filed Under [ Weekly Issues ]
[Daily Issue] Vacanze, lavoro, afa.. e virtual earth :)

In questi giorni, sono un pò piu passibile di mancanze nei miei Daily Issue, soprattutto all'arrivo del week end.
Anche nei newsgroup è un periodo in cui non riesco a reggere il passo di Andrea e Matteo, che rispondono (correttamente :P) prima ancora che io abbia il tempo di fare refresh :)

Questo perchè, ultimamente, sento il bisogno di svagarmi. Ma non perchè sia scansafatiche, perchè non abbia voglia, etc, ma semplicemente per un fattore.. il caldo! In questi giorni qui a milano sta raggiungendo picchi che non sentivo da anni, e personalmente faccio fatica a lavorare in queste condizioni. Ok, la maggior parte degli uffici per cui lavoro ha l'aria condizionata e si sta mediamente bene, ma basta l'uscita in pausa pranzo per farmi andare giu la pressione fino alle 5 e, quindi, produrre di meno. Ciò comporta che sto comunque in ufficio fino alle 22.. (o a mezzanotte :P)
Ma ciò comporta anche che sono sempre di piu le giornate in cui mi "scelgo" clienti vicini a posti di villeggiatura, per attaccarci magari un sabato ed una domenica di relax... mi spiace magari di perdermi qualche cena, però sono sicuro che riuscirò anche ad onorare la promessa di partecipare ad una di queste :)

Per quanto riguarda il lato tecnico, dopo la mia storia coi Gadget (che comunque continuo a coltivare, ne ho una cifra di Issue :P), oggi ho avuto a che fare con Virtual Earth... che dire, qualche issue anche qui ne è venuto fuori, e magari se riesco posterò anche un piccolo esempio di quello che ho fatto, ma ragazzi.. l'SDK di virtual heart lascia _davvero_ a desiderare, forse anche peggio di quella del gadget. Gli esempi sono incasinati (ogni tanto non si capisce la differenza tra v3, v4 e v5, l'ultima) e l'utlissimo Interactive SDK è un semi-buco nell'acqua perchè spesso l'esempio che mostra non corrisponde all'esempio di cui viene fornito il sorgente....

Sigh, mi sa tanto di occasione mancata, è si che tecnologicamente Virtual Earth è uno spettacolo, velocissimo e capacissimo... speriamo facciano qualcosa!!!

3 Comments Filed Under [ Weekly Issues ]
[Daily Issue] T-SQL e OpenDataSource

Oggi doppio Daily Issue, per farmi scusare del fatto che sono rimasto zitto per quasi tre giorni :)

Oggi ho avuto un problema di import di un DTS da un database remoto al nostro di sviluppo. Non sapevo bene come fare tutto con una query e evitare di passare da stored od altre cose strane. Il problema principale era che il db era esterno e quindi avrei dovuto collegarmici, e soprattutto che non è detto che rimanesse quello e quindi avevo bisogno di un metodo che mi facesse selezionare dinamicamente una base dati.

Mi è venuto in aiuto il costrutto OPENDATASOURCE, che in parole povere consente di istanziare una connessione a sql server specificandone la stringa di accesso, e quindi selezionare/inserire/modificarne direttamente le tabelle!

Ignoro quale sia l'impatto in termini di performance di questa cosa, ma per un job che deve partire una volta ogni morte di papa... fa esattamente quello che serve a me :)(

Add Comment Filed Under [ Weekly Issues ]
[Daily Issue] Nuove tecnologie: live gadgets

Che non sta per "tecnologie nuove" quindi gadget per vista, ma "implementazione di tecnologie esistenti che non si ha mai avuto modo di provare" :)

In questi giorni, sto seguendo l'implementazione di un gadget per live spaces, con tutti i problemi che ne conseguono. Devo dire, è un mondo che mi affascina ed è interessante vedere quanta cura è stata messa da Microsoft nella gestione del JavaScript necessario per gestire i gadget. La parte di sicurezza è stata curata in maniera maniacale, nel senso che appena cerco di "scriptare" fuori dal mio behaviour, ottengo un access denied, giustamente, ma sto già vedendo che è possibile navigarsi comunque un pò il DOM con qualche barbatrucco.

Il problema principale che ho avuto, però, riguarda l'SDK ed in particolare l'API  reference: utile in certi casi, ma assolutamente non curata, poco fruibile e, soprattutto, scorretta ed obsoleta! Ci sono alcuni metodi in cui sono sbagliate minuscole e maiuscole (e in JS cambia non poco!!) ed il tutto è in fase di beta aggiornato a novembre 2006. Sveglia, siamo andati avanti, sono state aggiunte delle feature.. perchè non aggiornare la reference? Sembra quasi che Microsoft non punti allo sviluppo di gadget per quella che invece dovrebbe essere la maggiore interfaccia sul mondo consumer... .mah.....

One Comment Filed Under [ Weekly Issues ]
[Daily Issue] Caricare controlli dinamicamente con LoadControl

Ho avuto come esperienza alcune domande sull'uso di LoadControl che mi hanno spiazzato.

Ho sentito dire (:)) che per usare LoadControl bisogna per forza mettere un register tagprefix all'interno della pagina.... però tutto questo non ha molto senso, perchè se devo fare un LoadControl vuol dire che (potenzialmente) non so che controllo dovrò caricare, e quindi tutto questo diventa impossibile.

Ma infatti, per utilizzare il metodo LoadControl non c'è bisogno di avere nessuna registrazione: basta avere un placeHolder, e utilizzare il metodo LoadControl della classe Page, passando il path relativo (con la sintassi Page.LoadControl("~/Controls/MyControl.ascx");)

In questo modo avrò un istanza di UserControl che posso aggiungere alla collezione di controlli del mio PlaceHolder (_non_ della pagina, perchè c'è il solito problema che verrebbe aggiunto all'inizio della collezione dei controlli e non potrei comandare la posizione in cui viene renderizzato) e interagirci.

Visto il compilation model di ASP.NET 2.0 che in caso di website può rompere le scatole, di solito preferisco crearmi delle classi base dei miei controlli in modo che poi da ogni pagina web posso raggiungerle tranquillamente e interagire con proprietà e metodi. Questo può essere molto utile soprattutto in fase di architetture a plug-in, in cui delego la logica organizzativa della pagina a tanti user control caricati dinamicamente in differenti placeholder!

[Daily Issue] Nullable Types...
Ieri ho rivisto dopo taaaaanto tempo (tipo 2005 :P) la sintassi dei Nullable Types... No, non vuol dire che vivo con la testa sotto la sabbia, vuol dire che non li ho mai usati... praticamente... :) Ora, prima che luka chieda la mia testa su un piatto d'argento, mi spiego: credo che l'utilizzo vero dei nullable types a meno di architetture enormemente (eccessivamente??) complesse, sia semplicemente quello di interazione con la base dati. [continua]
9 Comments Filed Under [ Weekly Issues ]
[Daily Issue] Riprendersi dalle trasferte

Le trasferte "non programmate" sono sempre un devasto.

Sono stato appunto a Firenze giovedi e venerdi, con preavviso... a mercoledi .... fare una trasferta con un giorno di preavviso mi ha obbligato a spostare un sacco di impegni che avevo già preso come assodati... risultato: ho perso quasi tutto il lunedi a riorganizzarmi con i clienti. Se si conta che poi questo lunedì è stato molto... particolare.... in bene ovviamente... diciamo che nemmeno ho avuto tempo di aprire i newsgroup :)

Oggi risalgo un po in sella... non sono ancora al 100% però devo tornare dai miei clienti che poveretti gli manco :P

A voi? E' mai successo di avere delle trasferte che vi hanno stravolto la settimana in corso e pure quella dopo? :)

4 Comments Filed Under [ Weekly Issues ]
Ci sono anche io....

... e devo dire che non me lo aspettavo... o meglio non ci speravo...

Ma alla fine è arrivato, da stamattina faccio anche io parte della grande famiglia degli MVP!

Non so molto che dire, quindi ringrazio tutti quelli che mi hanno appoggiato ma soprattutto quelli che mi hanno "spinto" a non lasciare che la mia conoscenza fosse sotterrata dagli impegni lavorativi! E ringrazio anche la mamma perchè la mamma è sempre la mamma :)

 

21 Comments Filed Under [ UGIdotNET ]