LJ Archive CD

A Taste of the World

Marcel Gagné

Issue #86, June 2001

Marcel and his faithful assistant offer their usual unique spin on this month's feature topic.

François, mon ami. I take it from your smiling face you have completed your menu suggestions. I must tell you, mon ami, I was a little worried about letting you do this. It is not easy for this chef to let his waiter come up with the recipes for an entire issue, non? Come here, and let me see what you have chosen.

Mon Dieu! As I have told you many times, mon ami, you are a wonderful waiter, but sometimes...to tell the truth, mon ami, you do not know what is meant by “internationalization and emerging markets”, do you? Aha, I did not think so. Why did you not ask? Well, for one thing, emerging markets does not refer to stocks. François, why are you not paying attention? What are you looking at?

Ah, mes amis. Welcome to Chez Marcel. Please, sit down. Be comfortable. I will have François fetch some wine, immédiatement. François, since we are talking about the world, why not offer nos amis a taste of Tuscany. Please, bring up the 1990 Olmaia from the cellar and do not fret, all will be well.

Non, mes amis, do not worry. It's just that François wanted to come up with the menu for this issue on internationalization and emerging markets, and I fear he should have asked what those terms meant. He does have some interesting items on the menu, even if his understanding is a bit off. To start with, he has come up with a wonderfully simple little stock ticker program written by Tom Poindexter. It is a Tcl/Tk program and requires version 8.0 of Tcl/Tk or later. Other than that, it is a breeze to set up. Start by getting the latest source from www.nyx.net/~tpoindex/tcl.html#Tclticker, and unpack it in a temporary directory. There is one other small thing I should mention. You must have an internet connection since that is where the information comes from, non?

tar -xzvf tclticker-1.2.tar.gz
cd tclticker-1.2

Since this is a Tcl script, you do not need to compile anything. In fact, you can use this as an example to explore Tcl programming. By default, the program keeps its information in the /lib directory directly beneath the home of the executable. Knowing that, I run the program right from where it was extracted.

./tckticker &

Figure 1. Keeping Track of Your Stocks with TckTicker

Wonderful, non? And so simple. To add (or remove) stocks or indexes from the list you are watching, simply click on the ticker and a Set Parameters window will appear with a list of stock symbols that you can easily modify. There is even a simple symbol lookup for when you know the name of the company but nothing else. You can also change the speed at which the information scrolls past with this parameters window.

If you are running KDE as your desktop manager, you could actually have a constant source of information and news as your desktop background itself. Right click on the desktop, and then choose Configure Background. Now, look at that Background tab. You should see a drop-down list, and in that list you should see an option for Background Program.

While you are here, check out the kwebdesktop background program. This (temporarily) brings us back to François' thirst for news or stocks. Click Modify and look at the Command definition:

kwebdesktop %x %y %f http://www.kde.org/

What this will do is display a specific web page on your desktop. You could decide on a page other than the KDE site. Perhaps a national news web site or a financial information page, non? While the KDE page is wonderful to look at, sometimes it may be more valuable to keep track of those volatile investments.

Stocks or emerging markets were not the only thing on François' menu. Non, he decided that some internationalization was in order. Since he does not get out much, I am sorry to say, he decided to do his exploring from his Linux desktop, taking advantage of the Mesa 3-D or OpenGL libraries. In fact, the next two items on the menu both require 3-D libraries to be installed. He started with a wonderful visualization tool called Xplanet, created by Hari Nair.

Xplanet is inspired by the xearth screensaver program. It makes use of photo-realistic images that can be obtained from various sources. The package comes with a couple of NASA images that are quite nice, including an “Earth by night” image that is both breathtaking and frightening—breathtaking because it is so beautiful, but frightening to those of us who still like the idea of doing a little stargazing. Speaking of stargazing, the program allows you to map other spherical maps as well. From the Xplanet web site, there are links that will show you where to get different views of this planet and others. Xplanet works in a screensaver mode, as a background for your desktop, and it is dynamic.

Figure 2. Xplanet

Start by picking up the latest source from the Xplanet site. Then, extract it into a temporary directory:

tar -xzvf xplanet-0.80.tar.gz
cd xplanet-0.80
./configure
make
make install

What François particularly likes is the fact that you can use Xplanet to explore the planet. For this to work, your system must have the Mesa 3-D libraries installed. If you call up the program in the following manner, you can start on your journey:

xplanet -animate
You should find yourself looking at a nice rotating globe of the Earth. Using the Home and End keys allows you to zoom in and out. The left and right cursor keys let you play with the rotation of the planet, while the up and down keys change your viewing angle. It's all very cool.

In terms of using the program to explore, Xplanet also comes with a nice Tcl interface called tkxplanet to let you change the look, size, projection and so on, of your world. You can generate the desktop or simply run the projection of your choice in a window.

To run Xplanet as a background, you should be aware of some differences depending on the desktop that you are running. Different desktop managers treat their root windows differently. With Window Maker and GNOME, for instance, all you have to do is decide what kind of a view you want and enter it at the command line—like this:

xplanet -moonside

This will give you a nice background of the Earth as seen from the Moon. If you try this with KDE 2.1, you might find that nothing happens. That's because the control of the desktop is dealt with somewhat differently, and this is where you define your dynamic background. You might even notice that there is already an entry for Xplanet. I took the original definition and modified it to give me a different view of the world. Here's the program definition from mine:

