10 years of DGPLUG

I was in NIT Durgapur, West Bengal (my home away from home until a year and a few months back) to attend an event celebrating 10 years of DGPLUG. This was held in the college campus from 29th August to 2nd September. Not considering the fact that being back in West Bengal for that short interval was a beautiful experience for me, I have returned back to Pune with a bag full of memories from the event, which I believe was an amazing success. The goal of the event was to celebrate a decade of the DGPLUG community while holding talks and workshops to promote contributions to Free and Open Source software from the region. All thanks to Red Hat and the TEQIP cell NIT Durgapur for making this possible by providing the necessary funds for travel and accommodation. I’ll try and provide a day-by-day account of the event as I remember:

Day 0: We (me, sayan, chandankumar, praveenkumar, rtnpro and pjp) reached Durgapur around 5:40 pm and were settled in the hotel in an hour. We took some rest, while waiting for Kushal to arrive after which we had a nice dinner at a local restaurant, called Layeks. We discussed our plans for the next day during and after the dinner. All we could do after a day of journey and a fulfilling dinner was to sleep off. We needed to start early next day.

Day 1: After the initial formalities, the event started off with Kushal initiating the talk on the history of DGPLUG. I’m pretty sure the audience really loved that talk. Next there was some story-telling by the DGPLUG members where they spoke of how they were introduced to FOSS contributions, the DGPLUG community and how DGPLUG played an important role in each of our lives.

The audience was introduced to the DGPLUG summer training program that is organised each year following which the new members of DGPLUG were called in on stage to introduce themselves and speak on how the DGPLUG summer training helped.

After this Kushal demoed IRC live on the big screen which provided the audience with enough entertainment to get them charged up for the technical talk by Prasad J. Pandit (P J P) on iptables. His talk touched on concepts of networking and invited a lot of questions from the audience.

Prasad Pandit

P J P starting his talk on iptables

The day ended with pjp’s talk and we headed off to our hotels to freshen up for a team dinner.

Day 2: This day started with a well-promoted Python workshop, which was evident from the overwhelming participation. The D. M. Sen Auditorium Hall was packed with no seats left.

Full House 2

Fully packed auditorium for the Python workshop

The participants took off to Python really well, and there were comparatively a lot few mistakes from them even though the workshop pace was not too slow. During the course of the workshop, the students were introduced to Vi/Vim and almost all of them used this for editing purposes. We realised that the workshop was a real success when we found the auditorium hall filled to capacity even after an 1-hour break for lunch.

Day 3: Workshops were help on web development using Flask and testing in Python. I did not have much to contribute to the workshop on Flask and instead gave some time to my personal agenda which was giving time to the KF5 porting work for KStars that I had been postponding for long.

Day 4: This was the last day of the event for me. The day started with Kushal Das giving a short talk on the importance of providing documentation for the code we write. This provided the necessary build up to the workshop introducing the participants to reStructuredText format or RST. By lunch time, the participants had a grasp of the RST format. After lunch, Kushal started off with his workshop on documenting Python using Sphinx.

Over these past 4 days, I interacted with 2 guys, Sourav Moitra and Raunak Pillai, both of whom showed a lot of interest in getting started with contributing to KDE. Sourav Moitra was interested in Astronomy and KStars interested him. He got KDE installed on his Fedora 20 system and I helped him build and install KStars from source. He also setup KDevelop with KStars and learned how to to use KDevelop as an IDE for development purposes. He went through the source and asked question to clear off doubts.

The event managed to retain a very healthy crowd each day and I consider that an important parameter to measure the success level for an event. On top of that we received feedback from the participants which made it clear that they wanted more such events being organised in NIT Durgapur and surrounding locations.

P.S. : Akademy 2014 is about to start off and I feel so sad not being able to attend it. Anyway, wishing Akademy 2014 all the best and hope all the attendees have an awesome time!


GSoC 2012 work merged finally!

Finally I have merged my Google Summer of Code work for KStars and the new feature called “What’s Interesting…” is on master branch. This feature suggests “interesting” sky-objects to users to view. Whether a sky-object is interesting or not depends on the night-sky conditions and the equipment availability. Hopefully this feature would prove useful for beginner astronomers. Although this merge has taken a long time, I never felt like all that work could go waste. Thanks to Akarsh and Rafal for helping me throughout.

