Older blog entries for chipx86 (starting at number 260)


We released 0.70 yesterday. It wasn't the grand release I had hoped for. I wanted 0.70 to be the version that featured a fully split core/UI, providing a libgaim, but the Yahoo auth problems required that we get a new version out quickly. Now I'm not in such a hurry, so libgaim will probably happen by 0.72. There isn't much left to do in it.


Thanks for the compliments on the code :) I've been working really hard the past 10 months to document the code, split it, and put together a proper API. It's not the ugly thing it was a year ago. What niggles do you have with the code? I'm looking for ways to improve it, and a lot of it is getting fixed up in CVS right now. I'm curious as to the stuff you're working on.

Life and Jobs

Things are going great nowdays. My girlfriend is wonderful, and I enjoy every minute with her. School's pretty fun, even the classes I thought I'd hate, and hopefully I'll be getting a decent job soon.

I've been in contact with a local wireless ISP that's developing a lot of their own custom stuff for the network. They were rather impressed by my resume, recognizing some projects, and so I began to talk to them about a programmering job. Unfortunately, being a student, that may not be possible at this time, since they're looking for full-time programmers, but it looks as if there are other positions I could apply for. I guess time will tell here.


It's nice when things work.

We're releasing gaim 0.69 soonish, and I figured that was good incentive to get all the signal callback problems in the perl plugin fixed. In 0.68's perl rewrite, some signal types were borked, parameters that are modifiable showed garbage, and they couldn't be modified. That has all been fixed, the last two being fixed in the past hour. Works like a charm... until we release and script writers find something else wrong.

Now I just need to figure out the SSL issues and solve those.


Making progress again. Several fixes to the nested archive I/O operations have been made, though it still doesn't work correctly. I think I can figure out the rest rather soon. I have it narrowed down to a block of code.

21 Sep 2003 (updated 21 Sep 2003 at 18:37 UTC) »

funrecords: Why the lack of gaim? You know gaim isn't a GNOME app, right? :)

mikehearn: Excellent article on COM. I look forward to seeing the "Why COM doesn't suck" part.


The core/UI split is near completion, but there's still a good amount of work left. I'm really hoping to have it all finished by 0.70, so we can release the first public libgaim. Off the top of my head, the only things remaining are the user info dialog, the prpl.c and server.c stuff, message queuing, status stuff (away messages and such), and logging. I can't think of anything else. There's a lot of API cleanage that needs to be done too.

Gaim for Qtopia

This has been delayed a bit due to a lot of work needed in Gaim. However, Gaim for Qtopia 0.3 will likely be out a week or two after Gaim 0.69, and is going to feature a lot of new, nice stuff, such as Contact support, a preferences dialog, several message notification options, and a cleaner UI. It's going to rock.


Sadly, this too has been delayed, due to work on other projects, but I'm once again trying to get some work done on it. The main thing that needs work at the moment is the dreaded io_internal.c of libcomprex, which does all the messy work behind grabbing files out of archives nested deep within archives or on remote locations. It's broken, and hard to fix cleanly.

I'm facing a small dilema here. Currently, the API functions look like this:


However, I've grown more accustomed to the namespaceObjectAccessorName or namespace_object_accessor_name style, so I'm thinking of switching the entire API, which means libpackman also needs an update (which it does anyway). If I decide to do it, now is a good time, because the whole API changed in this release anyway. I'm just not all that sure yet... The function above would end up looking like:


I'll have to talk to the other developers and see what they think. It'll take a group effort, definitely, as there is so much code to modify. I'm probably just going to concentrate my efforts on io_internal.c for the time-being, though, so everything else will start to work again. Of course, while working on the above work, I still have another project.

FIRE Radio

I used to work for Freenode Radio, but we all left, so some of us started this new station. I can't talk about it much, but despite how quiet we all seem, there's a lot of development going on, and the new system for doing automated and live radio shows is going to feel so much more natural and easy after the applications, database, and servers I write are finished. Progress is nice, and it's fun to see this project improve. I can't give an ETA on its public release date, though, because...


Now I have a girlfriend! She's beautiful, funny, really sweet, and a lot of fun. I asked her out last Monday, and we went on a date Friday. It went better than I could have thought. I'm hoping things continue to go that well. That'll of course mean I won't be working on the above projects as much, but since she has her own stuff too, there'll be time.

Gaim on TechTV

Pat McGovern from SourceForge made a pretty good presentation of Gaim on The Screen Savers on TechTV yesterday, and has a small writeup up on their site. He did a good job, and it was cool to see us on TechTV again. We got a lot of comments about that one :)

0.69 finally has a set of SSL wrappers included, which will be required for MSN Protocol 9 and Jabber in the future. It supports both Mozilla NSS and GNUTLS, and is working rather nicely. MSN support is coming along, though figuring out how I want to do some of the buddy list sync stuff is proving to be a bit of a challenge.. I think that's because I'm trying hard to fight sleep, though.

Also, we now have Contact support (like meta-contacts in other IM clients). Beautiful. My buddy list is roughly 8x smaller :)

