SpeakUp with Brian Smith from 08/07/99, Topic: The EverBlue project.

<mandie bsmith: welcome :)
<Swanee bsmith: You're not late... just fashionably tardy :-)
<bsmith hello everyone
<lmaxson hello.
<lmaxson Introductions are in order.
<Swanee lmaxson: Amen
<Projects this is me, is that you? :)
<mandie VOICE would like to welcome our guest for this speakup, Brian Smith
<mandie Brian will be discussing the EverBlue project
<bsmith How should I begin? :)
<coin hi there
<mandie at the end? ...just tell us a bit about yourself and then on to the project :)
<lmaxson Brian, begin with the objectives of EverBlue.
<coin hi davidA
<Swanee bsmith: Leave out the three sided log cabin and go from your first atari game. :-)
<lmaxson I'll go and come back.
<bsmith Ok, well I've been using OS/2 since 1992, I've been developing OS/2 based software for the last 3 years. I started with my Unix intrigue in 1993 with FreeBSD and Linux. So I created a port of BitchX and WindowMaker.
<eTronik OK! I'm back this time checking out GT Irc !
<bsmith Then Danielle Vistalli and I got to talking about a port of GTK to the presentation manager. When I started working on the port I learned that to port GTK we would need to port a layer called GDK.
<bsmith The GDK is basically a layer above Xlib. Any GDK calls are translated into Xlib calls (on unix) ... or Win32 calls on Windows.
<bsmith The Windows port of Gimp/GTK did this by rewriting the GDK to use Win32 calls instead of Xlib calls.
<eTronik ...
<bsmith So I started looking at the Win32 source. I liked the idea... however, it would seem to make more sense to me to do this work in Xlib instead of the GDK which would allow non-GTK programs to take advantage of this work.
<bsmith So I hacked out an initial code base for it.... very primitive. There was a German team also planning to do similar work (with porting of the GTK) so we joined forces.
<bsmith And we took on the codename that the German team had chosen which was Everblue.
<lmaxson Immerblau?
<bsmith Then Atony Curtis joined the team and single handedly quadrupled the pace of the development.
<bsmith Antony
<bsmith rather :)
<mandie bsmith: GTK=Gimp Tool Kit?
<Projects and GDK = ?
<bsmith mandie: Well there has been discussion about what it actually stands for... some people say Gimp Toolkit and others GNU Toolkit....
<Projects ah, GNU makes sense
<mandie thx
<bsmith Projects: Not sure about GDK
<Projects good... now I don't feel so stupid :-)
<bsmith A while back Antony became busy with work (and so did I) and development slowed to a crawl.
<bsmith I've finished up most of my other side projects so now I am once again focused on Everblue. :) And I've been looking for some other programmers to help the development.
<mandie bsmith: is this also considered as one of the NetLabs projects?
<bsmith mandie: yes this is a netlabs project. :)
<mandie thought I'd just throw that in :)
<lmaxson So far you have discussed three layers, xlib, gdk, and gtk.
<lmaxson What functionally distinguishes one from the other?
<bsmith There is also glib... but glib ports with almost no changes when using Antony's pthreads port.
<lmaxson What do we have when it is all done?
<bsmith lmason: well Xlib is basically windowing primitives.
<bsmith It allows you to create windows on the screen, handles colors, and event handling.
*  WarpHoss notes GDK = General Drawing Kit http://www.ds14.agh.edu.pl/docs/gtk+/gdk_toc.html *
<bsmith Xlib does not provide any highlevel widgets or functionality
<bsmith Which is why there is a large number of toolkits available for Unix and X/Windows.
<Projects WarpHoss: thanks... my guess was miles off the mark :)
<bsmith Such as Xqt, XForms, QT, GTK, Motif.... etc...
<bsmith WarpHoss: Thanks :)
<lmaxson The only one "open systems" is motif?
<bsmith Open systems?
<lmaxson In your unix world it's your invention.
<eTronik Whats the porting status each previously mentioned layers and what specific kind of help to you require ??
<lmaxson OSF--Open Systems Foundation--consortium of unix vendors including IBM.
<bsmith Ok... a little more explaination needs to be done.
<bsmith The design of Everblue is not the complete removal of XFree86.
<bsmith But the removal of the XServers.
<bsmith Everblue replaces the X11.DLL from XFree86. (Which is basically Xlib)
<bsmith When finished it should completely replace all the XFree86 X11.DLL functionality with the PM equivalency.
<bsmith Therefore programs already compiled for XFree86 should be able to run with the Everblue on the PM desktop without running an XFree86 XServer.
<lmaxson When finished what we will be able to do differently?
<bsmith They will not need to be recompiled at all.
<bsmith lmaxson: run an XFree86 program basically as if it were a PM program.
<lmaxson What XFree86 programs come to mind?
<Swanee So rather than setup XFree86, we can run X proggies with the X11.dll?
<Projects Gimp
<bsmith well currently I have xv, licq, xcalendar, xpostit, xedit, xless, xclock, etc working
<DaveW (http://www.netlabs.org/everblue/ for details of what it does)
<Swanee Thanks DaveW
<bsmith xv and licq are the latest additions to the "working" programs
<bsmith Gimp may take some time to get working because X extentions are not yet implemented.
<eTronik will the clipboard be shared with those apps ?
<mandie or !ask everblue
<bsmith And Gimp uses the MIT Shared memory extention.
<mandie !ask everblue
<VoiceBot [everblue] http://www.netlabs.org/everblue/ (mandie)
<mandie !ask netlabs
<VoiceBot [netlabs] NetL@bs http://www.netlabs.org/ (mandie)
<eTronik so how many persons in total are working in this effort ?
<bsmith eTronik: if you use the XFree clipboard sharing program
<bsmith eTronik: well, there are at least 10 people who are "on the team".
<eTronik :-)
<bsmith but most of the code came from Antony .... and next from me....
<eTronik and what specific tasks are required to complete this effort ?
<Hawklord BitchX-1.0+ by panasync - Warp 4.0
<eTronik and in what ways could you use some distributed help ? :-)
<bsmith eTronik: well.... we need to finish up some unimplemented APIs ... but most of the work will be finding bugs in the already implemented APIs.
<eTronik how does one find them ? any sort of sistematic approach to that ??
<bsmith There are bugs in the current APIs because.... bugs just tend to happen for one... and also we did not always completely understand what the functions were supposed to be doing entirely. And therefore implemented some of the functions wrong.
<bsmith eTronik: well the first thing that needs to happen is I need to figure out how to commit changes to the CVS we just had setup at Netlabs... I'
<bsmith I've been slacking off ;)
<eTronik and next ?
<bsmith eTronik: we had someone creating a list of API calls and their current status. However our efforts have not been entirely coordinated.
<hugh_ bsmith: Well I guess the Netlabs CVS-client we use for ODIN will just do fine ;)
<bsmith eTronik: Well I am planning an alpha or a beta in the next few days, and figuring out how to commit my latest changes to the CVS. Once we get to that point we can get user feedback and have a more coordinated effort to the development.
<eTronik so that someone had to go though all the sourde code ??
<bsmith hugh_: yeah I have that installed. ;)
<bsmith eTronik: what do you mean?
<bsmith oh
<bsmith no
<eTronik :-)
<bsmith We have a file called Xlib_stubs.c which has a list of all unimplemented functions
<bsmith when someone implements a new function they have to remove it from the stubs file.
<bsmith Therefore the Everblue DLL looks just like the XFree86 DLL from an external program's point of view.
<eTronik But then who load the Xfrre86 application if not the X server ?
<bsmith you can run it from a OS/2 prompt or from the WPS (if that is what you mean)
<hugh_ eTronic: programs are allways loaded by the OS, the X_server only provides the GUI
<eTronik but then you use some of Xfree infrastructure no ??
<bsmith Well the other XFree86 DLLs are used
<eTronik ahh !
<bsmith And much of the Everblue code is modified code from the XFree86 X11.DLL
<mandie do we have other members of NetL@bs here?
<TheSeer ktk is on party right now ;-)
<mandie or the Everblue project
<bsmith well Kerni is from os2.org ;)
<hugh_ eTroniK: everblue will only change the frontend from an Fullscreen OS/2 app (via X-server) to PM
<Kerni bsmith: yeah. I am here :-)
<bsmith hugh_: yeah it's a very similar project to Odin.
<bsmith :)
<eTronik I see
<hugh_ bsmith: It's @ leatst not so complicated
<lmaxson Which one allows us to run Windows apps under OS/2?
<bsmith lmaxson: Odin
<Projects Odin
<mandie !ask odin
<eTronik That debugging part...
<VoiceBot [odin] The re-born win32-OS/2 project - http://www.netlabs.org/odin/ (madodel0)
<lmaxson That means more than a gui replacement.
<bsmith hugh_: I also have an ELF to a.out converted which may allow program conversion as well
<hugh_ bsmith: well thats interesting ;)
<bsmith (EMX uses a.out) but the issues there will be the EMX libc and all the many variety of libc's on linux/BSDs etc
<bsmith I am sure there are not going to be entirely compatible
<Kerni bsmith: everblue probably once could extend to run any x-binary from linux on the pm, like odin does. what do ya think ?
<bsmith Kerni: well the possibility is there... the issue would be API compatibility with the API's on the source platform
<eTronik what sort of debugging process will get in place ?
<bsmith Debugging of Everblue is a somewhat difficult thing
<eTronik youmentioed that but...
<bsmith Since we are using EMX to produce OMF DLLs, so Antony had used a scheme used by XFree86 to do fault trapping which reports the API history and last check point hit before the crash
<eTronik sec.
<lmaxson Who is writing the documentation of the API's.
<bsmith Well the API's are well documented by the X consortium and various Unix vendors
<bsmith so that is something we don't have to worry about much
<lmaxson If they are so well documented, how could they have been misunderstood?
<bsmith lmaxson: well the interaction complexities are not very easy to understand always.
<lmaxson Then they are not well documented.
<bsmith X was designed to run over a network. So there is lots of synchronization code... and oddities of communicating with the window manager.
<bsmith A good example of a hard to understand API is XAllocPlanes()
<bsmith There are many pages of documentation yet the implementation is still very difficult :)
<lmaxson I'm sorry to belabor a point here, but seemingly you do not use a formal logic specification language.
<lmaxson You seem to list an API and an informal language description.
<bsmith_ sorry about that my ISP cut out
<bsmith_ what was the last thing you saw?
<lmaxson There are many...
<Projects MODE +o bsmith_
<eTronik lmax: the originall documentation is writeen in an informal kind of way I think
<Sector There are many pages of documentation yet the implementation is still very
<Sector difficult :)
<bsmith_ In any case I don't think we need to spend much effort on documentation
<bsmith_ almost no programs are written in pure Xlib anymore
<lmaxson Then what is the purpose of the port?
<eTronik apps are written in highler level libs which in turn call Xlib APIs right ??
*  Swanee regrettably has to leave. (28 yards of concrete await... what a nice way to spend a weekend. I'm sooo glad to have friends that need me. ) I'll catch up on the discussion with the log. *
<bsmith eTronik: right
<bsmith like Xqt, GTK, QT, motif....etc
<Projects see ya Wayne
<bsmith Xforms....
<Swanee Thanks bsmith. Bye all.
<Swanee See you Peter
<bsmith byw Swanee
<bsmith bye
<bsmith Anything else?
<lmaxson You obviously place some importance on the port. It eludes me.
<bsmith lmaxson: What eludes you? The importance?
<lmaxson Yes.
<Kerni how long do you expect the development to take, until such things like gimp work ?
<lmaxson What do we as OS/2 users have when it succeeds.
<Kerni lmaxson: gimp running on PM !!
<bsmith Well the ability to run any XFree86 application on the presentation manager isn't important to you?
<lmaxson How have I been able to get along without gimp?
<Projects gimp on PM would be great
<lmaxson Why?
<bsmith It would like double the PM application base instantaneously
<bsmith lmaxson: obviously you have never used the Gimp :)
<lmaxson Obviously.
<eTronik nor Xfree86 it appears :-)
<DaveW and Linux is likely to accelerate, so there will be many more
<lmaxson You are assuming that Linux is accelerating to somewhere.
<bsmith Definitely
<bsmith lmaxson: for better or for worse it is.
<DaveW doesn't matter what you have used, just that there is a lot of software out there that we will be able to use
<eTronik once its ported over to Xfree86/2 right ?
<Kerni lmaxson: anyway, increasing the amount of running programs under OS/2 is ALWAYS good. does the same like as Odin !
<hugh_ lmaxson: Well you might be able to run the linux version of comunication on the PM without haveing to wait for IBM to port it ;)
<bsmith eTronik: right
<lmaxson If numbers appeal to you, fine, I happen to have a penchant for function count.
<bsmith eTronik: unless the elf2aout works better than expected ;)
<eTronik ah!
<Kerni lmaxson: programs like GIMP ARE great it functionality, no OS/2 program can compete with it !
<eTronik lmax: its not a question of numbers, major software effort is being applied into linux, with this we can have that same software running under OS/2 PM !! what could be better than that ??
<bsmith I personally am very fond of unix, but it is missing alot that OS/2 has.... and a perfect mix of the two would be utopia for me.
*  Projects too *
<lmaxson I have no problem with merging the Linux and OS/2 community.
*  Kerni too *
<lmaxson But how do you define that "perfect mix"?
<hugh_ The Xlib port will also make it very easy for comercial unix-sw vendors to have /and or keep an OS/2 version
<bsmith I can see nothing but good things coming from this.... right now it's basically a job of major debugging.
<eTronik lmax: thatres a but in there no ?
<lmaxson I'm not objecting. Just trying to understand.
<eTronik I know, but whats your point ?
<bsmith hugh_: exactly... with EMX, XFree86 and Everblue you have an almost complete unix environment on OS/2
<eTronik bsmith: I haven't understand how can we apply some sort of organized debugging...
<lmaxson A unix environment on OS/2 might be the straw that causes me to depart.
<eTronik :-)
<lmaxson UNIX sucks.
<bsmith eTronik: I haven't thought of a good way either other than just people using the CVS and spending time
<bsmith lmaxson: ack... how can you say that?
<eTronik lmax: you don't have to have it ! you only set it up if you choose too !
<lmaxson Thirty year history of the sucking sound.
*  bsmith srhugs *
<Kerni lmaxson: that's your personal oppinion !
<mandie yet another "choice"
<lmaxson For personal use the OS/2 kernel is better.
<bsmith shrugs rather
<eTronik I just find EverBlue exiting !
<bsmith lmaxson: I agree... but EMX+XFree86+Everblue doesn't replace the OS/2 kernel....
<lmaxson OS/2 is not shy of a kernel. It is shy of applications and drivers.
<lmaxson Applications should be platform free.
<Kerni EverBlue IS exciting !
<bsmith lmaxson: Those are just API layers which allow unix applications to run on OS/2
<eTronik its sort of like not even have to install Linux, but still having good part of it available to to me!
<Projects eTronik: exactly
<lmaxson Then that is a good reason for it without tossing in the unix environment (which isn't).
<Kerni lmaxson: think it that way: everblue and odin extend the OS/2 APIs, so all application using any of these apis can run !
<mandie sorry I have to leave, thank you Bob for coming today :)
<eTronik yes ! OS/2 has a DOS VDM, then a Java VDM, only now will have a Xfree VDM !
<lmaxson ODIN I understand.
<bsmith lmaxson: It's basically the same idea as odin.
<Kerni lmaxson: so you see there is an application you want to use: and it is not important if it is written on linux, oder windows or os/2, it just works
<bsmith just with unix applications instead of Windows.
<lmaxson VMWare makes sense as well.
<eTronik oh so you can understand Win32 applicatins but not Unix applications ??
<TheSeer vmware is a nice but totally different idea..
<lmaxson Yes, my clients insist on Word documents.
<bsmith yes VMWare is a completely different story
<lmaxson I have the Virtual PC on my MACs.
<bsmith lmaxon: and what if they insisted on Emacs ;)
<Kerni lmaxson: if YOU are not interested in it or can't find a use right now for yourself, why must it be useless then ??
<hugh_ lmaxson: Use staroffice and save as Word
<TheSeer and, the design of vmware and systems like it has some bad limitations..
<TheSeer like interaction of apps..
<lmaxson Kerni, I am not saying it is useless.
<lmaxson I am concerned about the effort involved relative to the payoff.
<eTronik elaborate please :-)
<bsmith lmaxson: well the payoff depends on how well linux (and other unices) boom
<bsmith lmaxson: check out www.freshmeat.net
<bsmith That will demonstrate the volume and variety of unix applications being released
<bsmith I am willing to bet that if users had a nice installation program for EMX, XFree86 and Everblue and if the X apps ran like normal PM apps people would use them just as much as the native PM apps.
<eTronik bsmith: will the alpha version run without disrupting the existing Xfree environment ??
<lmaxson There is saftety in numbers until the using population can no longer keep track.
<bsmith eTronik: this is what I do currently...
<lmaxson saftety -> safety
<TheSeer keep track on what ??
<bsmith I have "." in my LIBPATH before XFREE86\LIB.... I can run X apps from the Everblue directory (using Everblue) and XFree86 from elsewhere
<lmaxson seer, on the applications involved.
<TheSeer who cares ?
<WarpHoss bsmith> Is there a version of this project we can "test" now?
<TheSeer just install the "support"-feature and go..
<eTronik so even with the EverBlue alpha installed I could always run the full X free server at the same time ?
<TheSeer don't care what os or system it was designed for.. just USE it..
<lmaxson Seer, the user does once they exceed the fingers of his hand.
<bsmith WarpHoss: Well I intend to release an alpha/beta in the next couple days
<bsmith It will be posted on OS2.org and I'm sure other news sites as soon as it happens ;)
<lmaxson Seer, we agree that application should be independent of OS.
<WarpHoss bsmith > that is a good thing.
<TheSeer lmaxson: well.. that's the theory. As long the app isn't we need to take care the OS is indepented of the app ;)
<bsmith Kerni: BTW ssh beta 2 is done
<TheSeer lmaxson: so everblue and odin are the steps to go for now..
<Kerni bsmith: hmmm... working ?
<bsmith I'll mail it to you as soon as I finish some stuff up here
<Kerni great !
<TheSeer lmaxson: we all know that's not the way it *should* be but it's the best to go.
<WarpHoss bsmith > What in a practical sense can VOICE andothers help you with to ensure this projects success?
<bsmith well curently I need programmers with time (familiar with PM and Unix)
<bsmith there probably isn't a large source of people to draw from unfortunately :)
<bsmith otherwise I just need focus...
<bsmith I get distracted by other projects too much
<Kerni bsmith: you should finish one affter another .)
<bsmith Kerni: I know ;)
<TheSeer *g*
<WarpHoss bsnith > Is there a formal process in place for problem/bug/questions when the project is rolled out?
<bsmith WarpHoss: well there is an Everblue board setup
<bsmith one sec... let me find the URL
* ** eTronik is joining channel #voice ***
<Kerni we hope netlabs will have a bug-tracking system for all of their projects once
<bsmith http://193.70.185.3/http/virusface/everblue.nsf/EBIS-CB
<bsmith dpesm
<bsmith ack
<bsmith doesn't seem to be responding at the moment though
<DaveW try http://www.netlabs.org/everblue/
<lmaxson I haven to leave, but I thank you for the lesson.
<bsmith lmaxson: bye :)
<DaveW the virusface link is what comes up in yahoo, too
<lmaxson haven -> have
<DaveW didn't work from there either
<Kerni btw. there are already some screenshots of everblue at os2.org !
<bsmith DaveW: this is a different one
<eTronik eheh : http://home.i1.net/~naken/ - Convert your Visual Basic applications into
<WarpHoss This is good news for those of us in the telecom industry that like PM and hate xfree.
<eTronik Unix C to run on X Windows with the GTK library.
<DaveW different website for same project?
<bsmith eTronik: that is very interesting
<eTronik dunno if it work no no but cuuould be interesing
<bsmith Anyway
<Dervish Hello everyone!
<WarpHoss Welcome Dervish.
<bsmith if there are no more questions....
<eTronik for when the alpha or beta ?
<hugh_ That would mean we would have many of this great VB-apps like "Joe's CD organizer 2000"
<bsmith eTronik: sunday or monday
<Kerni hehe
<Kerni eTronik: just keep an eye on os2.org :)
<eTronik what kind of non-programmer help would you require ?
<bsmith eTronik: not very much unfortunately
<eTronik great ! :-)
<eTronik eeh
<eTronik so we'll justkeep an eye out for the Beta :-)
<bsmith :)
<Abraxas bsmith Thanks for being our guest, today ... we appreciate the effort
<bsmith Thanks for havng me! :)
<eTronik definitely !!
<Abraxas bsmith anytime :-)
<bsmith anyway ... bye all ... :)
<WarpHoss A very informative session bsmith Thanx.
<eTronik bsmith : best of luck !
<Abraxas bsmith if you want to do this again ... just drop an e-mail to Judy (liaison@os2voice.org) and we'll get you right in the schedule
<bsmith my pleasure :)
<bsmith Abraxas: will do!
*  bsmith waves *
*  Abraxas thanks everyone ... a very informative session *
<Projects indeed
*  Sector thanks VOICE for arranging these sessions *
<Abraxas Dervish the logfile will be posted as soon as possible (hopefully later today)