I have created and submitted gource for review in Fedora. It's a really cool source code history visualizer. It's not perfect by any means, but a very good start. It works out of the box for git, but needs some scripts to get it working for cvs and svn. I'll be trying to write some sort of a wrapper to detect cvs/svn and invoke the scripts automagically.
Finally back at the hotel after the first day of FOSS.in. It was a good first day despite the delays in schedule, mainly because I didn't care much about the schedule ;)
Kartik and I decided to have our workouts at the same table and it turned out to be a decent idea since we did not really have people swarming for our workouts. I assumed that the pre-workout talks were chucked out since Atul Chitnis said that we can start right away at the hack centre, but it turned out to be otherwise. The result was an unprepared /me struggling with the collar mic screeching every other minute and /me rushing through the libyahoo2 slides as if there was no tomorrow.
It was not too bad in the end as we had one person asking a few things about libyahoo2 and Debian. I was able to get some work done too; see the Progress section in the libyahoo2 workout page for details. Also, thanks to Gaurav "Tazz" Chaturvedi, who gave me a packet dump of his windows yahoo messenger 10, which included everything from regular messaging to chat rooms. I'll get around to doing something about it soon, not tomorrow.
As for tomorrow, I'll be putting on my Fedora for the Fedora Project of the Day. I'll be trying to package gource, a source code history visualizer. Kartik showed me this app today and it blew me away with the wonderful visualization of the ayttm source history. This will also be my first package submission to Fedora and my first foray into something other than coding. Let's see how it goes.
I've finally made it to the hotel after a one and half hour flight and (ironically) a similarly long bus ride. But it was quite smooth, with no delays either on departure or arrival. I've settled myself into Room 101 and am now contemplating dinner. My room-mate will most likely be coming in tomorrow morning. The Wifi signal is pretty weak at around 45-50%, so I think I'll have to settle somewhere in the lobby for better signal whenever I need it.
Day 0 of FOSS.in begins with the libyahoo2 workout for me. I've got a bunch of protocol dumps using the Gyache yahoo messenger (yes, the hideous looking buggy one). I would not dare look into the code of that nightmare of a messenger, so I'm happy with what I have so far. I think I have got a handle on the chat room packets, so I might give that a shot tomorrow. The buddy picture stuff is also pretty decent, although I think we'll have to do a bit of trial and error with the packet sequences a bit. Gyache seems to have a bug in its picture stuff and it sits in an infinite loop uploading pictures forever.
I've also got the address book update packet dump but here again gyache is buggy. I think we can get it working despite that though since gyache is buggy with both address book query as well as update. We have got the address book query right, so we're definitely on the right track.
I have a feeling ignore/unignore buddy has not changed in YMSG16 and we may not need to fix it at all. I've been too lazy to actually sit down and test it though.
Finally, I hope some people get in some Windows laptops tomorrow so that we can get packet dumps of the official Yahoo! messenger doing some stuff. If that does not work out, I'll have to go back to work and get to it by myself some day.
Update: No Kushal, that's not day one; it's day minus one ;)
FOSS.in begins on Tuesday next week at Bangalore. I will be conducting two workouts, one on Ayttm: Face Lifts, Porting and Hacks and Libyahoo2: Getting up to speed. As of now, the libyahoo2 workout is set for Day 1 and Ayttm is set for Day 4. This means I will miss the Debian POTD talks and workouts, which I really wanted to attend. Also, Philip has his Shut up and hack workout scheduled on Day 4 too, so we may have to try for a reschedule for either ayttm or shut-up-and-hack.
I've also started hacking on the chat windows stuff in ayttm to make them the way I want them to be. If I'm not done with them by the time I get to FOSS.in, I'll most likely continue hacking on it during the event and/or during the Ayttm workout. Those who like the dirty details may read on.
The current chat windows and chat room code is slightly bulky and a lot of code is duplicated. Also, the chat logic and UI stuff is all mixed up, which makes reading code difficult in some places. I'm trying to change this into a slightly different model. Introducing Conversation, which defines pretty much from individual chats to conferences to chat rooms. This component will be responsible for all chat logic. This in turn simplifies my ChatRoom stuff since it is just a buddy list more than the ChatWindow. Also, both ChatWindow and ChatRoom will only be passing events to Conversation and dumping HTML messages (from Conversation) to their respective chat boxes. I'm aiming to reduce the code size as well as build in some extensibility (service specific toolbar buttons for example) as a result of this rewrite. Another unintended result would be a slightly reworked UI. Read the ayttm journal or follow the ayttm-devel mailing list to know what's going on there.
I just submitted an ayttm workout proposal for FOSS.IN/2009. Hopefully it will get accepted this time and we get some real work done. I want to get a 0.6.1 and 0.6.2 out before the event begins so that there is a nice clean base for people to work on.
I hope the workout gets accepted.
I hope we get worthwhile contributions.
I hope they have the cold caffeine too this time :D
Free food ftw!