Posts Tagged kstars
USNO NOMAD 1e8 Support for KStars – Screenshots
5 comments September 14, 2008
Memory Management UI – Trial #2.
I’m going on my third north Indian trip tomorrow, spiritual purposes only. So I’m off the net for next 2 days. I happened to hurriedly do this:
http://lists.kde.org/?l=kstars-devel&r=1&b=200807&w=2
I’d want comments on that UI, because I have no idea about UI design.
Add comment July 17, 2008
2.5 million stars in trunk!
Yay! All the machinery for loading 1e6 stars has been moved to trunk and the 2.5-million-star Tycho-2 catalog has moved to the ‘Download Data’ (Get Hot New Stuff) feature. I plan to put up a screencast on how to use this and the conjunction tool from KStars sometime, along with a whole lot of other features.
To get the Tycho-2 deep catalog, just click on File->Download Data and click ‘Install’ next to ‘Tycho-2 Star Catalog’.
2 comments July 14, 2008
KDE.IN Monsoon Hackathon – Day 1
Day 1 was almost entirely spent by me in the following activities:
- Install Debian on one of the systems Atul had so kindly provided us with. (They have a local Debian mirror, so it rocks!!)
- Copy the KDE sources from Sharan’s harddisk
- Play around SSHing into my system
- Build KDE
- Discuss about FOSS.IN 2008 and KDE’s place
- Frantically realise that you’ve done nothing at the end of the day and try to commit something that builds, whether it adds some value or not
I had a nice time being with all the KDE kontributors around. We also had a few talks by Pradeepto, explaining David Faure’s method of setting up the KDE source tree and svnmerge.py.
Other folks did useful things – Pradeepto made a release (of what, I don’t know. Definitely will have to do with KDEPIM or KMail). Tejas commited his Bonjour plugin for Kopete.
I learnt something about Bonjour from Tejas. Nice thing it is. Sharan has agreed to help me use EMacs more like an IDE than like “Notepad”.
Dinner @ Nandini, RMV Extension. Dinner back @ home as well, because I had promised the folks at home.
Although we could only get the stuff building today, the inspiration from the KDE Hackathon got me working all night till now (despite the fact that I need to get to Day 2 tomorrow) fixing some stuff. Finally, it looks like I have “achieved” all my GSoC goals. Anyway, that apart, the proper motion code is tested and found to be proper – that’s a good thing. I finally learnt how KStars draws lines on screen (many thanks to Jason. I’d have been lazy to find out myself
). I also commited the data files that had the duplicate entries, because they seemed to work without any trouble.
Finally, I thought I must blog about ‘Day 1′. Atul was insisting that we all blog, so here it is
. We are also actively microblogging on twitter at http://www.twitter.com/kdehackathon
Looking forward to Day 2. I hope to:
- Ensure that binfiletester also verifies sanity of data. That way, I’ll have the ultimate testing tool to receive that catalogs to come. That way, I’ll also get a hint on why KStars is spewing out trixel jump message of late. (Wasn’t doing that before I remodelled the trixel2number and number2trixel code).
- Random bugfixes for KStars
Thankfully, I have access to my phpmyadmin from there
BTW, Photos by Kushal are here.
Add comment July 12, 2008
KStars loads 41560 stars in 225ms!!!
“We all know Linux is great…it does infinite loops in 5 seconds.”
–Linus Torvalds
KStars is now no longer far behind, thanks to James Bowlin. James seems to know every bit of computer architecture. One interesting thing that I learnt from him, after he repeatedly tried to put it into my head, is that malloc()s are like hard disk seeks. You had better do a BIG malloc() at once than make several small malloc()s. He knew for sure, that much of the time KStars spent in loading stars in the StarComponent::readData() method went into the constructors!
So he suggested something that I initially thought was un-implementable: Forget C++ constructors. Let’s do our own memory management. Create a template StarObject with some default data initialized in it. Whenever you want to create a new StarObject, just memcpy() it to make a new one!
Now, the first question I asked is what about those memory allocations that the constructor does? For instance, StarObject::StarObject() creates a new QString to store the spectral type. James said we’d take care of that by allocing them in a StarObject::init() function that sets up our freshly copied StarObject. I still had a lot of doubts in mind.
I decided to jump in and see what happens. Went and made some changes in StarObject – implemented a StarObject::init() that did the job of a constructor, and after a few segfaults, changed StarObject::SpType from QString, to QString *, so that I could alloc it freely at my will. Now, this could create some bugs and memory leaks in KStars if not used properly, but every programmer will have the sense to look at my “WARNING:” comments. I couldn’t believe that it actually worked! And I was really amazed to see the whooping 6x increase in speed, with the readData() method taking 6 microseconds per star instead of the earlier 42!!!
I had some funny idea of how C++ might store the class, but it turned out to be different. I still don’t know how it does that – it looks fuzzier after I implemented this.
I’m pretty sure that things will break (and segfault) when KStars learns to remember the user-added information links and observation log in the Detail dialog. We will probably fix this in the trunk before the KDE4.1 release, but that means that I’ll have to make some more changes before it safely merges into the branch.
I’m now trying another suggestion that James made, about loading all star name data into memory, to avoid the disk head seeking between two different files. Now that the fread() that grabs the data from the binary files takes a significant fraction of the load time, this might be an important factor. Earlier, it would’ve simply gotten buffered by the time StarObject::StarObject() would finish. This requires me to add a header to the star name file describing the number of records, so that’s going to change everything right from the data file generating program. I can’t wait to see how much of an efficiency boost I’ll get. It might not be much, though.
4 comments June 4, 2008
Two more bugfixes to KStars
4 comments May 31, 2008
Astronomers actually use KStars to control their observatories!
Well, I didn’t expect that people would be using KStars to control observatories! I knew it was capable of that [Implements INDI protocol for control of instruments], but I didn’t know it would actually be used for that!
At the Vainu Bappu Observatory in Kavalur, they use Windows to control the 1m telescope observatory dome, CCD and capture images. [Ugh!]. The telescope control software for the 40″ is written in Delphi by someone in IIA, and cannot seek directly to an object. One has to look up the co-ordinates of the object in huge catalog books listing RA and Dec of various DSOs, Planet Ephemerides etc or go down to the computer lab and use SIMBAD to read the coordinates, and then slew the telescope manually to that RA / Dec. The software is only capable of reporting the current RA / Dec of the telescope, and slewing the dome appropriately to follow the telescope, if I remember right! I doubt it the telescope / CCD support INDI. I wish we could provide them with and request them to move to better FOSS solutions.
Add comment May 30, 2008
The find dialog works to my satisfaction, at last!
I used to find the Find Dialog in KStars rather inconvenient. I’d just hit Ctrl+F to fire it, type away “M 97″, hit enter, and it would land me at Andromeda Galaxy instead of Owl Nebula – Because that was the default selected entry in the List View and it would update the list view with the new search filter only after some delay (half a second, I think).
This commit fixes that by keeping track of whether the list has been filtered after the most recent text entry, and ensures that the list is filtered first thing after entering slotOk().
So you can simply hit Ctrl+F, type away the full name (or even a part of the name – Kentaurus landed me at Alpha Centauri
) and hit enter, and it’ll slew you to the right object instead of Andromeda Galaxy. I’ve tried to ensure that it is as bug-free as possible.
If you’re running on trunk and have kdeedu compiled, please do test it.
I’ve made 5 commits in 24 hours. This certainly means I need to get a life (and some sleep)!
3 comments May 30, 2008
Summer Cleaning for the KDE 4.1 Release
Today, I decided that I’ll stray away a bit from my GSoC work and do some summer cleaning (as against spring cleaning) for the KDE 4.1 release. Fixed a few minor bugs, and regressed one patch.
I made three commits:
1. Removing Earth from the Conjunctions tool UI
2. Regression on an earlier bugfix, because it was applied twice
3. Some more fixes for the Angular Distance tool
Add comment May 30, 2008
Fixing minor bug with the Find Dialog in KStars
With the find dialog, you couldn’t select genetive names of stars and click ok to find them earlier. The problem was that foo::findByName() would never look at the genetive names of stars. Overriding ListComponent::findByName() by StarComponent::findByName() and implementing a check against the genetive name solved the problem. Commit message here
Add comment May 29, 2008


