.NET: gestione manuale della Garbage Collection

26 09 2008

Per chi arriva da linguaggi di ‘basso livello’, il Garbage Collector è una scoperta allo stesso tempo meravigliosa e sconvolgente, che (cito Wikipedia) porta ad un notevole cambio nello stile di programmazione dei linguaggi che lo implementano. Infatti non è più possibile richiedere esplicitamente di liberare la memoria utilizzata da un oggetto, ovvero terminare tale oggetto in modo deterministico, ma si lascia che il sistema esegua questa operazione automaticamente, nel momento in cui lo riterrà più opportuno per migliorare le prestazioni complessive (finalizzazione non deterministica).

Non quindi possibile, con un linguaggio ad ‘alto livello’, finalizzare un oggetto singolarmente ma è necessario porlo nella ‘raccolta di rifiuti’ e attendere che il sistema/compilatore si occupi di fare pulizia.

Può tuttavia essere necessario ‘forzare’ questa procedura di pulizia, anzichè lasciarla gestire automaticamente: un esempio potrebbe essere l’utilizzo di oggetti che incapsulano molte ‘risorse non gestite’ (ad esempio risorse del sistema operativo, quali file, finestre o connessioni di rete), quando l’applicazione non necessità più dell’oggetto, è certo che le risorse da esso utilizzate non saranno più necessarie. Ai fini delle prestazioni, può essere opportuno rilasciarle tutte insieme.

Per eseguire il ‘collect’ della GC, il Framework .NET fornisce, nella classe GC (Garbage Collection) il metodo GC.Collect, che (da notare bene) prima di eseguire una procedura di Garbage Collection sospende tutti i thread in esecuzione.

Tale funzionamento comporta infatti una riduzione delle prestazioni che può diventare problematica se si chiama GC.Collect più spesso del necessario. È opportuno non inserire codice che richiama GC.Collect in quei punti del programma a cui l’utente accede frequentemente. Tale pratica potrebbe infatti impedire al motore di ottimizzazione di determinare il momento migliore in cui eseguire una procedura di Garbage Collection, facendo decadere in maniera drastica le prestazioni dell’applicazione.





Accolto il ricorso, The Pirate Bay torna libero in Italia?

25 09 2008

Da Repubblica.it:

THE PIRATE BAY, uno dei più noti siti per il peer to peer, tornerà libero in Italia. È quanto ha deciso ieri il Tribunale di Bergamo, su ricorso della stessa Pirate Bay. Ha annullato, quindi, il decreto del sequestro preventivo emesso contro il sito dal Gip dello stesso Tribunale di Bergamo il primo agosto, su denuncia dei discografici.

Significa che ora i provider internet italiani dovranno riaprire l’accesso dei propri utenti al sito di Pirate Bay, che tra l’altro proprio in questi giorni festeggia un record: è arrivato a quota 15 milioni di utenti unici e a 1,2 milioni di file indicizzati (sono i file, cioè, permette di reperire tramite il proprio motore di ricerca). Nel 2006 gli utenti erano “solo” 4 milioni.

Pirate Bay torna libero in Italia accolto il ricorso degli sito p2p – Scienza & Tecnologia – Repubblica.it.





Google e SEO: gli URL dinamici valgono quanto quelli statici?

24 09 2008

E si, è proprio quello che si dice in questo post sull’Official Google Webmaster Central Blog.

Dopo tanto lavoro sul rewriting degli url, convinti che far credere al googlebot che una pagina dinamica con parametri in realtà fosse una normalissima pagina statica, viene naturale stupirsi leggendo che:

One recommendation is to avoid reformatting a dynamic URL to make it look static. It’s always advisable to use static content with static URLs as much as possible, but in cases where you decide to use dynamic content, you should give us the possibility to analyze your URL structure and not remove information by hiding parameters and making them look static.

Ma non posso esimermi dal citare un commento in questo post su The Marketer, dedicato proprio a questo argomento:

A leggere a fondo l’articolo ciò che ne esce è che: piuttosto che fare male il rewriting è preferibile lasciare gli url dall’aspetto dinamico (purchè non abbiano errori madornali come le la presenza degli id di sessione)

Official Google Webmaster Central Blog: Dynamic URLs vs. static URLs





G1 Android vs. iPhone

24 09 2008




G1 Android, il fratello brutto di iPhone

24 09 2008

Sul forum di Macitynet.it una ‘recensione’ (forse un po’ di parte, ma sicuramente ben fatta) del primo smartphone con Android:

