maggio 2005 Blog Posts

[OT: Perl/Linux] Stimare tempi di carica e scarica delle batterie

Ecco uno script in Perl in grado di calcolare il tempo di carica o scarica della/e batteria/e. Lo pubblico perchè lo trovo una buona dimostrazione delle possibilità offerte dal linguaggio Perl quando ci si trova a manipolare stream di testo (frequente in ambiente Unix). Ricordo la disponibiltà dell'interprete Perl (e molto altro) su piattaforma Windows grazie ai Services for Unix. Cliccate sul titolo per leggere l'intero post.

posted @ sabato 21 maggio 2005 01:19 | Feedback (0)

Cleanup deterministico e finalizers in C++/CLI

Vediamo il seguente codice. Viene definito un reference type (typeid = Person), con un metodo publico, ReadMessage. Al suo interno viene utilizzato in tre modi diversi un oggetto di tipo System::IO::StreamReader, classe che implementa System::IDisposable. public ref class Person{public:    Person (String^ name, String^ surname)    {    }    void ReadMessage (String^ path)    {        Stream^ stream = (Person::typeid)->Assembly->GetManifestResourceStream (path);#ifdef MANUAL_DETERMINISTIC_CLEANUP        // I manually call the distructor.        StreamReader^ reader = gcnew StreamReader (stream);        Console::WriteLine (reader->ReadLine ());        delete reader;#endif#ifdef AUTOMATIC_CLEANUP        // Garabace collector will call the dispose methods before finalizing the reader.        StreamReader^ reader = gcnew StreamReader (stream);        Console::WriteLine (reader->ReadLine ());#endif#ifdef AUTOMATIC_DETERMINISTIC_CLEANUP        // The compiler automatic inserts a method call to dispose.        // The reference type instance has value semantic in this context.        StreamReader reader (stream);        Console::WriteLine (reader.ReadLine ());#endif    }}; Decompiliamo con Reflector e vediamo come apparirebbe, nei diversi casi, il metodo ReadMessage se fosse scritto in C#. Nel primo caso reader è stato dichiarato come un handle, al quale abbiamo è stato assegnato un oggetto allocato sul managed heap tramite l'operatore gcnew . Dopo essere stato utilizzato, l'oggetto viene "distrutto" con l'operatore delete. Tale operatore viene sostanzialmente ...

posted @ venerdì 6 maggio 2005 02:05 | Feedback (0)

Come estendere una partizione

Stasera ho un'esperienza positiva con la command line di Windows: Funziona con partizioni formattate NTFS e le estende solo "verso l'alto". Nel mio caso non ho specificato la quantità di spazio da aggiungere alla partizione e l'ho estesa così a tutto lo spazio disponibile. In alternativa avrei potuto dare, come ultimo comando "extend size=n".

posted @ martedì 3 maggio 2005 00:59 | Feedback (2)

Membership Provider for Firebird

Ispirato e istruito dalla sessione di Andrea, spero di poter iniziare questa settimana questo piccolo progetto. Si tratta innanzitutto di creare uno script per la creazione del database e poi codare il membership provider. Appena lo comincio apro un nuovo workspace su GotDotNet!

posted @ lunedì 2 maggio 2005 12:33 | Feedback (0)

Enterprise Library for Firebird: moved

Ho deciso di spostare il progetto su GotDotNet. Pubblicherò lì news (con feeds RSS!), nuove releases, etc.. Ci sono anche un forum e un bug tracker, che naturalmente potete utilizzare. Ho già pubblicato le due "vecchie" releases (0.6 e 0.7.0) e i sorgenti sfruttando il sistema di source control (integrato tramite plugin in Visual Studio!). Ora vorrei creare un installer (in bundle con l'Enterprise Library e il provider ADO.NET per Firebird). Devo soltanto trovare il tempo di leggere le licenze e realizzarlo. Putroppo non sono ancora riuscito a fare una pagina di redirect sul vecchio sito perchè ho dimenticato la password... troverò un sistema per farlo (spero!). Nome...

posted @ lunedì 2 maggio 2005 12:30 | Feedback (4)