Starting Line – My Mac Magazine #41, Sept. ’98

On September 1, 1998, in Features, by Barbara Bell

I have a hodge-podge of items I wanted to talk about so if it seems like I’m skipping around a bit, it’s only because I am!

Have any of you seen “I Know What You Did Last Summer“? For those of you who have, what do you think of that opening song? Maybe I read too much Stephen King, but the singer sounds like a dead man to me… a dead man who doesn’t yet know he’s dead. At the same time, I find his voice compelling. I could listen to it for hours before burning out.

Finally, we have an ISDN line at work. While I’m not hooked up to it my co-worker is. It’s nice to pretend we’re in the early 20th century!

I recently went white water rafting for the first time in my life. Fun, fun, fun! The river we were on was pretty tame. It was a beginner’s raft trip. Lots of calm water and 10 miles long! Even though, it was pretty nice floating on the water, anticipating the excitement of the upcoming rapids. I am proud to say I did not fall off the boat once, although several of my friends did! And the water fights! I felt like I was in grade school again. If you’ve never gone, I highly recommend scraping together the $$ and taking a couple of days to make a trip. If nothing else, the scenery is worth it.

I recently adopted an abandoned kitten. Someone dropped a box with him and his litter mates into a pond! Fortunately, a friend of my step-daughter found them and we took the most aggressive one of the pack. We figured we needed one with a little spunk to stand up to our Siamese. Boy, did we get what we asked for! What a little fluff-ball of energy! With dark gray, medium length fur and gold-green eyes, he races around the house looking for something — anything — to play with. He’s literally started jumping on the walls just to work off that energy! He’s funny, too. He’s learned how to play fetch better than our Siamese and he pants like a dog when he’s too hot. Not bad for a freebie.

That also brings me to my mini-lecture this month. If you must get rid of some animals, don’t dump them off just anywhere. If you honestly cannot afford the fees the Humane Society charges for leaving animals, then leave them on the Humane Society’s doorstep, on a weekday, so they’ll be taken care of. But what am I telling you for? All Mac people are humane people, right? I knew that we were!

Helpful Hints

HH#55: Easter Eggs – Easter Eggs are neat little messsages or mini-programs planted by software programmers into software. They can be something as simple as the programmers’ names appearing on the screen or as complex as a walking, shooting alien. And, they’re usually discovered by accident since the key commands to find these things are obscure!!!

Let me share one with you. David Pogue mentioned this in a recent Macworld column. If you use QuarkXpress, you can bring up a little multimedia Easter Egg called Quark the Alien. You have three key configurations, depending on which version of Quark you have, so try all three. They are: Command-Option-K; Command-Option-Shift-K; or Command-Option-Shift-Delete. Sit back and enjoy!

If Easter Eggs appeal to you, a good reference book is David Pogue’s The Great Macintosh Easter Egg Hunt (Berkley Books, 1998).

HH#56: Maintenance, Maintenance, Maintenance – There are so many little things you can do to keep your Mac running smoothly. For real maintenance, please read “Tech Tips” and “The Senior Macintosh Center” each month. However, to point you in the right direction, this is the place to start.

If you haven’t already, purchase Norton Utilities, or something comparable. It does nifty stuff like optimizing or defragmenting your hard drive. What the heck is that you ask? Well, first, they’re two different things. In a nutshell, both rearrange your hard drive so related files are closer together which makes things run faster and smoother. Defragmenting is the most efficient, but cannot be done from the startup drive while the startup drive is in use, while optimizing can. But, don’t read too much into it here. Buy the software and glance at the book. As with the vast majority of Macintosh software, Norton is easy to run and does a world of good for your computer.

HH#57: Basic Stuff – Here’s a very basic tip for someone just up on the Mac: the mouse. The mouse and the arrow icon on your screen are related to each other, as I’m sure you discovered. You move the mouse, you move the arrow.

