<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Mpho Mphego</title>
    <description>Hi! I&apos;m Mpho Mphego, a self-taught Python developer.</description>
    <link>https://blog.mphomphego.co.za</link>
    <atom:link href="https://blog.mphomphego.co.za/feed.xml" rel="self" type="application/rss+xml" />
    
      <item>
        <title>Did I Just Accidentally Build a Memory Management System for Claude Code?</title>
        <description>
          
          It has been one of those months where you fix something small and discover something big. The Story It’s a Tuesday afternoon. I’m updating a GitHub Actions workflow when Claude Code tells me actions/checkout@v5 doesn’t exist and downgrades to v4. No confirmation. (I’m running --allow-dangerously-skip-permissions, I know, I know.) I’d...
        </description>
        <pubDate>Sat, 21 Mar 2026 08:00:00 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2026/03/21/Did-I-Just-Accidentally-Build-a-Memory-Management-System-for-Claude-Code.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2026/03/21/Did-I-Just-Accidentally-Build-a-Memory-Management-System-for-Claude-Code.html</guid>
      </item>
    
      <item>
        <title>Running Google ADK Agents on AWS Bedrock via LiteLLM in Production: A Practical Guide to the Gotchas</title>
        <description>
          
          It was supposed to be one of those focused days, the kind where you block off a few hours for deep work and knowledge transfer (set your MS Teams status to “Do Not Disturb” and hope for the best). Suvi. R. - One of the engineers on the team was...
        </description>
        <pubDate>Thu, 05 Mar 2026 22:20:00 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2026/03/05/Running-Google-ADK-Agents-on-AWS-Bedrock-via-LiteLLM.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2026/03/05/Running-Google-ADK-Agents-on-AWS-Bedrock-via-LiteLLM.html</guid>
      </item>
    
      <item>
        <title>How I Built 20+ Custom AI Coding Skills to Automate My Entire Engineering Workflow</title>
        <description>
          
          It has been a productive few months — too productive, if you ask my Git history. But this post has been brewing for a while, and it’s time to share what happened when I stopped accepting the grunt work as “just part of the job.” The Story It’s 5 PM....
        </description>
        <pubDate>Sat, 28 Feb 2026 09:00:00 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2026/02/28/How-I-Built-20+-Custom-AI-Coding-Skills-to-Automate-My-Entire-Engineering-Workflow.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2026/02/28/How-I-Built-20+-Custom-AI-Coding-Skills-to-Automate-My-Entire-Engineering-Workflow.html</guid>
      </item>
    
      <item>
        <title>Why Mpho Mphego Might Be The World’s Worst AI Software And Data Engineer</title>
        <description>
          
          5 Min The Story A completely unfair, deeply biased, and rigorously reasoned critique This post was inspired by Andrew Baker’s essay, “Why Andrew Baker Is the World’s Worst CTO”, which uses self-critique as a lens to expose what real technical leadership and engineering rigor actually look like. By ChatGPT, on...
        </description>
        <pubDate>Wed, 04 Feb 2026 20:35:02 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2026/02/04/Why-Mpho-Mphego-Might-Be-the-World-s-Worst-AI-Software-and-Data-Engineer.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2026/02/04/Why-Mpho-Mphego-Might-Be-the-World-s-Worst-AI-Software-and-Data-Engineer.html</guid>
      </item>
    
      <item>
        <title>How I Simplified LLM Telemetry Using Dual-Destination Observability Without Performance Degradation</title>
        <description>
          
          Note: I haven’t written a blog post in over a year, so tread carefully! But this story felt worth sharing. The Story Picture this: You’re an engineer trying to convince (or shall I say, sell) Langfuse to your enterprise architect for LLM observability. You’ve done extensive homework and made the...
        </description>
        <pubDate>Mon, 08 Dec 2025 04:19:08 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2025/12/08/How-I-Simplified-LLM-Telemetry-Using-Dual-Destination-Observability-Without-Performance-Degradation.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2025/12/08/How-I-Simplified-LLM-Telemetry-Using-Dual-Destination-Observability-Without-Performance-Degradation.html</guid>
      </item>
    
      <item>
        <title>How To Enforce SQL Code Quality Using SQLFluff, Pre-Commit And GitHub Actions</title>
        <description>
          
          The Story As a data engineer, one of your task is to ensure that you and everyone in your team is writing efficient and maintainable SQL code. This is crucial to the success of any data-driven project. However, ensuring that your SQL code adheres to best practices can be challenging,...
        </description>
        <pubDate>Fri, 11 Oct 2024 11:02:54 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2024/10/11/How-to-Enforce-SQL-Code-Quality-using-SQLFluff-Pre-Commit-and-GitHub-Actions.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2024/10/11/How-to-Enforce-SQL-Code-Quality-using-SQLFluff-Pre-Commit-and-GitHub-Actions.html</guid>
      </item>
    
      <item>
        <title>How An EC2 Instance Became My Go-To Remote Development Solution Using Terraform</title>
        <description>
          
          The Story Due to strict network security policies enforced by tools like ZScaler causing endless installation failures and security warnings for Python dependencies on local development machine (work laptop). The constant need to reconfigure settings and whitelist packages to bypass these restrictions did not only cause disruption but also pose...
        </description>
        <pubDate>Sun, 18 Aug 2024 14:09:37 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2024/08/18/How-An-EC2-Instance-Became-My-Go-To-Remote-Development-Solution.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2024/08/18/How-An-EC2-Instance-Became-My-Go-To-Remote-Development-Solution.html</guid>
      </item>
    
      <item>
        <title>How To Automate Jira And Confluence Using Python</title>
        <description>
          
          The Story So, I found myself getting frustrated with the time-consuming process of manually updating numerous Jira issues (Death-by-Admin)? Imagine having to create over 44 tickets with new descriptions and acceptance criteria. The mere thought of opening 44 tabs (on a simple 16GB RAM Dell laptop), copying &amp;amp; pasting data,...
        </description>
        <pubDate>Wed, 22 May 2024 10:43:51 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2024/05/22/How-to-automate-Jira-and-Confluence-using-Python.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2024/05/22/How-to-automate-Jira-and-Confluence-using-Python.html</guid>
      </item>
    
      <item>
        <title>How To Connect To AWS Athena Using DBeaver Community Edition Via AWS SSO</title>
        <description>
          
          The Story As a data engineer, I find myself entrenched in Amazon Athena from verifying/validating source extracts to daily analysis, the struggle with AWS console is all too familiar. Its cumbersome nature-repetitive logins, navigations and manual query input challenges efficiency and creativity. Engaging solely through this console impedes agile data...
        </description>
        <pubDate>Wed, 27 Dec 2023 10:00:48 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2023/12/27/How-to-connect-to-AWS-Athena-using-DBeaver-Community-Edition-via-AWS-SSO.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2023/12/27/How-to-connect-to-AWS-Athena-using-DBeaver-Community-Edition-via-AWS-SSO.html</guid>
      </item>
    
      <item>
        <title>How To Verify Data Quality On Tables Landed On AWS Data Lake And Data Warehouse</title>
        <description>
          
          The Story As a data engineer, the responsibility of ensuring data quality is not just a task - it’s a commitment to the integrity of insights derived from the vast volumes of data we manage. The accuracy and dependability of your insights depend on the quality of the data you...
        </description>
        <pubDate>Sat, 11 Nov 2023 05:32:58 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2023/11/11/How-to-Verify-Data-Quality-on-Tables-Landed-on-AWS-Data-Lake-and-Data-Warehouse.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2023/11/11/How-to-Verify-Data-Quality-on-Tables-Landed-on-AWS-Data-Lake-and-Data-Warehouse.html</guid>
      </item>
    
      <item>
        <title>How To Efficiently Extract Tables From MSSQL Server To A Data Lake</title>
        <description>
          
          The Story As a Data Engineer, one of the core responsibilities is to ensure the optimal utilization of resources and minimize costs while performing data related work such as extractions and transfers. In this step-by-step guide, I’ll walk you through the process I followed when extracting tables from MicroSoft SQL...
        </description>
        <pubDate>Wed, 02 Aug 2023 09:56:47 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2023/08/02/How-to-Efficiently-Extract-Tables-from-MSSQL-Server-to-a-Data-Lake.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2023/08/02/How-to-Efficiently-Extract-Tables-from-MSSQL-Server-to-a-Data-Lake.html</guid>
      </item>
    
      <item>
        <title>Managing Jenkins Plugins</title>
        <description>
          
          The Story I (well We, @AneleMakhaba and I) needed a way to get a list of all plugins installed on our production Jenkins instance in the format &amp;lt;plugin&amp;gt;: &amp;lt;version&amp;gt;. The motivation for that was to be able to install all plugins on our production Jenkins instance to our development Jenkins...
        </description>
        <pubDate>Fri, 24 Jun 2022 08:04:13 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2022/06/24/Managing-Jenkins-Plugins.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2022/06/24/Managing-Jenkins-Plugins.html</guid>
      </item>
    
      <item>
        <title>How I Setup Jenkins On Docker Container Using Ansible (Part 1)</title>
        <description>
          
          The Story Recently, my team found themselves in a situation where they needed to have a staging or development Jenkins environment. The motivation behind the need for a new environment was that we needed a backup Jenkins environment and a place where new Jenkins users could get their hands dirty...
        </description>
        <pubDate>Mon, 09 May 2022 12:23:50 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2022/05/09/How-I-setup-Jenkins-on-Docker-container-using-Ansible-Part-1.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2022/05/09/How-I-setup-Jenkins-on-Docker-container-using-Ansible-Part-1.html</guid>
      </item>
    
      <item>
        <title>How I Setup Jenkins On Docker Container Using Ansible (Part 2)</title>
        <description>
          
          The Story This post continues from How I Setup Jenkins On Docker Container Using Ansible (Part 1) In this post, we will detail how an auto-configured Jenkins environment was built and deployed as a Docker container. The Walk-through The setup is divided into 3 sections, Instance Creation, Containerization and Automation....
        </description>
        <pubDate>Mon, 09 May 2022 12:22:16 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2022/05/09/How-I-setup-Jenkins-on-Docker-container-using-Ansible-Part-2.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2022/05/09/How-I-setup-Jenkins-on-Docker-container-using-Ansible-Part-2.html</guid>
      </item>
    
      <item>
        <title>How I Uninstalled YouTube From Android TV</title>
        <description>
          
          The Story Not sure about you, but the fact that some apps come pre-installed on your Android TV and you cannot remove them is a big deal to me. YouTube is one of them. Due to some inappropriate content found on YouTube, I decided to uninstall it. Pre-installed apps on...
        </description>
        <pubDate>Mon, 11 Apr 2022 12:01:21 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2022/04/11/How-I-uninstalled-YouTube-from-Android-TV.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2022/04/11/How-I-uninstalled-YouTube-from-Android-TV.html</guid>
      </item>
    
      <item>
        <title>How I Setup Jenkins On Docker Container Using Ansible (Part 3)</title>
        <description>
          
          The Story This post continues from How I Setup Jenkins On Docker Container Using Ansible (Part 2) In this post, I will try to detail how to we deployed Jenkins environment using Ansible and configure Jenkins Jobs after system initialization. TL;DR The How Now that we have our EC2 instance...
        </description>
        <pubDate>Mon, 21 Mar 2022 05:45:52 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2022/03/21/How-I-setup-Jenkins-on-Docker-container-using-Ansible-Part-3.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2022/03/21/How-I-setup-Jenkins-on-Docker-container-using-Ansible-Part-3.html</guid>
      </item>
    
      <item>
        <title>Note To Self: How To Get A Complete Plugin List From Jenkins</title>
        <description>
          
          The Story I needed a way to get a list of all plugins installed on our production Jenkins instance in the format &amp;lt;plugin&amp;gt;: &amp;lt;version&amp;gt;. The motivation for that was to be able to install all plugins on our production Jenkins instance to our development Jenkins instance(from a Dockerfile). As I...
        </description>
        <pubDate>Tue, 08 Mar 2022 08:39:14 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2022/03/08/Note-to-self-How-to-get-a-complete-plugin-list-from-Jenkins.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2022/03/08/Note-to-self-How-to-get-a-complete-plugin-list-from-Jenkins.html</guid>
      </item>
    
      <item>
        <title>Lunch And Learn - Security Hardening For Your Docker Environment</title>
        <description>
          
          The Story This talk is aimed at SysAdmin/DevOps/Devs/SecExperts and/or intermediate Docker users and was motivated by this blog-post: How I Hardened The Security Of My Docker Environment In this video, I am going to be giving you an overview on how to harden the security of your Docker environment and...
        </description>
        <pubDate>Wed, 23 Feb 2022 17:37:41 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2022/02/23/Lunch-and-Learn-Security-Hardening-for-your-Docker-Environment.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2022/02/23/Lunch-and-Learn-Security-Hardening-for-your-Docker-Environment.html</guid>
      </item>
    
      <item>
        <title>I Signed Up For A Udacity&apos;s Digital Marketing Nano Degree, Here&apos;s Why!</title>
        <description>
          
          The Story I am sure the first question running through your mind is, why did a Software Engineer decide to sign up for a Udacity’s Digital Marketing Nano Degree. It’s simple really, the world as we know it is driven by the internet and technology has been evolving at a...
        </description>
        <pubDate>Thu, 17 Feb 2022 23:58:48 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2022/02/17/I-signed-up-for-a-Udacitys-Digital-Marketing-Nano-Degree-heres-why.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2022/02/17/I-signed-up-for-a-Udacitys-Digital-Marketing-Nano-Degree-heres-why.html</guid>
      </item>
    
      <item>
        <title>Lunch &apos;n Learn: Docker And Docker Compose (Noobs)</title>
        <description>
          
          The Story Recently I gave a talk to my colleagues and co-worker on how to use Docker and Docker Compose to build a containerized application. This talk was mostly aimed at beginners, and included a short introduction to the concepts. I thought it would be a good idea to share...
        </description>
        <pubDate>Mon, 14 Feb 2022 22:37:00 +0200</pubDate>
        <link>https://blog.mphomphego.co.za/blog/2022/02/14/Lunch-n-Learn-Docker-and-Docker-compose-Noobs.html</link>
        <guid isPermaLink="true">https://blog.mphomphego.co.za/blog/2022/02/14/Lunch-n-Learn-Docker-and-Docker-compose-Noobs.html</guid>
      </item>
    
  </channel>
</rss>
