Thursday 23 October 2014

Quadrophonia



Uno dei miei telefoni è un vecchio (comincia a far sghignazzare i più gggiovani) LG Optimus One P500, Ha il firm stock aggiornato ad Android 2.3, è rootato, ed ha una SD partizionata per Link2SD.

Ieri (non avendo evidentemente niente di meglio, e più utile, e più divertente da fare) ho trovato delle istruzioni per l'installazione di una Cyanogenmod basata su Android 4.4.2 kitkat specifica per il P500. Decido di provare. Scarico Rom Manager dallo store, flasho la recovery, metto lo .zip della mod sulla sdcard, faccio il boot to recovery, installo lo .zip. Che ha anche un setup particolare, l'Aroma installer. L'installazione da un warning su alcuni link che non è riuscita a creare e fa il reboot del terminale.Schermo nero, fastboot mode started, udc_start(), e altri messaggi inserendo il cavo usb.
Naturalmente ho già il SDK di android e i giusti driver usb per l'ADB. Provo fastboot flash recovery, fastboot erase recovery, fastboot reboot.. Niente.. Provo anche a ripulire e riflashare altre partizioni: al reboot stavolta il p500 da schermo nero, pare brickato. Cerco su XDA developers una soluzione.
Innanzitutto procurarsi un'immagine aggiornata per rimettere il firm stock sembra difficile, su XDA trovo Original_LG_Firmware.zip, un programmino in .net che dato l'IMEI del telefono preleva dai server LG la giusta immagine. Per riflashare ci sono sostanzialmente due programmi, LGMPD e KDZ_FW_UPD. Provo subito il secondo. Metto in emergency mode il telefono (back+voldown+power), configuro il KDZ come 3CQGT e emergency, provo a riflashare il firm giusto.

Funziona.

Riconfiguro l'account, ripristino il backup.

Trovo una versione di Rom Manager che fa scaricare direttamente da Internet delle rom. Trovo una vecchia CM7, che si installa senza problemi. Il menu iniziale è in russo, ma riesco a selezionare l'italiano. Funzicchia, grafica carina. Però... oh, non vede la sezione di telefonia GSM/3G. Rimetto sempre con KDZ il firmware stock, però devo anche fare un reset ai dati di fabbrica, è rimasto qualcosa di strano in /system (credo)
Mi rimane la voglia di riprovare la CM 11 Kitkat. Provo a flashare direttamente da fastboot una recovery più reente, rimetto lo zip, reboot to recovery (home+volup+poweroff), rifaccio il setup, reboot... Parte! Ma rimane poi fermo alla boot animation.
Riprovo con un paio di cosiddette CM10 stable. La recentissia recovery non li caga nemmeno di strisco. Riprovo con la CM11, mettendo il setup al minimo.
Stavolta il boot dura quasi 10 minuti, ma finalmente arriva a buon fine. Apparentemente il port di KitKat sul vecchio hardware LG pare più che usabile. Provando ad installare qualche app google seperatamente ma il sistema si rifiuta decisamente. Alla fine è necessario ripetere l'installazione, prima di troare la combinazione giusta.

La CM11 comunque ha due problemi. Attivare il tetherign su wifi richiede un reboot se poi si vuole usare il wifi (ahi, usare il tethering oltre a telefonare è la funzione più usata di quel terminale). Inoltre non sembra possibile usare correttamente la Radio FM. Chi ha rilasciato la mod ha messo Spirit FM Unlocked. Però.. non funziona. Come riscontro installandone 4-5 versioni diverse, provando qualche decina di settaggi e infine trovando un posto di conferma su XDA devoloper.

Ok. La radio FM è il terzo utilizzo in ordine di importanza di quel terminale. Torno allo stock.
Stavolta però KDZ non ne vuol sapere di funzionare. Devo scompattare il file del firm stock con LG-Utils (sempre trovato su XDA developers) e usare una più complessa procedura con LGMDP.
La cosa finalmetne va a buon fine.

