CPAN

the status of CPAN mirrors

date:Wed Feb 18 12:22:03 2026 (UTC)
last check : Wed Feb 18 12:22:03 2026 (UTC)

CPAN links


regions

 Master   ae   ar   at   au   az   bg   br   by   ca   cl   cn   cr   cz   de   dk   ec   es   fi   fr   gr   hr   id   ie   in   ir   it   jp   ke   kr   md   nc   nl   no   nz   ph   pl   pt   ro   rs   ru   se   sg   si   sk   tw   ug   uk   us   uy   vn   za   zz 

report

251 sites in 53 regions
0 bad -- 116 older than 4.0 days -- 81 unreachable for more than 6 hours
last probes : 166 were ok, 2 had '<!DOCTYPE', 3 had 'Unknown module ..', 1 had 'chroot failed', 5 had 'hangs', 2 had 'max connections..', 57 had no time, 15 had site not found
mean mirror age is 175.2 days, std_dev 286.3 days, median 2.3 days
CPAN site -- home type mirror age,
daily stats
last probe,
probe stats
last stat
Master
cpan-rsync.perl.org::CPAN  @ rsync 3 minutes
renewed
ok
Argentina
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Australia
cpan.mirror.digitalpacific.com.au  @ http 127.4 days
1 hour
ok
cpan.mirror.digitalpacific.com.au::cpan  @ rsync 127.4 days
117.5 days
no time
cpan.mirror.serversaustralia.com.au  @ http 10 hours
3 hours
ok
mirror.internode.on.net  @ ftp 127.4 days
renewed
ok
mirror.internode.on.net::cpan  @ rsync 127.4 days
2 hours
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Austria
mirror.easyname.at  @ ftp 2.3 days
renewed
ok
mirror.easyname.at  @ http 2.3 days
1 hour
ok
Azerbaijan
mirror.yer.az  @ http 5.3 days
1 hour
ok
Belarus
ftp.byfly.by  @ ftp 43 minutes
renewed
ok
ftp.byfly.by  @ http 2 hours
1 hour
ok
ftp.byfly.by::CPAN  @ rsync 4 hours
3 hours
ok
mirror.datacenter.by  @ ftp 8.3 days
2 hours
ok
mirror.datacenter.by  @ http 8.3 days
3 hours
ok
mirror.datacenter.by::CPAN  @ rsync 8.2 days
8.2 days
no time
Brazil
mirror.pop-sc.rnp.br  @ http 2.2 days
3 hours
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Bulgaria
mirrors.neterra.net  @ ftp 7 hours
2 hours
ok
mirrors.neterra.net  @ http 7 hours
3 hours
ok
mirrors.neterra.net::CPAN  @ rsync 7 hours
2 hours
ok
mirrors.netix.net  @ ftp 7 hours
3 hours
ok
mirrors.netix.net  @ http 7 hours
3 hours
ok
mirrors.netix.net::CPAN  @ rsync 7 hours
2 hours
ok
Canada  -  9 sites
mirror.its.dal.ca  @ ftp 2 hours
renewed
ok
mirror.its.dal.ca  @ http 2.1 days
3 hours
ok
CPAN.mirror.rafal.ca  @ ftp 27 hours
2 hours
ok
CPAN.mirror.rafal.ca  @ http 27 hours
3 hours
ok
CPAN.mirror.rafal.ca::CPAN  @ rsync 27 hours
2 hours
ok
mirror.csclub.uwaterloo.ca  @ ftp 10 hours
renewed
ok
mirror.csclub.uwaterloo.ca  @ http 10 hours
2 hours
ok
mirror.csclub.uwaterloo.ca::CPAN  @ rsync 10 hours
renewed
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Chile
cpan.dcc.uchile.cl  @ ftp 498.0 days
498.0 days
no time
cpan.dcc.uchile.cl  @ http 210.0 days
210.0 days
no time
cpan.metacpan.org  @ http 23 minutes
renewed
ok
China  -  7 sites
mirror.lzu.edu.cn  @ http 4 hours
2 hours
ok
mirrors.neusoft.edu.cn  @ http 156.3 days
156.3 days
no time
mirrors.ustc.edu.cn  @ http 17 hours
renewed
ok
mirrors.163.com  @ http 63.4 days
62.5 days
no time
mirror-hk.koddos.net  @ http 394.2 days
1 hour
ok
mirror-hk.koddos.net::CPAN  @ rsync 394.2 days
3 hours
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Costa Rica
mirrors.ucr.ac.cr  @ http 12 hours
2 hours
ok
Croatia
ftp.carnet.hr  @ ftp 12 hours
2 hours
ok
ftp.carnet.hr  @ http 12 hours
1 hour
ok
Czech Republic
mirror.dkm.cz  @ ftp 1079.2 days
1078.9 days
no time
mirror.dkm.cz  @ http 9.7 days
9.0 days
no time
mirror.dkm.cz::cpan  @ rsync 9.7 days
8.9 days
'Unknown module ..'
ftp.fi.muni.cz  @ ftp 11 hours
3 hours
ok
mirrors.nic.cz  @ http 140.9 days
140.0 days
no time
mirrors.nic.cz::CPAN  @ rsync 169.4 days
169.0 days
no time
Denmark
mirrors.dotsrc.org  @ ftp 3 hours
renewed
ok
mirrors.dotsrc.org  @ http 3 hours
2 hours
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Earth
www.cpan.org  @ http 23 minutes
renewed
ok
Ecuador
mirror.cedia.org.ec  @ ftp 2 hours
2 hours
ok
mirror.cedia.org.ec  @ http 1 hour
1 hour
ok
mirror.cedia.org.ec::CPAN  @ rsync 23 minutes
renewed
ok
Finland
ftp.funet.fi  @ ftp 9 hours
1 hour
ok
rsync.nic.funet.fi::CPAN  @ rsync 9 hours
2 hours
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
France  -  8 sites
mirror.ibcp.fr  @ http 127.4 days
2 hours
ok
ftp.lip6.fr  @ ftp 16 hours
3 hours
ok
ftp.lip6.fr  @ http 16 hours
3 hours
ok
cpan.mines-albi.fr  @ http 508.0 days
508.0 days
no time
cpan.mirrors.ovh.net  @ http 35 hours
1 hour
ok
cpan.tetaneutral.net  @ http 5 hours
2 hours
ok
cpan.tetaneutral.net::cpan  @ rsync 5 hours
3 hours
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Germany  -  25 sites
mirror.23m.com  @ http 1 hour
1 hour
ok
mirror.23m.com::cpan  @ rsync 13 hours
3 hours
ok
mirror.softaculous.com  @ http 265.9 days
265.8 days
no time
mirror.checkdomain.de  @ ftp 2.4 days
1 hour
ok
mirror.checkdomain.de  @ http 2.4 days
3 hours
ok
ftp.fu-berlin.de  @ ftp 7 hours
3 hours
ok
ftp.gwdg.de  @ ftp 4 hours
renewed
ok
ftp.gwdg.de  @ http 4 hours
1 hour
ok
ftp.gwdg.de::pub/languages/perl/CPAN  @ rsync 4 hours
3 hours
ok
ftp-stud.hs-esslingen.de  @ http 7 hours
1 hour
ok
ftp-stud.hs-esslingen.de::CPAN  @ rsync 7 hours
renewed
ok
mirror.netcologne.de  @ ftp 23 hours
2 hours
ok
mirror.netcologne.de  @ http 23 hours
renewed
ok
mirror.netcologne.de::cpan  @ rsync 23 hours
1 hour
ok
cpan.noris.de  @ http 156.4 days
156.3 days
site not found
www.planet-elektronik.de  @ http 13 hours
1 hour
ok
ftp.halifax.rwth-aachen.de  @ ftp 124.8 days
1 hour
ok
ftp.halifax.rwth-aachen.de  @ http 124.8 days
renewed
ok
ftp.halifax.rwth-aachen.de::cpan  @ rsync 124.8 days
1 hour
ok
cpan.mirror.iphh.net  @ ftp 1.5 days
3 hours
ok
cpan.mirror.iphh.net  @ http 1.5 days
3 hours
ok
mirror.de.leaseweb.net  @ ftp 6 hours
1 hour
ok
mirror.de.leaseweb.net  @ http 6 hours
2 hours
ok
mirror.de.leaseweb.net::CPAN  @ rsync 18 hours
7 hours
'max connections..'
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Greece
ftp.ntua.gr  @ ftp 1 hour
1 hour
ok
ftp.ntua.gr  @ http 1 hour
1 hour
ok
ftp.ntua.gr::CPAN  @ rsync 3 minutes
renewed
ok
India
cpan.excellmedia.net  @ http 806.6 days
renewed
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Indonesia
mirror.biznetgio.com  @ http 2.7 days
2 hours
ok
cpan.pesat.net.id  @ http 1.9 days
1 hour
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Iran
mirror.rasanegar.com  @ http 661.9 days
661.9 days
site not found
Ireland
ftp.heanet.ie  @ ftp 471.4 days
434.1 days
'hangs'
ftp.heanet.ie  @ http 471.4 days
433.2 days
no time
ftp.heanet.ie::mirrors/ftp.perl.org/pub/CPAN  @ rsync 471.4 days
434.0 days
no time
Italy
cpan.mirror.garr.it  @ http 128.6 days
128.1 days
site not found
cpan.panu.it  @ http 667.0 days
666.8 days
site not found
ftp.panu.it  @ ftp 667.0 days
666.8 days
site not found
rsync.panu.it::CPAN  @ rsync 666.7 days
666.7 days
site not found
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Japan  -  14 sites
ftp.jaist.ac.jp  @ ftp 2 hours
2 hours
ok
ftp.jaist.ac.jp  @ http 8 hours
3 hours
ok
ftp.jaist.ac.jp::pub/CPAN  @ rsync 2 hours
2 hours
ok
ftp.yz.yamagata-u.ac.jp  @ ftp 5 hours
renewed
ok
ftp.yz.yamagata-u.ac.jp  @ http 5 hours
3 hours
ok
ftp.nara.wide.ad.jp  @ ftp 12.8 days
renewed
ok
ftp.nara.wide.ad.jp  @ http 12.8 days
3 hours
ok
ftp.nara.wide.ad.jp::cpan  @ rsync 12.8 days
1 hour
ok
ftp.kddilabs.jp  @ ftp 232.3 days
232.2 days
no time
ftp.kddilabs.jp::cpan  @ rsync 232.3 days
232.3 days
no time
ftp.riken.jp  @ ftp 625.5 days
625.4 days
no time
ftp.riken.jp  @ http 7 hours
2 hours
ok
ftp.riken.jp::cpan  @ rsync 7 hours
2 hours
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Kenya
mirror.liquidtelecom.com  @ ftp 443.1 days
443.1 days
no time
mirror.liquidtelecom.com  @ http 33 minutes
renewed
ok
mirror.liquidtelecom.com::CPAN  @ rsync 2 hours
1 hour
ok
Korea, Republic of
cpan.mirror.cdnetworks.com  @ ftp 317.6 days
317.4 days
no time
cpan.mirror.cdnetworks.com  @ http 68.6 days
66.7 days
no time
mirror.navercorp.com  @ http 1.7 days
2 hours
ok
ftp.kr.freebsd.org  @ ftp 12 hours
renewed
ok
ftp.kr.freebsd.org  @ http 429.1 days
429.0 days
no time
Moldova
mirror.as43289.net  @ ftp 166.2 days
2 hours
ok
mirror.as43289.net  @ http 166.2 days
2 hours
ok
mirror.as43289.net::CPAN  @ rsync 166.2 days
renewed
ok
Netherlands  -  14 sites
mirror.koddos.net  @ http 393.9 days
renewed
ok
mirror.koddos.net::CPAN  @ rsync 393.9 days
renewed
ok
mirror.nl.leaseweb.net  @ http 6 hours
3 hours
ok
mirror.nl.leaseweb.net::CPAN  @ rsync 6 hours
4 hours
'max connections..'
mirror.transip.net  @ ftp 380.4 days
380.2 days
no time
mirror.transip.net  @ http 380.0 days
380.0 days
'<!DOCTYPE'
mirror.transip.net::CPAN  @ rsync 380.0 days
380.0 days
'Unknown module ..'
ftp.nluug.nl  @ ftp 460.5 days
2.1 days
no time
ftp.nluug.nl  @ http 460.5 days
3.2 days
no time
ftp.nluug.nl::CPAN  @ rsync 460.5 days
2.2 days
'chroot failed'
cpan.mirror.triple-it.nl  @ http 7 hours
3 hours
ok
ftp.tudelft.nl  @ ftp 127.4 days
2 hours
ok
ftp.tudelft.nl  @ http 127.4 days
renewed
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
New Caledonia
cpan.lagoon.nc  @ ftp 1.5 days
renewed
ok
cpan.lagoon.nc  @ http 1.5 days
1 hour
ok
cpan.lagoon.nc::cpan  @ rsync 1.5 days
3 hours
ok
New Zealand  -  7 sites
mirror.webtastix.net  @ ftp 858.9 days
858.8 days
no time
mirror.webtastix.net  @ http 858.9 days
858.6 days
'hangs'
mirror.webtastix.net::CPAN  @ rsync 858.9 days
858.7 days
no time
cpan.catalyst.net.nz  @ http 176.2 days
176.0 days
site not found
cpan.inspire.net.nz  @ ftp 2 hours
2 hours
ok
cpan.inspire.net.nz  @ http 1 hour
1 hour
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Norway
cpan.uib.no  @ http 32.2 days
2 hours
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Philippines
mirror.rise.ph  @ ftp 330.5 days
302.4 days
no time
mirror.rise.ph  @ http 127.4 days
1 hour
ok
Poland
ftp.agh.edu.pl  @ ftp 2 hours
1 hour
ok
ftp.agh.edu.pl  @ http 2.1 days
3 hours
ok
Portugal
cpan.perl.pt  @ http 1105.7 days
1105.7 days
'<!DOCTYPE'
rsync.cpan.perl.pt::cpan  @ rsync 1105.8 days
1105.8 days
no time
mirrors.up.pt  @ ftp 4 hours
3 hours
ok
mirrors.up.pt  @ http 1 hour
renewed
ok
mirrors.up.pt::CPAN  @ rsync 261.1 days
261.1 days
'hangs'
cpan.zbr.pt  @ http 2 hours
2 hours
ok
Romania  -  8 sites
mirrors.nxthost.com  @ http 575.3 days
575.3 days
no time
ftp.lug.ro  @ http 28 hours
3 hours
ok
mirrors.m247.ro  @ http 77.1 days
1 hour
ok
mirrors.m247.ro::CPAN  @ rsync 77.1 days
1 hour
ok
mirrors.nav.ro  @ ftp 663.5 days
663.2 days
no time
mirrors.nav.ro  @ http 663.5 days
663.2 days
no time
mirrors.nav.ro::CPAN  @ rsync 663.5 days
663.2 days
'Unknown module ..'
mirrors.xservers.ro  @ http 400.1 days
380.2 days
'hangs'
Russian Federation  -  12 sites
ftp.aha.ru  @ ftp 411.4 days
34.1 days
no time
cpan-mirror.rbc.ru  @ http 2 hours
2 hours
ok
cpan.rinet.ru  @ ftp 996.4 days
995.7 days
site not found
cpan.rinet.ru  @ http 996.4 days
995.7 days
site not found
mirror.rol.ru  @ http 2 hours
renewed
ok
mirror.truenetwork.ru  @ ftp 4 hours
2 hours
ok
mirror.truenetwork.ru  @ http 4 hours
3 hours
ok
mirror.truenetwork.ru::cpan  @ rsync 4 hours
3 hours
ok
cpan.uni-altai.ru  @ http 6.7 days
renewed
ok
mirror.yandex.ru  @ ftp 15 hours
4 hours
no time
mirror.yandex.ru  @ http 1 hour
renewed
ok
mirror.yandex.ru::mirrors/cpan  @ rsync 25 hours
3 hours
ok
Serbia
mirror.sbb.rs  @ ftp 60.6 days
1 hour
ok
mirror.sbb.rs  @ http 60.6 days
renewed
ok
Singapore
cpan.mirror.choon.net  @ http 54.3 days
2 hours
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Slovakia
tux.rainside.sk  @ http 7 hours
1 hour
ok
Slovenia
ftp.arnes.si  @ ftp 589.4 days
162.3 days
no time
ftp.arnes.si  @ http 589.4 days
162.3 days
no time
South Africa  -  8 sites
cpan.saix.net  @ http 2.0 days
renewed
ok
ftp.saix.net  @ ftp 2.0 days
renewed
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
cpan.mirror.ac.za  @ ftp 161.1 days
145.1 days
no time
cpan.mirror.ac.za  @ http 161.1 days
161.0 days
no time
cpan.mirror.ac.za::cpan  @ rsync 161.1 days
160.9 days
no time
ftp.is.co.za  @ ftp 2.6 days
3 hours
ok
mirror.is.co.za  @ http 2 hours
1 hour
ok
Spain
osl.ugr.es  @ http 743.3 days
743.0 days
no time
cpan.metacpan.org  @ http 23 minutes
renewed
ok
Sweden
cpan.metacpan.org  @ http 23 minutes
renewed
ok
ftp.acc.umu.se  @ ftp 636.3 days
636.0 days
no time
ftp.acc.umu.se  @ http 636.3 days
636.0 days
no time
ftp.acc.umu.se::mirror/CPAN  @ rsync 636.3 days
636.0 days
no time
Taiwan
ftp.ubuntu-tw.org  @ ftp 3.8 days
1 hour
ok
ftp.ubuntu-tw.org  @ http 3.8 days
renewed
ok
ftp.ubuntu-tw.org::CPAN  @ rsync 3.8 days
3 hours
ok
Uganda
mirror.kiu.ac.ug  @ http 597.6 days
597.2 days
site not found
mirror.ucu.ac.ug  @ http 1397.7 days
723.3 days
no time
United Arab Emirates
cpan.metacpan.org  @ http 23 minutes
renewed
ok
United Kingdom  -  18 sites
cpan.mirror.anlx.net  @ http 166.3 days
166.1 days
no time
mirrors.coreix.net  @ http 12 hours
1 hour
ok
mirror.sov.uk.goscomb.net  @ http 721.0 days
720.9 days
no time
mirrors.uk2.net  @ ftp 43.9 days
2 hours
ok
mirrors.uk2.net::CPAN  @ rsync 43.9 days
renewed
ok
cpan.mirrors.uk2.net  @ http 43.9 days
renewed
ok
mirrors.gethosted.online  @ http 4 hours
3 hours
ok
mirrors.gethosted.online::cpan  @ rsync 399.8 days
399.3 days
no time
cpan.cpantesters.org  @ http 10 hours
10 hours
no time
cpan.metacpan.org  @ http 23 minutes
renewed
ok
ftp.mirrorservice.org  @ ftp 5 hours
renewed
ok
rsync.mirrorservice.org::cpan.perl.org/CPAN  @ rsync 5 hours
1 hour
ok
www.mirrorservice.org  @ http 5 hours
1 hour
ok
mirror.ox.ac.uk  @ ftp 141.5 days
131.8 days
no time
mirror.ox.ac.uk  @ http 141.5 days
131.8 days
no time
mirror.bytemark.co.uk  @ ftp 1092.1 days
1092.0 days
no time
mirror.bytemark.co.uk  @ http 1092.3 days
1092.2 days
no time
mirror.bytemark.co.uk::CPAN  @ rsync 192.4 days
2 hours
ok
United States  -  33 sites
mirror.cogentco.com  @ ftp 1 hour
renewed
ok
mirror.cogentco.com  @ http 2.3 days
2 hours
ok
mirror.cogentco.com::CPAN  @ rsync 1 hour
renewed
ok
cpan.develooper.com  @ http 2 hours
2 hours
ok
cpan.mirrors.hoobly.com  @ http 4 hours
2 hours
ok
mirrors.namecheap.com  @ http 765.2 days
765.2 days
site not found
mirrors.namecheap.com::CPAN  @ rsync 765.2 days
765.2 days
site not found
cpan.pair.com  @ http 2 hours
1 hour
ok
mirror.xmission.com  @ ftp 9 hours
renewed
ok
mirrors.rit.edu  @ ftp 9 hours
3 hours
ok
mirrors.rit.edu  @ http 9 hours
1 hour
ok
mirrors.rit.edu::cpan  @ rsync 9 hours
2 hours
ok
mirror.uic.edu  @ http 45.1 days
41.8 days
no time
mirror.uic.edu::CPAN  @ rsync 45.1 days
41.8 days
no time
cpan.cs.utah.edu  @ ftp 354.3 days
354.0 days
no time
cpan.cs.utah.edu  @ http 7 hours
1 hour
ok
cpan.cs.utah.edu::CPAN  @ rsync 7 hours
3 hours
ok
ftp.wayne.edu  @ ftp 24 hours
3 hours
ok
ftp.wayne.edu  @ http 24 hours
1 hour
ok
mirror.datapipe.net  @ http 728.1 days
728.0 days
'hangs'
mirror.low-orbit.net  @ http 565.3 days
3 hours
ok
mirror.metrocast.net  @ http 24 hours
2 hours
ok
mirrors.syringanetworks.net  @ ftp 596.0 days
595.7 days
site not found
mirrors.syringanetworks.net  @ http 596.0 days
595.7 days
site not found
mirrors.syringanetworks.net::CPAN  @ rsync 595.7 days
595.6 days
site not found
mirrors.ibiblio.org  @ http 9 hours
1 hour
ok
cpan.metacpan.org  @ http 23 minutes
renewed
ok
ftp.osuosl.org  @ ftp 19 hours
5 hours
no time
ftp.osuosl.org  @ http 19 hours
4 hours
no time
searchcpan.org  @ http 61.1 days
3 hours
ok
mirror.team-cymru.org  @ ftp 33 hours
3 hours
ok
mirror.team-cymru.org  @ http 33 hours
renewed
ok
mirror.team-cymru.org::CPAN  @ rsync 33 hours
2 hours
ok
Uruguay
espejito.fder.edu.uy  @ http 4 hours
1 hour
ok
Viet Nam
mirror.downloadvn.com  @ http 401.5 days
231.9 days
no time

