Why the CAPTCHA Approach Is Doomed
CAPTCHA doesn’t work. Don’t waste your time on it. I’ve seen first-hand that humans are often behind the keyboard abusing your system and I’m pretty sure they can get through CAPTCHA.
Buy vs. Build
More “please stop re-inventing the wheel” content. Sometimes its done out of fear of losing control because you’ve been burned by bad libraries in the past but think about it — the time spent on creating your own library and maintaining it over time far outweighs debugging a few bugs here and there with a vendor-provided library or working with the open source community. You are 1 person with a side-focus of creating this library to enable your product. They are (usually) multiple people focused on the library you could be using.
“I don’t have time to test!”
Don’t ever repeat this phrase with a straight face in front of me 🙂 The fourth comment in the article has a nice reference as well.
10 Way to Improve Your Code Neal Ford presents for an hour at QCon. It started off a little shaky for me but I watched the whole thing — it’s worth the watch. Topics include: composed methods, the problem with singletons (and how to solve it) — mixing “static” with “state”, YAGNI, TDD, pair programming, polyglot programming, parallelism, and a good top-10 signs you’ve got a problem.