If you follow me on Bluesky , you know some of this already, but I’ve pushed some social updates to the blog thanks to Sequoia and Standard.site , I’ve incorporated The Edge Cases with the AT Protocol , allowing my blog posts to be more easily shared and interacted with on the decentralized social web. 
 What does that mean? A few new features: 
 
 New posts automagically…

 Disclosure : This article uses affiliate links. Items I recommend may generate a small commission for me if you purchase them via my link. 

 
 
 Note 
 
 
 This is adapted from an internal document I built for a team I’m working on part-time. If some later sections feel AI-y that’s because I had Claude help fill them out. I normally don’t do…
On October 16, Anthropic released Skills , which are a collection of prompts, scripts, and resources in a single directory that Claude can load and use when it needs to. They work with every Claude product: Claude apps, Claude Code, and the Claude API. The upshot is that skills allow you to define task-specific instructions that can bundle scripts, PDFs, and more to better teach it how to do some…
This might be the most common MCP antipattern I see, and it’s not helped by a bevy of startups and products offering to automate this process for you. Of course, it’s tempting: APIs are APIs after all, right? 
 Wrong. 
 MCP is built on top of (JSON)-RPC, which is centered on actions, while REST is focused on resources and communicating them between the client and server. And…
My newsletter, The Signal Path has a new excerpt from my upcoming book, AI Agents with MCP that discusses the lightbulb moment that led to the development of the Model Context Protocol at Anthropic. 
 
 MCP was born out of an internal project at Anthropic. David Soria Parra, a software engineer at Anthropic, was using Claude Desktop to assist him with his day-to-day work: writing developer…
I’m jumping back into the newsletter ring with The Signal Path . Things will be up and running shortly, but you can subscribe in the meantime to stay up to date on new posts. Expect articles analyzing the latest AI and data news, technologies, and controversies, finding the path of the signal within all the noise in this field.
Vibe coding is here, and it’s here to stay. 
 Now that I’ve got your attention, I’ve been using Cursor , one of the most popular AI-enabled IDEs available right now (alongside Windsurf and GitHub Copilot inside of VS Code ) for a little over a month now. It quickly overtook my use of my regular IDE, leading me to do the unthinkable act of removing its shortcut from my…
