Qsac fixes

1 view
Skip to first unread message

Norman Gray

unread,
May 5, 2009, 7:16:16 PM5/5/09
to skua-d...@googlegroups.com

Tony and Kona, hello.

For your delectation and delight:

http://nxg.me.uk/temp/qsac-standalone-r471.jar
http://nxg.me.uk/temp/quaestor-lib-r466.jar (which the qsac HEAD now
requires)

The quaestorlib jar has seen substantial reworking to make persistence
more sensible (and so that qsac now has less to do and get wrong).
The persistence is now more consistent (it wasn't actually
inconsistent before, but had too many features, so was effectively
overcomplicated, so it felt inconsistent).

Kona: I believe this fixes the too-persistent problem you were having,
and that the problem you had is now represented in the quaestor tests
-- can you check, though.

The reconstructing-uris issue is still marked as open <http://code.google.com/p/skua/issues/detail?id=6
> -- that's fixed, now, isn't it (I remember you said you were going
to have a last try at getting the virtual server working, and vaguely
remember you mentioning that it was OK now).

Tony: these use the 'random claim number' stuff that I added as a fix,
so they should work for you. I'll make another iteration release
shortly.

I'm working on getting simple authentication support into quaestorlib
(HTTP digest authentication), and I've got the hard bit done, I
think. I'll work on that next. Would it be a dreadful thing if that
worked only in the standalone version of the server and not the .war
version (this bit isn't quite common to both of them, so it'd have to
be slightly reimplemented)?

See yez,

Norman


--
Norman Gray : http://nxg.me.uk
Dept Physics and Astronomy, University of Leicester

Norman Gray

unread,
May 5, 2009, 7:23:41 PM5/5/09
to skua-d...@googlegroups.com

On 2009 May 6, at 00:16, Norman Gray wrote:

> The quaestorlib jar has seen substantial reworking to make persistence
> more sensible (and so that qsac now has less to do and get wrong).
> The persistence is now more consistent (it wasn't actually
> inconsistent before, but had too many features, so was effectively
> overcomplicated, so it felt inconsistent).

And the true mark of the improvement? There's now less code, less
functionality and less documentation!

Linde, A.E.

unread,
May 6, 2009, 5:33:22 AM5/6/09
to skd
Many thanks, Norman. Will try it out today.

Interesting naming standards. I have three qsac jars here:

  qsac-standalone-20081103.jar
  qsac-standalone-0.3.jar
  qsac-standalone-r471.jar

:)

T.

--
Tony Linde
Project Manager
Department of Physics & Astronomy
University of Leicester



From: Norman Gray <nor...@astro.gla.ac.uk>
Reply-To: skd <skua-d...@googlegroups.com>
Date: Wed, 6 May 2009 00:16:16 +0100
To: skd <skua-d...@googlegroups.com>
Subject: [skua-discuss] Qsac fixes

http://nxg.me.uk/temp/qsac-standalone-r471.jar

Norman Gray

unread,
May 6, 2009, 5:40:19 AM5/6/09
to skua-d...@googlegroups.com

Tony, hello.

On 2009 May 6, at 10:33, Linde, A.E. wrote:

Ah, all wonderfully consistent, though

> qsac-standalone-0.3.jar

Point release

> qsac-standalone-20081103.jar

Iteration release

> qsac-standalone-r471.jar

Under-the-counter subversion snapshot.

Perhaps a little more Planning is in order -- after all the point of
agile iterations is that the under-the-counter releases shouldn't be
necessary. Sorry: I'm just a Bad Person.

See you,

Linde, A.E.

unread,
May 6, 2009, 5:42:38 AM5/6/09
to skd
Always in favour of ‘Under-the-counter subversion’!


T.

--
Tony Linde
Project Manager
Department of Physics & Astronomy
University of Leicester


From: Norman Gray <nor...@astro.gla.ac.uk>
Reply-To: skd <skua-d...@googlegroups.com>
Date: Wed, 6 May 2009 10:40:19 +0100
To: skd <skua-d...@googlegroups.com>
Subject: [skua-discuss] Re: Qsac fixes

Linde, A.E.

unread,
May 6, 2009, 11:58:58 AM5/6/09
to skd
Hi Norman,

Just tried this out and it did not pick up the existing SACs. Is this because of the new release or has the feature got lost?

Cheers,
Tony.


