I first ran into namedtuples when debugging a data pipeline. Reading record[0] and record[1] everywhere was a nightmare – switching to record.city and record.state was a instant clarity upgrade that I came back to every time. A namedtuple is a tuple subclass from Python’s collections module that gives you named field access while keeping the immutability and hashability of a tuple. This makes it perfect for fixed records, configuration objects, and lightweight data transfer objects. This article covers creating namedtuples, accessing fields, built-in methods, and common patterns. TLDR Namedtuples are tuples with named fields, created via collections.namedtuple() Fields are accessed…
Author: drweb
Atlassian used its Team ’26 user conference this month in Anaheim to explain how its platform has now further evolved to underpin the reality of what the company defines as the AI‑native organization. This still-emerging entity is a company (or indeed a department, an individual team or working group) where human teams are co‑creating alongside agents. User Base Spread & Reach While many of the automation advancements coming out of Atlassian will be directed at businesspeople and non-technical staff, an equal and opposite number (give or take) are aligned to serve software engineering teams with agentic automations. The company champions…
Last month, you learned the basics of Textual’s DOM queries. If you missed it, you can read the article now! In this tutorial you will be learning about the following topics: The DOMQuery object Getting the first or last widget Query filters Query exclusions Other query methods Let’s get started! query[1] len(query) reverse(query) etc However, DOMQuery has additional methods of its very own. You can get a list of these methods using Python’s dir() function against the DOMQuery object. To see this in action, create a new file named domquery_methods.py in your Python IDE and add this code: # domquery_methods.py import pprint from textual.app import App, ComposeResult from…
For the past year or so, AI coding agents have been tethered to your local machine. You kick off a task, watch the terminal, and babysit every step. It works — but it’s not exactly hands-free. Mistral just changed that. On April 29, the Paris-based AI company announced remote coding agents for its Vibe platform, powered by a new model called Mistral Medium 3.5. The idea is simple: Instead of running coding sessions on your laptop, they now run in the cloud — asynchronously, in parallel, and without you watching over them. What’s Actually New Coding sessions can now work…
I needed to build an inventory optimization system for a warehouse client last year. The problem was classic: too much working capital tied up in stock, but not enough safety buffer to handle demand spikes. I ended up using a combination of EOQ, safety stock calculations, and time series forecasting to solve it. Python made every step tractable. This article walks through the four techniques I now reach for when building inventory models. By the end, you will have working code for Economic Order Quantity (EOQ), safety stock, ARIMA demand forecasting, and exponential smoothing. TLDR Economic Order Quantity (EOQ) finds…
I needed a fun weekend project that actually taught me something useful about Python. Rock Paper Scissors seemed simple enough, but I quickly realized there are two versions of this game out there – the classic three-move version and the extended Rock-Paper-Scissors-Lizard-Spock from The Big Bang Theory. I decided to build both. This article walks through building both versions in Python from scratch. By the end, you will have a working terminal game that handles player input, generates random computer moves, determines winners, and keeps running until the player quits. The same logic applies to any simple game you want…
You deleted a log file mid-session, a running process is still writing to it, and ls shows nothing, but the data is still there, and you can get it back before the process closes. Linux deletes files the way most people assume is permanent, but what the rm command actually does is remove the directory entry and decrement the file’s link count, and if any process still has that file open, the kernel keeps the underlying inode alive until the last file descriptor pointing to it is closed. That window between rm and process exit is your recovery window, and…
Incredibuild this week developed a sandbox, dubbed Islo, that makes it possible to safely run artificial intelligence (AI) coding agents. Company CEO Shimon Hason said Islo provides an isolated execution environment that enables DevOps teams to limit access to sensitive data, codebases, resources and services. Each AI coding agent is then provided with its own dedicated, isolated environment that operates independently and can be centrally managed by a DevOps team. DevOps teams can deploy Islo independently of the Incredibuild platform or, alternatively, use the Incredibuild software development lifecycle (SDLC) management platform to apply policy controls, manage agent identities, enforce guardrails,…
Now that we know what’s slow, let’s fix it. We’ll optimize the most expensive component in our…
My database was choking under the weight of repeated queries for user sessions. Every time a user logged in, the app hit PostgreSQL with the same fetch request, slowing things down for everyone. I needed an in-memory layer between my app and the disk, something fast that could store session data without the overhead of a full database round-trip. That is when I found Redis. This article covers what Redis is and how to use it from Python. By the end, you will understand data structures in Redis, how to run CRUD operations, use transactions and pipelines, and implement caching…
