Powered By:
Clearspace
BlatherSource: Because development won't keep quiet

BlatherBlog

1

IntelliJ, why do you insist on bleeding memory relentlessly as I use you?  I should not see your usage increasing by 3 megs every second.  Sure garbage cleanup is taking care of it, but geez...

 

Supposedly this was supposed to be fixed in 7.0.3.  I'll get back up with JetBrains when I have the patience to do so.  Generally it doesn't seem to cause any real problems, it's just damned bizarre!  See attached movie clip for fun.  ;)

1 Comments 0 References Permalink
0

Yes that's right, Clearspace.  Those familiar with Clearspace might be thinking to themselves ... are you nuts?  Clearspace is a -beast- for just a blog!  Well, you're probably right.  However, I like it, I work with it, and I've been interested in writing some plugins for it for a long time now.  The thing is, without actually running it live anywhere for myself, I never give any priority to writing said plugins.  Now I have a solid reason to.  =)

 

So what exactly -is- BlatherSource nowadays since I moved all of my projects away from it?  Well, for alll practical purposes it's my playground.  I continue to use this blog for posts related to my projects, XMPP, that sort of thing.  I'll be running a number of services at this site.  for example, I'm now offering public XMPP services here.  If you are so inclined, feel free to register with blathersource.org.  As the author of the IM Gateway plugin, there's a good chance this will be the first place I upload new versions for testing, and if a number of folk start using the service here, it'll help me get a window into what errors might show up.  If folk start having problems that I'm having trouble dulicating myself, hopefully I can get said folk to register at blathersource.org and "demo" the misbehaving accounts to me and such.  And just in general, if you are looking for a place to house your XMPP account, you are quiet welcome to register it here.

 

I'll post more details on the XMPP services at a later date, but anyone is welcome to register now if they are so inclined.  I'm not sure what else I'm going to run here just yet.  I got a general purpose dedicated server from Hosting And Designs.  I've been quite pleased with it so far!  I hosted my previous web services at Modevia, who were wonderful!  However, I decided I wanted to run more services beyond just web services, and also needed to feed my old sysadmin bug since I no longer do that for my job.  =)

 

Anyway, I'm excited for my new site.  Who knows, maybe it'll get me posting more.  Probably not, but it's wishful thinking. 

 

0 Comments 0 References Permalink
0

You may have seen, in the past, my podcast about External vs Internal Gateways.  In that podcast I talked about a number of benefits that internal gateways have over external gateways.

 

It's not all peaches and cream though.  You see, the problem with being so close to the internals of the server with internal gateways is that you tend to hear and trigger far more than you intend.  I'm going to pick on Openfire a little here since that's what the IM Gateway plugin is using.  Some of these may simply be something that should be fixed in Openfire.  Being one of the developers of Openfire, yes, I will investigate them when I can.  =)

 

One of the issues is, when a roster item changes, I actually get a number of listener events that tell me this occurred.  It's difficult to know what the proper event is.  In some cases, I'll get an event with no groups and then another event with groups.  Hard to know which one of those is true.    All things that I need to run through and make sure I'm doing things correctly.

 

Likewise, any time I tweak something about a roster item, I get events telling me it's changed.  Yes, I'm aware, I just did them.  =)  So in that case I need to ignore events.

 

It's all very strange actually.  I switched to listening for packets for real IQ packets coming from the client.  Guess what, there's a lot of IQ packets that come from the client.  So that's not really making things easier.  In XMPP, groups don't mean as much.  Removing and readding groups is nothing big.  In AIM and friends though, it's dire.  You remove groups and you've moved things around on your roster a lot.  This is primarily because in XMPP, you have a roster item, and an attribute of it is what groups are in it.  In AIM you have groups, and an attribute of a group is who's in it.  (for nitpickers, I'm referring to attribute here as "something the entity contains",  not attribute in the literal XML form of the word)

 

