My programming mind is overstimulated! =)
At this time, I have all of the following things running in my head that my mind is attempting to do all at the same time:
1. Finish up pubsub code in pyicq
2. Fix up web handler code in pyicq to not stay logged in forever
3. Fix up web handler code in pyicq to do tls/sasl
4. Migrate scriptrepo to new location and improve it
5. Write disco plugin for spark as an excuse to learn java
6. Write avatars in roster plugin for spark as an excuse to learn java
7. Write web interface tie-in for wildfire as an excuse to learn java
8. Write quick and dirty web roster management tool (to help myself clean up my roster)
9. Write quick and dirty jabber client for testing purposes
10. Write up extended component protocol JEP
There’s possibly some other things like that. I’m trying to pull myself in and just work on getting ONE of them done. lol I’d like to get a PyICQ release out soon.
Just generally playing around with some clients, I rather dig Coccinella and Spark.
Spark is very cute and has a fairly nice interface. It’s “missing” some functionality here and there, but it’s very young and has a nice plugin architecture that I was playing around with. The login screen is a little on the ugly side, but then how often are you going to be looking at the login screen? My only problem with it so far has been that it doesn’t seem to like to log into my home servers for some reason. Still trying to work that issue out. I like how Coccinella has it’s disco browser under a tab and, using plugins, I can do that with Spark to. (ie, if I write that functionality) Which is one thing I was working in for fun over the weekend.
Coccinella seems very feature right and has a wonderfully fun Whiteboard functionality. It’s also a very cute look and feel and it’s Tcl/Tk-ness makes it very cross platform functional. It’s possible that the only reason I would -not- switch to this as my primary jabber client is that it doesn’t 100% behave under OS X. For example, periodically I have some major issues dealing with it’s scrollbars. Like they won’t “pull” for me. I have to click on parts of the scrollbar to get to where I need to go. Likewise, it doesn’t really keep a feel for it’s last window positioning that I can see, so every time I start it up I have to pull the windows into the locations I want them in. That one’s not all that big a deal, but still. Anyway, it’s really quite nice. =)
I have come to the conclusion that something I need to consider doing is writing a very quick and very dirty jabber client. JWGC is not that client. JWGC is a little complex and what I’m looking for is something . . . written in a scripting type of language that I know well (python? perl?) . . . that doesn’t necessarily need to have a pretty user interface. The goal here is.. as I’m working on new features for the python transports, I need to not be sitting here going “man, I wish I had a client that supported X feature so I could test it”. Hell with that, why don’t I just write one that I can quickly and easily modify on the fly? There’s plenty of good libraries and such out there. On the python front there’s xmpppy which I have already coded one little thing with and it’s realllly easy to code client type things with it. Assuming I don’t give a crap about anyone else but me using it, and I don’t give a crap about the UI, what’s keeping me from doing this? I’d something that I ought to have done a long time ago. Doesn’t mean I wouldn’t make it available for others to play with if they really wanted, but by the same token, since when can’t I write something solely for me, where I don’t offer or pay attention to bug reports… a “if you want to use this, here it is, if it doesn’t work, fix it yourself or move on” software if you will. Hell, who’s to say I even have to make it available? Sometimes I get stuck in the mentality that everything I do HAS to be done in a public facing manner and forget.
I added a forum to blathersource. I don’t know how much it’ll be used, but it was fun to setup, and it seems to be a good place to post “theory” type questions and such. We shall see. I’m not pleased with the font size yet but don’t have time to figure out exactly what’s causing it to be big like that. It wasn’t obvious to me while looking over the style sheets and code what was causing it.
I also throw up a nav bar at the top of all of the sites and adjusted this blog to look like the rest of blathersource. All was very fun. Theming things has a lot of entertainment value. =D
After talking with Peter St. Andre and the former folk involved with scriptrepo, I have decided to move scriptrepo to be hosted amongst blathersource. (probably will end up being scriptrepo.blathersource.org) Either way, I’m going to “do it up right” and try to make a nice pretty interface. Ideally I’d also like to try to make it so folk who submit scripts can update them themselves. We’ll see how all that goes though! Stay tuned.
And so continues my journey through the different servers. ;D
For some reason, as of version 1.0.0, I started getting a lot o random crashes from ejabberd. There was no log entry to indicate what caused it and I know it’s not exactly useful to just report “it crashes”, so I really had nothing to suggest to the devs. Either way, I’d still been looking to investigate and move to WildFire for quite some time so this just gave me the opportunity.
I finished up my ejabberd db dump => wildfire user import script and now I can say that I am happily converted over. The developers were exceedingly helpful in sitting down with me and working out any issues I was running into and now everything seems to be running smoothly. Gato even added in functionality real quick to make it so my transports can tell WildFire what jid’s it wants to answer as, instead of having to configure it in the server. Woot!
So some observations from the switch:
- WildFire is so much quicker than it’s Jive Messenger days, not as quick as ejabberd, but so far I haven’t felt like the speed difference has made an impact on my experience.
- Web interface remains beautiful =D I’m very excited about having it in place.
- I like the plugin architecture and am planning on writing some plugins for fun (and to learn Java, which I had never had an excuse to learn before.. which is always my driving force for learning new languages)
- I have had some slowness when Wildfire can’t contact domains of people in my roster (i have a lot of old ones that don’t exist anymore that need to be cleaned up). Ejabberd has never had a problem with that, but at some level it’s an excuse for me to get off my ass and clean up my roster. lol
- I really dig the personality of the developers and such, very friendly and .. supportive? Whatever. ;D
Anyway, it’ll be good to be familiar with WildFire just like I am the other servers. I feel that ejabberd and the transports are “a done deal” and work just fine together. I know jabberd2 and jabberd1 work well with the transports. Now I can make sure all of them work dandy with Wildfire! And they’re sending me a shirt! ;D
Anyone else know of any other server implementations out there that I should be looking at/testing against? ;D I heard rumor of a possible perl-based one. Need to get ejabberd set up as one of my alt-test servers now. Probably will set up a fresh install or something.