Python and Ruby are very similar. Here are some of the differences that I see:
Python's design and community encourages a more object oriented style. Ruby encourages a more functional style.
Python lacks some support for closures and inline functions. Ruby has good support for both.
Python has libraries for almost everything. Ruby's libraries are more web focused. It also has libraries in other areas, but not as much as Python.
Ruby is a little more flexible, which leads to some of the DSL's and metaprogramming that seem to be common in the Ruby community.
Ruby has more syntax than Python. Ruby has a few ways to do things, while Python tries to stick to one way.
Both are good. It might help to skim through a tutorial for each first, and see which one you like better. Between Python and Ruby, I think it mostly comes down to taste.
There's a monthly HackerNews thread for people seeking freelancers and freelancers looking to get hired. The thread is usually titled "Freelancer? Seeking freelancer? (month year)"
I think that might be worth checking out. The rates will probably be higher than the ones on odesk.com, though.
If they already have some experience with high level languages, I would introduce them to K&R's C Programming Language. It does a good job of introducing some low-level topics, like pointers and memory management.
I also second the books that teach using Scheme, like SICP. I think learning Lisp and C introduces many important concepts.
Also, learning a web stack is very educational. Learning how a web application works (Internet protocols, server side code, databases, etc) taught me a lot.
Ubuntu. I've found that a decent amount of software for development is just harder to install on Windows. The open source community seems to mostly be on Linux, and they often have the best support and installation processes for Linux.
For example, setting up Emacs and getting the packages I want installed has been much easier on Ubuntu than Windows. This has also been true for a lot of other great open source software.
Python's design and community encourages a more object oriented style. Ruby encourages a more functional style.
Python lacks some support for closures and inline functions. Ruby has good support for both.
Python has libraries for almost everything. Ruby's libraries are more web focused. It also has libraries in other areas, but not as much as Python.
Ruby is a little more flexible, which leads to some of the DSL's and metaprogramming that seem to be common in the Ruby community.
Ruby has more syntax than Python. Ruby has a few ways to do things, while Python tries to stick to one way.
Both are good. It might help to skim through a tutorial for each first, and see which one you like better. Between Python and Ruby, I think it mostly comes down to taste.