All Posts

MicroPython vs. The Cloud: Controlling My Smart AC with an ESP32-C3 SuperMini

How I reverse engineered the Electra AC app API using Genymotion and HTTP Toolkit, then built a web interface running on an ESP32-C3 SuperMini to control my AC from anywhere.

My DevOps goals for 2026

Reflecting on 2025 and setting my DevOps goals for 2026 - from automated workflows to learning a new language and beyond.

The Zero-Reach Stack, Episode #1 - How to Ditch Your Mouse with KMonad

Learn how to build a mouseless workflow on macOS using KMonad for advanced keyboard remapping, including layers, aliases, and practical examples for eliminating mouse dependency.

Helm Post Renderers: Because Sometimes You Need to Ship Fast (and Fix It Later)

Discover how to use Helm post renderers to modify Kubernetes manifests on the fly without changing chart source code, useful for quick fixes and edge cases.

Cross-account SQS access is easier than you think

Learn how to configure cross-account access for AWS SQS queues using resource-based policies and IAM permissions.

Initiative will always matter more than experience

Reflections on how taking initiative and being willing to learn matters more than credentials or years of experience in building a successful tech career.

Switching Careers From IT To DevOps

A comprehensive guide for IT professionals looking to transition into DevOps, covering essential soft skills like leadership and critical thinking, plus key tools including CI/CD, Kubernetes, IaC, and observability platforms.

Start using Crossplane in 30 minutes or less

Get started with Crossplane, the Kubernetes-native infrastructure as code tool, and learn how to provision AWS resources using Providers, CompositeResourceDefinitions, and Compositions.

Karpenter, and the future of Kubernetes

An introduction to Karpenter, the Kubernetes node autoscaler that dynamically provisions and terminates nodes based on pod requirements, with practical EKS examples.

Terminal escape codes are awesome, here's why

A deep dive into terminal escape codes, CSI and OSC sequences, and how to customize your Bash shell with vi-mode indicators and cursor styling.

Dealing with Conflicting PowerShell Cmdlets

Resolve PowerShell cmdlet conflicts between modules like VMware PowerCLI and Hyper-V using the module-qualified cmdlet syntax.

Jira issue printer? Sure, why not

Building a thermal receipt printer that prints Jira issues using Go, ESC/POS commands, webhooks, and SSH tunneling through an Azure Ubuntu server.

An Introduction to Kusto Query Language

Get started with Kusto Query Language (KQL), Microsoft's powerful query language for Azure Log Analytics and Azure Data Explorer.

Gathering Azure AD Role Operations with PowerShell

A guide to viewing Azure AD role definitions and their allowed operations using PowerShell, with examples for analyzing roles like Global Administrator.

I found a security breach by buying a blender

How a blender warranty registration led to discovering a website security vulnerability that exposed customer personal data through predictable image URLs.

Launching a GMod Server Is Easier Than You Think

Learn how to set up your own Garry's Mod dedicated server on Google Cloud Platform using SteamCMD, with step-by-step configuration for server settings and game content mounting.

From WhatsApp to Signal, and #MakePrivacyStick

Learn how to migrate your WhatsApp stickers to Signal, including how sticker packs work under the hood and step-by-step instructions for importing them.

Azure Role Definitions Demystified

Understand Azure role definitions and their JSON structure, including Actions, NotActions, DataActions, and AssignableScopes for RBAC permissions.

Cloning a system using Clonezilla

Step-by-step guide to cloning a hard drive or SSD using Clonezilla, the free and open-source disk imaging solution.

Windows Terminal - Useful Tool or Gimmick?

An overview of Windows Terminal's features including multi-tab support, custom themes, keyboard shortcuts, panes, and why it could be a productivity game-changer for IT professionals.

Are AWS WorkSpaces a Viable WFH Option?

An honest review of AWS WorkSpaces as a work-from-home solution, covering performance, security, and pitfalls of Amazon's Desktop-as-a-Service platform.

Chaining Linux Commands Like a Pro

Master Linux command chaining operators including semicolon, double ampersand, logical or, and single ampersand for powerful shell scripting.

Adventures in Renaming AD Objects

Learn how to rename Active Directory user objects using PowerShell's Rename-ADObject cmdlet when Set-ADUser falls short.

Looking at AD Metadata with Repadmin in 2026

Discover how to use Repadmin's showobjmeta option to inspect Active Directory object metadata, track attribute changes, and perform identity forensics across domain controllers.

Syncing Active Directory to Google Cloud

Step-by-step guide to synchronizing your Active Directory users and groups with Google Cloud using GCDS, including tips for password sync and automated scheduling.

Multiple-regex-checking Python One-liner

A concise Python technique using map() and lambda functions to validate strings against multiple regular expressions simultaneously, perfect for password validation and similar use cases.

Changing Input Source Shortcuts in Ubuntu

How to customize keyboard layout switching shortcuts in Ubuntu using gsettings when gnome-tweaks causes focus issues.

How I Made a Simple Arduino Game

A weekend project building a space invaders-style game on an Arduino with an 8x8 LED matrix, covering player movement, enemy spawning, and game logic in C++.

How to enable Active Directory Auditing

Step-by-step guide to enabling Active Directory auditing through Group Policy, covering both basic Local Policy options and advanced audit policy configuration.