Archivio

Archivio per gennaio 2011

Download delle immagini da Flickr

31 gennaio 2011 Alberto Nessun commento

Ciao a tutti qualche giorno fa volevo provare ad utilizzare il programma Metapixel per realizzare dei fotomosaici come mostrato qui. Affinchè il risultato sia il migliore possibile è necessario avere a disposizione un numero molto elevato di immagini che poi saranno composte per andare a creare il mosaico. Il problema che si presentava a questo punto era: dove trovo tante immagini?
Ho quindi pensato al sito Flickr dove gli utenti mettono a disposizione immagini/foto da loro realizzate… la ricerca delle foto può essere fatta per soggetto ritratto o anche per licenza con la quale vengono messe a disposizione. Ovviamente il mio interesse si è indirizzato verso quelle che sono state licenziate con le Creative Commons. Ho notato che tutte le pagine che mostravano le immagini avevano questo URL:

http://www.flickr.com/search/?q=&l=cc&ct=0&mt=all&adv=1#page=

e guardando il sorgente della pagina le immagini erano indicate da questo tag:

<div class="ResultsThumbsChild">
   <div style="position:relative">
	<span class="photo_container pc_t"><a href="xxx" title="yyy"><img src="zzz" width="100" height="67" alt="www"  class="pc_img" border="0" /></a></span>
	<a href="xxx" onclick="return F.explore_search.show_detail(this,event,'3673363334')" title="More information" class="search-moreinfo search-moreinfo-small" style="margin-right:8px"><img src="http://l.yimg.com/g/images/spaceout.gif" /></a>
	</div>
	      <p class="ResultsThumbsChild">From <a href="xxx">xxx</a></p>
	</div>

Dove la parte che mi interessava (cioè quella che aveva il link all’immagine) era:

img src="zzz"

ho quindi pensato di scrivere un piccolo script in python in modo che andasse a leggere il sorgente della pagina e scaricasse tutte le immagini che erano linkate. Queste sono le pagine da cui ho preso spunto per creare lo script:

Questo è quello che ne è uscito (ho messo i commenti direttamente nel codice per spiegare cosa fa), file parsehtml.py:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from sgmllib import SGMLParser
 
# definisco la classe che si occuperà di leggere il file html 
# e salvare i link alle immagini
class PARSER(SGMLParser):
    def reset(self):                              
        SGMLParser.reset(self)
        #vettore che conterrà i link
        self.linkimage = []
 
    #funzione che legge il file e cerca tutti i tag con img
    def start_img(self, attrs):      
        #per tutti i tag img leggo il campo src               
        src = [v for k, v in attrs if k=='src'] 
        for line in src:
                # se il campo src contiene farm allora lo salvo perchè è
                # un'immagine che mi interessa
		if (line.find("farm") != -1):
                        #aggiungo il link all'immagine nel vettore della classe
		    	self.linkimage.extend(src)

file main.py:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import parsehtml, os, urllib
 
# scarico tutte le immagini delle prime 100 pagine
for i in range(1,101):
        # apro una connessione e scarico la pagina con quell'url, ad ogni iterazione del ciclo prendo una pagina diversa
        sock = urllib.urlopen("http://www.flickr.com/search/?q=&l=cc&ct=0&mt=all&adv=1#page=" + str(i))
        # mi faccio stampare la pagina che sto analizzando,
        # in realtà non serve a nulla ma è utile per capire a che punto sono arrivato
        print "http://www.flickr.com/search/?q=&l=cc&ct=0&mt=all&adv=1#page=" + str(i)
        # creo la classe che andrà ad analizzare la pagina
        parser = parsehtml.PARSER()
        # associo alla classe la pagina che ho appena scaricato
        parser.feed(sock.read())
        sock.close()
        parser.close()
        # per ogni link che è stato messo nel vettore scarica l'immagine corrispondente
        # per fare il download utilizzo un programma installato sul sistema chiamato aria2c
        # e salvo tutto nella cartella images
        for src in parser.linkimage: 
	        os.system('aria2c -d images ' + src)

salvando i file nella stessa cartella, creando la cartella images e lanciando il programma con il classico:

python main.py