While a lot of polishing has been done, I’m sure there is always room for improvement. I’m therefore awaiting feedback from users of KStars regarding any unnoticed bugs or feature requests.


GSoC Update: What’s Interesting… in KStars?

This is really very late. I had been very busy trying to get my visa for Akademy which I ultimately failed in. Anyway, Akademy is over now and things are looking fine with my GSoC endeavour. I am mostly done with beginner-level implementation for the What’s Interesting… feature. My feature now suggests Planets, Bright Stars and Constellations to the user.

Here are some screenshots:

Primary category selection view

Planetary Objects – sub-category selection

Interesting bright stars

Details view for planet Venus

The user can click on a sky-object from the list suggested and the skymap slews to centre the sky-object on the map. The details for the sky-object is shown along with its approximate position in the sky-map. The user can view the next “interesting” object from this details-view as well. Deep-sky objects are available but are unfiltered(all are not interesting to look at).

So I have used a QML interface for this feature. Getting to learn the model-view stuff and actually implementing it was exciting. I miss the thrill now a bit. 😉 Anyway, back to brief technicality, the models for the QML ListViews are defined in C++ classes by using QStringList based models for the category selection views and by sub-classing  QAbstractListModel (class SkyObjListModel ) for the list of interesting sky-objects belonging to a particular category. Sky objects are stored as SkyObjItems. The SkyObjItem class subclasses QObject and its instances are used as items in the SkyObjListModel. I later plan to write another blog on how I used the C++ list model in QML and how the different signals from the QML interface were implemented in C++ slots.

What next? Next I will move on to dark-sky objects. I will implement the light-pollution and equipment parameters and try to get an interesting list. I have designed the wizard that would ask the user for location conditions and equipment parameters. I will be using this formula from this paper by JOSÉ RAMÓN TORRES LAPASIÓ to calculate the limiting magnitude for sky-objects. Here is the useful part:

Formula for True Limiting Magnitude

Bortle Dark-Sky Scale will be used to calculate the LM and subsequently the SB_0T. This will be used to calculate the TLM.

Huff..so all this for the next few days. I need to push hard though and make up for time I had to sacrifice during the visa application process. Hopefully I can get the the DSO stuff working in a week. And yeah I’ll buy a pair of astronomical binoculars to actually test my feature. Or maybe a telescope? Will see. Till then, cheers! 🙂

P.S. : Also you can “checkout” my work from my KStars repository branch – gsoc2012-samxan. 🙂

39 hours after getting GSoC!

This reaction comes late; due to college examinations( 😐 )… but YIPPIE! 😀 I’m a GSoCer now!

As already stated in my earlier blog post, my work proposal is for KStars, under KDE. It really feels nice having this opportunity to contribute a lot more to KStars again. I will be working alongside Rishab Arora who’ll be working on “Improving Data Storage, Logs and adding DSO catalogs to KStars”. KStars got 2 slots this year and KDE got 60; again awesome! 🙂

By the way, my plan is to “Make KStars more usable to beginner astronomers by adding ‘What’s Interesting…’ feature to KStars and by making ‘Star Hopping’ feature user-configurable”. This idea is something that has interested me for a long time now. Its time to actually code and implement it. Do have a look at my earlier blog post –> Applying for GSoC 2012 and my proposal on KStars for more details.

Also here is my proposal abstract –> http://www.google-melange.com/gsoc/project/google/gsoc2012/samxan/16001

Will start work as soon as my exams get over (which will be after the 1st week of May). Nevertheless, I’ll be staying in touch with the community until then. 🙂


Applying for GSoC 2012 and my proposal on KStars

It has almost been a year since Season of KDE, 2011 happened and now its time for Google Summer of Code, 2012. The students’ application period is over now, and this would be a good time to blog about my proposal and thoughts.  Choosing to work on KStars and KDE during the summer, if I do get selected, was also not a difficult choice to make. Being connected with KStars for over 10 months now, I had to contribute to KStars something that I could actually relate to. Being a beginner in astronomy, the idea of making KStars more beginner friendly had always been very attractive to me. I was therefore certain that this was what I actually wanted to work on during the summer. I plan to work on two features during the summer coding period. One would be adding a new feature named “What’s Interesting…”. The other feature I would work on is “Star Hopping” in KStars. In the next few sections I will talk about both in slight detail.

