My code mentors once told me, "A good programmer can look at a library, decide he hates it, and code everything from scratch. An amazing programmer can look at a library, decide he hates it, but realize the time it will save him and learn to use it." - slavik262 [more]