So if you were thinking, wow, internal gateways sound so easy!  Think again.  =)  There's a lot that goes on behind the scenes that's more difficult to deal with than you might expect.  So to sum it up, I'd like to simply say, there's pros and cons of both.  =)  Don't think an internal gateway is a magic bullet.

0 Comments 0 References Permalink
11

You've probably at least seen:

http://florianjensen.com/2008/01/17/aol-adopting-xmpp-aka-jabber/

 

So I played with this a little yesterday .. very cool!  I certainly hope that AOL does indeed go through with this and embrace XMPP!  Based off my experience with OSCAR and XMPP, they -could- accomplish everything they're currently doing with OSCAR with XMPP.  Do they want to?  Is this simply a gateway to their AIM and ICQ services?  Who knows, but it's good to see!  I would imagine AOL has already seen how excited folk are about this, probably by their poor test server getting suddenly wailed on.  I can only hope they won't decide this is a bad idea.  The thing is, people like to use AIM and ICQ.  People like to use XMPP.  Why do they have to be at odds?  AOL's take on how chatting should work could bring wonderful improvements to XMPP overall.  I think Google's joining the fray did a lot of good for XMPP in general in terms of XEPs that came about because of it and such.  And people like me wouldn't be spending so much time building transports or multi-protocol clients if we didn't at some level like the services we were connecting to.  For example, I don't hate AIM.  I simply like a lot of protocols and don't want to run 8 different chat clients on my desktop.  I also think the OSCAR protocol is interesting, as are the other protocols, so I wanted to learn more about them.  Does that mean I'm out to make XMPP overtake AIM?  Hell no.  To be frank, it would be a happy day to me if the transports were no longer necessary, if people on AOL's servers could chat with people on my own server and on jabber.org's server and on lots of others without having to figure out the protocols.  Does this mean no one would try to dissect the protocols anymore?  Probably not.  Part of the drive of that is learning and understanding.  It doesn't have to be about trying to circumvent.

 