--
Tony Linde
Project Manager
Department of Physics & Astronomy
University of Leicester



From: Norman Gray <nor...@astro.gla.ac.uk>
Reply-To: skd <skua-d...@googlegroups.com>
Date: Wed, 6 May 2009 00:16:16 +0100
To: skd <skua-d...@googlegroups.com>
Subject: [skua-discuss] Qsac fixes

Norman Gray

unread,
May 6, 2009, 12:43:06 PM5/6/09
to skua-d...@googlegroups.com

Tony, hello.

On 2009 May 6, at 16:58, Linde, A.E. wrote:

> Just tried this out and it did not pick up the existing SACs. Is
> this because of the new release or has the feature got lost?

Ah, it probably wouldn't pick up SACs produced by an earlier version,
since the metadata that I save in order to resurrect them has
changed. I haven't been worrying too much about backward compatibility.

It _should_ be that if you create and populate a SAC, and don't delete
it, then that SAC will survive server restarts without further
action. Is that not happening? It's slightly tricky to include tests
for this persistence in the (generally stateless) regression tests, so
I'm actually testing for various proxies for this, and so it's quite
possible I'm failing to test the actual functionality.

See you,

Linde, A.E.

unread,
May 6, 2009, 2:58:48 PM5/6/09
to skd
<<probably wouldn't pick up SACs produced by an earlier version>>

Ok – that’ll be it.


<<that SAC will survive server restarts without further
action.  Is that not happening>>

Was working fine up to now. Will try it out with this version.

T.


--
Tony Linde
Project Manager
Department of Physics & Astronomy
University of Leicester



From: Norman Gray <nor...@astro.gla.ac.uk>
Reply-To: skd <skua-d...@googlegroups.com>
Date: Wed, 6 May 2009 17:43:06 +0100
To: skd <skua-d...@googlegroups.com>
Subject: [skua-discuss] Re: Qsac fixes

Kona Andrews

unread,
May 7, 2009, 6:16:22 AM5/7/09
to skua-d...@googlegroups.com
Hi all,

>
> For your delectation and delight:
>
> http://nxg.me.uk/temp/qsac-standalone-r471.jar
> http://nxg.me.uk/temp/quaestor-lib-r466.jar (which the qsac HEAD now
> requires)
>
> The quaestorlib jar has seen substantial reworking to make persistence
> more sensible (and so that qsac now has less to do and get wrong).
> The persistence is now more consistent (it wasn't actually
> inconsistent before, but had too many features, so was effectively
> overcomplicated, so it felt inconsistent).
>
> Kona: I believe this fixes the too-persistent problem you were having,
> and that the problem you had is now represented in the quaestor tests
> -- can you check, though.

Lovely - the persistent-persistence problem is gone, and the
reconstructing-uris issue is fixed too (and I have marked it
as such in google code).

I've tested using the standalone version; I haven't yet tested in
tomcat, but will do so today.

K.
--
Kona Andrews k...@roe.ac.uk
AstroGrid Project http://www.astrogrid.org
IfA, Royal Observatory, Blackford Hill, Edinburgh EH9 3HJ

Linde, A.E.

unread,
May 7, 2009, 7:49:49 AM5/7/09
to skd
Hmm. No, it isn’t working correctly.

It seems to have lost the ability to ‘remember’ which SACs have been created in between server sessions. Starting quaestor and looking at http://localhost:8080/sac/ lists no SACs and http://localhost:8080/sac/U1 says it knows nothing about the SAC. Adding an annotation though, creates the SAC and all the previous additions reappear. Killing the quaestor session and restarting it makes its knowledge of that SAC disappear again.

Another oddity: all the identities of the annotations have turned into weird characters (see attached). Only one of these has been added since using the new release so it isn’t the new random number identity that is doing this – unless all the identities are regenerated when the SAC is.

Let me know if you want more info, Norman.


T.

--
Tony Linde
Project Manager
Department of Physics & Astronomy
University of Leicester



From: "Linde, A.E." <ae...@leicester.ac.uk>
Reply-To: skd <skua-d...@googlegroups.com>
Date: Wed, 6 May 2009 19:58:48 +0100
qsac-U1-20090507.txt

Linde, A.E.

unread,
May 7, 2009, 10:55:39 AM5/7/09
to skd
Bit more. Just tried logging back into Spacebook after restarting qsac and, after trying to go to http://localhost:8080/sac/U1 got:

