A Ovest Di Paperino

Welcome to the dark side.

  • 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

  • XenRecipes #5 - OpenIndiana PV su XCP 1.6

    Sono riuscito finalmente a trovare una versione di pygrub/pvgrub che supporti il boot da ZFS. Ovviamente come spesso accade con progetti distribuiti solo come codice sorgente, ho dovuto smadonnare un bel po’ prima di ottenere dei binari funzionanti. Poi giacche’ c’ero, ci ho aggiunto un tocco personale rimuovendo un po’ di messaggi diagnostici sparati alla console.

    PvGrub consente di risolvere il problema dell’uovo o della gallina dovuto al fatto che bisogna far partire un kernel da un file-system che solo il kernel può “interpretare”. PvGrub emula un mini-OS che fa il boot e lancia una versione di Grub in grado di interpretare i file-system tra i più disparati.

    Ricetta:

    1. scaricare l’ISO di OpenIndiana in /var/opt/xen/iso (creare il folder se già non esiste).
      cd /var/opt/xen/iso && wget [openindiana.iso url]
    2. copiare alcuni il kernel ed il boot_archive in /guests (creare il folder in caso)
      mkdir /iso
      mount -o loop /var/opt/xen/iso/openindiana.iso /iso
      cp /iso/platform/i86xpv/kernel/amd64/unix /guests/unix
      cp /iso/platform/i86pc/amd64/boot_archive /guests/boot_archive
      umount /iso
    3. scaricare mini-os.quiet.gz in /guests
      cd /guests && wget [url pvgrub]
    4. creare la macchina virtuale via XenCenter e assegnare l’ISO ma non avviarla
    5. switchare la macchina virtuale in modalità PV con avvio da CD
      export UUID=[uuid della VM]
      xe vm-param-set uuid=$UUID PV-kernel=/guests/unix
      xe vm-param-set uuid=$UUID PV-ramdisk=/guests/boot_archive
      xe vm-param-set uuid=$UUID PV-args=
      '/platform/i86xpv/kernel/amd64/unix -B console=ttya'
      xe vm-param-set uuid=$UUID HVM-boot-policy=
      xe vm-param-set uuid=$UUID PV-bootloader=
    6. installare Solaris e fare shutdown
    7. switchare il loader a pv-grub
      xe vm-param-set uuid=$UUID PV-kernel=/guests/mini-os.gz
      xe vm-param-set uuid=$UUID PV-ramdisk=
      xe vm-param-set uuid=$UUID PV-args='(hd0,0,a)/boot/grub/menu.lst'
    8. riavviare Solaris, creare gli utenti, le share, ridurre il timeout in grub, ecc.

    Questo tipo di setup non richiede ulteriore manutenzione, ovvero non bisogna copiare o forzare l’update del boot_archive o altro.

    PV-grub e’ scaricabile qui oppure qui in versione “quiet”.

    -quack

  • Crayless

    Ho ammazzato il mio Cray-1, omicidio involontario.

    Tutto è cominciato con la violazione innocente e non voluta della legge fondamentale dell’Universo applicata all’informatica: se qualcosa funziona non toccarla, incarnatasi nella versione “tieni Windows Update attivo su Windows Home Server”. In realtà nei casi più comuni è cosa buona e giusta, ma essendo il server completamente rivolto verso l’interno della rete e protetto molto aggressivamente da firewall su firewall, avrei dovuto pensarci prima. Soprattutto perché questo Windows Home Server aveva in carico pochissimi compiti:

    • backup client per CrashPlan, responsabile di mandare nel cloud foto e documenti
    • servizio rippatutto, un piccolo server in grado di leggere una memory card formato Nikon e di smistare foto e thumbnail in share organizzate per mese e anno. Qualcosa che avevo fatto in casa e di cui ero molto orgoglioso
    • server per MyMovies
    • server per condividere la stampante (con funzionalità di scanner con un altro artificio personale ad hoc) in rete
    • server per backup dei PC, in realtà in pensione in attesa di tempi migliori da dedicare al backup dei PC di casa; cosa che sta avendo meno peso grazie ai vari dropbox e OneDrive

    Tutto sommato un carico perfetto per una macchina virtuale in condivisione su Cray-1.

    Tale server però aveva già mostrato segni di vetustà in quanto in alcune occasioni lo shutdown terminava o in un BSOD o non terminava affatto (neppure dopo 24 ore, test personale effettuato) e richiedendo quindi un hard reset. Non so se la colpa va attribuita a Crashplan (avido di RAM e CPU) o ai driver paravirtualizzati o altro, fatto sta che aveva cominciato a risentirne di ciò il servizio rippatutto, comodo in quanto basato su set-and-forget, richiedendo sessioni sempre più frequenti di baby-sitting. L’idea era di scrivere una app che mi facesse risparmiare tempo (vedasi) ma l’app pronta e funzionale dava segni di matto a causa di qualche impiccio non imputabile al codice stesso.

    Poi durante le vacanze di Natale lo scanner ha smesso di funzionare e la causa imputabile a problemi software. Anche in questo caso il tempo investito nell’automation è stato abbondantemente ripagato, ma evidentemente qualche aggiornamento di Windows ha creato problemi ai driver dello scanner.

    Se un server incaricato di quattro servizi smette di offrirne due e dà segni scleramento significa che è tempo di cominciare a preparare rimedi: messaggio subliminale accolto e recepito.

    Con insolito ottimismo ho pensato: compro un disco a stato solido per installarci il sistema, ci aggiungo un pizzico di RAM (ho comprato un banchetto da 8GB da distribuire fra tutte le VM del Cray), ci aggiungo il vecchio disco meccanico da usare per il supporto del backup dei PC e vivo felice. Mi sfuggiva un particolare che avevo inconsciamente rimosso da tempo: ci avevo già provato ma Xen faceva casino con i dischi e non ho investigato oltre. Ma il prurito cominciava a diventare malanno e ho dovuto “mordere il proiettile” come dicono da queste parti.

    Orbene: non so se per colpa di XenCenter o quant’altro, ma aggiungere un disco al sistema si è rivelato impossibile con la configurazione corrente. Pare che alcuni file di configurazione vengano completamente ignorati e sinceramente di capire più a fondo qual è il problema, dopo aver navigato per due giorni in cerca di soluzione, non è qualcosa che mi attira. Avrei risparmiato tempo e salute a corto termine se avessi comprato un disco SSD da un TB o giù di lì (ormai intorno ai 400$), ma a medio e lungo termine sentivo che la battaglia sarebbe stata solo rimandata.

    Ho pensato di fare l’upgrade di XCP da sempre in versione 1.5 beta (legge fondamentale di cui sopra) e passare ad una più stabile, tipo la versione 1.6; che l’upgrade in place mi avrebbe preservato le VM e i miei sbattimenti si sarebbero ridotti al limite, ma l’informatica è una brutta bestia piena di promesse non mantenute o persino mantenibili. Mi son ritrovato che le VM erano tutte lì ma andavano tutte riconfigurate ex-novo, inclusa (e non me lo sarei mai aspettato!) una VM completamente virtuale su cui ci girava un XP di annata. Durante l’upgrade l’installer mi aveva persino tranquillizzato promettendo un backup della configurazione corrente in una partizione secondaria, ma i genii che hanno scritto l’installer non hanno messo l’opzione di restore nel CD di installazione. Con l’intenzione di rimandare l’upgrade a tempi più maturi, ho provato a fare un restore binario usando dd ma ho ottenuto un drive che non è più bootabile e, canaglia io, un po’ me l’aspettavo.

    Morale della favola il Cray-1 così come era nato e stato concepito due anni fa è spento. Per emergenza ho collegato la stampate al mio router su cui gira tomato e sono rimasto felicemente sorpreso dal fatto che la condivisione della stampante, una delle poche cose che ancora funzionava e servizio da garantire al 99.99999% pena visita alla doghouse, è andata in buon porto senza tanti sbattimenti. Curioso ho provato a vedere se fosse possibile condividere anche lo scanner e mi sembra di aver ottenuto buone speranze: mi rincuora sapere che posso delegare alcuni dei servizi assegnati ad una macchina Windows a server che posso personalmente garantire maggiore stabilità (leggasi l’aggiornamento del firmware di un ruoter avrà cadenze di un paio di ordini di grandezza inferiori a quelli di qualsiasi macchina Windows di Paperopoli).

    Sto pensando alle alternative adesso che, dopo due anni, posso permettermi il “lusso” di riconcepire il Cray: credo che testerò l’ultima versione del server VMWare che mi sembra meno pignolo di Xen nel supportare quello che supporta, ma penso che alla fine finirò per scegliere XenServer 6.2, tra tutti i mali quello che penso di conoscere meglio. Penso che sostituirò WHS con WSE (Windows Server Essentials, offre tutte le feature di WHS e di più) in quanto più nuovo anche se dover avere a che fare con Metro in una macchina virtuale o via RDC proprio non mi entusiasma. Il mio ottimismo informatico mi porta a credere che in due anni le cose saranno migliorate di parecchio. Il mio pessimismo cosmico mi dice che devo prepararmi ad un paio di notti insonni e avere un solido piano di rivitalizzazione degli Zombie. Alè.

    -quack

    UPDATE 1: la prima VM è resuscitata dal regno dei non-vivi, non dopo aver ceduto con l’onore delle armi: BSOD da boot a causa dei vecchi driver Xen. Note to self:

    1) l’editor per unix nano non funziona bene e introduce dei line break casuali sulle linee editate
    2) nell’esempio dei miei post precedenti non sono indicate (ovviamente) tutte le periferiche. Un buon lavoro però nonetheless.

    UPDATE 2: altra buona notizia è che l’upgrade a XenServer 6.2 ha sistemato il baco che ha dato origine a tutto questo incasinamento. La prossima mossa è resuscitare la macchina virtuale Solaris, decisamente il passo più complicato di tutta la procedura.

    UPDATE 3: dal supporto di XenServer 6.2:

    Does XenServer support Solaris x86 as a guest operating system?

    No. The experimental support for Solaris x86 has been removed from XenServer v6.2.0.

    In parole povere adesso se l’hypervisor si accorge che stai facendo il boot di Solaris, ferma immediatamente la VM. Piano di backup: installazione di XCP 1.6 (basato su XenServer 6.1) e dita incrociate. Life sucks

  • CRAM

    cram_front_small[1]

    Ieri è finita la mia lunga battaglia personale contro i calcoli renali, con tanto di anestesia generale doppia. Per la prima volta in mesi, durante un momento di veglia forzata o di insonnia, ho avuto modo di pensare ad un sacco di eventi e fatti che sembrano non centrare un cavolo, ma che sotto sotto… e pensavo:
    E così Vic Gundotra ha deciso di lasciare Google.
    E così Google ha deciso di ammazzare dolcemente, eutanasiare, Google+. Cominciando dal rimuovere l’adozione forzata di Google+ in tutti gli altri prodotti marcati Google. Effetto collaterale: dichiarare che Google+ non è più un prodotto ma una piattaforma e che smetterà di essere in competizione con Facebook e Twitter.
    Lato ottimistico: questa è una buona notizia. Google+ ha portato frammentazione, c’è gente che posta su Twitter/Facebook/Google+ lo stesso link. C’è gente che posta solo su Google+/Facebook/Twitter. Sinceramente per me Twitter e Facebook erano già due gusti della stessa esperienza. Google+ non aggiunge niente che non sia indispensabile ai prodotti della concorrenza.
    Lato pessimistico: ma nel 2014 come è possibile che si assista agli stessi continui errori seppur da parte di aziende diverse? Come è possibile che Google, che sembrava la lezione l’avesse imparata quando ha ucciso Google Video (una prece) per comprare e supportare YouTube, non ha capito che l’equazione fondamentale per il successo di un social network è:
    Good Enough + Majority of User Base = success
    Secondo lato pessimistico: forzare giù per la gola prodotti che non portano nessun valore aggiunto a quelli esistenti, non fa che alienare i propri utenti. Forzare Google+ agli utenti YouTube è stupido quanto forzare Metro a gli utenti PC desktop di Windows 8. Possibile che nel 2014 questo non sia ancora chiaro?

    -quack

  • Intentional leave

    Venerdì scorso ho lasciato la mia azienda precedente: sono stati due anni (poco meno) veloci e intensi in cui ho imparato tanto e lavorato fianco a fianco ad una leggenda.

    Il caso ha voluto che una nuova offerta di lavoro venisse a me nella forma di numeri che davvero non si potevano rifiutare: il mio nuovo datore di lavoro è lui stesso un’altra leggenda (Magnet) e porta in sé una caterva di cambiamenti incredibili. Per la prima volta dico addio all’ecosistema Microsoft per lavoro; scriviamo codice in Java e per Android/iOS e per questo mi hanno fornito di MacBook Pro super carrozzato che userò con MacOS (qualcuno preferisce Windows ma per me l’idea di imparare a scrivere codice iOS e allo stesso tempo dare un taglio più deciso è più appealing). Resta il fatto che non ho cambiato idea su alcune questioni fondamentali.

    La cosa più bella? Sono l’employee numero due nello stato di Washington.

    Auguratemi in bocca al lupo.

    -quack

  • Chittecat

    Ero un fedelissimo Android fino a qualche settimana fa.

    Oggi la fede comincia a vacillare, grazie a KitKat e tutti gli aggiornamenti successivi: se ricordo bene, dovrei essere alla versione 4.4.2

    A parte l’ART (Android Runtime, suggerito da Enrico) e qualche modifica minore mi son ritrovato con:

    • un dialer più incasinato di quello Sense. E che volendo può fare l’upload a Google dei metadata delle chiamate ricevute per mostrarmi chi mi sta chiamando se non è in rubrica. E con i tasti numerici che adesso occupano non più quanto più schermo possibile. Non vorrei ricordare male, ma l’opzione in tempi di NSA impicciona, la vedo 80% negativa.
    • il power toggle widget è peggiorato: non il widget per sé, ma il fatto che alcuni settings sono scomparsi. Se ho ben capito non si può più disabilitare il GPS in maniera atomica, infatti i servizi location sono parzialmente accesi. Se il “GPS” è spento e clicco sulle mappe per indicazioni stradali la UI che si presenta è questa:
      Screenshot_2013-12-09-11-28-52Screenshot_2013-12-09-11-29-04
    • piccoli peggioramenti in giro per la UI, come la UI per impostare la sveglia, una UI che di più demente non ne ho mai viste.
    • il bluetooth sembra impazzito. Non mi era mai capitato, tranne con l’HTC difettato, di avere un telefono che andava riavviato per farlo parlare con l’autoradio della mia macchina. Sembra che la situazione si sia stabilizzata, ma l’incertezza di quale sia stato il fattore scatenante mi lascia perplesso.
    • ciliegina sulla torta, l’altro giorno ho scattato una foto di una stampante in vendita per avere più dettagli. Dopo qualche secondo mi è arrivata una notifica di Google Goggle che mi indicava il modello ed un link ad una ricerca su google. Avevo usato, senza successo, l’applicazione Goggle qualche giorno prima per individuare il modello di un rubinetto da sostituire. Ma da qui a fare il salto a “scatti una foto e proviamo a taggarla senza chiedere autorizzazione” mi sembra troppo pericoloso.image

    Non sono l’unico ad avere questo retrogusto amaro. Speriamo che le cose si aggiustino, altrimenti google perderà un cliente utente (effettivamente i clienti di Google sono altra cosa).

    -quack

    P.S. buon natale e felice anno nuovo, ci sentiamo nel 2014, ok? Fate i bravi! E come dice qualcuno in famiglia:

    Non è importante ciò che vi porta Babbo Natale o la Befana, ma che passiate delle vacanze serene.

  • Too. Late.

    Su segnalazione di Floo, Paul Thurrot ha due parole per Windows 8.2:

    Maybe it's time for Windows 8.2. And I have a two-word recommendation for Microsoft for that release: "Start. Menu."

    Le mie parole sono invece come da titolo.

    Perché se non ci si rende conto che lo scopo primario di un PC è di attaccarlo al ‘device fantastico di prossima generazione’, Windows morirà molto in fretta (altra notizia di oggi: Microsoft ha smesso di vendere Windows 7; se me l’avessero detto ieri sarei passato al Company Store a prendere un paio di licenze…). Infatti questi ‘device fantastici di prossima generazione’ hanno driver per Linux…

    La cosa buffa è che i soliti ‘giornalisti visionari’ che tanto mi piacerebbe vedere se scrivessero codice cosa combinerebbero, nel commentare la notizia del fatto che alcune app hanno cominciato a installare bitcoin miners (tempo fa si usava farlo con lo spyware), si auguravano la morte più veloce possibile del desktop. Utenti ed utonti tutti ad usare mirabolanti applicazioni 30” per cose semplici come può essere il calcolo del codice fiscale…

    Credo che Windows deve al più presto tornare a fare Windows. Nessuno si sogna di collegare uno di questi device ad un telefono (guarda caso grazie al kernel di WP8 si può tecnicamente pure fare!) eppure questo è quello che MS vorrebbe venderci con Windows uno e trino.

    Lo Start Menu ora non basta.

    -quack

    P.S. non sono un fan di bitcoin, l’esempio è puramente incidentale…

  • OS/2

    In questi giorni ho visto spesso menzionare il glorioso OS scritto a quattro mani (e poi due) tra Microsoft e IBM. L’articolo più interessante è apparso su Ars Technica dal titolo “Half an operating system: The triumph and tragedy of OS/2”.

    Il post è un interessante spunto per riflettere sul modo sbagliato per soppiantare un ecosistema esistente da zero.

    In linea generale:

    • IBM era internamente combattuta tra paura di perdere il mercato dei mainframe e voglia di lanciare un prodotto che sterminasse la concorrenza dei cloni. Tirarono fuori un ibrido scegliendo l’Intel 80286, processore nato praticamente morto. Il supporto all’80386 arrivò parecchio tardi
    • un sacco di errori macroscopici (tipo sfangulare Microsoft prima ancora di avere un concorrente decente a Windows 95); leggasi questo famoso post di Gordon Letwin in comp.os.ms-windows.misc
    • cazzate a livello tecnico di tipo stratosferico (esempio: Synchronous Input Queue; anche chi lavorava per IBM sapeva che questa era una debolezza di OS/2 nei confronti di Windows)

    Windows 95, aldilà dell’interfaccia “innovativa”, aveva il vantaggio di poter supportare un passaggio graduale di applicazioni. Bastava cambiare un flag di compilazione e potevi accedere a 32 bit di indirizzamento (cosa che con OS/2 e la modalità Windows-Compatibile non offriva): chi si sbatteva come me per dover processare dati che non entravano in segmenti da 64KB la sentiva come un’enorme liberazione.

    L’articolo si conclude con un parallelo tra l’IBM di allora e la MS di oggi con una piccola nota consolatoria:

    However, there is one difference that separates Microsoft from most legacy companies: the company doesn’t give up.

    Io, pessimista nato, guardo al lato peggiore di questa qualità: ovvero l’incapacità di abbandonare una direzione sbagliata porta solo più velocemente al baratro.

    -quack

  • Chromecasting

    Ho comprato un Chromecast per un motivo semplice: abbiamo traslocato da pochissimo, il mediacenter è ancora nella scatola, la casa non è cablata propriamente e cercavo una soluzione pratica che permettesse l’utilizzo, per lo meno temporaneo, di Netflix su uno schermo decente.

    All’inizio ero scettico, ma poi mi son convinto anche a causa del prezzo dell’aggeggio estremamente contenuto: ho pensato che nel caso peggiore una volta cablata la casa e messo in moto il mediacenter, il chromecast finirà per pilotare un televisore in camera da letto (incluso con la casa). Qualche anno fa avrei pensato a piazzare un mediacenter extender, ma MS ha deciso che mediacenter deve morire e ha cominciato la strage degli innocenti proprio dagli extender.

    Poi ho scoperto che Chromecast è più di un ricevitore stupido di stream: è un vero e proprio full client Netflix/Hulu/Youtube/ecc. Significa che la sorgente dello stream non è il PC/tablet/telefono, d’ora in poi PTT, ma che una volta che il PTT invia al Chromecast tutti i dati dello stream da visualizzare, lo streaming avviene direttamente via wi-fi! Cioè il PTT può essere anche spento, ovvero il PTT prende il posto del vecchio fidato telecomando, con tutte le migliorie del caso. Fai il browsing del video da vedere comodamente sul PTT e quando è pronto lo invii al televisore. A me questa cosa pare una figata e a prova di bambino: testato con successo!!

    Il numero di client/app Chromecast è piuttosto esiguo ma considerando che una app Chromecast è piccola in quanto deve fare solo due cose, autenticazione e streaming, mi aspetto che almeno nel mercato americano il numero crescerà molto rapidamente.

    Da citare, per inciso, un tentativo molto spiacevole di sopperire alla situazione utilizzando la porta HDMI del mio tablet Windows 8.1: speravo che fosse Plug&Play, cavolo nel 2013 P&P è più di una aspettativa. Ma ho ottenuto solo schermate monche o completamente decentrate verso l’angolo in basso a destra.

    Detto questo: io l’ecosistema Google lo odio (emotivamente). Ma dal punto di vista pratico Google si sta muovendo nella giusta direzione e a velocità sostenuta. MS giusto ieri annunciava l’ennesima tecnologia degna del secolo scorso. Che tristezza.

    -quack

  • Lo stack ranking è morto, viva lo stack ranking

    L’odiosa pratica di distribuire lodi e compensi secondo una rigida curva statistica è stata finalmente abolita.

    Pensare che fino a ieri, nel senso letterale del significato di ‘ieri’, c’era chi diceva che è impossibile avere un budget per salari e bonus senza avere necessariamente una curva di distribuzione da forzare giù a colpi di martello. E chi, come me, sosteneva che il budget deve essere dato in totale discrezione al manager e quest’ultimo può distribuirlo come crede, compreso in parti perfettamente uguali a tutti i sottoposti.

    C’era chi fino a ieri faceva l’esempio che anche in una mano c’è il medio e il mignolo (deve essere un esempio classico che fanno in questi meeting per formare i manager automi). E chi come me contestava il fatto che sì, tutti (o quasi) abbiamo un mignolo, ma che le proporzioni tra le dita della mano non sono le stesse e questo ha fatto la fortuna di chi vende guanti elastici.

    Implementazione del nuovo processo a parte le parole di Lisa Brummel non lasciano alcun dubbio:

    No more curve. […] Managers and leaders will have flexibility to allocate rewards in the manner that best reflects the performance of their teams and individuals, as long as they stay within their compensation budget.

    Ci hanno messo del tempo ma alla fine si sono accorti che in assenza di una metrica applicabile in maniera globale e imparziale, lo stack ranking è stata un’idea del piffero.

    Insomma, avevo ragione io.

    -quack

  • Ctrl + Alt + Del

    È notizia recente il ripudio di Bill G. per la combinazione di tasti più famosa del mondo.

    ctrl + alt + del

    La combinazione di tasti, pensata come uno scherzo di pessimo gusto, fu creata da David Bradley (vedasi) in preda alla noia.

    Però i paranoici come me apprezzano il buon uso fatto da Windows, soprattutto nella linea NT. Infatti sepolto nei meandri del registry c’è un setting che forza la richiesta del “3 finger salute” (3FS) in presenza di elevazione. Essendo una combinazione intercettata a livello di sistema, in assenza di rootkit aiuta a prevenire attacchi di tipo spoofing. Un utente malevolo potrebbe infatti lanciare una app a schermo intero che simula la schermata di login e intercettare la password.

    Ecco, non c’era bisogno di scusarsi solo per il fatto che, nel passato remoto del DOS e le interfacce a caratteri, la pressione dei tre tasti era legata al fatto che qualche app si congelasse.

    Bill in questo è stato galantuomo.

    -quack

  • Fingerprints

    Sono da sempre stato un big fan di lettori di impronte digitali e ne ho provato in tutte le salse. Devo dire che mi fa piacere che Apple abbia a suo modo messo la tecnologia sotto i riflettori ma sono un po’ deluso dal fatto che l’implementazione scelta sia completamente “noiosa”. Insomma niente di nuovo rispetto a quello che si faceva già da tempo su Windows a parte il fatto di averla integrata nei loro telefoni. Ad esempio: nessuna possibilità di usare le impronte come uno di più multi-factor authentication mechanism che so abbinando PIN + Impronte su uno o più livelli (ti logghi con l’impronta e allora hai accesso ad alcune cose, per avere accesso ad altre cose devi inserire anche il PIN, ecc.).

    Poi c’è la finta questione hacker, su cui ovviamente si è spostata l’attenzione dei media. Insomma è possibile copiare un’impronta ma questo si sapeva già da tantissimo tempo. Semmai l’unica cosa deplorevole è che AuthenTec vendeva la sua tecnologia  vantandone fantasiose proprietà “anti-spoofing”, però non dovrebbe essere scandaloso visto che ora il tutto è di proprietà di quelli che “il loro Mac non piglia virus”. Per maggiori dettagli consiglio l’articolo di Ed Bott.

    Dal punto di vista implementativo, a voler credere a quello che dicono in Apple e in questo particolare contesto ho pochi dubbi sul fatto che stiano dicendo “il giusto”, le cose son state fatte in maniera corretta. Non viene memorizzata l’immagine dell’impronta ma la sua “trasformata” (hash), l’hash è sigillato dentro un processore cattivo e amen. In pratica l’NSA non può provare che l’impronta sia la stessa senza avere il telefono a disposizione e quindi da questo punto di vista, backdoor a parte, il tutto sembra inattacabile.

    API: pare che abbiano deciso di non esporre il sensore all’uso di applicazioni. Sarebbe bastato che lo storage fosse “silosizzato ermeticamente” per ogni app e si sarebbero potute sviluppare applicazioni interessanti. Ad esempio un password manager bluetooth basato su cellulare: io ho infatti abbandonato l’idea del lettore di impronte in quanto una gestione centralizzata delle password richiede un lettore per ogni pc che si usa, cosa estremamente non pratica. Però se il password manager fosse sul cellulare con il lettore di impronte e facesse le sue cosine con il bluetooth o via USB…

    …non mi resta che sognare e sperare che in Google copino qualcosa e lo migliorino.

    -quack

  • Paper, scissors, rock... plastic

    Scena accaduta realmente in un parco di Bellevue, ieri primo Settembre (per inciso oggi si celebra il Labour Day, una delle poche vacanze comandate).

    Arriva la camionetta dei gelati accompagnata dalla solita musica orribile. Ci mettiamo in fila e mi accorgo di avere nel portafogli, da sempre arido di cash, solo un unico centone capitatomi praticamente per sbaglio e che la sua macchinetta per la plastica è rotta (secondo me una scusa per risparmiare i pochi centesimi a transazione che su micro-transazioni come quelle sono una vera piaga). La signora mi dice di non avere abbastanza resto e allora aspetto in fila. Nel frattempo racconta che gli è stata rifilata in precedenza una banconota da cento dollari falsa e che cento dollari sono il guadagno di una settimana di vendite. Accontentati un po’ di clienti si decide a cambiarci il pezzo però si segna su un diario il numero di serie della mia banconota, il numero della mia patente, il mio numero di telefono (chi debba proteggere me dal falso claim che la mia banconota sia falsa non lo si capisce).

    Detto in poche parole: lasciando da parte il fatto che sia un caso quasi eccezionale (cento dollari sono tanti, ma non è neanche tanto raro) oggi, primo Settembre 2013, qui a Bellevue una transazione in contanti richiede ormai più protocollo di una transazione di plastica.

    centone

    Una prece per il contante.

    -quack

    P.S. lasciamo stare poi il fatto che se c’è un posto al mondo in cui la percentuale di centoni falsi è il minimo valore assoluto in funzione della posizione geografica è proprio…. Bellevue! Il nonno diceva una volta: se perdete un portafogli vuoto a Bellevue e c’è un documento di identità con l’indirizzo, chi lo trova ve lo restituisce con un po’ di cash pur di non supportare il sospetto che il portafoglio l’abbia svuotato lo stesso trovatore.

  • Coma farmacologico

    Tempo fa qualcuno osò a sproposito parlare di irrilevanza di Microsoft nell’IT facendo l’esempio del Mac.

    Ieri leggevo If Steve Ballmer ran Apple.

    See, if Steve Ballmer were the CEO, Apple would make more money, but they would slowly but surely become irrelevant. Just like Microsoft.

    Già nel 2007 parlando di Microsoft si usava la parola irrilevante. Però in quel caso si dimenticava che il Web 2.0 era una destinazione e Microsoft continuava ad avere un controllo assoluto del punto di partenza, il client.

    Da allora qualcosa è cambiato. Microsoft ha chiaramente perso il controllo del client, nelle mani di iOS e Android. Ovviamente ci sarà chi difende Windows Phone/RT/Blue fino alla morte (già il fatto che debba elencare tre prodotti diversi ma teoricamente uguali è ridicolo). Ma quando si parlava di dominio Windows a conti fatti si guardava ad un solo numero: la percentuale di market share. Ci sarà sempre qualcuno che pensa che Linux non fa cagare e va benissimo così anche se non si collega all’ultima stampante Canon, ma questo non è il punto.

    Mala tempora currunt.

    -quack

  • Diritto alla privacy

    Quindi, di punto in bianco, a causa del gran casino che l’NSA spia tutti e tutto (i loro tentacoli raggiungono il 75% dei connessi), Groklaw ha deciso di chiudere.

    Mi dispiace, ma forse è la scelta sbagliata per i motivi giusti. O la scelta giusta per il motivo sbagliato. O è sbagliato tutto.

    Che ci sia un braccio di ferro in corso tra diritto all’informazione e diritto a far tacere l’informazione è pure triste. Però che quache paladino del software libero decida di andare in pensione adesso, mi sembra sbagliato. Certo PJ lavorava parecchio attraverso le mail. Ma non è che adesso è spiata più di prima: è cambiata la consapevolezza e forse con questa consapevolezza non riesce a fare più serenamente il suo lavoro. Ma non è un problema logistico, è un problema di emozioni. È chi prende decisioni importanti solo in base alle proprie emozioni può alla lunga pentirsi.

    Che poi, un sottotesto che se tutti usassimo software libero saremmo meno spiati, spiace (e son tre!) ma non ci sta per niente. Se l’NSA può spiarci non è perché usiamo Windows anziché Linux (teorie cospirative a parte): ma perché usiamo l’email e la maggior parte dei server di posta lì fuori girano su software libero.

    Un gran bel paradosso.

    -quack