Cooking with Linux : Performing at the Speed of Light.

28
Jan

Cooking with Linux : Performing at the Speed of Light.

By Marcel Gagné

This article originally appeared in the November 2004 issue of Linux Journal

Performing at the Speed of Light
Note : Images have been scaled down. Click each one to see the full sized version.

You are right, François, computers and operating systems have come a long way. Not only do we have the good fortune to be running the operating system of the future today, but we can take advantage of faster machines than ever before. I remember with some . . . well, I hesitate to call it fondness, but I do remember my first x86 based PC. It was a turbo-charged XT with a processor that ran at 10 Mhz. I also spent a small fortune upgrading its RAM from 640K to 1024K by plugging in a couple of dozen chips into IC slots on the main board.

Quoi? Of course not, mon ami, while it was fun at the time, I would not give up the technology of today. That would almost be like giving up Linux for that other, less than stellar operating system. Hmm . . . . you know, François, it's interesting to think about just how far we have come. From megahertz processors to gigahertz in a just few short years! Where will we end up in another ten years? Yes, François, I suppose that faster than the speed of light may be possible, though I fear it may take somewhat longer, mon ami. Still, you have given me an idea.

Mon Dieu! Our guests are already here. François! To the wine cellar, immédiatement! Head to the north wing and check behind that new shipment of Bordeaux wines Henri delivered yesterday. You'll find a few cases of 2000 Châteauneuf-du-Pape. Vite! Forgive me, mes amis. Please sit and make yourselves comfortable. François and I were just discussing how far technology has come in the last few years. My faithful waiter brought up the idea of faster than light computing, certainly the ultimate in high-performance computing, this issue's theme. Even if we could have computers delivering information at beyond light-speed, we would still need to absorb at our own pace. One thing is for sure, we wouldn't see the stars zipping by as we read the latest online Linux Journal column.

In terms of high-performance, nothing beats the speed of light, at least not without some strange matter or access to a matter/anti-matter engine and some dilithium crystals. You can get that feeling by firing up your screen saver and selecting rocks if you are using xscreensaver or the OpenGL space in KDE's own list. How objects look as you approach the speed of light is a popular mainstay of science fiction films, but generally speaking we never get to see what it might actually look like. That was the inspiration behind Daniel Richard G.'s Light Speed!, a program designed to show precisely what happens to our view of an object as it approaches the speed of light. The program takes into consideration the various relativistic effects such as Lorentz contraction, red/blue Doppler shift, headlight effect, and optical aberration. The About page on the Light Speed! web site describes all these effects.

Ah, excellent François. You have returned. Please pour the wine. Mes amis, you are sure to enjoy this wine -- truly high performance strength, dark fruit flavors, a hint of coffee and mocha, and a long finish. Enjoy while we crank up the speed a bit.

Get your copy of Light Speed! at http://lightspeed.sourceforge.net. This is strictly a source package, but the build is very easy. You should be aware that you will need the OpenGL or Mesa development libraries loaded as well as the gtkglarea libraries. From there, it's a simple extract and build five-step.

tar -xzvf lightspeed-1.2a.tar.gz
cd lightspeed-1.2a
./configure
make
su -c "make install"

Start the program by runnning lightspeed. You'll see a window appear with a three-dimensional lattice cube. In the upper right hand, an input box lets you enter a speed in meters per second. Start with something fairly high (you can also use the up and down arrow keys to increase or decrease speed with finer control). When you press Enter, the object will be accelerated to that speed with the resulting effects shown in the graphical window.

A cube getting distorted at it approaches the speed of light is only so interesting although you can create a more complex lattice by clicking File on the menu bar, selecting New Lattice and choosing the number of points in three dimensions. The real question on my mind was what happened to a spaceship as it approached the speed of light? Luckily, the Light Speed! website also has an objects download which you should also pick up. It contains three additional objects including a model of the starship from Star Trek Voyager (figure 1). To use a different model, just click File and select "Load Object".


Figure 1, "So, what really happens to a starship as it approaches the speed of light?"

One of the more interesting things you can do to extend this bit of (somewhat educational) fun, is to head over to the 3D Cafe at http://www.3dcafe.com where you will find lots of three dimensional models and meshes to experiment with. Don't limit yourself to spaceships though -- a race car approaching lightspeed is also fun to play with. Just keep in mind that only models with a 3DS (3D Studio) or LWO (LightWave 3D) extension will work for this.

Much as it's fun to imagine what really happens under these conditions, what we all really want to do is go flying through space at warp ten while the stars zip by, arriving at some distant world before we can empty another bottle of wine. For just such a trip, get your hands on Chris Laurel's Celestia from http://www.shatters.net/celestia/.

