On Jan 30, 2008, at 12:05 AM, Marc Feeley wrote:
On 29-Jan-08, at 11:29 PM, Joe Hosteny wrote:
Hi all,
First of all, let me preface this email with a disclaimer. I'm fairly new (again) to Scheme (last exposure was 10+ years ago in college). I'm still feeling my way around a bit, and have settled on Gambit, Chicken, and PLT, to a lesser extent. What I'm trying to say is - dumb questions may follow!
I recently wrote a library to manage a cluster of machines in Amazon's EC2. I'm looking to totally rewrite it, and port it to Scheme in the process. I was also looking at having some facility for managing the cluster from within, with event monitoring via SQS or Termite. Currently, the library does that via polling from a machine external to the cluster. It's not ideal, but was sufficient to get my application working.
As a start, I wrote a simple Snow package to do MD5 and SHA1 HMAC calculations (the AWS query string API uses SHA1 signatures).
The "digest" Snow package does MD5, SHA1, and other digests:
Yes, actually I only wrote the HMAC part, and am using the digests from this package.
I started to look around for some utilities for URI parsing and encoding for use in Gambit, but didn't seem to find anything. So, first question - is anyone aware of a suitable package for this?
Check examples/web-server/http.scm in the Gambit distribution.
Will do.
Second question - if one doesn't exist, what do people do for regular expression parsing in Gambit?
I normally use pregexp: http://www.ccs.neu.edu/home/dorai/pregexp/pregexp.html .
It is well written and portable, so it shouldn't be hard to turn it into a Snow module.
Since I haven't really fleshed out the new architecture, I'm not sure it's a requirement that I host code to both communicate events across the cluster and issue AWS API calls from within the same executable. So I guess an option would be to use Chicken for the HTTP stuff, and Gambit for Termite and making calls to the code written with Chicken (though at that point, it may make sense to just use one of the Ruby or Java libs for that part). I'd prefer not to, if for nothing more than to be able to contribute the AWS portion as a Chicken or Snow package.
So, a few general questions follow. From recent mailing list discussions, it sounds like Termite will be targeted towards Gambit only, for the time being at least. Guillaume, is that correct? If not, do you have an idea of when it might be seen on other Schemes (specifically, Chicken or PLT)?
Also, does anyone have a feel for what is going on with Snow? It seems like the traffic on the mailing list is a bit slow, and the number of packages is still relatively few.
I'm still very much interested in continuing to develop Snow. However I've been busy with other things recently and hope to get back to maintaining Snow more actively soon. To ease the workload I'm also looking for someone to take on some of the maintenance tasks. Is anyone interested in getting involved?
I may be able to help some. Feel free to contact me off list if you'd like to discuss.
Marc