[4238] in comp.os.os2.announce archive

home help back first fref pref prev next nref lref last post

BETA,JAVA: njPipes 0.35 Released

daemon@ATHENA.MIT.EDU (Ed Tomlinson)
Sat Jul 25 14:48:03 1998

To: os2ann.DISCUSS@bloom-picayune.mit.edu
Date: 25 Jul 1998 13:04:00 -0400
From: tomlins@cam.dot.org (Ed Tomlinson)
Reply-To: tomlins@cam.dot.org

Reply-to:     tomlins@cam.dot.org
[Followups directed to comp.os.os2.programmer.tools]
---------------------------------------------------------------------
Hi,

I have just released version 0.35 of njPipes, my unofficial port of the
CMS/TSO Pipeline product to netrexx and java.  This release has some new and
improved stages including, LOOKUP, ZONE, PAD, CASEI and PICK.  There have
also been improvements made to APPEND, PREFIX, TCPDATA, TCPCLIENT and
JUXTAPOSE.  Bugs were fixed in BUFFER and SPECS.

For those of you wondering just what njPipes does, here is an introduction I
wrote for the people at www.jars.com, just in case they decide to write a
review...

--------
I started using java two years ago.  The path I have taken is a bit
different from many.  I have used Rexx for years on MainFrames.  When Rexx's
creator, Mike Cowlishaw, announced NetRexx I was very pleased.  Here was an
improved variant of a good and familiar language designed to produce java
classes.  The euphoria lasted until I started writing my first complex
program.

Pipes are a tool I use when I have to manipulate data.  They are an
effective way to read and write files.  They are how I parse the output of
commands, selecting and rejecting information.  They are great when
collections of data have to be sorted, merged, collated, or massaged in
almost any way.  The data can come from files, commands, tcpip, sql, arrays,
rexx objects etc.  Pipes make programming much simpler - I really missed
them.  After exchanging emails with Pipe's originator, John Hartmann, I
realized that if I wanted pipes for java I was going to have to write the
code myself.  Pipes for NetRexx and Java was born.

What exactly are Pipes?  Imagine Unix pipes on steroids and you have a good
idea. They can be used from the command line or from inside programs.
njPipes can extract pipes from NetRexx source.  Eventually I will extend
this to java too. There are many filters, also known as stages, that can
select and manipulate objects.  The set of stages supplied with njPipes is
constantly growing.  The information at
http://pucc.princeton.edu/~pipeline/#AHelp is being used to guide
development.  When necessary, it's easy to construct customized stages.

Java is not the idea environment for Pipes.  Synchronization and context
switching are not nearly as fast as under CMS, and with java one cannot get
as close to the metal as need to fix this.  However, the current njPipes
implementation is fast enough to be quite useful.  On a Sun E450, with two
300Mhz Sparcs, using native threads, it can move over 10,000 objects per
second.  Due the to nature of complex pipes, the more cpus you have, the
faster njPipes will run them.

The current version of njPipes has a fairly stable core.  The stages work
well but bugs are still being found especially since new stages are popping
up from several sources.  Contributions are always welcome and most have
been placed under the GPL. Once the set of stages is a bit more complete
(there are over seventy now) a careful look will be taken at performance.

In summary, work your way up the learning curve, and you will have mastered
a tool that will make your programming and data manipulations tasks easier.
---------

Melinda Varian's site, http://pucc.princeton.edu/~pipeline, is a good place
to start.  

Please send questions, suggestions, bug reports or comments to:
tomlins@cam.org

Luck,

Ed Tomlinson  -  http://www.cam.org/~tomlins/njpipes.html
_____________________________________________________________________
| NOTE: Please EMAIL submissions to comp-os-os2-announce@moderators.isc.org
| Correspondence to the COOA Moderator: lfirrantello@bix.com .
| Please see: http://www.bix.com/pub/os2ann/pindex.htm for posting guidelines

home help back first fref pref prev next nref lref last post