A Ovest Di Paperino

Welcome to the dark side.

  • Google vs. Amazon

    Oggi un nuovo episodio della saga.
    Premesso che io possa essere considerato di parte. Però a leggere la storia per intero ci si può fare una chiara idea di dove sia la maggior parte della colpa.

    Ad esempio:

    1. Perché Amazon ha rimosso l’app di Prime Video da Android TV?
    2. Perché quando l’ha fatto ha addotto fantomatiche motivazioni tecniche inesistenti (tutto misteriosamente funziona bene su NVidia Shield o sui televisori Sony)?
    3. Perché quando gli utenti hanno trovato il modo per installare l’APK distribuito con Sony Amazon l’ha spento?
    4. Perché il sito di Amazon Prime Video non supporta il Chromecast protocol, roba che persino un tabaccaio potrebbe implementare in pochi giorni?
    5. Perché il FireTV store non permette l’installazione di Kodi (bisogna fare giri assurdi)?
    6. Perché le nuove app Prime Video per Android/Android TV supportano il mio Nexus 5X ma non Nexus Player?
      image

    Ecco, se a tutte queste domande ci fosse una risposta logica engineer-approved, potrei dire che è giusto che Amazon abbia da recriminare su YouTube. Fino ad allora gli utenti come me dovranno convivere con due dispositivi anziché uno. Me pare ‘na cazzata.

    -quack

  • I miei guai con Windows 10 - continua

    Per un po’ le cose sono andate benissimo. Poi mi son deciso di passare ad una foto camera mirrorless Olympus che porta in dote un formato RAW diverso dalla Nikon, che ho scoperto pare essere supportato nativamente in Windows 10, e son cominciate le tribolazioni. Non mi sono mai irritato così tanto davanti ad un PC negli ultimi sei mesi a mia memoria.

    1. ho provato ad installare l’app di Olympus, scritta da tabaccai, che ha cambiato alcuni default in maniera sbagliata. Ha ad esempio impostato come applicazione di default Windows Live Gallery che sul mio PC non solo non è installata, ma dovrebbe essere persino incompatibile
    2. ho cercato di cambiare l’app di default, usando tasto destro, open with. Explorer si incaglia, un reboot sistema le cose
    3. installo IrfanView, explorer torna ad incagliarsi. Reboot su reboot.
    4. nel frattempo l’accesso al server SMB incomincia ad essere ballerino
    5. perdo la pazienza e tento un System Restore: parte, si riavvia e
      system-restore-did-not-complete-successfully-windows-10
      Inutile tentare la scelta di un restore point diverso (molto pochi, chissà dove sono finiti gli altri). Non c’è verso
    6. seguo un paio di guide su come resettare le app di default, ma ogni volta che si apre una finestra di configurazione CazzonUI o è un giramento di palle continuo o è vuota

    Alla fine me la son cavata installando questa roba qui ($10 ottimamente spesi), salvo scoprire la fragilità dei thumbnail di Windows Explorer, problema che viene da ben molto lontano.

    Sinceramente con un Windows “installato fresco” non ci ho mai litigato così tanto dai tempi di Windows 95 beta. Se potessi tornerei a Windows 7 in un batter d’occhio, le poche feature interessanti non compensano assolutamente la sensazione di aver a che fare con un sistema ostile che ha bruciato un paio d’ore della mia vita e che ancora dovrebbe essere poco stabile.

    Riformatto?

    -quack

    UPDATE: dopo aver provato svariate “ricette” che hanno ulteriormente peggiorato la situazione, sono riuscito a fare un System Restore in “modalità provvisoria” che è uno dei segreti meglio (peggio?) nascosti di Windows 10. Basta tenere schiacciato il tasto SHIFT mentre si sceglie Restart per aver accesso ad un menù di recovery abbastanza completo. Ho poi installato la roba descritta sopra e l’ho associata unicamente ai file ORF (Olympus). Tutto sembra funzionare come nuovo

  • Fitbit SDK: come fare tutto sbagliato

    Solo qualche mese fa dicevo:

    L’unico alibi che posso immaginare è che abbiano rilasciato un qualcosa di piccolo e ben curato in attesa di migliorare e perfezionare il resto

    All’epoca per sviluppare una app per FitBit Ionic era necessario installare un firmware beta. Poi ad un certo punto hanno rilasciato il tutto ed è cominciato il mio stupore.

    1. innanzitutto la scelta di usare JavaScript al posto di altro. Se usi un linguaggio da tabaccai, mi lasci pensare che l’audience dell’SDK sarà formata da tabaccai (ed infatti…)
    2. hanno deciso di rilasciare un SDK monco: è impossibile scrivere un’applicazione nativa che comunichi con l’orologio (push). Per fare una cosa del genere c’è bisogno di una companion app che faccia polling
    3. la comunicazione tra companion app e orologio è completamente bacata. Come un prodotto che non è stato MAI TESTATO. Se l’orologio manda due messaggi consecutivi alla companion app, il primo arriva a destinazione, il secondo “si perde” nell’etere. Nel verso opposto le cose vanno un po’ meglio, ma se l’app muore nel 99% dei casi lo stack bluetooth è completamente fottuto (nessun’altra app può comunicare)
    4. il supporto è affidato alla community in cui la partecipazione aziendale ha il sapore di “vi piscio in testa e vi dico che piove” con totale mancanza di trasparenza
    5. il debugging è limitato a “printf(valore)” e l’IDE che è online online è incredibilmente primitivo

    Sembra il classico errore di Microsoft che entra in un mercato nuovo, offrendo meno feature della concorrenza e al tempo stesso ostentando l’arroganza di chi il mercato l’ha già monopolizzato, come quando fecero il funerale all’iPhone.

    Spero le cose cambino in fretta, io l’affarino che mi permette di sincronizzare passi e challenge con FitBit ce l’ho sempre pronto. Se mi girano torno a Garmin, che con l’ultimo device ha fatto un gran lavoro, o passo ad un Casio Android Wear. L’WSD-F20 sembrerebbe un ottimo dispositivo, costo allucinante a parte.

    -quack

  • Onoreficenze

    Una delle cose carine che rende più nerdoso lavorare per Google è la pagina personale con un elenco di onoreficenze (tradotto: badge). Ce ne sono tra le più disparate, legate ad esempio alle ultime cifre del numero delle proprie changelist, altre più frivole e così via.

    Ieri mi è capitato di cambiare, in un file di configurazione, la sequenza ‘vk’ con ‘vj’. Ho detto scherzosamente ai miei colleghi che, essendo la CL più piccola della mia carriera in Google, avrei meritato un badge. Loro altrettanto scherzosamente mi hanno risposto che c’è qualcosa di più piccolo di un singolo carattere… un bit!

    A quel punto ho controllato ed effettivamente la contiguità delle lettere ‘j’ e ‘k’ grazie ad una probabilità del 50% mi ha permesso di realizzare l’achievement. Di più: un badge già esiste ed è dedicato a chi sistema un baco grazie ad una modifica di un solo bit. Presto fatto ho aperto un baco di solito non necessario per modifiche di configurazione e mi son messo in attesa del badge che è arrivato. Eccolo qui in tutta la sua meravigliosa gloria:

    1bitbugfix

    -quack

  • Apple languages

    Da "iOS Programming: The Big Nerd Ranch Guide” terza edizione.

    In general, when you have a property that points to an instance of a class that has a mutable subclass (like NSString or NSArray), it is safer to make a copy of the object to point to rather than pointing to an existing object that could have other owners.

    Agli arguti lettori il compito di segnalare cosa c’è di grave nella frase di cui sopra. Suggerimento: ci si metta nei panni dello sviluppatore di una libreria.

    -quack

  • Keyboard upgrade

    Premessa: mi piacerebbe avere un altro slot PCI-express per aggiungere un’altra scheda grafica da dedicare ad una nuova macchina virtuale aggiuntiva, ma la mia scheda madre non ha più slot disponibili. Visto che il Cray-1 comincia a mostrare i segni dell’età, essendo nato circa sei anni fa e pensato per uno spazio molto più ristretto dell’ufficietto che ora ho a disposizione, avevo cominciato a guardarmi intorno e chiedermi se semplicemente fare l’upgrade della scheda madre (cambiando case e passando al raffreddamento liquido) o più semplicemente fare un upgrade più sostanzioso grazie ai nuovi processori Intel Xeon W.

    In attesa spasmodica che il primo Xeon W-2123 arrivi sul mercato e decidere se fare o no il super upgrade, ho cominciato a fare piccoli miglioramenti: un monitor da 27” IPS e – da oggi – una nuova tastiera ergonomica. Al momento il Cray-1 è controllato da una tastiera tradizionale ma retroilluminata, compromesso accettabile in quanto non ci passo molto tempo collegato via terminale.

    Sul lavoro è diverso.

    Fino a ieri, l’unica opzione era LA tastiera. Recentemente ho cambiato team e scrivania e il nuovo porta-tastiera è un po’ piccolo per la Ergo-4000. Ho deciso di capitolare e passare alla Ergo Sculpt:

    ErgoSculpt

    Sono solo poche ore e devo dire che, nonostante la corsa dei tasti sia più breve, la migliore posizione ergonomica dovuta alle dimensioni più contenute non mi dispiace affatto. Al mouse ergonomico però devo ancora abituarmici.

    Tre dei miei colleghi ci si trovano benissimo, cosa alquanto rara per qualcuno che passa da una tastiera tradizionale e ciò mi ha convinto a fare il salto.

    Questo post in fin dei conti è un test di battitura e posso dire che finora non ho nessun rammarico.

    -quack

  • Fitbit ionic: il buono, il brutto, il cattivo

    Ho recuperato un Fitbit Ionic, al momento il dispositivo supportato (*) di questo tipo più allineato alle mie esigenze di utente e utilizzatore di iPhone.IMG_2386 Piccola recensione nel solito e familiare formato BBC, buono/brutto/cattivo

    Buono

    • È il primo device Fitbit di questa categoria ad essere completamente impermeabile e subacqueo
    • È molto meno brutto di quanto sembri in foto
    • È più piccolo di quanto sembri in foto, cioè non è un televisore da 56”
    • La durata della batteria, per il mio utilizzo, è più che decente e va facilmente oltre i cinque giorni
    • È dotato di wi-fi e propriamente configurato questo è un piccolo plus
    • È dotato di storage on board e tecnicamente potrei correre musicalmente attorno al mio isolato senza bisogno di portarmi appresso il telefono; all’atto pratico inutile in quanto senza telefono non andrei da nessuna parte
    • Il display è luminoso e fatto molto bene
    • Qualità Fitbit, credo i migliori nel campo per accuratezza e rilevamento gesture: alzo il polso e il dispositivo si illumina
    • Il cinturino si sgancia facilmente quando serve; l’ho sostituito con un affare del genere

    Brutto

    • Costicchia
    • Niente smart-alarm, una figata di Pebble a cui mi ero facilmente abituato
    • Il cavetto di caricamento costringe a tenere il dispositivo in maniera angolata. Sarebbe stato meglio un supporto piatto

    Cattivo

    • SDK

    Sull’SDK, che non merita certo questo titolo, ci sarebbe parecchio da ridire. L’unico alibi che posso immaginare è che abbiano rilasciato un qualcosa di piccolo e ben curato in attesa di migliorare e perfezionare il resto. Però mi sarei immaginato che l’acquisto dell’IP di Pebble portasse più cartucce nel paniere degli sviluppatori. Siccome manca ancora un App Store e la competizione nel settore tra Apple e Android watch è serrata mi aspetto un’evoluzione molto rapida in tempi brevi. Al momento ad esempio non è possibile creare applicazioni native iOS che abbiano una controparte nell’orologio, lacuna che a me sembra molto grave; lo dimostra il fatto di essere una delle feature più richieste dai dev. Devo però osservare che gli sviluppatori Fitbit sembrano essere in ascolto e nel frattempo spero di aver trovato il dispositivo definitivo.

    -quack

    (*) Un’app Fitbit per Pebble sarebbe stato il massimo. Non capisco perché fare un passo avanti e tre indietro.

  • I perboli

    Il più grande repository Git del pianeta, con 3 milioni di file. Ovviamente se si esclude quello di Google, che ne ha 2 miliardi. Tre milioni vs. due miliardi, in tutto tre ordini di grandezza.

    Per non parlare della tecnologia avanzatissima di GVFS, che fa girare git status sulla grandissima code base di Windows in meno di 11 secondi! Wow.

    Effettivamente oggi si può dire che la Microsoft che ho lasciato 5 anni fa è definitivamente morta: allora sono stato quasi cazziato perché volevo usare il codice prodotto da TinyPG, dopo aver ovviamente ricevuto l’OK dall’avvocato del team, in Windows Performance Analyzer (*) tacciandomi di aver messo in pericolo la code-base di Windows.

    Oggi dopo SLiMe (fatto in casa), Visual Source Safe (fatto in casa), TFS (fatto in casa) e Source Depot (comprato via codice sorgente) è la volta della conversione a Git, come un San Paolo qualsiasi sulla via di Damasco.

    -quack

    (*) questo l’ho inventato io: flexible precision on float literals for equality operations is supported. Precision is based on the number of decimal digits that the query contains.

  • I wannacry

    La mia opinione per quanto possa fregare sull'accaduto.
    L'NSA (CIA, KGB, PdP) fa la raccolta differenziata di exploit.
    Gli exploit finiscono pubblicati su WikiLeaks, alla costante ricerca giornaliera del premio Pulitzer.
    Microsoft, come tutti gli altri vendor coinvolti, si fa in quattro per produrre una patch nel minor tempo possibile.
    Qualcuno con poco lavoro impacchetta uno di questi exploit in un ransomware pronto per essere distribuito ai quattro angoli del pianeta.
    L'attacco comincia ad andare a segno. Microsoft, nella persona di Brad Smith, rilascia un comunicato, da cui cito:

    The governments of the world should treat this attack as a wake-up call. They need to take a different approach and adhere in cyberspace to the same rules applied to weapons in the physical world.

    Caro Brad, fermati un istante (cit).
    Nel 2017, nonostante l'hotpatching sia una realtà tangibile, patchare un FOTTUTISSIMO SERVIZIO(*) CHE NON SERVE AD UNA CIPPA TRANNE AGLI ESALTATI COME ME CHE HANNO IN CASA UN SERVER SMB CHE GIRA SU LINUX CON PERSONALITÀ MULTIPLE, c'è bisogno di riavviare il PC?
    Nel 2017, nonostante l'ubiquità dell'Internet of Shit, testare le patch di Windows è ancora un terno a lotto?

    E la colpa è dei governi che fanno la raccolta differenziata? MAVAFFANCULO!
    -quack

    P.S. sono un esaltato ma non un co****ne, quindi ho provveduto già da qualche settimana a circumnavigare il problema diversamente. Materiale per un altro post.

    (*) un servizio, a differenza di una DLL come ad esempio GDI32 che è mappata in un milione di processi, davvero non richiede un reboot. Non nel duemiladiciassette.

  • User hostility

    Contesto: stavo leggendo una recensione di Windows 10S, che secondo alcuni dovrebbe essere il prodotto pensato per competere con Chrome OS nel settore education. Mi son soffermato sulle parole “this is clearly user hostile” in riferimento alla simpatica uscita di bloccare Edge/Bing come default.

    Ho cominciato a riflettere sul quando questo tipo di politica ha cominciato a prendere piede in azienda. Credo che le prime avvisaglie siano arrivate con Windows 8 e la miriade di bachi “by design”. Poi con Windows Mobile-Phone-Mobile e i suoi reboot che lo hanno praticamente accompagnato alla tomba. Alla decisione di XBOX di non supportare il mercato dell’usato e al successivo cambio di direzione.

    Credo che anche in questo caso l’inversione ad U sarà inevitabile.

    L’amaro in bocca rimane.

    -quack

  • Pebbling

    Non è un segreto che FitBit si sia data allo shopping motivata dalla paura di scomparire a mezzo di iWatch & Android Wear. Vector prima, Pebble dopo. Per mia umilissima opinione, stando a leggere le recenti defaillance, FitBit sta imboccando la strada sbagliata: il bello di questi dispositivi focalizzati sul fitness è che hanno bisogno di poca cura. Così mentre la concorrenza rilascia dispositivi resistenti all’acqua e con durata di batteria praticamente eterna (vedasi) FitBit continua – parrebbe – a focalizzarsi su un prodotto che, se rilasciato con GPS, molto probabilmente andrà a competere con i dispositivi caricami-ogni-sera della concorrenza. Ovviamente trattasi di speculazioni personali e mi farebbe piacere, tra qualche mese, scoprire di essermi sbagliato nel momento in cui FitBit rilascerà il dispositivo “perfetto”.

    Nel frattempo…

    Il mercato dei Pebble watch è praticamente crollato. Un Pebble Classic ricondizionato si trova per 25-30$ al supermercato più grande del mondo. Un Pebble 2 HR per circa 70$. Questi giocattoli hanno un vero e proprio SDK con tanto di market e, per quelli dotati di accelerometro, API adatte alla misurazione dei passi. App che fanno da pedometro ce ne sono già un tanto al Kg su github, compresa una che fa l’upload dei dati su un server a piacere. Mi sono detto perché no e ho pensato ad un piano in tre fasi per sostituire il demone che sincronizza i dati via polling tra Servizio A e Servizio B con una WebApp che lo faccia on demand.PebbleTime

    1. Fase 1: scrittura di un client abbastanza robusto e di un server basato su SqlCE con pochissime pretese; il vantaggio è di avere la possibilità di scaricare il file DB in locale e poter semplificare l’eventuale debugging. In questa fase ci sarà una WebAPI a fornire le statistiche giornaliere
    2. Fase 2 (opzionale): modificare il demone in modo da leggere i dati dalla mia WebAPP e testare la sincronizzazione
    3. Fase 3: effettuare la sincronizzazione direttamente sul server appena subito dopo l’upload dei dati

    Al momento ho quasi terminato la fase 1, il client dovrebbe essere pronto e abbastanza robusto e resiliente ai problemi occasionali dovuti alla connessione. Il server, ad occhio e croce, dovrebbe trattarsi di quattro o cinque SQL statement, quindi roba fattibile tra un caffé e un cornetto.

    Intanto ho osservato che il numero di passi conteggiati sul Pebble parrebbe essere addirittura più accurato di quelli del dispositivo corrente.

    Now, let the fun (hacking) begin. 

    -quack

    P.S. alla fin dei conti si tratta, comunque, di un dispositivo FitBit.

  • I miei guai con Windows 10

    Come da tradizione iniziata ormai un decennio fa dal nonno, la lista dei miei personalissimi “guai” con Windows 10, nonostante l’ultimo aggiornamento. Post in continua evoluzione.

    1. SMB/NetBios: non c’è verso di forzare Windows 10 a parlare SMB/NetBios sulla porta 139 (anziché la 445 di default), il che significa un po’ di casini con l’implementazione Linux di SMB. Si risolve disabilitando SMB2/SMB3 su Windows 10 oppure forzando sul server un protocollo antico (pericoloso?)
    2. ho eseguito l’aggiornamento al Creators Update a mano, lanciando l’eseguibile scaricabile dal sito di Microsoft. Persi un po’ di setting come lo sfondo del desktop, alcune impostazioni di rete, browser preferito, ecc. Si può fare l’upgrade passo passo da Windows 3.1 a Windows 7 senza perdere molte impostazioni, ma da Windows 10.1 a Windows 10.2 sembrerebbe una tragedia.

    to be continued.

  • Scacciapensieri

    Operazione nostalgia: negli anni ‘80, l’intrattenimento ludico portatile era affidato agli scacciapensieri, video-giochi con schermo LCD con funzionalità di orologio e sveglia, Alcuni modelli erano alquanto introvabili in Italia e un mio amico aveva stabilito un piccolissimo canale di importazione parallelo dalla Svizzera per i parenti più stretti.

    Il suo preferito personale era il mitico Donkey Kong II a doppio schermo, originale Nintendo e quindi con giocabilità e dettagli incredibili:

    Donkey Kong II

    Alcuni produttori terzi si erano spinti anche oltre il doppio schermo, come nel caso di Diamond Hunt:

    Diamond Hunt

    Erano però gli anni a ridosso della vittoria ai mondiali dell’82 e non potevano mancare schacciapensieri dedicati allo sport nazionale, come Gakken Soccer, distribuito in Italia da Duracell e reperibile anche in un paese di 40mila anime.

    Gakken-SoccerLCDDiff

    Il gioco è abbastanza semplice, si vince segnando 100 goal e non prendendone 3 altrimenti è gameover (gara di ritorno di un’andata piuttosto bizzarra). L’AI è piuttosto inesistente ma per quei tempi un vero e proprio miracolo e seppur in assenza di guardalinee l’implementazione del fuori-gioco è estremante accurata. Si segna facendo correre la palla lateralmente tramite passaggio, perché il portiere è perfettamente allineato con il giocatore che porta palla ed evitando il fuorigioco. La modalità più difficile è resa tale rendendo il comportamento del compagno di squadra senza possesso palla aleatorio e imprevedibile.

    Oggigiorno disponibile agli stessi prezzi originali aggiustati di inflazione, sul distributore ufficiale di nostalgia: ebay.

    -quack

  • Nirvana 2017

    NIRVANA

    7 Aprile 2017, raggiunto il Nirvana della virtualizzazione spinta. Avessi immaginato gli incredibili benefici di passare da BIOS a UEFI, l’avrei fatto il prima possibile: il supporto in KVM/libvirt/QEMU/virt-manager è novità recente, ma non ha mai ispirato tanta fiducia.

    Ebbene sì, il Cray-1 è rinato al punto che ho messo da parte l’idea di ricostruire il PC con ferraglia più recente, solo magari per avere accesso ad una porta PCI-e x16 in più. Grazie a UEFI sono riuscito a recuperare l’utilizzo della scheda grafica integrata nello Xeon, che in modalità BIOS grazie ai bachi di Intel era inaccessibile. Mi è anche venuto il pallino di provare a vedere lo stato delle cose dal punto di vista vhackintosh: il proliferare di guide su come fare a creare una macchina virtuale KVM con tanto di hardware assegnato mi ha fatto ben sperare. Il fiorire di booloader basati non più su BIOS ma su EFI è incredibilmente incoraggiante. C’è persino qualcuno che sta implementando il parsing di HFS+ in TianoCore, il firmware UEFI open source utilizzato per far girare questo tipo di macchine virtuali.

    Qualche piccolo ostacolo: l’ultimo aggiornamento di MacOS è incompatibile con l’implementazione corrente del pezzo di software virtuale che emula il chippettino proprietario di Apple, ma c’è già una patch che coinvolge un singolo file in tutto QEMU. Come si fa a non provare?

    Armato di tantissima pazienza ho persino imparato un paio di cose su Ubuntu/Linux: ad esempio una volta configurato il file del repository è possibile scaricare il sorgente di qualsiasi app di sistema con un paio di comandi. Ricompilare, una volta ravanata la configurazione dei flag di compilazione, è stato un gioco da ragazzi. E se poi si volesse prevenire l’aggiornamento dell’app patchata ad hoc, c’è sempre il pinning.

    La grana successiva: Apple non riconosce i controller USB dei chipset intel onnipresenti. È bastato comprare un controller PCI-e dedicato con supporto OSX nativo basato sui chip Fresco Logic per risolverla. L’ultimo corpo estraneo nella configurazione della macchina virtuale è rimasto il boot-loader. Se si volesse fare a meno di virt-manager/libvirt e accontentarsi di lanciare la macchina virtuale da riga di comando, la soluzione persino c’è. Last but not least, le versioni di Kernel successive alla 4.7 (e per fortuna per Ubuntu 16.04 LTS è disponibile la 4.8), rendono inutili un altro piccolo pezzo di configurazione da fare a mano. Insomma in tre parole: si può fare. Fine dell’esperimento.

    Cos’è quindi il Nirvana? Sapere che il Cray-1 a livello SW non è più un accrocchio di patch e ricami per supportare questo e quell’altro (Solaris, il passthrough della scheda grafica con supporto al boot, ZFS, SMB, ecc. ecc.), ma qualcosa che funziona sempre più completamente out-of-the-box, oggi giorno una rarità. Peccato solo aver dovuto abbandonare Windows 7: i suoi ultimi bit sono stati sparsi al vento un paio di ore fa.

    -quack

    P.S. KVM/libvirt/qemu è una figata.

  • Hello Windows 10

    È stato un weekend lungo, in tutti i sensi: venerdì giornata premio libera e ho pensato di spendere “qualche ora” facendo l’upgrade della scheda grafica sul Cray-1. La nuova supporterebbe UEFI nativamente e mi son chiesto se fosse possibile semplificare ulteriormente le cose nel dipartimento configurazioni complicate.

    La parte HW è andata liscia come l’olio, quasi surreale. Assegnata la scheda grafica alla workstation è partito quasi tutto tranne la parte di pre-boot (BIOS e splash screen) tornata a funzionare male come ai tempi di Xen. Mi son preposto di passare ad una configurazione basata su UEFI e leggendo un po’ di guide qua e là sembrava una passeggiata. Ho convertito lo schema di partizione da MBR a GPT, fatto i giusti incantesimi, osservato Windows 7 fare il boot: e dopo lo splash screen resettarsi.

    Mi è sembrato il caso di reinstallare l’OS daccapo, usando persino una guida messa insieme su queste pagine per generare un’immagine ISO bootabile con UEFI. Ma non sono riuscito neanche ad arrivare alla fase di inizio installazione. Freeze e reboot a manetta.

    Ho deciso di tentare l’esperienza UEFI con Windows 10, che per fortuna si può provare senza dover avere a disposizione una licenza (ennesima inversione ad U rispetto a Windows 8). L’installazione è stata completamente indolore, nessun magheggio strano per configurare la scheda grafica e la procedura è stata portata a termine “in locale”, cosa praticamente infattibile con Windows 7. Una feature che, purtroppo, per me vale la pena dell’upgrade.

    Finita l’installazione, son cominciati i problemi. Il più antipatico è stato l’accesso alle share SAMBA. A quanto pare l’handshake con il server SMB, se si lascia aperta solo la porta 139, non viene eseguito correttamente. Aprire la porta 445 risolve il problema ma manda all’aria tutta la configurazione fatta e spiegata in questa pagina.

    Alla fine son riuscito a trovare una pezza: disabilitare SMBv2 su Windows 10 oppure forzare un protocollo anzianotto direttamente sul server attraverso la linea di configurazione in smb.conf:

    server max protocol = NT1

    Problema numero due, installare Windows Live Writer (non più supportato e quindi nisba) e rimpiazzato con la versione “open”. Dovrò pertanto sistemare un paio di cose.

    Spero di non pentirmi di questa scelta. Per cautela ho installato Windows 10 su un disco fisico diverso con l’intenzione di preservare il vecchio OS in caso di emergenza.

    Nota di disgusto per la schermata di boot identica a quella monocolore/insapore di Windows 8. Tra tutte le versioni che ho installato in vita mia (praticamente tutte da Windows 3.1 in poi) decisamente la più brutta in assoluto.

    E ora auguratemi buona fortuna.

    -quack

  • NAS Chronicles Extended

    Ad Agosto era cominciata una brutta tribolazione.

    Uno dei dischi continuava a dare errore.

    Ho sostituito tutti i dischi cogliendo l’occasione di passare da un 4x3 ad un 4x4.
    E niente. L’errore era ancora lì. Un disco a caso del pool, resilvering, yadda-yadda-yadda.

    Brividi.

    Ho sostituito il controller, cogliendo l’occasione per passare da un PCI ad un PCIe e guadagnare in velocità.

    L’errore è ancora lì, seppur adesso uno scrub mi richiede 10 ore anziché due giorni.

    Ho sostituito i quattro cavetti SATA.

    Niente.

    A questo punto l’ipotesi più probabile mi sembrava un problema software, possibile visto il passaggio da Solaris a Ubuntu come Host ZFS. Brividi ancora peggiori. Ipotesi però smentita dall’osservazione che in presenza di errori anche il reboot dava problemi.

    Ho pensato che uno dei nuovi HD avesse problemi. Sudori freddi.

    E invece… ho scambiato i cavetti di alimentazione. Gli errori son passati dall’HD del pool soprannominato RICKY a quello accanto.

    Sostituisco tutti i cavetti di alimentazione. Son passate 3 settimane e fatti i dovuti scongiuri, più nessun problema.

    Ma che diavolo, alla fine è sempre colpa del cavo e sempre quello meno sospetto.

    -quack

  • Nesting up

    È notizia recente che Nest abbia deciso di aprire le vendite anche in Italia: il caso ha voluto che, grazie alle solite promozioni natalizie ed un incentivo dell’equivalente locale Enel, abbia ordinato un termostato proprio la settimana scorsa, che ho poi prontamente installato. Versione 2 ricondizionata, basta e avanza per le esigenze di casa. Ovviamente solo dopo aver controllato la compatibilità, che per il modello 2 e seguenti è praticamente totale, con l’impianto di casa. Ero anche molto seccato del fatto che non sono mai riuscito a far funzionare correttamente quello pre-esistente: nessun modo per fare un override tombale della temperatura che, passato un determinato intervallo, torna ad essere quella decisa a caso dal produttore del vecchio termostato.

    Controllare la compatibilità è stato abbastanza facile, smontato il frontalino del vecchio termostato con due viti mi son ritrovato di fronte a questo:

    IMG_6218

    Praticamente tre fili: neutro, ventola e riscaldamento. Cosa buffa è che la parte più difficile di tutta l’operazione, che avrebbe potuto fare anche mio nonno, è risultata la carpenteria: non è stato proprio semplice attaccare la base di supporto al muro di cartongesso tipicamente americano ma ce l’ho fatta in pochi minuti e senza bisogno di tool elettrici.

    È seguita una brevissima fase di configurazione, creazione di un account e adesso è possibile controllare la temperatura di casa da remoto. Può sembrare un eccesso ma in realtà la cosa ha risvolti molto pratici. In più è il termostato che impara le nostre abitudini e non io che imparo come usare il termostato e ciò mi sembra la direzione giusta da intraprendere.

    Morale della favola: una operazione che avrei dovuto e voluto fare tempo fa, ma il backlog degli aggiusti casalinghi era abbastanza lungo. L’offerta però a questo giro non si poteva davvero rifiutare:

    IMG_6243

    -quack

  • Comprare un windows laptop nel 2017

    La formichina mi ha chiesto di fare l’upgrade del suo laptop, un Celeron di cinque e più anni fa che a far girare Chrome proprio non je la fa più. Neanche il formattone-installo-solo-chrome ha ridato indietro abbastanza cicli CPU per rendere la macchina sufficientemente scattante.

    Ho cercato quindi un laptop altrettanto decente e il primo tentativo è stato un Inspiron 5000 da 15”. Devo dire che negli ultimi 5-6 anni questa classe di laptop è cambiata tantissimo ed è tipico trovarci una tastiera da 5 ottave di serie. Il mostro è arrivato con un HD da 5400RPM previa intenzione di sostituirlo con un SSD a riposo. L’ho fatto partire e dal momento della pressione del power buttòn all’arrivo col desktop usabile (Windows 7) sono passati 21 minuti e qualche secondo! Morale: gli HD meccanici da 5400RPM dovrebbero essere dichiarati illegali come dischi di sistema. Ci ho montato l’SSD, reinstallato Windows 7 via USB generata dal tool incluso e niente… il trackpad è risultato praticamente inusabile; dopo l’aggiornamento del BIOS/driver le cose sono migliorate parecchio ma sempre inusabile è rimasto e il laptop ha preso la via del ritorno. A corredo c’era un DVD per l’installazione di Windows 10 che non ho neanche aperto.

    Ho ordinato e ricevuto quindi un Latitude E5270 in super offerta. L’hardware appartiene ad una categoria superiore a quello dell’Inspiron essendo mirato all’utenza professionale. 12.5” invece di 15” per soli 10$ in più. Il software, Windows 10 preinstallato, invece no. Sostituito l’HD meccanico con un SSD adatto da 7mm, sono cominciate le difficoltà. Fosse stato destinato a me forse Windows 10 l’avrei pure riprovato, ma nel caso specifico Windows 7 è praticamente una necessità. Il problema è installarcelo: il portatile ha dei nuovi chipset per l’USB3 non riconosciuti da Windows 7. Questo dopo l’ovvio smanettamento nel BIOS per disabilitare il secure boot (ricordo quando i folli ci dicevano che non sarebbe stato possibile) e reimpostazione di qualche setting. Tutto normale e pacifico ma mi chiedo ad esempio perché la compatibilità all’indietro con i driver per USB2 non è stata nemmeno considerata (bad Intel!) o perché Dell non abbia deciso di aggiungere un piccolo controller USB2 aggiuntivo ad uopo (bad Dell). Insomma, per installare Windows bisogna aggiungere i driver di Intel all’immagine di installazione, operazione per la quale è disponibile un tool di Intel scritto da qualche stagista in una tabaccheria: alla fine ho fatto a mano e l’installazione è partita. Devo però aver sbagliato qualcosa visto che i driver USB3 non sono stati installati sul sistema di destinazione: ergo niente accesso alla USB, rete wired o wireless. Un vero PC a prova di hacker! Ovviamente potrei rismontare l’HD (sono solo dieci viti), attaccarlo ad un altro PC e copiarvici i driver offline, ma non riesco a trovare il mio adattatore SATA-USB. Al momento il laptop è perciò in limbo mentre mi appresto a tentare la via distro-live su USB seguita da copia offline.

    Quel che è certo è che la quantità di tempo investita nel downgrade è davvero notevole se si assomma un tentativo abbastanza naif di tirare su un server PXE, materia abbastanza interessante da dover essere necessariamente approfondita. E se Sparta piange, Atene non è che se la stia spassando.

    Probabilmente questo sarà l’ultimo e definitivo PC acquistato; PC inteso come discendente da quell’IBM XT rilasciato al mercato 30 e passa anni fa, fatto salvo il ciclo di refresh per il Cray-1 che intravedo all’orizzonte. Traghetterà la formichina fino alla morte naturale del laptop stimata a qualche anno oltre la fine del supporto di Windows 7; considerando che ci gira un Core i5 e non un Celeron qualsiasi. Quasi sicuramente sarà sostituito da qualche forma di tablet/chromebook + servizio (a là Office365) che oggi ancora – purtroppo – non esiste. O chissà.

    -quack

    UPDATE: sono riuscito a piazzare i driver tramite Ubuntu e da li ho fatto il bootstrap. Dopo aver installato tutti i driver dal sito Dell (ben fatto!) Windows Update non ne voleva sapere, neanche dopo aver installato a mano il roll-up.
    Riformatto, installo i driver wi-fi e Windows Update è ancora incragnato.
    Scopro che il setup di tali driver sembra corrompere il DB di WU. Allora scompatto tutto e mi limito ad installare tramite Device Manager e ora sta scaricando circa un GB di updates… che sofferenza.

    UPDATE 2: mentre facevo totalmente altro, mi son imbattuto in questo link: Windows 7 Fast Update. Davvero prezioso.

  • Virtualismi avanzati di ordine superiore

    Dall’ultima volta che ho messo mani al Cray-1 un sacco di novità positive:

    • l’ultima LTS supporta ZFS nativamente
    • il boot della Workstation pseudo-virtuale spara direttamente sul monitor ergo è possibile guardare anche le fasi antecedenti all’avvio di sistema; un po’ arzigogolato ma funziona
    • la nuova versione di libvirt supporta molto bene il boot di OSX

    Ci sono solo un paio di fastidi:

    • se il boot della Workstation non è completo con tanto di caricamento dei driver da parte del guest OS (Windows), la scheda grafica si inceppa in uno stato di limbo che previene l’avvio della macchina virtuale fino al riavvio completo dell’host
    • il bios della macchina virtuale (Seabios) non supporta l’emulazione PS/2 della tastiera USB. Se c’è bisogno di pigiare qualche tasto, ad esempio premere F8 prima dell’avvio di Windows, la tastiera collegata all’hub USB assegnato non funziona

    Entrambi i problemi però sono risolvibili con un’unica operazione: sostituire il BIOS tradizionale della macchina virtuale, che parla alle schede grafiche secondo un protocollo inventato 30 anni fa, con uno basato su UEFI, praticamente il futuro.

    Affinché le fasi di pre-boot siano visibili sul monitor con questa modalità, la scheda grafica necessita del supporto UEFI. Ho provato ad aggiornare il BIOS della mia vetusta Quadro 2000 con una versione che aggiunge tale supporto ma non sono stato in grado di osservare le fasi di pre-boot. Presumo che una scheda di nuova generazione come la K2200 faccia tutto ciò: me ne sono procurata una e presto sperimenterò direttamente questo tipo di configurazione.

    Nel frattempo ho giochicchiato un po’ con il boot di OSX. Un po’ di cose sono cambiate con El Capitan a rendere il tutto non proprio liscio come l’olio. Ad esempio i nuovi driver USB di Apple si fidano ciecamente della configurazione del DSDT e se questo non è proprio allineato alla configurazione della macchina virtuale, l’USB passthrough non funziona. Per fortuna ci sono un paio di soluzioni per questo specifico problema e qualche ora fa ho digitato i primi tasti attraverso un adattatore PCI-express –> USB 3.0.

    Adesso mi chiedo:

    • è possibile creare una macchina virtuale UEFI e fare il boot di Windows 7? Windows 7 supporta UEFI, ma bisogna magheggiare un po’
    • è possibile creare una tale macchina virtuale capace di fare il dual boot di Windows 7 e OSX?

    Credo di sì. Roba da virtualismi avanzati di ordine superiore, per l’appunto.

    -quack

    P.S. l’interesse per OSX virtualizzato i.e. vacchintosh, ora che possiedo un MacBook, è puramente accademico.

  • Live Services

    Diversi mesi fa mi è stato assegnato un nuovo task: spostare due campi, dei timestamp, da un servizio di storage ad un altro, con API diverse e allineamenti astrali incompatibili. Un lavoro descrivibile in maniera semplice, come sostituire una ruota forata con quella di scorta ma con qualche piccola complicazione:

    • le ruote forate sono due
    • la macchina è in corsa
    • le ruote di scorta vanno testate
    • il motore ha preso fuoco
    • le ruote forate si autodistruggeranno in meno di un anno

    Piccola vittoria giornaliera, mi hanno permesso di sostituire una ruota di scorta per volta, non senza aver paventato il rischio del danneggiamento del telaio se la seconda ruota di scorta fosse riscontrata difettosa.

    Come si raggiunge l’obiettivo? Progettando tutto nei dettagli, mantenendo una calma Zen e accontentarsi di un passo alla volta. Fatti i calcoli dovrei poter dichiarare vittoria a Marzo 2017 e celebrare con una torta spaziale.

    -quack

    P.S. e non è neanche l’unico task a cui sto lavorando. Mi sto divertendo un mondo.