Italia: un 150° compleanno tra passato e futuro

Ieri la ho avuto l’occasione di festeggiare il 150° anniversario dell’unità della nostra, seppur sotto molti aspetti acciaccata (e, purtroppo, come ho appena appreso, ancora flagellata dal maltempo), ma ancora vogliosa di guardare al futuro Italia, assistendo alle mostre allestite presso le suggestive Officine Grandi Riparazioni (OGR) di Torino.

Le mostre sono: “Stazione Futuro. Qui si rifà l’Italia.” (curata da Wired), “Il Futuro nelle mani. Artieri domani.” e “Fare gli italiani – 150 anni di storia nazionale.“; ovviamente ne sono rimasto entusiasta e consiglio vivamente a tutti di visitarle!

Il dépliant delle mostre Italia 150 alle OGR, Wired, gli occhialini stereoscopici, i biglietti delle mostre.

Se avete intenzione di visitarle, leggete con cautela: non vorrei rovinarVi la sorpresa!

Continua a leggere

Navigare dietro proxy con Android (no root, no accesso a market)

Dopo essere stato a lungo indeciso su quale sarebbe stato il degno successore del mio telefono cellulare, reputando quello che ritengo il miglior smartphone attualmente in commercio troppo caro, ho optato per un cellulare LG con sistema Android 2.2. Non avendo ancora sottoscritto alcun piano dati, ho voluto provare a navigare sul web accedendo alla rete Wi-Fi aziendale… grossa delusione: pare che il sistema Android non permetta di specificare un proxy http per le connessioni a Internet via Wi-Fi! Incredulo, ho cercato una soluzione al problema, trovando inizialmente solo metodi che implicassero lo scaricamento di applicazioni ad hoc dal Market (ovviamente a me precluso, non potendo impostare al proxy e non avendo quindi accesso a Internet), l’acquisizione dei privilegi di amministratore (rooting) o addirittura la sostituzione della ROM dello smartphone (procedure che, a quanto ho letto, possono pregiudicare la garanzia). Finalmente, quando stavo per lasciare ogni speranza, ho trovato le informazioni che mi hanno permesso di raggiungere il mio scopo: poter navigare su web.

Naturalmente non escludo che esistano altri metodi per farlo e non assumo alcuna responsabilità per qualsiasi danno causato dall’attuazione delle procedure descritte.

Fondamentalmente, occorre:

  • procurarsi un browser che permetta di impostare i proxy per la navigazione;
  • installare il browser sul telefono.

Per quanto riguarda il browser, essendo abituato a utilizzare Firefox per la navigazione da computer, avevo pensato alla versione di Fennec/Firefox per Android; non essendo disponibile il link diretto per il download da PC ma solo il link al Market, ho deciso di utilizzare Opera Mobile.

Per quanto riguarda l’installazione su terminale del software scaricato da PC, ho utilizzato il tool adb (Android Debug Bridge), scaricabile gratuitamente insieme ai tool di sviluppo per Android.

Riporto di seguito i passi che ho eseguito per poter installare Opera Mobile e configurare il proxy mediante computer collegato a Internet (nello specifico PC con Windows 7; la procedura per altri sistemi operativi dovrebbe essere simile):

  1. Scaricare Opera Mobile (nel mio caso la versione Opera Mobile 10.1 beta Android 1.6+; ho provato anche la versione Opera Mini 5.1 Android ma in questo caso il browser all’avvio andava in errore in quanto non riusciva a collegarsi al web)
  2. Scaricare la versione di Android SDK Manager specifica per il sistema operativo utilizzato
  3. Mediante SDK Manager, installare Android SDK Platform-tools; a installazione completata la situazione dovrebbe essere simile a quella della figura seguente:

    Platform-tools installati in Android SDK
    Platform-tools installati in Android SDK
  4. Abilitare le funzionalità di sviluppo e debug sul telefonino:
    • Impostazioni\Applicazioni\Origini sconosciute
    • Impostazioni\Applicazioni\Sviluppo\Debug USB
  5. Collegare il telefono al PC mediante cavo USB e attendere il completamento dell’installazione dei driver
  6. Aprire una finestra di prompt dei comandi, cambiare directory sul path di installazione dei Platform-tools (nel mio caso: “C:\Program Files\Android\android-sdk-windows\platform-tools”) e digitare il comando per installare Opera:
    adb install Opera_Mobile_10.1_beta.apk
    (consiglio di leggere la documentazione di adb)
  7. Lanciare Opera e configurare il proxy, come descritto in “Android Proxy“:
    • Digitare opera:config seguito dal tasto “Enter” per accedere alla configurazione del browser
    • Localizzare, scorrendo la pagina verso il basso, ed espandere le impostazioni relative al proxy
    • Abilitare “ByteMobile prediction”
    • Inserire il valore proxy:porta (es: proxy.mycompany.it:8080) in corrispondenza dei campi: FTP server, HTTP server, HTTPS server
    • Abilitare le impostazioni Use FTP, Use HTTP e Use HTTPS
    • Salvare
  8. A questo punto dovrebbe essere possibile navigare, inserendo, quando richiesto, username e password.

