Advertisement
Open Source Projects by Phil Schwartz

Articles

Build a Python tool that turns log files into UML sequence diagramsLogs record the order of events, but raw timestamps and status messages can be difficult to interpret when a request passes through several services. A Python…
Detecting And Logging File Locks With PythonA process that keeps a file open can delay deployments, block log rotation, interrupt backups, or leave a shared document apparently “in use”. On Linux, the…
Building a Bounded Web Crawler with Python's urllib ModuleFor developers in Melbourne or Sydney running on the nbn, scraping data off the web doesn't require a heavyweight framework. A few lines from Python's standard…
Building a Python Bridge to Linux AuditLinux records a remarkable amount of security information through its Audit system. It can report who opened a file, which process changed a configuration,…
Python HTTP Percentile Reporting for Faster Web DiagnosticsAverage response time can make a web service appear healthy while a sizeable group of users waits far longer. Percentiles expose that uneven experience: p50…
Creating a Python netstat viewer with colour-coded connection statesA small Python network utility can turn a crowded list of sockets into something that is easier to inspect at a glance. A netstat-style viewer shows local and…
Automating FTP Transfers with Python and Resume SupportEven in an era dominated by object storage and slick REST APIs, FTP still earns its place inside Australian workflows. Regional councils in places like…
Crafting a Python MP3 Metadata InspectorAudio files carry hidden information beyond the sound itself. Songs store the performer's name, album title, year of release, track number, genre, and…
Building a Python script that generates pronounceable passwordsStrong passwords are essential but often unwieldy. Australians juggling accounts from Sydney to Perth regularly forget long strings of random characters.…
Building a Python utility to merge CSV files with different schemasI created this utility after running into a familiar data problem: several CSV files represented the same kind of records, but none used quite the same column…