





























There's more than potsherds out here
Faccio l’archeologo e vivo a Genova






























Domani mattina all’alba parto per Parma, dove seguirò la prima parte del 3° convegno internazionale Late Roman Coarse Wares, dedicata al Mediterraneo Orientale. Poi venerdì mi sposterò a Pisa per la seconda parte del convegno, che ovviamente sarà dedicata al Mediterraneo Occidentale.
La mia tesi di laurea affronterà argomenti di questo genere, quindi ho pensato che fosse una saggia idea seguire il convegno.
Non porterò con me il portatile ma al mio ritorno cercherò di fare un breve riassunto, per uso e consumo di chi non c’era.
I rivoluzionari delle carte geografiche (meglio noti come OpenStreetMap) sono finiti su La Stampa di ieri a pagina 24… Grazie Edoardo!!

M(‘)appare Milano è la nuova iniziativa lanciata da GFOSS.it e OpenStreetMap per coinvolgere i mappatori milanesi in micro eventi della durata massima di 3 ore durante i quali si procede alla raccolta dei dati di una zona limitata di territorio. La fase di editing della mappa verrà svolta dai partecipanti al proprio domicilio.
Lo scopo collaterale è quello di far conoscere il progetto ad altri potenziali partecipanti coinvolgendoli in una mappatura a due nella loro prima esperienza.
Il primo Micro Mapping Party si è svolto il 2 marzo 2008 nella zona compresa tra:

Se abiti a Milano o nei dintorni, mappa anche tu!
Sono amministratore di (circa…) 8 installazioni di Mediawiki. Mediawiki è il software (libero) che fa girare Wikipedia e migliaia di altri wiki in tutto il mondo. Inoltre, sono utente di qualcosa come 20-25 wiki che utilizzano Mediawiki. Insomma… lo uso spesso.
Oggi ho scoperto che per chi usa OpenOffice.org 2.4 è disponibile la fa-vo-lo-sa possibilità di esportare un file di testo nel formato di Mediawiki, tabelle incluse – chi ha mai avuto necessità di usare tabelle può capire cosa ciò significhi.
Provare per credere! Spero che questo sia un ulteriore incentivo per usare OpenOffice.org.

Ora il PD candiderà anche un operaio della Truck Center di Molfetta nelle sue liste, dopo averne candidato uno della Thyssen Krupp?
Sarebbe interessante sommare
le informazioni che risultano da queste due ricerche:
Io abito a Siena e bevo l’acqua del rubinetto. Fate voi. Ma sapere che anche 200 anni fa un alto numero di persone era esposto a quantità ingenti di arsenico è straordinariamente interessante. Abbiamo ancora un po’ di cose da scoprire sui veleni…
A proposito di Napoleone: ma come è stato possibile analizzare campioni di capelli prelevati da Napoleone fanciullo, durante il suo esilio nell’Isola d’Elba, nell’isola di Sant’Elena il giorno della sua morte ed in quello successivo
? Molto buffo.
ti accorgi che è passato molto tempo dall’ultima volta che hai visto un brufolo sulla tua faccia.
Non parliamo poi del fatto che quest’anno compio 25 anni.
The pySerial library is really good. Today I installed it and in half an hour I got acquainted with its class methods, even though I have little knowledge about serial ports and the like.
With some trial and error about the connection parameters, I was even able to solve the problem with non-printable characters, tweaking the bytesize of the connection.
Briefly, these are the steps I did in the interactive ipython console:
>>> import serial
>>> ser = serial.Serial('/dev/ttyUSB0', \
baudrate=9600, bytesize=serial.SEVENBITS, timeout=0, \
parity=serial.PARITY_NONE, rtscts=1)
>>> ser.open()
>>> ser.inWaiting() 648L
A non-zero result means that you have received something.
read() method of the Serial class:
>>> n = ser.inWaiting() >>> result = ser.read(n)
result object is a string, seeing its contents is as simple as:
>>> print(result) 0001 OR.COOR 0002 0S X 0.000 Y 0.000 Z 0.000 0003 Om 397.0370 0004 POLAR 0005 INPUT th 1.500 ih 0.000 0006 INPUT th 0.000 ih 0.000 Z 0.000 0007 1 X -0.472 Y 1.576 Z 0.004 END
As you can see, there are no errors after the END sentence, because the serial connection is handled gracefully now. The previous attempt with cat /dev/ttyUSB0 was a bit brutal…
For now, that’s all. I go back studying and maybe also writing some Python code for this Total Station. If you have got a total station and want to contribute to this project, let me know by leaving a comment here.
In this off-line weekend, I went on investigating the output from the Zeiss Elta R55 total station.
First of all, it turns out that the file was not binary. A simple
$ file downloaded_data downloaded_data: Non-ISO extended-ASCII text
could have revealed this simple truth. My error was due mainly to the fact that most of the content in the file was made by non-printable characters. But my guess about the lines that contained the point coordinates was right. Probably due to a wrong download procedure, there were some problems with that file. All characters with code > 128 (hex 80) had to be translated shifting their code by 128. I used this simple Python script for this task:
>>> read_file = open("downloaded_data", 'r')
>>> des = read_file.read()
>>> for i in des:
... if ord(i) > 127:
... print chr(ord(i)-128)
... else:
... print chr(ord(i))
Probably this could be done in a better way, but I’m no hexpert at all. And I think this can be completely avoided by downloading from the serial port with the right connection parameters. I think I’m going to use the pySerial library for this task.
Obviously, I’m solving the problem for one model of one manufacturer, but there are many models and many brands. With my short experience, the best solution I can think of is a modular approach, with an abstract connection class that can be subclassed, with the connection parameters for each model.
The second part of the story comes when it’s time to process the downloaded data. First of all, take a look at the clean file contents:
0001 OR.COOR 0002 0S X 0.000 Y 0.000 Z 0.000 0003 Om 397.0370 0004 POLAR 0005 INPUT th 1.500 ih 0.000 0006 INPUT th 0.000 ih 0.000 Z 0.000 0007 1 X -0.472 Y 1.576 Z 0.004 END E E
Let’s comment it, line by line:
Part 3 will follow soon.