Author: drweb

SQL

This month I’m thrilled that Steve Hughes is hosting. I’ve read this Data on Wheels blog for a long time and I appreciate all that he does, especially given his struggles with ALS. I kicked myself a few times for not asking him to host earlier, but I’m glad I finally did.I also was honored to meet him a few weeks ago and spend a little time with him.With that, let’s get to Steve’s invitation.Lasting Memories from EventsThese days I don’t go to a lot of sessions at events. It’s not that I can’t learn from others, or be inspired,…

Read More

There is a dangerous conflation happening across our industry right now. Teams are plugging LLM-powered agents into their deployment pipelines, calling it “agentic CI/CD,” and treating it as the next logical step after shell scripts and Terraform modules. It is not. Automation executes predefined instructions. An agent reasons about context, makes decisions, and takes actions that were never explicitly coded. If we continue treating intelligent agents like scripts, we will fail to build the necessary governance layer that defines this next era of CI/CD. That difference is not semantic. It is architectural, operational, and, if you get it wrong, catastrophic.…

Read More

Python keywords are the reserved words that form the core grammar of the Python programming language. Each keyword has a specific meaning and purpose, and you cannot use any of them as variable names or identifiers in your code. Python currently has 35 keywords, and they cover everything from controlling program flow (if, else, for, while) to defining functions (def, lambda), handling errors (try, except, raise), and managing asynchronous operations (async, await). When the Python interpreter reads your code, it matches each word against this reserved set before deciding what the code means. That is why understanding keywords is not…

Read More

Python keywords are the reserved words that form the core grammar of the Python programming language. Each keyword has a specific meaning and purpose, and you cannot use any of them as variable names or identifiers in your code. Python currently has 35 keywords, and they cover everything from controlling program flow (if, else, for, while) to defining functions (def, lambda), handling errors (try, except, raise), and managing asynchronous operations (async, await). When the Python interpreter reads your code, it matches each word against this reserved set before deciding what the code means. That is why understanding keywords is not…

Read More

Every developer knows the problem. You ask an AI coding agent to plan a solution, it looks reasonable, and you move forward. But somewhere in the execution, a flawed assumption gets baked in, and by the time you catch it, you’ve got a mess to unwind. GitHub is taking a direct shot at that problem with a new experimental Copilot CLI feature called Rubber Duck. What Rubber Duck Does Rubber Duck leverages a second model from a different AI family to act as an independent reviewer, assessing the agent’s plans and work at the moments where feedback matters most. The…

Read More

GitHub Copilot is popular. The AI-powered code completion tool (originally developed by GitHub and OpenAI) works to give software application developers a so-called “AI pair programmer” buddy that offers suggested code snippets and (when called upon) entire functions – and it happens directly within an engineer’s Integrated Development Environment (IDE) of choice. All of which means that GitHub Copilot isn’t just popular in terms of total usage; the tool is reporting an increase in patterns of high concurrency (individual developers performing similar operations, but more likely different developers requesting the same types of functions) and intense usage among power-users. No…

Read More

Environment variables are one of those concepts that show up everywhere in production Python code, but most tutorials gloss over them entirely. You have seen them in Dockerfile entries and CI/CD pipelines. You have probably used os.environ without really understanding what is happening underneath. This is the guide I wish I had when I started building real systems. The short version is this. Environment variables are key value pairs that the operating system and other processes use to pass configuration into your Python program. They live outside your code, which means you can change how your app behaves without editing…

Read More

This post is a collaboration between Docker and Arm, demonstrating how Docker MCP Toolkit and the Arm MCP Server work together to scan Hugging Face Spaces for Arm64 Readiness. In our previous post, we walked through migrating a legacy C++ application with AVX2 intrinsics to Arm64 using Docker MCP Toolkit and the Arm MCP Server – code conversion, SIMD intrinsic rewrites, compiler flag changes, the full stack. This post is about a different and far more common failure mode. When we tried to run ACE-Step v1.5, a 3.5B parameter music generation model from Hugging Face, on an Arm64 MacBook, the…

Read More
SQL

One of the things a customer asked recently about Redgate Data Modeler was how to adjust a FK constraint between two tables. The tool seemed to makes this  easy, and this post will show you how.This is part of a series on Redgate Data Modeler.Altering a ConstraintIn a previous post, I looked at adding a FK. Let’s do things a little differently here. Let’s change a constraint to better reflect the relationships between entities. In this case, let’s look at a part of my model. I have the User and Author entities linked as shown below. Note that we have…

Read More