Gestire la propria libreria con aNobii

Con aNobii è possibile gestire la propria libreria, e in più possiamo ottenere il codice da inserire nella configurazione del nostro blog in modo da mostrare l'elenco dei libri a chi legge i nostri post. E' possibile definire quanti libri mostrare, se a caso o gli ultimi inseriti, se tutti o solo quelli che stiamo leggendo.

CreaBadgePerBlog 

L'ho scoperto leggendo il blog di Andrea Angella e l'ho subito copiato.

Veramente ben fatto. Adesso non romperò più postando sui libri che sto leggendo... con immagini in Full HD ;-)

IDisposable pattern

Probabilmente (come quasi sempre) arrivo buon ultimo su una questione evidentemente determinante per la scrittura di buon codice .NET: la gestione degli oggetti che implementano IDisposable e più in generale l'implementazione di tale interfaccia.

Avendo aperto un thread sul forum di UGISS, sono stato "gentilmente ripreso" da robertob che mi suggerisce di fare la Dispose() di alcuni oggetti (un OdbcCommand, un OdbcDataReader e un SqlCeCommand utilizzati nel mio sogente).

Orrore e sgomento: un Dispo-chè? Ma non c'è la Garbage Collection? E che cavolo, ma se devo fare tutto io a manina, a che serve 'sto framework del piffero?

Passati i primi 5 secondi di incavolatura, ho chiesto aiuto e sono stato indirizzato verso un paio di post di Marco Russo:

http://blogs.devleap.com/marco/archive/2005/01/10/2352.aspx
http://blogs.devleap.com/marco/archive/2004/12/01/2087.aspx

Infine, rapito dal sacro fuoco del sapere, googlando ho trovato un post davvero esaustivo sull'argomento:

Dispose, Finalization, and Resource Management di Joe Duffy

Per quelli che come me pensavano di poter lasciar fare tutto al Garbage Collector, cito due passaggi che sono stati "illuminanti":

Many people who hear about the Dispose pattern for the first time complain that the GC isn’t doing its job. They think it should collect resources, and that this is just like having to manage resources as you did in the unmanaged world. The truth is that the GC was never meant to manage resources. It was designed to manage memory and it is excellent in doing just that.

e

The only problem is that automatic management of memory and objects makes it difficult to ensure that resources held by objects are released deterministically (that is, early). The reliance on the GC can lead programmers to think that they don't need to worry about this anymore, which is not the case. In fact, any object that implements IDisposable should be mentally tagged with a red flag and should not be allowed to fall off the scene without Dispose having been called. The finalization/safe handle safety net is really not good enough to prevent lousy user experiences - such as a file remaining locked for an unexpectedly long time after "save" and "close" of a document window (but with the app still running). Careful use of AppDomains and their forced unloading (which triggers safe handles) is sometimes a way to deal with this rigorously.