Imagine if AOL decided they really liked XMPP overall and ditched OSCAR though.  That would hose old clients.  But what if they released a new client that spoke XMPP while keeping their old servers going?  Furthermore, what if that client could point at other servers than AOLs.  Now AOL has a nice client or two out there for any XMPP clients to use.  That's kinda cool!  There's plenty of great XMPP servers out there at this point.  The client choices in general are a little lacking.  Spark, of which I'm in charge of nowadays, is pretty, it's cross platform, but it's a beast.  Java is not necessarily great in terms of small memory footprint.  Coccinella has a lot of cool features but it's Tcl/Tk and I've never liked the "feel" of Tcl/Tk.  Google Talk, there's not a version for my OS, so what good does it do me.  iChat...  nothing personal Apple but I've never liked it.  I can't put my finger on why really.  It's also hard to explain why I don't use Psi for everyday use.  I love it for development.  Nothing is better IMO.  But for some reason it didn't feel simple enough to be something I want to use as a regular client.  Adium X and Pidgin?  It's the primary client I use but it lacks a lot of XMPP functionality (though it's definitely improving on that front)  All of these are good clients, and have good followings, but there's still a lot of room for other 'entries' to come into the mix.  Nothing seems to "do it" for everyone yet.  Of course, who knows if that will ever happen.  But seriously AOL, I'd love to see you throw your hat into the mix!

 

Now what about MSN and Yahoo and others?  Yahoo, I could see them possibly embracing XMPP.  Hell they bought Zimbra and Zimbra's suite has XMPP capabilities nowadays, so they have some bought expertise there.  MSN on the other hand, they sell a product (LCS? OCS?  whatever it is) that may be a good drive -not- to embrace XMPP.  I don't know much about OCS or LCS though.

 

Overall though, this kind of reminds me of e-mail.  Everyone can have their own implementations of email services and such, that doesn't mean we can't all speak the same language!  AOL, I hope you take all this attention as a compliment!  I think we're all proud and pleased to see you express an interest in XMPP and maybe join the family!!!

11 Comments 0 References Permalink
2

I've been quiet for a bit.  Most of you know how blogging goes ... you get excited about it or have a lot to talk about for a time, and then you start doing less and less posting.  Though some of you are quite adept at regularly posting ... to you I give the virtual thumbs up.  =)  But what have I been up recently?  Quite a bit actually.

 

For those who don't know, I left my university job of 11 years at the end of October and joined Jive Software.  My work with Jive fell right in line with "what I really want to do" for my career.  =)  Plus, they're all really great people.  That said, I'm working from across the country (waves) and quite enjoying it.  Maybe Jive will open up a Raleigh-Durham (Research Triangle Park?) office at some point.  ;D ;D ;D  Anyway.  I have continued my IM Gateway work, become one of the primary developers of Openfire, and become the lead developer of Spark (amongst other things).  I've been enjoying all of these things quite a bit!  I don't get to spend a lot of time on Spark, but when I do, it's quite fun to be playing with the client side again.  It's been a loooong time.  At this point I get to play with all three of the main areas of XMPP (Client, Server, and Component)!  It didn't take that long to adapt to Jive's environment though.  I actually really dig more deadlines and scheduled releases and such.  Frankly, it helps me mind "pick a target" when I'm trying to decide what to work on next.

 

So what's happened to PyICQt and PyAIMt?  I've officially stepped aside.  I moved them to Google Code so that others can more easily become involved.  You can now find them at:

http://code.google.com/p/pyaimt/

and

http://code.google.com/p/pyicqt/

I haven't removed myself as one of the "owners" yet on there so that it's possible for me to facilitate others becoming involved in the project for the next month or so in case others have been dying to get involved and didn't think about approaching me before.  A couple of other folk have stepped up and are doing a few things with it!  Yay!   The new location of the py-transports "mailing list" is now a Google Group at http://groups.google.com/group/py-transports.  I must admit, at this point, I don't miss them.  I do hope that they keep going though as I do believe they are good projects.

 

What about the XMPP Script Repository?  Well, I moved that to SourceForge: http://xmppscriptrepo.sf.net/

I won't be actively managing it, but if you are interested in becoming involved with it, please ping me and I'll set you up!  (let me know what your sourceforge id is)  It's using a SourceForge tracker to handle new script submissions.  If people -do- submit things to it, that would be about the most maintenance it needs unless you really feel like doing some significant work with it.  So... lemme know!

 

So what's left of BlatherSource?  You're "looking at it".  All I'm using BlatherSource for at this point is my blog.  I may do something else with it at some point, but for now it's just my blog.  I did like the interface I had put together for it, but I just don't have time to keep developing it/to manage it, ya know?  Many kudos to my hosts at Modevia.com for putting up with my requests for the site.  =)

 

I do still have a site for JWGC, http://jwgc.sf.net/ (moved it to SourceForge).  No idea if I'll ever do much else with it, but I like to keep it around.  It's my first XMPP related project ever.  =)

 

So... why did I move PyAIMt and PyICQt to Google Code instead of SourceForge?  Well, mostly because I wanted a wiki for the documentation and I couldn't find one on SourceForge.  Of course, an hour after moving everything I found that SourceForge -does- have a wiki.  Color me blind...  Doesn't matter, was neat to see what Google Code offers in terms of services.  I really like their "easy on the end user" issues tracker.  I don't like their web space offering though.  Spaces I think it is?  Whatever it is I don't like it.  I couldn't do with it anything like what I wanted.  I hear they are looking into a better solution at some point, so that might be cool.

 

After looking around relentlessly or a Java OTR library .. something like libotr that Pidgin uses, I decided to request a project on SourceForge to write my own.  Hopefully others will find use in it.  It's not approved yet, but if it is, it'll be jotr.  (http://sourceforge.net/projects/jotr ?)  If anyone is interesting in helping me out with that, I would greatly appreciate it!  I was rather surprised to see nothing already exists for Java for OTR.  (then again, I could have just not found it, but I tried really hard to find it  ;D  )

 

The IM Gateway plugin ended up putting me in the lead developer role of Java-JML (http://java-jml.sf.net) (MSN messenger library for Java) and also a developer of Martyr (http://martyr.sf.net/) (IRC library for Java).  Things sure do pile up quick, don't they?  =)  Those have been fun though.  I've gotten to work with Smack a little more as well in my Jive work, so that's been cool.  At this point I feel like I'm touching just about everything!  lol  Who knew that I'd go from being irritated with Java to enjoying working with it so much.

 

Anyway, so that's what my life has been lately!  New job, new adventures, letting go of some of the old ... moving forward.  =)  Yes, I do still have some XEPs to write/propose on the backburner.  I just haven't gotten to the point where I need to write them.

2 Comments 0 References Permalink
25

The other day I was thinking about some of the folk who had requested IRC support in the IM Gateway plugin for Openfire in the past, and how they were trying to migrate from a corporate IRC server to an XMPP server.  This is apparently no small task to encourage such a change and it got me pondering what could be done to make that transition smoother.  In my work with IRC support and with the Martyr IRC library, I've gained a strong knowledge of how IRC works and it occurred to me that it might not be that hard to provide an IRC server that sits on top of an XMPP server and just "translates" so to speak.  So instead of taking your XMPP server and having folk log in and connect to a remote IRC server, you could replace your IRC server entirely with this XMPP server that acted as both XMPP -and- IRC.  At that point you might even be able to lure some people over by saying "You know, if you simply went into pidgin and used XMPP instead of IRC for the corporate server, you'd gain a lot more cool features".

 

Would XMPP be hard to translate into IRC?  Without having written any code for it, my best gut feeling is no, not really.  You'd clearly have to sacrifice some functionality, but I think you could secretly tie the two together pretty well.  Log in with an IRC username and password, you're actually logging into an XMPP account on the backend with the same username and password.  MUC <-> IRC chatroom.  IRC WHOIS <-> XMPP vCard.  IRC ISON <-> XMPP presence check (probe?).  Lots of aspects map fairly well I think.

 

But I'm curious about interest.  I mean this seems fun and I might want to whip up a proof of concept, but what if no one wants it period?  I'd be wasting my time.  =)  So anyone listening . . . I'd love to hear your thoughts.

25 Comments 0 References Permalink
3

You know, when you are working by yourself on an open source project, your schedule is your own.  If you decide you don't want to work on it for a couple of months, that's your perogative.  At some level there's no rules what-so-ever aside from not doing things that will drive folk away from being interested in your project (assuming you care).  One of the biggest things that drives the project, however, is what -you- want.  When you are working on an open source project where you are teamed up with others, there's some checks and balances over what you do and your partners do.  However, at the end of the day, it's the same type of situation, you all decide what the focus of the project will be.  I don't like to put it like this, but no one has a "right" to your time except for you.

 

When you start working with a company on an open source projects, things change.  There are deadlines that the company is pushing for help drive your own timeline.  There are things they'd like to see happen that you may or may not agree with.  Instead of saying "well unless you submit a patch, it's not happening", you tend to work something out instead.  It's an interesting adjustment to "normal open source projects".

 

Do I dislike either?  No.  In fact I've quite enjoyed the experience of it.  It's taught me a few things that I wasn't aware of.  Like I was rather blind to some of the requirements that corporations ask for.  Some of the things they ask for I would typically have thought "that's ridiculous" with some of my other projects, but here I see a lot of folk bringing the same issue up and I start to discover that the issue is more commonplace than I would have assumed.  I'm not citing any examples here.  Just suffice to say there's things that having a broader knowledge of the corporate world has made me reconsider some of the decisions I might have made with other projects in the past.

 

So many thanks to Jive Software for giving me this additional experience that I wouldn't have gotten probably with PyAIMt and PyICQt.  =)  It's been fun and I hope it continues to be fun!

3 Comments 0 References Permalink
4

While standing in the cold waiting on a bus here in Portland, something that I think could be a little fun came to mind, thinking about an XEP again.  Hopefully the concept is still sound after my brain has defrosted.  ;D  I wanted to type it out while I have it in my head.  Anyway, just a quick note here, when I say clients, I'm referring not only to XMPP clients, but AIM, ICQ, etc etc.  Most clients have buddy icon/avatar support nowadays.  I've seen some clients that have the ability to include pictures or sounds amongst an instance message as it's being typed.  I imagine they do this via a form of file transfer.  Either way, I've never seen any clients have the concept I'm pondering here, so let me know if you've already seen this.

 

IMO, Buddy Icons are damn fun, but not something that I would consider "necessary".  So ignoring the lack of necessity, I love them.    But it occured to me today that I would actually like the ability to have something like a Buddy Icon that's more like a ...  "Sound Clip Avatar".  Some folk could be serious with this and say "Hi, my name is Daniel!" in their own voice.  In my case, I'd probably snag a fun sound clip/quote that I like from King of the Hill.  (In my case, I'm actually thinking I'd love the quote of Bobby Hill saying "for me.. it's about the cocoa")  Either way, I think it would be neat to have a little avatarish sound clip alongside the buddy icon.  Maybe a client would have you click on the actual avatar picture to hear it, or provide it in some other way.  I believe this falls into the same handling of the PEP-ish User Avatars.  So if I put together an XEP, it would be a typical "here's a standard way of publishing such a thing".

 

The last XEP I wrote is kind of dieing... no one seems to want to follow through on burying vcard, but no one seems to want to follow through on accepting vcard officially.  So I'm left in kind of a "oh well" state.  =/  This is something I think I could write up and it could be fun and people might actually implement it and enjoy it.  Will ponder on this.  Just wanted to type this up in an attempt to not forget it.

4 Comments 0 References Permalink
5

You know, when I first became interested in Jabber/XMPP, the thing that drew me to it so much was the concept of the transports to AIM, ICQ, etc.  Why?  Because it meant, instead of having to remember my passwords and accounts every time I switched to a new client, I could now store all of that on my server and log into one single location, my personal Jabber/XMPP server.  In general, this has worked out well, I do not log directly into AIM/ICQ/etc unless I'm testing something or don't have another choice at the time (perhaps my transport is broken, or something of that nature).

 

That said, lets take a look at my Adium X list of accounts at this point.  Instead of having 5 different protocol accounts listed, I have around 6 Jabber/XMPP accounts.  Home server, another external server, university private server, university engineering server, livejournal, google talk, friend's server.  So what happened here?  My original goal was to have one and only one server to connect to.  Is it because there's no XMPP transport/gateway as of yet?  No, if that were the case I would have written one by now.  Is it because a lot of these servers do not have s2s enabled?  Some of them, yes, that is the case, but that's not why I use all of them.  I can't answer why I'm now connecting to -more- accounts than I was before, completely defeating my original purpose.  I also used to have a jabber.org account listed there.  At least I pruned a couple.

 

Does it bother me that I log into so many accounts?  Not really.  It actually helps me keep some things in perspective while I'm developing... like the fact that I'm not the only one who does this and I should support multiple accounts in clients I might write.  It does, however, limit me from being interested in clients that only support one account to connect to.  Note that this is one of the other big reasons for wanting to centralize everything.  If I ran into a client I liked that only could connect to one server, I could use it and be happy with it.  Eh.

 

So anyway, no takers so far on the "anyone want to help with the Pys?".  Oh well.  I'll get back to them at some point.

5 Comments 0 References Permalink
0

The problem with personal projects is just that, when the person in question gets interested in another project or busy or whatever, development stops.  This is what the current status of PyAIMt and PyICQt is.  I am having a lot of fun with the IM Gateway plugin for Wildfire, and as a result I don't feel interested in putting any time into PyAIMt and PyICQt.  Are these two dead now?  No.  I still have "things I'd like to do with them" in my head.  It's just most likely we'll see a 1.0 version of the plugin before I touch PyAIMt and PyICQt again.

 

One thing that the IM Gateway plugin has brought me is that I'm now quite comfortable working with other folk on the same source code.  That said, I'm trying to weigh the pros and cons of enlisting help with PyAIMt and PyICQt.  There are quite a few folk that are interested in using it, a few folk who submit me patches from time to time, and certainly general interest in the transports.  So my question posed is...  Are there folk out there who are fairly experienced python programmers who would be interested in becoming active developers of PyAIMt and PyICQt?  I am not handing off the project and will continue to be the project lead, and will continue to put development time into them as time permits.  Anyway, I have not yet decided on this, I'd just like to hear from folk who might be interested in contributing.  If I see some interest that'll help drive my decision.  =D

 

On a semi-related note, I continue to find java with an IDE to be fun and interesting.  I think working with java without an IDE would be maddening due to how long it takes to compile and test things in the environment I'm using it in, and it's certainly saved me a ridiculous amount of time in debugging stupid typos and crap.  The IM Gateway plugin itself is going pretty well but unfortunately there's a lot of work that involves working on support libraries as well.  The original developer of Java-JML turned over development to me so I've been working on that.  That's pretty fun, I know more about the MSN protocol now than I ever expected I'd know.  The Yahoo library is ... kind of a pain actually.  =/  Right now Yahoo is the biggest source of issues for me.  Joscar for AIM/ICQ is a damn fine library, but I want to move to using a more simple API and I can't seem to figure out how I use Joscar's simpler API.    Perhaps I should like... ask them instead of just blogging about it.  I tried figuring it out from Adium X but yeah...  =)  That's kind of a weird setup.  I need to work on implementing the old school ICQ authentication because, unfortunately, the "new style" AIM auth only works with newer accounts.  (how bizarre)  I've still got a lot to work on with IRC as right now it's a mightily talkative transport and I doubt most folk want to see all of that.  =)  My biggest issue at the moment is that I'm fighting with AJAX support in the web interface.  Trying to use DWR... seems like it should work fine... doesn't.  I wanted to figure this out on my own but it looks like I shall be deferring to the Jive folk to get it taken care of.  So many things to do.

 

So anyway.  Thinking back, I remember that the thing I thought was so awesome about XMPP is that the entire spec was written out and 'open'.  My first endeavour was that I like the Zephyr system from MIT and thought, based off the open protocol, that it would be neat to implement zwgc and friends except to communicate to Jabber/XMPP.  This formed into JWGC.  Transports came later, etc etc.  The great thing is that the openness of the protocol leads to a great feeling of being able to write your own client/server/whatever to learn how it all works and go from there.  The bad thing is that the openness of the protocol leads to a great feeling of being able to write your own client/server/whatever to learn how it all works and go from there.  =)  Now, I don't think this truly is a bad thing, but it does lead to a -lot- of starter projects written and then ditched.  I often see folk come jadmin and jdev asking about where to start in writing their own client/server/whatever, and typically they get a response of "why not just contribute to an existing project?".  If the person's goal is to just learn, starting from the ground up is not a bad way to go.  If the person's goal is to get a server/client up and running that has X feature that all of the servers don't have, contributing is definitely the better way to go.  What's the fine line between writing your own and not writing your own?  I certainly can't answer that.  Note that I think asking "why not just contribute..." is a good way to go about it because that encourages the person to say "well I just want to learn", at which point ok, go for it.  Or it encourages us to help point the person in the right direction.

