Tuesday, 15 July 2008

kde.in monsoon hackathon

Hello guys,
I am glad to inform about the successful hackathon we had in India during the last weekend. Apologies for the late report as there was a last exam bugging me.

The hackathon was mainly hosted by Geodesic office at Bangalore and sponsored by FOSS.IN. I am really thankful to Atul Chitnis and Shreyas for providing us with an excellent workspace to hack on. The arrangements rocked!



The hackathon involved Pradeepto(kdepim), Sharan(kexi), Tejas(kopete), Akarsh(kstars), Shashank(panoramio/marble), and me(umbrello).


Day 1:
We started of pretty well. Tejas was kind enough to drop us to the workspace ( I cannot forget the number of U-turns we took to find pradeepto :D ). We met for lunch at about 1:30 pm and started off with introduction chat. Kushal joined us as well. Kushal being camera ninja, took a few pics of us but unfortunately we couldn't have him further as he had to leave for Pune.

After a few moments, we started of with building stuff. All the soc students - me, Akarsh and Shashank were using the desktops set up over there and the rest of them were updating the kde sources on their notebooks.
Shreyas started adding some fun, by twittering the tidbits of what we were talking and doing. Pradeepto being smart to utilize build time, held a discussion about foss.in topics related to kde amongst us.



At about 5 pm, everyone had kde svn running and by then Tejas had taken the lead with the first commit of the hackathon - bonjour to knetwork/kopete which is likely to be released with KDE 4.2. Pradeepto then made a release of kdepim called 'Monsoon in Bangalore'. I ported the BoxWidget to set of framework classes I had written. Shashank was working on his cool Panoramio support to Marble. Then we had a nice dinner in Nandini restaurant and probably Akarsh was the only person to hack even during the night :P (others were tired of travel)

Day 2
This was quite productive day. Codewise there were bug fixes by Tejas, Akarsh, Sharan(helped Tejas) and me porting a few UML digrams widgets to the GV framework. Shashank continued his hack on the Panoramio support with download queue to Panoramio JavaScriptObjectNotation.



But the best part was, knowledge transfer that happened during the day.
  • Sharan gave really a nice motivating talk on how to use "XEmacs + kdesdk emacs scripts" productively.
  • Pradeepto gave a brief on how Test based development can be effectively used with qt/kde. Infact he demoed us and cleared our doubts. He also gaveus lot of information about EBN and how krazy works. Akarsh seems to have gotten krazy with krazy fixes in kstars code ;) His conjunction tool in kstars rocks!
  • Pradeepto also explained on how we can increase our productivity with the scripts written by David Faure and it really rocks!
  • Tejas explained the advantages of Yakuake.


Also during the tea break, we discussed on how FOSS can be imbibed in the people. We discussed various positive effects of FOSS and how many people have been benefited by it. The FOSS stories inspired me and I guess others as well!

Day 3
I couldn't attend this day, as I had to study for the *postponed* exam :-(
So you can read Akarsh's blog about day 3.
Well I could make a couple of commits from home which fixed some bugs in my previous commits, did a few merges as well. Here a screenshot depicting the work done by me during hackathon.


Overall I am really happy to be part of such a nice event. This was my first ever foss event and I learnt about foss in more detail. The attendees are my first ever FOSS friends :-) Infact a better word for the event is FOSSathon!

So thank you folks for such an awesome event. I thank Atul once again for sponsoring us and making this event a grand success!!
Yay!

Tuesday, 8 July 2008

GSoC: Mission merge!

Hi folks!

Now that all but one exams are over, I started again with the soc.
The first thing I did was, to stabilize some classes which I was talking about before.

Then I suddenly remembered that I hadn't merged the changes in trunk into my branch. A quick
svnmerge avail -b
listed about 23 or so entries, thanks to my exams.
I was bit skeptical whether to do the merge or simply ignore them. I asked my mentor Riddell, and he told me it would be good if i could periodically keep merging.

So, the mission started. Since I had already modified many files I had to be careful while merging.
svnmerge proved extremely useful. Thanks to pradeepto for pointing me about this in the beginning of the soc itself :-)

Finally I am done with all the merges. I worked big time from 9pm to 3:30am (about 25 commits) :-) Don't be daunted by the numbers though as I committed one after the other to avoid messing it up.

Further plans are to port all the UML widgets to the new framework of classes I have written. I could port datatype widget in just about 5 minutes!
Hopefully I can finish this phase fast so that I can concentrate on adding more functionalities.

Expect more updates soon!

Wednesday, 2 July 2008

GSoc: Hovering and tooltip effect for umbrello.

After some work yesterday, I found some 2 hrs of time again which i used to port the enum widget to new class. The results are simply amazing :)
Hover and tooltips work for the text on the widgets now!



Now the uml-widget contents aren't painted by single item, instead the texts are split into multiple text items. In future, a user should be able to edit the text by double clicking on any text inside widget and edit it with validation support. This will surely improve the user experience of umbrello. :-)

I can't wait to port other uml-widgets :p

BTW I started using neon and it really rocks. I will be able to free about 8 GB space on my hard drive ;)
Thanks a lot to the neon team :)

Tuesday, 1 July 2008

Refracturing umbrello

I have been busy lately with exams as I indicated before. As a result I have not been able to spend quality time on umbrello, but hopefully I can get in full swing from this Saturday (penultimate exam, last exam is on 15th)

Meanwhile I decided to do some ground work preparation before I start properly with my soc project again. So i started with merging my new deepest base classes with the existing one. Since there are various style issues, i am bit confused and so decided to retain two versions of each function that is used. This huge modification ( fracturing ;) ) in the root resulted in lot of time.
Getting umbrello build again was nightmare but fortunately I succeeded in it :)

Of course i now broke all uml widget drawing, they leave marks on scene and there are some crashes. But thats ok because I will anyway implement each and every widget carefully from ground up. Also a positive being, the resizing using all the 8 handles work for most of the widgets without any single change to their resizing code.

I also added some utility methods to save brush(any kind including gradients) to xmi and retrieve the same.

That said, I now have setup the flexible base classes and have somehow managed to replace the parts of "root" of huge tree with new ones. I sometimes feel I was overbrave, but this challenge is fun :-) My whole holiday fun this time will be coding, coding, coding.... :-)

I also by chance spotted this beautiful architecture diagram and it serves as motivation to me with respect to achieving such nice things with umbrello. May be amarok will in future be able to produce beautiful diagrams with umbrello as well ;)

Now I need to sleep so that I can wake up early and study Microprocessors.
Wish me luck!