Archivio di gennaio 2010

Poste Italiane spiega (finalmente) come rinnovare la carta Postepay

lunedì, 25 gennaio 2010

Finalmente sembra che in Poste Italiane si siano resi conto che la procedura di per il rinnovo carta PostePay era un pò troppo farraginosa e – cosa più importante – non era spiegata ufficialmente in modo chiaro da nessuna parte.

Tra le tante presenti nel sito delle Poste è possibile trovare questa pagina che spiega a grandi linee come fare, per le istruzioni dettagliate rimane ancora necessario fare riferimento a quanto scritto da me qualche tempo fa…quello che nessuno dice è cosa fare se la carta PostePay e/o il codice segreto, che vengono spediti speratamente presso il vostro indirizzo, non arrivano a destinazione (da quello che ho sentito dire in giro sembra che capiti abbastanza spesso).

Quello che potete fare è recarvi all’ufficio postale più vicino e richiedere la procedura di estinzione della carta senza addebito delle spese, specificando di aver fatto richiesta di sostituzione della carta scaduta e che non è arrivata la carta o il pin nella vostra cassetta della posta…

Sembra (e dico sembra) che esista una nuova procedura operativa che permetta agli impiegati degli uffici postali di estinguere la carta scaduta e di attivarne una nuova, permettendo di passare il credito residuo dalla vecchia carta alla nuova, e di avere rimborsati i 5 euro necessari per l’attivazione della nuova carta.

Qualcuno può confermarmi l’esistenza della nuova procedura? Sarebbe utile per molti sapere che possono rinnovare la postepay solamente con poche ore di fila, anzichè dover aspettare un paio di mesi per ricevere la nuova carta per via postale…

Disponibile la Beta 2 del framework .NET 4 su Windows Update

mercoledì, 20 gennaio 2010

La nuova versione del framework .NET (la quattro, per intenderci) è in beta testing pubblico, disponibile per il download: per chi lo desiderasse è possibile scaricare la beta 2 del nuovo framework direttamente da Windows Update. Per abilitare l’aggiornamento è sufficiente aggiunge un’apposita chiave di registro eseguendo questo comando:

[sourcecode]reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4B2WU" /v OptIn /t REG_DWORD /d 1 /f[/sourcecode]

L’aggiornamento non verrà scaricato, però, se avete già altre versioni beta del framework 4 installate sulla vostra macchina.
(altro…)

VMware vSphere

domenica, 17 gennaio 2010

Avevate mai avuto modo di vedere vSphere di VMware?  In pratica è una tecnologia in grado di astrarre tutte le risorse hardware messe a disposizione di una serie di host e di mettele a disposizione ad una serie di applicazioni prendendole da un pool: se si rompe una macchina fisica le risorse vengono assegnate diversamente le diverse applicazioni, ma nessuna smette di funzionare (= alta affidabilità).

Il cloud che si viene a formare permette inoltre di allocare dinamicamente le risorse alle applicazioni secondo le necessità, oltre alla possibilità di upgrade hardware decisamente facilitati (basta “attaccare” un pò di risorse in più al pool e associarle alle applicazioni)

I costi di licenza (ai quali bisogna aggiungere la pecunia per il supporto, che si paga a parte) non sono certo alla portata di tutti, ma sono però più che accettabili per business che giustificano un’architettura ad alta affidabilità.

C# Singleton

sabato, 9 gennaio 2010

In questi ultimi mesi ho avuto la necessità di trovare un’implementazione del pattern singleton in C# che fosse un buon compromesso tra scarnezza del codice e laziness nella creazione dell’istanza.

Dopo un pò di ricerche ed esperimenti ho scelto la soluzione di seguito:

[sourcecode]
public sealed class MyObject
{

// Dichiaro un costruttore statico per far si che il compilatore c# non
// consideri il tipo come beforefieldinit
static MyObject() { }
    MyObject() { }

// Istanza privata dell’oggetto
  private static readonly MyObject _instance = new MyObject();

// Proprietà pubblica che espone l’istanza all’esterno
    public static MyObject Instance
    {
        get { return _instance;  }
    }
}
[/sourcecode]

Il costruttore statico garantisce che l’implementazione sia thread-safe: in questo modo l’inizializzazione dell’istanza _instance viene eseguita una sola volta per esecuzione. Inoltre per la presenza dello stesso costruttore statico la classe non viene marcata con il flag beforefieldinit dal compilatore, l’oggetto _instance viene quindi istanziato solamente alla primo accesso ad una proprietà statica di MyObject.

Se avete la necessità di un’implementazione thread safe potete modificare la proprietà pubblica come segue:

[sourcecode]
public sealed class MyObject
{
static MyObject() { }
MyObject() { }

private static readonly MyObject _instance = null;

public static MyObject Instance
{
get
{
lock(_instance)
{
if (_instance == null) _instance = new MyObject();
return _instance;
}
}
}
}
[/sourcecode]
Cosa ne pensate di queste soluzioni? Avete individuato dei problemi a cui non ho fatto caso? Aspetto i vostri suggerimenti a riguardo nei commenti 🙂

Trenitalia e i messaggi “errati”

martedì, 5 gennaio 2010

In tanti anni di viaggi avventurosi in treno mi è capitato svariate volte che i tabelloni o gli altoparlanti comunicassero messaggi errati, ma mai come in questo caso:

Dai dettagli (nella foto dopo il salto) si evince che si tratta di un errore applicativo: aspettate quindi a scagliarvi contro l’uso di sistemi operativi Microsoft in questo genere di applicazioni.
(altro…)