0 Comments 0 References Permalink
0

In working with the IM Gateway Plugin, there has been a pressure to try to improve the way transports are handled in general.  I've begun the process of seeing what could be done to improve things, but one of the big sticking points seems to be not having the transports in your actual roster.

 

Now many clients provide an option to simply hide transports from your roster.  IMO, this is not a bad way to handle it.  Leaves it up to the client to decide whether to hide things or not.  It also allows for the end user to decide whether or not to see the transports or not.  I, for example, like to be able to see the transports and how they reflect when I'm logged in, what my status is, etc.  (because, for example, AIM only does available and away, none of the other statuses, and this is neat to see in my roster because I know that AIM folk don't know that I'm set to do not disturb)  It also allows clients like Psi and such to provide me a way to right click and choose log out.  (equiv of sending a directed presence packet)

 

So how would you go about having a transport detect that you've logged in if it's not in your roster to be telling you so?  Well you can cheat for one.  The IM Gateway Plugin allows me to use internal listeners.  This solution, of course, isn't going to help external transports a lick.  But for the plugin, it's nice.  Another way might be to require some sort of ad-hoc command to log into legacy services.  Like instead of auto-logging in, you have to select "log me in".  But then how does it detect status changes and such?  More ad-hoc commands?  Eww!  How many freakin' ad-hoc commands does it take to screw in a lightbulb.    Another way could be to create some sort of 'trust' relationship with a transport.  So a transport could indicate to it's attached server that it wants to be notified of any presence changes.  Not so sure about that either.  I think that was already addressed a long time ago in regards to transports wanting to interact directly with a user's roster.

 

