systemd is a great, but complex component. One of the things that I love about systemd is that it really empowers and enables the administrator/developer to really understand what is happening. Wh...
Complete Binary Tree
A complete binary tree is a really interesting data structure. It is the starting point of a heap sort and in this blog post I want to illustrate what a complete binary tree is and the properties o...
Using xargs to Construct Dynamic Commands
Without a doubt, one of my most-used commands in the terminal is xargs. This utility takes standard input and can dynamically build and execute commands. In this blog post I’ll show common usages o...
Nginx Error - key values mismatch
The following error message may be thrown when trying to start nginx: nginx: [emerg] SSL_CTX_use_PrivateKey_file(“/etc/ssl/private/cert1.key”) failed (SSL: error:0B080074:x509 certificate routi...
8 Reasons Why I Like git Repositories for Documentation (Personal and Team)
Writing code is hard. So is writing documentation. And I am a big fan of creating your own documentation. At this point in my life I’ve been writing documentation for a long time, both in a team a...
Show and Browse the Kubernetes API Reference Documentation in the Terminal
Did you know it’s possible to search the Kubernetes API reference docs right from kubectl? I had no clue until recently I learned about this pretty cool (and I think, not-so-well-known) feature. T...
Renew Azure Key Vault Certificates from Let's Encrypt
In a recent blog post, I wrote about how to create Azure Key Vault Certificates with Let’s Encrypt as the Issuer CA. This is a great start to utilizing a non-partnered Certificate Authority to issu...
Run Python Code in a Shell Script
I’m a big fan of “the right tool for the right job”. For some things, the right tool is a shell script. For others, it is Python. But sometimes… it is both. A lot of times I find myself writing a ...
Azure Key Vault Certificates with Let's Encrypt as the Issuer CA
Azure Key Vault is a great product for managing data protection, and one of the main features is the ability to handle TLS/SSL certificates. The way Azure Key Vault works with certificates is that ...
Setting Conditional Breakpoints in Go
Being able to debug your code is a necessary skill for any programmer. Setting conditional breakpoints allows you to efficiently and effectively inspect your code workflow. Take this simple (but co...