Just knowing the concept of the memory retention curve is useful. This page explains it decently:
http://elearninginfographics.com/mem...e-infographic/
This is the idea behind
spaced repetition. The most basic form of this method is to roughly double the amount of time between each time you rehearse whatever you're trying to learn (5 minutes, 10 minutes, 20 minutes, an hour etc). For knowledge stuff, "rehearse" means recalling it in your head, writing it down, w/e, and not checking the book unless you've forgotten it already. If for example you're trying to learn a new knot all you need to do is tie the knot without looking at instructions.
Anki is a useful application to help with that kind of stuff (available for various PC operating systems and as a mobile app). It's flashcards but with a spaced repetition algorithm to automatically give you good cards to rehearse.
A random thing I've had a lot of use for is to imagine explaining things to someone clueless (or a confused classmate). Because it's a natural way to rehearse, and also if you can explain it to your grandma you know you've understood it yourself.
For discipline I like to use
the pomodoro technique, which basically means setting a timer to 25 minutes where you resolve not to distract yourself, followed by 5 minutes of forced break where distraction is allowed. It makes work less intimidating for me since it's just 25 minutes (often followed by more, just because of momentum). There's also a multitude of applications that do this, some of which also do statistics for you so you know how much time you spend doing actual work.