
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>Kyle&#39;s Blog</title>
      <link>https://blacklight.sh/blog</link>
      <description>Musings on engineering, cybersecurity and AI.</description>
      <language>en-us</language>
      <managingEditor>kmistele@protonmail.com (Kyle Mistele)</managingEditor>
      <webMaster>kmistele@protonmail.com (Kyle Mistele)</webMaster>
      <lastBuildDate>Thu, 28 Aug 2025 00:00:00 GMT</lastBuildDate>
      <atom:link href="https://blacklight.sh/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://blacklight.sh/blog/rag-is-about-retrieval</guid>
    <title>RAG is (Not) Dead: How to Think about Building RAG Systems</title>
    <link>https://blacklight.sh/blog/rag-is-about-retrieval</link>
    <description>RAG isn&#39;t about vector databases and embeddings, or any specific architecture. It&#39;s about retrieving relevant context well.</description>
    <pubDate>Thu, 28 Aug 2025 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>llms</category><category>ai</category><category>prompting</category><category>agents</category><category>context-engineering</category><category>prompt-engineering</category><category>rag</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/building-kydenticon-github-style-identicons</guid>
    <title>Building Kydenticon: A TypeScript Library for GitHub-Style Identicons</title>
    <link>https://blacklight.sh/blog/building-kydenticon-github-style-identicons</link>
    <description>Deep dive into creating a zero-dependency TypeScript library for generating beautiful, deterministic identicons with PNG and SVG support, built with modern tooling.</description>
    <pubDate>Sun, 20 Jul 2025 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>typescript</category><category>open-source</category><category>identicons</category><category>npm</category><category>bun</category><category>next.js</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/prompting-wrong-xml-json</guid>
    <title>You&#39;re Doing it Wrong: Prompt- and Context-Engineer with XML, not JSON</title>
    <link>https://blacklight.sh/blog/prompting-wrong-xml-json</link>
    <description>Exploring the syntactic and semantic differences between XML and JSON and why the former provides a more robust structure for complex LLM prompts</description>
    <pubDate>Thu, 10 Jul 2025 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>llms</category><category>ai</category><category>prompting</category><category>agents</category><category>context-engineering</category><category>prompt-engineering</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/mcp-deep-dive-great-broken-dangerous</guid>
    <title>MCP Deep Dive: the Great, the Broken, and the Downright Dangerous</title>
    <link>https://blacklight.sh/blog/mcp-deep-dive-great-broken-dangerous</link>
    <description>I&#39;ve spent months in the trenches building with MCP. This is my report from the front lines: a deep dive into MCP&#39;s powerful vision, frustrating reality, and critical security flaws.</description>
    <pubDate>Wed, 09 Jul 2025 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>AI</category><category>agents</category><category>MCP</category><category>auth</category><category>oauth</category><category>internals</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/thoughts-on-mcp</guid>
    <title>Why Everybody is so Excited about MCP</title>
    <link>https://blacklight.sh/blog/thoughts-on-mcp</link>
    <description>Everybody&#39;s talking about MCP, but what&#39;s all the hype for? In this post I dig into what about MCP has everyone so excited.</description>
    <pubDate>Thu, 03 Jul 2025 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>AI</category><category>agents</category><category>MCP</category><category>auth</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/building-opensearch-deep-research-agent</guid>
    <title>OpenSearch: Building a Deep Research Agent from Scratch</title>
    <link>https://blacklight.sh/blog/building-opensearch-deep-research-agent</link>
    <description>Building AI Agents is hard! In this post I walk through the process of building OpenSearch, my open-source deep research agent, from scratch. I&#39;ll go over system design, my stack, and what I learned about building agents.</description>
    <pubDate>Tue, 01 Jul 2025 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>AI</category><category>open-source</category><category>agents</category><category>search</category><category>retrieval</category><category>context-engineering</category><category>prompt-engineering</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/vibe-coding-a-mac-app</guid>
    <title>I Will Never &quot;Vibe Code&quot; Again: Building a Native MacOS App with Cursor</title>
    <link>https://blacklight.sh/blog/vibe-coding-a-mac-app</link>
    <description>I decided to &quot;Vibe Code&quot; a port monitor app that lives in my Mac&#39;s menu bar, and I learned lots of lessons along the way like &quot;How to debug corrupted system caches&quot; and &quot;How to boot a M3 Macbook Pro into safe mode&quot;. Featuring hot takes on vibe coding.</description>
    <pubDate>Mon, 23 Jun 2025 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>ai</category><category>open-source</category><category>software-engineering</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/secure-reliable-oauth-integrations</guid>
    <title>8 Key Components of Secure &amp; Reliable OAuth Integrations</title>
    <link>https://blacklight.sh/blog/secure-reliable-oauth-integrations</link>
    <description>Building OAuth integrations is quite complicated and can be migraine-inducing - specifics vary between implementations, and security is easy to get wrong. In this article, I walk through what you need to make sure you&#39;re thinking about.</description>
    <pubDate>Wed, 18 Jun 2025 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>OAuth</category><category>cybersecurity</category><category>cryptopgraphy</category><category>SaaS</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/talking-about-a2a-and-mcp</guid>
    <title>MCP, A2A, and Inter-agent communication</title>
    <link>https://blacklight.sh/blog/talking-about-a2a-and-mcp</link>
    <description>A podcast with the Naptha AI team about Google&#39;s new A2A protocol for inter-agent communication, and how it fits into the agent protocol stack with MCP</description>
    <pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>AI</category><category>agents</category><category>MCP</category><category>A2A</category><category>protocols</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/open-source-vllm-tool-calling</guid>
    <title>Implementing OpenAI-Compatible Tool Calling &amp; Tool Streaming for Open-source models in vLLM</title>
    <link>https://blacklight.sh/blog/open-source-vllm-tool-calling</link>
    <description>This is a transcription of a talk I gave at vLLM&#39;s office hours after landing vLLM&#39;s first-of-its-kind tool calling implementation that allows using OpenAI-compatible tools and tool streaming with opens-source models.</description>
    <pubDate>Wed, 30 Oct 2024 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>AI</category><category>vLLM</category><category>open-source</category><category>agents</category><category>LLMs</category><category>inference</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/beginners-guide-edr-evasion</guid>
    <title>A Beginner&#39;s Guide to Malware and EDR Evasion</title>
    <link>https://blacklight.sh/blog/beginners-guide-edr-evasion</link>
    <description>A beginner&#39;s guide to bypassing EDR systems using APC queue injection and direct system calls.</description>
    <pubDate>Sat, 25 Sep 2021 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>cybersecurity</category><category>malware</category><category>evasion</category><category>windows</category><category>operating systems</category><category>internals</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/extracting-stored-wifi-credentials</guid>
    <title>Dumping Stored Enteprise Wi-Fi Credentials with Invoke-WifiSquid</title>
    <link>https://blacklight.sh/blog/extracting-stored-wifi-credentials</link>
    <description>Credential re-use is rampant, and every post-exploitation action that gets you credentials for potential lateral movement is a win in my book. Learn how to grab stored enterprise wifi credentials from compromised machines.</description>
    <pubDate>Mon, 28 Jun 2021 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>cybersecurity</category><category>networking</category><category>windows</category><category>cryptography</category><category>passwords</category><category>post-exploitation</category>
  </item>

  <item>
    <guid>https://blacklight.sh/blog/extracting-browser-passwords</guid>
    <title>Extracting Saved Browser Passwords: Your New Favorite Post-Exploitation Technique</title>
    <link>https://blacklight.sh/blog/extracting-browser-passwords</link>
    <description>Learn how to extract saved browser passwords from compromised hosts for fun and profit - your new favorite post-exploitation technique!</description>
    <pubDate>Thu, 24 Jun 2021 00:00:00 GMT</pubDate>
    <author>kmistele@protonmail.com (Kyle Mistele)</author>
    <category>cybersecurity</category><category>passwords</category><category>post-exploitation</category>
  </item>

    </channel>
  </rss>