ncm: The users I'm talking about are quite different than the ones diablod3 are talking about. I have a good deal of experience working with and helping users of all kinds, the easy to deal to the near impossible. When I speak of trouble users, I'm talking about the ones we get in Gaim pretty often who come in, tell us our program sucks because X doesn't work, and then do one of the following: 1) Flood our channel with bots, 2) Threaten our lives, 3) Threaten something else, like our IM accounts (and one guy has been able to take them time and time again through a method in AOL), 4) Go around to every large channel on the network, telling people we said things we never said. I have had all of the above. I've had two people try to stalk me and threaten the lives of my family. Why? Because their version of gaim crashed, a new one wasn't available right then, and they couldn't handle that.

We help our users, and the people are happy. The trouble user I'm talking about is not the every day user that a project gets. It's the every-once-in-awhile who threatens us, and despite our best efforts, we cannot help them, for they have already decided that they're going to cause us trouble, and are actively pursuing it.

18 Aug 2003 (updated 18 Aug 2003 at 01:51 UTC) »

diablod3: I didn't say they should be taken out and shot. That's not the kind of thing I want people associating with me.


I started work on a new signal system for Gaim last night, which is designed to replace the old event system. It's far more flexible, and behaves more like signals in a framework like Qt or gtk, rather than just being an enum of pre-defined event types. Also, plugin dependencies are now in. That combined with the ability for plugins to communicate via signals, and we can now have core/UI split plugins :)

Of course, the downside is that I now have to rewrite the perl plugin to use the new events. The easiest way is just to do it from scratch and give the perl plugin some real power.

Gaim for Qtopia

Version 0.2 was released just a couple of days ago, and the thank yous just flooded in. The UI is far cleaner, and the annoying crash bugs and other bugs are mainly gone. Proper I18N support isn't in yet, but I'm planning on it for 0.3.

Trouble Users

Sometimes I think and wonder why we develop these projects. We may all have these reasons.. We do it for ourselves, we have an itch to scratch, we want to further open source/free software, etc.. How often does a person say they do it for the users?

It's really great when we get a "Thank you" from a user, and on most projects, yeah, they come. They're very appreciated, and it makes my day. The problem, however, are the trouble users, and these are the vocal ones. Working on Gaim, we get more than our fair share of these users. They're the ones who threaten us, insult us, yell at us, etc. for not having their bug fixed right away, for being a little late on a release, or who knows what other reason.

It's these users that make me contemplate quitting the projects. That's unfortunate, since I love what I do, but sometimes these types of users get to be overwhelming.

Now, it's one thing to have annoying trouble users that just complain, but insults? This is something I'm seeing far too much. One guy took our former lead developer's screen name awhile back for who knows what reason. He had a method for suspending it, and now, because I was busy and said to forward his patch to another Gaim developer, he's threatened me with the same. Why? Why would a user sink so low for something he's even trying to contribute to, and why should I have to take it?

Someone told me what he's now saying to his trouble users. Something along the lines of "We're doing this on our own time without pay. If you want to complain and don't want to help fix the problem, sit down, shut up, and say thank you." It's not a bad attitude, imho, when addressed to those users who do nothing but complain. Unfortunately, it doesn't always seem to help the situation much, as those types of users are very vocal and sometimes choose to spread around lies or insults about the project.

I think it's too bad that these users are giving all of the good users a bad name, and I think it's about time that we get the point across that developers and supportive users no longer want to deal with or hear from these problem users.

So, is there anything that we can do about such users? Is it this bad for other projects, or being an IM client, is Gaim more of an exception? I'd be interested to know.

Gaim for Qtopia

Last night (well, actually early this morning), I released version 0.1 of Gaim for Qtopia. It got delayed a bit due to last minute bugs, and I discovered my gconv-tiny package, which provides the /usr/lib/gconv/* files for i18n, was missing the little config file, so I had to remove that package and have everyone get the 1.8MB gconv-modules package instead. Ick. Ah well, it works, and it looks good.

Version 0.2 should be really nice. My mind is running with things I want to try, such as something similar to our current tray icon, a Today plugin, and some new features.

Gaim for Qtopia

Gaim for Qtopia finally got a website today. Development is going nicely. Only a few more things left before the 0.1 release. I'm going to have to update things so the protocol icons on tabs are as cool as the ones that were just committed to gaim 0.67cvs.


School starts in about 20 days. I have to sign up for classes tomorrow, but I have this fear that I won't be able to get the ones I need, which means even more time at that school.. ugh. I guess I'll see tomorrow. I have a backup plan, but it might be tough, since the school is suffering a bit due to Gray Davis's budget cuts.

Gaim for Qtopia

A lot was done on this project tonight. The build system has improved a bit, which is cool for me, but the best thing is that chat support is now mostly in, complete with a user list. I took my PDA into the kitchen and bathroom (to take out contacts!) and continued to talk to people. It was really cool, and it works so well. I can't wait for the 0.1 release. I have a few things I need to fix up first though.

251 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!