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.

Pubblicato sabato 8 aprile 2017 alle 6:44 AM - 5 commenti so far
Archiviato in: Software, Virtualizzazione

Troubleshooting Sunday

Data la mia venerabile età, ho la necessità di “prendere appunti per il futuro” riguardo un paio di faccende che hanno a che vedere l’ingresso dell’Iconia W510 nella paperopoli digitale.

  1. il servizio CIFS di Solaris è case sensitive anche per gli user name. Ergo tentare di loggarsi come Pippo anziché pippo porterà a risposte di tipo access denied. Per la prima volta ho usato la maiuscola nello username e spero quindi anche per l’ultima. Per sicurezza ho zappato e ricreato l’utente.
  2. era da tempo che non riuscivo ad installare driver aggiuntivi per la mia stampante (ovvero x86 sul server x64). Mi beccavo l’errore “driver not found”. L’arcano è spiegato in questo post. In breve, siccome i driver al gusto x64 sono arrivati via Windows Update, il nome della stampante non corrispondeva al 100% con il nome nel file .INF (ovvero “Canon Inkjet MP610 series” vs. “Canon MP610 series Printer”). Ho dovuto aggiungerci “Inkjet” e rimuovere “Printer” et voilà driver riconosciuti e propagati sull’Iconia

Mentre per la seconda me la son cavata con un po’ Kuggle (la famosa combinazione K-lo + Google), per la prima son dovuto scendere a patti con wireshark e augurarmi di non aver avuto traveggole. Or bene, mi sento così positivo da voler tentare di investigare anche su un messaggio di orrore in Solaris che suona qualcosa come “IPC only”. Non ne uscirò vivo, so già.

-quack

Pubblicato lunedì 8 luglio 2013 alle 7:55 AM - 1 commento so far
Archiviato in: Microsoft, Software

Bit-rot

Bit rot, o meglio Software rot, è secondo wikipedia un lento e aggiungo inesorabile deterioramento delle performance di un sistema software con l’avanzare del tempo. Compri un PC che emette fuoco e fiamme e dopo qualche mese è più lento di una tartaruga.

Il sofware rot è appunto inesorabile.

Il software rot affligge tutti i sistemi (già me li sento i “fortunati” possessori di Mac o altre piattaforme alternative di moda auto proclamarsi immuni: sorry non è così).

E così un mio PC windows, quando fa shutdown, mi fa comparire sempre la schermata in cui si dice che alcuni processi non vogliono saperne di morire.

Un altro PC va in BSOD hardware ogni due giorni.

Il mediacenter, a cui ho disabilitato persino gli update visto com’è protetto all’interno della rete casalinga e all’uso di cui se ne fa, ogni tanto esibisce problemi strani con Netflix (qui sto barando, in quanto Netflix è un prodotto che gira più sui server che sui client; ma non sto barando neanche tanto in quanto anche i server sono software e quindi affetti da bit rot).

Il bit rot è figlio del peccato originale del software: tutto il software viene rilasciato in maniera consapevolmente bacata. La madre del bit rot è l’impossibilità di testare gli aggiornamenti successivi come si può fare con i cosidetti golden bits, fotografia di un istante lungo quanto la durata di una build.

Nel momento in cui si aggiunge qualcosa a quei dannati bits si perde la speranza di avere un’idea per se già estremamente vaga della stabilità del sistema.

Certo è che oggi giorno, tra una sandbox quà e una nuova feature là (Windows PC Refresh), la vita è da un lato un po’ più semplice. Ma il tutto è costantemente vanificato dalla dipendenza tra bit rot e complessità, da sempre in crescita in maniera esponenziale: ai tempi di MS-DOS c’erano al più un paio di thread (imbrogliando di molto), oggi l’unica app di sistema mono-thread è il notepad.

Triste la vita fino alla prossima RTM.

-quack

Pubblicato venerdì 14 giugno 2013 alle 8:22 PM - 17 commenti so far
Archiviato in: Cazzate, Software

DSL

(DSL inteso come Domain Specific Language)

Quello che fa l’azienda per cui lavoro oggi, e per otto mesi la mia principale mansione lavorativa, è un po’ difficile da spiegare. Per fortuna ci sono diversi testi sull’argomento. Ne elenco qualcuno in ordine di apparizione temporale.

Generative Programming, conosciuto come il black and white book. Nel libro, pubblicato quasi tredici anni orsono, c’è un capitolo dedicato all’Intentional Programming quando questa tecnologia faceva ancora capo a MS Research. Vi si parla anche di Lutz Roeder, autore di Reflector.Net, che allora era un elemento del team.

Domain-Specific Languages, di Martin Fowler. In questo libro c’è un capitolo dedicato ad una versione precedente dell’IDW, Intentional Domain Workbench.

L’ultimo e più aggiornato, oltre al fatto ampiamente apprezzabile di essere disponibile come PDF donationware, è DSL Engineering. Il PDF è scaricabile a questa pagina. L’ultimo capitolo è dedicato all’IDW con un esempio molto pratico di creazione di un DSL da zero. Ottima lettura!

-quack

Pubblicato giovedì 21 febbraio 2013 alle 8:15 PM - 4 commenti so far
Archiviato in: Software

Al lupo

Altre due parole sulla questione secure boot.

Riflettevo alla periodicità di certi allarmismi:

C’è stato allarmismo quando è stato imposto l’utilizzo di driver firmati per Windows x64.

C’è stato tantissimo allarmismo quando Windows Vista ha aggiunto il supporto al TPM.

Oggi c’è tantissimo allarmismo per l’introduzione del supporto, in alcuni casi obbligatorio, del secure boot.lupooooo

In realtà da sempre l’introduzione di una nuova piattaforma (x64 allora, ARM oggi) è sempre occasione per ripensare a cosa si poteva fare meglio. I driver firmati sono un passo avanti a tanta robaccia che prima installava pezzi di codice in kernel mode. Ma il salto è stato possibile solo con il cambio di piattaforma in virtù delle qualità di backward compatibility dell’ecosistema Windows, qualità più uniche che rare.

Anche allora si gridava all’anatema: ma oggi, la mancanza di driver non firmati per WinX64 la sente davvero qualcuno?

-quack

Pubblicato lunedì 30 gennaio 2012 alle 8:01 AM - 21 commenti so far
Archiviato in: Software, Trusted Computing