I've been a frontend dev for a few years now, and there's a pattern I kept seeing across almost every small team I worked with. New feature ships. Everyone's happy. Then three days later something completely unrelated breaks and nobody caught it. The problem was always the same: automating that required Playwright or Selenium, and that was "a dev thing". And the devs were busy shipping the next fe
The Model Context Protocol (MCP) has become the default standard for connecting AI agents to external tools and APIs. Governed by the Linux Foundation since early 2025 and adopted by OpenAI, Anthropic, Microsoft, and Vercel, MCP is the USB-C port of the AI ecosystem — one protocol that lets any LLM application talk to any tool server. But there's a gap between reading the spec and building somethi
If you have spent any real time with Claude Code, you have probably noticed the same problem I did. You write the same instructions in the prompt every other day. "Use four-space indentation here." "Always run the linter after edits." "Format commit messages this way." After the third or fourth repeat, it stops feeling like a prompt and starts feeling like missing config. Skills are how Claude Cod
I Couldn’t Write a SQL Query Today… So I Started Learning SQL from Scratch (Day 1) A beginner’s journey into SQL, databases, and understanding how data powers real-world applications. Today, I got stuck on something that should have been simple. I had to write a SQL query to fetch specific data… And I couldn’t. I tried multiple times: Different queries Different approaches Guessing syntax
SQLite Internals & PostgreSQL Multi-Master Replication Updates Today's Highlights This week's database highlights include critical technical discussions from the SQLite forum regarding optimizer behavior and trigger affinity changes, alongside the release of Spock 5.0.7, bringing enhanced logical multi-master replication to PostgreSQL. Source: https://sqlite.org/forum/info/819f2d6627c
You have unit tests in Vitest (or Jest). You have E2E tests in Playwright. CI runs both. Coverage works for each, until you try to look at a single number. Then it gets weird. Unit tests run in Node, instrumented by V8 or istanbul. Playwright runs your real app in a real browser. Each produces its own coverage data. Stitching them together usually means: nyc merge (or a custom step) combining cove
Adding email and calendar tools to an AI agent is mostly an exercise in restraint. Give it 50 commands and the agent gets confused. Give it 5 carefully-chosen ones and it punches above its weight. After running agents against the Nylas CLI for a few months, these are the five I keep coming back to. Each gets exposed via MCP (nylas mcp install) so the agent can call them directly. nylas email send
You ssh'd into a fresh Linux box and you need to send an email. Maybe a backup completed. Maybe a deploy succeeded. Maybe a process crashed and you want a stack trace in your inbox. The traditional path: install Postfix, edit main.cf, configure a smart relay, generate SASL credentials, restart the daemon, and pray nothing else on the box uses port 25. That is the 30-minute path. The 60-second path