Navigazione Web con proxy da cellulare Android LG E720
Navigazione Web con proxy da cellulare Android LG E720

Buona navigazione!

Performance Counters non visualizzati in Performance Monitor

Non molto tempo fa, trovandomi a dover aggiungere e utilizzare dei performance counter (contatori di prestazioni) in un’applicazione .NET (Framework 3.5) a cui stavo lavorando, mi sono imbattutto in un curioso problema.   

In pratica, ho aggiunto all’applicazione la possibilità, durante l’esecuzione, di creare e aggiornare alcuni performance counters, che però non venivano visualizzati nell’applicazione di sistema “Performance Monitor” (perfmon, “Prestazioni” su XP in Italiano).   

Ho provato anche con un’applicazione di esempio trovato in rete (http://perfmoncounterhelper.codeplex.com/), che ho scoperto non essere molto differente dalla mia implementazione, ma il risultato era sempre lo stesso: i contatori sono creati; posso verificarne l’esistenza col tool Server Explorer di Visual Studio, ma non è possibile utilizzarli in performance monitor, in quanto la combo “Oggetto prestazione” non presenta i contatori installati dalla mia applicazione.   

Preso dallo sconforto, ho fatto installare l’applicazione di test e i relativi contatori a due miei colleghi sui loro PC: su un sistema i contatori erano visualizzati; sull’altro no.   

A questo punto è subito sorto il dubbio sulla lingua di sistema: infatti l’unico sistema su cui i contatori erano visibili era quello in Inglese, mentre nei due sistemi in Italiano non erano visibili.   

Ho quindi indagato e poco dopo ho scoperto che sul registry di Windows i contatori sono memorizzati in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib   

Fig. 1: Informazioni sui contatori di prestazioni nel registry di Windows.

Sul mio sistema sono presenti due sottochiavi:   

  • 009”, che ho scoperto contenere le informazioni sui contatori in Inglese (US);
  • 010”, che ho scoperto contenere le informazioni sui contatori in Italiano.

Fig. 2: Contatori in Inglese (Americano) nel registry di Windows.

Fig. 3: Contatori in Italiano nel registry di Windows.

Il problema consiste quindi nel fatto che, all’installazione dei nuovi contatori, essi sono aggunti alla chiave “009” (Inglese), mentre perfmon permette di visualizzare i contatori in Italiano, le cui informazioni si trovano alla chiave “010”.

Finalmente, ho risolto copiando con regedit il contenuto delle chiavi “Counter” e “Help” da “009” a “010”: così facendo in perfmon riesco a vedere i nuovi contatori, al costo (direi trascurabile) di avere tutti i nomi degli oggetti in Inglese.

Fig 4: I contatori in Italiano (prima della copia dei valori nel registry).

Fig. 5: I contatori in Inglese (dopo la copia dei valori nel registry)

Fig. 6: È finalmente possibile aggiungere il contatore in perfmon.

Fig. 7: È finalmente possibile monitorare il contatore in perfmon.

Ovviamente, se qualcuno fosse a conoscenza di un metodo per poter aggiungere da codice i contatori a un sistema Windows XP non in lingua Inglese (US) è caldamente invitato a lasciare un commento 🙂 🙂 🙂

Grazie per la lettura!