News



Bundler: A more secure bundler: We fixed our source priorities.
Last week an article about “Dependency Confusion” hit the news, where a developer was able to make thousands of dollars on bug bounty programs from big tech companies, by pushing libraries to public repositories that ended up unintentionally being...

Ruby Garbage Collection Deep Dive: Tri-Color Mark and Sweep
In the first post in the Ruby Garbage Collection Deep Dive series, we went through a few definitions to give us a picture of how Ruby stores values in memory. If you haven’t read it yet, read it first! We’ll build on those definitions in this post...

There's No Such Thing as a Free Gem: How to roll your own Twitter OAuth flow in Rails
Dependency management is one of the most important aspects of modern application engineering, but the nuance required to navigate its inherent trade-offs is something few people take the time to thoughtfully consider. So today, let’s take that tim...



Five things I learned about SAML from studying a realistic example
I recently dug into execution traces of a saml-rails example app, looking for "points of interest" in the code. Here are five interesting things that I learned about SAML and how to integrate SAML into a realistic application.Note: The code snippe...

What is a reduction and why Fibers are the answer for Ruby concurrency
In the Ruby 3 features, a lot of attention went to Ractors - a new parallelism primitive which provides what can best be described as “Web Workers” - separate threads of execution with memory isolation from the spawning thread. However, there was ...