A Ovest Di Paperino

Welcome to the dark side.

  • 2016, fuga da

    È arrivato il nuovo anno e approfittando delle vacanze natalizie ho messo a punto il mio piano di fuga. Della fuga da Windows ne ho già parlato, ma in questi giorni sto fuggendo da Solaris. Non è bello sapere di avere un sistema che gira su software in fin di vita. Il mio fedele Solaris para-virtualizzato, in esecuzione su XCP 1.5 BETA, non è più supportato nelle versioni successive. Ho guardato nel frattempo verso KVM che mi sembra molto più stabile con l'idea di avere un host che faccia anche da server SMB e risparmiare una macchina virtualizzata coi suoi costi. Armato di un nuovo HD di provenienza saldi da Black Friday ho fatto il backup del Pool. La mossa successiva è stata quella di installare il Pool su una VM Ubuntu con supporto ZFS ora che pare sia abbastanza stabile: ovviamente non tutto è filato liscio, la tabella delle partizioni di 3 HD su 4 era corrotta: strano che Solaris riuscisse a far partire il Pool in queste condizioni, ma armato di backup ho provato parted. Ho rifatto la tavola delle partizioni da zero e recuperato la partizione, un HD alla volta, e provato che i dati fossero ancora lì. Sistemato l'ultimo HD il Pool è stato importato con successo su Ubuntu. Purtroppo per chissà quale baco misterioso il Pool non è più importabile su Solaris, ma a questo punto poco importa.
    Il passo successivo è stato quello di configurare SMB coi suoi permessi, piccoli grattacapi, ma dal punto di vista del Server Windows su cui gira CrashPlan tutto sembra uguale e la cosa è molto, estremamente incoraggiante (il backup di 1.8TB di dati spalmati su 125.701 file è appena completato con successo).
    Prossimo passo è quello di spostare CrashPlan da Windows ad Ubuntu, ma sembrerebbe un gioco da ragazzi ampiamente documentato. Se tutto dovesse andare liscio il passaggio a KVM da Xen dovrebbe essere praticamente indolore. Reinstallerei la Workstation di Windows 7 da zero su KVM, visto che l'HD su cui gira al momento è quasi privo di spazio, ma terrò da parte i tre vecchi HD che non si sa mai.
    Sorprese positive: SMB è stato più facile da configurare di Solaris una volta letta la paginetta di documentazione appropriata. E siccome Solaris usava CIFS la banda è pressoché raddoppiata: non che sia una cosa importantissima, ma come piccolo bonus extra non ci si può lamentare.
    Il passo finale è quello di fare qualche test e decidere il sistema operativo host: sono indeciso tra Ubuntu per la velocità di messa in piedi e ArchLinux per il footprint incredibilmente limitato. Ma questa è una decisione che posso prendere con calma. L'importante è essere uscito da quel brutto vicolo cieco di un ammasso di sistemi arrivati a fine corsia (XCP, Windows Home Server, Solaris). Per i prossimi 4-5 anni dovrei essere a posto.

    -quack

  • Nexus 5X: il buono, il brutto, il cattivo

    È da un po’, diversi giorni, che uso il Nexus 5X con l’account aziendale. A causa di questo mi è stato detto che, vista la quantità di dogfood che devo necessariamente sorbirmi, non posso fare osservazioni accurate sulle prestazioni in generali o sulla durata della batteria a causa del fatto che il dogfood tende ad essere poco attento a questi due fattori importanti. Ciononostante le mie impressioni sono prettamente positive. E allora senza colpo ferire passiamo al…

    BUONO

    Lettore di impronte: l’account aziendale, in quasi tutte le versioni, richiede misure di sicurezza aggiuntive come ad esempio l’obbligo di avere il dispositivo criptato o impostare un PIN. Da questo punto di vista il lettore di impronte del 5X con la sua posizione strategica è una vera e propria manna che mi consente di sbloccare il dispositivo con il semplice gesto di sollevarlo dal tavolo (o estrarlo dalla tasca).

    Hardware in generale: semplicemente eccezionale, a me lo stile Nexus piace parecchio e lo si dovrebbe capire dal fatto che questo è il mio quinto Nexus. Lo schermo è un tocchettino più grande e dà la possibilità di spremere più icone nell’home screen.

    Camera: sulla qualità generale della camera tanto di cappello. 12MP sul retro, 5MP sul fronte, performance ottime anche in condizioni di luce meno che soddisfacenti. Non che sia un patito delle foto fate col cellulare, ma la qualità c’è.

    Tempi di ricarica: USB-C in quick-charge mode significa 1% al minuto circa. Da scarico ci metto al massimo novanta minuti per ricaricarlo al 100%. Ottimo.

    Supporto a Google-Fi: questo per me è un grande vantaggio. Sono di principio contrario ai piani a pacchetto (paghi tot al mese per X minuti o Y GB; se sfori c’è la penale, se non sfori ci perdi) e Google-Fi va nella direzione giusta, ma ci vuole un dispositivo che supporti lo switching tra rete cellulare e Wi-Fi in maniera seamless. Nexus 6 e Nexus 5X lo supportano. Son passato proprio ieri a Google-Fi e staremo a vedere.

    BRUTTO

    USB-C: la porta USB-C supporta solo USB2 dal punto di vista del trasferimento dati; mi importa poco, perché è da parecchio che non trasferisco via USB ma è una gran rottura di scatole per via del dover cambiare cavetti e adattatori, almeno fino a quando lo standard non diventa più ubiquo.

    Led Notifiche: di default è disabilitato, questo mi lascia presagire che in futuro possa essere rimosso. Io lo trovo molto comodo, se così fosse sarebbe un vero peccato.

    CATTIVO

    Rimozione di alcune feature: è stata rimossa la stabilizzazione ottica (credo, mi pare che il Nexus 5 ce l’avesse) e la ricarica wireless, anche quella molto comoda; la seconda non è una grossa perdita visto che la velocità di ricarica sarebbe estremamente bassa e la batteria comunque, anche in condizioni svantaggiose, sembra riuscire a tenere testa al carico di lavoro giornaliero.

    Bottomline: come in passato, nel passaggio da Nexus 4 a Nexus 5 (ouch, scopro di non averne mai parlato!), ho sofferto un po’ con l’upgrade; ho l’impressione però che i pro supereranno presto con la forza dell’abitudine i pochi contro e di tornare al Nexus 5 mi sembrerà presto impensabile come tornare oggi indietro al Nexus 4.

    -quack

  • Amazzonia

    In una gara tra chi ha l’idea più cazzona del secolo, Amazon ha deciso di rilanciare con una mossa geniale:

    Non è più possibile comprare sui loro negozi dispositivi che non supportano il servizio di streaming di Amazon Prime (Apple TV, Google Nexus Player, ChromeCast, ecc.)

    Uno di passaggio legge la notizia e pensa: è giusto, tu non supporti i miei servizi, io non vendo i tuoi prodotti.

    A parte il fatto che non vendere i prodotti danneggia i suoi stessi clienti, uno penserebbe che se questi giocattoli non supportano i servizi streaming di Amazon, la colpa è di Google o Apple.

    Però nel caso di Google, ignoro il lato Apple della questione, non c’è davvero nessun impedimento nel supportare l’app di Amazon su Google Play Store. Insomma se l’app di Amazon non c’è è per una scelta di Amazon. Infatti se si smanetta un po’, la si può installare di “contrabbando” sul Google Nexus Player.

    Un’idea altrettanto cazzona è quella di avere un servizio come quello di “Amazon Prime Now” solamente su cellulari e neanche per tutti i modelli. Se si vuole usufruire di Amazon Prime Now su iPad o via browser o sul nuovo Nexus 5X, non è possibile. Nisba.

    Amazon è balzata di recente agli onori della cronaca per via di un articolo molto controverso apparso sul New York Times. In realtà moltissimi ex-Amazon che conosco hanno detto che si rispecchiano completamente nell’articolo citato. Infine un mio amico, che mi ha detto di aver fatto colloqui per una posizione di manager, mi ha raccontato che l’applicazione della curva di Bell in Amazon è persino più hard-core di quanto succedeva ai tempi di Ballmer in Microsoft. Coincidenze?

    -quack

  • 7 anni di Chrome

    7 anni fa veniva rilasciato Google Chrome.

    Quel rilascio lo ricordo ancora, un browser diverso che aveva tutto quello che serviva, funzionava bene, andava veloce e senza non-sense.

    Utile anche a dimostrare che se Firefox non ha mai preso piede, non era certo colpa del fatto che IE era preinstallato. Semplicemente non offriva abbastanza da convincere la gente a cambiare browser, come è successo per Chrome.

    Amen

  • StarCasting

    Due anni fa raccontavo quanto fosse stato piacevole scoprire le piacevoli funzionalità di ChromeCasting, l'abilità di donare smart-capabilities a televisori di una generazione fa o modelli tra i meno costosi. Giorni fa ho montato un televisore ricondizionato da $100 in garage per allietare il mio tempo sul tapis roulant: è stata l'occasione per l'acquisto di un secondo ChromeCast dopo aver ponderato a lungo sulle alternative (la migliore lo stick Fire di Amazon, scartata per paura di perdere il telecomando). Sapevo che stavano per uscire altri modelli ma nessuna delle nuove feature è interessante per il mio caso d'uso e si aggiunga il fatto che Amazon vendeva vecchi modelli ad un prezzo scontato... e via!

    Ieri, dopo tanta attesa, ho ordinato altri tre dispositivi: due ChromeCast audio, che rendono i cablaggi audio in casa totalmente inutili e uno stick Amazon per la TV. Come già raccontato il plugin di Netflix è stato rimosso da Windows MCE. Ho pensato a lungo ad alternative, ho persino installato Kodi su Windows (mamma mia, l'interfaccia è più dolorosa di una visita dentistica) e alla fine ho ceduto: in questo caso il telecomando è un optional poco opzionale per cui mi son deciso per il dispositivo Amazon. Da una prova rapida il dispositivo è un po' più lento dell'equivalente Google ma un'altra sorpresa positiva, di cui non avevo nessuna aspettativa, è il supporto al protocollo DIAL di ChromeCast e affini. Quindi volendo lo stick Amazon può essere operato anche via Android/iOS/Chrome per Windows.

    Ho poi scoperto che c'è una release di Kodi per Amazon Fire Stick che proverò ad usare per accedere alla mia libreria di DVD rippati e se tutto dovesse funzionare decentemente metterò in cantina definitivamente il mediacenter. Resterà da capire come guardare le partite dei SeaHawks ormai l'unico tipo di trasmissione che seguiamo dal vivo ma SiliconDust PVR disponibile su un bel po' di piattaforme sembra essere molto promettente. Se riesco a configurare il tutto a puntino un altro ruolo del mio Windows Home Server viene meno, quello di server per MyMovies che in realtà era già diventato ridondante il tutto semplificando ulteriormente la configurazione IT di casa. Sempre meno Windows ma è davvero un peccato.

    -quack

    Update: ieri ho comprato il Google Nexus Player via Amazon Prime Now: cosa assurda il prezzo era più basso (di $20, non di poco) di quello nel main store di Amazon. Come si dice da queste parti, un no brainer. L’ho installato e per ora l’esperienza mi sembra semplicemente fantastica. Google è la nuova Microsoft, Android il nuovo Windows (considerando in quante installazioni posso sostituire Windows con Android per i più disparati motivi).

  • Impressioni di Settembre

    È passato più di un mese dal mio arrivo in Big G e volevo raccogliere un po' di impressioni in questo post. Mi ritengo una persona fortunata perché ho fatto di una delle mie passioni un lavoro felicemente retribuito. Quando ho lasciato la precedente "grossa azienda" sapevo di perdere 'qualcosa' in cambio di avventure sicuramente meno stressanti, qualcosa che non riuscivo a definire con chiarezza. Per raccontare meglio devo però necessariamente fare un piccolo passo indietro agli ultimi tre o più anni lavorativi e chiedo scusa se questo post possa essere letto come troppo "comparativo".
    Ho lasciato l'astronave madre nel 2012, sicuramente in uno dei momenti più bui della storia di Microsoft, secondo solo ai vari giri di licenziamenti più recenti: Sinofsky all'apice del potere, le policy del personale al massimo dei danni, Windows sull'orlo di una crisi di nervi. Passare ad Intentional, azienda che sviluppa in C#, è stato il modo migliore per minimizzare l'ansia da rientro pluridecennale nel mercato del lavoro: noi italiani, culturalmente parlando, non siamo molto affini con l'idea di una carriera improntata e supportata dal cambio di azienda. Intentional mi ha lasciato la possibilità di avere un ufficio da arredare, Windows come piattaforma di sviluppo e l'accoppiata fantastica C#/Visual Studio.
    Ho perso il comfort di questa familiarità quando ho fatto il passo successivo: un'offerta di lavoro molto interessante, ricevuta nel momento perfetto, per fare qualcosa in Java che sapevo fare anche "appeso bendato a testa in giù e con le mani legate dietro la schiena". Non più un ufficio, ma un openspace; non più VS ma un dover scegliere tra NetBeans e IntelliJ (di Eclipse non se ne parlava neanche). Ho reimparato in fretta Java non senza sentirmi spesso ammanettato dalla mancanza di alcuni costrutti molto pratici disponibili in C#. A questo punto ho pensato di essere pronto a tutto tranne al panico.
    Quando ho deciso di lasciare l'azienda precedente ho pensato di prendere in considerazione le tre classiche "big corporation" dell'informatica con una forte presenza locale ovvero Amazon, Facebook e Google. L'esperienza di tornare a fare colloqui è stata in parte elettrizzante, tra siti che raccolgono questo tipo di domande, colloqui telefonici, screening, pre-screening e loop "dal vivo". Tra le tre, anche per motivi logistici (Amazon e Facebook hanno la sede in Seattle: bisogna macinare miglia, attraversare il tratto di autostrada più costoso al mondo, ingiacchiarsi per il parcheggio, ecc.), avevo forti preferenze per Google ed alla fine - il destino - ha voluto così e oggi sono qui.
    Com'è Google? Gli aspetti positivi sono tanti e dal punto di vista della mia carriera un paio sono quelli che mi hanno convinto che in questo momento sono nel posto giusto:

    • i manager fanno i manager; si occupano semplicemente di rendere gli sviluppatori produttivi; la guida tecnica è delegata agli sviluppatori senior (technical lead o technical lead manager). Un manager viene giudicato dalla sua abilità di promuovere gli sviluppatori che lavorano per lui; più il manager riesce a promuovere, più il manager viene premiato/promosso a sua volta. Per evidenziare meglio questo il metro per un manager in Microsoft, quando ho lasciato, era nella sua abilità nell'applicare la curva che tradotto in soldoni significa avere a disposizione un 10% di sottoposti da mazzulare (in Amazon è anche peggio). In due parole in Google un buon manager è semplicemente un ottimo leader e al servizio degli sviluppatori
    • la valutazione delle performance non dipende dal manager, che ha un ruolo di coordinatore/guida per la carriera, ma dal feedback dei propri pari. Se sei un testa di pazzo che pugnala a le spalle i colleghi in modo da dare al tuo manager la testa da mettere sul vassoio qui fai una brutta fine. Mi è stato ripetuto più volte che il modo più facile di fare carriera è di essere un fantastico team player
    • la promozione è un processo estremamente formale che può essere avviato senza l'intervento del manager; durante i periodi in cui è aperta la fase di valutazione, basta mettere un check su una box per attivare tutti i meccanismi necessari
      Dal punto di vista tecnico l'articolo su Wired è molto puntuale (le motivazioni descritte in questo video). Sinceramente devo dire che sono rimasto estremamente sorpreso dai tool di sviluppo che a confronto di quanto era a mia disposizione nel 2012, nell'azienda software più grande del mondo, sono fantascientifici: non sono perfetti, dal punto di vista del debug le limitazioni sono molto forti, ma per il resto davvero chapeau. Scrivere codice che gira in maniera trasparente su più datacenter distribuiti geograficamente è ovviamente complicato.

    A parte questo, nelle cose di tutti i giorni relative allo svolgere il proprio lavoro, devo dire che in alcuni aspetti questo posto è meglio dell'altro: ogni sviluppatore è dotato di laptop (a scelta tra Windows/Linux/OSX) (in MS-2012 era un 'lusso' solo per dev lead); le policy di acquisto/ordine di materiale e di viaggio sono completamente liberali; e oltre a tutto questo cibo e snack gratis secondo l'imperativo che tra ogni scrivania e un chioschetto con gli snack ci devono essere non più di venti metri.
    Concludendo: le mie impressioni sono molto positive, quello che faccio mi diverte: sono in una fase in cui sto imparando un sacco di cose e mi ritengo circondato da ingegneri estremamente talentuosi. Mi sarei aspettato un ambiente di sviluppo un po' più arcaico (trattandosi di Java) ma mi son subito dovuto ricredere. Ne riparliamo tra qualche mese per scoprire se si tratta di una luna di miele oppure no (*).
    -quack
    (*) a giudicare dalla serenità gestuale dei miei colleghi credo proprio di no.

  • Upgrading Cray-1

    È passato un bel po’ di tempo dal momento in cui “ho chiuso i giochi” su Cray-1. Credo ferventemente nella legge 0 dell’informatica per cui “se qualcosa funziona non si tocca”.

    Ma se qualcosa comincia a non funzionare… Ad esempio la strategia di backup si basa su CrashPlan che gira su Windows Home Server. I file però risiedono su un pool RAID-Z gestito da una macchina OpenIndiana para-virtualizzata a cui WHS vi ci accede usando una modalità poco ortodossa. Un paio di volte è già capitato che il mount delle share non è partito in tempo causando un backup parziale. In poche parole ci sono troppi ingranaggi in moto anche se tendenzialmente “tutto funziona”.

    Poi mi è capitato di leggere che KVM nel frattempo è migliorato parecchio e il VGA passthrough pare superiore anche a quello di XEN.

    E poi ho provato ZFSONLINUX, migrando un pool da Nexenta 3.0 (stessa versione usata per creare il mio pool) a Ubuntu senza tanto dolore; scoprendo che è possibile usare un server SAMBA decente e anche le ACL Posix con ZFS con semplicemente:

    # zfs set acltype=posixacl <dataset>

    E allora fatti due conti… un nuovo setup basato su Ubuntu eliminerebbe la necessità di una VM per Solaris. Eliminerebbe la necessità di far girare CrashPlan su Windows Home Server, che eliminerei completamente affidandone i due ultimi compiti rimasti ad altri PC già esistenti. Risulterebbe in una virtualizzazione di Windows 7 migliore. E possibilmente in una virtualizzazione di OSX, magari in dual boot con Windows ora possibile visto che il BIOS viene sparato sull’uscita della VGA anziché in maniera cieca.

    La tentazione è forte.

    -quack

  • Accesso Fisico

    Siore e siori, Thunderstrike (notizia non molto fresca, ma da reazioni alquanto inquietanti).

    Un paio di simpatiche citazioni:

    "Since the boot ROM is independent of the operating system, reinstallation of OS X will not remove it. Nor does it depend on anything stored on the disk, so replacing the hard drive has no effect. A hardware in-system-programming device is the only way to restore the stock firmware."

    e

    "There are neither hardware nor software cryptographic checks at boot time of firmware validity, so once the malicious code has been flashed to the ROM, it controls the system from the very first instruction," Trammell Hudson said. "It could use SMM and other techniques to hide from attempts to detect it."

    I soliti “apologisti” sono già al lavoro per spiegarci che Apple ci metterà una pezza, dimenticano – o forse non comprendendo – che si può sempre fare un downgrade attack sui laptop già esistenti (quelli futuri pure, conoscendo i signori di Cupertino).

    Poi ci spiegano che purtroppo di fronte all’accesso fisico e l’attacco della evil maid, non si può fare niente. Peccato eh, sono quasi dieci anni che è stato rilasciato Windows Vista e coi computer con TPM è possibile sigillare il sistema quasi completamente (*). Però il TPM era quell’aggeggio che avrebbe consentito a MS la dominazione globale garantendo al tempo stesso che gli utenti sarebbero stati colpiti da un pianoforte entro 30 giorni dall’acquisto.

    -quack

    (*) La cameriera cattiva potrebbe sostituire il disco di boot, con un disco che emula la schermata del PIN di bitlocker permettendo di memorizzare il segreto da qualche parte, per poi riavviare il PC “normalmente”. Questo assumendo che l’utonto non si accorga della procedura di avvio stranamente insolita… sì, vabbè, come no…

  • Activity tracking

    Recentemente mi è venuta la fissa di misurare l’attività fisica giornaliera nel tentativo di raggiungere e mantenere l’obiettivo standard “americano” di 10mila passi al giorno.

    È un periodo decisamente interessante per quanto riguarda i dispositivi da polso con l’iWatch in dirittura di arrivo e tanta roba interessante, rilasciata nell’arco di un paio di settimane appena trascorse: Fitibit Charge, Sony SWR30, Basis Peak ma anche Striiv Touch, Garmin Vivosmart, ecc. Ne ho provati quattro ed i criteri che mi interessavano sono:

    1. che sia abbastanza accurato e misuri quello che mi interessa (passi, minuti attivi, qualità del sonno)
    2. un dispositivo che somiglia più ad un braccialetto che ad una pacchianata (questo esclude i vari Android Wear, iWatch, Microsoft Band, ecc.). Le pacchianate purtroppo consumano parecchio in termini di batteria e ricaricare un altro gadget con frequenza giornaliera o quasi non è entusiasmante
    3. che sia possibile leggere lo stato direttamente dal dispositivo senza dover necessariamente passare dal cellulare
    4. che ufficialmente (o meno) sia possibile leggere qualche notifica sul dispositivo (non mi interessano i vari twitter/mail/facebook ecc.)
    5. che dia la possibilità di accedere ad una comunità che permetta di confrontare statistiche, cosa che di persona personalmente trovo estremamente motivante
    6. che sia economico, spendere cifre che si aggirano intorno ai 200$ per un cassillo del genere mi sembrano esagerate visto il tipo di attività prevalentemente hobbistica
    7. che non richieda molta “manutenzione”

    I quattro che ho provato, e le return policies in america sono una figata per questo, sono in ordine cronologico:

    Fitbit Flex, è stato il primo e mi ha aiutato a capire cosa veramente mi interessa. La comunità di Fitbit è fatta benissimo, ho agganciato una decina di amici particolarmente attivi. Purtroppo però ho capito che mi sarebbe piaciuto avere un dispositivo con un display che supporti le notifiche e quindi possa mostrare il progresso ottenuto usando numeri anziché LED. Il fatto che abbiano annunciato nuovi modelli poco tempo dopo il mio acquisto non ha neanche aiutato tanto a digerire il Flex.

    Il secondo cassillo è stato un dispositivo che sulla carta sembrava avesse tutte le carte in regole, lo Striiv Touch. Purtroppo all’atto pratico il software sul lato Android era molto scarso (hanno rilasciato da pochissimo un aggiornamento quindi qualcosa potrebbe essere cambiato). Si aggiunga pure qualche vistosa cappella, come ad esempio il fatto che nella modalità sleep non è possibile leggere l’ora e una durata della batteria alquanto scarsa e… anche lo Striiv Touch ha intrapreso la via del ritorno. Ero riuscito a raggiungere l’obiettivo di inviare notifiche personalizzate al dispositivo, che di suo sulla carta doveva essere in grado di mostrare tutte le notifiche di Android, ma con un’affidabilità molto bassa. L’assenza di una controparte cloud, e con essa una qualsiasi forma di comunità, è stato il colpo di grazia.

    Sono passato a provare il Garmin Vivosmart che dei quattro considero la migliore implementazione hardware in assoluto. Anche questo dispositivo sembrava potesse farcela: purtroppo come spesso accade ad hardware eccellente viene accoppiato software scritto con i piedi. Il Vivosmart fa intenzionalmente l’unpair – e quindi richiede il pair – ogni volta che deve connettersi al cellulare. La cosa incredibile è questo non avviene quando il dispositivo va fuori range o si spegne il bluetooth, il pairing rimane attivo fino a quando si decide di far parlare fra di loro i due oggetti. Garmin giustifica la cosa con la necessità di bilanciare l’uso con la sicurezza, facendomi credere che temino lo spoofing. L’app dovrebbe fare il pairing automaticamente in background, ma con il Nexus 4/5 questo non funziona. Peccato perché il sito online è fatto abbastanza bene, anche se nella community non vi ci ho trovato praticamente nessuno; e peccato perché si tratta dell’unico bracciale che si può portare sotto la doccia (lo Striiv promette la stessa cosa ma non mi è sembrato “robusto”).  Ultima pecca abbastanza antipatica è il fatto che lo sleep tracking sia mostrato male, con un grafico sull’intensità del movimento che dice poco sulla qualità del sonno in generale. Anche in questo caso, un aggiornamento di qualche giorno fa parebbe aver migliorato il pairing, ma non ho avuto modo ovviamente di provarlo.

    Finalmente è arrivato il turno di parlare del mio acquisto più recente e si spera permanente: il Fitbit Charge. Comprato ad una svendita durante il Gray Thursday (*). Offre tutti i vantaggi della comunità numerosa di amici su Fitbit e l’accesso, tramite hackeraggio alquanto istruttivo, al sistema di notifica piuttosto discreto. Durata della batteria stimata intorno alla settimana, connessione BT che funziona SEMPRE quando deve (**), statistiche accurate con la possibilità di calcolare il dislivello in piani grazie all’altimetro e possibilità di misurare la qualità del sonno SENZA DOVER FAR NIENTE a parte indossare il cassillo come un comune orologio. Unica pecca è il non poter indossare il dispositivo durante una doccia o una nuotata, ma per me non sembra un grande problema.

    L’hackeraggio dell’app è stato molto divertente per chi come me si diverte a guardare, in casi estremamente circoscritti, il codice di altri. Nello specifico ho notato che una classe incaricata di osservare le notifiche di telefonate in arrivo avesse già la predisposizione nel fare altro. Mi è bastato modificare il manifest dell’app, reimpacchettarla propriamente et voilá la mia app Android può notificare il mio FitBit mandado un messaggio chiamato spiritosamente CAZZABUBBOLA.

    Nella mia ricerca mi sono imbattuto ed ho studiato – a livello di visione del codice – anche altri prodotti interessanti:

    • Timex X20/Soleus Go (stesso HW, software leggermente diverso; affetto da gravi problemi di connettività BT e mancanza di Community)
    • Vidonn X5, interessante solo per via dell’esistenza di un’app parallela completamente open source
    • Razer Nabu, appena uscito fresco ma molto aperto a sviluppo esterno con tanto di SDK
    • Pivotal, alquanto interessante visto il prezzo estremamente contenuto; ma ha funzionalità piuttosto limitate

    Per ora sono più che soddisfatto, ma il rilascio della versione con Heart Rate monitor del FitBit Charge potrebbe rendere il tutto ancora più interessante.

    -quack

    (*) Gray Thursday è il nome che i telegiornali hanno dato alle svendite del Black Friday nei negozi fisici che aprono già nella serata del Thanksgiving; pratica purtroppo orribile ma necessaria a contrastare il fatto che i negozi online, data la loro peculiarità di non richiedere personale aggiuntivo, cominciano le svendite un giorno in anticipo

    (**) in realtà il primo pairing mi ha dato qualche problema al punto che ho dovuto resettare completamente il mio android. Per fortuna non avevo niente da backuppare a causa di un reset precedente di qualche giorno prima.

  • Post di servizio - Dicembre 2014

    Chiedo venia per il post Out Of Band.

    Mi piacerebbe sapere, tra i lettori che seguono via RSS feed, quale reader online/offline usate.

    Grazie per la cortesia.

    -quack

  • Lollipop: il buono, il brutto ed il cattivo

    Buono:

    1. Trusted Devices. Una cosa fichissima. Si dà la fiducia ad alcuni dispositivi (Wi-Fi, NFC e Bluetooth) che quando sono nel range del telefono permettono di bypassare il PIN. Geniale!
    2. Phone Encryption. Non appena mi procuro il device giusto (spero che il mio hackeraggio di un Fitbit Charge vada a buon fine), scelgo un PIN ed attivo l’opzione
    3. Pinned Apps e Guest Mode. Ammetto che non è a livello del Kids Corner di Windows Phone ma è la feature che è perfetta. Una volta pinnata un’app non vi si può uscire (tipo kiosk mode) senza una combinazione tasti/PIN. Una manna
    4. Design. Non mi piace inseguire le mode per sé, ma nello specifico ha portato ad alcuni piccoli miglioramenti nell’usabilità. Un esempio sono alcuni bottoni sempre in primo piano (simile alle faccine delle conversazioni di Facebook Messenger). Altro esempio è il dialer leggermente migliorato rispetto a KitKat proprio grazie all’uso di uno di questi nuovi UI element.
    5. USB audio. Non ho intenzione di comprare cuffie USB, ma l’opzione è chiaramente interessante
    6. Durata della batteria. Ho notato NETTI miglioramenti (65% con stima di 1 giorno e 5 ore rimaste).
    7. Flashlight di sistema: considerando quante applicazioni con accesso MALEVOLO (sono pessimista di default) ci sono nel Play Market, anche questa è una grande manna dal cielo
    8. Piccole migliorie di sistema i cui effetti saranno visibili in futuro (ad esempio l’API per la fotocamera)
    9. Il nuovo silent mode: a tratti disorientante, ma con la possibilità di stabilire applicazioni con priorità sul silent mode.
    10. Ottimi progressi nel sistema di setup di un nuovo telefono (ho fatto il Factory Reset) con la possibilità di scegliere quali applicazioni installare. Vedasi foto sotto di chiara ispirazione iOS:

    Screenshot_2014-11-22-00-00-36

    Brutto:

    1. La finestrella con le opzioni a scorrimento in basso è diventata meno funzionale. Adesso le piastrelle hanno solo funzionalità ON/OFF. Questo è un grosso passo indietro. Un paio di esempi: manca l’accesso diretto alla batteria (prima con uno swipe ed un click, adesso i click sono diventati 3); stessa cosa per manipolare l’accesso al Wifi
    2. Scomparsa dell’app di Email. Non so se mi piace accedere all’account aziendale tramite l’app di GMail. Sono diffidente e non mi sembra una buona idea.
    3. Lo stack BT sembra ancora un po’ fragile. Potrebbe essere un’impressione dovuta ad una pessima implementazione di un’app che sto provando
    4. Manca un sistema centralizzato per i setting. La cosa peggiore è ritrovarsi il telefono con le icone tutte al posto giusto, ma sapere di dover riconfigurare a mano troppe cose: suonerie, account, ecc.

    Cattivo:

    Davvero non capisco la necessità di rimuovere un tratto inconfondibile di Android Vanilla: l’animazione del tubo catodico spento quando si disattivava il display. Peccato.

    -quack

  • Design Flaws

    Quasi un anno con il Mac, il sistema con “la migliore usabilità” del mondo, dall’azienda con il miglior design dell’Universo Intero e…

    File Safe Dialog:

    Screen Shot 2014-10-02 at 10.47.11 AM

    C’è da piangere in confronto a quanto disponibile nella versione per Windows. Il paragone tra Finder e Explorer è insostenibile, l’unica feature carina è la separazione dei file per data (oggi, settimana, mese, ecc.). Il resto è letteralmente letame. Le acrobazie da fare per salvare il file in una location specifica sono incredibili.

    Lanciare app grafiche dal terminale:

    Con Windows scrivi calc nel terminale e ti si apre la calcolatrice. Scrivi “leggimi.txt”e ti si apre il file in Notepad. Con OSX è tutto più contorto. Nel 2014 mi aspetterei più integrazione tra shell e il resto dell’OS. Roba che si era già vista in Windows 95 (non sto scherzando).

    Gestione delle finestre:

    Non sto a discutere sulla filosofia se il concetto di finestra deve sovrapporsi a quello di app (provate ad aprire due calcolatrici su OSX). Ma il fatto che spesso l’ordine-Z delle finestre sia totalmente indomabile, è veramente una pena.

    Bonus point:

    Non c’entra con OSX ma da molto bene l’idea questo post sullo Shift-Key in iOS. Per far comprendere che l’azienda col design migliore del mondo prende degli abbagli allucinanti.

    -quack

    P.S. pare che il Kernel Panic dovuto a VMWare Fusion sia un baco nei device driver di Apple. Speriamo che la nuova versione dell’OS abbia messo qualche pezza, va…

  • iPad Mini

    La mia azienda mi ha comprato, già da diversi mesi per la verità, un iPad Mini (la versione non retina). Me lo son portato a casa per il weekend e ci ho giochicchiato un po’.

    Le mie impressioni sono queste:

    • l’hardware sembra eccellente
    • la durata della batteria mi è sembrata fenomenale: mi son visto due episodi di Games of Thrones, letto mezzo libro su Kindle ed è ancora al 60% e passa.
    • l’interfaccia lascia mooooolto a desiderare. È brutta quanto quella di Windows 1.0 (vista in retrospettiva) e i colori sono orribili. Odio il pastello, capisco che i gusti sono soggettivi, ma credo che sul fatto che sia “brutta” concorderebbe anche Sgarbi (solo per nominare un critico che crede nell’oggettività del bello).
    • mi piace parecchio il formato, effettivamente lo trovo comodo e leggero quanto basta per leggere agevolmente
    • le app (Netflix, HBO) sfruttano appieno il ChromeCast SDK, disponibile per iOS ma non per Windows Phone

    Devo dire che se dovessi scegliere tra un 10” con Windows in modalità transformer (tipo Acer o Asus) e un formato più piccolo, sarei perfettamente in bilico. Mi piacerebbe tanto avere una tastiera vera, quelle bluetooth mi preoccupano per la necessità di essere ricaricate. Però anche se mi piace tanto il formato, non so se sceglierei l’iPad: le malignità di Apple, persino peggiori di quelle di Microsoft degli anni novanta, sono pervasive abbastanza da farmi passare qualsiasi voglia. Ad esempio, far finta che c’è bisogno di una carta credito per installare applicazioni gratuite è un colpo davvero basso.

    Per non parlare poi del gran calcio nei maroni che è stato forzare il nuovo album degli U2 a tutti gli utenti.

    -quack

  • Due link

    Due link interessanti:

    La lettera di Nadella agli employee riscritta in maniera decente (sperando che sia effettivamente così)

    Riflessioni sulle strategie MS (vedasi WPOS/2)

    -quack

  • Wasting time

    “Solo”due anni fa:

    L’opposto è altrettanto valido: non appena si collega un mouse al tablet, l’esperienza diventa “solo” quella desktop, magari con una piccola eccezione e cioé poter far girare le applicazioni tablet in una finestra in modalità “emulazione” e possibilmente senza touch.

    Oggi i rumor:

    Users running Threshold on a desktop/laptop will get a SKU, or version, that puts the Windows Desktop (for running Win32/legacy apps) front and center. Two-in-one devices, like the Lenovo Yoga or Surface Pro, will support switching between the Metro-Style mode and the Windowed mode, based on whether or not keyboards are connected or disconnected.

    Credo che se la direzione è questa, Windows 9 potrà essere finalmente usabile anche per chi usa il desktop come modalità primaria.

    Perché accoglierlo prima questo feedback ed evitare il disastro che hanno combinato finora pareva proprio brutto.

    -quack

  • Follow the money

    Prendo spunto da una serie di commenti sul caso Youtube per Windows Phone per dire con più dettaglio la mia e portare alcune ipotesi a supporto. Userò il parallelo di Office su Linux cercando di spiegare perché lo ritengo completamente valido.

    Cominciamo dal fatto che se fossi in Google sinceramente di supportare Windows Phone me ne sbatterei altamente: non solo la piattaforma dal punto di vista della penetrazione di mercato è sfigata, ma se pure avessero sviluppato una app per Windows Phone 7, l'avrebbero probabilmente dovuta riscrivere per Windows Phone 8. E poi forse di nuovo per Windows Phone 8.1

    Google è responsabile dello sviluppo delle app per YT sia per Android che per iPhone. Il fatto che WP sia poco interessante è completamente comprensibile nell'ottica costi/benefici. In un'azienda quotata in borsa costi/benefici vanno sempre giustificati: questo non significa che sia l'unico parametro, ma nel momento in cui bisogna giustificare una decisione nell'assemblea degli azionisti, mostrare diligenza sotto questo aspetto è sempre necessario. Da aggiungere: quando controlli sia il client che il server, dal punto di vista ingegneristico qualsiasi scorciatoia è giustificata, come l'assenza di un layer di API propriamente detto.

    Dopo di che passerei a fare alcune considerazioni sulla gravità di quello che ha fatto MS quando ha rilasciato la sua "versione" del client per YT. Bypassare due vincoli di servizio d'uso di YT (permettere di scaricare e non visualizzare la pubblicità) è equivalente a rilasciare una versione di WINE per Linux che permette di scaricare Office gratuitamente e bypassare il processo di attivazione: da un'azienda che fa vagonate di soldi e pretende il rispetto dei termini di licenza ci si aspetta che faccia altrettanto. La scusa di "non avevamo le API" non regge. Non. Regge.

    Una volta che gli avvocati si sono scornati e l'accordo è stato raggiunto e si è deciso che Google provvederà una API per il supporto di YT su WP (cosa che MS in passato non ha mai fatto, ad esempio lasciando lo sviluppo di Silverlight al reverse engineering amichevole di Novell), il tutto diventa "esecuzione". A questo punto non conosco altri retroscena ma immagino che la feature "creare API per YT con il supporto della pubblicità" sia finita in una lista nelle mani di qualche Program Manager. Pongo l'accento sulla parola "lista". Ogni team ha una lista della spesa di ciò che va fatto e tale lista viene ordinata per priorità, con il famoso rapporto Costo vs. Beneficio a contribuire al peso di ogni elemento.

    Si aggiunga che oggi giorno, come qualcuno fa notare, ci sono decine e decine di applicazioni fatte da tabaccai che rendono la questione quasi irrilevante. Google su questi frangenti si è dimostrata abbastanza tollerante, infatti nel marketplace delle estensioni per Firefox campeggiano svariati "youtube downloader", completamente eradicati dal marketplace per Chrome (ci ha fatto caso qualcuno?).

    Quanto detto finora dovrebbe essere analitico abbastanza da comprendere quello che sta accadendo: al posto di Google farei la stessa cosa, ed infatti MS ha fatto la stessissima cosa evitando di supportare piattaforme sfigate (Linux; Android ed iOS non qualificano più come sfigate).

    Al posto di MS avrei fatto qualcosa di molto più intelligente: visto che su WP gira "il miglior browser mobile in circolazione" (*), avrei creato un'applicazione che - trasformando il contenuto delle pagine HTML in maniera intelligente - avesse delegato al browser il tutto. Avrebbero risparmiato tempo, energie e al tempo stesso ottenuto un prodotto migliore.

    Due parole sul fatto che Google non supporta YT su WP per paura del successo di WP: ma davvero questa teoria sembra più plausibile delle famigerate scie chimiche.

    -quack


    (*) affermazione che mi vede in totale disaccordo; supportare Flash nativamente non è motivo né necessario né sufficiente.

  • Quattro mesi report

    Sono quattro mesi che ormai lavoro in un ecosistema che non è Microsoft-centrico e volevo raccontare un primo bilancio: il codice si scrive in Java (parte in 1.7, grossa parte addirittura in 1.6), usiamo tool Apache per la build, i database sono MySQL, ecc. Il tutto gira su MacOS, almeno per tre su quattro di noi del team remoto.

    In passato ho giochicchiato un po’ con MacOS ma non ho mai fatto niente di produttivo e soprattutto remunerato. Le mie opinioni sono queste:

    1. parlando di lavoro, Windows è a man bassa molto più stabile di MacOS. Sarà colpa del fatto che faccio girare Windows su una virtual machine, ma io osservo un Kernel Panic per settimana. La stragrande maggioranza di questi avviene (credo) durante le power transition. A livello di usabilità però MacOS latest è un pelino meglio di Windows 8.1.1.1.1 ma drasticamente meglio di Windows 8.0, l’OS che usavo per lavoro nell’azienda precedente
    2. se chiedessi a mia nonna di scrivere un Database Engine da zero sono sicuro che farebbe molto meglio di MySQL. Quando c’è un KP lo stato del DB si corrompe nonostante il DB venga usato molto sporadicamente: i DB dovrebbero garantire coerenza anche nei casi in cui si stacca la spina dal muro in maniera violenta. MySQL, almeno nella versione che stiamo usando su Mac, va in palla nonostante sia praticamente fermo. Per non parlare del fatto che neanche mia nonna si sognerebbe di far coincidere i due valori di stringa vuota e null, cosa vera fino alla versione 5.5 (precedente)
    3. la differenza tra Java e C# è abissale, l’effetto è che alla fine mi sento come se mi avessero amputato entrambe le mani. Un’immagine può rendere meglio l’idea:

    C#Java

    A sinistra C#/.Net; a destra Java/JVM. L’argomento richiede sicuramente un successivo approfondimento, ma… sarà pure che ci sono migliaia e migliaia di librerie, ma nel 2014 codice così mi fa letteralmente vomitare:

    private static void seek64(FILE fp, long upos) {
        LIBC.fseek(fp,0,0); // start at the beginning
        while(upos<0) {
            long chunk = Long.MAX_VALUE;
            upos -= chunk;
            LIBC.fseek(fp,chunk,1);
        }
        LIBC.fseek(fp,upos,1);
    }

    (eh sì, quei genii che hanno disegnato il linguaggio hanno pensato che i tipi senza segno fossero “pericolosi”).

    Però almeno finalmente sono arrivate la lambda.

    -quack

  • Paraxenotopia Americana

    Tradotto maccheronicamente (Google Translate) dall’inglese per “posti strani”, laddove la geografia politica è governata da coordinate creando risultati interessanti.

    Colorado e Wyoming: due stati dai confini perfettamente rettangolari, almeno nelle intenzioni (nella pratica ci sono stati in passato diversi errori e dovute correzioni). Più informazioni qui.

    Four Corners: l’unico quadri-punto americano, uno dei pochi al mondo. Ovvero l’unico punto del territorio degli Stati Uniti in cui si toccano quattro stati: Arizona, Colorado, Nuovo Messico e Utah. Reso famoso in un episodio di Breaking Bad.

    Haskell Free Library: una biblioteca a confine tra Canada e Stati Uniti, così a limite che il confine è segnato con una striscia nera sul pavimento di una delle stanze della biblioteca.

    Point Roberts: exclave degli Stati Uniti in territorio Canadese.

    Indiana: lo stato diviso in diversi fusi orari. A peggiorare le cose, la suddivisione stessa è andata mutando nel tempo.

    -quack

  • Herpes

    Finalmente si può comprare una XBox senza Herpes (riferimento alla vignetta spettacolare).

    Ovviamente, come è successo persino quando Microsoft ha dichiarato che rimuoveva il DRM restrittivo dalla nuova, qualcuno ci spiega che in realtà accontentando i clienti MS non stia facendo loro un favore perché l’abbiamo già sentito in passato: un certo tipo di DRM è il futuro, il nuovo start screen è il futuro, un bundle che viene mandato giù per la gola è il futuro, ecc. ecc. ecc.

    Il ragionamento (sbagliato) è questo: siccome i developer Xbox One sanno che Kinect è ubiqua, ci saranno più giochi che la supporteranno e meglio.

    Come se “l’adattabilità” di un gioco alla Kinect fosse un dettaglio estremamente secondario.

    Poi ci sono altri aspetti che rendono la faccenda molto triste, come ad esempio il fatto che per l’ennesima volta MS ha bisogno del feedback dei suoi clienti per capire che sta facendo una cazzata. Fossi membro della board sarei molto preoccupato di questo aspetto ovvero del fatto che una azienda è così scollegata dalle esigenze dei propri clienti da richiedere continue e costose correzioni di rotta.

    Spero che il nuovo CEO metta la nave in rotta. Trattandosi di un Titanic un certo tipo di latenza è persino prevista. Però mi sembra che i tempi siano maturi per notare le prime correzioni importanti.

    -quack

  • Sneakernet

    Piccolo aggiornamento: sono nella fase finale di messa a punto del Cray-1 e stasera ho fatto la migrazione dell’OS dal disco meccanico (che poi ho scoperto essere un povero 5400rpm) al disco solido. Immaginavo che usare CloneZilla sarebbe stato più semplice che usare un prodotto per Windows che gira su Windows in quanto CloneZilla lavora offline, ma mi son sbagliato di grosso. Per fortuna avevo una licenza gratuita dell’ottimo prodotto della Paragon Software ed è passata la paura. Effettivamente l’hard disk era il collo di bottiglia, il sistema adesso si avvia in meno di un minuto, misurato al momento in cui la sintesi vocale annuncia che “il servizio rippatutto” è stato avviato con successo. Col disco meccanico i minuti richiesti erano quasi sei, ma il resource monitor non mostrava molto accanimento verso il disco e per questo ero un po’ scettico.

    Adesso che le prestazioni sono decenti, che il guest agent di xenserver sembra non avere più bisogno di un GB di RAM per girare e che lo scanner è tornato allegramente a poter essere condiviso, è arrivato il momento di riprendere a pensare ad un piano di backup offline (ho i file importantissimi riversati anche nel cloud, ma ciò non basta secondo la famosa regola del 1-2-3).

    È da parecchio che rimugino su un sistema basato appunto su Sneakernet, ovvero tenera aggiornate due repliche di dati usando un supporto fisico come mezzo su cui far viaggiare i dati. Credo che abbia cominciato a pensare a qualcosa del genere mentre ascoltavo una collaboratrice dello scomparso Jim Gray, ed ho pensato ad una ricetta basata su ingredienti a mia disposizione:

    1. la possibilità di ottenere l’elenco dei file modificati, aggiunti, cancellati o rinominati a partire da uno snapshot disponibile con qualche incantesimo da riga di comando con solaris
    2. una volta ottenuta la lista, processare i file e metterli su una chiavetta che poi a destinazione verranno sincronizzati con la seconda replica
    3. un servizio Windows (perché nonostante tutto sono ancora estremamente più produttivo con C# che con qualsiasi altro mezzo) che automatizzi quanto più possibile la sequenza di operazioni: tipo inserisci la chiavetta, si smazza il delta e quando ha finito la sintesi vocale annuncia che la copia è pronta

    Vista la mia attuale familiarità con Java, ho pensato ad un demone Solaris che si mette in ascolto e che, ricevuta la parola d’ordine, mette a disposizione il delta su una share e poi tutto il resto comodamente gestito da Windows.

    Avrei pensato che la parte più difficile sarebbe stata conciliare il nuovo delta con un delta pre-esistente, ma a quanto pare scrivere un demone in Java sembra sulla carta molto più semplice di quanto sia in realtà. Tra l’altro mi dovrei fidare di un OpenJDK qualora volessi usare una versione più recente di quanto preinstallato già su OpenIndiana.

    Ergo, il viaggio che mi aspetta sembra essere molto lungo… caro diario…

    -quack