Dopo 18 anni di sistemi operativi *NIX, il prossimo portatile che compro lo tengo con Seven. Alla fine uno (io) si rende conto che non usa un sistema operativo, ma usa delle applicazioni. Fortuna vuole che quelle che uso io sono multipiattaforma. E quindi basta seghe e perdite di tempo. K.I.S.S.
Tag: linux
Install di Ubuntu 10.10, ridotti i tempi morti
Dopo circa due anni dalla prima volta, ieri sera ho fatto una installazione ex-novo di Ubuntu, la 10.10, nel mio notebook causa sostituzione del disco rigido. La durata dell’operazione è stata piuttosto breve, poco più di mezz’ora dalla prima vite rimossa al reboot del nuovo sistema, e di una semplicità estrema, alla portata di tutti. La cosa che mi ha più colpito, a livello di user experience, è stata la gestione dei tempi morti, che generalmente si trascorrono guardando la progress bar colorarsi lentamente. Non so in che modo si comportino gli altri sistemi operativi, ma Ubuntu fa così: una volta selezionato il disco e il tipo di partizionamento viene avviata la formattazione, e nel frattempo vengono poste le solite domande all’utente, tipo username/password, timezone, etc. I due task sovrapposti in questo modo danno l’idea di una installazione più rapida, evitando di dover attendere la fine di un processo prima di cominciarne un altro. Mi sembra una soluzione intelligente.
[tags]ubuntu[/tags]
Linux e opensource a Cesenatico
So già di non poterci andare, ma lo pubblicizzo ugualmente.
Sabato 25 settembre, ore 9, presso il Museo della Marineria di Cesenatico si terrà “La libertà non ha prezzo”, una conferenza sul software libero organizzata da UIELinux, uno dei LUG attivi e presenti in zona, e patrocinata dal Comune di Cesenatico. Mi sembra una iniziativa importante per questo piccolo pezzetto di Romagna.[tags]uielinux,opensource[/tags]
[Tip] Esportare la wishlist di IBS
Ecco il risultato di un piccolo esercizio di stile di shell programming messo a punto per risolvere un problema a Lawrence, un mio contatto su Friendfeed.
C’è modo di esportare la wishlist di IBS verso Amazon oppure Anobii?
In effetti IBS non consente alcun tipo di esportazione dei libri messi nella lista dei desideri, e si potrebbe essere portati ad rispondere “No” alla domanda, ma una breve analisi visiva/CTRL-F ai sorgenti della pagina mi hanno dato qualche speranza, ed ho intensificato le ricerche salvandola in locale ed sottoponendola a qualche tool da riga di comando. La prima cosa che mi è saltata all’occhio è stata la scarsa eleganza del codice generato, ed ho passato il file .html a tidy, un potente strumento per la validazione e la correzione del codice [X]HTML, in modo da renderlo più leggibile; poi ho individuato le parti più “interessanti” relativamente alla soluzione del problema, e cioè questo testo:
http://www.ibs.it/ser/serdsp.asp?isbn=9788874241590
che contiene appunto il codice ISBN di uno dei libri presenti nella wishlist.
Sono quindi passato a grep, costruendo man mano la stringa di ricerca fino ad ottenere un risultato più o meno pulito, tipo questo:http://www.ibs.it/ser/serdsp.asp?isbn=9788874241590"
http://www.ibs.it/ser/serdsp.asp?isbn=9788874241590"La presenza della doppia linea non è un errore di scrittura nel post, ci sono realmente due linee del genere per ogni libro nella wishlist. Dopo grep ho chiamato in causa sed per ripulire l’output ed ottenere solo l’elenco dei codici ISBN, la soluzione al problema, facendogli eseguire due cose in successione:
sed -e 's/[^0-9]*//g'
con questa chiamata cancello tutto ciò che non è numerico, mentre con
sed -n 'p;n'
stampo in output solamente le linee dispari.
Et voilà, ecco la riga di comando completa:tidy -f errs.txt -imu lista.html; grep '."http://www.ibs.it/ser/serdsp.asp?isbn=[0-9]\{13\}' lista.html | sed -e 's/[^0-9]*//g' | sed -n 'p;n'
Leggendo il codice si nota la presenza del file lista.html, che corrisponde alla pagina della wishlist salvata in locale: utilizzando questa accortezza ed eseguendo la riga di comando nella medesima directory contenente il file si ottiene in output l’agognato elenco di codici ISBN pronto per essere copiaincollato in Anobii. Sono convinto che il codice possa essere ottimizzato ma, come confermatomi da Lawrence, già in questo modo è pienamente funzionante.
Happy coding
[tags]shell, linux, internetbookshop, ibs[/tags]
[Tip] Ricodificare l’audio di un video
Un instant post per ricordarmi in futuro di come ho fatto una cosa con il mio nuovo acquisto: una tv per poter gustare al meglio i film e i video del computer.
Questa volta il problema è un video AVI che nella nuova TV si vede, ma del quale non viene riprodotto alcun suono. Un veloce controllo indica che usa un codec audio AC3, che evidentemente non è supportato dalla TV, mentre il controllo su uno che si sente riporta MPEG-1 Layer 3 come codec. Come fare quindi a ricodificare il filmato? Mi aiuta mencoder:mencoder file_ac3.avi -o file_mp3.avi -of avi -oac mp3lame -ovc copy
Giusto il tempo della ricodifica et voilà, il filmato è pronto per la visione sul TV.
[tags]mencoder[/tags]
JS Benchmarking
Ho colto l’occasione dell’arrivo del nuovo PC in ufficio per un poco di sano benchmarking dei vari browser disponibili sulla piazza.
In particolare sono andato a testare le performance del motore Javascript, componente direi fondamentale dei vari siti che navigo quotidianamente. Ho usato due tools online legati al test del codice Javascript, il SunSpider Benchmark e il Kane JSBenchmark.
Ho volutamente tralasciato il test sulla velocità di avvio dei browser, così come l’occupazione della RAM, perchè trovo più utile la velocità di esecuzione di una pagina piuttosto che il tempo necessario a far partire il programma.
Le piattaforme testate sono in realtà due: Windows XP SP3 sul PC dell’ufficio, in esecuzione su un processore Intel i3-530 a 2.4GHZ con 2GB di RAM, e Ubuntu 9.10 sul mio laptop, in esecuzione su un processore Intel T3200 a 2GHz con 3GB di RAM.
I browser testati sono: in XP, Chrome 4.1.249.1036, Firefox 3.6.2, Opera 10.51b3315, Internet Explorer 8.0.6001.18702; in Ubuntu, Chrome 5.0.307.11, Firefox 3.5.8, Opera 10.00beta4402, Epiphany 2.28.0 [con motore Webkit, e quindi assimilabile ad un Safari, ad esempio].I test sono realizzati monitorando l’esecuzione di diversi algoritmi, e valutati o attribuendo un punteggio alle performance [Kane] oppure misurando i tempi di esecuzione [SunSpider].
Ecco i grafici riassuntivi.
Nota1: per il Kane, un valore alto indica prestazioni migliori, mentre per il SunSpider viceversa.
Nota2: cliccare sulle singole immagini per vederle ingrandite.Kane JSBenchmark – Windows Kane JSBenchmark – Linux SunSpider Benchmark – Windows SunSpider Benchmark – Linux E’ chiaro che il confronto numerico Windows/Linux non è possibile, girando i due sistemi su due macchine differenti; il confronto può essere fatto in modo percentuale, al limite.
Qualche conclusione.
Opera: l’ultima versione è veramente veloce, sia rispetto agli altri browser, sia rispetto alla versione 10.00;
Explorer: incredibilmente lento, mi aspettavo un risultato migliore;
Firefox: si comporta mediamente bene;
Epiphany: da considerare, visti i risultati;Io, a prescindere dai risultati, uso Chrome su entrambi i sistemi.
Alla prox
[tags]javascript, benchmark, browser[/tags]
#!CrunchBang Linux
#!CrunchBang Linux – Desktop #!CrunchBang Linux – Desktop con Main Menù Con le mani in mano proprio non riesco a starci, e quindi rieccomi a maltrattare la SD del mio netbook, l’ASUS EEEpc 701.
Ho fatto sloggiare i due ospiti precedenti, Android-x86 e Linux Mint, ed ora il nuovo arrivato è CrunchBang Linux.
La distro in questione è basata su Ubuntu, ereditandone quindi gli strumenti di gestione, ed utilizza OpenBox come window manager, raggiungendo così una buona velocità di utilizzo, considerate le scarse risorse del netbook. La scelta dei temi utilizzabili è piuttosto ampia, consentendo un buon grado di customizzazione della UI; la lista dei software installati con il setup di base copre più che abbondantemente un utilizzo base del sistema. Le uniche variazioni rispetto alla suite di default sono state l’aggiunta e l’impostazione di Chrome come browser di default, e di Scite come text editor. Comodissima, la lista delle combinazioni di tasti da usare per avviare le applicazioni, evitando così di passare dal menù, e il piccolo status del sistema, il tutto grazie a Conky (entrambi visibili nelle immagini qui sopra).Questa distro mi piace molto, la trovo un buon compromesso tra velocità e funzionalità.
E in più, come citato nel wiki:Sans Brownness
Finally, unlike Ubuntu, CrunchBang Linux isn’t brown :)Consigliata!
Alla prox
[tags]crunchbang, eee701[/tags]
[Tip] VMware Server 2.x in Ubuntu 9.10
Un breve tip necessario per risolvere un problema contro il quale sono incappato.
Una parte dell’aiuto che do al team di E17, oltre a scrivere del codice, consta nel testare l’installazione dai sorgenti nei principali sistemi BSD, in primis FreeBSD e NetBSD, OpenBSD a breve.
Per il test utilizzo la versione Server di VMware, il noto tool di virtualizzazione.
In seguito al recente aggiornamento di Ubuntu (9.04 -> 9.10) sono incappato un errore che mi impediva di reinstallare VMware Server, errore relativo alla compilazione dei moduli di rete per il kernel.
Una breve googlata, nel link sottostante il workaround, testato e funzionante. Ah, il link fa riferimento all’architettura x86_64, ma è funzionante anche per la 32bit.
VMware-server 2.0.x Installation HOWTO for Karmic Koala x86_64 | Acmelabs’ Blog.
Alla prox
[tags]ubuntu, karmic, vmware server[/tags]
Ubuntu, nVidia, e i video virati al blu
Dall’ultimo dist-upgrade, 9.04 -> 9.10, mi succede questa cosa, e cioè i video che guardo nel portatile appaiono tutti virati al blu, con i colori palesemente incasinati.
Dopo aver dato la colpa ad un rippaggio errato del video, e soprattutto dopo essermi accorto del malfunzionamento anche in video che in passato si vedevano bene, ho indagato un poco, ed ecco cosa ho scoperto.
Dunque, i video non si vedono bene, con nessuno dei player installati nel sistema.
Lancio l’utility di configurazione della scheda nVidia e, senza modificare alcunché, il video si vede correttamente.
Chiudo l’utility della scheda video, chiudo il video e lo faccio ripartire, e colori sono nuovamente incasinati.
Lancio allora l’utility xvinfo, che riporta informazioni sul server X, e questo è il primo output:
X-Video Extension version 2.2
screen #0
Adaptor #0: "NV17 Video Texture"
number of ports: 32
port base: 280
operations supported: PutImage
supported visuals:
depth 24, visualID 0x21
depth 24, visualID 0x24
depth 24, visualID 0x25
depth 24, visualID 0x26
depth 24, visualID 0x27
depth 24, visualID 0x28
depth 24, visualID 0x29
depth 24, visualID 0x2a
depth 24, visualID 0x2b
depth 24, visualID 0x2c
depth 24, visualID 0x2d
depth 24, visualID 0x2e
depth 24, visualID 0x2f
depth 24, visualID 0x30
depth 24, visualID 0x31
depth 24, visualID 0x32
depth 24, visualID 0x33
depth 24, visualID 0x34
depth 24, visualID 0x35
depth 24, visualID 0x36
depth 24, visualID 0x37
depth 24, visualID 0x38
depth 24, visualID 0x39
depth 24, visualID 0x3a
depth 24, visualID 0x3b
depth 24, visualID 0x3c
depth 24, visualID 0x3d
depth 24, visualID 0x3e
depth 24, visualID 0x22
depth 24, visualID 0x3f
depth 24, visualID 0x40
depth 24, visualID 0x41
depth 24, visualID 0x42
depth 24, visualID 0x43
depth 24, visualID 0x44
depth 24, visualID 0x45
depth 24, visualID 0x46
depth 24, visualID 0x47
depth 24, visualID 0x48
depth 24, visualID 0x49
depth 24, visualID 0x4a
depth 24, visualID 0x4b
depth 24, visualID 0x4c
depth 24, visualID 0x4d
depth 24, visualID 0x4e
depth 24, visualID 0x4f
depth 24, visualID 0x50
depth 24, visualID 0x51
depth 24, visualID 0x52
depth 24, visualID 0x53
depth 24, visualID 0x54
depth 24, visualID 0x55
depth 24, visualID 0x56
depth 24, visualID 0x57
depth 24, visualID 0x58
depth 24, visualID 0x59
number of attributes: 7
"XV_SET_DEFAULTS" (range 0 to 0)
client settable attribute
"XV_ITURBT_709" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 0)
"XV_SYNC_TO_VBLANK" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 1)
"XV_BRIGHTNESS" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 1)
"XV_CONTRAST" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
"XV_SATURATION" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
"XV_HUE" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is -1000)
maximum XvImage size: 2046 x 2046
Number of image formats: 4
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x59565955 (UYVY)
guid: 55595659-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)Lancio nuovamente l’utility nVidia, e poi di seguito xvinfo:
X-Video Extension version 2.2
screen #0
Adaptor #0: "NV17 Video Texture"
number of ports: 32
port base: 280
operations supported: PutImage
supported visuals:
depth 24, visualID 0x21
depth 24, visualID 0x24
depth 24, visualID 0x25
depth 24, visualID 0x26
depth 24, visualID 0x27
depth 24, visualID 0x28
depth 24, visualID 0x29
depth 24, visualID 0x2a
depth 24, visualID 0x2b
depth 24, visualID 0x2c
depth 24, visualID 0x2d
depth 24, visualID 0x2e
depth 24, visualID 0x2f
depth 24, visualID 0x30
depth 24, visualID 0x31
depth 24, visualID 0x32
depth 24, visualID 0x33
depth 24, visualID 0x34
depth 24, visualID 0x35
depth 24, visualID 0x36
depth 24, visualID 0x37
depth 24, visualID 0x38
depth 24, visualID 0x39
depth 24, visualID 0x3a
depth 24, visualID 0x3b
depth 24, visualID 0x3c
depth 24, visualID 0x3d
depth 24, visualID 0x3e
depth 24, visualID 0x22
depth 24, visualID 0x3f
depth 24, visualID 0x40
depth 24, visualID 0x41
depth 24, visualID 0x42
depth 24, visualID 0x43
depth 24, visualID 0x44
depth 24, visualID 0x45
depth 24, visualID 0x46
depth 24, visualID 0x47
depth 24, visualID 0x48
depth 24, visualID 0x49
depth 24, visualID 0x4a
depth 24, visualID 0x4b
depth 24, visualID 0x4c
depth 24, visualID 0x4d
depth 24, visualID 0x4e
depth 24, visualID 0x4f
depth 24, visualID 0x50
depth 24, visualID 0x51
depth 24, visualID 0x52
depth 24, visualID 0x53
depth 24, visualID 0x54
depth 24, visualID 0x55
depth 24, visualID 0x56
depth 24, visualID 0x57
depth 24, visualID 0x58
depth 24, visualID 0x59
number of attributes: 7
"XV_SET_DEFAULTS" (range 0 to 0)
client settable attribute
"XV_ITURBT_709" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 0)
"XV_SYNC_TO_VBLANK" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 1)
"XV_BRIGHTNESS" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
"XV_CONTRAST" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
"XV_SATURATION" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
"XV_HUE" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
maximum XvImage size: 2046 x 2046
Number of image formats: 4
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x59565955 (UYVY)
guid: 55595659-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)Dopo un diff tra i due output, ecco cosa emerge:
75c75
"XV_BRIGHTNESS" (range -1000 to 1000)
client settable attribute
< client gettable attribute (current value is 1) --- > client gettable attribute (current value is 0)
84c84
"XV_HUE" (range -1000 to 1000)
client settable attribute
< client gettable attribute (current value is -1000) --- > client gettable attribute (current value is 0)
E’ chiaro che i valori di colore e luminosità sono differenti, ed in particolare il primo potrebbe essere la causa della visualizzazione non corretta.
Ho cercato il modo di automatizzare l’impostazione agendo sul file xorg.conf, ma senza buoni risultati; l’unica soluzione semi permanente (non ho provato a rivedere un video dopo il reboot), è questa, valida per Totem, il mio videoplayer predefinito, ma applicabile anche agli altri, direi: Preferenze -> Visualizzazione -> Bilanciamento colore -> “Ripristina i valori predefiniti”.Alla prox
[tags]ubuntu, nvidia, xv_hue[/tags]