Blogs


Better passwords in Ruby applications with the Pwned Passwords API
At Twilio we're fans of using a second factor to protect user accounts, but that doesn't mean we've forgotten the first factor. Encouraging users to pick strong passwords is still the first line of defence for their accounts.After spending years c...




Dup vs Clone in Ruby: Understanding The Differences
Did you know that you can copy an object in Ruby? Not only that, but there are two different methods to do this!These methods are:dupcloneWe will explore the differences in a moment, but first…Why would you want to clone an object?Many objects in ...


Rails Scaffolding and TDD Are Incompatible - Code with Jason
Learning Rails testing is pretty hard. There are a lot of principles and tools to learn. Getting comfortable with testing in Rails (or any framework) often takes developers years.Compounding the difficulty is TDD. If I’m just starting out with tes...


Stopping slow client DoS attacks with Puma on Passenger 6
Imagine you're the proud owner of a guitar shop. One day, you wake up expecting to enjoy happy customers browsing the shop.But something is amiss today... there is a crowd of robots, idling around in your shop and not buying anything. Your custome...