JWGC
Love for JWGC!
Occasionally I get little nuggets of “hey! JWGC is neat! are you still working on it?” Good to know some folk are still interested in it. =) Of course, my free time is not abundant and so I haven’t had time to work on it, but yes I still am “in general”. I mostly ported it to loudmouth at one point. That was fun. =) Just didn’t finish it completely. Anyway, it’s nice to see some interest.
Also, thanks to Ralph M. for fixing my feed with planet jabber!
Converted to Loudmouth/glib
Well, I have a couple of minor changes to make here and there, but overall, I now have jwgc converted over to loudmouth/glib. I split it off into a different branch. I’d still ideally like to release 1.0 “as is” without the loudmouth stuff and then turn over the trunk to the loudmouth branch and go from there for 2.0. Part of me doesn’t really even want to release a 1.0, but hey… I should at least put that to rest properly. =)
The branch is: svn://svn.blathersource.org/jwgc/branches/loudmouth
Anyway, I like the API, it’s fun to work with. I’ve gotten to like glib quite a bit. I’ll be converting a lot of the internal code over to use glib commands instead of standard c.
Lots of things should be added to jwgc. Like, for example, right now it only does agents support. ;D Yeah, that’s going to be handy nowadays… Couple of plans are:
- disco support
- ‘queue’ system for subscription requests… as opposed to just automatically accepting them
- ‘plugin’ driver support for display and such
- gnome based plugin, see above
We’ll see. I dance around on my projects so I’ll likely be going back to the Py’s over the next couple of days, and scriptrepo.
The Migration
I’ve been playing with Loudmouth and JWGC. So far so good. Quite easy to use and intuitive. (well assuming I’m doing things right) However, at the moment I am stuck at something more base than Loudmouth. I’m stuck with glib. I’m trying to replace the mux stuff that I had entirely with the glib based event handlers. Should be trivial. I’m missing some aspect of it though. I can’t seem to find any good documentation. I’ve got a book on the way about gnome programming, but that really doesn’t help me “now”, ya know? I can see the glib api, but that about covers it. Guess I’ll go probing around other peoples’ code.
If anyone has any good online docs for glib that they’re aware of, -especially- the main event loop stuff, please post me a link.
On a side note, scriptrepo is coming along. Still a fair amount to go.
It’s interesting to be messing with c code again though. Been a while.
Thinking about 2.0
I know I haven’t released an official version 1.0 of JWGC yet, but I’m considering cleaning the current code up just a tad and releasing it and then moving on to 2.0 stuff. Here’s a big part of what I’m considering… I’m thinking about ditching the current XMPP and such handling code and going with a library that’s out there in the world somewhere. Thing is, I haven’t seen any c-based XMPP/Jabber libraries. I’ve seen Java and C++ and … you get the idea. Part of my reason for posting this is the hope that someone reading knows of a simple c-code library and that I just haven’t keyed the right search string into google. I’ve had some great suggestions from folk from time to time. I’d like to pursue them. But things would go a lot smoother if I didn’t have to reinvent the wheel with the actual Jabber/XMPP library part of it. =)
Ah, poor JWGC…
JWGC is so far behind the times nowadays. It doesn’t even do disco. I have some grande plans for it but I have so much larger of a user base for PyAIM and PyICQ that it’s hard to justify to myself to put time into JWGC. I periodically post “must add’s” to JWGC’s feature request list as I come up with things. The last time I updated it I ran into some odd crash bugs. That all said, working on the “other side of the equation” with PyAIM and PyICQ has opened up a world of knowledge about how Jabber works that will be extremely helpful when I dive back into JWGC. Thing is, do I clean up JWGC a tad and release a 1.0 and THEN add the new stuff, or do I go ahead and add new stuff? I’m thinking the former. 2.0 would include loooots of new functionality. I might even add in a Cocoa driver for OS X. Lots of ideas… No one is on the jwgc mailing list, so there doesn’t appear to be much interest at this time.
I often see C++ and Java and such based Jabber libraries out there. I’m wondering if there are any I’m just not seeing that are for “just C”. =) Anyone?