Long story short, I think this will be fine for the IM Gateway Plugin to ditch the roster, as it apparantly confuses some folk to see transports in their list, but I don't think this is viable for other transport implementations.

 

That said, some issues have come up that -should- help other transports.  I'd like to, for example, write up an XEP that focuses on how to handle user preferences.  I'm not talking things like, "what theme for your client" but rather things that are handled on the server end.  For example, mail notifications.  AIM has them.  Not everyone wants them.  User should be able to go in and choose "no or yes" for mail notifications.  =)  These are enabled or disabled on the transport end and a client shouldn't be expected to have to be bothered with ignoring lots of things it doesn't want in the first place.  This is basically an ad-hoc command type of thing, but I'd like to standardize it or make it a "best practices" type of thing.  That way client devs could fairly easily go "oh this one supports user prefs, I'll provide an easy link for that".  Something like that.

 

Another one is a XEP that I had intended to write a while ago... basically something similar to Jabberd2's component protocol where the transport itself can connect and tell the server what jid's it wants to be.  This means that the transport could say "Hey, I'm aim.jabber, chatrooms.aim.jabber, and fries.aim.jabber" and the server could go "oh ok, well you got 'em" or "bugger off, those are taken".  Wildfire actually implemented this in a slightly different way than Jabberd2, but I think the same XEP could address both just fine.  I believe I originally called this "Extended Component Protocol" or something like that.  Who knows.  It's been a while.

 

