Blog

Thoughts and ideas about code, engineering and tech
July 13, 2025
RAG and MCP in Software Development: What They Are and Why They Matter

As a senior software engineer primarily working in Ruby but with experience across Go, Node.js, and Python, I’m always evaluating tools and frameworks that promise to make our systems smarter, faster, or more adaptive. Recently, two acronyms from the world of LLMs and AI infrastructure have been gaining traction in mainstream development: RAG (Retrieval-Augmented Generation) and MCP (Model Control Plane). Both offer powerful abstractions that can benefit modern software architectures far beyond machine learning labs.

July 4, 2025
Constant Collision in Rails: When Your Concerns Clash with Gems

While working on a Rails app recently, I stumbled across a frustrating bug that only appeared in the test environment. Everything worked perfectly in the development console. Models loaded fine. Associations were intact. My concern methods behaved exactly as expected. But then my test suite started throwing mysterious NoMethodErrors—complaining that an ActiveRecord model was missing associations it clearly had.

July 3, 2025
AI Is a Productivity Multiplier — But Only If You Stay in Control

Alberto Fortin’s recent post on dialing back LLM usage resonated with me. Like many developers, I’ve found AI to be both a productivity godsend and a source of friction. It can feel like magic — until it quietly leads you down the wrong path.

July 3, 2025
Rails Testing Gotcha: When Concerns Work in Console But Not in Tests

If you’ve ever encountered a situation where your Rails model associations work perfectly in the console but mysteriously fail in your test suite, you’re not alone. I recently ran into this exact issue and wanted to share the solution along with some insights about Rails’ autoloading behavior.

July 24, 2024
Iterate Quickly and Learn: The Path to Continuous Improvement

Welcome back to my series on “The Effective Engineer” by Edmond Lau. In the previous posts, I introduced the key themes of the book, discussed the importance of prioritization, and explored leveraging tools and technology. Today, I’ll delve into another critical theme: the importance of quick iteration and continuous learning.

July 19, 2024
Amplify your efforts: An Introduction to The Effective Engineer

Welcome back to my series on “The Effective Engineer” by Edmond Lau. In the previous posts, I introduced the key themes of the book and discussed the importance of prioritization. Today, I’ll delve into another crucial theme: leveraging tools and technology to amplify your productivity and impact.

Previous 1 2 3