With Celestia, you can tour around our solar system, visit over 100,000 different stars, check out what's happening with various Earth launched spacecraft, and much more. Source is available on the site but there are also binaries for Mandrake, SUSE, and others available. If you can't find binaries for your distribution, never fear. Since this is an OpenGL project, you will need the 3D libraries but the build itself is just another extract and build five-step.

tar -xzvf celestia-1.3.1.tar.gz
cd celestia-1.3.1
./configure
make
su -c "make install"

To run the program, simply call celestia from your the command line or your command launcher. You'll want to know about a few keystrokes right now because they make the experience that much more fun. Pressing the letter L accelerates time by a factor of ten. Doing so puts your travel through space in motion relative to whatever object you have chosen for your point of reference. Pressing K decelerates time should you start going just a little too fast. Pressing Alt+C brings up the Celestia browser from which you can select objects of many flavors. At the bottom of the screen there are four radio buttons. Click the "With planets" button and a list of stars with known planets will appear. Want to visit the planet orbiting 51 Pegasi? Right-click on the object's name, select "Goto" and strap yourselves in for a faster than light trip to this alien world. Once there, right click on the star, 51 Pegasi, select "Follow" and you can watch the planet's orbit as you remain focused on the star.

Keystrokes also let you specify the representation of stars, from tiny pin pricks to fuzzy points to scaled discs. To find out what all the keystrokes do, click Settings on the menu bar and select Configure Shortcuts.

Celestia is a great program to just sit back and explore and well worth the download. Aside from stars and planets, you can visit spacecraft currently orbiting nearby worlds, like the Mars Global Surveyor Try heading for the spacecraft, click on Mars, then select follow (figure 2). Now accelerate time.) A number of major asteroids are also in the database if you'd prefer a trip to Eros.


Figure 2, "Tracking the spacecraft orbiting Mars."

Non, François, Eros is just a chunk of rock orbiting the sun and not the cabaret down the street. While you are busy thinking about things other than work, mon ami, perhaps I could have you refill our guests' glasses. A number of them seem to be getting a bit dry.

If zooming through space at or exceeding the speed of light is enough to turn your stomach, not to mention your face a few shades of green, then perhaps a more down to earth space-based approach is in order. Why not observe the stars and planets from the comfort of you non-moving seat? The best way to do this is with a great program called KStars, originally created by Jason Harris.

KStars is a desktop planetarium program that displays the locations of stars and planets on your desktop. Since KStars comes as part of the KDE desktop environment as part of the kdeedu package, you won't have to go looking too far to get your hands on a copy. Still, you can find the latest on the package by visiting http://edu.kde.org/kstars/ online.

KStars is amazing fun, but much more than a toy. With a database of the planets, 130,000 stars, 13,000 deep-sky objects, the planets and many asteroids, KStars is an astronomical treasure. With it, you can visually identify the position of stars, galaxies, nebulae, and other glories of the night sky. You can control what is displayed, zoom in on objects, and (I love this part), download images from online resources such as Hubble and the Space Telescope Science Institute. Just right click on an object of interest and the pop-up will offer you both additional information and links to high-resolution images of those objects when appropriate. Looking at figure 3, you can see my KStars session pulling up information on the Trifid Nebula.


Figure 3, "KStars can import images from online databases such as Hubble's"

When you start Kstars, it will assume your location as Greenwich, United Kingdom which is probably not what you want (unless of course, you live near Greenwich). Start by clicking Location on the menu bar and selecting Geographic. A dialogue box will appear with a world map. Click an area on the map close to where you live. This will provide you with a list of geographical points in a list to the right of the map. Make your selection and click OK. Should you happen to know your latitude and longitude, you can simply enter that at the bottom of the window.

There is a lot more to KStars than I can include in this short visit. For instance, KStars can control your telescope, locating and tracking objects. Furthermore, if you are into astro-photography, KStars can control CCDs (currently supporting Finger Lakes Instruments devices with others in development).

Mon Dieu! While it may not have happened at hyper-light speeds, it has certainly happened fast. Yes, I'm talking about the clock, mes amis, which is already telling us it is closing time. With talk of moving so quickly, it is at times like this that we can truly appreciate just sitting back under a starlit night, while slowly sipping a little more of this excellent Châteauneuf-du-Pape. Please, do be so kind as to refill everyone's glass one final time, then pull up a chair for yourself and just relax.

Until next time, mes amis, let us all drink to one another's health.

A votre santé! Bon appétit!

Resources

Celestia
http://www.shatters.net/celestia/

KStars
http://edu.kde.org/kstars/

Light Speed!
http://lightspeed.sourceforge.net

Comments