On a side note, I think I figured out what was causing problems with Java-JML.  Basically I kept getting a severed connection upon logging in.  Turns out I think that the server Java-JML has for "fast login" is not a good one.  Theoretically you are supposed to connect to a nexus first and it'll tell you a login server.  I'm doing that now.

 

BTW, Thanks to the Cenqua peeps for providing me with a Fisheye setup for Java-JML!  I'm going to link that off the Java-JML site in a bit here.  =)  I love me some Fisheye.

0 Comments 0 References Permalink
0

The only problem with being in charge of or involved with open source projects is that folk start depending on something that you are only doing part time.  On top of that, folk start making 'demands' on you that you can not abide by and yet continue to maintain a life outside of coding. 

0 Comments 0 References Permalink
0

Why do I often find it so hard to clean up my roster?  Just about anyone who has ever talked to me sits on my roster forever and I typically only end up talking to them for one or two sessions and that's it.  What do I need them on my roster for?  It's just causing my server extra work every time I log in!

 

So anyway, I spent a good couple of hours here cleaning up my roster and now it's nice and small.  I'm not entirely pleased with Adium X's roster deletion handling because just about every time I deleted a roster item, it reappeared and I had to delete it again.  =/  That said, it's a beta, so what do I expect.  =)

 

Logging in is now lightning fast.  I know some folk take offense at being removed from a roster, but if I removed you, this gist of it is, we don't talk much, I have no reason to need to know when you are online and/or initiate regular chats with you.  Certainly doesn't mean I'm not willing to talk to you. 

 