Now, the mouse you receive with your Mac is very simple. It has one button to hold down the drop down menus (although I understand in System 8.0, the menus stay down by themselves!). When the menus are down, you move your mouse down the list. Simply stop when you’ve reached the command you are interested in. That action activates the command. Easy!

Say you just have icons on your desktop and you want to open one. Move your mouse over it and click twice. Voila!

There are also third party mice or trackballs you can purchase. These offer various options such as programming quick saves, quick prints, etc. My personal favorite it Kensington’s Turbo Mouse. It is actually a trackball with four buttons. Although my trackball is old and only has two buttons, they serve me well. One button is used for the click and hold — the same function that the button on the traditional mouse is used for. I programmed my second button for printing. One click and the print menu comes up. Very handy and very quick. (And one more reason that Macs perform better than PCs. My print button is programmed with Command-P and since that command is the same in pretty much any Macintosh program you find, that function always works. Try doing that with PCs. They’ve gotten better, but true standardization is still not a reality.)

The other thing I like about my trackball is I programmed it for a left-handed person. Yes, I’m a lefty! The two advantages here are I can actually use my trackball efficiently and it confuses the majority of folks (right-handed individuals). This discourages them from using my system unauthorized.

On the newer laptops, mouse/trackball input is accomplished via “touch” pads. These are simple in theory: put your finger on the pad and move the arrow! In truth, you need a little practice to ‘finesse’ your movements.

If you’ve never used a mouse or touch pad before, or just purchased a third party mouse, trackball, or touch pad, practice with some games first; games that do not require joysticks or game buttons. I found Solitaire worked for me. Get something simple that you find interesting, and play away. By the time you are burned out on the game, you’ll have that device pretty much under control.

Thanx to Buzz Buzzell for the topic suggestion!

The MacBug Tale: Depending on the volume of responses, this is a new section to the Starting Line. I’ve come across buggy software in my time, as I’m sure we all have. So, why not share? Send in your tale of macbugged software and get a byline in My Mac!

Since this is the beginning, I’ll start: I was forcibly converted to MS Word 6.0.1 some time ago. I love the table function and use it frequently. When I clear large volumes of information from a table, I use the Clear button (located on the numeric keypad). Well, I was creating a bar chart in Word and was working in the data sheet portion that supports charts. I needed to delete a large volume of information from the data sheet. I highlighted what I wanted erased. I hit the Clear button. Instead of clearing what I had highlighted, the entire data sheet was gone, as was my chart!

Granted, you could argue that a data sheet is different from a table and you’d be right. However, the Clear button should have only cleared the highlighted areas, not the entire function! I consider that a bug!

So, send in your harrowing tales of dealing with Macbugs. I look forward to reading them!

Internet Site of the Month: http://www.nowonder.com

Free, reliable technical support? Almost too good to be true. But trust me, it is. It’s staffed by volunteers. That’s one of the ways they are able to keep it free. I did try it, as a test. As promised, I received a reply in 24 hours.

Good computing!


Barbara Bell
pr@mymac.com

Websites mentioned:
http://www.nowonder.com

 

Game Review – Escape Velocity Override 1.0

On September 1, 1998, in Features, by Adam Karneboge

Escape Velocity Override 1.0
Company: Ambrosia Software, Inc.
Shareware: $25.00
http://www.AmbrosiaSW.com

Mike: Ambrosia’s slogan for the release
of their sequel to Escape Velocity was
“Rediscover Addiction.” In my case, it
was discovering addiction for the first time.
I didn’t spend too much time with Escape Velocity when it was first released, but after playing the sequel, I had to go back and see what I had missed in the first installment. I ended up getting addicted to both games at the same time!

Adam: I had never heard of Escape Velocity, let alone played it. However, like Mike, I am now completely addicted to Escape Velocity Override (EV Override).

Gamers new to the world of Escape Velocity (EV) need not worry; both games can be enjoyed on their own, without any knowledge of the other title. Fans of EV will also be glad to know that EV Override contains many of the little touches that made the original game so popular. So Mike, tell us a little about Escape Velocity and its sequel, Override.