xplanet --geometry %xx%y -observer 49,60 --output %f.jpg && mv %f.jpg %f
What happens here is that the Xplanet program generates the map, which is then saved to a background image, which is then written to the desktop. The default refresh rate of ten minutes can be modified to suit your tastes.

For a nice 3-D visualization, we did have an additional option on tonight's menu. Those of you who own your own personal handheld GPS unit (global positioning system) may find this particularly interesting. GPS3D is a system that lets your Linux system communicate with the GPS to pinpoint your location on the planet, superimpose downloaded maps on that same 3-D globe of the Earth, map waypoints and view satellite trajectories. Currently, the program only works with devices that support the NMEA series of protocols (National Marine Electronics Association). To get your copy, head over to http://www.mgix.com/gps3d/. Then, extract and build the program from source (although binaries are available):

bunzip2 gps3d-1.16.tar.bz2
tar -xvf gps3d-1.16.tar
cd gps3d-1.16
make
make install

The package includes a few programs, one of which is a d<\#230>mon that listens for a serial-connected GPS device and rebroadcasts the information to wherever you want. (Do you want the world to beat a path to your door?) The included program that interests us the most today, however, is called viz, and you can also guess what it does, non?

./viz &
The great thing about this program is it provides some fun for those who do not have their own GPS unit, by displaying a 3-D globe that one can navigate, zoom in and out of and so on. While it sounds like it would be much more fun with a GPS, this is still a fascinating program and a good one to watch (see Figure 3).

Figure 3. GPS3D lets you pinpoint your location on the globe.

Perhaps one of the best ways to get to know how this world works is to try running it yourself, non? At least, that is what François thinks, based on the last item on his menu. Before you run out the door and try to have yourself elected dictator somewhere, why not relax and let my ambitious waiter pour you a little bit more wine. I am not talking about controlling the real world, but something better. A world of your own making. A world where you can start from nothing and build entire civilizations.

You may already be familiar with another version of this game. I must tell you right now that Freeciv is a different beast and worth your attention. The game can be played across a network with up to 30 different players. If your skills at world conquest are as good as mine, you may want to first play a few games on your own. I tried very hard to build the “Despotism of Canada” and failed on several occasions, even though I populated my capital city of Ottawa with scientists (Figure 4). Imagine.

Figure 4. Marcel tries to build the Despotism of Canada.

If you think you can do better than this chef, I invite you download your own copy of Freeciv (http://www.freeciv.org/) and begin building your empire by building the code:

tar -xzvf freeciv-1.11.4.tar.gz
cd freeciv-1.11.4
./configure
make
make install

It is all very easy. While this is all happening, why not try the crème brûlée. It is positively transcendent tonight.

The game consists of both a client (civclient) and a server (civserver). You start by running a server and waiting for connections. The server itself is a text screen with a command prompt. A number of options can be set here, such as the size to which a city must grow before the people start becoming unhappy, or for that matter, how much food is required for the city to grow.

Players must start their client by typing civclient. The next step is to choose a country and the name of the person who will lead this country. If you have always dreamed of being Hannibal and running the Carthaginian world, or Napoleon in France, then this is your big chance. When you have enough players (one is sufficient), you can start the game by typing start at the civserver prompt.

Explore, expand, build, invade. Let Chef Marcel give you a tip though. Too many scientists tend to work out better than too many Elvises. Who would have known?

For those of you who feel a sense of déjà vu, you are no doubt thinking this sounds an awful lot like a complex version of a very old game called Hammurabi. For fun (and nostalgia), I decided to see if I could find this ancient wonder of the gaming world. I located it at ftp.sco.com/skunkware/src/games and compiled it on my Linux system. This is a single source file called hammurabi.c, and you can compile it like this:

cc hammurabi.c -o hammurabi

You can execute the resulting binary by typing ./hammurabi. The result is something like this:

HAMMURABI . . .
    BUY HOW MANY ACRES?20
 *  YOU ARE BUYING 20 ACRES.
    HOW MANY BUSHELS SHALL WE DISTRIBUTE AS FOOD?2000
 *  YOU ARE DISTRIBUTING 2000 BUSHELS.
    HOW MANY ACRES SHALL WE PLANT?1000
--> HAMMURABI! THINK AGAIN -- YOU ONLY HAVE
--> 100 PEOPLE, 1020 ACRES, AND 420 BUSHELS
        IN STOREHOUSES.
    HOW MANY ACRES SHALL WE PLANT?
Perhaps I had better stick to the restaurant business, non? My attempts at ruling even a make-believe world have been nothing short of disastrous. Still, they say practice makes perfect. Why don't you all log in, mes amis, and show me how it is done? And, never fear François, you did a wonderful job with your first menu. Now, refill our guests' glasses one last time before we close for the night.

Mes amis, thank you for coming. Until next time, please join us here at Chez Marcel. Your table will be waiting. Of course, I may handle the next menu myself.

A votre santé! Bon appétit!

Resources

Marcel Gagné lives in Mississauga, Ontario. In real life, he is president of Salmar Consulting Inc., a systems integration and network consulting firm. He is also a pilot, writes science fiction and fantasy, and is coeditor of TransVersions, a science fiction, fantasy and horror anthology. He loves Linux and all flavors of UNIX and will even admit it in public. He is the author of Linux System Administration: A User's Guide, coming soon from Addison Wesley Longman. He can be reached via e-mail at mggagne@salmar.com.

LJ Archive CD