RSSAmplifier

Blog

Rida Al Barazi

Recent content on Rida Al Barazi

rida.meRSS feed ↗15 posts

Latest posts

Why I finally tried OpenClaw (and how I'm making it safe)

I avoided running agents with real access for a year. The unlock wasn't better models or tighter sandboxes. It was giving the agent its own identity.

MCP Embedded Resources for Slack: Work Objects, Block Kit, and Silent Failures

Building multi-channel AI agents means dealing with APIs that silently fail. Slack returned 200 OK while dropping my Work Objects. Here's what went wrong and the pattern that emerged.

Kamal + 1Password + GitHub Actions: Production Deployment Pipeline

Set up automated Kamal deployments with 1Password secrets management. The same .kamal/secrets file works for manual deploys and GitHub Actions CI/CD.

Fixing DevContainer Build Failures on Debian Trixie

Two quick fixes for cryptic APT hash mismatches and missing moby packages when building devcontainers on Debian Trixie.

The Agent Ran My Manual Tests

Give your coding agent a browser and a markdown script. With Playwright MCP, the agent can verify its own work end-to-end—no human clicking required.

Rendering MCP Tool Results as ChatKit Widgets in Rails

Step-by-step guide to rendering OpenAI ChatKit MCP tool results as rich UI widgets in a Ruby on Rails app using server-side hydration and SSE streaming.

Setting Agents Up to Succeed

The difference between good and bad AI coding sessions isn't the model. It's what you give the agent before it starts.

What Makes an App AI-Native?

AI-native apps aren't about having AI features. They're about control transfer: how control flows between user and agent as work progresses from intent to output.

MCP's Auth Problem

The MCP spec expects oauth at connect time, before you know what tools you need. Here's the chicken-and-egg problem I hit and the workaround I landed on.

YOLO Mode Only Works When YOLO Can't Hurt You

What I learned from 12 months of coding with AI agents—and why I built isolated dev environments to make them actually useful.

Building Review Apps with Kamal and GitHub Actions

A deep dive into implementing preview environments for pull requests using Kamal deployment, PostgreSQL schema isolation, and GitHub Actions automation.

How to Implement Model Context Protocol (MCP) in Rails: 3 Approaches

A deep dive into implementing Model Context Protocol (MCP) servers in a Rails application, covering remote HTTP, native Ruby, and Docker subprocess approaches.

What I Learned This Week: 12-Factor Agents, Prompt Security, and Voice Interfaces

This week's learning log covers HumanLayer's 12-Factor Agent patterns, layered prompt injection defenses, and the architecture behind production-ready voice interfaces.

How ChatGPT Helped Me Find the Right Running Shoes

A story about how I figured out my running shoes with the help of AI after struggling with knee pain and bad advice.

Returning to the Blank Page

I used to write to learn, to reflect. That’s how I entered the world of Ruby and Ruby on Rails. In my early days, blogging was both my thinking tool and my amplifier. I’d write about what I was learning—Rails conventions, design patterns, developer tools—and through that process, I’d find clarity. I also built connections. People read, commented, shared, and sometimes offered opportunities. That’s…