Posso rimettermi a rootare la stock, mettere link2sd etc. Un problema con una (credo) errata versione di link2sd mi costringe a ripetere l'operazione due volte. Ora il telefono è tornato praticamente come nuovo, anzi sembra più veloce. Spirit FM funziona sulla stock. Ed ha anche l'RDS.

Certo, sono le tre del mattino.Invece di provare la CM11, non potevo, che so, iniziare a studiare il sanscrito?

Controllo IBAN in C#

Oggi cercando l'algoritmo di controllo dell'IBAN su google ho trovato questo post ( http://meow.altervista.org/blog/come-controllare-la-validita-del-codice-iban-in-java/ ) con l'algoritmo e un chiaro esempio in Java. Ho convertito la routing in C#, non che mancassero gli esempi direttamente in questo linguaggio, ma che diamine.. ecco la funzione. Bisogna creare un riferimento a System.Numerics nel progetto che usa la funzione. .NET >= 4, per via di BigInteger

        private bool ibanvalido(string iban)
        {
            iban = iban.ToUpper();
            if (iban.Length < 27) { return false; }
            int valoreperiban = 0;
            StringBuilder builder = new StringBuilder();
            string ibanscambiato = iban.Substring(4, iban.Length - 4) + iban.Substring(0, 4);
            for (int i = 0; i < ibanscambiato.Length; i++)
            {
                char ch = ibanscambiato[i];
                if (ch >= 'A' && ch <= 'Z') { valoreperiban = ch - 55; builder.Append(valoreperiban.ToString()); } else { builder.Append(ch); }
            }

            System.Numerics.BigInteger ibanConvertito = System.Numerics.BigInteger.Parse(builder.ToString());

            System.Numerics.BigInteger resto = System.Numerics.BigInteger.Remainder(ibanConvertito, 97);

            if (resto.Equals(1)) { return true; } else { return false; }
        }


Friday 17 October 2014

U2's new album (Songs of innoncence): Every Breaking Wave

Last week I listened to 'Songs of innoncence', U2's much discussed new album. It's good, not exceptional. The best song in my opinion is...

   ..which (suspiciously) reminds me of this old, nowadays almost unknown 80s song



...from The Roaring Boys. An almost forgotten new romantic band which produced only one  eponymou  album (with a three good songs on a total count of eleven, including 'House of Stone'). It's a complete ripoff? Absolutely not. But I think maybe Bono and the Edge owe something to those six old former new romantics.

Sunday 5 October 2014

Dramma dello Yom Kippur a "La Zanzara"



Quando questo post apparirà dovremmo essere decisamente fuori dalla giornata dello Yom Kippur (credo dal tramonto del 3 ottobre, a quello del 4, solo per il 2014/5775 ovviamente). Come noto (?) sono da un po' di tempo un ascoltatore anche troppo assiduo de 'La Zanzara' su Radio 24: il co-co-conduttore David Parenzo il 3 ottobre ha solennemente annunciato...


...cosa che del resto aveva già fatto lo scorso anno. Beh, che dire, cavoli suoi: come per l'Emanuel Goldfarb di Ein ganz gewöhnlicher Jude Davìd Parenzo (con l'accento sulla ì) sarà il momento della riscoperta delle radici. Venerdì 4 mi aspettavo una puntata senza Parenzo ma Cruciani ha esordito con una chiamata telefonica al suo compare. Peccato che nello stesso momento qualcosa con la webcam che riprende la trasmissione non quadrasse. Cruciani ha gesticoltato qualcosa e un assistente ha messo un foglio sulla webcam.



Poi lo streaming è continuato solo con l'audio. Parenzo avrebbe dovuto andare in standby dalle 17 di venerdì ma in effetti sembra essere inervenuto nelle interviste con Salvini, Razzi, Parenzo, sempre apparentemente inseguito da un Cruciani che lo chiamava in continuazione. Quando un ascoltatore ha provato a interpellarlo però ..Parenzo? è sparito.