Mike: Well, Adam, the original Escape Velocity casted you as the owner of a shuttlecraft in the mid 21st century. Through the process of trading, buying, selling, carrying passengers and cargo, and embarking on special missions, you could earn enough money to buy a new ship, outfit it with your preferred capabilities, and control your own destiny. You could remain neutral in the interstellar war between the Confederate government and the Rebels, or you could take a side and join the war. You could remain a simple merchant and amass a fortune, or you could become a mercenary and accept dangerous missions. You could even become a pirate and make your living plundering other ships.

Override is set 100 years later than the original EV. The Confederate/Rebel war has long since ended, and the human race has reached out even farther into the uncharted vastness of space. In the process, it has discovered new worlds, new technologies, and new enemies. Another war is at hand — against an alien race known as the Voinians. The war is expensive and trying, and some people have become discontent and restless. The universe is torn between interplanetary war and civil unrest, while being on the threshold of exploring amazing portions of deep space and making enormous technological strides.

You have just graduated from the Academy, and are ready to make a future for yourself in space. You have your trusty shuttlecraft — a newer model than the one featured in the first EV game — and 10,000 credits with which you start to make your fortune. Will you become a merchant? A trader? A fighter pilot in the war? A rebel or a pirate? An explorer into uncharted space? As the saying goes, the choice is yours…

Adam: That choice is not always easy or clear, especially at the start of the game. It’s easy to become overwhelmed playing EV Override, since the universe is so vast and there are so many things to do.

Mike: You can land on planets and browse the mission computer while having a drink at the local bar. You can hail other space ships and trade greetings and tips. You can fight battles, hire escorts to aid you in your travels, board and search disabled ships, or gamble for more money. Best of all, your actions have effects on the rest of the game: complete a mission successfully, and you will gain favor with your employer, increasing your chances of more exciting and better paying missions. If you mess up, or if you do something to upset the government, you may find yourself in hot water when you try to return to certain planets.

Adam: Gaining extra credits also means increasing your chances of survival. After hyperspacing into a certain system, especially ones farther away from Earth, you will jump directly into battles, and ships will attack you, even if you don’t fire on them. With extra credits, you can buy missiles, rockets, or even new, more powerful ships to combat these unexpected attacks.

Mike: EV Override is very nonlinear, offers a little bit of everything, and is a blast to play. The universe is five times larger than the original Escape Velocity universe, there are all new ships and weapons to try out, and plenty of new subplots and inside jokes to enjoy. It’s a little unfortunate that the user interface wasn’t expanded or improved a little bit; hailing a ship or going to the bar brings up the same old (somewhat boring) dialog boxes as they did in the original. Not to say that’s bad, but it definitely lends a slightly dated feel to this otherwise fresh, brand new game.

One thing that has expanded along with the EV universe is the RAM requirement. EV used 6.5 to 8.3 Mb of free RAM, but the sequel wants at least 12.5 Mb. A little hefty, and be warned: the more physical RAM, the better. I experienced a little slowdown and occasional freezes on my ’040 LC 575 with 8 Mb RAM and RAM Doubler enabled. However, on my PowerBook 1400 with 64 MB of RAM, it ran flawlessly.

Adam: Good advice, Mike. Also expanding in the sequel is the shareware fee, from $15.00 in the original to $25.00 this time around. But when you’re addicted, no amount of money will stop you from playing, and asking $25.00 for this top-notch game is not unreasonable.

Requirements/Availability
Escape Velocity Override requires an 8 bit (256) color screen that is 13″ or larger, and it recommends a ’040 or PowerPC processor, but judging by the way it played on Mike’s old computer, I recommend a PowerPC.

You can download Escape Velocity: Override from the Ambrosia Software website, at http://www.AmbrosiaSW.com, or from download.com, at http://www.download.com.

