This month we interview Jason Harris, the original author and current maintainer of KStars. Jason Harris is a postdoctoral Astronomer at the Space Telescope Science Institute. He talks about KStars' history, what's coming in KDE 3.2, and the future. Read on to find out more!
Interview with Jason Harris of KStars
1. When and where were you born?
McHenry, Illinois, USA. 1973.
2. What school did you go to?
McHenry High School! :) I went to college at the University of Arizona, and went to graduate school at the University of California at Santa Cruz.
3. Where do you live now?
I currently live in Baltimore, Maryland, but if you ask me in a month, I'll say Tucson, Arizona.
4. When and Why did you start KStars?
kstars-0.1 was published at Sourceforge in April 2001, but I think I started coding it on my own a few months before that.
I don't think I ever mentioned this before, but KStars actually started as a windows program that I wrote for fun in 1999 called "Astrocalc". I used Borland C++ Builder for that. It was really primitive; kstars-0.1 was basically a port of Astrocalc to KDE. It's a complete coincidence that the KStars calculator is named "Astrocalculator"; that was Pablo de Vicente's doing, and I don't think he knew about the original Astrocalc until reading this :)
As to why, in general, I just really enjoy using a computer to make something beautiful and complex. It's definitely my creative outlet. In 1999, I was on a long flight home from Chile, and I got it in my head that I could write a simple sky-plotting program. I worked out a lot of the math on paper there on the plane. When I got home, I tinkered with it for a couple of months, but then kind of lost interest. That was Astrocalc. It sat on my hard drive for about two years, during which time I finished my Ph.D. and got more and more into Linux. I noticed that my favorite DE didn't have an astronomy program, and I remembered Astrocalc. Luckily, I still had the code lying around, so I harvested what I could and called it kstars-0.1.
I was completely amazed at how easy it was to code with Qt and KDE. As some of you know well by now (hi Coolo!), I am not a great programmer. I don't know a singleton from a factory, but the API is so great, I don't have to! :) Anyway, I quickly set my ambitions way beyond anything I could have done with Astrocalc. The other magic ingredient was that kstars attracted other developers really quickly after it was posted at Sourceforge. I'm really fortunate to have such a great group of co-developers; KStars wouldn't be nearly as cool as it is without their efforts.
5. What features will be available in KStars in the KDE 3.2 release?
One of the coolest new features is your (Jasem's) telescope control stuff. People, of course, have often asked about controlling a telescope with Kstars, and my response was always something like: "yeah, that would be great, but...I wouldn't even know where to begin". Well, it has arrived! Most popular computerized mounts are already supported, and the integration with the rest of the program is really great. You can control any number of telescopes, locally or remotely (through ssh, even!). Jasem has already used KStars to drive a telescope thousands of miles away. That is just cool. :)
Of course, not everyone has a telescope with a computerized mount (me included). There's plenty of other stuff in store for 3.2 as well. The number of stars has increased to 126,000. We also now include 2000 asteroids, 400 comets, and the moons of Jupiter. You can show a "trail" behind solar system bodies, which trace their path across the sky so you can see retrograde loops and other interesting effects. We added a number of "Tools" to the program, including a variable-star lightcurve generator, an altitude-vs-time plotter, a "What's up Tonight?" summary, a solar system viewer, a tool for plotting the positions of Jupiter's moons, and a "script builder" which provides a GUI for generating complex behavior scripts using our extensive set of DCOP functions.
Oh, and we added some command-line arguments for generating an image of the sky without actually launching the GUI. I was hoping KStars could then be used as one of the programs which dynamically generates your desktop background, but I can't get it to work. I suspect that KStars just takes too long to make its image, but I don't know for sure. Anyway, from the command-line it works great. :)
There's a lot of other stuff, but those are the big ones, I think. I should also mention that we made good progress in optimizing the sky-rendering and startup time. Both are 50-100% faster than in 3.1, I would guess.
6. What's missing from KStars that you'd like to implement in future releases?
We have lots of great ideas. One thing I really want to try is OpenGL rendering of the sky. I know zero about OpenGL programming, but I am going to use the 3.2 freeze to start learning about it. I also want to make it easier to add non-standard data to the program, through an integrated download/install tool like KNewStuff. Another thing I've been thinking about is extending the abilities of the Astrocalculator tool to something like a mini-spreadsheet program with specialized functions for crunching astronomical data (useful for building observing lists). Pablo has already started the groundwork for this; in 3.2, many of the calculator modules now have a "batch mode" that operates on text files. I'd also like to make some games and quizzes using the DCOP Script Builder. The ability to script some pretty interesting stuff for classroom use is almost there, I think.
More ideas are always welcome, so file your wishes at bugs.kde.org!
7. What other projects are you involved with?
No other programming projects at the moment. Last year I made a KDE GUI frontend for the Neverwinter Nights Linux server, but that's finished now. Well, I did write some code for my thesis which I am still maintaining and improving. It's just numerical analysis code, 100% fortran-77, probably not of much interest here! :)
8. What are your main research interests in the Space Telescope Science Institute?
I study galaxy evolution at the stellar-populations level, meaning I measure properties of individual stars (and star clusters) in nearby galaxies in order to learn something about the history of the galaxy, and how it has been interacting with its neighbors. So far, I've been focusing on the Large and Small Magellanic Clouds (LMC/SMC), a nearby spiral galaxy (M 83), two dwarf starburst galaxies (NGC 3077 and NGC 5253), and a tiny, isolated dwarf in the Local Group (Sextans B).
9. What do you do in your spare time?
I use Gentoo at home, so I spend every waking moment compiling something or other. Just kidding. :) I've got a good group of friends, so we hang out, go out to dinner, see movies, whatever. I like riding my bike, going down to Washington DC, hiking, etc, etc.
10. How much time do you spend on KDE?
Not too much, 0-4 hours per day, I guess.
11. Where do you see yourself and KDE 5 years from now?
I will hopefully be on the astronomy faculty at some university by then, using KStars and KDE for classroom demos.
12. What's your favorite food?
Drunken Noodles at Thai Landing here in Baltimore. Hi Charlie! ;)
13. What's your favorite vacation spot?
Easy: Yosemite National Park, California. Get there.
14. What was the last book your read?
I am reading the Horatio Hornblower series by C. S. Forrester. Avast! Before that I read "Paper Daughter" by M. E. Mar. Oh, and I am halfway through Douglas Hofstadter's magnum opus: "Le Ton Beau de Marot".
15. What was the last movie you saw?
Hmm, on DVD we just watched "High Fidelity" starring John Cusack. The last theater movie was "Once Upon a Time in Mexico", which was good campy fun, if you can leave your knowledge of physics at home. :)
16. You are having a BBQ in your backyard and you're allowed to invite 3 famous people who would you invite and why?
17. Name your favorite quote/saying.
"Perhaps I'm old and tired, but I always think that the chances of finding out what really is going on are so absurdly remote that the only thing to do is to say hang the sense of it and just keep yourself occupied." (Slartibartfast)
18. Beer or Wine?
19. Vi or Emacs?
Emacs, of course. But then, I use awk instead of perl, so what do I know? ;p
LMC! My online nick is LMCBoy, and my website is 30doradus.org. Easy one :) The SMC is cool too, I just submitted a paper on it.
Hope you enjoyed the interview!