Skip to content
Hercynium edited this page Sep 13, 2010 · 7 revisions

I will use this space to create some tutorials on stem, as well as adding documentation, FAQs and other such vagaries. Stay tuned.

STATUS

The Stem on CPAN is currently a bit broken. The primary issues are just that the Build.PL doesn’t work, and if you do get it to work, the test suite fails. These are mostly cosmetic – Stem does work as it is supposed to, but the build and test scripts are totally messed up.

The version here on github now installs to /usr/local on a typical *nix system, and I’ve added some patches et al, plus fixed the demo scripts so they actually work Out Of The Box.

INSTALLATION AND DEMOS

Currently, the usual MB mantra applies:


perl Build.PL
./Build
./Build test
./Build install

Except that the tests fail ’cause the test scripts are broken. Disregard for now. Besides, you don;t have to install Stem to play with it right now…

Also, if you prefer not to install this globally, everything now works with local::lib. Just do this in your shell before doing the build instructions above (assuming a bash-style shell):

eval $(perl -Mlocal::lib)

After ./Build, you should have a bunch of scripts in the demo dir named *_demo which you can run to see some very simple examples of Stem in action. These demos need documentation to explain what’s going on in them though, and currently, you need to run them from the top directory of the build (ie where Build is located)

TODO:

Before a new Stem release to CPAN, there’s a few things I need to do…

  • Fix the tests – correct errors, fix bugs if necessary, mark the rest as TODO/SKIP
    • This is now in progress! Several bugs introduced a while back were breaking interaction with event loops other than Event.pm
  • Run all modules through stem2pod to generate docs where possible
    • I’m so damn lazy. I should JFDI
  • Flesh out the docs enough to at least get people started using/playing with stuff
  • Fix the Build.PL stuff to install utility scripts and demo configs in locations that consider the prefix/installdirs/install_path/install_base/destdir whatever the installation layout of the moment happens to be
    • This is coming along but will doubtless need additional tweaking. Right now, everything installs under local::lib so that’s good!

Depending on available tuits:

  • Write some simple “cookbooks”
    • tailing multiple log-files
    • multi-user chat server
    • chat-server with a simple bot
    • multi-hub chat-server
    • spawn a shell in one cell and control via a console cell or telnet (sockmsg cell)
    • multi-hub with remote shell
  • Maybe later include my remote-config hacking stuff
  • Get additional examples from uri
Clone this wiki locally