Articles
How Scratchy Processes Millions of Log Lines EfficientlyApache access logs can grow from a useful diagnostic file into a multi-gigabyte data set. A busy web server may record millions of requests, including status…
How I Added IPv6 Support to DenyHosts SafelyAdding IPv6 support to DenyHosts looked straightforward at first. SSH logs contain addresses, DenyHosts records suspicious activity, and the operating system…
From Monolithic Script To A Modular DenyHosts PackageDenyHosts began as a focused Python utility for protecting SSH services from repeated login attempts. Its original script-based design made the tool easy to…
Using Scratchy to Detect Crawlers and Bots in Apache LogsApache access logs contain a detailed record of how visitors and automated clients interact with a website. Search engines, monitoring services, feed readers,…
Making DenyHosts Blocklist Sync Race-FreeDenyHosts was designed to protect SSH services by detecting repeated login failures and adding hostile addresses to a local deny list. Its synchronization…
Refactoring Kodos For Multi-Document Editing With TabsKodos began as a focused Python regular expression debugger: enter a pattern, provide sample text, and inspect the matches without building a complete test…
Testing Kodos With Thousands Of Regex PatternsKodos is designed to make regular expressions easier to inspect, debug, and refine. A small pattern may feel instantaneous during interactive use, yet a large…
The Story Behind Scratchy: Why I Built an Apache Log AnalyzerScratchy began with a practical question: what can a web server log tell me before it becomes an incident report? Apache logs contain a steady stream of useful…
Building A Web-Based Regex Tester Inspired By KodosRegular expressions remain one of the most useful tools in software development, yet they are often difficult to understand while they are being written. A…
Rewriting Scratchy in Python for Faster Apache Log AnalysisScratchy is an Apache log analyzer built to turn raw access records into useful information about a server. A rewrite in Python creates an opportunity to…