Se poi non ne avete ancora abbastanza (io al momento sono "sazio" e fors'anche un po' abbottato), nel post di Raj Chanian trovate pane per i vostri denti (un bell'elenco di link, tutti da leggere).

Infine una domanda: è mai possibile che un argomento così importante NON sia incluso nelle cose da studiare per passare l'esame 70-536 (Microsoft .NET Framework 2.0 - Application Development Foundation) ?

Non ho parole...

[Vista tip] Search folders e il gadget sidebar "Presentazione"

La questione in gioco è la seguente:

Come definire un elenco di immagini da presentare nella side bar, all'interno di una più ampia collezione di imagini ?

Poichè la configurazione del gadget prevede la possibilità di selezionare una sola cartella (ed eventualmente le sue sottocartelle) la prima (orrenda) soluzione che mi è venuta in mente è stata quella creare una cartella e dentro tale cartella creare i collegamenti alle immagini.

Presentazione2 (<<< da NON fare!!!)

Poi mi sono ricordato di una feature di Vista, le cartelle di ricerca. Ed ecco cosa ho fatto:

  1. Ho aperto "Raccolta foto Windows", ho selezionato alcune foto e gli ho aggiunto il tag "Sidebar" (potete usare qualunque nome, anche "pippo" se volete...):
    image
  2. Mi sono posizionato nella cartella Immagini e ho cercato tutte le immagini che hanno come tag "Sidebar". Per farlo basta posizionarsi nella cartella immagini e inserire nel campo di ricerca "tag:(Sidebar)":

    image   
  3. Ho salvato la ricerca nella cartella Sidebar (che ho creato dentro la cartella immagini):
    image  
  4. Ho aperto la configurazione del gadget "Presentazione", ho selezionato la cartella "C:\User\<yourName>\Pictures\Sidebar" e ho settato l'opzione "Includi sottocartelle":
    Presentazione1

Et voilà, il gioco è fatto!

Ora, per togliere ed aggiungere foto al "Carosello di presentazione", mi basta mettere e/o togliere il tag "Sidebar" alle immagini tramite il programma "Raccolta foto Windows".

Chiaramente le immagini dovranno risiedere nella cartella immagini o nelle sue sottocartelle, visto che la ricerca si basa su di esse. Se volete la massima libertà (a costo di una minore performance) ampliate la ricerca a tutto il computer ampliando inoltre il vincolo di ricerca a tutte le cartelle (indicizzate e non). Oppure fate una ricerca ad hoc per il vostro specifico caso.

Un'ultima considerazione: non è possibile selezionare direttamente la cartella di ricerca come cartella da visualizzare nella Presentazione. E' per questo che, come workaround, ho creato una cartella contenitore (la Immagini\SideBar) per la cartella di ricerca e l'ho utilizzata come cartella da visualizzare, settando l'opzione "Includi sottocartelle".

Sperando di aver fatto cosa utile, porgo i miei saluti!

Libri che sto leggendo

E' tempo di aggiornare l'elenco dei libri che sto leggendo...

ProAdoNet2.0

Eccezionale veramente: andate a vedere cosa ne pensa Bill Ryan:

Essentially what I mean by this is that he covers stuff that real developers are confronted with over and over everday.  He intentionally focuses on problem areas and how to address them.

HeadFirstDesignPatterns 

Al momento non oso comentarlo (l'ho appena iniziato). Posso solo dire che sono un addicted della "Head First". Mi sa che comprerò altri libri di questa serie.

IE 8: On the Path to Web Standards Compliance - ACID 2 Test Pass Complete

Acid2 Face

Un'interessante intervista al General Manager Dean Hachamovitch e al Main Architect Chris Wilson su IE8 su Channel 9, in occasione di un importante risultato: la build interna del 12/12/07 di IE8 è in grado di renderizzare correttamente la faccetta del test Acid2.

Tanto per intenderci, ad oggi la situazione è la presente (tratto da Wikipedia - Acid2):

 Hello world 1 Acid2 as rendered by Internet Explorer 6.0

 Hello world 2 Acid2 as rendered by Internet Explorer 7.0

 Hello world 3 Acid2 as rendered by Mozilla Firefox 1.0, Mozilla 1.7.13, and Netscape 7.2

 Hello world 4 Acid2 as rendered by Mozilla Firefox 1.5, and 2.0, , and Netscape 9

Nell'intervista viene spiegato che non hanno "riparato" qualche bugs, ma hanno dovuto rivedere molte parti di IE e implementare molte nuove features per poter eseguire correttamente il test Acid2. Inoltre IE8 supporterà (molto meglio di IE7) la compatibilità verso quei siti ottimizzati per IE6 e IE7.

Al momento non sono riuscito a capire per quando sia prevista l'uscita di IE8, ma immagino che per MIX 08 se ne saprà parecchio di più.

Kudos per team di sviluppo IE8!

«dicembre»
domlunmarmergiovensab
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345