il vostro pc farà il download di tutte le immagini nelle prime 100 pagine mentre voi vi fate la vostra rossa (birra) preferita.

Ciao Alberto

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Categorie:Notizie Tag:

KDE 4.6 in Fedora 14

29 gennaio 2011 Alberto Nessun commento

Ciao a tutti oggi volevo provare a vedere le novità che sono state introdotte in KDE 4.6.
Le novità le potete trovare nelle pagine di annuncio del rilascio:

Ho deciso di creare una macchina virtuale con Fedora 14 con QEMU, in questo modo posso fare tutte le prove senza “sporcare” il sistema operativo con cui lavoro tutti i giorni; le guide che ho seguito per aggiornarlo/installarlo sono queste due (che ho modificato leggermente per renderle più semplici):

Aggiungere i repository

Apriamo un terminale e aggiorniamo il sistema con:

sudo yum -y update

aggiungiamo i repository da cui dovremo andare a scaricare i pacchetti dando:

sudo gedit /etc/yum.repos.d/kde.repo

e nel file aggiungiamo:

[kde]
name=kde
mirrorlist=http://apt.kde-redhat.org/apt/kde-redhat/fedora/mirrors-stable
gpgkey=http://apt.kde-redhat.org/apt/kde-redhat/kde-redhat.RPM-GPG-KEY
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kde-redhat
enabled=1
 
[kde-testing]
name=kde-testing
mirrorlist=http://apt.kde-redhat.org/apt/kde-redhat/fedora/mirrors-testing
gpgkey=http://apt.kde-redhat.org/apt/kde-redhat/kde-redhat.RPM-GPG-KEY
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kde-redhat
enabled=1
 
[kde-unstable]
name=kde-unstable
mirrorlist=http://apt.kde-redhat.org/apt/kde-redhat/fedora/mirrors-unstable
gpgkey=http://apt.kde-redhat.org/apt/kde-redhat/kde-redhat.RPM-GPG-KEY
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kde-redhat
enabled=1

Da KDE 4.x a KDE 4.6

Per aggiornare KDE da una precedente versione è sufficiente dare:

su -c "yum -y upgrade"

seguito da

sudo rm -rf ~/.kde

in questo modo quando riavvieremo il PC KDE sarà “riinizializzato”. Chiudiamo il terminale, riavviamo e quando ci loggheremo avremo a disposizione il nostro KDE 4.6 nuovo fiammante.

Installare KDE 4.6

Nel caso non avessimo KDE installato sulla nostra macchina il comando da terminale da dare sarà:

su -c "yum -y upgrade"

seguito da:

sudo yum install @kde-desktop

che ci restiruirà una cosa del tipo:

Transaction Summary
================================================================================
Install     215 Package(s)
 
Total download size: 413 M
Installed size: 1.1 G
Is this ok [y/N]:

ovviamente rispondiamo y e procedere allo scaricamento dei pacchetti e alla loro installazione. Quando il sistema avrà terminato l’installazione riavviamo e scegliamo nella schermata di login KDE come sessione da avviare.

Ciao Alberto

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Categorie:Notizie Tag:

LibreOffice x86_64 e errore con le estensioni su Fedora 14

26 gennaio 2011 Alberto Nessun commento

Ciao a tutti oggi pomeriggio stavo installando la nuova versione di LibreOffice 3.3 su un computer con Fedora 14 a 64 bit. Mi sono quindi collegato alla pagina di Download e ho scaricato i pacchetti

Ho scompattato gli archivi scaricati, andando a creare le cartelle LibO_3.3.0rc4_Linux_x86-64_install-rpm_en-US, LibO_3.3.0rc4_Linux_x86-64_langpack-rpm_it e LibO_3.3.0rc4_Linux_x86-64_helppack-rpm_it.

Installazione LibreOffice 3.3

Ho aperto un terminale e mi sono spostato nella cartella LibO_3.3.0rc4_Linux_x86-64_install-rpm_en-US e quindi nella sottocartella RPMS:

cd LibO_3.3.0rc4_Linux_x86-64_install-rpm_en-US/
cd RPMS/

