Ruby Blocks Simplified

One of the most unique and often misunderstood features of Ruby is blocks. Blocks are Ruby’s version of closures and can be used to make code more reusable and less verbose. But keywords such as yield can be hard to grok at first and make this functionality a bit…

Read this article

7 Tips for Building a Startup Within a Startup

Introduction As the engineering lead on the Flexible Pay team, I often get asked by my colleagues, “What is it like to work in a startup within a startup?” First, some context: Two years ago, Gusto decided to build the Flexible Pay feature, offering employees the opportunity to access their…

Read this article

Debugging Memory Bloat

Or, that time a single column update crashed our app unsplash-logoFredy Jacob A while back, a single class of jobs took down all of our async processes due to Out Of Memory problems. I told you how we prevented the general problem of a single class of jobs halting all…

Read this article

A Practical Guide to Building Secure SSO

Understanding how to build Single Sign On (SSO) using the OAuth 2.0 framework with OpenID Connect may seem like a daunting task. This practical guide will show you how to build a secure SSO system.…

Read this article

Nonce-based Content Security Policy (CSP) in Rails

Introduction During my time at Gusto as a part of the Application Security team, I’ve been exploring ways to improve defense against Cross-Site Scripting (XSS) in modern web applications. At Gusto, we primarily use Ruby on Rails and React.js. Individually each framework comes with some XSS protections out…

Read this article