[Pipet Devel] transcript from 11/6 meeting

J.W. Bizzaro jeff at bioinformatics.org
Tue Nov 6 14:31:31 EST 2001

We missed you there, Jarl :-)
-------------- next part --------------
--> bizzaro (jeff at has joined #pipernet
<bizzaro> Hello
--> jmvalin (jmvalin at has joined #pipernet
<jmvalin> Here I am
<bizzaro> Sorry, I guess I did say #bioinformatics
--> byang (byang at affy.bimcore.emory.edu) has joined #pipernet
<-- jmvalin has quit ([x]chat)
<bizzaro> I had a meeting in #bioinformatics yesterday, and I wrote that by habbit
--> jmvalin (jmvalin at has joined #pipernet
<bizzaro> Any sign of Jarl?
<jmvalin> Nope... Anyone else missing? Brad?
<byang> I guess so. I study computer science and had been working at biomolecular computing resource at Emory for a few monthes.
<bizzaro> Others _may_ come.  I'll keep an eye on #bioinformatics
<bizzaro> So, anyway, Jean-Marc, you know that Bo will be helping us
<-- byang has quit (zelazny.openprojects.net benford.openprojects.net)
--> byang (byang at affy.bimcore.emory.edu) has joined #pipernet
<jmvalin> So, how's Piper doing? I haven't checked much outside Overflow lately.
<bizzaro> Jarl and I took a break for a while, but we're ready to get back into it
<bizzaro> We're about ready to release 0.0.2, which could mean getting more users
<jmvalin> BTW, the good news is that the company I work for (Infospace, speech solutions dept.) has adopted Overflow for part of its product, so it gives me more time to work on that.
<bizzaro> Super!
<bizzaro> Bo: Have you talked to Jarl yet?
<byang> Not yet. Is he coming today?
<jmvalin> ...and Dominic has started using it to control mobile robots, so he's back at developpement.
<bizzaro> Strange, Jarl is usually on this channel all day
<jmvalin> Maybe he's on #piper or #bioinformatics?
<bizzaro> I've been checking #bioinformatics
<bizzaro> We've never used #piper
<bizzaro> I'll mention some of what Jarl and I discussed in Copenhagen
<bizzaro> Regarding design
<jmvalin> I've used #piper with him a couple times.... (Who's bdumm2?)
<byang> Jean, you are focusing on the DL, right? I have seen lots of conversation between you and Jarl. I am looking to fit myself in the BL. Any advises?
<bizzaro> Brian Dumm
<bizzaro> PL
<jmvalin> Well, I'm mostly on the PL actually, a bit a DL.
<byang> Sorry.
<jmvalin> Brad was doing most of the DL stuff, but he had to switch to other work.
<bizzaro> Jarl and I spoke a bit about the DL, since Brad won't be working on it
<bizzaro> We decided to rewrite it
<bizzaro> Mostly because it is difficult picking up someone's project
<bizzaro> Also because we have some design changes
<jmvalin> The Python part or the C++ part in Overflow?
<bizzaro> The Python part will be rewritten, in C++
<jmvalin> Well, then the work is already done...
<bizzaro> Just as the BL was changed from C to C++, we think all of the Piper core should be one language
<bizzaro> What do you mean the work is done?
<bizzaro> Bo: You know C++ right?
<jmvalin> The UI* classes in Overflow/PL (equivalent of the DL) are written in C++. There may be a couple Piper-specific things to add, but probably not that much.
<bizzaro> I know, a lot of the DL is a Python wrapper for the PL
<byang> I'm catching up with it.
<bizzaro> Bo: I'm catching up too ;-)
<jmvalin> Overflow alone is a bit like Piper without a BL. 
<bizzaro> Brad had written the DL to be a way to tie the UIL to the PL
<byang> I have downloaded the tar ball from cvs. Is it the whole source code? Especially the BL part.
<bizzaro> The Piper tarball has everything but Overflow
<bizzaro> Yes, it has the BL
<byang> b/c I don't see a c++ progame in the bl dir.
<bizzaro> Hmmm.  Did you look in the bl/src directory?
<jmvalin> In Overflow, these classes (UI*) are GUI-independent and allow either a GUI or a batch (text) tool to control the PL.
<bizzaro> Jarl and I want the DL to make a "model" of the network before it is sent to the BL (then on to Overflow)
<jmvalin> (I say UI*: that means the classes UINode, UINetwork, UILink, ... it's an object-oriented representation of a computation network to be executed)
<bizzaro> So, we're looking at making the network in DOM
<jmvalin> "making the network in DOM"?
<bizzaro> Apache.org has one of the best DOM implementations
<bizzaro> Are you familiar with DOM?
<bizzaro> Brad started using it in the DL
<byang> No.
<jmvalin> Not at all familiat...
<jmvalin> familiat -> familiar
<bizzaro> Oh, DOM == Document Object Model
<jmvalin> That's the only knowledge I had about it:-)
<bizzaro> It is a way to represent XML as objects
<jmvalin> ...Well, that's *exactly* what my classes do!
<bizzaro> All implementations come with a way to convert an XML document into objects...
<bizzaro> and then objects into XML
<bizzaro> It's much easier to work with the objects than to manipulate XML text
<bizzaro> jmvalin: We can probably then convert DOM -> Overflow classes easily then
<jmvalin> Well, we already have that:-) I never manipulate XML directly. If I needed to switch to something else than XML, it would be trivial.
<jmvalin> I don't know enough (that is, nothing) about DOM to tell.
<bizzaro> In any case, you won't need to use DOM in Overflow
<bizzaro> The BL will handle the conversion
<bizzaro> So...the PL code that is now in the DL should be moved to the BL as a plugin
<byang> Some idea about how BL handle the conversion?
<jmvalin> The only difference is that there's not always a direct mapping between XML to the UI* classes.
<bizzaro> Remember: We had bypassed the BL before, just to get the UIL -> PL connection working
<bizzaro> Now we need to consider how the BL will work
<jmvalin> "he PL code that is now in the DL"?
<bizzaro> Which is what Jarl and I spoke about in Denmark
<bizzaro> PL code <- UI* classes
<bizzaro> (The UI* classes will be addressed by the BL instead of the DL)
<jmvalin> UI* -> DL. The PL classes are lower level. For instance in Overflow there's PL (Node, Network, ...), DL (UINode, UINetwork, ...), UI (GUINode, GUINetwork, ...)
<bizzaro> IC
<jmvalin> Actually, it's much simpler it the BL and the PL/DL communicate with XML instead of objects.
<bizzaro> byang: The interface between the BL and the PL will be handled by a plugin and a translator
<bizzaro> jmvalin: Jarl and I spoke about whether the communication would be via XML or DOM
<bizzaro> jmvalin: We may be leaning toward DOM over CORBA
<bizzaro> (using CORBA to transport the DOM objects)
<bizzaro> The design is very much in synch with current thinking about how to with XML
<jmvalin> I still don't understand why bother with DOM... mostly since all the functions to exchange XML to/from memory/disk/network is done.
<bizzaro> s/to with/to work with/
<bizzaro> I'm not sure
<bizzaro> We can discuss this with Jarl
<bizzaro> I would think that DOM may have something extra
<bizzaro> Some extra functionality that could be useful
<jmvalin> I guess it's better to discuss that with everyone involved...
<bizzaro> Jarl may not be familiar with the UI* classes either
<bizzaro> The UI* classes have XML read/write built in?
<jmvalin> I think it didn't take Brad too long to be familiar with that part. (he wrote some parts of it, and did some cleanup so the DL could use them easily)
<jmvalin> Yes, an xml file is represented by UIDocument and there's a load() and save() method that can handle either memory or streams (file, network, ...)
<jmvalin> Actually, all the UI* classes understand load and save.
<bizzaro> Great.
<bizzaro> Did Brad implement sending UI* over CORBA?
<bizzaro> Or is it all XML text?
<jmvalin> No idea... What I remember is that the "load from XML" function was implemented after Jarl asked for it, so he surely had something in mind.
<jmvalin> What to you mean by "all XML text"?
<bizzaro> all XML text <- Does the DL communicate with the PL by sending XML text, or is it via CORBA objects?
<jmvalin> I guess it's text, since there's no CORBA in the PL.
<bizzaro> Okay, we'll see what Jarl has to say about all this
<bizzaro> byang: Have you been on this channel (#pipernet before)?
<byang> a few times, but didn't see anybody. i should check here more often.
<jmvalin> BTW, Overflow 0.6.0 will be released soon with a couple interesting features. The most interesting: a demo written by Dominic where you run two Overflow/PL instances sending audio through the network (one reading the MP3, the other playing)
<bizzaro> byang: Please keep checking here for Jarl.
<byang> i will, thanks.
<jmvalin> I think the next step could be to make the same demo work using the BL to handle everything (sending the XML, making the communication).
<bizzaro> jmvalin: It's nice you've got networking now :-)
<byang> what kind of communication is not handle by BL, but should be, do you think?
<bizzaro> Me?
<jmvalin> Actually, adding network didn't require any modification to the base classes, just adding 3-4 new nodes.
<bizzaro> jmvalin: Maybe Piper <-> Overflow communication can be via network?
<jmvalin> I think all communications, either DL stuff (XML?) or the actual objects exchanged between nodes, should be handled by the BL. The BL will take care of authentication/security and other stuff.
<jmvalin> I don't think two PL instance should talk to each other directly.
<jmvalin> (What do you mean by "Piper <-> Overflow communication"?)
<byang> why? isn't that what peer-to-peer supposed to be? maybe stupid question since I havn't been familiar with the whole design.
<-- byang has quit (farmer.openprojects.net benford.openprojects.net)
<bizzaro> Piper <-> Overflow <- BL <-> PL
--> byang (byang at affy.bimcore.emory.edu) has joined #pipernet
<bizzaro> Piper <-> Overflow == BL <-> PL
<jmvalin> Actually, what I was discussing with Jarl a while ago is that One process will include the PL and one part of the BL. The BL part will be responsible for communicating with the other BL's.
<bizzaro> byang: The BL handles all peer<->peer communication.  It is the "broker"
<bizzaro> If we're done, I can post the transcript to the list
<bizzaro> byang: if you have anymore question, please don't hesitate to ask, any of us.
<byang> Some questions. In the Interfaces of Layers, I see some *l2ail, what is the ail?
<byang> I saw somewhere, Jarl mentioned the cq networking. What is it about?
<bizzaro> Interfaces of Layers <- which directory?
<byang> on the mailing list archive: http://bioinformatics.org/pipermail/pipet-devel/2001-February/001292.html
<bizzaro> checking
<bizzaro> Oh yeah, that document was partly written by Nicolas, from the Narval project.
<bizzaro> Narval is an "intelligent agent", and it uses artificial intelligence
<bizzaro> So, "ail" is Nicolas's proposal for an "artificial intelligence layer"
<bizzaro> I suppose the program Narval would be the AIL
<byang> is it already implemented somewhere in piper?
<bizzaro> No, not yet
<bizzaro> Narval has been interested in working with us
<bizzaro> But nothing has materialized yet
<byang> how about the cq networking?
<bizzaro> Where have you seen that?
<byang> several places, e.g. http://bioinformatics.org/pipermail/pipet-devel/2001-February/000060.html
<bizzaro> checking
<bizzaro> cq <- I'm not sure.  It is Jarl's abbreviation for something
<bizzaro> Sorry I can't help
<bizzaro> Send a message to the pipet-devel list about it
<byang> alright, thanks.
<bizzaro> So, are you reading through all of the arhives? :-)
<byang> oh, no.
<bizzaro> Note that the further back in time you go, the less seriously you should take the ideas
<bizzaro> I wouldn'
<bizzaro> t bother with anything before March 2000
<byang> ok
<bizzaro> That's when the 3 projects merged
<bizzaro> Are you familiar with the merger?
<byang> no
<-- bdumm2 has quit (Read error to bdumm2[dhcp31174173.columbus.rr.com]: EOF from client)
<bizzaro> Around March 2000, Jean-Marc posted a message about Overflow to the GNOME news page
<bizzaro> I saw it and commented that it was like my own project, Loci
<bizzaro> Except that it didn't have networking
<bizzaro> Jarl also saw it.  He was working independently on the Generalized Messaging System
<bizzaro> Loci had the best developed GUII
<bizzaro> GMS had the best developed network
<bizzaro> Overflow had the best developed data processing system
<bizzaro> So, we contacted each other and asked "why not make one system, combining the strengths of each?"
<bizzaro> We first started calling it VSH, for "Visual SHell"
<bizzaro> That's where we got the mailing list name "pipet-devel"
<bizzaro> We then considered other names, finally settling in Piper, because of the implication of "flow"
--> bdumm2 (bdumm at dhcp31174173.columbus.rr.com) has joined #pipernet
<bizzaro> And also for the many synonyms
<bizzaro> Ever since we've been trying to get the individual parts to work together
<bizzaro> GMS started out as a C program, and we convinced Jarl to change to C++
<bizzaro> Loci is Python, but we may now be switching to C++ as well
<bizzaro> The glue has been CORBA
<bizzaro> But there has been some debate about that
<bizzaro> Brad and Jarl are familiar with CORBA
<bizzaro> While Jean-Marc and myself are less so
<bizzaro> For now, we'll stick with CORBA
<byang> which is good. I have started learning it and found great interest.
<byang> BTW, it seems to me that Overflow is still kinka standalone. Do I need to download it seperatly to make piper work?
<bizzaro> Yes
<bizzaro> We may package Piper with Overflow, but Jean-Marc wanted Overflow to work independently
<byang> Steve, sysAdmin at Bimcore would help me setting up the system. I hope to experience it for a while and may have more questions.
<byang> Thanks a lot!
<bizzaro> He's going to help you set up Piper on your system?
<byang> right.
<bizzaro> What's the OS?
<byang> We are running solaris 8 enterprise 250. we have almost all prereqs for piper. any suggestions?
<bizzaro> Well, I know that most of our libraries run on Solaris
<bizzaro> But we have never compiled Piper on Solaris
<bizzaro> I'm not sure if Overflow has been
<bizzaro> Overflow needs to be compiled first anyway
<bizzaro> See how that goes
<byang> we will be trying. we got gcc 2.95.3 and python 2.1.1
<bizzaro> That seems okay to me.
<bizzaro> It will be nice to see it compiled
<bizzaro> on Solaris
<bizzaro> Just send a message to the pipet-devel list if there's a problem
<byang> Steve is with me now trying on that...
<bizzaro> Just remember: Overflow first, then Piper
<byang> thanks, we will trying this today and tomorrow.
<jmvalin> (sorry for the delay)
<jmvalin> Overflow does compile on solaris x86 (I use it every day)
<jmvalin> So far, I haven't really tried on Solaris SPARC
<byang> our server is sparc. what else beside the tar ball on sourceforge do I need to install Overflow?
<byang> If necessary, we can set it up on linux.
<byang> just downloaded the Overflow-0.5.1.tar.gz from http://sourceforge.net/project/showfiles.php?group_id=590. right way?
<bizzaro> I think there's a list of dependencies in the README file
<bizzaro> For Piper dependencies, check the INSTALL file in the Piper directory
<bizzaro> You should have GNOME and GTK libraries
<bizzaro> Also GLIB
<bizzaro> omniORB
<bizzaro> It should all be listed there
<byang> Yes, I will let you know if any problems pops up. 
<byang> later today or tomorrow.
<bizzaro> :-)
<bizzaro> Okay, I'll post the transcript to the list
<bizzaro> I'll probably step out in a few minutes

More information about the Pipet-Devel mailing list