Archivio per il mese di maggio 2006



Powered also by Linux

Erano 6 anni che ogni tanto ci provavo. Erano 6 anni che puntualmente desistivo. Sto parlando dei miei svariati tentativi di cominciare a usare Linux come sistema operativo casalingo, tentativi che si sono susseguiti nel corso del tempo con varie distribuzioni: Redhat, Suse, Fedora, Slackware… ogni volta però incontravo problemi che andavano dal riconoscimento dell’hardware, casini con le librerie, necessità di ricompilare applicativi per delle stupidate, assenza di programmi a me utili (e quelli che c’erano facevano anche un pò schifo) e tutto sommato anche ambienti desktop parecchio brutti. Non è mai stata una mancanza di buona volontà ma una questione di principio, non mi è mai andato a genio il fatto di dover passare giorni solo per cercare di avere un sistema decentemente configurato e arrivare al paradosso di litigare per riuscire a far andare un “semplice” lettore multimediale: il tempo libero non è mai abbastanza e preferisco investirlo in qualcosa di più produttivo oppure di passarlo fuori con o senza gli amici, per cui Linux ha sempre miseramente fallito dal mio punto di vista per un uso casalingo (o meglio, per un uso diverso dall’ambito server). Qualcosa però è cambiato di recente, qualche settimana fa il sysadmin dell’azienda dove lavoro mi ha consigliato di provare una distribuzione chiamata Kubuntu, una versione con KDE di Ubuntu (la quale usa Gnome come desktop engine, ma non mi piace) che a sua volta è derivata da Debian.

Leggi il resto di questo messaggio »

Provando le novità di C# 3.0

Ieri finalmente ho avuto un pò di tempo libero per riprendere a giocare un pò con C# 3.0, per cui ho scaricato e installato la preview di Maggio 2006 di LINQ che contiene anche il relativo compilatore con supporto per le feature previste dalle specifiche della prossima versione di questo linguaggio. Sostanzialmente non ho notato troppe differenze nel supporto delle specifiche rispetto alla prima versione rilasciata in occasione della PDC 2005, tuttavia non ho ancora iniziato a guardare quali novità ci siano in XLinq e DLinq, attività che svolgerò sicuramente in seguito. Infatti prima vorrei dedicare qualche messaggio a tutte le novità che sono state introdotte in C# 3.0, alcune delle quali hanno addirittura diviso in due gli sviluppatori nei mesi seguenti il rilascio delle specifiche.

Leggi il resto di questo messaggio »

WebClient e connessioni contemporanee

Nel mio precedente messaggio “WebClient e le connessioni Keep Alive” ho accennato al fatto di aver utilizzato appunto la classe WebClient messa a disposizione da .NET 2.0 per simulare il download contemporaneo di un centinaio di file da parte di altrettanti client, tuttavia mi sembra doveroso far notare un dettaglio riguardante proprio il limite imposto sulla connessioni contemporanee: secondo le specifiche HTTP 1.1, seguite rigorosamente da Microsoft nella progettazione del suo stack HTTP, un client che utilizza connessioni persistenti non deve mantenere più di due connessioni contemporanee aperte verso un server e mettendo in coda di conseguenza le successive richieste fino al compimento delle precedenti (per riferimenti o dettagli si può consultare questa sezione delle specifiche).

Leggi il resto di questo messaggio »

Aggiornamento tema in vista di…

Come avrete notato per il mio blog ho deciso di utilizzare come tema una versione modificata e tradotta interamente in italiano di Almost Spring 1.2, tuttavia recentemente Beccary ha preparato un aggiornamento di questo suo ottimo tema portandolo alla versione 1.3 e così oggi ho deciso di scaricare l’ultima release e di riflettere le stesse modifiche e traduzioni che ho utilizzato per customizzare la precedente versione. In una ventina di minuti ho finito il lavoro e ora il blog si presenta con il tema aggiornato anche se non noterete proprio alcuna differenza. In realtà il vero motivo per l’aggiornamento del tema è per una questione puramente strutturale, ovvero il supporto per i Widget di WordPress aggiunto nell’ultima versione. Ho già installato il plugin per la gestione dei widget e ne ho verificato il corretto funzionamento sulla mia copia locale di test e sviluppo di clorophilla.blog prima di installarlo anche online, tuttavia per ora la sidebar è ancora quella “vecchia” in attesa di trasformare in widget alcune delle sue componenti e di verificare il funzionamento di quelli forniti di default. A questo indirizzo oppure su questo sito potete trovare una lista abbastanza corposa di widget disponibili, per esempio io ho già trovato la versione widget di W2MStatus che utilizzo per mostrare nella sidebar il mio stato in MSN Messenger.

WebClient e le connessioni Keep Alive

Ieri ho avuto la necessità di preparare una semplicissima Windows Form che si occupasse di lanciare contemporaneamente un centinaio di download asincroni e contemporanei (il server di prelievo ovviamente è uno di test e sviluppo che abbiamo in azienda) e che mostrasse il progresso di ognuno di essi attraverso altrettante ProgressBar abbastanza sottili, il tutto sfruttando la classe WebClient di .NET 2.0. Fin qui nulla di strano, se non fosse che alla fine dei singoli download ho notato tramite TCPView che le connessioni al server web rimangono sempre nello stato ESTABILISHED, non venendo chiuse e indicando per cui una modalità di lavoro della classe WebClient con connessioni Keep Alive. Ho provato quindi a indagare un pò tramite Google ed effettivamente sembrerebbe proprio che questo sia il comportamento di default della classe… o meglio, l’unico contemplato visto che WebClient non espone l’istanza di WebRequest utilizzata o molto più semplicemente nessuna proprietà per tentare di impostare questo comportamento.

Leggi il resto di questo messaggio »