Under the Tools section, you will see a variety of software tools that I created to help solve various technical problems. I've tried to make a habit of thinking about ways to create re-usable code as I encounter various troubleshooting or admin issues. It's a way of looking at issues and building the skills to turn a frustration into an opportunity to learn and build coding skills.
Some of them are harder problems than others, I hope they're all useful in the right circumstances.
A lot of the network tools came from wanting to more easily support DNS and PKI management. Not only do the provide a single place to troubleshoot these issues, but building these tools forced me to look at how DNS and PKI work together to authenticate SSL/TLS trusted connections. My mental map of how these technologies interact has definitely improved as a result of having built and improved these tools over time.
It also happens that I've been able to watch the evolution of the tools over time. Tools written as recently as a few months ago required me to work much more directly in the IDE, and required manual testing, debugging, and bug fixing. Very recently, the AI tools have evolved to the point that I've spent a lot more time focusing on the requirements and validation steps while the agentic coding assistants generate code and iterate through tests until the code works as designed.
These are interesting times...