Listen to this article: Your browser does not support the audio element. Disclaimer: AI-assisted post. Structure and phrasing are Claude’s. The decisions, war stories, and 2am tequila are mine. It was a Saturday afternoon, after driving to & from Langebaan for my daughter’s sports match (#PresentDads), everyone was on devices...
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...
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...
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....
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...
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...
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,...
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...
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 & pasting data,...
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...
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...
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...
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 <plugin>: <version>. The motivation for that was to be able to install all plugins on our production Jenkins instance to our development Jenkins...
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...
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....
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...
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...
The Story I needed a way to get a list of all plugins installed on our production Jenkins instance in the format <plugin>: <version>. 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...
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...
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...