Error at java/synchronized: Error: com.hp.hpl.jena.tdb.base.file.FileException: ObjectFile.read: Failed to read the length : got -1 bytes

Not sure what went wrong there. Tried to post claim and got:

Added claim at:
<html>
<head>
<title>Created claim</title>
<link rel='stylesheet' type='text/css' href='/base.css'/>
</head>

<body>
<h1>Created claim</h1>
<p>Created claim http://localhost:8080/sac/U1/_/eb04e2aa</p>
</body>

</html>

So seems ok. Back to http://localhost:8080/sac/U1 gives full list of claims (see attached).

Think I need to just dump everything from before and start the repository from scratch. Where is the repository kept and what is it called? Can I just delete it?

Cheers,
Tony.


--
Tony Linde
Project Manager
Department of Physics & Astronomy
University of Leicester



From: "Linde, A.E." <ae...@leicester.ac.uk>
Reply-To: skd <skua-d...@googlegroups.com>
Date: Thu, 7 May 2009 12:49:49 +0100
U1.rdf

Linde, A.E.

unread,
May 8, 2009, 7:13:42 AM5/8/09
to skd
Just realised there was more on the qsac terminal:

weowie-5:workspace tony$ java -jar qsac-standalone-r471.jar
INFO 2009-05-07 12:35:51,996 Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
INFO 2009-05-07 12:35:51,997 Found JettySchemeServer.properties
Quaestor starting on http://localhost:8080/
INFO 2009-05-07 12:35:52,000 JettySchemeServer r471
INFO 2009-05-07 12:35:52,032 docbase=jar:file:/Users/tony/Live%20Mesh/workspace/qsac-standalone-r471.jar!/Resources
INFO 2009-05-07 12:35:52,039 Classpath=qsac-standalone-r471.jar
INFO 2009-05-07 12:36:05,844 Loaded main script from qsac.scm with initialiser initialise-qsac
INFO 2009-05-07 12:36:06,745 jetty-6.1.x
INFO 2009-05-07 12:36:06,758 Started SocketC...@0.0.0.0:8080
INFO 2009-05-07 12:36:15,702 GET/sac: calling procedure on path null
INFO 2009-05-07 12:36:15,789 Doc handling /base.css
INFO 2009-05-07 12:42:32,116 GET/sac: calling procedure on path /U1
INFO 2009-05-07 15:40:23,134 GET/sac: calling procedure on path /U1
INFO 2009-05-07 15:40:23,170 Doc handling /base.css
INFO 2009-05-07 15:40:44,054 GET/sac: calling procedure on path /U1
INFO 2009-05-07 15:40:44,077 Doc handling /base.css
INFO 2009-05-07 15:40:47,603 PUT/sac: calling procedure on path /U1/
WARN 2009-05-07 15:40:48,470 No BGP optimizer
WARN 2009-05-07 15:40:48,631 No BGP optimizer
WARN 2009-05-07 15:40:48,832 No BGP optimizer
INFO 2009-05-07 15:40:55,693 GET/sac: calling procedure on path /U1
MAKE-FC: Error: com.hp.hpl.jena.tdb.base.file.FileException: ObjectFile.read: Failed to read the length : got -1 bytes