Good evening from Greece! While I’m catching up on the Australian Grand Prix, I wanted to share this great thread that analogizes post-training optimizations in LLMs to in-season car improvements in Formula 1: 
 
 Consider F1, most of the teams show up to the beginning of the year with a new chassis and engine. Then, they spend all year on aerodynamics and systems changes (a minor…
I’m a huge fan of the ATProtocol , the protocol that powers Bluesky, and not just for the protocol itself. The community of builders that has grown around it (the Atmosphere) is impressive, and we are starting to see some really interesting projects reach escape velocity. 
 Tangled.sh is one of those, allowing users to host git repositories on lightweight headless servers called…
Inspired by Carlos Vargas , who was in turn inspired by Simon Willison , I’ve decided to start doing link posts here. Short-form commentary is important, as is sharing links, and I don’t want that to be the sole domain of ephemeral, high-volume social media. Maybe it’ll end up good newsletter fodder for those who prefer that format. 
 via Carlos Vargas on Bluesky ; follow…

 Disclosure : This article uses affiliate links. Items I recommend may generate a small commission for me if you purchase them via my link. 
 As the month comes to a close, I am reminded that I intended to write a short reflection on this past year, which ended up being full of change and upheaval, both professionally and personally. 
 Over 2024, I spent 2 months with my wife and…

 Disclosure : This article uses affiliate links. Items I recommend may generate a small commission for me if you purchase them via my link. 
 
 Δε στο ‘πα χαλασιά μου 
στα ξένα να μην πας, χαλασιά μου 
στα ξένα να μην πας 
Φοβάμαι μη σε χάσω 
στα ξένα κι εκεί που πας 
και δεν ξαναγυρνάς, χαλασιά μου 
και δεν ξαναγυρνάς 
 
 Χαλασιά μου, traditional…
Recently, a good friend of mine discovered the joys of amateur radio and, knowing that I’m a licensed ham, started asking questions. I haven’t touched a radio in years, but an itch that needed scratching awakened in me. 
 Radio has always been magical to me: hyperlocal (mostly), unpredictable operating conditions, and harnessing nature’s power just to chat. Having been raised…
AWS documentation can be rough. Have you ever looked for an example of something you’re trying to set up but only finding bits and pieces of what you need across several different sites? That was my experience recently when trying to set up a REST API with API Gateway that would trigger a Step Function. 
 There are some good tutorials and examples for doing this, just in the AWS console.…
A few days ago, my Yiayia (grandmother) was moved to hospice care after suffering from the effects of dementia since losing her husband, my Pappou, in early 2017. 
 She’s lived a long, incredible life, but that fact doesn’t take away the sting when someone you’ve known and loved your whole life, the bedrock of your family, starts forgetting you, begins reliving long-buried…
Community has always been the lifeblood of humanity from prehistoric times to today, but our sense of community faces new challenges. As a recent example, the COVID pandemic has made in-person collaboration dangerous. On the other hand, Internet access has grown globally, presenting an opportunity for cosmopolitan learning communities. 
 People—even introverts—work best in groups.…

 Disclosure : This article uses affiliate links. Items I recommend may generate a small commission for me if you purchase them via my link. 

 
 
 
 
 
 
 This is Part 3 of a 3-part series. You can find Part 1 here , and Part 2 here .

 Disclosure : This article uses affiliate links. Items I recommend may generate a small commission for me if you purchase them via my link. 

 
 
 
 
 
 
 This is Part 1 of a 3-part series. You can find Part 2 here , and Part 3 here .
The longest halfweek in my recent memory is finally done, and I have lots of thoughts. First, the feeling of relief. 
 On Saturday, I gave a Python workshop, participated in a panel discussion with people 100x smarter than me, and judged some really great projects by the students participating in HackNEHS . 
 It was an incredible and inspiring experience - one of the high school interns at…
The dust has settled. The boxes are (mostly) unpacked. The cats have claimed their perches. At the beginning of January, Tallahassee got its first real snow in decades, and my wife and I prepared to take our adventure to our mutual dream city, Boston. While the 1,300 mile trip could consume a post or two on its own, today I’d like to talk about what brought me from Tallahassee to Bosto, and…
Recently at Homes.com, one of my coworkers was charged with speeding up a batch process that we were required to run at a scheduled interval. No big deal, but he was stuck: the process required a numberof steps at every typical ‘stage’, for identifying the data we needed to pull, for pulling the data, for transforming the data, and for writing the transformed data back to Mongo. 
…
Recently, I had a bug at work that would be solved by simply stripping certain characters from the keys of a hash. This seems easy at first: iterate through the keys with the keys operator and run a regex substitution on that, something like the following (with the goal of stripping periods): 
 my $my_hash = ( 'al.pha' => 'a' , 'beta' => 'b' ); 
 s/\.*//g foreach keys %my_hash; 
 For…
Today, I wanted to talk about hash traversal in Perl with the aim of flattening a complex multi-level hash into a simpler single-level hash. Hash traversal is a perfect way to get some practice with recursion in, so we will be using that approach here as well. Let’s outline how this might look: 
 
 Inputs 
 Iterate over original hash 
 Recursion! 
 Flattening 
 
…

 
 
 Note 
 
 
 This was first written in response to this excellent discussion on devto . I strongly recommend reading through the whole discussion, whether you feel like you’re suffering from imposter syndrome or not, there is some great advice and experience shared there.
I’m Kyle Stratis, software engineer, writer, metalhead, and easily distracted. I am currently the principal
consultant and founder of Stratis Data Labs as well as the VP of Engineering at
a currently-stealth AI lab. At Stratis Data Labs, I help bootstrap and augment engineering
teams, bringing my data and AI experience to bear on the most interesting problems facing both rapidly…
Sometimes, I write for other publications. Rarely, people ask me to join a podcast.
Here you can find other places I contribute to. 
 Writing 
 
 AI Agents with Model Context Protocol ( O’Reilly , Amazon ) 
 Clients: The Unsung Heroes of Model Context Protocol 
 Scalable Kubernetes Infrastructure for AI Platforms (O’Reilly) 
 Segment Anything with Segment…
Some of my projects don’t result in blog posts, and are highlighted here. 
 
 Erebus - A personal assistant memory chatbot using Letta 
 Tools - A collection of simple, single-page HTML tools for text analysis 
 AI Agents with MCP - Code examples for building AI agents using the Model Context Protocol 
 Order Dependency - Evaluating how well LLMs handle the order…