GSoC Update – 2

Ha, its been really long since I updated my blog on the progress in SoC.
This post is about two major changes that I’ve created in the Observing List UI.

1. The WishList + Session View:

The WishList view contains a list of objects that you’d wish to observe sometime, somewhere. This is like a super set of all objects that you’ll observe in all sessions. And you can add objects from anywhere in KStars, and even better it is auto saved.
The Session View contains the list of the objects you’d want to observe in a specific session. This is a specific list of objects from the WishList that is planned for observation. In this view, you can even set the time at which you want to observe the objects, which is defaulted to the transit time to make it user friendly. The advantages of this time setting is that it provides the Altitude and Azimuth coordinates for ease of observation. More features to come are displaying the telescope’s current coordinates if any telescope is connected and is active. The session list can be saved and loaded(which loads all parameters including the Date, Location, Time, etc.). And as mentioned in the previous post you can view the Altitude vs Time graph, plus now, you can now set the date and time and this will compute the RA and Dec coordinates with recomputing them including precession and nutation considerations.

2. The DSS image tool:

One nice feature integrated in the Observing List now is the DSS image preview. For any selected object, the user can get the DSS image by a single click, and it auto saves the images, with the option of discarding them on exit in case you want to save hard disk space. And if any image exists, this detects it and loads it instead of loading the image from the web. This is useful as, you’ll almost never have an active Internet connection in the observation area. Again, another new feature to come is the SDSS image tool, which is available for one quarter of the sky the main advantage of SDSS images is that they are not gray-scale images! So it’ll make the Observing List even cooler.

Thats it for the updates now, for a quick look of the changes, the Observing List which used to be:


Now has become:


See, its getting cooler and cooler. And if the logs are worked upon to be compatible with the OAL, our observing planner will beat lots of existant commercial software left right and center.

Cheers and happy Kontibuting. Until the next post, signing off.

Time for a weekly report — KStars

Ah, without my realisation a week has passed since I started my GSoC work on KStars. My proposal was to create an Observation Planner for KStars a neat little(well not exactly little) utility where you’ll have everything you need for chalking out your observation plans. So, what I’ve achieved till now in the process is :

1. Make a lot of other features like What’s Up Tonight and the FindDialog to be accessible from the Observing List so that the user doesn’t have to take to a tedious process of going to these from the menus, slewing to the object and then do a Add to Observing List.

2. Get the Altitude Vs Time Plot integrated within the Observing List. This makes it much easier to view the AVT Plot by just clicking on the object rather than take to the process of Opening the AltVsTime plot window for the plot. ( This left some space to the right as you can see in the image attached below, which will be filled up by another plot/The Coordinates of the current Telescope.

3. Wrote a method that’ll display the current direction to which the telescope is pointing at the moment [ If a supported telescope is connected that is 🙂 ]

4.Created a Class KSAlmanac, which will take care of computations of the Rise and Set times of Sun and Moon. It also computes the approximate twilight begin and end times.[ Accuracy of about a minute ]

5. Replaced a lot of duplicated Sun rise/set times in many places with the KSAlmanac class. Also made the default constructors available in the classes KSSun and KSMoon, makes life easier if you want to have their instances with the current GeoLocation and Date/Time.

6. Decided on how the Observation Planner is going to look like, it is going to morph into a tabbed feature with different types of usage for each tab :

  • All Objects : This will fire up a list of all objects from where you can add the objects into the next tab, which is,
  • Observing Wish List : This stores up a list of objects which you’ll want to observe someday or the other.
  • Observing Session : This is the list of objects which you’ll be creating for a particular session, you can even save up on the times in which you’re going to be observing the specified objects.

With these different types of views, planning a session becomes extremely simple, as you can see when the object will rise/set, see how easy it is to observe from the integrated Altitude vs Time plot, decide on which object to observe when and save up on those details so that you’ll just need to open up KStars and start observing objects without wasting any of the precious night time available to you. This hierarchical view + the What’s up tonight makes it simple to add more objects on the fly without having to do a lot of research with sky charts and stuff. So, to simply put it, its observation made easier for all 🙂

But though the specified things look nice and cool, implementation issues always rise. The All Objects tab might have to wait up as currently it takes over a minute to load up! I tried the best improvisations that I could think of to reduce the time lag, but nothing seemed to help much in reducing the timing. Me and my mentor, both of us are kinda baffled by it as the number of iterations is of O(n) and n is around 19,000 or so . And in each iteration we make only O(1) queries. Strange right ? But anyway, this has been reserved for later stages as both me and my mentor agree its much better to spend time on bringing up the other features rather than to bang my head over this issue.

So, the observing list which used to look like this :


Now, looks something like this :


As you can see, it already looks usable, in another week or so, it’ll become even better :D. Cheers!

Bidirectional Patch!

I came across an interesting problem today.It was patch that works both forward and backward! It was on the course of editing a UI file, the markups in the svn diff were simply :



and a



And the change I made contained the same number of lines apparently.

I did my usual, svn diff > Patch followed by patch -p0 < Patch, hoping It’d ask me to assume a -R . It did ask that for a few files, but not this one and I dint notice that. And my make kept failing. Finally on doing another svn diff, I realised this interesting thing. It had _added_ an extra batch of buggy lines like once wasn’t enough to kill the compile! I ended up doing an svn revert to resolve the issue finally.

So piece of advice : Take that little bit of time to add a -R to the patch -p0 command 🙂

GSoC Updates

As an advice from my mentor, I’m planning to maintain this blog as my official GSoC(Google Summer of Code) updates blog.

As a start, today, I’ve set up the branch in my computer and started working on the Observing list.

HTS voices in festival

Steps to install HTS voices in festival

1. Install festival

2. Download the required hts voice tar.gz package( I recommend the cmu_us_slt_arctic_hts )

3. Untar it in any meaningful directory and copy the directory/festival/lib/voice to /usr/share/festival/voice

4. Now if you try to change the voice in festival by giving the command, (voice_cmu_us_slt_arctic_hts) and do a (SayText “Hello”) , it will give you the following error :
param -r not of type float

5. The show, just begins now, goto /usr/share/festival/voice/us/cmu_us_slt_arctic_hts/festvox

6. Now, vim cmu_us_slt_arctic_hts.scm and search for (“-u” ” 0.500000″).

7. When you get there remove the ” ” for all the float numbers, as in (“-u” 0.50000)
you have to do this for about 6 lines

8. :wq and you are done 🙂

Now open festival again , change the voice and try.
If you had installed my suggested version, you’ll hear a natural feminine voice

9. You can create a .festival rc with the following text and make this permanent
(set! voice_default ‘voice_cmu_us_slt_arctic_hts)