Articles
Crafting a python debugger plugin for regex highlighting in log filesLog files are the silent storytellers of every server, and anyone who has stared at gigabytes of Apache access records knows how easily meaningful patterns…
How I Created a Python Script to Batch-Resize Images with PillowResizing a folder of images by hand is manageable until a project produces hundreds of files. Product photographs, screenshots, scanned documents and web…
Building a Python-based configurable log file watcher with callbacksModern deployments produce a steady stream of log files that need to be watched, parsed, and acted upon. From a small web app on a Linode in Sydney to a fleet…
Running shell commands with Python's subprocess modulePython developers frequently need to bridge the gap between their code and the operating system. The subprocess module remains the standard tool for spawning…
Python Log Aggregation with Streaming Database StorageBuilding a Python-Based Log Aggregator That Streams Entries to a Central Database requires more than reading files and inserting rows. A useful system must…
Building a Python DNS cache comparison tool for poisoning risksA DNS cache comparison tool can help administrators spot suspicious answers before they become an operational incident. Rather than trusting one recursive…
Designing DenyHosts’ data model for attack sourcesWhen I designed DenyHosts, I wanted it to solve a focused problem: identify repeated SSH attacks and prevent the same sources from continuing to hammer a Linux…
Reliable Python CI on a Bare-Metal Build ServerContinuous integration does not require a cloud platform or a large container orchestration system. For many Python projects, a modest physical machine is…
A Python GUI for tracking open-source project issuesMaintaining an open-source project means keeping several kinds of information in view at once: bug reports, feature requests, release notes, security concerns,…
Building a Python-Based Network Traffic VisualizerA network traffic visualizer turns raw packet activity into a readable picture of what is happening across a host, server, or local network. Instead of…