The Summary
Mike: For fans of science fiction and adventure, and EV veterans, Override provides an immersive experience that does nearly everything right. For newcomers to the genre and gamers who have never tried EV, Override should be a pleasant surprise. Ambrosia has really outdone itself this time around — it definitely is time to “rediscover addiction”.

Adam: When a shareware game comes out, the way to really judge it is not by its graphics, sound, or even storyline; it’s by the degree the game has you addicted, and EV Override has me addicted 100%. Whether you’re rediscovering or just beginning, chances are you’ll enjoy Escape Velocity Override.

  • Download Escape Velocity Override 1.0 
  •  



    Mike Wallinga
    mikew@mymac.com

    Adam Karneboge
    webmaster@mymac.com

    Websites mentioned:
    http://www.AmbrosiaSW.com
    http://www.download.com

     

    FileMaker 101 – Part 6

    On September 1, 1998, in Features, by Fenton Manavesh Jones

    An introduction to relationships

    First of all I must apologize for leaving out a step in the script in last month’s article. Without it the script will just execute without letting you enter anything — not real useful. It should read:

    Go to Layout ["SearchandReplace"]
    Set Field ["AdamgSearchFor", """"]
    Set Field ["gReplace", """"]
    Pause/Resume Script [ ]
    Set Field ["Field Name,"Substitute(Field Name, FieldToSearch g, FieldToReplace g)"]

    The step would also be needed, in the same relative location, if you use the Replace step (by calculation, Substitute function) instead of the Set Field (by calculation, Substitute).

    The Replace function also requires that the field you are replacing be on the present layout. If you want to run the operation on several fields in the found set of records, then put each of them on the layout. You can use the same two global fields (FieldToSearch g, FieldToReplace g) for all of them. If you only want to run it on one field at a time, make a separate button to run a Replace script (specifying that field) next to each field. To do all the fields at once just put duplicate Replace steps, each specifying a different field on the layout, one after the other in only one script. Then you only need one button (obviously).

    As you can see, Set Field and Replace are similar. The first operates on one record at a time. It can be scripted to act on several records with the Loop step (later), but it still only operates on one record at a time. Replace does all the found records at once and is very much faster.

    The above script could also include the Go To Layout [original layout] as the last step. That way you can call the same script from different layouts and return; just like a word processor.

    Disclaimer:
    I knew mistakes, especially those of omission, could happen as soon as I began including scripts. As you may know they are a bit of a pain in the butt to copy out of FileMaker (requiring separate software to do so). Next time, though, I will take the trouble.

    On the positive side, it shows one of the great strengths of the program, in that you are able to build the scripts from menus rather than having to type them in, as I’ve heard is common in other databases. You can imagine how much fun that would be, and see an example of the likely results in my mistake.

    On to this month’s topic.

    Relationships. You can live without them, but you’ll be limited. FileMaker 2 was a “flat-file” version, but v.3 and 4 are “relational.” Since I began with v.3, I learned to use them right away, though I must say I sometimes find them a little confusing.

    Relationships allow one file to read from and write to another, either copying the data, or just referencing and displaying it. The files are linked together by two fields, one in each file, which contain matching data. The most common fields to use are ID numbers. This way you know for certain they are going to be the same; names are less certain because of mistyping and spelling errors.

    The basic relational concept is that each file should only have to contain one basic type of information, then be linked to other files containing other types. For instance, people would be in a “Contacts” file. Jobs that you are doing for them would be in a “Jobs” file. In the Contacts file you would have a field “Contact ID,” an auto-entered serial number (text in my files*). The Job file would also have a Contact ID field defined, as a simple text field (this is in addition to its own job serial ID field, which would be an auto-entered serial number). Multiple jobs for the same person would have the same contents in the Contact ID field.

    (* I use auto-entered text serial numbers, with added zeros in front (0001, 0002). You can add a letter in front as well (C0001). The zeros let them be sorted properly. The reason for text rather than numbers has to do with the 255 character limit of number fields. There are some occasions when you have many IDs in one “multi-key” field, separated by returns (for “many-to-many” relationships, later); a number field can’t handle returns, either.)

    The names of the clients could then be displayed in each record of the Jobs file without having to retype them. To do this (in the Jobs file), enter Layout Mode and simply drag the Field Tool off the Status Bar and place a field on the layout. When prompted for the field name, you have to drag down to the bottom, to “Define Relationships.” A dialog box pops up, with a list of all previously defined ones (none in this case). Hit the New button. The standard file open dialog box will appear, allowing you to choose any file on your hard drive to relate to (including the present file). In this case you’d navigate to and choose the Contacts file.

    Now you’ll get another dialog box with two lists of field names. One is from the file you’re in, the other is from the file you’ve related to (the file names are shown at the top). In this case you’d highlight Contact ID in each list, and say OK, then Done in the next dialog. Your original Define Fields dialog box will reappear, but now it will show the name of the new relationship on top, with the fields from the Contacts file.
    Each one will have the :: (double colon) in front to show that it’s from a related file. Scroll down and choose LastName or Name (name of the contact; calculation, text, First&” “&Last). Now their names will appear on every one of their Job records, without taking up any disk space in the file, if their ID numbers are filled in.

    In order for files to pass information both ways, each needs to have the relationship defined. So create a similar relationship (Contact ID::Contact ID) in the Jobs file, pointing back to the Contacts file. You can do this from the File Menu, Define Relationships… You’ll get the same dialog box as earlier.

    Getting the right Contact ID number into the ID field is another operation. One fairly direct method is to have a field or fields from the other file appear on the main file’s (Contacts) layout in a Portal. Just use the Portal tool to draw a box. Choose the ID relationship to base it on, with one addition: check the “allow creation of related records” box at the bottom of the relationship editing dialog. You’ll have to drag down to “Define Relationships” to reopen the dialog again to see those boxes.
    As you can see, this dialog is available from anywhere that you could be using a relationship, even in Value Lists (later); very handy.

    By the way, I’d stay away from the “allow deletion of related records” button until you completely understand it (I don’t). It can allow the deletion of a whole lot of records from several related files very quickly, the dangerous “cascading delete.”

    Put the Job Name field (from the Jobs file; based on the ID relationship) on the top row of the portal, within its borders, as well as the ID field (it can be hidden behind). Now all you have to do (in Browse mode) is start typing a new job name in that field on the blank bottom row of the portal. A new record will now be created in the Jobs file with the proper ID numbers.

    In fact you don’t really need the portal, just the field from the other file on the layout. The portal is needed if you want to see fields from several records in the other file, such as several jobs for one contact (a one-to-many relationship).

    Another way would be to create the new record while in the Jobs file and choose the ID from a pop-up list of the IDs in the Contact file. You’d need to have the names also appear, or the numbers wouldn’t make much sense.

    You can create a Value list showing both fields. Go to Layout Mode. Select the ID field and choose Field Format (Command-Option-F). In the dialog box, click the radio button for Pop-up list or Menu. Drag the unknown value list box down to the bottom, to “Define Value Lists…”

    Now you get another dialog. Type a name for the list, such as Contact ID, click Create, then click the button at the bottom, for Use Values from a Field. In the next dialog box, hit Specify File and find the Contacts file. Find the ID field. Then check the Also display values from:, and choose Last (name) from the field list. Save the darn thing. Back in Browse Mode, create a new record and click in the Contact ID field. The numbers will drop down followed by the last names, so you can see which to pick.

    You can also use relationships within a single file, a “self-relationship.” This is a very powerful tool, allowing you to quickly link records. Even on a simple level it allows you to perform operations that normally would require a find. The concept is much like a relationship between two files, but in this case you choose the same file you’re already in. Not only that, but you often choose the same field in the two lists (one will have the double colon in front). You’re basically saying that “this” equals “this” rather than “this” equals “that”.

    In the case above, if you created a self-relationship in the Jobs file, based on the Contact ID field (in the Jobs file on both lists), then you could quickly find all jobs for a contact with a single step, attached to a button.* The step is Go to Related Record, Specifying the Self Contact ID relationship, with Show only related records checked. One main advantage you’ll notice right away over a Find is that it’s much faster.

    (* A transparent button over the name works well. Do it on a list view layout where you don’t need to edit that field. It will overlay each name and magically find their records when clicked.)

    Of course, this navigation step also works between two related files. Establish the relationship between them from each file in order to quickly jump back and forth between related records in different files. Put a small button on the Portal row, next to the name field. It will appear on each row. Click it to go to the Job file. It will take you to all Job records for that person, initially showing you the one you clicked on.
    You could also use a transparent button over the name, but then you couldn’t type in the portal; it’s best used on portals that don’t have the “create related records” checked.

    This technique works well when you only have one portal on a layout. If you have more than one portal, then additional steps are necessary to tell FM which portal to go to. I’ll get to that later, as it requires a multi-step script and a global field.

    You can return from the Job file by displaying the Contact name in the Jobs file (put the field on the layout via the relationship, as mentioned earlier). A transparent button over the name, with the step Go to Related Record, will bounce you back to the Contact file.

    You can also use self-relationships in calculations of many types. A simple one is to find out how many records have any particular ID. First create a Calculation field, of type number. In the Options dialog, choose Count(field) from the Aggregate functions (in the drop-down list on the right).

    Select the word “field,” then hold down on the box above the fields (on the upper left) and choose the Self Contact relationship (it will then show in the box instead of “Current file”). Scroll down to the Contact ID field and double-click it. The calculation should end up looking like Count(Contacts::Contact ID), assuming you named the relationship “Contacts.” The field will now display the number of jobs this person has, updated when you add one.

    If there is a simple number field on a Job record, such as a cost amount, then a similar Calculation field, using the aggregate Sum function, with the cost field, rather than the Contact ID field, in the formula, will give you the total cost per contact.

    Summary or summary calculation fields will also give the same answer, but with this major difference: they depend on the contacts being the only found records, or on sorts in Preview Mode, whereas the self-related field will always contain the correct value. It can be referenced and used in other calculations, even in other files.

    One downside to this cross-file referencing, however, and of relation-based calculations in general, is that a calculation based on a relationship can’t be indexed. If you use several of these on a report or list, display will slow down considerably, as each one must be recalculated.

    As I mentioned once before, if you change any field on which a calculation is based into one based on a relationship, FileMaker will de-index all fields which depend on it. Even if you change it back, they will stay unindexed. You have to manually go into the Storage choices and uncheck the “do not index” box on each one. If you, like me, mess around with relationships and calculated fields while trying to make something work, it’s a good idea to check the Field Definitions occasionally to see if you’ve changed up one of your regular calculated fields to “Unstored.” A dialog box will stop you if it’s not OK to change it.

    While learning about relationships and calculations I’ve found it helpful to have one column layout for experimentation. I put fields based on the relationship(s) across it, change things around, and see what happens. It’s a good way to see what works and what doesn’t. It’s also a good way to cause the de-indexing problem above, hence not recommended in the working copy of your database. But you’ll never learn much unless you experiment. Don’t worry, it’s very difficult to crash FileMaker or cause unfixable problems. I should know.

    Oh, I almost forgot. One last little kink. Sometimes in scripts if you create a related record or reset the key field, then immediately use the step “Go to related record,” it doesn’t seem to work. Nothing’s wrong. Just add the step “Exit Record” right after the creation step. It lets FileMaker process the new key, then everything works fine.


    Fenton Jones

    Fenton Jones is a FileMaker database designer and consultant, based in San Diego, CA. FileMaker is a cross-platform rapid-development tool for affordable relational databases. If you have need of a FileMaker Pro expert, please be sure to visit his home page at http://www.fentonjones.com

     

    Looking for something?

    Use the form below to search the site:

    Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!