All that knowledge accumulates over time and you build skills about how to learn new things.
That's what allows people to pick up new technologies easily. Hard work, previous experience with similar technologies, and some intelligence (which you obviously have already).
I would recommend that you install Ubuntu in a virtual machine (VirtualBox is a good choice) and see if you can get some Python programs running. That process alone will teach you a lot.
For what it's worth, RoR and the Heroku stack are not basic and you shouldn't feel bad for not picking the up quickly. There's so much context that you need to have to understand what's going on and to use those technologies effectively. I bet if you polled your classmates the majority of them haven't even heard of Heroku.