age histogram

39 sites





 age → | ←  0 ≤ age ≤ 2.0 days  → |  48h < age ≤ 96h   old   bad 
 251 sites  |  120 sites  |  15 sites   116 sites   0 sites 

each unit represents 2.2 mirror sites.

legend

project site -- home

project site is an url. The href is the href for the site in the list of mirrors, usually the root of the mirrored file tree. The text is the site of that url.

home (represented by the @-symbol) is an url pointing to the document root of the site. This pointer is useful if the project site url is invalid, possibly because the mirror site moved the archive.

type

Indicates the type (ftp or http) of the project site and home urls.

mirror age, daily stats

The mirror age is based upon the last successful probe.

Once a day the status of a mirror site is determined. The status (represented by a colored block) is appended to the right of the status history (right is recent). More precise, the status block is appended if the last status block was appended 24 (or more) hours ago.

The status of a mirror depends on its age and a few configuration parameters :

status age
this project in general
min max min max
fresh 0 44h + 4h 0 min_sync + max_poll
oldish 44h + 4h 92h + 4h min_sync + max_poll max_sync + max_poll
old 92h + 4h max_sync + max_poll
bad the site or mirror tree was never found

last probe, probe stats

Last probe indicates when the last successful probe was made. Probe stats gives the probe history (right is recent). A probe is either a success or a failure.

last stat

Last stat gives the status of the last probe.

probe results

hours ago succ fail 166 successful, 85 failed
0 42 44
1 42 41
2 41 0
3 41 0

software

mirmon mirmon version 2.12 - Wed Jul 27 16:44:12 2016 - henkp
report by Henk P. Penning, Faculty of Science, Utrecht University Valid HTML 4.01 Transitional