A week in with FluidVoice, a push-to-talk dictation app that turns speech into text wherever your cursor is. A look at the features I lean on most — hold-to-transcribe, live transcription feedback, a wide choice of models, and toggling between hold and press-to-start for longer sessions — plus the AI enhancement, file transcription, and dashboard I’m still exploring.
Books # For several years I have been providing content in blog posts. This has evolved into writing books as well. Open Source Network Management, 2nd Edition # The Second Edition is out now — an improvement and modernization of the first. Across thirteen hands-on chapters it is a guide to building a complete, modern network management platform — source of truth to full observability — entirely…
Announcing today, the availability of the second edition of my book Open Source Network Management. The book is now available first only at https://osnm.josh-v.com for digital purchase. You can pre-order for the physical book + digital bundle today and get the both. Physical books are expected in August.
I thought running multiple AI agents locally meant loading the model into memory once per agent. Turns out model weights are shared - only the KV-cache scales per request. Here’s what I learned and how consolidating to a single model improved everything.
When the dealership service rep couldn’t explain what was wrong with our vehicle, I sent the repair notes to my AI assistant. What came back was more useful than anything the service center told me.
I went from calling AI a 50/50 bet to burning through API credits in days. Here’s what changed, from the Ralph Loop to OpenClaw to AI agent skills, and why I think we’re at a pivotal point.
Here we are diving into just one of the time savings samples of what the AI world is able to accomplish these days. This post is going to dig into a simple one that I have been trying to solve for a while and just couldn’t get right - Cloud Init virtual machines. I now am spinning up virtual machines in a few seconds, all with the help of Claude.
I recently was presented with a request to look at where there was a request to validate that a Rack would be unique at a Location in Nautobot. I took a look at the data validation engine and wasn’t able to determine a method to make this work there. So here is the solution.
Recently I updated my Python development environments to use Python UV for managing Python versions and tools on the system. In this post I take you on the journey that I went on to replace pyenv and Pipx.
This post explores why the “Amazon API Mandate” remains relevant for modern network automation. It highlights how adopting a “Services First” strategy (using APIs and Pub/Sub systems like Nautobot) can transform CLI-based workflows into scalable, robust services.
Managing audio settings on Mac devices can be repetitive, especially when switching between different microphones for calls, recordings, or meetings. Siri Shortcuts provides a powerful way to automate this process.
AutoCon4 and NautoCon@AutoCon are in the books. It was quite the day, and I have to say that it ranks among my best days of the year in Network Automation, right up there with being able to meet up with the Network to Code team earlier in the year. It was great to see many friends from across the community. Hopefully we’ll be able to keep the conversation going in Slack and maintain the momentum.
It’s been a while since my last post, life and work have both been full. Today, I’m diving into one of the most quietly critical aspects of network design: time synchronization . Specifically, how to design NTP within an enterprise network and how to think about time zones when correlating logs. We’ll look at two main topics in this post: designing NTP (Network Time Protocol) and managing…
As the AI movement continues to expand its reach into the networking space, the need for an appropriate source of truth for network data becomes more critical than ever. What I have been seeing so far in the industry for networking and AI has been a lot of working on the individual devices one by one. But when looking at leveraging AI for the network, I believe it is best to look at the network as…
Coming out of the 2024 AutoCon2 conference held in Denver the week of November 18th, 2024 - there is one thing that is standing out more so than anything else. Containerlab is a HUGE blowout success. In observing through several of the workshops at the conference on Monday and Tuesday, many were using Containerlab in some fashion. Now, Containerlab has been around for a while, so this isn’t…
This post is will provide a brief overview of how port binding works in Linux. This topic that will be required for the small series of using Continue.Dev in your local environment, but before addressing the setup of a machine for remote access in a future post, I thought it would be important to quickly create a post regarding the concept of port binding. Showing Listening Ports # In Linux you…
The year 2024 will showcase the remarkable evolution and contributions of AI. One prominent application of AI lies in its ability to streamline the coding process. In this post I demonstrate how to utilize the Continue VS Code plugin as a viable alternative to the GitHub Copilot system. This will allow you to have choice on the AI back end or in this scenario, the capability to self host the AI…
Modern Network Observability # I’m proud to be one of the three authors to put together the book on Modern Network Observability. It’s been a great joy to write and contribute to the Networking community with this book on setting up a modern network observability platform using open source tools. The book aims to help you: Define a composable network observability stack with numerous…
This may be my favorite post within the realm of what is possible as I write this series. There are many more things that could be done, but we did pretty well considering. Going back over a decade now, I had the fortunate opportunity to work to deploy Guest WiFi 📶 for a large number of retail sites, with the heavy lifting of the work being done within a five month period of time. This post is…
In the first release of Nautobot all of the Jobs were Atomic by default. This was from the previous focus of the legacy source application that assumed that scripts/reports would only be run on the data locally, so by that nature, the jobs should be atomic. As more and more Jobs started to interact with other systems, it became apparent that there needed to be a control mechanism provided (as I…
Nautobot Book # { align=right width=“400” } I’m proud to have been an author in the Network Automation with Nautobot found on Amazon book that has recently been released. The book covers: Learn how documenting your network in Nautobot can accelerate your network automation journey Apply NetDevOps to your network by leveraging Nautobot as a network source of truth Minimize tool…
At a previous position to joining Network to Code I was asked to help to build automation to help with the configuration of switches going into a MLS stadium. The stadium was under construction and the network build out would take place at the same time as the stadium was being built out. It was definitely a first and maybe only opportunity that I would have to build out a new stadium. Scenario #…
Nornir includes a function that allows for the transformation of inventory data, a feature integrated within the Nornir platform itself. The documentation for Nornir 3.0 is somewhat sparse regarding the usage of Transform functions, so I often refer to the more comprehensive 2.5 documentation . According to the Nornir documentation: A transform function is a plugin that manipulates the inventory…
In this post, we’ll dive into WAN design and address a common question that I was provided with in the 2000s: “My home internet costs only $35 per month. Why do we spend $xxx per month per circuit?”
I have been looking at migrating over to the Starship shell for a little while. The allure of running a rust shell prompt that gives me a ton of information is what I look for in a shell prompt. Such as the prompt below: joshv in 🌐 my_device in nautobot on u/jvanderaa-update_install_home_doc is 📦 v2.2.5b1 via 🐍 v3.11.9 (nautobot-py3.11) The default installation however did not get the same…
So, if you are a returning user you notice something that is a little bit different. I have migrated my blog site to a new site generator and format. I am now using [mkdocs-material] blog them that was introduced in late 2022 to the platform. The migration was not too painful to make, but I’m feeling in a good place about it at this point. The blog has been on a journey so far. It started…
Today I’m going to dive into my getting started with network automation, and perhaps my first successful automation. There are definitely some things that I would re-do and complete differently, and some things that I consider a success. I’m working on a new series within my blog, about how I would look to have done things differently than I had done before, with the tooling and…
One of my favorite features of Nautobot that may not be well known is the capability to put a button on pages that take you to other locations. This can be helpful when lining up the source of truth as that first place that you go, the idea of adding custom links will just help to enforce that as the first place to go. When you look at the idea of a source of truth to help feed other systems, you…
Just recently released at the beginning of 2024 is a project that I am super excited to see in the open source by Network to Code. This is the Nautobot App cookiecutter template. This may already be the biggest thing to become available for Network Automation in 2024. I know, its fresh at this point in the year, but this is something that is going to make getting started with your own Nautobot…
The year of 2023 I think may have had some of the biggest leaps in the Network Automation capabilities that are being delivered by some of the best in the business. With Nautobot’s Golden Config App adding the ability to complete configuration remediation and Ansible release Event Driven Ansible, there are a couple of powerful tools to help you with your Network Automation. And all with a…
Recently Slack started introducing a new UI that is bringing back the importance of knowing keyboard shortcuts. Keyboard shortcuts within Slack are immensely helpful in my day to day, and it is essential for me being able to keep up with what is going on within my organization and some of the other 20 Slack organizations that I have joined. So much so, I don’t believe that once I am in the…
In my home environment I am leveraging Nautobot as my source of truth. This is for the network, which is probably not all that interesting in my home environment, and my virtual machines. Why am I tracking my virtual machines in Nautobot? Simple, to help automate them. I think that this is a clever methodology to help use tags and to get automation working within the environment. This same type of…
One of my hot topics in my past that I haven’t seen written about often is the calculation of WAN availability and what the design is built for. There is often the number of 9’s whether that is 5 9s or 3 9s or otherwise, where do you start? Well, in the past the post by EventHelix.com outlines system reliability. It talks about designing systems in parallel and in serial. What does…
As part of my journey of using my Debian based Dev Workstation, as well as my studies towards completion of the DevNet Expert, I wanted to get up and running with the DevNet Workstation example that would help to become familiar with the environment that would be found at the live exam. There were a few small quirks along the way, so I thought I would go ahead and create a post about how to get…
As a long time MacBook user and of recent years on the M1 using the TouchID system that allows for fingerprint authentication, this is something that I wanted to get to work pretty quickly for myself. I had tried a couple of different options to get fingerprint reading to work. Through the 3 methods, I finally have one that works, and I figured it would be worth the share. Attempted Routes # Now…
Within Nautobot there are many ways to be able to get the Nautobot environment running. Environment variables are used quite a bit in the Docker environment following best practice principles set forth in the 12 Factor App . The use of environment variables is helpful for working through the various stages of an application to production. The installation instructions leverage a single environment…
One observation lately is that Python is moving along quickly with new versions and new EOLs. Along with needing to make these updates, the applications that Python uses will also need to be moving along. Nautobot is my favorite, and in my opinion the best SOT platform available in the open source ecosystem today. So let’s dive into the updating of the Python version. For this post,…
I’m going to diverge a small bit from the straight network automation space that I have blogged about primarily and dive a small bit into the world of using Google Earth to help prepare for your golf game. Upcoming, I’m playing in a Minnesota Golf event at two courses in late August. I’m going to put together a green book for myself and figure this would be a great topic to touch…
In my previous post I wrote about a workstation that I was working on building. It took an incredibly long time to get up and into a stable environment. But I have finally accomplished stability (hoping to not jinx it here with the post). I went through a fair bit of troubleshooting to get to this point. Symptom # The symptom that was having instability was that the system would freeze randomly.…
Here I’m going to dive into what I’m planning to build out for my next desktop here in 2023. Prime Day is nearly upon us, and I’m anticipating (but do not know for sure) that prices on some of the gear that I’m looking for will be available at a good price. I’m also looking to build out a bigger system in order to run some intense VMs up coming.
One of Nautobot’s primary functions is to serve as an IPAM solution. Within that realm, the application needs to provide a method to get at IP address data for a device, quickly and easily. In this post I will review three prominent methods to get an IP address from Nautobot. It will demonstrate getting the address via: Nautobot REST API curl Python Requests GoLang HTTP pynautobot Ansible…
In this post I’m going to dive into a bit more on the Nautobot custom validators. This is a powerful validation tool that will allow for you to write your own validation capability, including in this demonstration on how to complete a validation against a remote API endpoint. The custom validators are a part of the Nautobot App extension capability. This allows for custom code to be written…
Hot Take: Newly released (at some point anyway) is Slack Canvas, what looks to be a little bit of on demand wiki, collaboration space, and possibly (based on marketing materials) workflow organizer. This came to light as a “pop up” when I went into a Slack window on my mobile. Being a curious person and someone that is willing to try out new things I jumped right in.
The Python Poetry is our go to package management system thus far, you can see that in all of the Python projects that Network to Code open sources, such as Nautobot , pyntc , network-importer , and NTC-Templates . Lately though, I’ve been having some challenges when my HomeBrew updates happen and my system Python gets updated. I’ve been able to recover with the help of the same few…
With Nautobot, one of the things that came up was how to work with secrets. Nautobot itself is not the place to maintain secrets, as it is not a vault. There may be some good cryptographic libraries out to handle this, but by its nature, that is not the intent. So Nautobot has written methods to be able to retrieve secrets from proper vault sources and be able to leverage them. These can be tricky…
Today I was working to demonstrate how to get started with Nautobot Jobs within the Jobs root of Nautobot. This is not a pattern that I develop often, as I am typically developing Jobs within a plugin as my development standard. More to come on that later. During this case, the ask was to build a Job that would connect to a network device. I had a few troubles that I didn’t want to have to…
In this post I dive into more about my migration of the blog site to Hugo static content system. I will dive into primarily the why and how during this post. This also dives into the few changes that I had to make in order to make the change over from a Jekyll site to the Hugo site. Why Migrate? # While I do not have a ton of posts, I do have a few that I like to get out into the wild…
I’m a veteran Network Engineer who has finally caught on how to put together CS teachings with a Networking degree. Working on doing almost all things via automation. Self re-taught network/automation engineer. I’ve primarily been digging around within Ansible and Python. I’ve been doing Python networking since 2015 when a speaker came in and talked about how he had put together…