Power of Rate Limiting: Lessons Learned from a Software Development Mistake