Mi ha colpito anche un passo dell'intervista a Razzi: "domani riprendere Crozza, eh?". No, giovedì avrebbe ripreso Crozza ..domani. Venerdì 4 Crozza avrebbe ripreso ..stasera.

Insomma l'impressione fortissima è che Cruciani fosse in diretta come sempre. Ma gli interventi con Parenzo sembravano decisamente registrati in precedenza, solo per dargli modo di celebrare lo Yom Kippur. Solo i diretti interessati, e gli intervistati potranno confermarlo ma ...acca' nisciuno è fesso.

Continuerò, credo, a seguire la Zanzara, ma la cosa lascia un po' interdetti. Da un cinico come Cruciani ci si aspetta anche la lite, l'insulto con il pubblico, l'intervistato o il pazzoide che chiama in diretta, ma un inganno di questo tipo al proprio pubblico. Mah: se Davìd Parenzo con l'accento sulla ì teneva tanto allo YK che lo faccia, e basta, e non pretenda pure di essere in trasmissione anche non essendoci, facendo finta di essere/non esserci. Peppe Cruciani potrà reggere due ore senza la sua spalla, per una serata. O no?

Windows 10

Dopo aver visto due presentazioni di questo tenore..



...dovevo provare subito Windows 10 TP (Technical Preview). In realtà, la prima cosa che ho fatto è stato consultare le fonti online più affidabili su Joe Belfiore (i capelli sono veri? è un riporto transnazionale? è pazzo per la figa o no? *)

Comunque, ho tirato gù l'ISO della versione inglese a 64 bit da preview.windows.com - Bisogna registrasi al programma Insider di Microsoft, creando un account MSN se non lo si ha già: anzi almeno per ora l'account è necessario per l'installazione. Oltre all'ISO c'è anche un seriale, ma in effetti non è chiesto al momento del setup.

Ho installato la TP su VMware, non un vero muletto. Su VMWare workstation 9 e 10 non ho avuto particolari problemi, se non ilf atto che sembra funzionare solo un soo display nel guest (ho due monitor, ma nella vm ne vede uno solo funzionante). Sia i VMware tools della 9 che della 10 funzionano. Ho configurato la macchina virtuale come Windows 8, 4gb di ram e 50gb di hd virtuale, con i default VMWare: va tutto su senza problemi, si installano i Tools nel modo solito e si ha un sistema più che usabile.

Windows 10 fino alla settimana scorsa si sarebbe dovuto chiamare Windows 9. I Microserf dicono che il nuovo nome è dovuto ai grandi cambiamenti che porterà la nuova versione, che dovrebbe essere unica su tutti i device, dal telefono con schermo da 4'' allo smart TV da 60". In realtà pare che si chiamerà 10 perchè in certe culture il 9 è simbolo di sfortuna o forse perché alcuni software controllando la versione rischierebbero di confondersi con Windows 95 o Windows 98.

Per ora non si vedono cambiamenti epocali. Avremo W10 dappertutto, ma sarà al massimo l'unificazione di nome e di app store. Sui device più piccoli /(tutti i telefoni e la maggior parte dei tablet) ci saranno sempre processori ARM, il che implicherà comunque una versione specifica del SO e una molto parziale compatibilità verso l'alto.

La vera notizia semmai è che M$ dopo la fine dell'era Sinofsky (e Ballmer) è finalmente tornata in se. Windows 8 è stata quella che gli americani definiscono una knee-jerk reaction di fronte alla paura di perdere il mercato di Windows grazie alla preponderanza di tablet e smartphones: per superare il panico da mobile, la grande pensata fu quella di imporre al desktop (compresi i SO server) un interfaccia utente a tile che funziona bene solo con dispositivi touch e che rompe completamente col passato iniziato quasi 20 anni fa con Windows 95.

