Making Your System Tests More Readable

When I ramp onto a new project, one of the first things I do is to look at the system test suite. Because system tests exercise the entire system, they are a great place to document the intent and assumptions built into your application. When they are written well, they can be a source of documentation and a tool to educate others on the behaviors of an application. Read more on Making Your System Tests More Readable…

Three Reasons To Keep Your Frameworks Up To Date

Frameworks are constantly changing and evolving—especially open-source ones, which we rely heavily on at Atomic. And it’s not always easy to stay up to date.

Updates sometimes deprecate APIs or introduce new architecture patterns. These changes can require significant rework of a project, and they are expensive for customers. Nevertheless, updates are worth it. In the long run, the expense of keeping your project’s technologies up-to-date greatly outweighs the cost. Read more on Three Reasons To Keep Your Frameworks Up To Date…

How to Set Up a Rails SAML Identity Provider

Security Assertion Markup Language (SAML) is a protocol for single sign-on. SAML handles communication between a service provider (SP) and an identity provider (IdP). The identity provider acts as an authentication and identification mechanism for service providers.

In this post, I’ll walk you through setting up your Rails application as a SAML IdP. This post is not intended to take a deep dive into the SAML protocol.
Read more on How to Set Up a Rails SAML Identity Provider…

Four Steps To Maintaining a Clean Git History

Git is a very important tool. Not only does it keep a history of a project, but Git also makes it easy for a team to collaborate in a codebase. Although it’s such an important tool, it’s often under-utilized and on occasion, even neglected.

A clean Git history is easy to understand and tells a story about the project. It’s evident when features were added and how they were implemented. I’ve come to cherish a clean Git history on a project. The good news is, it’s not very difficult to keep this history clean. Read more on Four Steps To Maintaining a Clean Git History…

4 Ways to Stay Motivated on Your Side Project

We all have them. Those once-great ideas that are now gathering dust somewhere in a GitHub repository. They start out fun and exciting, but quickly move to the back burner and out of your mind altogether.

Maybe life got in the way, maybe work did, or maybe you simply lost your motivation. There are many reasons your side project never saw the light of day, but here are a few things you can do to make sure your next one does.
Read more on 4 Ways to Stay Motivated on Your Side Project…

Adding Google Charts to your Active Admin Application

Active Admin is a fantastic library for building an administrator interface for a Rails application. Not only does it make creating CRUD pages incredibly simple, but it also allows for custom views–something I discovered recently when I needed to create a dashboard page that included several charts.
Read more on Adding Google Charts to your Active Admin Application…

Rails, Active Record & Postgres – Optimizing Deletions

Every Rails project I’ve worked on has used Active Record. ORMs like Active Record have many benefits. They abstract you away from the database. They make querying data elegant and simple (in most cases).

However, sometimes Active Record is not more efficient than Postgres.
Read more on Rails, Active Record & Postgres – Optimizing Deletions…

Four Tips To Keep Refactoring Efficient

We all write elegant code the first time that never needs to be changed, right? Me neither.

Refactoring is just another tool in the developer’s belt. It wasn’t until recently that I realized how important a tool it is. I started a small refactor that turned into a big refactor that turned into an enormous refactor. In the end, I felt great about the new architecture, but it ended up being a lot more work than I anticipated. Coming out of that experience, I have four tips for keeping your refactors efficient and manageable.
Read more on Four Tips To Keep Refactoring Efficient…