Error: Error: com.hp.hpl.jena.tdb.base.file.FileException: ObjectFile.read: Failed to read the length : got -1 bytes
[chatter: resp=((html (head (title #0="Qsac") (link (|@| (rel stylesheet) (type text/css) (href "/base.css")))) (body (h1 #0#) (p "I don't know anything about the SAC <http://localhost:8080/sac/U1>, only:") (p "None!"))))]
[chatter: Applying proc #<procedure>...]
[chatter: rdf:ingest-from-stream/language: base=http://localhost:8080/sac/U1 language="text/turtle" -> #<java java.lang.String TURTLE>]
[chatter: rdf:ingest-from-stream/language: read stream OK]
[chatter: make-persistence-file: location=#<java java.lang.String /Users/tony/Live Mesh/workspace/qsac-persistence/http---localhost-8080-sac-U1>  file=#<java java.lang.String /Users/tony/Live Mesh/workspace/qsac-persistence/http---localhost-8080-sac-U1.rdf>]
[chatter: Resurrecting submodel #<java java.lang.String http://localhost:8080/sac/U1/claims>
     (manage-box "claims^^http://www.w3.org/2001/XMLSchema#string" model=('create #<java java.net.URI http://localhost:8080/sac/U1/claims>) abox? #t)
]
[chatter: make-persistence-file: location=#<java java.lang.String /Users/tony/Live Mesh/workspace/qsac-persistence/http---localhost-8080-sac-U1-claims>  file=#<java java.lang.String /Users/tony/Live Mesh/workspace/qsac-persistence/http---localhost-8080-sac-U1-claims.rdf>]
[chatter: make-persistence-file: location=#<java java.lang.String /Users/tony/Live Mesh/workspace/qsac-persistence/http---localhost-8080-sac-U1-claims>  file=#<java java.lang.String /Users/tony/Live Mesh/workspace/qsac-persistence/http---localhost-8080-sac-U1-claims.rdf>]
[chatter: resp=(|SC_CREATED| ("Location" . "http://localhost:8080/sac/U1") "text/html" ("SAC created" (p "Created SAC with URI " "http://localhost:8080/sac/U1")))]
[chatter: resp=(("Location" . "http://localhost:8080/sac/U1") "text/html" ("SAC created" (p "Created SAC with URI " "http://localhost:8080/sac/U1")))]
[chatter: resp=("text/html" ("SAC created" (p "Created SAC with URI " "http://localhost:8080/sac/U1")))]
[chatter: resp=(("SAC created" (p "Created SAC with URI " "http://localhost:8080/sac/U1")))]
[chatter: Applying proc #<procedure>...]
[chatter: path-list=("U1")  query-parameters=#f]
[chatter: find-acceptable-rdf-language: acceptable-mimes=("application/xhtml+xml" "text/html" "application/xml" "*/*")
]
[chatter: acceptable-mime: available=("application/rdf+xml" "text/rdf+n3" "application/n3" "application/x-turtle" "text/turtle" "text/plain")  acceptable=("application/xhtml+xml" "text/html" "application/xml" "*/*")]


Stack trace:
---------------------------
?:?:?: <from call to @s2j::java-synchronized>
jar:file:/Users/tony/Live%20Mesh/workspace/qsac-standalone-r471.jar!/quaestor/knowledgebase.scm:586:15: <indeterminate call>
?:?:?: <indeterminate call>
?:?:?: <indeterminate call>
---------------------------
?:?:?: <indeterminate call>
?:?:?: <indeterminate call>
?:?:?: <indeterminate call>
---------------------------
?:?:?: <from call to car>
---------------------------
?:?:?: <indeterminate call>
[previous entries repeated twice]
---------------------------
jar:file:/Users/tony/Live%20Mesh/workspace/qsac-standalone-r471.jar!/quaestor/utils.scm:730:28: <indeterminate call>
sisc.modules.Primitives/with-failure-continuation:?:?: <indeterminate call>
jar:file:/Users/tony/Live%20Mesh/workspace/qsac-standalone-r471.jar!/quaestor/utils.scm:727:24: <from call to with/fc>
---------------------------
sisc.modules.Primitives/with-failure-continuation:?:?: <indeterminate call>
jar:file:/Users/tony/Live%20Mesh/workspace/qsac-standalone-r471.jar!/quaestor/utils.scm:716:3: <from call to with/fc>
?:?:?: <from call to @utils::service-http-call>
sisc.modules.Primitives/apply:?:?: <indeterminate call>
jar:file:/Users/tony/Live%20Mesh/workspace/qsac-standalone-r471.jar!/org/eurovotech/quaestor/scheme-wrapper-support.scm:59:21: <from call to apply>
sisc.modules.Primitives/with-failure-continuation:?:?: <indeterminate call>
?:?:?: <from call to with/fc>
sisc.modules.Primitives/call-with-values:?:?: <indeterminate call>
---------------------------
?:?:?: <from call to call-with-values>
3 repetitions of ...
  ?:?:?: <indeterminate call>
?:?:?: <from call to dynamic-wind>
?:?:?: <indeterminate call>
sisc.modules.Primitives/with-failure-continuation:?:?: <indeterminate call>
jar:file:/Users/tony/Live%20Mesh/workspace/qsac-standalone-r471.jar!/org/eurovotech/quaestor/scheme-wrapper-support.scm:31:3: <from call to with/fc>
sisc.interpreter.Interpreter/eval:?:?: <indeterminate call>


INFO 2009-05-07 15:40:55,791 Doc handling /base.css
INFO 2009-05-07 15:43:52,393 POST/sac: calling procedure on path /U1/
INFO 2009-05-07 15:44:54,650 GET/sac: calling procedure on path /U1
INFO 2009-05-07 15:56:10,190 GET/sac: calling procedure on path null
INFO 2009-05-07 15:56:10,210 Doc handling /base.css



T.

--
Tony Linde
Project Manager
Department of Physics & Astronomy
University of Leicester



From: "Linde, A.E." <ae...@leicester.ac.uk>
Reply-To: skd <skua-d...@googlegroups.com>
Date: Thu, 7 May 2009 15:55:39 +0100

Linde, A.E.

unread,
May 8, 2009, 11:00:23 AM5/8/09
to skd
Aaarrggghhhh! Now quaestor is back to starting from scratch each time. When I restarted it this time and recreated the link to U1 SAC, it was empty and only had the claim I added that run. Ditto when I did it again. Empty after recreating the link to U1 and only one claim after adding that claim.

Help!!


T.

--
Tony Linde
Project Manager
Department of Physics & Astronomy
University of Leicester



From: "Linde, A.E." <ae...@leicester.ac.uk>
Reply-To: skd <skua-d...@googlegroups.com>
Date: Fri, 8 May 2009 12:13:42 +0100

Kona Andrews

unread,
May 11, 2009, 6:31:58 AM5/11/09
to skua-d...@googlegroups.com
> Aaarrggghhhh! Now quaestor is back to starting from scratch each time. When I restarted it this time and recreated the link to U1 SAC, it was empty and only had the claim I added that run. Ditto when I did it again. Empty after recreating the link to U1 and only one claim after adding that claim.

Are you running this under Windows? Norman, is it possible that the
qsac is trying to write its persistent data to a directory that
doesn't exist on Windows, or summat?

Norman Gray

unread,
May 11, 2009, 6:36:29 AM5/11/09
to skua-d...@googlegroups.com

On 2009 May 11, at 11:31, Kona Andrews wrote:

> Are you running this under Windows? Norman, is it possible that the
> qsac is trying to write its persistent data to a directory that
> doesn't exist on Windows, or summat?

I've managed to get back to this now. I've reproduced it now.

It's odd. All the relevant functionality seems to be tested in bits,
but not all together....

A fix shouldn't be hard; coming soon.

Linde, A.E.

unread,
May 11, 2009, 6:59:53 AM5/11/09
to skd
I’m on a Mac, same as Norman. But it all worked okay in the 0.3 release. And it worked the first time I ran it. Well, it didn’t pick up the SACs but when I’d created the SAC, it picked up the contents of that SAC, albeit with the identifiers for each claim being unreadable characters rather than the actual values. But these were not saved back into wherever they are saved. Next time I ran qsac, not only did it not pick up the previously saved SAC but when I added that SAC, the container was empty.


T.

--
Tony Linde
Project Manager
Department of Physics & Astronomy
University of Leicester



From: Norman Gray <nor...@astro.gla.ac.uk>
Reply-To: skd <skua-d...@googlegroups.com>
Date: Mon, 11 May 2009 11:36:29 +0100

To: skd <skua-d...@googlegroups.com>
Subject: [skua-discuss] Re: Qsac fixes




Norman Gray

unread,
May 14, 2009, 11:38:37 AM5/14/09
to skua-d...@googlegroups.com

Tony, hello.

On 2009 May 11, at 11:59, Linde, A.E. wrote:

> I'm on a Mac, same as Norman. But it all worked okay in the 0.3
> release. And it worked the first time I ran it. Well, it didn't pick
> up the SACs but when I'd created the SAC, it picked up the contents
> of that SAC, albeit with the identifiers for each claim being
> unreadable characters rather than the actual values. But these were
> not saved back into wherever they are saved. Next time I ran qsac,
> not only did it not pick up the previously saved SAC but when I
> added that SAC, the container was empty.

I think I've improved my tests to the point where I believe this is
working again. I didn't reproduce specifically the problem you were
having with the garbled claim URLs, but I managed to find a couple of
things that were amiss.

See <http://nxg.me.uk/temp/qsac-standalone-r474.jar> for the
standalone QSAC, and <http://nxg.me.uk/temp/quaestor-lib-r473.jar> for
the Quaestor snapshot which is now required to build it.

All the best,

Norman Gray

unread,
May 14, 2009, 12:07:13 PM5/14/09
to skua-d...@googlegroups.com

Tony,

On 2009 May 14, at 16:38, Norman Gray wrote:

> See <http://nxg.me.uk/temp/qsac-standalone-r474.jar> for the
> standalone QSAC, and <http://nxg.me.uk/temp/quaestor-lib-r473.jar> for
> the Quaestor snapshot which is now required to build it.

I should mention that you should clear out the persistence directory
and start adding claims from scratch -- I've changed the bookkeeping
information maintained in the persistence directory.

See you,

Linde, A.E.

unread,
May 14, 2009, 12:09:42 PM5/14/09
to skua-d...@googlegroups.com
Where is that directory, Norman?

T.
________________________________________
From: skua-d...@googlegroups.com [skua-d...@googlegroups.com] On Behalf Of Norman Gray [nor...@astro.gla.ac.uk]
Sent: 14 May 2009 17:07
To: skua-d...@googlegroups.com
Subject: [skua-discuss] Re: Qsac fixes

Norman Gray

unread,
May 14, 2009, 12:29:29 PM5/14/09
to skua-d...@googlegroups.com

Tony,

On 2009 May 14, at 17:09, Linde, A.E. wrote:

> Where is that directory, Norman?

It's set by the java persistence-directory property, which should be
settable when you start the server

% java -Dpersistence-directory=/path/to/directory -jar qsac-standalone-
r474.jar

The default is 'qsac-persistence' which will be relative to the
directory you're in when you give the above command.

Linde, A.E.

unread,
May 17, 2009, 3:20:54 PM5/17/09
to skd
Hi Norman, sorry only just got around to this. Still not working.

Started new quaestor (after deleting whole persistence directory), created new SAC and added two claims to it. Killed the jar file and restarted it and it said there were no SACs available.


T.

--
Tony Linde
Project Manager
Department of Physics & Astronomy
University of Leicester



From: Norman Gray <nor...@astro.gla.ac.uk>
Reply-To: skd <skua-d...@googlegroups.com>
Date: Thu, 14 May 2009 16:38:37 +0100
To: skd <skua-d...@googlegroups.com>

Subject: [skua-discuss] Re: Qsac fixes




Norman Gray

unread,
May 17, 2009, 6:48:54 PM5/17/09
to skua-d...@googlegroups.com

Tony,

On 2009 May 17, at 20:20, Linde, A.E. wrote:

> Started new quaestor (after deleting whole persistence directory),
> created new SAC and added two claims to it. Killed the jar file and
> restarted it and it said there were no SACs available.

Grrr: I seem to be making quite a meal of this. Yup -- something else
is wrong, and I'm a bit puzzle about exactly what.

More soon...

Norman Gray

unread,
May 18, 2009, 10:52:22 AM5/18/09
to skua-d...@googlegroups.com

Tony,

On 2009 May 17, at 20:20, Linde, A.E. wrote:

> Started new quaestor (after deleting whole persistence directory),
> created new SAC and added two claims to it. Killed the jar file and
> restarted it and it said there were no SACs available.

This time, perhaps....

The standalone server is at <http://nxg.me.uk/temp/qsac-standalone-r476.jar
>, and the quaestor-lib required to build it from source is at <http://nxg.me.uk/temp/quaestor-lib-r480.jar
>

Lessons learned:

* Tomcat is somewhat keener on caching than seems strictly helpful.
Ahem.

* Make sure that the tests fail before they work!

I have highish hopes for this one. Do your worst!

See you,

Linde, A.E.

unread,
May 18, 2009, 2:58:36 PM5/18/09
to skd
Yay! Looking good on picking up old SACs and claims. Will hammer further tomorrow.

Thanks, Norman.


T.

--
Tony Linde
Project Manager
Department of Physics & Astronomy
University of Leicester



From: Norman Gray <nor...@astro.gla.ac.uk>
Reply-To: skd <skua-d...@googlegroups.com>
Date: Mon, 18 May 2009 15:52:22 +0100

To: skd <skua-d...@googlegroups.com>
Subject: [skua-discuss] Re: Qsac fixes




Reply all
Reply to author
Forward
0 new messages