[ANN] snailgun-1.0.2

B

Brian Candler

New experimental project:

Snailgun accelerates the startup of Ruby applications which require
large numbers of libraries. It's especially beneficial for TDD with
Rails apps, since the overhead of loading all the Rails libraries is
essentially eliminated.

Works only on Linux/BSD systems.

For more info see:
http://github.com/candlerb/snailgun
 
B

Brian Candler

Roger said:
I assume it just loads the libs then forks off processes on demand?
Nice. You kind of could make a windows compat one--it would just have
to start a process in the background (on deck) each time it's run,
something like that.

As well as fork(), I am passing open file descriptors for
stdin/stdout/stderr across a Unix domain socket. So if there were a
Windows version, I don't think it would have very much in common with
this one :)
 
R

Roger Pack

As well as fork(), I am passing open file descriptors for
stdin/stdout/stderr across a Unix domain socket. So if there were a
Windows version, I don't think it would have very much in common with
this one :)

Interesting. I suppose TCP sockets would work with doze...
-=r
 
B

Brian Candler

Roger said:
Interesting. I suppose TCP sockets would work with doze...

But you can't pass a file descriptor across a TCP socket - so you would
have to proxy (and multiplex) stdin, stdout and stderr across the socket
as well. It would become a sort of remote ruby shell service, in which
case it should probably use an existing remote shell protocol like rsh
or ssh, so at least the client side is standard.

It's probably doable, but would be a lot more complex than snailgun.
 
R

Ryan Davis

New experimental project:

Snailgun accelerates the startup of Ruby applications which require
large numbers of libraries. It's especially beneficial for TDD with
Rails apps, since the overhead of loading all the Rails libraries is
essentially eliminated.

Works only on Linux/BSD systems.

For more info see:
http://github.com/candlerb/snailgun

this looks great and could save my team a lot of time collectively.
when will it become a real gem?
 
B

Brian Candler

Ryan said:
this looks great and could save my team a lot of time collectively.
when will it become a real gem?

What's a "real gem"? Do you mean one hosted on rubyforge?
 
B

Brian Candler

Ben said:
I can't speak for Ryan but that's my definition. This would be huge for
me too.

I only had to type "gem sources -a http://gems.github.com" as a one-off,
and that didn't seem like a big stumbling block to me. But since it
matters to people, I've now requested a rubyforge project.
 
B

Ben Bleything

I only had to type "gem sources -a http://gems.github.com" as a one-off,
and that didn't seem like a big stumbling block to me. But since it
matters to people, I've now requested a rubyforge project.

It's not big, no, but it's still a stumbling block. Also, I don't
want to have to figure out or remember your username to install your
gem, I just want to be able to say gem install snailgun.

Ben
 
R

Ryan Davis

I can't speak for Ryan but that's my definition. This would be huge
for me too.

Ben, do you happen to approve project proposals as well as news? If
not, why not? I can poke at tom if it'll help.

Once this becomes a real gem, I'm gonna work on getting an autotest
plugin working for it and out the door. We need this.
 
B

Ben Bleything

Ben, do you happen to approve project proposals as well as news? If not, why
not? I can poke at tom if it'll help.

Funny you should ask. Tom mailed me the other day about that topic.
I'm not sure where we are with it right now; I'll check in with him.
Once this becomes a real gem, I'm gonna work on getting an autotest plugin
working for it and out the door. We need this.

And I, in turn, need that autotest plugin. Desperately.

Ben
 
B

Brian Candler

Ben said:
And I, in turn, need that autotest plugin. Desperately.

Actually, the package already includes an autotest plugin (it's called
"fautotest"). I just forgot to mention it in the README :)

The rubyforge project was approved last night and I just copied the gem
to the files area, but it still isn't available using 'gem install'.
Perhaps someone who understands gems and/or rubyforge more than me can
have a look into it. This is the first application I've packaged as a
gem.

Regards,

Brian.
 
B

Brian Candler

It's available on rubyforge now. (I just needed to add the rubyforge
project name into the gemspec)
 
R

Robert Dober

New experimental project:
Oh I almost missed the pun, great name, Brian.
R.



--=20
Toutes les grandes personnes ont d=92abord =E9t=E9 des enfants, mais peu
d=92entre elles s=92en souviennent.

All adults have been children first, but not many remember.

[Antoine de Saint-Exup=E9ry]
 
C

Christopher Dicely

Interesting. =C2=A0I suppose TCP sockets would work with doze...

It looks like you could do something similar leveraging the
win32-process gem using Process.create which allows you to send
stdin/stdout/stderr, but I'm guessing that the code will look
significantly different (and have different dependencies) than the
Linux, etc., one, so it might be better to have a different
implementation with a shared public API.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,173
Messages
2,570,937
Members
47,481
Latest member
ElviraDoug

Latest Threads

Top