Starfish Banner

version 2.0

July 6, 2003
Copyright 2003 M. Scott Marcy
Original Starfish engine copyright 1999-2003 Mars Saxman
Altivec enhanced Starfish engine copyright 2001-2003 M. Scott Marcy

About Starfish

StarfishX is a Mac OS X-native application which generates cool desktop patterns. It is based on Mars Saxman's Starfish pattern generation engine. The following are a few of the highlights of StarfishX:

  • Mac OS X native cocoa application.
  • Altivec-enabled and multi-threaded to take full advantage of today's dual (and single) processor G4 PowerMacs. (There is also a version of Starfish X which will run on a G3 Macintosh, although it's much slower).
  • Support for multiple monitors (you can generate a different pattern for each monitor connected to your computer).
  • Support for both TIFF and JPEG image files.
  • Option to quit StarfishX when all patterns have been generated. (Perfect for use as a startup item!)
  • Keeps track of recently-created patterns so you can go back to that really cool pattern StarfishX created yesterday.
System Requirements
  • Any Macintosh running Mac OS X 10.2 or later.(See below for links to Mac OS 9 and Windows versions.)
  • The Altivec-enabled version of StarfishX requires a Macintosh with a G4 or later processor.
  • StarfishX-G3 will run on any Macintosh which supports Mac OS X 10.2, but it will run much slower than the Altivec-enabled version.
  • About 1MB of hard disk space for the application, and upwards of 5MB of hard disk space for each full-screen TIFF image. (This is why there's an option to use JPEG images, and smaller patterns use significantly less disk space.)
Cost

StarfishX is FREE!

StarfishX and it's source code are released under the GNU General Public License.

Samples

You can see some sample patterns created by Starfish here, here, and here.

You can also check out more samples at Mars Saxman's Starfish Samples page.

James G. also has a nice collection of patterns on his site.

Finally, here's a screen shot of StarfishX in action.

Download

  Download StarfishX 2.0 (435KB)
   (Altivec-enabled for G4 and later computers)
  Download StarfishX-G3 2.0 (435KB)
   (For G3-based computers)

What's new in version 2.0

You can download the StarfishX 2.0 sources from the Starfish project page on SourceForge.net.

Other Operating Systems

Starfish is also available for:

  Mac OS 8 & 9
   (by Mars Saxman)
  Windows 98 and later
   (by John Kale)

Credits

First and foremost, 99.99% of the credit belongs to Mars Saxman, who wrote the original Starfish program and made it open source. Without him and his generosity, you and I wouldn't have StarfishX today!

In addition, I'd like to thank my beta testers for helping me to find and fix bugs before I release StarfishX publicly: Todd S., Dan W., John B., Bwass, Elbert W., Trevor M-L, and James G.

Big, huge thanks to James G. for a new web design! Sure beats the old one. Also, check out his archive of starfish patterns.

Thanks to Bwass for the French translation of StarfishX!

Frequently Asked Questions

Here are the answers to some frequently asked questions:

Q. StarfishX seems to generate a pattern, but it doesn't appear on my desktop. What's wrong?
A. If you have your Desktop system preferences set to "Change picture: every...", the patterns generated by StarfishX won't be shown on your desktop. Just disable this option and you should see the pattern last generated by StarfishX.

Q. How do I remove a pattern installed by StarfishX?
A. Simply open System Preferences, select the "Desktop" pane, and select a new pattern/picture. You may also want to delete the image file(s) generated by StarfishX. These are stored in your Home directory, in the Library/Desktop Pictures folder.

Q. How do I remove StarfishX from my system?
A. Simply drag the application to the Trash. If you also want to remove the pattern installed by StarfishX, follow the instructions above.

Q. How come it's so slow? I thought Altivec was screaming fast?
A. Altivec can be screaming fast, and using Altivec to generate patterns is 4-5 times faster than not using it. However, each pattern StarfishX generates is random, and some patterns are much more complicated that others. Also, if you're using the random size option, a larger pattern will take longer to generate than a smaller pattern (that's one of the reasons for the "Random (no full-screen)" size option--full-screen patterns can take a very long time to generate).