Provando a lanciare i comandi per l’installazione tutto sembrava andare a buon fine ma quando poi provavo ad avviare LibreOffice c’era un problema con le estensioni che impediva al programma di partire. Ho risolto il tutto in una maniera tanto barbara quanto efficace: ho rimosso le estensioni! (al massimo le installerò in seguito quando mi serviranno). Le estensioni incriminate sono:

libobasis3.3-extension-mediawiki-publisher-3.3.0-6.x86_64.rpm
libobasis3.3-extension-nlpsolver-3.3.0-6.x86_64.rpm
libobasis3.3-extension-pdf-import-3.3.0-6.x86_64.rpm
libobasis3.3-extension-presentation-minimizer-3.3.0-6.x86_64.rpm
libobasis3.3-extension-presenter-screen-3.3.0-6.x86_64.rpm
libobasis3.3-extension-report-builder-3.3.0-6.x86_64.rpm

per eliminarle è sufficiente dare:

rm libobasis3.3-extension-*

Fatto questo, possiamo installare LibreOffice 3.3 dando il comando:

sudo rpm -ivh *.rpm

per poter integrare i programmi all’interno del menu ci dobbiamo spostare nella cartella desktop-integration con:

cd desktop-integration/

e installare il pacchetto apposito per le distrubuzioni derivate da RedHat:

sudo rpm -ivh libreoffice3.3-redhat-menus-3.3-6.noarch.rpm

Installazione pacchetti lingua italiana

Per avere LibreOffice 3.3 con la localizzazione in lingua italiana spostiamoci nella cartella LibO_3.3.0rc4_Linux_x86-64_langpack-rpm_it e quindi nella sottocartella RPMS

cd LibO_3.3.0rc4_Linux_x86-64_langpack-rpm_it
cd RPMS/

e installiamo tutti i pacchetti con:

sudo rpm -ivh *.rpm

Installazione del manuale in lingua italiana

Per avere a disposizione il manuale di LibreOffice 3.3 in lingua italiana è sufficiente spostarsi nella cartella LibO_3.3.0rc4_Linux_x86-64_helppack-rpm_it e quindi nella sottocartella RPMS

cd LibO_3.3.0rc4_Linux_x86-64_helppack-rpm_it
cd RPMS/

e installare il pacchetto:

sudo rpm -ivh libobasis3.3-it-help-3.3.0-6.x86_64.rpm

A questo punto abbiamo la nostra suite d’ufficio installata e funzionante sulla nostra Fedora 14 a 64 bit.

Ciao Alberto

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Categorie:Notizie Tag:

Una storia…

22 gennaio 2011 Alberto Nessun commento

