# Salman Quazi — salmanq.com > Personal technical blog by Salman Quazi, Director of Engineering at Microsoft CoreAI (Mountain View, CA). Posts explain how large language models work under the hood — tokenization, attention, constrained decoding, function calling, tool use, and agentic architectures — plus software design patterns, .NET performance, and algorithms. A longer version with descriptions for every section is available at [llms-full.txt](https://www.salmanq.com/llms-full.txt). ## Featured Articles (LLM Series — recommended reading order) - [microGPT from First Principles](https://www.salmanq.com/blog/microgpt-from-first-principles/): A line-by-line walkthrough of Karpathy's 200-line GPT, covering embeddings, attention, backpropagation, and the Adam optimizer at toy scale. - [The Grammar of LLM Special Tokens](https://www.salmanq.com/blog/llm-special-tokens/): How special tokens like `<|im_start|>` impose conversational structure on a next-token predictor. - [Function Calling Internals: Grammars and Constrained Sampling](https://www.salmanq.com/blog/llm-constrained-sampling/): Why LLM function calls produce valid JSON — a grammar engine masks invalid tokens at every sampling step. - [Why Built-in Tools Outperform Function Tools](https://www.salmanq.com/blog/llm-built-in-tools/): Built-in tools are in-distribution; custom function tools force the model to generalize from a schema it has never seen. - [How LLMs Keep Built-in and Function Tools From Colliding](https://www.salmanq.com/blog/llm-tool-namespaces/): Namespace separation, from Harmony tokens to the Responses API, keeps tool names from clashing. - [The Simplest Agent Loop](https://www.salmanq.com/blog/simplest-agent-loop/): Strip away the frameworks and an AI agent is just a while loop, with the LLM deciding when to stop. - [Composing MCP Tools with TypeScript](https://www.salmanq.com/blog/composing-mcp-tools-with-typescript/): Chaining MCP tools in a single sandboxed TypeScript snippet to keep intermediate data out of the context window. - [Skills vs. MCP](https://www.salmanq.com/blog/skills-vs-mcp/): MCP loads a flat static schema every iteration; Skills use three-tier progressive disclosure to keep context lean. ## Author - [About](https://www.salmanq.com/about/): Salman Quazi — Director of Engineering, Microsoft CoreAI, Mountain View, CA - [GitHub](https://github.com/splusq): Open-source projects and code samples - [LinkedIn](https://www.linkedin.com/in/salmanquazi/): Professional profile - [X](https://x.com/splusq): Posts and updates ## Site - [Homepage](https://www.salmanq.com/): Latest posts and site entry point - [Blog index](https://www.salmanq.com/blog/): Full chronological archive of posts - [LLM series index](https://www.salmanq.com/blog/series/llm/): All posts in the LLM-internals series - [Search](https://www.salmanq.com/search/): Full-text search across the blog - [RSS feed](https://www.salmanq.com/index.xml): Subscribe to new posts - [Sitemap](https://www.salmanq.com/sitemap.xml): Machine-readable list of all pages