If you have more than one computer, you will want to set up a little network. Buy a router, a box that connects downstream of your cable or DSL modem, and that lets you connect several computers to it. For example, the Linksys BEFSR41, about $50, or a wireless/wired router like the Apple AirPort Extreme ($100-180). (An Apple Time Capsule does the same thing and also has a hard drive in it for backup.) Using a router allows you to share the ISP connection with multiple computers, and also allows computers on your home network to communicate and share files.

This diagram shows a network with several types of computer. The local computers are connected by Ethernet cables; guest computers connect by wireless. Wired connections are faster, less subject to interference, and less vulnerable to security attack.
For advanced information on home networking, read Glenn Fleishman's
"Take Control of Your 802.11n AirPort Network, Second Edition".
Your router should be configured as a DHCP Server. That is, it makes up local Internet Protocol addresses for each device on your local network, and sends all devices' outgoing packets out over the the external Internet Protocol address. When a response packet comes back, the router matches up the packet sender with that of a previous request, and forwards the response to the local machine that is expecting it. Unsolicited messages are dropped, protecting your local computers from a lot of attacks.
Your router may have an option to enable IPV6. (This is a more advanced network address format, that will become widespread in the future.) My AirPort Extreme has three possible settings: Link-local, Node, and Tunnel. If you select , then your computers inside your home can talk to each other using IPV6, but nobody from outside can use IPV6 to access them. This is good: it is how mine is set up. You will be able to access sites on the Internet, no matter what kind of address they use. If you select or , and don't block incoming IPV6 elsewhere, then your computers can be seen and attacked from distant machines.
If you need to connect more computers or devices to your network than there are ports on your router, use an Ethernet hub. Modern Macintoshes can send data very fast, at Gigabit Ethernet speeds, if both ends of the channel can handle this speed. If you buy a router or hub, make sure it supports Gigabit, or 1000base-T, speed. When you are buying Ethernet cables, choose "cat 6e" cables to make sure you get full speed.
If your printer is network enabled, you can connect it to your home network and print to it from all your local computers. To share a printer with multiple computers, the printer should have a built-in print server. I have an HP 2605DN printer, and the "N" means it has a print server and can be connected to a network. To network my 12-year-old old HP laser printer that doesn't have a print server, I connect its parallel port to a little D-Link print server box, cost about $50, and connect the print server to my network.
If your router supports WiFi, then you don't need wires between the computers and the network. Visitors can temporarily use your connection too. Be aware of the security implications. it is a good idea to require a name and password, and use WPA-2 encryption.
Open a Finder window. Navigate it to the folder containing your local files, or where you want to put files you copy.
Open a second Finder window with command-N: you will use it to view a folder on the remote computer.
In the left sidebar you will see a heading ,
and under that the name of the remote computer.
Click on it.

On the first visit, the Finder will ask you for a password.
Give the name and password of the computer's owner and say .
If you don't see the remote computer you want to share files with, type command-K in the finder, and enter afp://machinename.local/.
Now you should have a list of folders you can open on
the remote computer.

Double click on the folder you want and navigate around as usual.
When you drag file or folder icons between the two finder windows,
they will be copied from one computer to the other.
When you are done sharing files between computers you can click the little house-shaped eject button next to the remote computer's name in the Finder side bar, to disconnect. If you don't do this, you will get a little warning dialogue when the remote computer reboots.
If you click when you open up a remote Mac, and if you have set permissions properly in its , then the Screen Sharing application will launch on your computer, showing the screen of the remote computer. You can drive the cursor and send mouse clicks to the remote computer, and type into its applications. This can be very valuable for configuring remote computers, recovering from bad video settings, and assisting other Mac users.
Screen sharing like this can be done across iChat to view and control a remote Mac anywhere, which can be very useful for remote support of friends and relatives.
You can do some file sharing from your Mac's finder to Windows computers on your home network. I don't use this much, and sometimes it is complicated, so I won't go into it here. A simpler alternative is to install Dropbox on both Mac and Windows.
(For advanced users.)
I often use scp, rsync, and ssh to access Linux and Unix computers on my network (and elsewhere). These are commands that come with every Mac (install the developer tools). These commands will also work for Mac to Mac (since Mac OS X is based on FreeBSD Unix). (I tried screen sharing with a Fedora Linux computer, and it popped up a dialog box asking permission, but then nothing happened.. need to debug this someday.)
You can type e.g. man ssh in the terminal window to get help... of a sort.
These commands will keep asking for the password of an account on the remote system, which gets tedious. You can arrange things so that you only have to give a password once.
For example, I do this command to sync my home directory from my laptop to another computer (all on one line):
rsync -avzu --blocking-io -e "ssh" --exclude .Trash --exclude Cache/ /Users/thvv $user@$host:/Users
where $user and $host are shell variables set by the export command.
Home © 2012, Tom Van Vleck; updated 2012-02-17 13:46