Anyway, was kinda fun to do the housecleaning.  There's a couple of legacy network contacts I still need to boot, but that involves well....  finishing adding support for that in the IM Gateway plugin.  ;D  or rather, fixing it

 

I'm thinking about spending a little time and packaging up PyICQt and PyAIMt into 0.8 releases.  PyAIMt is more work because it means I'll be pulling over updates from PyICQt to PyAIMt, but hey, no worries.

 

I got to try out an eval version of Jabber XCP.  I will finally have something to test XCP support with with the Pys!  Yay!  Setting up XCP was not entirely trivial.  It took me about an hour and a half and about 80 pages of documentation.  I'm not sure how much of this was postgres sucking or not, but it definitely wasn't as easy a process as I expected.  That said, now that it's running, it's lightning fast.  (well it's also not handling the load of my real contact list, but still)  Anyway, thanks to the XCP folk for hooking me up with a copy to test against!  I've always hated supporting something I couldn't test myself. 

 

I've been finding that some of these java based tools for .. well all sorts of tasks .. are quite nice.  I like Jive's forum software quite a bit, I adore Fisheye... far more useful to me than websvn ever was.  In fact websvn was never really useful to me.  I also adore JIRA, though I must admit it's a little too "serious" for something I'd probably want to use with my Py transports.  I love it for the IM Gateway plugin though.  It's got a really nifty feel to it.  Something else I think is really neat is that it looks like a lot of the the folk that make such products "play nice together".  By that I mean, I see Jive Software (Jive Forums) using JIRA and Fisheye, Cenqua (Fisheye) using Jive Forums.. don't know if they use JIRA, the JIRA people using Jive Forums ... etc etc.  Same with IntelliJ... it's just really neat to see them all using each other products.  It's like one big product hug circle.  =)

 

