Using Python Context Managers for Structured Logging in AWS

One of the most valuable debugging tools in a distributed or cloud-based microservices environment is structured logging. In AWS, where we rely on CloudWatch or similar tools to aggregate and search our logs, it’s especially important that our log entries are not only readable by humans, but also easily parsed and filterable by machines. When…

Read More

Creating a Digital Personal Assistant – Part 1

Overview Lately, I’ve been toying with the idea of building my own digital personal assistant, leveraging AI, LLMs, and agent-based technologies. The goal is to create a tool that can help with the types of one-off tasks that people like me often encounter. This blog series isn’t meant to be a step-by-step guide but rather…

Read More

Function Composition In Python

Function Composition In Python The Single Responsibility Principle (SRP) emphasizes that a function, class, or module should focus on a single task or responsibility. By adhering to SRP, code becomes more modular and easier to understand, which in turn simplifies both maintenance and testing. When each component is responsible for just one function, it reduces…

Read More