FAD - Fedora Activity Day
I was excited to know what it would be like but I had no clue as it was one of my first such gathering in Fedora Community.
Day 1
I reached there at 10:00am feeling that I would be just on time but to my surprise I was an hour late. I snapped into the room and took a seat quietly. What a beginning! Autotools workshop was in progress. So now I thought “would I have to give a talk too?”. This made me a bit uncomfortable as I wasn’t prepared for giving any talk/demo. I even didn’t prepare for what I should do these two days so that made it a bit scary. I was now forced by myself to think hard on what to do these two days.
I had started to give good attention to Anjuta IDE only a couple of months ago so I already had some plans for it.
(1) The first enhancement comes from a nice feature in Eclipse IDE where you press “Ctrl+Shift+R” and a popup appears named “Open Resource”, which basically allows you to search all the files in a project. As you keep typing the file names get filtered according to “glob” (* and ?) patterns.
(2) Another feature which I wanted to add is to make a key binding which takes me to Symbols -> Search in Anjuta IDE. I thought this one would be a good starting point for today.
By this time Autotools workshop was finished. Rahul gave an introduction to the two day FAD program and asked us (the participants) to give a brief self-introduction and the two-day-individual-plans.
Well, the Activity had already begun by now. I did a “git pull –rebase” and opened Anjuta IDE to hack on Anjuta IDE codebase :). I trageted feature (2) first i.e. adding a key binding to grab focus to “Symbol Search” widget.
Anjuta IDE’s is a nicely designed software: Anjuta Architecture. The entire system consists of Anjuta Window ( what you see in the picture above), Preferences ( Edit->Preferences ), Shell ( don’t confuse it with a normal command shell like bash ) and a Plugin framework. I doubt that Shell subsystem is based onĀ Microsoft Visual Studio ( Visual Studio ). I had literally gone back in time 10 years ago, pondering over how Anjuta IDE would have been conceptualized in the year 2001 ( according to git logs or maybe before that ). Well there may be multiple questions surrounding hows and whys for Anjuta IDE so lets get back to where we are: the present.
I wanted to understand the inner workings of Symbol Browser. It is implemented as plugin in plugins/sumbol-db/ folder ( writing Anjuta plugins. Symbol Browser displays the various types of symbols like function, class, variable etc. The Symbol DB plugin stores all this information in a Sqlite3 database which it accesses using libgda. All this information is gathered using a variant of ctags/etags ( Anjuta has its own adaptation at plugins/sumbol-db/anjuta-tags/ ). This is then stored into a local database. So whenever you open a file the corresponding tables are read and the symbol browser interface is populated. In the due course later I also found a nice Firefox plugin to browse Sqlite databases called Sqlite Manager.
It was lunch time by now. I saw a group of fellow participants gathered around a table at the cafeteria. As it turns out that Siddharth and Bhagya from http://www.bhasha.co.cc/ were showing them some electronic chips and explaining their wonderful ideas. Out of curiosity I also got involved into the discussion. We had a nice time discussing the range of applications of those microchips, for around 2 hours. After that we ended up starting two new projects: an IDE for 32 bit ARM variant of arduino and an Oscilloscope visualizer. Wow! That was amazing.
I continued back to working on the key binding patch for Anjuta IDE till the eveing. When I went home I found that a key binding already exists and isn’t documented. It felt like a waste of time but then I realized that if I weren’t working on it I wouldn’t have discovered many things about Symbol Browser plugin internals.
Day 2
Learning from yesterday I reached the venue earlier this time. I was surprized again but by the fact that this time I reach the venue first of all. Since I had discovered yesterday evening that my efforts weren’t of much use to adding a feature (2), I continued with working on feature (1): adding a Search for File / Open Resource interface. I mostly hacked all day long to add this feature.
In between there was a talk by Sayamindu about the OLPC project and the challenges which are up front. One of the interesting point he made was regarding the separation of language/translation part from the main package in various GNOME components. So whenever we build a package ( say gedit ) we could build the main gedit package separately and the various language translation packs separately. This was an appealing idea to me for the fact that its always a good idea to decouple components. It generally makes things customizable. For example if someone wants only Spanish version of GNOME, he could customize it easily. However the big challenge is to change the build system for hundreds of packages in upstream GNOME. Its an enormous task. Maybe developers should seriously start thinking about it now.
At the end of the day, another interesting, rather engaging discussion we all had was regarding the FUDCon for the year 2010 to be hosted in Asia Pacific region somewhere in March or April.
I had managed to get a UI up and running to search for files. It was still incomplete by then, which I have left for my weekend work. Thats was all for the second day, mostly :).
Pre-Dinner Drama
After all the concluding discussion I had with Rahul, Ankur and Kushal we left for dinner. Kushal and Ankur went on bike and rest ( six ) of us decided to take AutoRikshaw. The venue was at the center of the cyber-city, and since it was a Sunday, we all walked till the main entrance and not a single Auto Rikshaw passed by us. At the main gate, for every AutoRikshaw we asked “Fatima Nagar chaloge” ( will you take us Fatima Nagar ), every AutoRikshaw guy denied us, as if there was some curfew going on at Fatima Nagar, or maybe its some haunted place. Some AutoRikshaw guys didn’t even stop after listening the words “Fatima Nagar”. After around 12 attempts we managed to get conveyance till a next stop called Magarpatta Signal. There we waited at a bus-stop for buses. Even the buses weren’t stopping at the bus stop, if they did, they were jam packed. What the heck!? A bus stopped a bit ahead of the stop and all six of us ran after the bus to catch its back door handle to somehow step-in. Three of us ( including me ) couldn’t manage to step in. Even after the bus left the stop we could well see the other three hanging out of the door! Moreover it was already dark and traffic was huge on the road. Even scary. Another bus arrived and we three also followed same act. It was fun. We finally managed to reach Haka restaraunt at Fatima Nagar.
Kushal and Ankur had already reached there but the other three people were missing! How could it be as they left earlier than us? Here we were getting really hungry, and also a bit worried about them. But then we thought, lets first concentrate on the food, they will come eventually. As it turns out that they had missed one bus stop and travelled farther than they should. They took another Auto Rikshaw to returned back.
Dinner was awesome! When I returned back at home there was another drama waiting me ;-)