Explore the Python Network Tester on GitHub and Docker

Building My Python Network Tester

Over the past couple of months, I’ve been tinkering with a side project: a Python Network Tester. The idea came directly from my time troubleshooting EKS and ECS solutions, where I often walked customers through a familiar set of network checks. While the tool may feel basic, it reflects the common gauntlet of tests I relied on whenever network concerns came up.

What I noticed in those scenarios was that, more often than not, the “network issue” wasn’t really the network at all. Instead, it was a misunderstanding of how networks behave—or how much application performance itself can influence perceived network performance. Sometimes, the simplest visibility into the basics is all someone needs to figure out their next step.

After plenty of tweaking, debugging, and refactoring, I’ve reached a point where I’m ready to share the project publicly.


Using AI as a Programming Partner

One thing that helped me along the way was experimenting with Amazon’s Kiro Agentic AI. I often struggle with getting projects off the ground and into the right mindset, so I leaned on Kiro to help me draft code. But I made sure to carefully read every single line it suggested. That way, I understood exactly what the code was doing, which made refactoring and debugging much easier when things didn’t behave as expected.

In short, Kiro became a surprisingly good programming buddy. Beyond code, it was especially helpful for writing comments and documentation—an area I’ve always wrestled with, unsure if I’m writing too little or too much. Having that support gave me confidence to keep the docs clear and useful.


Try It Out

If you’d like to explore the project yourself:

Feedback, recommendations, or issues are welcome—please report them in the GitHub Issues tab. I plan to keep iterating on this project to see what features make the most sense and where it can provide the most value.

Build a Python Network Troubleshooting Tool

While settling into my new job, I’ve also been tinkering with some side projects. One of them was inspired by the countless network connectivity and latency issues I used to troubleshoot as a Cloud Support Engineer.

I’ll admit — networking has always been one of my weaker areas in IT. I can get around it well enough, but shifting back into the “network mindset” is always a bit of a slog. There are so many different tests to remember, each useful for diagnosing a different type of issue.

So, just for fun, I decided to build a comprehensive network troubleshooting tool that bundles together the tests I ran most often. I chose Python for the project, partly to refresh my skills with the language.

As an extra experiment, I’ve been trying out AWS’s new IDE, Kiro, and giving “vibe coding” a spin. That said, I’m not blindly trusting whatever the GenAI assistant spits out. I’m reviewing every line of code to make sure I understand it, confirm it makes sense, and check for any security concerns.

Right now, the tool can run DNS resolution, ping, and TCP connectivity tests. You can feed it a URL or IP, specify which port to test, and set how many ping attempts to run. Since I mostly supported containerized solutions at AWS, I also built a container image so the tool can run in that environment. As a bonus, I’m bundling in the most common network testing CLI tools, so you can run one-off checks directly inside the container.

It’s still a work in progress, but I’m happy with how it’s shaping up. Once I feel confident enough, I might even push it to a public repo. And while I don’t recommend relying on “vibe coding” as a strategy, it can be handy for breaking through roadblocks. At the end of the day, though, I’d rather refactor the code myself so it works exactly the way I want.

2025, New Year, New Plans

It’s been a while. Not something I’m particularly happy about, but life doesn’t always go as planned. Our minds also have an amazing ability to complicate our lives, both intentionally and unintentionally. Over the past couple years, I’ve been working on a lot of self-discovery and self-reflections to better understand myself.

With some much needed therapy, I’ve come to better understand how my mind works. Therapy has helped explain why I keep producing all these plans about what I want to do. I start them all but never finish them. Confirmed it isn’t ADHD, but I’ve had complications in my life that have effected my executive functions. TLDR, I love to start new things and overwhelm myself to the point I’m not capable of focusing on anything. Now that I’m working on myself, it’s time to start rethinking my approaches to my own personal development.

So yeah, I have a lot of projects I’d love to work on. I need to start limiting myself and focus on fewer projects/tasks at a time. Seems obvious, but that’s now how my brain wanted to work all this time. With that, I’m going to focus on one professional and one personal goal.

My current professional goal, finally get an AWS Certified Solutions Architect Professional certificate. Going to focus on fine tuning my skills to be an AWS Solutions Architect.

My current personal goal, learn Godot and finally start making some video games as a hobby.

Additionally, I will document hurdles I come across while working on these tasks. For example, I will document learning how to setup SSH with GitHub. There is no end of online guides, and I always find myself needing to reference several guides. They all seem to miss something important. Dual intention with this, record the steps for my future reference and share them for other in case it helps. This will be a continuing goal, so it will be a long term goal.

With that, time to get started!

Ever Evolving

Something I try my best to embrace and keeping looking towards is to constantly evolve. While have loose ideas about what I want to document, I’ve been constantly changing my mind and making tweaks to this sight.

Well, it’s time to evolve once again. While I have been continuing to try and define myself as a programmer/developer, I’ve been finalizing what elements I want to focus on. Technology is ever expanding, but if I can’t find some amount of focus, I’ll have a much more difficult time finding my place.

On that note, I am planning to focus my attention towards C#, .NET, HTML5/CSS, SQL, and GIT. While quite a nice spread of tech, all of these work hand-in-hand. Not required, but all things I’m already familiar with, but lacking expertise. With this, I plan on updating this blog once again to help track my individual projects.

Just a quick teaser, one of these projects is I’m working on my own Discord bot written in C#. Also mulling the idea of my own site I build from scratch using ASP.NET Core Bazor.