Vedere chi manipola il telefono durante la presentazione di Brin e Page è un po’ come vedere una demo del prototipo di iPhone, quello che non è mai uscito dai laboratori interni di Apple e che neanche Steve Jobs ha visto (altrimenti avrebbe licenziato tutti). Alcune cose funzionano in maniera drammaticamente buona, altre funzionano in maniera…. bruttina! E soprattutto, mano a mano che si va avanti a vedere il G1 Htc Dream, si pensa a una cosa sola: quanto somiglia in peggio all’iPhone. Ma com’è possibile?

Certo, non si può giudicare una tecnologia e una piattaforma (comprensiva di servizi e modelli di business) basandosi solo sull’interfaccia. Quello che c’è sotto è una profonda differenza tecnologica: Bsd contro Linux, tecnologie di visualizzazione contro X-Windows. Gphone ammette il multitasking, cioè i processi continuano a “marciare” in sottofondo, mentre con il telefono si fa altro. iPhone no, perché consuma la batteria e poco controllo sui carichi rischia di mandare in palla le funzioni fondamentali come quella di telefonia. Quindi, delle due l’una: c’è una profonda differenza di filosofia tecnologica, nonostante tutto, che forse potrebbe pagare in termini di usabilità e alla fine anche di stabilità del sistema. Chi la capitalizzerà di più? Apple o Google? iPhone o Android?

Il resto sul forum: Ecco G1 Android, il fratello “open” e bruttino di iPhone – Forum MacityNet





links for 2008-09-23

23 09 2008




Vecchi giochi e applicazioni DOS su MacOsX?

23 09 2008

Si puo’ fare, con Boxer, versione per Mac dell’arcinoto DosBox.

Boxer: Mac-Friendly DOS Emulation





links for 2008-09-22

22 09 2008




links for 2008-09-21

21 09 2008




links for 2008-09-20

20 09 2008




Questo è il mio backup…preghiera Del Sysadmin…

19 09 2008

Imperdibile per gli amanti di Full Metal Jacket:

Questo è il mio backup. Ce ne sono tanti come lui, ma questo è il mio. Il mio backup è il mio migliore amico, è la mia vita. Io debbo dominarlo come domino la mia vita. Senza di me il mio backup non è niente; senza il mio restore io sono niente. Debbo saper backuppare i server incrementalmente meglio del mio nemico che cerca di sputtanare me e i miei backup (Murphy), debbo backuppare prima che lui sputtani il mio hard disk e lo farò. Al cospetto di Dio giuro su questo credo. Il mio backup e me stesso siamo i difensori della Sala Macchine, siamo i dominatori dei nostri RAID nemici, siamo i salvatori della nostra vita e così sia, finché non ci sarà più restore ma solo backup. Amen.

Preghiera Del Sysadmin « Ienabellamy’s Weblog





links for 2008-09-18

18 09 2008




HP lancia una tastiera con il tasto CTRL+ALT+CANC

17 09 2008

 

E’ uno scherzo, vero? (Ho paura di no…aprile è abbastanza lontano!)

 

 

 

CrunchGear » Archive » New wireless mice and keyboard from HP – OMG a Ctrl-Alt-Del key!





links for 2008-09-17

17 09 2008




WordPress, plugin “Accade Oggi”

17 09 2008

Di recente mi e’ capitato di dover sviluppare alcune funzionalita’ aggiuntive per il sito di un cliente.

Essendo basato su wordpress ho realizzato un gruppo di widgets, con l’idea che alcune delle nuove features potevano essere facilmente riutilizzate.

“Accade oggi” e’ uno degli ultimi sviluppati.

Quando si utilizza wordpress per gestire un sito di news nel quale vengono pubblicizzati anche eventi che si verificheranno successivamente alla pubblicazione dell’articolo (nel mio caso aperture di mostre, aste, convegni) ci si puo’ trovare davanti alla necessita’ di dare risalto a una vecchia news proprio nel giorno di apertura dell’evento.

Una volta aggiunto e attivato il pugin viene aggiunto un widget nel set di base di wordpress che, se aggiunto nella sidebar del tema, visualizza la lista degli eventi che si verificano nella giornata corrente.

L’aggiunta della ‘data di apertura’ si effettua assegnando al post il campo personalizzato “inizio_evento” contenente la data (appunto) di inizio dell’evento, nel formato dd/mm/yyyy.

Il plugin e’ rilasciato (ovviamente) sotto licenza GPL, scaricabile da QUI.

Spero sia utile! :-)