All posts

Georg Interview

Originally published on macresearch.org, around 2007. Reproduced from the author's archive; some links may no longer resolve.

Macs in Astronomy: An Interview with Georg Tuparev

Editor’s note: This is an interview with Georg Tuparev of Tuparev Technologies. Georg has a long association with Cocoa development, and counts Astronomy as one of his great passions. Tuparev Technologies have recently been developing software to control telescopes in the MONET (link no longer available) project.

Q: I’ve known you now for around 5 years. When we met, I was a Cocoa newbie, but you already had many years experience with Cocoa development, stretching back to the NeXT days. Tell us how you first got involved developing in Cocoa, or OpenStep as it was then known?

Actually it was called NeXTSTEP. I believe I met this beast back in late 1990 or 1991. I was a student at the University of Heidelberg (Germany) and a Mac shop decided to start selling NeXT computers. The folks working in this shop had no idea about Unix or networking, so they were looking for someone to teach them. I knew Unix, and I needed money to finance my next travel. It was a love from the first moment, and instead of traveling around the world, I bought my first NeXTstation with 8MB RAM and 500MB disk in it. I’ve changed computers many times since, but this one I still keep around.

Q: I know you also have an interesting scientific background. Tell us about your early work in developing Chemistry software in Germany.

I was very lucky to land at the European Molecular Biology Lab. There I had access to the best computers money could buy, the best teachers in Europe, and very serious problems to solve. My first task was to add a 3D visualization module to a FORTRAN based in-silico molecular design application. Then I developed a very fast algorithm for comparing protein structures, and finally moved to the field of modeling the biochemical pathways in muscles and peripheral nerves. The research of the muscular dystrophy is still my main research hobby.

Q: You’ve now got your own company, Tuparev Technologies, and work on the usual e-commerce stuff for banks and other big companies. But recently you have also been involved with the MONET telescopes. It must be very gratifying being able to unite your interest in astronomy and Cocoa/Web Objects development. What is MONET, and what part is Tuparev Technologies playing in it?

The MOnitoring NEtwork of Telescopes (MONET) (link no longer available) is a joint project between the University of Göttingen, McDonald Observatory of the University of Texas at Austin, and the South African Astronomical Observatory, and is sponsored by the “Alfried Krupp von Bohlen und Halbach Foundation”. With the Krupp Foundation grant the parties in the project are constructing one of the first international robotic telescope networks that can view all of the northern and southern skies and that offers a large fraction of the observing time on the telescopes available for use by school children. The first 1.2m telescope built by Halfmann-Teleskoptechnik (Augsburg, Germany) was inaugurated in 2006.

About three years ago we were asked to write the entire robotic observatory control software for the network. I believe no other company wanted to take up the challenge. We love this. In addition, a few of my colleagues and I are amateur astronomers, so we could not have dreamt for a better opportunity. We have written almost all of the software — from micro-controller programs to the web portal, which is the single point of entry to the system. We started this just as another project, but we have ended up with a highly reusable and hardware independent package that could control robotic observatories of any size and complexity. We are also working on two Cocoa astronomical applications — starPlace and ccdPlace. The later we will presented shortly after WWDC. We are so hooked, we have even started constructing our own electronic hardware.

[image: A MONET Telescope — no longer available]

Q: What is the current status of the project? Where can people go to find out more?

A few weeks ago we finished the first — and by far the largest — phase. It allows remote (web-based) control of the observatories, with some very primitive robotic components (e.g. automatically closing the enclosure in case of rain). At the moment the software is being tested by professional astronomers and school teachers. But before WWDC we will open it to the wider public and will publish the URL. At the WWDC we will have a poster about MONET, and will be happy to demo it to anyone who is interested.

Q: Are you using Apple hardware? If so, what are the challenges, and how is the hardware coping?

I believe our software is the first Apple-based observatory control system. With the exception of micro-controllers and a real-time system, it is running exclusively on Apple hardware. So far we have had zero problems and no regrets.

Q: What software technologies have you used? Web Objects? Cocoa? What part has each technology played in the process?

It is a mixture of Cocoa and WebObjects. All “serious” software components (control daemons, autoguider, scheduler, etc.) are Cocoa based. The portal and the entire data archiving are WebObjects. Not that we do not think Java is a serious language — our test database alone is 1.7 TB of astronomical coordinates — but somehow we sleep better if Objective-C based daemons talk to the low-level hardware. Besides, Objective-C and Cocoa are so much more fun.

Q: I know you always lamented the loss of the Enterprise Objects Framework (EOF) from Cocoa when Apple bought out NeXT. In the meantime, Core Data has appeared. What is your view of Core Data? Is it as powerful as EOF, or are there still some limitations?

For Apple to believe the hype and rewrite WebObjects and EOF in Java (they were Objective-C based) was in my opinion a gigantic mistake! But that is history.

Now about the relationship between EOF and Core Data: Many people think of Core Data as EOF-light. This is not the case. If anything, Core Data is NSArchiver-pro. It is a framework that makes the archiving of large amounts of data for stand-alone Cocoa applications a breeze. It is not intended to be a server technology, and probably never will be.

I will give an example from starPlace. When finished (hopefully soon) it will be a combination of astronomical observation management, planetarium, and astronomical image processing, and will talk to observatories (robotic or remotely controlled) in the same way as the MONET web portal currently does. The server site — which could hold any reasonable amount of data, run an image processing pipeline on a Xserve-cluster, or be a repository for collaborative projects — is based on WebObjects (and EOF). The starPlace.app itself uses Core Data to store local data. One could still do serious work during a flight ‘offline’, and when sync with the server when next connected. As far as I know this will be a unique application for the astronomical community.

Q: If anyone out there needs the services of a science-savvy Cocoa or Web Objects developer, how can they get in touch?

Just drop an email to info [at] tuparev [dot] com. The offer of a beer or two may speed up the response :-)

Q: Finally, what would you advise any scientists out there that might be contemplating learning Cocoa?

First — do not port. Innovate instead! I’ve seen many porting efforts, and in most cases it is waste of talent and resources., And second — do not try to learn it on your own. Look for an experienced cocoa developer who will help you with the big picture.