“What’s Interesting…”

This feature will basically be a QML based user interface that will suggest sky objects which are currently visible and interesting. 

Interesting refers to the interest of the user. Intermediate users for example would probably not need suggestions on planets and their positions.

Visible sky objects are sky objects meeting the following two conditions:

  1. The sky object should be visible in the current sky +/- 1 hour.
  2. Taking into account the location conditions and availability of equipment of the user, the sky objects should not be too difficult to see.

There is already a feature known as “What’s Up Tonight”, which is not of much help at present. This is because the results or suggestions are not personalised. The user should not be suggested to have a look at the Andromeda Galaxy when the location is a city badly polluted with light. So “What’s Interesting…” aims to provide more helpful suggestions in a much more attractive manner through a QML based GUI. Every time “What’s Interesting…” is started by the user, a easy-to-use wizard would open up asking the user for information like his location, location conditions, interests, equipment in possession and specifications. An option to skip all these steps would be provided in case the user wants to use previously stated conditions.

After going through this wizard the “What’s Interesting…” window would show. I have prepared mockups for this window using QML. Screenshots of two such mockups are:

One option not provided in the mockup here for the details view window, is the “Get directions to here”. This option would be there in the details view for deep-sky objects. This would provide the user star hopping directions to the current deep-sky object. These star hopping directions would also be ‘personalised’ by taking into account equipment availability and location conditions of the user.

Location conditions of the user here refers to the amount of light pollution in the area. How to take this into account? For this Bortle Dark-Sky Scale will be used. It is a nine-level numeric scale that measures the naked-eye and stellar limiting magnitude for a particular location. A chart as in here helps to get a better idea. The user will be asked to rate his own sky from 1 to 9 after being provided with such a chart. The limiting magnitude associated with each rating would then.be used as a parameter to screen out deep-sky objects of greater magnitudes (Confusion alert: In astronomy Greater magnitude == Lesser brightness).

Also equipment available to the user will play a role in screening out more sky objects. Specifications of available equipment would be converted into scores for respective equipment such as “Telescope Score” and “Binoculars Score”. Deep-sky objects which require greater scores would be screened out. These implementation details are provided in my proposal in much greater detail.

User Configurable Star Hopping in KStars
Sometimes some sky objects are difficult to view with the naked eye. So it becomes difficult to find their position on the sky and point a telescope at it. Star hopping involves centering a bright naked-eye star in the telescope, looking through the telescope and subsequently working through other stars or other sky-objects as ‘landmarks’ to the desired object. Currently this feature in KStars is in an experimental stage and I plan to work on the following matters during the coding period:

  • Replace hard-coded values of limiting magnitude(maglim) and equipment field-of-view(fov) parameters in StarHopper::computePath() for real values.
  • Dialog to initiate star hopping that asks user for location conditions (rate the light-pollution in the area according to the Bortle Dark Sky Scale), equipment specifications and the destination star.
  • Destination star is to be either selected from a list or selected manually from the skymap.
  • Users can currently use “Starhop from here to…” in the popup menu that opens up on right-clicking on the skymap. Now, a new option”Get directions to here…”, enabling users to get star hopping directions to a destination star, to be added in the popup menu.
  • Dialog that displays list of star hopping directions to a destination star.


So that was the summary of what I plan to be doing this summer. For a more technical and detailed read, my proposal is available for public viewing at http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/samxan/1.

Hope April 23rd turns out to a happy day! Will keep my spirits high and prepare for college examinations till then.

Dead stars for KStars!

At last there are supernovae on the skymap of KStars! Small orange ‘+’ signs mark the spots of fury. The list of recent supernovae can be created/updated by using the Update Recent Supernovae Data option under Settings—>Updates.

Also Supernovae can be found by using the Find Dialog Box by using their serial number.

And right clicking on supernovae and getting some detailed information also works. 🙂 Anyway, let me finish this quick.. need to catch a train tomorrow morning and really need to catch up with some sleep.

So what next? Well, checking for new supernovae discoveries at startup and alerting the user of such discoveries needs to be done. Also the user needs to have the freedom of choosing whether to see those orange ‘+’ signs on the skymap. I somehow find them a little irritating. 😛