<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Said Mustafa Said · Blog</title>
    <link>https://saidmustafasaid.com/blog</link>
    <description>Technical writing on AI engineering, cloud infrastructure, and LLM systems.</description>
    <language>en-us</language>
    <managingEditor>contact@saidmustafasaid.com (Said Mustafa Said)</managingEditor>
    <lastBuildDate>Thu, 05 Nov 2026 17:52:56 GMT</lastBuildDate>
    <atom:link href="https://saidmustafasaid.com/feed.xml" rel="self" type="application/rss+xml"/>
    <docs>https://www.rssboard.org/rss-specification</docs>
    
    <item>
      <title><![CDATA[The Words You Will Hear But Never Use]]></title>
      <link>https://saidmustafasaid.com/blog/content-17-words-you-will-hear-but-never-use</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-17-words-you-will-hear-but-never-use</guid>
      <description><![CDATA[Pretraining, RLHF, LoRA, overfitting, distillation. This course skips all of it on purpose, and you still have to know what the words mean. Here is the vocabulary of the world next door, and how far each term sits from your actual job.]]></description>
      <pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[AI Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[Running Your Own Model]]></title>
      <link>https://saidmustafasaid.com/blog/content-22-running-your-own-model</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-22-running-your-own-model</guid>
      <description><![CDATA[Open weights make self-hosting possible. A GPU bill, an on-call rotation and a licence you have to actually read decide whether it is wise. Here is when running your own model is the right call, and when it is a hobby with a budget.]]></description>
      <pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[AI Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[Caching Is the Cheapest Win]]></title>
      <link>https://saidmustafasaid.com/blog/content-21-caching-is-the-cheapest-win</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-21-caching-is-the-cheapest-win</guid>
      <description><![CDATA[Before you switch models or tune a serving engine, look at what you resend on every call. An agent repeats the same prefix hundreds of times, and caching it is the one cost lever that costs nothing in quality.]]></description>
      <pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[AI Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[What You Must Not Send]]></title>
      <link>https://saidmustafasaid.com/blog/content-20-what-you-must-not-send</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-20-what-you-must-not-send</guid>
      <description><![CDATA[Guardrails protect your agent from the outside. This is the other direction: what leaves your machine on every call, who stores it, in which country, and the data you must never put in a prompt.]]></description>
      <pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[AI Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[What MCP Actually Standardises]]></title>
      <link>https://saidmustafasaid.com/blog/content-16-what-mcp-actually-standardises</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-16-what-mcp-actually-standardises</guid>
      <description><![CDATA[MCP is described as USB for tools, and that is true of the plug. Underneath it standardises three things a model can be given, two ways to connect, and one handshake. Everything it does not standardise becomes your problem.]]></description>
      <pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[AI Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[Reasoning and Test-Time Compute]]></title>
      <link>https://saidmustafasaid.com/blog/content-19-reasoning-and-test-time-compute</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-19-reasoning-and-test-time-compute</guid>
      <description><![CDATA[A reasoning model buys accuracy with time. It generates thinking tokens before answering, which you pay for and rarely see. Knowing when that trade is worth it, and when it is waste, is now a routine engineering decision.]]></description>
      <pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[AI Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[What Models Take In]]></title>
      <link>https://saidmustafasaid.com/blog/content-18-what-models-take-in</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-18-what-models-take-in</guid>
      <description><![CDATA[A model does not see your image. It receives patches turned into tokens, in the same stream as your text. Once you know that, image cost, resolution limits and the choice between OCR and native vision stop being mysteries.]]></description>
      <pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[AI Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[Shipping Agents Is a Level of Its Own]]></title>
      <link>https://saidmustafasaid.com/blog/content-15-shipping-agents</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-15-shipping-agents</guid>
      <description><![CDATA[Most agent projects die between the demo and the deploy. Shipping agents to production is its own engineering discipline: serving, cost, observability, and durable execution. Here is the last rung of the ladder.]]></description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[An Agent You Cannot Measure Is an Agent You Cannot Improve]]></title>
      <link>https://saidmustafasaid.com/blog/content-14-measuring-agents</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-14-measuring-agents</guid>
      <description><![CDATA[Measuring agents is the skill that separates a demo from a product. It looked fine when I tried it is not measurement, and this is how you replace that feeling with numbers you can trust.]]></description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[Agents You Can Trust Are Built From Guardrails]]></title>
      <link>https://saidmustafasaid.com/blog/content-13-agents-you-can-trust</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-13-agents-you-can-trust</guid>
      <description><![CDATA[A demo that works once is not a product. Agent security is the discipline of bounding what an agent can do: guardrails, prompt injection defence, least privilege, and graceful failure.]]></description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[When One Agent Is Not Enough]]></title>
      <link>https://saidmustafasaid.com/blog/content-12-when-one-agent-is-not-enough</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-12-when-one-agent-is-not-enough</guid>
      <description><![CDATA[Most problems never need a multi-agent system. Here is the honest cost of a swarm, when you actually earn one, and the coordination tax nobody prices in.]]></description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[Building a Single Agent Is a Loop With a Goal]]></title>
      <link>https://saidmustafasaid.com/blog/content-11-building-a-single-agent</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-11-building-a-single-agent</guid>
      <description><![CDATA[A single agent is not clever wiring. It is one loop that plans, acts, remembers, and corrects toward a goal. Its quality is decided by one thing: what you let into the context window.]]></description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[Tools Turn a Chatbot Into an Actor]]></title>
      <link>https://saidmustafasaid.com/blog/content-10-giving-models-tools</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-10-giving-models-tools</guid>
      <description><![CDATA[A chatbot answers. An agent acts. The one thing between them is a tool. This is how giving models tools works: schemas, the agentic loop, routing, and the MCP standard that kills bespoke glue.]]></description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[RAG Is a Search Problem Wearing an AI Costume]]></title>
      <link>https://saidmustafasaid.com/blog/content-9-giving-models-your-knowledge</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-9-giving-models-your-knowledge</guid>
      <description><![CDATA[RAG lets a model answer from your data without retraining. But RAG is a search problem in disguise, and it fails exactly where search fails, not where AI fails. Here is the whole retrieval pipeline, including the parts everyone skips.]]></description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[Prompt Engineering Is Software Engineering]]></title>
      <link>https://saidmustafasaid.com/blog/content-8-talking-to-models</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-8-talking-to-models</guid>
      <description><![CDATA[Prompt engineering looks like writing to a chatbot. The moment your code has to parse the reply, it becomes software engineering: system prompts, JSON Schema, function calling, and retry loops.]]></description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[A Language Model Is a Probability Machine]]></title>
      <link>https://saidmustafasaid.com/blog/content-7-how-a-language-model-works</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-7-how-a-language-model-works</guid>
      <description><![CDATA[How a language model works comes down to one fact: it predicts the next token. Tokens, embeddings, attention, context, and every sampling knob you touch all live inside that single trick.]]></description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[The Applied AI Engineering Ladder]]></title>
      <link>https://saidmustafasaid.com/blog/content-6-the-applied-ai-engineering-ladder</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-6-the-applied-ai-engineering-ladder</guid>
      <description><![CDATA[AI engineering is not machine-learning math. It is a ladder of nine engineering skills, and every level assumes the one below it. Skipping rungs is why most agent projects fail.]]></description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[Zero-Downtime Deploys on a Raspberry Pi]]></title>
      <link>https://saidmustafasaid.com/blog/content-5-zero-downtime-deploys-on-a-raspberry-pi</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-5-zero-downtime-deploys-on-a-raspberry-pi</guid>
      <description><![CDATA[People think zero-downtime deployment needs Kubernetes and a cloud bill. It needs one moving pointer. I run it on a Raspberry Pi on my desk, and the pattern is one managed platforms also use.]]></description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[What an LLM Actually Is]]></title>
      <link>https://saidmustafasaid.com/blog/content-4-what-an-llm-actually-is</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-4-what-an-llm-actually-is</guid>
      <description><![CDATA[A language model does one thing. It predicts the next token. It is frozen, it has no memory, and it cannot act. Everything else you will build in this course is a ring around that one function.]]></description>
      <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[AI Engineering]]></category>
    </item>
  
    <item>
      <title><![CDATA[Why One CV Cannot Win Every Job]]></title>
      <link>https://saidmustafasaid.com/blog/content-2-why-one-cv-cannot-win-every-job</link>
      <guid isPermaLink="true">https://saidmustafasaid.com/blog/content-2-why-one-cv-cannot-win-every-job</guid>
      <description><![CDATA[Most people send the same CV to every job and wonder why nothing comes back. A good CV is a tailored CV, but tailoring by hand does not scale. So I built a system that does it properly, for every job.]]></description>
      <pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate>
      <author>contact@saidmustafasaid.com (Said Mustafa Said)</author>
      <category><![CDATA[Engineering]]></category>
    </item>
  
  </channel>
</rss>