Try the BSD kernel then. :)
Seriously though...
One thing that might be good is to do little exercises from a book/document (online or otherwise).
So, follow the material, and then at the end of each section, try the exercises. Don't have to succeed in everyone (although that's a plus) because it's the getting back into the thinking that is important. You'll gradually get better with it all anyway.
Otherwise I'm not sure what to offer. I can say that I think it's normal that you tend to forget things you don't do. I mean, it's not just the language, it's the skill in logic, thinking, etc.
Oh, I believe there are challenges around too.
http://www.osix.net for example.
Those might be nice. If you need resources, I can help there too.
Hope this helps some. Let me know if you have any more questions though (or comments).