Deploying an AI bot is the easy part. Knowing whether it's helping anyone, catching failures before users report them, and keeping costs under control is whe...
A chatbot that only answers general questions is a worse Google. This post covers how to give a Bedrock Agent domain-specific intelligence through knowledge ...
AWS Bedrock Agents speak HTTP. Slack speaks WebSocket. This post covers how to build the gateway that bridges them: Socket Mode, session management, concurre...
Building an AI agent that runs autonomously on a schedule requires more than just calling an LLM. This post explores how autobot, a Crystal-based AI agent fr...
Reviewing raw JSON, CSV, or Mermaid diagrams in the terminal is a cognitive burden. Preview skills solve this by rendering visual previews directly in the br...
How a code-quality skill transforms AI-generated code from functional to maintainable by enforcing SOLID principles, eliminating magic numbers, and keeping c...
UX patterns for building an AI workout generator for Zwift, combining generative AI with direct manipulation and multi-layer validation.
Learn how to effectively test AWS SES emails locally using LocalStack. Compare different email viewers including the built-in LocalStack UI, Mailpit, and a l...
Learn how to set up AWS Bedrock agents using CloudFormation. Master the three essential components—IAM roles, agents, and aliases—for building AI applications.
Master the Learn → Practice → Share cycle that successful developers use to build skills. Discover why AI makes this loop faster and why Reflect is now the c...
Learn how to build a custom Model Context Protocol server for Claude Code. Master the fundamentals of MCP protocol, tool definitions, and argument handling u...
Learn how to build a sophisticated real-time chat system using Hotwire. We'll create a complete implementation featuring instant message delivery, background...
A simple tutorial explaining how to integrate existed React components into your modern Rails app powered by Hotwire.
AWS S3 Bucket replication is an incredibly powerful and cost-effective way to ensure your data remains safe, secure, and accessible in the cloud. With S3 buc...
Avo is a content management system for Ruby on Rails applications that has a lot of features out of the box. It is designed to be easy to use and extendable,...
Sharing Amazon ECR images across accounts is a common requirement, especially in scenarios where a CI/CD pipeline resides in one account and the production e...
In today’s digital landscape, delivering dynamic and interactive content is essential for engaging user experiences. Rails developers often leverage powerful...
MFA Delete adds an additional layer of security to your S3 buckets by requiring authentication via MFA before allowing the permanent deletion of objects. Thi...
MySQL implements gap locks as a locking mechanism to control access to a table. A gap lock can be used in a SELECT statement with the FOR UPDATE or LOCK IN S...
ActiveRecord migration is a great abstraction over the database schema manipulation. It looks understandable and works pretty well, however, it can take a wh...
Short list of thoughts on how to join polymorphic associations in ActiveRecord and why it cannot be loaded eagerly.
Article explains how to efficiently group and query model versions with PaperTrail in Ruby on Rails application while saving multiple records in batches.
Small tutorial that shows how to quickly create a slack bot using Crystal programming language
A post where I want to share my thoughts regarding an implementation of an Observer design pattern in Crystal language.
Just a quick way to create awesome New Year Countdown.
Initial configuration of Unite.vim after installation.
Step by step tutorial how to start using Neovim with Vim's config.
A quickest way to speed up your development with Rails 4.
Running long specs for your project within Vim? Then this short article is for you.
Benchmarking in easy, benchmarking is existing, especially in Crystal! Checkout a quick overview with practical examples.
After reading this post you will know why Object#tap and Object#itself methods are so useful in Crystal language and when to use them.
An easy to use tutorial to create a new shard in Crystal language.
A post where I want to describe what made me start blogging.