programming arduino via another arduino?

is it possible to program a (for example) pro mini or lilypad with a diecemila or duemilanove?
or does it only work via an usb-connector?

...because i don't quite understand what happens here at the bottom of this page:

"being used for its USB connection, power source, and reset button"
does the chip has to be removed, or is this just done for the reset function?
by sending data or a program from the pc, would it get on both arduinos then, or what kind of data is being communicated?

edit: sorry, i had to split it in two posts, i wasn't allowed to post a link in my first post, since i'm new here :slight_smile: