• Introducing ConfigX: A Simple, Yet Flexible Ruby Configuration Library

    Imagine you’re scaling your Ruby application across multiple environments - development, staging, and production. Each environment demands its own configuration, and you need to ensure sensitive data stays secure. As your application grows, managing these configurations becomes increasingly complex. How do you handle this efficiently without compromising on flexibility or security?

  • From Outage to Advantage — Transforming a Real-Life Incident into a Learning Opportunity

    In this article, I share the journey of how my team transformed a real-life service outage into learning experience. Following the incident, the team recognized the need to build confidence in troubleshooting and identified gaps in their knowledge. To address these challenges, I conducted an Outage Drill, simulating a service failure to provide hands-on experience in tackling complex issues.
  • How to Introduce a NOT NULL Constraint in PostgresSQL?

    How difficult is adding a NOT NULL constraint to a PostgreSQL table? It is straightforward at first glance, but looking deeper could disrupt your application. Hold on, and prepare to learn the safe way to orchestrate such changes.
  • Switching Gears: Data Structure Change Behind Stoplight 4.0

    In this post, we will explore the reasons behind Stoplight 4.x's use of a new underlying data structure and delve into the specific Redis commands used within Stoplight.
  • From OAuth to OpenID: The Evolution of Web Authentication

    Explore the foundational protocols that safeguard modern web applications and protect user identities. This article explains OAuth and OpenID Connect, the powerful duo that empowers seamless access and trustworthy authentication in the digital age. Dive into their historical context, key components, and essential flows, equipping yourself with the knowledge to create secure and user-friendly digital experiences. Unlock the potential of these protocols to fortify your applications and shape a future of secure digital interactions.
  • Navigating Ruby Autoloading: From Chaos to Order

    Discover how to navigate the complexities of managing dependencies in Ruby. This article explores different techniques for loading code in Ruby, along with their respective challenges, such as the ordering of require statements and the thread safety of Kernel.autoload. Delve into the world of autoloading, learn about its pitfalls, and see how to effectively use it in your codebase. The highlight of the discussion is an introduction to Zeitwerk, a modern solution to these challenges.

subscribe via RSS