<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Muhammed Shah</title><description>Notes on building, breaking, and learning — one post at a time.</description><link>https://blog.muhammedshah.com/</link><item><title>Minecraft in 12 hours</title><link>https://blog.muhammedshah.com/posts/minecraft-in-12-hours/</link><guid isPermaLink="true">https://blog.muhammedshah.com/posts/minecraft-in-12-hours/</guid><description>A holiday side project: building a tiny Minecraft-like world in Python with the Ursina engine — blocks, terrain, trees, and a healthy dose of reality-checking along the way.</description><pubDate>Thu, 25 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Windows Subsystem for Linux</title><link>https://blog.muhammedshah.com/posts/windows-subsystem-for-linux/</link><guid isPermaLink="true">https://blog.muhammedshah.com/posts/windows-subsystem-for-linux/</guid><description>Setting up Docker Desktop with WSL 2 on Windows — why Docker needs a Linux kernel, a step-by-step walkthrough, and how it gets you to the same Claude Desktop + MCP Toolkit setup as on macOS.</description><pubDate>Wed, 03 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Cleaning up `.DS_Store` on MacOS</title><link>https://blog.muhammedshah.com/posts/cleaning-up-ds-store-on-macos/</link><guid isPermaLink="true">https://blog.muhammedshah.com/posts/cleaning-up-ds-store-on-macos/</guid><description>How to remove .DS_Store files that have already been pushed to GitHub, plus a breakdown of what the file is and how to prevent it from happening again with a global gitignore.</description><pubDate>Fri, 14 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Model Context Protocol (Hands-on)</title><link>https://blog.muhammedshah.com/posts/model-context-protocol-hands-on/</link><guid isPermaLink="true">https://blog.muhammedshah.com/posts/model-context-protocol-hands-on/</guid><description>Hands-on exploration of MCP using Docker Desktop&apos;s MCP Toolkit and Claude Desktop — setting it up and testing it against Obsidian, GitHub, web scraping, YouTube, LinkedIn, and PostgreSQL MCP servers.</description><pubDate>Thu, 13 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Agentic AI</title><link>https://blog.muhammedshah.com/posts/agentic-ai/</link><guid isPermaLink="true">https://blog.muhammedshah.com/posts/agentic-ai/</guid><description>Course notes on Agentic AI workflows — task decomposition, the four agentic design patterns (reflection, tool use, planning, multi-agent collaboration), evaluation, and practical tips for building and debugging agents.</description><pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate></item><item><title>The Journey of Optimization</title><link>https://blog.muhammedshah.com/posts/the-journey-of-optimization/</link><guid isPermaLink="true">https://blog.muhammedshah.com/posts/the-journey-of-optimization/</guid><description>Notes from optimizing a self-hosted LLM setup — keeping models warm, quantization tradeoffs on limited VRAM, and the configuration changes that finally got accurate answers out of web search + RAG.</description><pubDate>Tue, 07 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Private GPT on Linux/WSL</title><link>https://blog.muhammedshah.com/posts/private-gpt-on-linux-wsl/</link><guid isPermaLink="true">https://blog.muhammedshah.com/posts/private-gpt-on-linux-wsl/</guid><description>Setting up a self-hosted ChatGPT alternative with Ollama and Open WebUI on Linux/WSL — installation, oAuth, OneDrive integration, and the lessons learned along the way.</description><pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Model Context Protocol</title><link>https://blog.muhammedshah.com/posts/model-context-protocol/</link><guid isPermaLink="true">https://blog.muhammedshah.com/posts/model-context-protocol/</guid><description>An introduction to the Model Context Protocol (MCP) — what it is, how its client-server architecture works, and how tools, resources, and prompts fit together.</description><pubDate>Mon, 01 Sep 2025 00:00:00 GMT</pubDate></item></channel></rss>