I'm basically in charge of Java-JML nowadays.  The former developer doesn't have time for it anymore.  Sourceforge is still kinda similar to how I remember it, but they do appear to have a few neat new things.  =)  I like the project and am certainly cool with being in charge of it.  Will give me a better understanding of MSN anyway.  I've applied for an open source license of IntelliJ of my own so I can make use of it with non Jive projects.  At first I was tentative about this because I didn't want to start using a tool that like the original developer of java-jml couldn't use, but I based off the license, I could indeed share it with all other devs on the project.  That's very cool.  More importantly, I saw that the joscar folk and other such projects are using it, which gave me a lot of "ohhh  other similar projects are doing it, ok then" warm fuzzy.  =)

 

While this weekend has not really started off on a happy note, I think I might make it a release day and try to get a couple of things released today.

0 Comments 0 References Permalink
4

Today we released the first beta version of the IM Gateway plugin for Wildfire.  I'm quite excited to have a release out, but also a little pensive as I always am with a release.  This one I'm expecting quite a lot of bug reports on because well, it's an early beta and that is the way of things.  I wanted to get a version out soon-ish so that folk could play with it and could start getting me some solid bug reports to work from.  I never run into the same problems my users run into.    Always interesting to see things like...  "my friend is using ICQ version 1 and I can't receive messages from him!"

 

Anyway, I took a break from developing after fixing a last couple of bugs this weekend to make sure that I didn't get involved in something that would temporarily delay the release.  Spent some time on PyICQ-t in the meantime.  Upgraded it to use James's twistfix stuff and also to kill the pubsub support I was working on, since it wasn't useful anymore after the recent updates to PEP.  I would like to put out a new release of that soon.  My typical "get everyone on the same page" release.  Besides, right now they don't work with Twisted 2.4.  =/  (right now meaning, the current releases)

 

I have been feeling like crap for about a week so I think I may try to calm it down and just relax until I am better.  No sense in making myself sicker.  Besides, that will give folk time to comment.  In the meantime I will do something leisurely