I found that reading good books helps a ton. Dry, purely technical books are no good to me: I put them down at most halfway through, because I forgot how it all started.
A good book will keep me amazed from the first page to the last, even if it's a programming book (FYI, Learn You a Haskell for Great Good is such a book - wish all of them were of the same quality), and I won't find it hard to remember what I read a day before. When the author makes the book interesting, I found that it sticks to me much more easily.
So, find good books, that are a joy to read, and you'll have a much easier time absorbing their content ;)