Also, since Mac OS X is a multi-tasking operating system, any other processes you have running at the same time will slow down StarfishX. This means that using StarfishX at login time with a bunch of other login items will slow StarfishX down (and StarfishX will slow the other processes down, too).

Bottom line: you should expect a fairly wide range of pattern generation times when using StarfishX (especially if you're using random pattern sizes).

Q. Why can't I use both the "Quit when pattern complete" and "Generate new pattern every n minutes/hours/days/weeks" options at the same time?
A. Because StarfishX can't automatically generate new patterns are specified intervals unless it's left running. You can use the "Minimize while waiting" option to make StarfishX be as unobtrusive as possible while it's waiting to generate the next pattern.

Q. What happens if I quit StarfishX while it's waiting to generate a new pattern?
A. StarfishX will remember the time the next new pattern is supposed to be generated and will resume waiting until this time the next time you launch StarfishX. If that time has passed when you next launch StarfishX, it will create a new pattern immediately upon launch.

Q. StarfishX recently generated a pattern which I think is really cool. I want to try using a different palette (and/or pattern size). How do I find the seed value for that pattern so I can set StarfishX to use this seed value again?
A. Select the pattern you like in the recent patterns drawer. The seed value used for this pattern is the first number in the pattern's file name, and when you select a pattern, the seed value is the last part of the information displayed under the large preview. To set the seed value StarfishX will use for the next pattern created, make sure the controls drawer is open and enter this seed value in the "Next seed:" field. As a shortcut, you can simply drag the pattern from the recent list to the "Next seed:" field. (See the FAQ item below about random palettes/sizes with constant seed values.)

Q. When I select the "Use constant seed value" for the Random Seed option, the pattern created is exactly the same each time, even though I've selected to use a random size/palette.
A. Yes, this is exactly right. This is what it means to use a constant random seed--you get the exact same random numbers (and therefore random size/palette) each time. You can manually change the size and/or palette popups to generate the same basic pattern at a different size or with a different set of colors. But the "random" options will always be the same for the same seed value.

Q. I don't see any seed value listed for some of the patterns in my recent list. Why?
A. Two possible reasons: 1) The window may just be too small to display all the informational text about the selected pattern. To solve this, just drag the window bigger. 2) Patterns created with versions of StarfishX prior to 1.5 did not record the seed value used. Therefore, these patterns have unknown seed values. Unfortunately, there is no way to re-create patterns created by versions of StarfishX earlier than version 1.5. Fortunately, StarfishX will undoubtedly create more cool patterns in the future. :-)

Q. I gave a friend the seed value for a really cool pattern StarfishX created for me, but when he tried it he got a different pattern. Why?
A. There are several possible reasons for this. First, if you are using different versions of StarfishX, it's likely the seeds aren't compatible between the different versions. (StarfishX 2.0 uses an entierly different pattern generator than StarfishX 1.x, and so will generate completely different patterns for the same seed values.)

If you are both using StarfishX 2.0, you should check to make sure your friend is using the same "Arrange" setting as you used. (Tiled patterns will be very different from patterns which are not tiled.)

Another possible reason is because you each have different palettes defined. If either of you have added or removed palettes (or edited any of the initial palettes), you may get different results even though you both use the same seed value. You should also tell your friend which palette you used and have him specifically select that palette before having StarfishX create the pattern. If your friend doesn't have that palette, he won't be able to create the exact same pattern (although he should get something similar).

The final possibility is that you two are running different versions of OS X. It is possible that Apple might change the implementation of the random number generator that StarfishX uses, leading to different random numbers and therefore different patterns for the same seed value. This is probably not very likely, but it IS possible if you are not using the same exact version of OS X.

(We're well aware that random seeds are a very "fragile" way of specifying a pattern and we're working on a way of improving this in the future.)

Contact Me

Feel free to email me with any questions or comments.


The background pattern for this page is:
Last updated April 13, 2005