uri writes "Version 0.06 of Stem, a general-purpose networking toolkit, is out and now licensed under the GPL. Read the newsletter for more on the release and what else is going on with Stem."
Re:What is Stem?
autarch on 2002-04-07T20:58:10
Stem is all pure-Perl, though it does rely on the Event module (which is C).
It is designed to support asynchronous message-based systems. Does that help?
Saying that you're sticking with LWP is kind of meaningless. Stem is largely orthogonal to LWP.
A representative Stem application might be a process that responds to outside requests via a socket, delegates work to multiple child processes (like Apache, perhaps) and then responds to the request.
The nice thing about using Stem for that is that you wouldn't have to write any daemon code, any forking management code, etc. You'd basically just write the code to do the work (in the child processes) and the rest would be set up via relatively straightforward configuration.Re:What is Stem?
samtregar on 2002-04-07T22:51:02
So more like Net::Server than LWP?
-samRe:What is Stem?
autarch on 2002-04-08T01:07:27
Yes, but...
It can do a _lot_ of stuff for you.
For example, IPC and RPC between multiple Stem servers is trivial.
You can also use Stem to do client/server stuff with a Stem client and a Stem server.
It can also run as a standalone daemon. For example, you could run a Stem daemon that fired off messages at regular intervals to other Stem servers (kind of like cron).
Basically, if you have to do any sort of network project (client/server, multiple servers, messaging across machines) Stem can be very helpful.
Stem is a network app framework. Does that make sense?
Re:What is Stem?
djberg96 on 2002-04-08T20:01:26
Oh, dammit - this might ruin my Oyster project! Though, he doesn't have the security set up that I need. Hmmm....And, of course, I must ask if those messages are being exchanged in XML format, because *everything* is always better in XML format.
:-P Re:What is Stem?
uri on 2002-04-08T21:02:10
improved security is high on our todo list. stem supports ssh but it needs improving. also we plan to support SSL and stunnel. the goal is to allow any style of secure channel for any socket, stem to stem or stem to outside world.as for xml (blechh!) formatted messages, that very doable as the messages are just simple data structures. i recently started integrating YAML into stem and it is used to serialize objects over a socket. we plan to use YAML for config files as well as messages. in fact, plans are for the message format to be pluggable and selectable so you can use different styles at the same time. the message style will be in the plain text header of all messages. so, adding xml message support to that will be trivial.
Re:What is Stem?
Simon on 2002-04-08T11:07:02
More like POE. Much more like POE.Re:What is Stem?
uri on 2002-04-08T20:49:40
Stem and POE cover overlapping problem spaces but have very different architectures. even the POE development people recognize that each has its advantages. in fact when we (stem and poe) get some free tuits, we will make the two systems interact.
POE has a much larger code base but it requires you to write more code to actually drive it. stem allows you to configure (not code) the its modules into network applications. complex programs such as inetd (see the demo in the tarball) are done without new coding and no builtin knowledge of how inetd is supposed to work.Re:What is Stem?
samtregar on 2002-04-10T04:55:05
Oh. I still haven't figured out what POE is either. And not for lack of trying... My brain must be too small or something.
-sam
Re:this is
autarch on 2002-04-08T17:05:03
Have you actually looked at it? Maybe you should do a little more research before making such assumptions.
And what major project isn't an ego project? GNU? Definitely not. Linux kernel? Doubtful.
POE, AxKit, TT, Alzabo?
In any major undertaking there is likely to be some sort of thought like "I'm going to show everyone what I can do."
Nothing wrong with that.Re:this is
rabbits77 on 2002-04-16T13:10:22
wtf? Of course I know of stem. In any event, thank you for conceding my point.
Also, the fact that you bring up the unusable GNU Hurd system is humorous. GNU Hurd is a perfect example of an unnecessary project done purely out of ego. Only time will tell if anything is of *real* use, of course.Re:this is
autarch on 2002-04-16T14:29:47
Actually, I didn't mention the Hurd project. I said "GNU". You may have heard gcc, glibc, gdb.
Or perhaps you're just being intentionally dense.Re:this is
gizmo_mathboy on 2002-04-12T04:56:54
Isn't it a manifestation of the 3rd Virtue of Programmers? If Uri and company can pull it off without getting squished by the coding gods then more power to them.