C’era una volta un ragazzo che era appassionato di scienza. In tutta la sua breve vita era sempre stato attratto dal sapere… sia chiaro non dal Sapere con la S maiuscola ma semplicemente da quel naturale spirito di conoscenza che accompagna gli uomini fin da quando hanno cominciato ad interrogarsi sul mondo che li circondava. Questo spirito di conoscenza lo aveva avvicianato alle più disparate materie, attratto da quell’innata voglia di conoscere. Più proseguiva in questo suo cammino più le cose si mostravano oscure, complesse ma al tempo stesso interessanti. Quelli che prima di lui avevano percorso, nelle maniere più disparate, le “strade del sapere” erano riusciti a portare un po’ di luce negli angoli più incredibi della natura, erano riusciti a spiegare la forza magnetica, quella elettrica, quella nucleare, avevano capito come si formava la materia, cosa era l’energia, perchè due molecole si combinano… nel suo piccolo poteva avere solo una visione offuscata di quegli argomenti, non supportato dal genio di quelli che lo avevavo preceduto, ma era comunque intenzionato a capire una parte di quella bellezza.
Si accorse però dopo poco tempo che qualcosa gli sfuggiva, tutte le cose che aveva studiato, a cui si erano interessato e che tanto lo appassionavano erano descritte, in maniera più o meno precisa, da modelli ed equazioni che non ammettevano possibilità di intepretazione. Tuttavia parte delle cose che vedeva ogni giorno non rispettavano quella visione, erano in un certo senso dei piccoli mostriciattoli che vagavano qua e la nel mondo mettendo a soqquadro le leggi che per molto tempo aveva imparato ad apprezzare. Non ci volle molto per inquadrare alcuni di questi mostri, uno rispondeva al nome di Amicizia, un mostriciattolo dai contorni incerti che si legava a due persone e cambiava totalmente il loro rapporto, faceva vedere smussati gli angoli della personalità che essi normalmente avrebbero visto, eliminava alcune caratteristiche negative e esaltava quelle positive. Poco dopo nel suo viaggio incontro Odio una piccola peste che, a differenza dell’amicizia, esaltava le caratteristiche negative e annullava ogni possibile rapporto tra due persone.
Il mondo era pieno di questi mostri, gli altri che se n’erano accorti provarono a dar loro una spiegazione razionale e in qualche modo ci riuscirono andando a tirar in ballo parole come attrazione, complicità, feeling… tutte parole che in un qualche senso descrivevano questi mostriciattoli.
Ma, nel ragazzo, c’era ancora qualche cosa che non quadrava, spesso pensava che ci fosse ancora qualche cosa che non era stata definita, qualcosa che mancava o che sfuggiva a tutte queste descrizioni, non era sicuro di cosa fosse, quale fosse il suo nome, ma era sicuro che dovesse essere li da qualche parte. Possibile che tutti quelli prima di lui non fossero stati capaci di trovarla?
Così si mise a cercare un qualche suo segno, una sua rappresentazione, un esempio inequivocabile della sua presenza, ma dopo molto vagare non fu in grado di trovarlo. Allora pensò che si fosse sbagliato, pensò che quelli prima di lui non l’avevano cercata o trovata perchè questa cosa no c’era e quindi non ci pensò più.
Il tutto filò liscio per molto tempo e il ragazzo finì per non pensarci più.
Finchè ad un tratto, quando ormai per molto tempo si era dedicato ad altro ebbe la sensazione che quella “cosa” che cercava tempo prima lo stesse fissando. Allora si voltò, si mise a testa in giù pensando di doverla cercare in maniera diversa da tutte le altre che aveva già trovato ma non vide nulla. Eppure quella cosa era sempre li e lui la sentiva.
Cercò in tutti i libri che conosceva una descrizione di quelle sensazioni, convinto che qualcun’altro le avesse provate, e ben presto si rese conto che si trattava di una cosa che gli uomini avevano invano cercato di descrivere, avevano provato a elencarne gli effetti ma sempre si erano fermati ad una descrizione troppo fumosa della questione, nessuno aveva mai spiegato cosa la generasse, perchè ad un certo punto nascesse e quale fosse la sua natura.
Ben preso si rese conto che nel suo mondo di mostriciattoli questa “cosa” era il mostro più grande di tutti, un mostro di cui nessuno conosceva la natura, la forma, un mostro che era sempre nascosto dietro alle spalle, sempre nell’ombra, una forza che non aveva eguali sulla terra, che faceva fare alle persone cose incredibili, che apportava una gioia immensa ma che al tempo stesso poteva farti sprofondare, poteva farti arrivare all’odio. Gli uomini non erano mai stati capaci di descriverla a causa della sua natura effimera ma concreta, potente ma invisibile… e questa “cosa” ben presto prese il nome di Amore.
Il ragazzo si chiese come affrontare questa forza che vedeva ovunque ma che non riusciva a catturare, come spiegarla e come usarla a suo vantaggio.
Tuttavia capì che l’amore non si può afferrare, vedere, usare, nascondere puoi solo tenerlo li con te e conviverci, non puoi scegliere quando usarlo e quando no, quando mostrarlo e quando no, non puoi controllarlo, quello che puoi fare è aspettare che venga il momento in cui si vuole mostrare e non opporti perchè, in ogni caso, non saresti in grado di affrontare la forza più grande di tutte.
Il ragazzo non poteva immaginare quello che gli sarebbe successo, non poteva sapere se quella forza sarebbe uscita o no, non poteva spiegarla, non poteva controllarla ma aveva finalmente capito che aveva a disposizione il più grande mostro di tutti e questo lo rendeva felice.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Categorie:Notizie Tag: