How do I keep my session when I reboot in OS X? When I reboot my machine, I'd like it to reopen all my programs and windows, and put them back in the same place, after restarting. how do I do this?

(I'm on 10.6, and use spaces)
ReLaunch does what you want. Also see a similar question on SuperUser.

The only major limitation of Relaunch is it does not (yet) support Spaces (virtual desktops).