Il risultato è che su un normale PC dotato di solo mouse, tastiera e monitor non touch appena si prova lo Start Screen si pensa subito a come disabilitarlo, e visto che non lo si può fare da SO, dove trovare un sostituto (Classic Shell, o volendo un programma a pagamento Start8). Window 8.1 ammetteva timidamente l'errore capitale appena commesso reintroducendo il bottone di Start (ma non il menu!).

Tra l'altro l'invandente Start Screen rende la vita sensibilmente più difficile a chi su s.o. Wndows 8 (o 2012) deve andarci da remoto in teleassistenza: Classic Shell in questo senso è stato un toccasana salvatempo provvidenziale.

Windows 10 finalmente torna chiaramente indietro rispetto alla vision Sinofskyana, segnando dunque un progresso effettivo. E' quello che avrebbe dovuto essere davvero Windows 8, un miglioramento incrementale della già migliorata interfaccia utente di Windows 7. Con in più un buon supporto touch, disabilitabile alla bisogna.

In breve, è tornato il menu di Start. Adesso è ridimensionabile, e vi si possono agganciare anche le tile delle applicazioni metro. Che sul desktop girano in finestra, hanno i bordi, sono zoomabili, e anche chiudibili con un bottone. In pratica c'è un clone incorporato di Modern Mix.

E' tornata la ricerca da menu start, come in W7, che però ora cerca anche sul web.

L'esplora risorse è stato ulteriormente migliorato: ci sono dei particolari carini, come ad esempio il context menu cui si accede facendo tasto destro sul bottone di Start, e consente di accedere alle funzioni più usate come lo Shutdown o il prompt dei comandi.

Ci sono pure i dekstop virtuali (presenti su OSX da tempo e su Unix/Linux/X da una vita), vi si accede tramite un bottone 'Task view' accanto a quello di Start, che mostra anche le applicazioni attive tutte insieme in miniature. Si possono creare più desktop, eliminarli, selezionarli e anche spostarvi le applicazioni (basta fare tasto destro sulle miniature, anche se un drag and drop sarebbe stato più intuititivo).

Pare che per i dispositivi convertibili con tastiera staccabile tipo il Surface si passerà automaticamente dalla modalità Start Menu a quella Start Screen e viceversa rimuovendo e riattacando la tastiera. In ogni caso per ora si torna allo Start Screen solo riconfigurando l'interfaccia da pannello di controllo.

Un punto interessante della presentazione di Joe Belfiore è stata l'attenzione data al vetusto Prompt dei Comandi. In W10 (rullo di tamburi) si può usare Ctrl-V anche li. In realtà provando la TP Ctrl-V in prompt dei comandi continuava a darmi ..  ^V : è necessario usare il context menu del prompt dei comandi e mettere la spunta su Enable Experimental Features nell'ultima tab. E non c'è solo il Ctrl-V : leggete questo post di Scott Hanselman ad esempio.

Comunque non mi sono dato la briga di installare la TP solo per il ciuffo di Belfiore: dovevo sincerarmi della compatibilità con alcune applicazioni che scrivo o manutengo per lavoro. Funziona tutto: c'è il solito supporto per le applicazioni di tipo business/desktop. Il supporto 'just works' per programmi VB6 .. just works. C'è il solito ADO 2.8, i soliti driver Oledb/ODBC. I .NET framework presenti all'installazione sono l'1.1, il 2 e il 4. Del resto, in fondo il 'vero' nome di Windows 10 è NT 6.4: Windows 7 è NT 6.1.  Funzionano bene anche programmi scrtti quasi 20 anni fa: questo dovrebbe far riflettere chi cerca di far passare le applicazioni web come la panacea di tutti i mali. Non so quale sia la percentuael di applicazioni web che possano vantare una così solida compatibilità con i loro client (i browser web) come le applicazioni 'desktop' o comunque GUI based di Windows.


(*) sì-no-sì