Hydrating Jinja with JSON as a Middle Step

Here I discussed a simple pattern for choosing different configurations with jinja this is a little more depth into that pattern. By default jinja can only utilize strings to "hydrate into". But sometimes you want things that are a little more in depth. For example, on of the things you may wish to configure if… Read More »

Fixing Virtualenvs after System Python Upgrade

Recently I’ve been testing out the 20.04 beta for Ubuntu. It’s real nice. But it recently upgraded python from python3.7 to python3.8 underneath me. It’s honestly not such a bad thing. Python 3.8 has a lot of improvements that will make working with the language quite excellent. I’m particularly looking forward to utilizing Assignment Expressions… Read More »

A Python Logging Pattern

When writing command line utilities in python for almost any purpose. I almost always want to control the level of verbosity in my project. To that end, I’ve regularly found myself utilizing a combination of argparse and logging to create a command line flag to let me control verbosity at runtime. I thought it might… Read More »

Reading Google Sheets With Python

Reading Google Sheets With Python Google Sheets is an excellent spreadsheet tool. Sometimes good tools end up used more than they truly aught to be used. With that in mind it becomes useful at some point to stop dealing with spreadsheets directly and utilize databases or other dedicated applications to “do the work”. However, during… Read More »

Jinja Hydration in Python

Jinja is an excellent tool and it’s incredibly great at allowing you to make rich and featureful configuration files. Essentially, you can make your configs dynamic. For example if you had an yaml file that looks like this : {% if plat == "aws" %} metadata_endpoint: http://169.254.169.254/latest/meta-data/ {% endif plat == "digitalocean" %} metadata_endpoint: http://169.254.169.254/metadata/v1/… Read More »

A Multiprocessing Module Tutorial for Python

Intro So for work I have built a tool that takes advantage of multithreaded processes on python. When researching for this topic I came across a number of guides that suggest the usage of the threading module. Now don’t get me wrong, the threading module is great, but do to a limitation with the Global… Read More »

Checking MySQL Events with Nagios

You should never ever use MySQL Events. Well that might be an exaggeration. There are probably some good uses for MySQL Events. But if you’re using them chances are a developer has decided to use them to do something that should have been included somewhere else in the platform. The biggest problem with MySQL Events… Read More »

HTTPoxy Patch and Mitigation Links

HTTPoxy Patch and Mitigation Links HTTPoxy Status HTTPoxy is a CGI bug that relates to how webservers and applications deal with certain environment variables. It’s the latest and greates BWAIN (Bug with an Interesting Name). There are two independent way to protect yourself from this bug and the manner that is best for you or… Read More »

How to Reboot in Tough Scenarios

In my last job I ran into a scenario where a hard drive failed while a system was still running. When I attempted to reboot with and /sbin/reboot it failed with a rather cryptic message. Honestly I had never ran into this issue before. So I turned to google and found this excellent Linux Journal… Read More »

ImageTragick Patches Links

ImageTragick Patches Links Hello again. I’ve been tracking packages for ImageTragick. Feel free to look below for you system and let me know if there’s a system you’re following that I’m not. Have a good one. Main Informational Links: ImageTragick Main Page lcamtuf on ImageTragick ImageMagic Project MITRE Link NVD Page Organization Notification Patches Available… Read More »