A Ovest Di Paperino

Welcome to the dark side.

  • Xen recipes #2: creazione di macchine virtuali

    Una delle migliori feature di Xen, secondo mio modesto parere, è il supporto di due tipi di virtualizzazione. Quella più tradizionale, vera e propria emulazione di una macchina fisica, e quella che viene definita para-virtualizzazione.

    La para-virtualizzazione è una variante della virtualizzazione in cui il sistema operativo host espone delle periferiche virtuali e non emulate al sistema operativo guest, il cui kernel deve essere scritto in modo appropriato per gestire queste periferiche (in parole povere il kernel para-virtualizzato sa di avere a che fare ad esempio con una VCPU anziché un processore vero). Questo kernel modificato è disponibile in quasi tutte le distro Linux ed in generale con sistemi operativi Unix based (Solaris, BSD, etc.). La para-virtualizzazione pertanto non può essere usata per far girare dei guest Windows.

    Una macchina virtuale in XEN non è altro che un file di configurazione che elenca le proprietà e le periferiche emulate/passate nella macchina virtuale. Il template da usare, per

    device_model = '/usr/lib/xen/bin/qemu-dm'
    kernel = '/usr/lib/xen/boot/hvmloader'
    builder = 'hvm'
    memory = 4096
    name = 'vm_name'
    vif = [
            'type=ioemu, bridge=br0, mac=00:0b:27:1f:ed:75, model=e1000'
          ]
    disk = [
            'phy:/dev/disk/by-id/scsi-SATA_SAMSUNG_HM640,ioemu:hda,w',
            'file:/xen/whs/install.iso,ioemu:hdc:cdrom,r'
    ]
    pci = [
            '00:1d.0',  #front usb panel
    ]
    boot = 'd'
    vnc = 1
    vncdisplay = 1
    usb = 1
    usbdevice = 'tablet'
    vcpus = 4
    localtime = 1
    

    Le righe evidenziate sono quelle da modificare e che contengono il succo della configurazione della macchina virtuale.

    Memory: quantità di RAM assegnata in MB
    Name: nome della VM
    Vif: contiene l’elenco delle schede di rete virtuali; è fondamentale settare correttamente il nome del bridge e creare un mac address ad hoc; se non si specifica il mac address ne verrà assegnato uno a caso diverso ad ogni avvio della macchina virtuale (Windows usa il mac address per l’attivazione)
    Disk: l’elenco dei dischi fisici/virtuali da assegnare.
    Pci: elenco delle schede PCI visibili al guest (richiede che il sistema supporti VT-d/IOMMU e che la scheda PCI sia sganciata dal sistema operativo host)
    Vncdisplay: è la porta vnc da usare. 1 significa porta 5901, 2 significa 5902, ecc.
    Vcpu: numero di CPU virtuali da assegnare

    Prima di far partire la macchina virtuale bisogna però sganciare dal sistema host le periferiche PCI associate al guest. Per far ciò bisogna conoscere sia il PNP-id della periferica, sia l’indirizzo PCI associato.

    Il secondo si ottiene usando il comando lspci che sul mio sistema sputa qualcosa del genere:

    […]
    00:1d.0 USB Controller: Intel Series Chipset Family USB Enhanced
    Host Controller #1
    01:00.0 VGA compatible controller: [FirePro V5700]
    01:00.1 Audio device: ATI Technologies Inc RV710/730
    […]

    Per ottenere il PNP-id va usato la variante:

    lspci -n

    che restituisce nel caso in esempio:

    00:1d.0 0c03: 8086:1c26 (rev 04)
    01:00.0 0300: 1002:949e
    01:00.1 0403: 1002:aa38

    A questo punto si ha a disposizione sia il PCI-id sia il PNP-Id e si può chiedere all’host di sganciare la periferica con questa serie di comandi prontamente trascritta in un file .sh:

    echo "8086 1c26" >/sys/bus/pci/drivers/pci-stub/new_id
    echo "0000:00:1d.0" >/sys/bus/pci/devices/0000:00:1d.0/driver/unbind
    echo "0000:00:1d.0" >/sys/bus/pci/drivers/pci-stub/bind

    La macchina virtuale poi può essere fatta partire via terminale sudato con:

    xm create nome-file-configurazione

    Una volta partita ci si può collegare usando un qualsiasi client VNC usando l’indirizzo IP della macchina host e la porta specificata nel file di configurazione. Nel caso in esempio poi tutte le periferiche USB collegate al controller PCI verranno viste nativamente dal sistema operativo guest (nel mio caso una stampante e una scheda audio USB).

    Il passthru della scheda grafica richiede qualche piccola operazione dal lato client: vanno dapprima installati i driver della scheda grafica “fisica” assegnata, che verrà prontamente rilevata e riconosciuta dal sistema operativo guest, e in seguito va disabilitata la scheda grafica emulata tramite device manager. A causa di qualche problema di instabilità, il file di configurazione di Windows 7 contiene queste ulteriori due righe:

    timer_mode = 2
    viridian = 1

    Last but not least l’uso di driver para-virtualizzati (firmati) disponibili a questa pagina può portare a qualche interessante miglioramento in termini di prestazioni delle periferiche ‘emulate’ (scheda di rete e hard drive).

    Sulla necessità della seconda non sono però molto sicuro. E questo è quanto è necessario per ottenere ‘o miracol di una workstation completamente virtualizzata

    Il prossimo appuntamento sarà dedicato alla para-virtualizzazione di Solaris.

    -quack

  • Economia applicata uan-o-uan

    Cosa si può fare per trasformare il traffico su un ponte galleggiante di 640 metri da così:

    bridgetraffic

    a così:

    520vc00241?

    Basta introdurre un pedaggio dal costo che va di un minimo di 1.60$ ad un massimo di 5.00$ per singola traversata (0.78 centesimi al metro, probabilmente tra i più cari del mondo). Il tutto per finanziare il nuovo progetto di allargamento dello stesso ponte. Il sistema di pedaggio automatico, tra i più avanzati al mondo, ha richiesto diverse iterazioni e rinvii ma è stato finalmente “battezzato” lo scorso 29 dicembre e compiva ieri il suo primo mese di vita.

    La leggenda narra di colleghi in preda alla sindrome di astinenza da traffico che dichiarano di attraversare il ponte ad oltre 100mph (per intenderci altra leggenda narra che colti in fragrante oltre i 90mph ci sia l’arresto).

    -quack

    P.S. sono totalmente favorevole al sistema di tassazione “a consumo”, solo che per ovvie ragioni le tariffe parrebbero elevate. O si lascia intervenire la legge della domanda e dell’offerta oppure (molto più probabile) si introduce un pedaggio sul ponte cugino e parallelo.

  • 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

  • Xen recipes #1: HW e software di base

    Ingredienti fondamentali per riprodurre ‘o miracolo.

    1. Scheda madre Intel che supporti VT-d. Ci sono altri produttori che supportano VT-d nei loro modelli ma il tutto è abbastanza fumoso. La mia scelta è andata per una DQ67OW
    2. Processore compatibile VT-d. Ho scelto lo XEON E3-1260L per via della scheda grafica integrata, delle prestazioni (4 core, 8 thread) e dei consumi (45W TDP).
    3. Una sheda grafica supportata, la mia scelta è andata per una FirePro V5700 tra l’altro poco costosa a causa del crash da bitcoin mining (vedasi).

    Il bios della scheda madre è alquanto antipatico ed oltre a quello non sono riuscito a configurare l’opzione di default di GRUB: cioé sono riuscito a impostarla, ma il bootloader semplicemente la ignora, per cui ho scelto la via più semplice. Installare GRUB su una chiavetta USB e fare il boot da quella.

    Dei tre componenti HW quello più delicato sembra essere la scheda grafica: la percentuale di successo con schede grafiche NVidia o non FirePro è decisamente bassa mentre la V5700 è indicata tra le schede testate (e spero supportate).

    UPDATE: ho testato e verificato il funzionamento della ATI 5670 e ATI 5450. Quest’ultima è diventata la scheda grafica che sto usando in quanto silenziosissima per via del raffreddamento passivo e estremamente conveniente (prezzo/prestazioni)

    Dopo di che ho installato Fedora 16 in versione x64.
    Xen si installa via terminale sudato con

    yum install xen

    Fin qui la parte facile, descritta anche in questa pagina Wiki.

    Più complicato è stato creare il network bridge necessario per la connettività dei vari sistemi virtualizzati. Le istruzioni della pagina Wiki di cui sopra a tal riguardo sono incomplete. Nella directory /etc/sysconfig/network-scripts vanno creati due file.

    File ifcfg-br0:

    DEVICE=br0
    TYPE=Bridge
    BOOTPROTO=dhcp
    ONBOOT=yes
    DELAY=0
    NM_CONTROLLED=NO

    File ifcfg-em1:

    DEVICE=em1
    TYPE=Ethernet
    ONBOOT=yes
    BOOTPROTO=dhcp
    NM_CONTROLLED=NO
    BRIDGE=br0

    Per chi vuole spolparsi il manuale, la documentazione riguardo questi interface configuration files è linkata qui. Il nome del bridge (nel caso di cui sopra è br0) è importante per la configurazione delle macchine (para)virtuali. Dopo di che va disabilitato il servizio NetworkManager (che non supporta i bridge) e abilitato il servizio network al suo posto:

    systemctl disable NetworkManager.service
    systemctl stop NetworkManager.service
    systemctl enable network.service
    systemctl start network.service

    Come ultima fase del setup iniziale ho creato un folder /xen e ho abilitato la condivisione dei file via SMB usando le istruzioni che ho trovato qui.

    Ho creato una nuova installazione di grub su chiavetta USB usando:

    grub2-install --force --no-floppy --root-directory=/mnt/USB /dev/sdx

    laddove /mnt/USB è la directory su cui è montata la chiavetta USB e /dev/sdx è il file associato al dispositivo che si ottiene usando il comando lsscsi. Ho poi copiato e alleggerito il file di configurazione grub da /boot/grub2/grub.cfg a /mnt/USB/boot/grub2/grub.cfg.

    UPDATE:

    Ho reinstallato Fedora, non per fun ma in quanto ho notato qualche freeze di troppo possibilmente imputabile all’HD di sistema, e ho messo alla prova quanto scritto. Effettivamente mancano un po’ di passi di cui non avevo preso nota in precedenza.

    1. FONDAMENTALE: disabilitare SeLinux editando il file /etc/sysconfig/selinux Nella configurazione da me creata non serve ad un pazzo (oserei dire che molto più in generale SeLinux, alla pari dell’Hardening di Windows Server, non serve ad un emerito pazzo).

    2. Se ci si vuole connettere ai vari server VNC da altri client è necessario editare il file /etc/xen/xend-config.sxp modificando la linea che contiene vnc-listen in

    (vnc-listen '0.0.0.0')

    3. È buona norma spegnere il firewall durante la configurazione iniziale.

    4. Disabilitare la shell grafica modificando il run level (vedasi):

    rm /etc/systemd/system/default.target 
    ln -sf /lib/systemd/system/multi-user.target
    /etc/systemd/system/default.target

    Last but not least non sono riuscito a trovare un buon sistema per fare un boot affidabile se non cancellando le linee indesiderate da /boot/grub2/grub.conf

    Il passo successivo è la creazione di macchine virtuali.

  • Xensolidation

    Tempo fa mi son posto una domanda che non saprei qualificare: ma se invece di avere un laptop, una workstation e un server creassi un super-computer che ne faccia le veci e sostituissi il laptop con un tablet più consono alla lettura di PDF e CBR?

    A pensarci la tecnologia per farlo c’è. Ad esempio VT-d, sigla con cui Intel indica la capacità di virtualizzare, ovvero assegnare fisicamente ad un sistema operativo guest, intere periferiche: controller SATA, controller di RETE, controller USB, porte PCI-*, ecc. Teoricamente si potrebbe assegnare un’intera scheda grafica ed un controller USB ad un sistema operativo desktop che emulerebbe completamente l’esperienza di una macchina desktop pur girando su un hypervisore in compagnia di Solaris per ZFS, WHS per il backup e per servizi .Net, un Windows XP per esperimenti da usa e getta, ecc. (AMD offre una tecnologia equivalente, ma la mia familiarità con i loro prodotti è decisamente scarsa).

    Il problema è che sembra che questo scenario interessi veramente a pochi esseri umani in tutto il globo relativisticamente parlando: il supporto della virtualizzazione della scheda grafica è a livello di leggenda ma posso dire, visto che sto scrivendo dalla workstation virtuale, che con un po’ di sforzo è possibile farcela. Ci son voluti mesi, dal punto di vista puramente economico è un discorso completamente in perdita se non si considera la conoscenza derivante avere un valore. Ho provato tante soluzioni: ESXi, 4.x e 5.0, non funziona. XenServer 6.0 sulla carta supporta lo scenario ma non sono riuscito ad installarlo e quindi ho deciso di propendere per la strada più contorta, ovvero XEN.Book of Xen

    Devo dire che se avessi fatto l’esperimento un anno fa avrei fallito miseramente: in un anno grossi pezzi di XEN sono diventati parte del kernel ufficiale di Linux per cui oggi tutto è estremamente più semplice o in una parola sola possibile.

    Va aggiunto che XEN è uno dei progetti peggio documentati che esistano per cui navigare a vista è impossibile e si sopravvive solo grazie alla Bibbia opportunamente integrata da vagonate di ricerche su Google.

    Io sono partito da Ubuntu 11.10, a causa della totale disinformazione a riguardo, che mi ha lasciato intendere che l’Oniric fosse una delle poche distro a supportare XEN come Dom0. L’esperimento ha avuto però alcuni risvolti positivi, ovvero mi ha dato la possibilità di verificare che era possibile sostituire il mio setup basato su ESXi 4.x con uno pseudo-equivalente basato su XEN (improvvisamente VMWare a causa della Netflixizzazione è diventata estremamente antipatica).

    Nel frattempo è stato aggiornato il Wiki con una pagina dedicata a Fedora 16 che ne esplicitava la compatibilità completa come Dom0. La sostituzione di Ubuntu con Fedora è stata pressoché indolore (un eufemismo nel mondo Linux).

    L’ultimo pezzo del puzzle è stato quello di verificare la virtualizzazione della scheda grafica che seppur parziale (ovvero non funziona durante la fase di boot ma solo dalla schermata di login in poi) è risultata funzionale abbastanza da completare il mio sogno di nuvola personale. C’è ancora qualche asperità da limare (ad esempio cambiare i parametri di default di grub2 che sono complicati) ma il risultato è soddisfacente e consiste in un super-computer, prontamente battezzato Cray1, così configurato:

    • WHS che gira con il suo hard-disk dedicato e un controller USB assegnato (la scheda madre ne ha due e per fortuna uno dei due controlla le USB “frontali”, l’altro le USB “posteriori”). In tal modo ho potuto assengare una scheda audio USB ed un lettore di SD al server per il “servizio rippatutto e senza click” a cui dedicherò uno dei prossimi post.
    • Windows 7 che gira con il suo SSD dedicato e l’altro controller USB per tastiera, mouse e tutto il resto (ció però lascia il sistema Host completamente senza controller USB e per ora non mi sembra rappresenta un problema: nel caso peggiore una scheda PCI-e con qualche porta USB colmerebbe la lacuna)
    • Windows XP che gira in maniera completamente virtuale
    • Solaris, nell’incarnazione made in Nexenta, che gestisce in paravirtualizzazione i 4 dischi dati
    • Linux Fedora 16 a fare da host puro; volendo è possibile controllarlo tramite SSH o via VNC.

    Per completare l’opera dal punto di vista prettamente “materiale” ho dovuto hackerare un “comodino” IKEA in piedistallo per il nuovo server accorciandolo in due dimensioni su tre e farcelo stare comodamente all’interno dell’angolo cottura.

    Mi aspetto che il futuro, con il rilascio di XCP 1.5, sarà sempre più friendly verso questo tipo di progetti.

    -quack

  • Buone feste 2012!

    Dedicato ai più nostalgici, perché le feste di oggi non sono più quelle di una volta (verissimo!).

    Auguri andergraund

    -quack

  • Dotti medici e sapienti

    dotti_medici_sapientiICI e Vaticano: mettiamo da parte completamente il fatto di chiedersi se sia giusto o meno che la Chiesa paghi, quando paghi e per cosa paghi, sarebbe un argomento politico e questo un luogo di perdizione.

    Parliamo invece di quei dotti, medici e sapienti che di fronte alla parola esclusivamente ci hanno spiegato che ma no, non è così, ecc. ecc.

    Qualcuno ha introdotto il discorso con “io non sono cattolico, ecc., però, … blah blah blah voglio fare informazione blah blah blah, ecc. il trucchetto della cappella non è possibile… blah blah blah”. Per spiegarci che questa storia fondata sull’esclusivamente è tutta una favola. Come se non essere cattolici fosse condizione necessaria e sufficiente sull’uso imparziale della ragione.

    Il tutto ovviamente è dal punto di vista logico, inteso come termine esclusivamente scientifico, estremamente debole.

    Se l’esclusivamente-cappella è una favola, di cosa vuol discutere oggi il cardinale Bagnasco? Non si capirebbe.

    Se l’esclusivamente-cappella è una favola, perché il capo del Governo Italiano ha detto che “non si è posto il problema” visto che il problema, per l’appunto, non dovrebbe essere neppur esistente?

    Se l’esclusivamente-cappella  è una favola, non sarebbe più facile dimostrare che l’albergo delle brigidine in Piazza Farnese a Roma paga l’ICI come tutti gli altri alberghi o in alternativa che si tratta di un luogo di culto dove la gente si ferma a dormire dopo tanto pregare?

    Ripeto, non mi interessa cosa sia giusto o meno. Mi interessa capire una cosa: di cosa stanno parlando questi dotti, medici e sapienti? Così, usando la Logos aristotelica per contrappasso.

    -quack

  • Come vincere al totocalcio

    In un’estate di tanti anni fa, in vacanza a Milano (?!) ebbi la fortuna dicomevincerealtotocalcio_lores leggere questo libro la cui prima edizione risale addirittura al 1968. Presentai ai miei amici di comitiva il concetto ivi contenuto di “sistema a correzione di errore”, giocammo una schedina in società (dieci quote da mille lire ciascuna, il prezzo di una colonna credo che fosse cinquecento lire), sviluppai il sistema a mano su schedine a lettura ottica fresche di introduzione e facemmo dodici grazie ad un errore nello sviluppo acchiappando circa 125mila lire, che diviso dieci fecero dodicimilacinquecento lire caduno.

    Non avessi fatto quell’errore avremmo fatto undici; a fini storici le dodicimila e cinquecento lire furono spese in altri sistemi ovviamente meno fortunati di quello di partenza.

    Ma tanto bastò per farmi appassionare alla “sistemistica” che altro non è che una branca della matematica combinatoria con risvolti decisamente interessanti. Quello più interessante riguarda il concetto di sistema ridotto perfetto, ovvero sistemi che garantiscono la “vincita di seconda categoria” (es. il dodici) a fronte di un costo sensibilmente minore. In alcuni casi il ridotto perfetto è possibile, in quanto il numero di colonne integrale è un multiplo esatto del numero di colonne a scarto uno proprio del sistema. Ad esempio, un sistema di 4 triple integrale garantisce una colonna da prima categoria + 4 x 2 colonne da seconda categoria (per ogni tripla basta sostituire il segno buono, con i due non buoni). Ovvero in 4 triple ci sono 9 colonne buone. Siccome quattro triple integrali equivalgono ad uno sviluppo integrale di 81 colonne che è un multiplo di nove, la riduzione perfetta potrebbe esistere, ed in realtà esiste. Uno sviluppo ridotto (ce ne sono tantissimi dovuti a possibili permutazioni e sostituzioni) è quello indicato qui sotto che cito a memoria in quanto ha una certa simmetria estetica non trascurabile

                                                 1 X 2   1 X 2   1 X 2
                                                 1 X 2   X 2 1   2 1 X
                                                 1 X 2   2 1 X   X 2 1
                                                 1 1 1   X X X   2 2 2

    Qualsiasi quadrupla dell’alfabeto {1, X, 2} è contenuta con uno scarto di al massimo un simbolo nello sviluppo ridotto sopra indicato.

    Un altro sistema che permette la riduzione perfetta è, incidentalmente, quello di tredici triple in quanto le colonne papabili sono ventisette e l’eventuale sviluppo ridotto porterebbe a 59049 colonne.

    La matematica nel frattempo ha fatto grandi passi dal 1968, per non parlare della forza bruta dell’informatica. Sull’argomento, che ha affinità con i codici a correzione d’errore, è disponibile un testo “sacro” chiamato Covering Codes.

    È da un po’ che mi cimento a tempo perso e l’obiettivo non è sistemistico ma puramente matematico. Non si rischia di vincere niente… semmai il Nobel per la matematica!

    -quack

  • Organizational Charts

    Girava un po’ di tempo fa, però visto che l’argomento è tornato in voga…

    2011.06

    (fonte)

    -quack

  • Understanding Linux

    Ieri sera tardi, anche se non tardissimo, dopo l’ennesima lotta con Xen e il boot di Nexenta (la variante Solaris che ho deciso di utilizzare per ZFS), sono arrivato ad una conclusione, volendo persino banale, magari opinabile, ma che non mi pare di aver letto finora altrove.

    L’episodio scatenante è stato questo: volevo utilizzare un metodo diverso per fare il boot della macchina virtuale su cui gira Nexenta (non per pura voglia di perdere tempo) utilizzando l’utility pygrub e rincuorato dal fatto che ci fosse una soluzione di backup migliore (pv-grub) a sostegno della riuscita dell’esperimento. Alla terza difficoltà, armato di bibbia, ho cercato di usare Pv-Grub ma non riuscivo a trovare “l’eseguibile” che pure è parte del pacchetto Xen standard. Ravanando su Google si scopre che siccome Debian “non compila XYZ in quanto ha dipendenze esterne” allora il pacchetto in questione manca. Ovviamente è possibile generarlo se ci si vuole avventurare nei percorsi compilativi.

    Linux non è una piattaforma su cui far girare le applicazioni. Le applicazioni ci sono, non sono poche ma non sono neanche tante abbastanza per farne una piattaforma, ma questo non basta. Linux è una scatola di montaggio per piattaforme più o meno incomplete: a Debian manca questo, ad OpenSuse manca quest’altro, ecc. In Linux non esiste l’equivalente di “eseguibile” in quanto un “eseguibile” si presume abbia dipendenze binarie molto forti. Mentre in una piattaforma il contratto binario è basato su regole molto rigide, in Linux tutto è basato più o meno sui sorgenti. Chi gestisce il repository poi fa un lavoro più o meno buono di impacchettamento di sorgenti in bit ridistribuibili ma la varietà di scelta è tale che il lavoro dell’impacchettatore tende ad essere sempre sotto la sufficienza. Ad esempio nei vari kernel aggiornati di Ubuntu non è attivo il flag “CONFIG_XEN_PCIDEV_BACKEND=m” che non ha nessun effetto collaterale aggiuntivo (tolto qualche piccolo KB di occupazione di memoria) ma che porta a richiedere una ricompilazione ad hoc per chi come me ne ha bisogno.

    È ovviamente possibile generare ottime piattaforme usando Linux come è il caso di Android (parlo ovviamente della piattaforma, non di tutto il resto che può avere qualità opinabili). Però nell’accezione generale d’uso la cosa è molto meno che ottimale in quanto un protocollo basato su codice sorgente è molto meno efficace di un protocollo binario: per lo meno è necessario un passo in più e purtroppo la compilazione è un processo meno deterministico di quanto si possa pensare.

    -quack

  • Stato dell’unione - 2011

    Ieri c’è stata l’assemblea degli azionisti Microsoft. Alla sessione Q&A sono stati assegnati 15 minuti non prolungabili né prolungati che ha lasciato scontenti tutti gli azionisti. In molti stanno cominciare a chiedere lo scalpo di Ballmer, raggiunta la massa critica il processo diventerà inarrestabile. Uno dei commenti più rappresentativi:

    "We drove through the snow to get here. He (Ballmer) is talking about tablets and phones as if it were a new thing. Apple's had these things for years. My granddaughters don't even know what Microsoft does. They should treat the owners better than they do."

    Cioè. Benvenuti nell’era post-Gates.

    I quindici minuti non sono bastati a contenere le fesserie di Ballmer (we are bringing Windows 8 to the phones) e per la prima volta in tredici anni la nuova versione di Windows la vedo nerissima.

    <lamentazioni>

    Cominciamo dal menu start che è scomparso ed è stato sostituito dalla modern shell. Modern una cippa e scusate il francesismo: prima pigliavo una applicazione e il menù scompariva, adesso mi ritrovo con questa cosa enorme a tutto schermo e che su tre schermi è l’apoteosi del ridicolo. Ho dovuto chiedere, per la prima volta in tredici anni, al mio dev-manager, che non avendo un pazzo da fare è nel dogfooding dalle prime ore, come lanciare una applicazione non listata. Mi dicono dalla regia che secondo qualcuno in alto la mia frustrazione nasce dal fatto che la discoverability è considerate secondaria (è poi la stessa persona che ha rivoluzionato l’interfaccia di Office dicendo che la discoverability è tutto). Clicco su un link in MetroTwitter e anziché aprirsi in IE si apre in IE-Mosh. Bachi a parte (IE-Mosh qualche volta non “raccoglie” il passaggio al volo) rimango perplesso su come si chiude questo nuovo IE: pare resistente persino a ALT-F4. Risultato finale: ho il vero terrore di cliccare il pulsante Start, che sin da Windows 95 era mio amico. Faccio di tutto per evitarlo (Windows+R se ricordo il nome dell’eseguibile; pinno tutto l’indispensabile e meno sulla taskbar).

    </lamentazioni>

    Allora fatemi capire un po’: bisogna creare una piattaforma per il mondo tablet e scegliamo Windows, scelta discutibile ma alla fine accettabile. Così invece di creare una shell aggiuntiva stile MCE come quando si è trattato di entrare nei salotti delle case, si infila giù per la gola la nuova shell anche a chi non serve perché non ha uno schermo touch, perché è felice con le applicazioni legacy, e per tanti altri motivi. Eppure nel caso di MCE forzare la shell doveva essere la scelta giusta per fare in modo che l’esperienza OOB create dagli OEM fosse quanto più vicina possibile ad un elettrodomestico come per il TiVò, ma in quel caso nisba. Adesso invece esattamente l’opposto.

    Per fortuna agli azionisti non hanno fatto provare Win8 e spero caldamente e vivamente che ci sia un cambio repentino e che l’attuale prodotto diventi una SKU (Windows 8 tablet).

    Se così non fosse nei prossimi dieci anni, se Ballmer rimane ancora alla guida, ecco quello che succederà:

    • l’enterprise snobberà Win8 come OS per via dell’attrito nell’esperienza utente; sarà peggio di Vista perché Vista era un male necessario per disinfettare la piattaforma dalle applicazioni scritte alla pazzo di pane
    • per la prima volta le enterprise che possono permettersi di scrivere e riscrivere le proprie applicazioni guarderanno altrove (hint: Android). Scrivere per WinRT è leggermente meno complicato che scrivere per Android per una azienda tradizionalmente Windows based. Però non è detto che una azienda debba riutilizzare lo stesso capitale umano, basterà assumere nuovi addetti con esperienza Android alle spalle
    • le applicazioni legacy verranno fatte girare su computer massicci ed eseguite in RDP su questi terminali semi-intelligenti. Ho l’impressione che siamo ad un punto di flesso, che l’HW sta cominciando a diventare troppo potente per l’home/aziendal-desktop computing. Le nuove schede grafiche sono utilizzate già troppo spesso per compiti poco grafici e molto super-computing, vedasi alla voce bitcoin mining. Ovviamente fatte salve le solite eccezioni verticali
    • le aziende grossissime si troveranno a scegliere tra un OS che gira sull’hardware più disparato possibile, open source e quindi apertissimo a vera e propria sartoria informatica e tutto il resto
    • Microsoft diventerà meno rilevante nel settore enterprise come già successo ad IBM, quando gli AS/400 hanno ceduto il passo ai ridicoli PC con MS-DOS

    Cosa può fare MS per tornare ad essere rilevante prima di raggiungere il punto di non ritorno? Innanzitutto licenziare Ballmer ed assumere un tecnico: magari un Faggin, un Gates o un Allen qualsiasi. Il tempo stringe, nel frattempo mi godo l’extra garantito dalla volatilità flat delle azioni aziendali.

  • Racing the beam

    Ho sempre considerate l’Atari 2600 un oggetto di culto vero e proprio. A leggerne le specifiche si rischia di sentire veri e propri brividi scorrere lungo la schiena, soprattutto se ci si mette nei panni di chi ha scritto videogiochi per la piattaforma.230-7[1]

    Innanzitutto girava su 6507, una versione “tagliata” del 6502 a cui erano state decurtate 3 linee dall’address bus (quindi si potevano indirizzare solo 8K in tutto) e la completa assenza di interrupt. In tutto c’erano solo 128 byte a disposizione di RAM, tutto il resto era solo ROM e tral’altro dominava l’assenza di frame buffer. Il videogioco gestiva la schermata video direttamente a schermo pilotando il pennello elettronico linea per linea.

    Ciononostante, dei signori programmatori, ci hanno regalato dei capolavori come Pitfall!.

    La storia interessante è contenuta in un libro intitolato “Racing the beam” e pubblicato da MIT Press. Dopo aver dedicato un paio di dozzine di minuti al libro mi son sentito molto più rincuorato in versione pascolatore di bit. Solo trentanni fa la dimensione di una challenge era di qualche ordine di grandezza diversa.

    Il libro è ovviamente caldissimamente consigliato.

    -quack

  • The World’s Best Global Company to Work For

    dixit

    Yesterday, Microsoft was named as the World’s Best Global Company to Work For.

    We should all be incredibly proud of the company and culture that we have created together. We are unique in our ambition to build technology that makes life better for billions of people and millions of businesses around the world.  We have bold ideas that we pursue passionately and we can achieve anything when we work together and focus.

    You can read more about the award here. It’s an award that only companies with a broad global footprint were eligible for and rankings were determined based on anonymous feedback from employees and managers from thousands of companies across six continents.

    Each of you helps make Microsoft a great place to work. Thank you.

    Steve


    Probabile che già lunedì annuncino qualche altra sforbiciata di benefit qua e là. Ne approfitto questo weekend per fare scorte di carta igienica da portare in ufficio perché sicuramente il solito galletto predicherà quanto la carta vetrata possa essere più efficace.

    -quack

  • The most interesting man in the world

    Tempo fa in TV girava una campagna per una marca di birra basata sull’umorismo stile “Chuck Norris” intitolata come da post e finita addirittura su Wikipedia. Su youtube è apparso un bellissimo riassunto:

    The most interesting man in the work

    Poi il tutto è diventato un meme ed ecco la mia versione:

    Source Depot

    -quack

  • Spetteguless Ottobre 2011

    C’è un mio pro-collega in SQL che mi ha raccontato due spetteguless poco solidi ma abbastanza interessanti.

    spetteguless

    1. Microsoft, cominciando da SQL, sarebbe pronta a mandare via un po’ di gente assunta durante il regno di Ballmer. Pare che ci sarà un po’ di casualità per cui, per non infierire su chi ha lavorato solo durante il regno di Steve I, dovrebbero dare un pacchetto di liquidazione pari ad un mese di stipendio per ogni semestre di servizio. Cioè, prendendo come esempio me, un ammontare pari a circa 26 mensilità che più o meno (più meno che più) è quello che le azioni non hanno reso grazie all’onnipresente opera di Steve I.
    2. Google starebbe chiudendo i battenti a Seattle+dintorni e avrebbero cominciato con un congelamento delle assunzioni: hanno aperto una sede nel nord-ovest con l’unico scopo di rubare talento e affossare così Microsoft. Però a quanto pare l’operazione non è riuscita: i maligni dicono che hanno assunto qualche asso messo male (ne conosco giusto un paio) i benigni dicono che il gioco alla fine non è valsa la candela.

    La mia spersonalissima opinione è che il primo sia troppo fondato su voci che si rincorrono da lustri, quindi pressoché inattendibile. Per il secondo invece c’è già qualche riscontro incrociato. Certo è che sei due eventi dovessero manifestarsi in due punti dello spazio tempo abbastanza ravvicinati, questo posto comincerà ad avere l’aspetto di una città fantasma: sono poche le attività in grado di assorbire una tale onda d’urto.

    Qualcuno ha qualche suggerimento per un elmetto efficace?

    -quack

  • Felici ma trimoni

    TabacchiFeliceMaTrimone

    Che ha a che fare Stallman con l’insegna dei tabaccai? Lo dice una ex-pagina di Wikipedia.

    Importante è il superlativo "Trimone con la T di Tabacchino" che si spiega con la grandezza delle insegne riportanti le T di Tabaccheria: fenomeno analogo alla più famosa "Donna con la D maiuscola" .

    Titolo rubato da una canzone di Caparezza, capa ben molto più saggia di quella raffigurata in foto.

    -quack

  • Secure boot

    Due parole sul Secure Bootsecureboot.

    Il Secure Boot non è un modo per impedire che Linux possa essere installato sui comuni PC. Era stata detta la stessa cosa dei TPM con una campagna guidata da gente che non sa distinguere un boot da uno stivale.

    Il Secure Boot è un’evoluzione del TPM. Con il TPM il controllo delle misurazioni viene fatto a posteriori e quindi è possibile effettuare attacchi conosciuti come quello della diabolica signora delle pulizie (nel settore si chiama così, non è uno scherzo). Per prevenirlo, in assenza di Secure Boot è necessario armarsi di chiavetta USB con tutti i disagi del caso.

    Praticamente:

    TPM : BitLocker = SecureBoot : Anti-Evil-Maid

    Punto due: molti ignorano che il boot loader firmato di Windows può lanciare altri sistemi/boot loader. Nel caso di boot certificato però questi boot-loader paralleli non saranno però in grado di caricare Windows.

    Come il TPM è stato scritto che “chissà se sarà disabilitabile, chissà se sarà resettabile”: ad oggi non conosco nessun sistema con TPM che abbia il TPM attivo. E anche se fosse forzatamente attivo deve essere necessariamente resettabile altrimenti così com’è non servirebbe ad un tubo (basterebbe modificare una voce del BIOS ed il sistema operativo non sarebbe più avviabile, cosa che non è vera).

    Come il TPM chi se ne avvantaggerà saranno le aziende che gestiscono la proprietà dei PC assegnati ai propri dipendenti. L’unica differenza è che stavolta per avere il bollino della certificazione sarà necessario supportare (leggi: ben diverso da abilitare) il secure boot. Io penso che sia una scelta buona perché se oggi compro un laptop certificato potrei non essere in grado di attivare bitlocker come piace a me in quanto il TPM non ha mai fatto parte dei requirement di certificazione.

    Ultima osservazione: ma non se ne è accorto nessuno che questa polemica sterile è partita dall’osservazione da qualcuno in Red Hat? Bastava sapere un po’ di più come funziona Windows per evitare di mettere al mondo un’altra sterile polemica.

    -quack

  • Being GiudaPaperino

    Sono intervenuto in un thread sul giuda paperino!blog di Melamente Assorto perché uno degli ultimi argomenti trattati riguardava il secure boot che è di per sé un topic che mi appassiona e incuriosito da un commento del nonno. Sono rimasto un po’ sorpreso per tutta la serie di accuse rivolte e quando ho capito che non si trattava di un blog tradizionale ma di una semplice valvola di sfogo ero già al secondo intervento. Il mio terzo ed ultimo è stato un commento di congedo, anche perché le risposte dell’autore contenevano inesattezze spacciate come “prova” delle mie vaccate.

    Capisco, anche se non è il mio stile, chi fa moderazione preventiva. C’è effettivamente troppo “spam” in giro. Un po’ meno che fa moderazione post-ventiva. Pubblico qui il mio intervento finale in quanto ci ho messo del tempo, gentilmente messo a disposizione da una sfilza di build fallite misteriosamente, e vederlo inghiottire in un buco nero così vuol dire concedere all’autore il diritto di trattare il mio tempo come spazzatura solo per uno schiribizzo.

    Questo post non ha nessuna intenzione di accendere una polemica o di esprimere giudizi di qualsiasi tipo sull’autore, motivo per cui a parte citare il nome del blog in questione, non c’è nessun link. Chiedo pertanto, a chi mi legge, di evitare in qualsiasi modo di intervenire sulla faccenda (chi vuole dire la sua, lo faccia pure nel forum, seguirò e dirò la contro-mia se necessario; i commenti sono disabilitati per lo stesso motivo). L’intenzione ultima di questo post è di evitare di scagliare una schiera di fedelissimi contro con o senza le buone intenzioni del caso: non è simpatico, qui è casa mia, si fa più o meno quel che ci pare.

    Last, but not least, come spiego sotto ho smesso di seguire il suo blog anche da lettore ma non per ripicca: a quasi quarant’anni le ripicche hanno un retrogusto di latte in polvere. L’ho fatto perché se volessi leggere e assorbire passivamente editoriali alla Feltri preferirei abbonarmi piuttosto alla versione cartacea de “il Giornale”. Scrivendo qui faccio promessa pubblica di non intervenire più in quel luogo e se vengo colto in fragrante (i proxy non sono il mio stile) autorizzo i miei lettori a sputarmi in un occhio, virtualmente e non.

    melamente assoreta

    P.S. l’immagine è una rivettorializzazione di quanto trovato qui. Ho contattato diverso tempo fa Fabio per avere una copia della sua tavola in alta risoluzione, ma non avendo ricevuto risposta ho deciso di fare da me in virtù del fair use.

    Partiamo da una bella notizia: questo è il mio ultimo intervento e capirai subito perché.
    Primo: a me non interessa la parte legale della questione, non sono appassionato di questioni legali, essendo ciò dettato da una questione di gusti, eviterò di rispondere alle tue domande. Se sono intervenuto in questo thread è perché pensavo che la parte tecnica interessasse allo scrittore del post, mi dispiace di essermi sbagliato e con questo di aver dato l'impressione di trollare. Chiedo sinceramente scusa e la mia sincerità non è solo pro-forma.
    Secondo: non ho dato dell'ignorante a nessuno. Mi sono limitato ad osservare che io ignoro COME BootCamp faccia ad attivare l'emulazione e non ho mai affermato che sono ignorante su tutto il resto della materia, seppur dando andito alla possibilità di essere dato per ignorante sull'argomento a trecentosessanta gradi. Anzi, per correttezza di presentazioni, in passato ho avuto esperienza diretta a riguardo come sviluppatore di qualcosa che somigliava ad un BIOS. Se tra le righe ti è sembrato che abbia voluto offenderti, accetta nuovamente le mie sincerissime scuse.
    Terzo: scrivere che io voglia nascondere la mia crassa spudorata ignoranza potrebbe essere considerato offensivo ma voglio precisare che gli sconosciuti (inteso come non ci conosciamo personalmente, non ti conosco se non per quello che hai scritto finora e sicuramente tu non conosci il mio curriculum professionale che è estremamente attinente alla questione) sono l'ultima categoria di persone che potrebbe essere capace di offendermi. Non scrivo questo perché penso che fosse tua intezione farlo ma perché così potrebbe apparire da una lettura oggettiva.
    Quarto: dare dell'ignorante ad un anonimo su internet è per lo meno inelegante. Questo non è un giudizio su quello che sei, ma su quello che hai scritto. Non conosci il mio curriculum, non conosco il tuo, senza una evidenza cristallina della mia ignoranza, e girare la questione dal fatto tecnico ad elementi irrilevanti non è un modo di provare tale evidenza, potrebbe essere un boomerang. Per tutto conto potrei essere uno dei massimi esperti del settore, non trovi? Non è che tutti massimi esperti del settore debbano per forza sapere COME Apple faccia qualcosa quando sanno perfettamente il PERCHÉ.
    Quinto: ho parlato solo di fatti tecnici. Ti ho detto che se infili un DVD di installazione di Windows senza aver fatto i necessari preparativi con BootCamp (geniale quel link che dice la necessità di BootCamp è un falso mito, basta quest'altro tool che poi fa le stesse cose che fa BootCamp; ma va?) Windows non lo installi, per lo meno sui modelli del 2009 e precedenti quando già allora BootCamp era distribuito preinstallato. Il link mi ricorda che se vuoi farti passare il mal di testa non occorre un'aspirina, basta un Moment.
    Sesto: Palladium non è stato mai abbandonato. Ha cambiato nome, ha cambiato forma, ma è ancora vivo e vegeto. Si chiama BitLocker, si chiama XBOX, si chiamerà secure boot. L'obiettivo è quello di mettere a disposizione di alcuni soggetti interessati (leggi aziende che hanno estremo bisogno di controllo su fughe di dati e di proprietà intellettuale: FBI, aziende che forniscono servizi militari, laptop bancari e di tutti quelli che lavorano nella pubblica amministrazione) la tecnologia necessaria per ridurre i rischi citati. Ho visitato due grosse aziende, diciamo aziende con un parco PC che va da 50mila unità in su, la prima fornisce materiale militare, la seconda prodotti di consumo ricchi di P.I. ed entrambe erano interessate a "what's next". C'è una ricercatrice molto famosa che sta scrivendo parecchio in argomento, non ti passerò il link perché da quanto ho capito l'argomento ti interessa poco, ma è solo una nota per dire che la questione interessa soprattutto i più paranoici, quelli veri.
    Settimo: questo posto è molto inospitale. Credo di non aver detto niente con la provabile intenzione di offendere. In cambio mi son sentito dire che sono un avvocato (per uno scienziato dell'informazione è considerato offensivo), che il mio esperimento scientifico fa parte delle cazzate/trollate/ecc. siderali a ripetizione, che sono venuto a floddare il tuo blog (wow, due interventi persino estremamente informali sono un flood) e che quello che scrivo ti rompe l'anima (aggiungo: è un problema tuo). Tralascio l'aspetto tecnico di questo blog che per scrivere un commento ci vuole una registrazione e poi se l'avevi già scritto e non ti eri registrato devi riscriverlo, che rende l'intervento del lettore un esercizio masochistico, il tutto tralasciando la spada di Damocle della moderazione preventiva: di certo non ne hai colpa se non fosse una scelta consapevole e non sto qui a giudicare. Solo rimpiango che avrei dovuto prenderlo come un indizio che questo non è un blog tipo "scrivo qualcosa accetto i commenti" ma piuttosto "voglio sbraitare qualcosa e se qualcuno fa osservazioni - opinabili o meno - è un troll/monnezzaro/floddatore offtopic". Chiaro è casa tua, ognuno fa e tratta gli ospiti come vuole in base a regole che si gira come je pare incluso quella di usare la propria casa come camera di sfogo anecoica e fesso io che non l'ho capito neanche quando doveva essere evidente dal sistema masochistico di commenti.
    Ti lascio come commentatore perché gli interessi, seppur sullo stesso topic, sono completamente divergenti. Ti lascio come lettore, e immagino che te ne freghi meno di niente, in quanto le farneticazioni di qualcuno che predica nel deserto non sono un genere che mi appassiona neppure se sono scritte in uno stile che ammetto mi piace tantissimo. Mi rincuora che questo l'abbandono di un (finora) silenzioso lettore non potrà arrecare ulteriori rotture d'anima, rimango a disposizione su canali diversi (email, mio blog/forum lungi da voler essere in qualsiasi modo essere pubblicizzato in questo thread) qualora in futuro il tuo interesse sulle questioni di personal computing possa coincidere con il mio. Ti assicuro che sono posti molto più accoglienti.
    Buona fortuna e buon viaggio!

    Happy weekend a tutti, spero di parlare di secure boot seriamente, visto che sull’argomento c’è molta più carne a cuocere di quanto sta affiorando nella web-sphere ultmamente.

    -quack!

    UPDATE:  ho ricevuto questa mail, a cui non posso rispondere perché MacRaiser può ricevere solo dai “suoi amici” (eccapirai).

    Primo: Hai fatto confusione con i tuoi nick multipli. L'accusa di avermi insultato l'avevo rivolta a Ennoxxx, non a te. Ops.

    Confondere me e Enroxx, nonostante il suo blog immagino tracci gli indirizzi IP, è l’ennesima dimostrazione di qualcuno che sa come si scrive ma non sa come si legge. T

    Secondo: Come preannunciato, il tuo commento non sara' pubblicato dato che non soddisfa la condizione minimale che ti avevo richiesta: rispondere alle mie chiare e semplici domande.

    Interessante, non è una discussione, è un interrogatorio tra uno che può dire che gli altri sparano cazzate e uno che non può farlo perché non risponde alle sue “domande”. Interessnte.

    Se avessi davvero voluto scusarti con me del tuo comportamente, senza ipocrisie intendo, avresti risposto alle mie domande con sincerita' e senza accampare patetiche scuse.

    Altrettanto interessante: se a me non interessa qualcosa che a MacRaiser interessa è una patetica scusa.

    Non l'hai fatto, quindi sarai trattato per come ti sei comportato: come un troll.

    Son contento così, d’altra parte io ho preso una decisione simile e simmetrica. Ho smesso di seguirlo e sarà trattato per come si è comportato: uno che parla a vanvera di cose che non conosce.

  • Dio Xen

    Per non essere blasfemo, userò la parola dio con la minuscola, intesa come divinità generica.

    Cos’hanno in comune dio e Xen?

    • entrambe sono entità astratte, non si possono toccare, comprare o scaricare
    • non si può provare che esistano, l’esistenza è un dogma
    • la loro opera è descritta molto vagamente nelle scritture (nel caso di Xen in forma di Wikipedia)
    • la loro opera si manifesta in miracoli chiaramente non riproducibili (es.: VGA passthrough di Xen)
    • i loro profeti tendono ad apparire e scomparire in aloni di mistero (chi sarà mai il “cittadino di Singapore signor Teo En Ming”?)

    Sinceramente un’entità software più sfuggente di Xen 4.1 non l’ho mai vista. Pare che dovesse apparire in Fedora 15 ma la venuta è stata rimandata a Fedora 16 (in alpha). Le uniche poche distro che sembrano includere (chissà quale versione) sono Qubes, RedHat e Suse. Le uniche guide step-by-step sono troppo dettagliate e includono sempre una

    C’è qualche ‘sacerdote’ in ascolto che mi possa guidare al miracolo non riproducibile di cui sopra?

    -quack

  • Consolidèscion

    Ho venduto il mio laptop, perché la tastiera ha cominciato ad irritarmi ed il trackpad è troppo impreciso per le dita di una bambina di quattro anni.

    Sto vendendo il mio Kindle, perché leggo più spesso di sera che di giorno e mi piacerebbe leggere a colori in modalità portrait.

    Penso che venderò la mia Workstation perché faccio sempre meno video-editing e alla fine non è altro che uno schermo più grande per leggere.

    Ho deciso di prendere un tablet, ovviamente Android perché quelli Win8 ancora non esistono. Uno con l’uscita HDMI e con un dock, così da poter usufruire del monitor largo se ne avessi bisogno. Poi magari con una buona applicazione RDP client potrei connettermi al server e fare video-editing da lì o usare quelle applicazioni ancora inesistenti su Android (OneNote, Windows Live Writer).

    Poi ho pensato che Windows 8 supporterà Hyper-V e quindi VSphere diventerebbe inutile: a proposito, grazie per aver deciso di distruggere l’HD virtuale al primo ed unico snapshot solo perché non c’era abbastanza spazio libero.

    Il Dom0 di Hyper-V diventerebbe la mia workstation, su cui girerebbero virtualmente un OS che supporta ZFS (Nexenta o EON) e Windows Home Server. Un solo PC + tablet anziché tre (*) + Kindle. Per questo ho già un nome (vedi figura) ed un piano:

    • Processore pazzuto ma a basso consumo (2500T o E1260L, il secondo supporta ECC)
    • un case decente
    • un controller da otto porte aggiuntivo, perché la potenza di fuoco non è mai abbastanza [cit.]
    • Windows 8 oppure VSphere 5, magari il secondo solo fino al rilascio della beta del primo

    La cosa buffa è che il netto tra venduto e comprato dovrebbe essere addirittura positivo. Me lo dicono i miei sensi di ragno papero.

    Anche una via equivalente AMD sarebbe interessante in virtù dei nuovi processori, ma il 1260L ha una dissipazione termica di appena 45W. Suggerimenti?

    -quack

    (*) forse quattro se riuscissi a virtualizzare decentemente anche MCE