Now downloads are available. This small section will be mainly related to the small scripts that sometimes I write. Up to now a backup script is available.
Is a standard backup script to compress folders locally with tar and save them somewhere in the filesystem. Hope it will be helpful.
Compile gcc 4.6 on Lion OS
I received a new MacBook at work that is meant to be used for everything I need to do. I never used Mac before and so there are a lot of thing that I miss from Linux even if the Mac doesn't seems so bad.
One of those is the version of gcc available in Debian. Currently in testing we have the 4.6.2, while on Lion there is the 4.2. The only reason why is so important is that in version 4.6 there is the compatibility with the standard C++11 that is absent in the Lion version.
So I compiled it myself. The compilation went smooth, no problems at all and I finished with the binaries just working. These are the steps I followed.
1. Download everything: You will need the GMP, MPFR and MPC libraries. Then you'll need the gcc source code to compile.
2. Prepare Extract all the tarballs where you want to compile. I created an additional folder to put my finished binaries since I didn't want them to go inside the system and I called it gcc-4.6 (great fantasy!).
3. Compile GMP Enter in the folder for GMP and run
$ ./configure --prefix=../gcc-4.6 $ make $ make check $ make install
make check is only to be sure that everything is ok.
4. Compile MPFR Enter in the MPFR folder and run
$ ./configure --prefix=../gcc-4.6 --with-gmp=../gcc-4.6 $ make $ make install
5. Compile MPC Enter in the MPC folder and...
$ ./configure --prefix=../gcc-4.6 --with-gmp=../gcc-4.6 --with-mpfr=../gcc-4.6 $ make $ make install
6. Ready for gcc Now go to the folder where you have the gcc sources. Check carefully which compilation options do you need at this page. For many people just the standard options should be fine. Run
$ ./configure --prefix=../gcc-4.6 --with-gmp=../gcc-4.6 --with-mpfr=../gcc-4.6 --with-mpc=../gcc-4.6 $ make $ make install
In my case I decided to run these lines and everything was fine for me
$./configure --prefix=../gcc-4.6 --with-gmp=../gcc-4.6 --with-mpfr=../gcc-4.6 --with-mpc=../gcc-4.6 \ --enable-checking=release --enable-threads=posix --with-cpu-64=corei7 --with-tune-64=corei7 \ --enable-languages=c,c++,fortran $ make -j 5 $ make install
Everything done!
Le memorie flash superano la barriera dei 20 nm
Guerra aperta tra i produttori di memorie flash. A metà aprile Intel e Micron hanno annunciato l'inizio della produzione delle prime memorie flash NAND con tecnologia a 20 nm. Pochi giorni fa è toccato a Toshiba e SanDisk che hanno annunciato l'inizio della produzione di memorie a ben 19 nm. In entrambi i casi la produzione di massa di queste memorie estremamente piccole è previsto per la seconda metà del 2011. Questo significa che a partire dal 2012 si cominceranno a vedere dispositivi portatili con una memoria enorme compattata a dismisura.
Chiunque abbia anche una minima conoscenza dei processi fotolitografici utilizzati per la produzione di questi dispositivi non potrà che stupirsi di fronte alla miniaturizzazione incredibile che si è riusciti ad ottenere al giorno d'oggi. Io una minima idea ce l'ho e sono veramente impressionato.
Un breve post per annunciare il rilascio di gcc 4.6, ultima versione del compilatore più usato in Linux.
Al solito molte le novità. In particolare mi ha fatto piacere vedere che continua lo sforzo per introdurre nel compilatore tutte le variazioni che sono sotto approvazione da parte del comitato ISO C++ per lo standard C++0x. Tra le ultime inserite:
costante nullptr: per la dichiarazione dei null pointer in sostituzione del valore 0 e della parola riservata NULL tipica di C.
ranged-based for: d'ora in poi sarà più semplice scrivere cicli che scorrano array o oggetti dotati di iteratori semplificando la scrittura del codice rendendo legale una scrittura del tipo
int array[10]; for ( int &i: array ){ i=2; }
ricordo inoltre che sono state introdotte delle modifiche per correggere i problemi che si riscontrano quando nelle dichiarazioni innestate di template a causa delle doppie parentesi angolate destre ">>".
Fino a poco tempo fa erano girate voci di regressioni nelle performance di questo compilatore rispetto ai precedenti 4.4 e 4.5. Non so se questi problemi si siano risolti, trattandosi di notizie vecchie di mesi spero di si.
Se mi sarà possibile cercherò di compilare questa versione del compilatore anche per Debian Wheezy. In Sid non dovremo aspettare molto prima di vederlo.
Un parere su Gnome Shell
Si avvicina velocemente la data del rilascio di Gnome 3, più volte posticipato dai suoi sviluppatori che volevano essere sicuri di dare al pubblico un prodotto il più possibile maturo e privo di problemi (la lezione KDE 4 è servita). Non c'è alcun dubbio che gli sviluppatori abbiano cercato di introdurre una notevole quantità di novità, a partire dalle nuove Gtk+3, che hanno richiesto la riscrittura anche delle applicazioni, ai programmi, alle applet.
Sicuramente la novità più visibile e che fin'ora ha fatto discutere di più è il nuovo Gnome Shell. I cambiamenti sono tantissimi, impossibile farne un elenco, rispetto a Metacity cui qualsiasi utente Gnome è abituato. Si tratta di un modo completamente nuovo di utilizzare il desktop, progettato dai suoi sviluppatori con l'idea di rendere Gnome soprattutto intuitivo, facile da fruire e naturalmente, elegante e gradevole come nella tradizione di Gnome 2.xx.
- Sulla sinistra nella modalità overlay si trova una barra contenente le icone delle nostre applicazioni preferite, quelle che vorremmo avere sempre sotto mano. Shell ci permette semplicemente trascinando le icone nella barra, o trascinandole nell'apposito cestino, di aggiungerle o rimuoverle molto semplicemente. Quello che proprio non riesco a capire è come mai devo essere costretto ad andare alla overlay mode per accedere a questa barra. Nelle vecchie versioni di Shell la barra sulla sinistra era sempre accessibile spostando il mouse sul lato sinistro dello schermo. Mi sembra il modo più rapido di accedere alle applicazioni preferite e sicuramente è intuitivo. Perchè ora non è più così?
- La barra delle applicazioni in fondo allo schermo è scomparsa. Secondo me si tratta di una semplificazione eccessiva. La barra era utilissima per spostarsi tra le varie finestre aperte nello stesso spazio di lavoro, senza questa operazione diventa molto più complicata e laboriosa, altro che intuitività! Nella testa degli sviluppatori probabilmente c'è l'idea che l'utente cercherà di utilizzare una finestra per ciascuno spazio di lavoro, creandone all'occorrenza molti. Non credo però di essere l'unico che quando lavora si ritrova inevitabilmente ad avere aperte una quindicina di finestre tra browser, terminali vari, sessioni ssh, pdf aperti, navigazione tra le cartelle, l'immancabile chattata di skype, e magari la musica per rilassarsi un po'. Dovrei aprire uno zillione di spazi di lavoro. Assurdo...
- I pulsanti minimizza e massimizza sono spariti, in internet se ne è discusso parecchio. Da un lato si tratta di due pulsanti non vitali per poter lavorare e le due opzioni sono ancora presenti cliccando sulla barra del titolo con il destro oppure tramite le apposite shortcut (Alt+F9 minimizza, Alt+F10 massimizza). In più oramai hanno poco senso: la massimizzazione si può fare anche portando la finestra in alto e la minimizzazione non ha alcun senso essendo sparita la barra delle finestre in basso. Però io sono troppo abituato ad usare quei pulsanti, soprattutto minimizza, per riuscire a farne a meno ed ho già detto che la barra in basso a mio parere è fondamentale. Forse si è trattato di una mossa un po' troppo avventata sulla quale probabilmente finiranno per fare marcia indietro.
- Il sistema delle notifiche funziona ancora male. L'idea giusta probabilmente l'hanno azzeccata in Unity. Secondo me sarebbe utile avere una icona che segnali tutte le notifiche arrivate non ancora lette e renda disponibili le ultime tot notifiche della sessione, magari tramite un apposito file di log.
- Il modo in cui Shell ti spinge ad avere una sola finestra per spazio di lavoro rende di fatto quasi impossibile il drag&drop. Ad esempio trascinare un file da una cartella all'applicazione che vorremmo utilizzasse quel file, qualunque essa sia. Non credo sarebbe un'impresa creare una piccola barra, ad esempio sulla destra, che compaia tutte le volte che un file viene trascinato e contenente tutte le applicazioni che possono utilizzare quel tipo di file, così da facilitare il drag&drop.
- Ora come ora Shell non è configurabile per nulla. Una delle cose interessanti, anche se non certo vitali, di Gnome era la possibilità di configurarlo a fondo modificando finestre, icone, titoli, caratteri, pannelli, menu eccetera. Ora tutto questo non è più possibile.
Con questo post non voglio dire che a mio parere Shell sia tutto da buttare, anzi! L'idea della overlay mode è davvero interessante, così come la barra laterale con le applicazioni più importanti a portata di mano. Altro punto di forza è il tentativo di creare qualcosa di sempre più integrato in modo tale che la gestione dei file, delle applicazioni e delle cose da fare sia sempre più centralizzato e non disperso tra mille menù e finestre.
A mio parere Gnome Shell non appena comincerà ad essere largamente utilizzato in più distribuzioni farà nascere molte discussioni e molti commenti, positivi e negativi, perchè quando si cerca di cambiare le cose ci sono sempre i contenti e gli scontenti. Così com'è Shell affianca a tante idee interessantissime alcuni problemi per i quali non utilizzerò Shell in modo stabile sul mio pc "di lavoro". Ma consiglio a tutti di provarlo e di tenerne d'occhio gli sviluppi. Si tratta di un progetto non ancora maturo ma che sulla carta sembra avere le carte in regola per diventare un nuovo punto di riferimento dell'esperienza desktop.
I miei 2 cents
In questi giorni nella blogosfera di mezzo mondo si sono sprecate le parole sulla vicenda Nokia-Microsoft riguardante la partnership [1, 2] tra i due colossi considerata dalla stragrande maggioranza della rete (e non solo) un pubblico suicidio di Nokia.
Proprio a causa della grande attenzione di cui ha goduto la faccenda suppongo che tutti quanti conoscano più o meno i termini della faccenda. Una mossa del genere in effetti non se la aspettava nessuno. Nessuno si sarebbe aspettato che un buon produttore di hardware come Nokia si alleasse con uno sviluppatore software che fino ad ora ha fatto una figura meno che mediocre. Nemmeno il mercato visto che Nokia è crollata in borsa. Si può comprendere questa decisione in termini di una diperata corsa a dotarsi di un sistema operativo migliore di quelli disponibili (Symbian e MeeGo non ancora pronto), ed ovviamente Microsoft era lì con un sistema operativo pronto e impacchettato. Ma proprio non si poteva fare un piano di investimento a lungo termine su MeeGo? D'altra parte cosa aspettarsi da un CEO che era (ed a questo punto non si sa se lo sia ancora) sul libro paga di Microsoft?
Per ora più che un vero e proprio accordo ci sono solo una serie di linee guida tracciate per segnare il percorso da seguire. Ma se tutto andasse a buon fine Nokia si ritroverebbe a cercare di conquistarsi una fetta di mercato con un software inferiore alla agguerrita concorrenza di Android e Apple e senza nemmeno la possibilità di avere nelle mani il timone. Perchè ovviamnte WP7 è di Microsoft, la piattaforma di sviluppo è di Microsoft come anche gli sviluppatori e quindi anche il potere di dirigere lo sviluppo. La forza di Apple è anche nell'utilizzare un sistema proprio, creato a propria immagine e somiglianza, mentre tutti i produttori che si basano su Android hanno la possibilità di contribuire e personalizzare il codice per adattarlo ai propri prodotti.
Elop vuole creare un ecosistema. Non lo vedo plausibile quando tutto il comparto software è in mano ad una azienda esterna che fa solo ed esclusivamente il proprio interesse, pronta ad abbandonarti appena le cose si mettono male. D'altra parte fino ad ora Microsoft nell'accordo ci mette molto poco del suo. Nokia ci mette il proprio futuro di azienda, un fallimento sarebbe un disastro economico e di reputazione. Microsoft invece perderebbe semplicemente l'occasione di entrare in un mercato dentro al quale per ora non c'è.
Personalmente però, più che del futuro di Nokia che fa quel che vuole, mi preoccupa la sorte che potrebbero fare i vari progetti open, in primis Qt. Nokia ha detto che Qt non morirà in quanto continuerà lo sviluppo di MeeGo come piattaforma sperimentale, dunque senza un progetto commerciale preciso e fondi ridotti (ad essere sinceri le spese di Nokia per R&D fino ad ora sono state esorbitanti...). Secondo Nokia Qt continuerà a crescere sempre più grazie anche alla community. Per forza! Se gli investimenti dell'azienda scendono, c'è da sperare almeno nella community che porti avanti le cose.
In realtà personalmente non sono troppo preoccupato per la sorte di tutti i progetti che da Qt dipendono, primo fra tutti KDE che non amo ma che contribuisce mantenendo attiva la lotta con Gnome allo sviluppo di entrambi. In fondo la vicenda OpenOffice/Document Foundation ha dimostrato che non ci sono problemi legati alle aziende così grandi che non possano essere abilmente aggirati con un fork. Dunque un giorno potrebbe essere necessario forkare Qt? Boh! Vedremo.
Non so perchè mi sono messo a scrivere questo post ma sentivo in un qualche modo il desiderio di mettere su monitor quello che pensavo riguardo a questa vicenda sulla quale ho letto parecchio. Mi scuso se la scrittura può essere pessima o piena di errori, ma ho scritto tutto senza riguardare e correggere.
Se volete leggere qualcos di probabilmente più meditato per conoscere meglio la vicenda, lascio un po di link in ordine sparso:
E così con la IANA che assegna gli ultimi blocchi di indirizzi IP disponibili, si avvicina l'annunciata fine di IPv4. In teoria nessun problema: era una fine annunciata da tempo e la soluzione (IPv6) è pronta da un bel po'. Eppure non so perchè, ma secondo me Murphy ci metterà lo zampino e qualche problema alla transizione ci sarà, magari non per tutti, solo per qualcuno ma ci sarà.
Per ora non si può fare nulla, Linux è già pronto da anni ad accogliere IPv6, supportato da tempo da tutte le distribuzioni. Ce ne possiamo sincerare lanciando:
Oggi ho installato sul mio unico computer di casa che ancora monta Windows (un vecchio XP SP2) la prima versione stabile di LibreOffice, rilasciata appena qualche giorno fa.
Per chi non conoscesse tutti gli antefatti, un breve riassunto. Oracle, colosso mondiale dei database, compra nel 2009 Sun Microsystem per 7.4 miliardi di dollari. Lascia decantare un annetto l'acquisizione e poi comincia a sbarazzarsi sistematicamente di tutti i progetti open source acquisiti assieme a Sun. Per primo è colpito PostgreSQL (luglio 2010), visto come diretto competitor dell'azienda che ha appena acquistato MySQL e comunque possiede anche soluzioni proprie, la quale spegne senza preavviso alcuni server fondamentali per il progetto. In agosto viene fermato definitivamente lo sviluppo di OpenSolaris. La politica di Oracle è quella di appoggiare e sfruttare l'open source in tutto ciò che fa comodo ed osteggiarlo in tutto il resto. Così Oracle entra nella Linux Foundation e poi cerca di distruggere Red Hat ed attacca Android. Sì perchè Android fa largo uso di Java, anch'esso acquisito da Sun la quale più che cercare di ottenere soldi dai brevetti, cercava di costruire software attorno alla sua piattaforma. Oracle invece si butta subito sui brevetti ed attacca il competitor con il portafogli più cospicuo, Google appunto.
Che anche OpenOffice potesse finire nella scia distruttiva di Oracle era facile ad immaginarsi. Seguendo la filosofia "o soldi o morte" Oracle decide di modificare la licenza di OpenOffice per poterne ricavare più denaro. Gli sviluppatori, già scontenti dell'amministrazione di Sun, non ci vedono più e fondano la Document Foundation con l'obiettivo di creare un fork di OpenOffice guidato dalla comunità e completamente aperto, lontano dalle grinfie di Ellison.
La DF nasce nel settembre 2010, e si propone immediatamente di far uscire come prima versione della suite LibreOffice, una copia di OpenOffice 3.3 con in aggiunta le modifiche solitamente apportate da Novell alla suite ed alcune feature previste per OpenOffice 3.4.
Grazie ad una comunità entusiasta del progetto ed alle numerose aziende che hanno deciso di supportarlo (Red Hat, Novell, Google, FSF, Gnome Foundation, Canonical ed altre) siamo dunque già alla prima release stabile.
Per ora LibreOffice non è altro che un clone di OpenOffice con ben poche differenze. Come già detto sono presenti alcuni plugin aggiuntivi e bug fix. Ma la comunità di sviluppatori che ruotano attorno al progetto è cresciuta tantissimo (hanno già superato i 100 sviluppatori attivi) e con ogni probabilità continuerà a crescere dando al progetto grandi potenzialità. Speriamo che la comunità riesca a rendere questo progetto dinamico e moderno.
Con le maggiori distribuzioni già pronte a rimpiazzare OpenOffice con LibreOffice (che vediamo già tra i pacchetti experimental di Debian ed è prevista come suite ufficiale per Ubuntu 11.04) sono convinto che presto OpenOffice verrà abbandonato dai più. Oracle è una azienda che fattura più di 20 miliardi di dollari. Con ogni probabilità qualunque entrata gli procuri OpenOffice sarà troppo piccola perchè valga la pena per l'azienda compiere lo sforzo. La sperenza dunque è che Oracle alla fine molli i diritti del nome OpenOffice che gli sviluppatori di LibreOffice sarebbero ben contenti di riprendere. Ma dubito che Oracle potrà mai fare un favore a qualcuno senza un tornaconto.
Howto tar
E' passato un po' di tempo dal mio ultimo howto a causa degli impegni universitari pressanti che mi hanno tenuto lontano dal sito per alcuni mesi. Chi mi segue avrà notato però che da un mesetto sono di nuovo al lavoro. Comincio oggi a postare alcuni howto scritti qualche tempo fa e rimasti nel cassetto a prendere polvere in attesa di essere sistemati e pubblicati.
Il primo riguarda il noto comando tar, fondamentale e preziosissima utilità di archiviazione presente su tutti i sistemi Unix, non solamente Linux.
Un po' di tempo nel post-vacanze-natalizie-sulla-neve mi ha permesso di aggiornare l'intero sito alla più recente versione di PhpFusion da sempre motore di questo spazio. Come sempre consiglio a chiunque utilizzi lo stesso CMS di effettuare l'aggiornamento scaricabile con tutti i locale italiani da qui.
Parlando di migliorie sto terminando di aggiunstare anche un nuovo tema per il sito. Il nuovo tema sarà più semplice di quello attuale, con meno colori e meno fronzoli. Forse non piacerà a tutti ma sono un convinto sostenitore del fatto che la semplicità di grafica migliori la leggibilità di un sito.
Purtroppo c'è anche qualche problema... in particolare un problema di spam nei commenti che mi ha costretto per ora a disattivarli. Spero di riuscire a risolvere in fretta il problema.
Novità nel kernel 2.6.37
Nuova release del kernel linux, con questa siamo alla 2.6.37. Come al solito le modifiche sono moltissime e rimando alla lettura del changelog completo per chi volesse una panoramica dettagliata (e molto lunga da leggere).
Riassumendo i fatti fondamentali credo che le novità più interessanti siano essenzialmente due. In entrambi i casi tuttavia si tratta di miglioramenti alle performance visibili soprattutto su grossi server a molti processori e che difficilmente saranno apprezzabili sul nostro computer casalingo.
La prima è il miglioramento delle prestazioni del filesystem Ext4. Ora il block layer viene chiamato direttamente senza dover passare attraverso il buffer layer garantendo più velocità e minore carico per la CPU. Ted Ts'o ha annunciato che verranno introdotte ulteriori modifiche per permettere al filesystem Ext4 di raggiungere, e nella migliore delle ipotesi superare, le prestazioni di XFS su grandi cluster. I benchmark effettuati e riportati anche nel blog di Ts'o sono sicuramente incoraggianti. Ricordo tuttavia che il miglioramento in prestazioni sarà praticamente invisile su una normale macchina dotata di un paio di core, ma sarà sicuramente rilevante soprattutto nel futuro nel quale il numero dei core è destinato ad aumentare sempre più.
La seconda invece è la rimozione completa del Big Kernel Lock (BKL) che ancora restava annidato all'interno di alcune parti del codice del kernel (qui una veloce spiegazione di cosa stiamo parlando) e questa è la prima release completamente "BKL free". Probabilmente lo sforzo di eliminare le ultime tracce di questo vecchio metodo di locking del sistema non porteranno a grandi benefici in termini di prestazioni, tanto che c'è chi ha parlato dell'inutilità di questo sforzo. A mio personalissimo (e dunque altamente discutibile) parere, questo sforzo andava fatto. Anche se non ci saranno vistosi miglioramenti nella velocità complessiva ritengo importante che si sia fatto quanto era necessario per ripulire il codice da funzioni e chiamate ormai deprecati. Non si è forse recentemente parlato di quanto il kernel stia diventando "bloated" (1, 2, 3)?
Ovviamente come anticipato le novità non sono finite. Si contano diversi driver nuovi, miglioramenti a Xen al filesystem Btrfs, il supporto a PPTP nativo nel kernel e tanto altro.