ASeti. Current version 1.0

Touched by the hand of AGR...


This is another program to display you the data and progress of your SETI@home client.

The SETI project

The SETI project stands for Search for Extraterrestrial Intelligence and I am not going to explain anything else about it because there are hundreds of pages around the net that can tell you a lot about it

The SETI@home project

The SETI@home project is also nicely explained at its homepage and I only going to go through it very quickly.

We can say the main objective would be the discovery of ETI, but a more reasonable goal is just analyze all the data they are getting from the Arecibo observatory in Cuba.

The analysis of that amount of data is not possible by one computer, not even the biggest farm of them. They would need an impossible computer. So what they did was to split the problem for and already divided computer: the computers of the world.

You get a small client program that can work as a screensaver for MS Windows/Apple (you can think that you don not like SETI, or that is is a waste of time and not useful, but you have to agree with my that is is more useful than the Flying windows or displaying an OpenGL clock; you can find other projects in these pages).

The ASeti

After having the SETi@home client running in my computers for a while, I wanted to keep more track of work the computer was doing, so I tried some of the client's add-ons (see Seti@home . Some were nice, some where not so nice..;), but I wanted one with the following requirements:

  1. be able to keep track of all possible data, not just the data from my computer, but also the statistics from the web page
  2. portable, at least for Windows and GNU/Linux (I have no more OS to try it in :D )
  3. not resource-hungry. None of them are, but I don't want to start the X just to watch it.

So I ended with a Python script that solves my problems. Python allows portability, and it runs on a console, so it can be used anywhere.

The program



There are two requirements:

  1. the Seti@Home client
  2. the Python 2.2 interpreter. Probably it runs with a lower Python version, but I had not tested it. The script only uses the following modules, that should be present in almost any Python distribution:
    1. time, for dates
    2. math, some needed functions
    3. os.path, to check the existence of files
    4. urllib, to check in the statistics web


The installation is very easy. Just put the Python script in the directory you want it and edit the script. Then edit the file and set up the needed variables.

Setting up variables

The only needed variable so far is the aseticonfig that points to the configuration file (you can put it wherever you want as far as you can read and write it) and the setidir, that points to the Seti@Home directory (only read permission is needed). Do not forget to add a slash/escaped-backslash (depending of your OS) at the end of the paths.

The first run on the script also needs you to set the seti['email'] so it can fetch statistic from the web, but from that, its value will be stored in the configuration file and longer will be needed in the main script. Anoder option is to put the e-mail already in the aseticonfig file so no further editing of the main script is needed:


So far, there are not much options. Once the program is started with

python asety

or the aseti icon is clicked, the data is presented:

== ASeti == 1.00 == Seti == 3 3 ==  Angel Gutierrez ========
== 2004 == Std:12682.80 == Touched by the hand of AGR... ==
User = Cuelebre     Country = Sweden     E-mail
Registered =Wed Jun 20 15:15:58 2001   Last result = Fri Jul  2 15:07:31 2004
Total CPU = 4 y 265 d 1 h 17 m  0.48 s Avera CPU = 0 y 0 d 10 h 55 m  0.76 s
Work units=3790  Position: 70813 (19) of 5047910 users (98.597)
ClUs before: More than me       WU= 3800 Average CPU: 9 hr 15 min 35.2 sec
      after: Less than me           3634              11 hr 51 min 52.8 sec
Current data set:  RA: 39h 25' 26.40''    Dec: 18 deg 4' 48.00''
Recorded: Sun Nov 30 15:59:09 2003   Time to finish=0 y 0 d 0 h 34 m  0.74 s
Done: 0.8683       ###################################-----
Spike:    score=0.7168 power=208.363           Best:1.0888 (2004-7-2-1-51)
Gaussian: score=0.1991 power=  1.181 fit=5.93  Best:0.2590 (2004-7-2-7-24)
Pulse:    score=1.0238 power=  0.955           Best:1.1468 (2004-7-2-10-11)
Triplet:  score=9.5091 power=  9.509           Best:12.5447 (2004-7-2-10-11)
Stats:  [r]-Refresh  [l]-Loop    [m]-Map  [q]-Quit

At the end of the screen, you have the possible options:

The screen

The information you can see on the screen is:

Be aware that the information shown can not be up to date. The data from the current work unit is read from the local files when it is refreshed, and no automatic mechanism is active to check when those files get modified. Also, the data obtained from the web page will not be updated if the network is not working (also, some data like the Class one is updated once a week).

The map

The map window will be something like:

!= Max. spike       = [36.268000000000001, 10.43]
^= Max. gaussian    = [18.628, 28.460000000000001]
$= Max. pulse       = [35.244999999999997, 25.09]
)= Max. triplet     = [35.244999999999997, 25.09]
&= Current work unit= [39.225999999999999, 17.620000000000001]
Right ascension: From  0.0 to 23.6666666667
Declination: From  0.0 to 27.0
  0.0 [                                                                        ]
  3.0 [                                                                        ]
  6.0 [                                                                        ]
  9.0 [  1                                                                     ]
 12.0 [                  1 1                !                                  ]
 15.0 [                1                         1     1                       ]
 18.0 [                                              &  1                      ]
 21.0 [ 1                                   1     1   1                1       ]
 24.0 [                                                                        ]
 27.0 [                                  )       1         1   ^               ]

Where a number indicates the number of work units analyzed in that position (a '*' would indicate 10 or more and the other symbols are explained before the map. Note that the map is upside down.

Internal structure

The program is wrapped around a global dictionary where all the data is stored and a set of functions that read the files and load the data into the dictionary.

As the numeration says, it is the first working version, and I think my Python can be optimized. Specially parsing the HTML web pages from the SETI@home site.



The script is in the the GPL License PLUS one mail to telling me who's using it (nickname, country, whatever...), critics or requeriments... I would just like to keep track of how many people is using it and if it worths to keep working on it.

Any improvement you make yourself is also welcome. Send me an email telling me about it so I can incorporate it into the "official" releases.

Versions/ Download

  1. 2004-07-10. 1.0 First public release. Download (5008b GZip)

Future developments

Here is the section were I plan to keep track of the planned changes/improvements to the program. Any suggestion at will appreciated.

Bugs to correct

Planned development

  1. Status: None. Control of the client (when possible).
  2. Status: None. Monitor several Seti directories.
  3. Status: None. X/Windows (Tk) version.
  4. Status: None. Scalable maps if you have many work units.


Any comment, improvement or critic is welcomed at

Page version 1.0.1 2004-07-14

Using Quanta.

Tha page is not HTML 4 certified because of the records added by Tripod..:D but the (simple) CSS works! Valid CSS!