My gracious! Although I have the best intentions, I miss the birthdays of so many of my friends! One tool that has really helped me is www.birthdayalarm.com. I simply list the birthday's of my friends and family and the website sends me an email both two weeks in advance and the day before!
I try to keep a stock of great cards at home in a card file I created. Some people use a binder with pockets to store their cards but I use a shoe box with tabs in it to separate cards by occasion. I made a card file for my grandmother using an accordion file as well. When I have a few extra minutes at a store I browse the card section and purchase a bundle to file away for the perfect occasion. Then, when I get an emailed birthday reminder, I have the cards right at my fingertips.