Hell Oh Entropy!

Life, Code and everything in between

Yahoo File Transfer

Posted: Aug 22, 2008, 08:38

There seem to be two ways to do file transfer in Yahoo, as I found out from wireshark today. One is by POSTing the entire stuff, the Yahoo File Transfer packet as well as the file to the file transfer server (Kopete does this) and the other by first sending a file transfer packet to the server and when the receiver accepts, send the file (Pidgin does this).

We do the former in Ayttm, but botch up the sending. As a result, our file sending is broken with both messengers whereas file receiving works with Kopete.

Comments

Ayttm IRC fixes... and much more

Posted: Jul 07, 2008, 01:14

Another weekend without my wife... which means another full weekend spent hacking as opposed to the regular few hours every other day.

I finally finished off and committed the /whois bug fixes that George had reported a while back. In the process I found that the buddy management (adding, messaging, signing on, signing off, etc.) was completely broken in IRC. So I had to shuffle a lot of things around to finally be able to chat with users on IRC as well as add them to our chat list.

While I was busy doing this, I also remembered that there were a few low priority chinks in the html parsing code. For one, text inside <body> tags are supposed to stretch across the entire textbox window. I still haven't been able to figure it out but while trying it I thought about some other things like rewriting the entire html parsing in lex and/or yacc. That would mean that my code would be a lot simpler as well as a lot more robust.

Also, writing on a GtkLabel instead of a GtkTextView/Buffer could simplify some things. At the same time though, I would have to think a little about things like link clicks/double-clicks, embedding widgets, images, etc. I guess if that's doable then it's an attractive alternative.

Comments

IRC Fixes

Posted: Jun 09, 2008, 03:02

There was an silly little memory leak in the CTCP code in the new libirc which was causing Ayttm to crash every 10-15 minutes. Turns out I had not left any space in the string for the ending ''. Fixed and it's been running fine for an hour now.

I no longer show popups; I've reverted to the old style of showing notices, except with a little difference. I show all notices in a notices window. I've kept it as a chat room window so that in future one may even enter commands there.

Next up, I need to get the channel list window working. And then finally, the 'auto-reconnect to chat room' option. It's been broken for a while it seems.

Comments

Chatty windows

Posted: Nov 04, 2007, 02:16

Chat windows in ayttm have given me a bit of a headache for the past couple of nights. There was an innocuous bug that caused a crash when a user had chat windows open and then decided to switch to tabbed chat, opened and then closed the tabbed chat window. It was quite easy to see at first why that happened -- window closure was done based on the tabbed chat preference, and once you have both tabbed and un-tabbed chat windows, it becomes a bit of a mess.

So I finally decided to change the logic behind it all and decided that windows would close based on whether they had a notebook at all. That stopped the original crash case but introduced ten new ones. That was when I found that the smiley window was being deleted twice, the window close signal was attached only to tabbed windows and all new chat windows were added to the chat window list on creation, but only tabbed chat windows were deleted on closure (phew!)

So finally tonight, we've got the finished stuff (hopefully) where all the above issues were taken care of. Gotta love this stuff :)

Comments

Jabberin'

Posted: Oct 17, 2007, 22:59

Decided to give Jabber a spin on ayttm with jabber.com and ran into a bit of a wall. It somehow seems like Jabber support is more or less broken in ayttm; I couldn't even get it to log in, or at least quit with an error message. It just kept 'loggin in'. Ayttm does work for gtalk though, so it's probably got something to do situations where SSL is not involved.

I've just got hold of the XMPP Protocol RFC and XMPP extensions and hopefully will have time to compare with our implementation over the weekend.

Update 4th Nov 2007: Heh, looks like I didn't need all that. A couple of lines was all it took to get it all to work.

Comments

Back to Hack...

Posted: Oct 14, 2007, 01:58

... once again. It's been a long sabbatical away from hacking; almost a month and a half. Coding at working just isn't the same; you have to do more talking and less coding, which can get really boring at times. Also, the challenges and constraints are mostly artificial (must use this toolchain, must use that framework, must not reduce bloat because some dev long ago believed that it was a performance tweak -- don't ask).

Anyways, I've put in a tray icon for ayttm. I was going through the gtk APIs for some possible tweaks to GtkTreeView (I'm still not very happy with how the main status window looks) and I stumbled upon GtkStatusIcon, the tray icon widget. Since it was so easy to implement (have to compliment the gtk devels for this) I went for it right away. It's already checked into cvs, Kartik may release a deb for Debian soon if it all goes well.

Oh, and I was going at the tray icon, I also gave the ayttm icon a drop shadow. Thought it looked quite neat.

Comments

Ayttm Release

Posted: Aug 29, 2007, 02:28

It's been more than a week since the first ayttm release after 3 years, and only one bug report filed in as of today. That bug report too is not much of a bug really; it's more of a support request since the user was not able to compile. Since he's not responded, it looks like he's either given up or managed to compile but not cared to come back and tell us.

So only one bug in over a week could mean one of two things -- either the release is essentially bug-free or nobody's really using it ;)

Comments

Phew!!

Posted: Aug 20, 2007, 03:54

That's one job done :) I've finally managed to do an Ayttm release. This release even taught me how to build an RPM; something I was never really inclined to do in the first place. The only way I could test the RPM was to convert it into a deb using alien and installing. It did work that way, so it should work alright with the RPM as well.

I also realized while installing that ayttmrc actually installs in /usr/etc instead of /etc. I guess we need to do something about it in the next release.

Comments

Back... again...

Posted: Jun 26, 2007, 00:30

Finally over with the painting and tiling at home so we can now get back to business. I found out that we have hardcoded mozilla as the default browser command in ayttm. Spent 5 minutes finding a solution for it and then 1/2 hour trying to make the messages look pretty. In the end the configure script now looks for any one from a set of installed browsers (mozilla, firefox, iceweasel, opera, etc.)

We need to get a release for ayttm out soon; it's been long enough already. Philip hasn't come back with any bugs for some time now, so it could mean one of two things -- either he's busy with something else or ayttm is ready for release.

Comments

Back to hack

Posted: May 12, 2007, 03:50

Finally got back to working on ayttm after a, well, work break ;)

I spent the last 3 hours fighting with gpgme-1.x and have finally managed to get some things working. The strangest problem (and it took me quite a while to catch hold of) was that the deprecated gpgme_data_rewind(foo) was working but its non-deprecated replacement gpgme_data_seek(foo, 0, SEEK_SET) wouldn't work at all, unlike what the gpgme info docs said. Copy+paste it from the info docs and it still wouldn't work. I'll update if I get it working.

Comments