January 2005 Blog Posts


La comunicazione ci rende liberi?

Sicuramente si, è quando non ce l'abbiamo più che ne diventiamo schiavi... Io sono di Fano, Marche alta, e in questi due giorni ha nevicato tanto tanto... tanto che ieri nel tornare a casa dal lavoro sono rimasto bloccato per tre ore causa incidente dovuto alla neve. Fermo in auto, con il cellulare rotto due minuti prima (il solito nokia, sembra che abbia il timer interno...) senza possibilità di informarmi sull'accaduto né di avvertire a casa, con l'onda verde che giustamente se ne sbatte delle strade statali e il servizio TA/TP (il servizio RDS per le radio FM che "dovrebbe" recuperare informazioni sul...

Se amate ascoltare la musica mentre lavorate...

...probabilmente diventerete come me, "addicted" di LaunchCast! Questo servizio di Yahoo permette di ricevere musica relativamente ai generi musicali preferiti, skippare le canzoni non gradite, votare durante l'ascolto i propri artisti preferiti in modo da personalizzare con l'utilizzo la propria radio. Il tutto gratuitamente (un pò di pubblicità ogni tanto) o per 30$ l'anno senza pubblicità e con bitrate migliore. L'unica cosa, essendo un servizio made in usa, non aspettatevi Battisti... al massimo Bocelli! powered by IMHO 1.2

LSDdotNET

Complimenti per il nuovo sistema antispam per l'inserimento dei commenti :) Una feature utilissima, ma... sono solo io ad avere difficoltà a riconoscere i caratteri? :))))  powered by IMH0 1.1

Guidebook

Un sito sulle GUI powered by IMH0 1.1

AllFiles Snippet V2

private void SearchFiles(DirectoryInfo dirinfo){    foreach(FileInfo f in dirinfo.GetFiles())    {        arrayList.Add(f.FullName);    }    foreach (DirectoryInfo nextdir in dirinfo.GetDirectories())    {        SearchFiles(nextdir);    }} Fate come se la versione precedente della funzione SearchFiles non esistesse... :) powered by IMH0 1.1

Tutti i files in tutte le sottodirectory di una cartella...

Questo pezzetto di codice inserisce in un ArrayList tutti i nomi dei files contenuti in tutte le sottocartelle di ua cartella iniziale passata come parametro... Sicuramente mi è sfuggito il metodo del framework che fa la stessa cosa 100 volte meglio, ma mi è servito per "ricordarmi" come fare una funzione ricorsiva... Qualsiasi suggerimento per migliorarla è ben accetto, solo... andateci piano con gli insulti :) private void Start(string directoryIniziale){    ArrayList arrayList = new ArrayList();    DirectoryInfo di = new DirectoryInfo(directoryIniziale);    SearchFiles(di);    arrayList.TrimToSize();    Debug.WriteLine(arrayList.Count);}private void SearchFiles(DirectoryInfo dirinfo){    FileSystemInfo[] dirs = dirinfo.GetDirectories();    foreach (DirectoryInfo diNext in dirs)    {        FileInfo[] fi = diNext.GetFiles();            foreach(FileInfo f in fi)        {            arrayList.Add(f.FullName);        }        foreach(DirectoryInfo nextdir in diNext.GetDirectories())        {            SearchFiles(nextdir);        }    }} powered by IMH0 1.1

Poi chi è quello che insulta...

Berlusconi: "Con la sinistra miseria, morte e terrore" "Se la sinistra andasse al governo, questo sarebbe l'esito: miseria, terrore, morte. Così come avviene ovunque governi il comunismo. Non sarebbe lo Stato liberale che vogliamo noi". Ma non mi sembra che a silvietto la Cina gli faccia poi così schifo...powered by IMH0 1.1

ArcView Legend File Format (.avl)

"Propago" questo documento molto interessante su come è strutturato un file legenda in ArcView...   'AVL' files are in ESRI's 'ODB' (object database) format. This format is not documented but it is easy to reverse-engineer, because it is an ASCII text representation of an Avenue object (a legend object in this case). If you know the full structure of an Avenue object, its attributes, and their data types, then you're all set. Below is an informal quasi-BNF description of an ODB file. The conventions used include: * Literals are enclosed in single quotes. (A newline literal is represented by "NL" without quotes.)...

Cassini diventa IIS...

O meglio, in qualcosa che gli assomiglia...   Con questo trucchetto infatti si disabilita la limitazione sugli indirizzi locali di Cassini Web Server, che ora è in grado di rispondere anche al di fuiri di localhost.   Il prossimo passo è predere l'implementazione di Cassini su mono e fare la stessa cosa, con l'obiettivo di crearmi un server web per mono personalizzato, senza pubblicazione di pagine ASP ma che accede a dati MySQL e li elabora per restituire informazion derivate.    Che tipo di informazioni derivate ancora lo devo decidere... :)     internal class Connection{    // Codice...        public bool IsLocal    {        get        {            // return (LocalIP == RemoteIP);            return true;     // Disabilito la limitazione per localhost!        }    }        // Codice restante...} powered by IMH0 1.1

W il Visual Studio!

Mi sono preso una pausa dal mio lavoro abituale di quest'ultimo periodo per realizzare una utility per scopi interni. Questa utility non fa nient'altro che convertire un file in formato testuale di un certo tipo in un file di un altro tipo... niente di che. Per il mio lavoro sto usando la beta, anzi la December CPT del VS2005, che nonostante gli ovvii bug è un IDE fantastico per lavorare (intellisense, refactoring etc...), ma ovviamente per me sarebbe stato un problema creare una piccola utilità da linea di comando che richiede l'installazione del .NET 2.0... Insomma, ho scaricato la trial del Borland Delphi...

Dal Bosco scrive a Berlusconi e il premier gli telefona

Ovvero: come ricevere il massimo vantaggio mediatico da un cavalletto in faccia... a me Berlusconi infastidisce ogni volta che parla e sono di sinistra, ma per come ha gestito questa situazione (parlo di lui, non dei suoi sodali come Fede o Calderoli), merita solo applausi... Avrà guadagnato non so quanti voti ... :( Read on...   powered by IMH0 1.1

Usare o no le eccezioni?

Sottotitolo: quando un blog comincia ad assomigliare + ad un forum personale... Davanti ad un codice di questo tipo: try{    Polygon tempPolygon = this.ReadPolygons(shape, FeatureType.Polygon);    // Lettura di una geometria poligonale da un DB    if (index >= tempPolygon.NumInteriorRings + 1) throw new IndexOutOfRangeException("");    // index è un parametro di una funzione a cui appartiene il codice    return tempPolygon.ExteriorRing.ToWKTString();}catch(IndexOutOfRangeException){    return "NULL";} E' vantaggioso eliminare l'eccezione in favore di questo: Polygon tempPolygon = this.ReadPolygons(shape, FeatureType.Polygon);if (index >= tempPolygon.NumInteriorRings + 1) return "NULL"return tempPolygon.ExteriorRing.ToWKTString(); L'"eleganza" penso vada a vantaggio della gestione delle eccezioni (oltre al fatto che nel catch prima o poi dovrò aggiungere dei log ed altro), ma, visto e considerato che mi aspetto che l'utente spesso inserisca un valore di index superiore al consentito ed in questo specifico caso un file di log nn mi serve, l'eliminazione mi farà guadagnare significativamente del tempo nell'esecuzione? Mi chiedo questo perchè in passato ho letto articoli in cui si parlava del fatto...