-
Follie dell’open source: OpenVibe (vibratore open source)
Pubblicato il dicembre 17th, 2008 Nessun commentoQuando ieri, nella mailing list della comunità di OpenMoko, è comparso un messaggio che annunciava l’uscita di OpenVibe stentavo a crederci, eppure è tutto vero:
OpenVibe is the first open source vibration. With this software you can control the vibration of the FreeRunner for give pleasure to your girlfriend.
da http://wiki.openmoko.org/wiki/OpenVibe
Poi dicono che l’open source non stimoli la fantasia!
-
Estrapolare dati dai file gpx
Pubblicato il luglio 31st, 2008 6 commentiDopo l’avventurosa e faticosissima biciclettata di sabato scorso sulla strada che porta a Castel del Monte (foto), che ovviamente abbiamo mappato (permalink osm), mi sono chiesto quale fosse la variazione di pendenza che le nostre povere gambe hanno dovuto sopportare e mi sono subito messo all’opera per scrivere un rudimentale parser in Python sfruttando il modulo BeautifulSoup (installabile dai repository di Ubuntu)
Avendo più tempo a disposizione mi piacerebbe scrivere l’interfaccia grafica del programmino e far disegnare il grafico ad uno dei potenti widget di wxPython, ma purtroppo adesso devo accontentarmi di questo script molto semplice ma al tempo stesso efficace.
Clic qui per scaricare lo script.
Anche se lo script è semplicissimo aggiungo qualche commento:
</code> try: NomeFile = sys.argv[1] except: print "Argomento mancante o non valido" exit()
Controlla che il nome del file sia stato passato come argomento.
</code> try: gpx = open(NomeFile,'r') except: print "Impossibile leggere il file, controllare che lo stesso esista e che sia leggibile" exit()
Tenta di aprire il file gpx passato come argomento.
</code> xml = gpx.read() gpx.close() soup = BeautifulStoneSoup(xml) dati = open('dati.txt','w') n = 0 for i in soup.findAll('ele'): dati.write(i.string + '\n') n = n + 1 dati.close()Il file viene letto e il suo contenuto, salvato nella variabile xml, viene passato al parser xml di BeautifulSoup, a questo punto viene invocata la funzione findAll che restituisce una lista contenente tutti i tag <ele> (compreso il contenuto dei tag).
L'istanza string, richiamata sui singoli elementi della lista, restituisce solo il contenuto dei tag <ele> senza il tag stesso, infine i contenuti vengono salvati su un file txt separati da un carriage return.
Per eseguire correttamente lo script è sufficiente eseguire lo script digitando da terminale:
$: python altitudine.py nomefile.gpx
e poi ricopiare i valori del file dati.txt in un foglio di calcolo e far elaborare il grafico dal software (ovviamente consiglio sempre di utilizzare OpenOffice.org - Calc).
Questo è il grafico elaborato dai gpx del percorso verso Castel del Monte (clic per ingrandire):
-
Chi non ricorda tetris?
Pubblicato il marzo 30th, 2008 3 commentiUno dei giochi più famosi al mondo ha ispirato la fantasia di Guillaume Reymond che ha creato questo divertentissimo video.



