Update: For a later version of this guide, see http://gmmug.org/dnetc_primer.shtml.
(original article follows, but see above link for latest version)
First, learn about distributed.net here:
http://n0cgi.distributed.net/faq/cache/1.html
Now that you're ready & want to do it, download the client here:
http://www.distributed.net/download/clients.php
Note that there is only one Mac OS X/Darwin version listed on this page; my instructions refer to this version. This version of the client will run on 10.2.x ("Jaguar") or 10.3.x ("Panther").
Macs which are capable of running Jaguar or Panther include all models officially supported by Apple, plus any machine that X Post Facto can shoehorn it onto (7200, 7300, 7500, 7600, 8500, 8600, 9500, 9600, a few others; information and download available at Other World Computing). For Jaguar or Panther to be installed on these models, a G3 or G4 CPU upgrade is MANDATORY, along with enough RAM and hard drive space. For what it's worth, a G4 does WAY better at RC5-72 than a G3; keep this in mind when deciding on a CPU upgrade :-)
Some models of older PPC Macs (those with a 603 or 604 CPU) can run OS X 10.1.x (again, use X Post Facto to install 10.1 on these machines; information and download available at Other World Computing); then, you can run a slightly older version of the client which CAN do the RC5-72 project. That older version of the client is available here:
ftp://ftp.distributed.net/pub/dcti/v2.9005/dnetc484-macosx-ppc.tar.gz
I believe this is the LAST (most current) version that supports 10.1.x.
There are older versions of the client available for older Macs, but these older versions (for pre-OS X PPC or 68k machines) do NOT do the RC5-72 project (they are only able to do the OGR project); for this reason, running dnetc on any machine NOT RUNNING OS X is of no value for the RC5-72 project.
Double-click the downloaded file to expand it (note that some browsers are set so that this happens automatically). in any case, you'll end up with a folder named something like dnetc486-macosx-ppc. Place this folder wherever you want to keep it.
Open a Finder window & navigate to the directory that contains the dnetc folder (wherever you just put it). Leave this window open.
Open Terminal. At the prompt, type cd and a space, then drag the dnetc folder (from its Finder window) onto the Terminal window &let go (of course, you have to have the two windows arranged so you can see them both). You should now see the path to the dnetc folder listed after the cd and space you typed. Press return. Note your prompt now has the entire path to the dnetc folder in it.
First, look at the "help" menu for dnetc so you can get an idea of some of the different options available with the client. Type
followed by return. You could even print the page to have it available.
Now we'll tell the client who you are. Since this is the first time the client has been launched, the configuration menu will appear. Type
and hit return. The instructions tell you that you have not provided a distributed.net client ID. To do so, choose option 1 (General Client Options) & press return. Choose option 1 (Your email address (distributed.net ID)) &press return. At the prompt "New Setting -->", type your email address &hit return. Then it's option 0 &return (to return to main menu) and option 0 & return (to save settings & exit).
Next, we'll install the client in such a way that when you boot up, it will start automatically. So now type
followed by return. After it says it's been installed & will start at boot, reboot. If everything has worked, the dnetc client is now running. To check it, launch Process Viewer (in Jaguar) or Activity Viewer (in Panther) & you should see a process called dnetc taking most of the CPU cycles. Once you've verified this, quit Process/Activity Viewer.
Launch Terminal. change your directory to the folder containing your dnetc client (as you did above). Type
followed by return. Now, in the Finder, open the dnetc folder and note the presence of a file called dnetc.ini. Double-click it; it should open in TextEdit. You should see something like this (this is part of the .ini file on my G5; depending on other options you've set, there could be MANY lines present):
[parameters]
id=johnsmith@bresnan.net (Whatever your email address is..)
[misc]
project-priority=OGR=0,RC5-72
Again, both of these items may not be there (or there may be other items in addition to them), but your email address will be there.
In any case, DO add the following, as its shown in the above example:
[misc]
project-priority=OGR=0,RC5-72
Be SURE that what you put in is EXACTLY as shown above, down to capitalization and punctuation and lack of spaces. Copy & paste it if you want. This will tell your client to ONLY work on the RC5-72 project & NOT to work on the OGR project. Don't add anything else.
Now save your changes & quit TextEdit. Please note that you could have also set these options by launching dnetc with the -config option (./dnetc -config); its Option 2 (Buffer & Buffer Update Options) followed by Option 9 (Load-work precedence).
Switch back to Terminal (assuming you left it running) and type:
followed by return. Read the interesting text that came up as the client started. Then quit Terminal. You will see a warning that dnetc will be terminated. It won't be, just quit Terminal.
Assuming you're running the client on a desktop machine (I'm not sure I'd want to put a laptop through constant 100% CPU usage, but you can if you want. AppleCare is a wonderful thing), launch System Preferences & click on the Energy Saver pane. Set the slider for "Put the Computer to sleep.." to Never (all the way to the right). Set your monitor to go to sleep whenever you wish; it is not necessary to set it to never. Leave the "Spin down hard drive" check box checked.
Now you just have to forget about things for awhile. Remember to NOT shut off your computer or put it to sleep; don't worry, it won't break! (You DO have a backup strategy just in case, right?) In a couple of days, your distributed.net ID will be up on their servers (it took more than 2 days for mine to show up). So after a couple days, go here:
http://stats.distributed.net/projects.php?project_id=8
and type your email address into the search field under Participant Stats. Click Search. If you are in there, your stats page will show up. When it does, go to the bottom of the page & click the button "Please email me my password."
When you get your login ID and password, go here again:
http://stats.distributed.net/projects.php?project_id=8
& search for "xlr8yourmac" under the Team Stats heading. You'll get the xlr8YourMac team stats page; near the bottom of the page is a link which says "I want to join this team!" Click the link & join the team! Remember, we want you to run the client all the time! We have about 250 members, but only a fraction of those submit work units every day. C'mon, get those Macs working! If everybody worked, we could take the lead!! (As of 7/23/2004 we're currently #5 overall.)
I'm on always-on broadband; if you use a dialup connection, you'll want to set some things so that the client will either initiate a connection when the in buffer is empty or send & receive packets when a connection is detected. If you set the latter option, and the in buffer empties, the client will work on random keys until it can return results & get new packets. To set these options, open Terminal, navigate to your dnetc directory, and type
followed by return. Then, its option 2 (Buffer and Buffer Update Options), followed by option 6 (Keyserver<->g;client connectivity options), followed by option 7 (Dialup-link detection), followed by choosing either option 1 or 2, depending on what you want. I'd appreciate some feedback on how these options work from somebody who is using them.
There is some argument as to whether it is better to let the hard drive spin down or to keep it on all the time. I tend to believe that spinning a hard drive up again and again is harder on it than letting it spin all the time, and that if a hard drive is going to fail, it is by far most likely to fail during spinup.
However, if you don't want to run your hard drive all the time, you can run the client in a RAM disk or in RAM. There is an option you can set which runs the client entirely in memory (launching it with the -nodisk option does this); otherwise, you can use Rambunctious (if you're running Jaguar) or Panther Cache Cleaner (for Panther users) to create RAM disks. You only need one megabyte of space; once you've created the RAM disk, you can shut down the client using terminal, copy the entire dnetc folder onto the RAM disk, navigate to /volumes/your ram disk/dnetc folder and restart it there. To set the client to automatically work with the -nodisk option every time it starts, launch Terminal, navigate to your dnetc folder, and type
followed by return. Then, it's option 2 (Buffer and Buffer Update Options), followed by option 1 (Buffer in memory only?), followed by typing yes at the prompt, followed by return. Then return to the main menu, save your changes & exit.
I will try to answer questions if you have them.. (andrewmckenzie4 at bresnan.net)
Thanks for joining the team!
-Andrew
Ed Note: Should the xlr8yourmac team win the contest, I'll draw a name from the team members and give away a choice of one of these items:
- A new 40GB iPod
- A 400GB Hitachi hard drive
- A CPU upgrade (up to $500 list price)
- Mac Radeon 9800 Pro Graphics card
|