Ports and adapters prevent business logic from becoming coupled to other dependencies. They create little classes with well-defined pieces of functionality.
Email clients all seem to display HTML mails differently. Here are a few tools I've used to make implementing Rails email templates a bit less painful.
Agile design is infused into all stages of software product development, and developers participate in strategic and tangible design throughout the project.
Capybara-webkit was allowing us to interact with invisible or hidden DOM elements, and our tests had been suffering due to being allowed this leniency.
Varnish cache speeds up websites, but can cause issues for content viewed on mobile devices. Configure Varnish properly for mobile and desktop browsers.