41554 blogs · [ { "id": "01a08791-6420-7257-a059-431c349a927a", "title": "FluidVoice - My Dictation Assistant", "url": "https://josh-v.com/fluid_voice_start/", "published_at": "2026-07-18T00:00:00+00:00" }, { "id": "01a08791-6420-7257-a059-431c350d9a0e", "title": "Books", "url": "https://josh-v.com/book/", "published_at": "2026-07-17T00:00:00+00:00" }, { "id": "01a08791-6420-7257-a059-431c357fa12c", "title": "Open Source Network Management Second Edition", "url": "https://josh-v.com/osnm2/", "published_at": "2026-07-11T00:00:00+00:00" }, { "id": "01a08791-6420-7257-a059-431c35cb281b", "title": "AI: Local Models Memory", "url": "https://josh-v.com/local-inference-memory/", "published_at": "2026-03-28T00:00:00+00:00" }, { "id": "01a08791-6420-7257-a059-431c36c72956", "title": "AI: The Quick RSS Feed Fix", "url": "https://josh-v.com/ai-rss-fix/", "published_at": "2026-03-14T00:00:00+00:00" }, { "id": "01a08791-6420-7257-a059-431c3767035a", "title": "AI: The Service Department Translator", "url": "https://josh-v.com/ai-car-service-translator/", "published_at": "2026-03-09T00:00:00+00:00" }, { "id": "01a08791-6420-7257-a059-431c37eef67e", "title": "AI: Initializing", "url": "https://josh-v.com/welcome-ai-initializing/", "published_at": "2026-02-12T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf10d13324", "title": "AI: My Welcome", "url": "https://josh-v.com/welcome-ai-01/", "published_at": "2026-02-07T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1168fae9", "title": "Creating Your Own Validation", "url": "https://josh-v.com/creating-your-own-validation/", "published_at": "2025-12-20T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf11e2d696", "title": "Cleaning Up Python Environment", "url": "https://josh-v.com/cleaning-up-python-environment/", "published_at": "2025-12-18T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf124c571c", "title": "2025 The ReSwitch", "url": "https://josh-v.com/2025-the-reswitch/", "published_at": "2025-12-16T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1303bc6d", "title": "Services First - A Reminder of Strong Growth", "url": "https://josh-v.com/services-first-a-reminder-of-strong-growth/", "published_at": "2025-12-13T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf13d262b2", "title": "Using Siri Shortcuts to Set Microphone", "url": "https://josh-v.com/siri-shortcuts-microphone/", "published_at": "2025-11-30T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf14771512", "title": "Autocon4 Viewpoint", "url": "https://josh-v.com/autocon4/", "published_at": "2025-11-21T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf14ddcc31", "title": "Network Design with NTP", "url": "https://josh-v.com/time_design/", "published_at": "2025-11-01T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf15c55a48", "title": "Fueling Network AI: The Critical Role of Source of Truth Data", "url": "https://josh-v.com/critical-role-of-sot/", "published_at": "2025-06-03T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1617dba4", "title": "Containerlab - Popularity Exploding", "url": "https://josh-v.com/containerlab-explodes/", "published_at": "2024-12-15T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf165b2de5", "title": "Linux Port Binding", "url": "https://josh-v.com/linux-port-binding/", "published_at": "2024-09-21T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf174793ad", "title": "Code Completion in VS Code with Ollama", "url": "https://josh-v.com/continue-dev/", "published_at": "2024-09-07T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf17a1bec2", "title": "Modern Network Observability", "url": "https://josh-v.com/observability/", "published_at": "2024-09-07T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf18041b57", "title": "Redux: Wireless Conversion", "url": "https://josh-v.com/redux-wireless-conversion/", "published_at": "2024-07-17T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1825e8bf", "title": "Nautobot: Atomic Jobs", "url": "https://josh-v.com/nautobot-atomic-jobs/", "published_at": "2024-07-04T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf187c83ef", "title": "Nautobot Book", "url": "https://josh-v.com/nautobot_book/", "published_at": "2024-06-24T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf191fb96e", "title": "Redux: Stadium Automation", "url": "https://josh-v.com/stadium-automation/", "published_at": "2024-06-19T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf194fdce7", "title": "Nornir Transform Function", "url": "https://josh-v.com/nornir-transform-3/", "published_at": "2024-06-04T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf19f061e9", "title": "Redux: WAN Design", "url": "https://josh-v.com/redux-wan-design/", "published_at": "2024-05-31T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1ab218bd", "title": "Bindkey For Autocompletion", "url": "https://josh-v.com/bindkey-search/", "published_at": "2024-05-29T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1b5da2df", "title": "Migration to MkDocs Material Blog Theme!", "url": "https://josh-v.com/to-mkdocs/", "published_at": "2024-05-28T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1c5201a7", "title": "Automation Redux: Firewall Tables", "url": "https://josh-v.com/firewall-tables/", "published_at": "2024-05-21T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1c8a85c8", "title": "Nautobot: Custom Links", "url": "https://josh-v.com/nautobot-custom-link/", "published_at": "2024-04-28T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1cd01ab3", "title": "Nautobot App Baking Cookies", "url": "https://josh-v.com/nautobot-app-cookie/", "published_at": "2024-01-11T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1d0ecaa3", "title": "2023 Automation Review: Top 3", "url": "https://josh-v.com/2023-automation-review-top-3/", "published_at": "2023-12-15T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1d8b04bf", "title": "Slack Power Keyboard", "url": "https://josh-v.com/slack-power-keyboard/", "published_at": "2023-11-18T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1e42e61b", "title": "Nautobot: How I Use Tags For VMs", "url": "https://josh-v.com/nautobot-how-i-use-tags-for-vms/", "published_at": "2023-09-26T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1eb52fd7", "title": "Designing WAN Availability", "url": "https://josh-v.com/designing-wan-availability/", "published_at": "2023-09-02T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1f8c2773", "title": "DevNet Expert Workstation On Debian", "url": "https://josh-v.com/devnet-expert-workstation-on-debian/", "published_at": "2023-08-23T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1fcc72c3", "title": "Debian Finger Print Login", "url": "https://josh-v.com/debian-finger-print-login/", "published_at": "2023-08-19T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf1fd4ca76", "title": "Nautobot Environment File", "url": "https://josh-v.com/nautobot-environment-file/", "published_at": "2023-08-17T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf203482a0", "title": "Upgrade Nautobot Python Version in Virtual Machine", "url": "https://josh-v.com/upgrade-nautobot-python-virtual-machine/", "published_at": "2023-08-14T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf20ec4471", "title": "Using Google Earth for Golf", "url": "https://josh-v.com/google-earth-golf/", "published_at": "2023-08-05T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf210aff7d", "title": "Workstation Troubleshooting 2023", "url": "https://josh-v.com/workstation-troubleshooting-2023/", "published_at": "2023-07-29T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf21119ec6", "title": "Desktop Build 2023", "url": "https://josh-v.com/desktop-build-2023/", "published_at": "2023-07-09T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf217a35ee", "title": "Nautobot: Get IP Addresses From Nautobot", "url": "https://josh-v.com/nautobot-get-ip-address-info/", "published_at": "2023-07-07T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf21c8cec0", "title": "Nautobot Remote Validation", "url": "https://josh-v.com/nautobot-remote-validation/", "published_at": "2023-07-05T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf2249f734", "title": "Slack Canvas", "url": "https://josh-v.com/slack-canvas/", "published_at": "2023-07-05T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf22a23568", "title": "Poetry Fix", "url": "https://josh-v.com/nornir-brief/", "published_at": "2023-06-29T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf22c6f55e", "title": "Nautobot Secrets - Hashicorp Vault", "url": "https://josh-v.com/nautobot-secrets-hashicorp-vault/", "published_at": "2023-06-27T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf2300cf50", "title": "Nautobot Jobs in Jobs Root", "url": "https://josh-v.com/nautobot-jobs-root-in-root/", "published_at": "2023-06-17T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf2327fb2b", "title": "Moving to Hugo", "url": "https://josh-v.com/moving-to-hugo/", "published_at": "2023-06-15T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf232b2916", "title": "About", "url": "https://josh-v.com/about/", "published_at": "2023-06-13T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf234fc979", "title": "Links", "url": "https://josh-v.com/links/", "published_at": "2023-06-13T00:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf23bf9cf9", "title": "Nautobot IP Provisioning", "url": "https://josh-v.com/nautobot-ip-provisioning/", "published_at": "2023-06-05T07:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf23dff817", "title": "GraphQL - Aliasing", "url": "https://josh-v.com/graphql-aliasing/", "published_at": "2022-12-17T07:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf2446fd71", "title": "Python Pseudo Code", "url": "https://josh-v.com/draft/python-pseudo-code/", "published_at": "2022-09-25T07:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf247886f9", "title": "Automation Inventory", "url": "https://josh-v.com/automation-inventory/", "published_at": "2022-05-07T07:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf25216896", "title": "DevNet Expert - Starting Point", "url": "https://josh-v.com/devnet-expert-starting-point/", "published_at": "2021-10-13T07:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf2599a506", "title": "Nautobot Jobs - Your Custom API Endpoint", "url": "https://josh-v.com/nautobot-jobs-execution/", "published_at": "2021-10-11T07:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf260b3d52", "title": "New Book - Open Source Network Management", "url": "https://josh-v.com/book-open-source-network-management/", "published_at": "2021-09-14T07:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf2621df2b", "title": "Nautobot Ansible Collection: Devices", "url": "https://josh-v.com/nautobot-ansible-devices/", "published_at": "2021-03-28T08:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf26803dd5", "title": "Nautobot Ansible Collection: Device Types", "url": "https://josh-v.com/nautobot-ansible-device-types/", "published_at": "2021-03-15T06:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf26bdf071", "title": "Nautobot Ansible Collection: Device Roles", "url": "https://josh-v.com/nautobot-ansible-device-roles/", "published_at": "2021-03-14T08:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf27279742", "title": "Nautobot Ansible Collection: Platforms", "url": "https://josh-v.com/nautobot-ansible-platforms/", "published_at": "2021-03-14T07:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf273c72e9", "title": "Nautobot Ansible Collection: Manufacturers", "url": "https://josh-v.com/nautobot-ansible-manufacturers/", "published_at": "2021-03-14T06:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf27a51a5b", "title": "Nautobot Ansible Collection: Site Module", "url": "https://josh-v.com/nautobot-ansible-sites/", "published_at": "2021-03-13T06:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf283bb869", "title": "Nautobot Ansible Collection: Installation", "url": "https://josh-v.com/collection_install/", "published_at": "2021-03-10T07:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf28bac01a", "title": "NetBox Ansible Collection: Devices", "url": "https://josh-v.com/netbox-ansible-devices/", "published_at": "2021-01-31T08:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf297bd265", "title": "NetBox Ansible Collection: Device Roles", "url": "https://josh-v.com/netbox-ansible-device-roles/", "published_at": "2021-01-31T06:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf2981205a", "title": "NetBox Ansible Collection: Device Types", "url": "https://josh-v.com/netbox-ansible-device-types/", "published_at": "2021-01-31T06:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf2a166441", "title": "NetBox Ansible Collection: Manufacturers", "url": "https://josh-v.com/netbox-ansible-manufacturers/", "published_at": "2020-12-20T06:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf2a6f94d6", "title": "NetBox Ansible Collection: Platforms", "url": "https://josh-v.com/netbox-ansible-platforms/", "published_at": "2020-12-20T06:00:00+00:00" }, { "id": "01a08791-6421-739a-8089-eadf2a9d7568", "title": "NetBox Ansible Collection: Site Module", "url": "https://josh-v.com/netbox-ansible-sites/", "published_at": "2020-12-13T06:00:00+00:00" }, { "id": "01a08791-6423-7349-9bfc-dfe53cabf364", "title": "NetBox Ansible Collection: Lookup Plugin", "url": "https://josh-v.com/netbox-ansible-lookup-plugin/", "published_at": "2020-12-12T08:00:00+00:00" }, { "id": "01a08791-6423-7349-9bfc-dfe53caf26db", "title": "NetBox Ansible Collection: Inventory - Starting Out", "url": "https://josh-v.com/netbox-ansible-inventory_plugin/", "published_at": "2020-11-29T08:00:00+00:00" }, { "id": "01a08791-6423-7349-9bfc-dfe53d566a21", "title": "Jekyll - Adding a URL Redirection", "url": "https://josh-v.com/jekyll-url-redirection/", "published_at": "2020-11-28T07:00:00+00:00" }, { "id": "01a08791-6423-7349-9bfc-dfe53d5fb851", "title": "Ansible + NetBox: Getting Next Prefix / IP", "url": "https://josh-v.com/netbox_ansible_allocate_prefix_ipaddress/", "published_at": "2020-11-22T07:00:00+00:00" }, { "id": "01a08791-6423-7349-9bfc-dfe53e23f699", "title": "Home Assistant Prometheus Exporting Setup", "url": "https://josh-v.com/homeassistant-prometheus/", "published_at": "2020-11-21T07:00:00+00:00" }, { "id": "01a08791-6423-7349-9bfc-dfe53ee88b1f", "title": "2020 Blog Update", "url": "https://josh-v.com/blog_update_v2/", "published_at": "2020-11-18T07:00:00+00:00" }, { "id": "01a08791-6423-7349-9bfc-dfe53f5198dc", "title": "Practicing Network Automation with GNS3", "url": "https://josh-v.com/practicing_with_gns3/", "published_at": "2020-11-01T07:00:00+00:00" }, { "id": "01a08791-6423-7349-9bfc-dfe54020d359", "title": "Ansible for Enterprise", "url": "https://josh-v.com/ansible_for_enterprise/", "published_at": "2020-08-11T07:00:00+00:00" }, { "id": "01a08791-6423-7349-9bfc-dfe540cccc9d", "title": "Docker for Automation Environment - Ansible 2.10", "url": "https://josh-v.com/docker_for_automation_environment_ansible_210/", "published_at": "2020-06-27T07:00:00+00:00" }, { "id": "01a08791-6423-7349-9bfc-dfe541364b19", "title": "Using Apple Automator to Open Projects", "url": "https://josh-v.com/apple_automator/", "published_at": "2020-06-21T07:00:00+00:00" }, { "id": "01a08791-6423-7349-9bfc-dfe5414bf5ec", "title": "Ansible Cisco IOS User Module", "url": "https://josh-v.com/ansible-cisco-ios-user/", "published_at": "2020-03-14T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b2280003186e", "title": "Ansible Cisco ios_interfaces module", "url": "https://josh-v.com/ansible-cisco-ios-interfaces-module/", "published_at": "2020-01-26T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b22800ed74d2", "title": "Disney Plus Streaming Bandwidth", "url": "https://josh-v.com/disney_plus_streaming/", "published_at": "2019-11-14T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b22801393e43", "title": "Ansible differences between ios command and cli command", "url": "https://josh-v.com/ansible-cli-vs-ios-command/", "published_at": "2019-10-20T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b228019ee81f", "title": "EVE-NG for Automation Practice and Testing", "url": "https://josh-v.com/eveng-for-autoamtion-practice-and-testing/", "published_at": "2019-08-04T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b22801a4946d", "title": "Ansible IOS BGP Module", "url": "https://josh-v.com/ansible-ios-bgp-module/", "published_at": "2019-07-13T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b228026b46a3", "title": "Ansible ASA OG Module", "url": "https://josh-v.com/ansible-asa-og/", "published_at": "2019-06-23T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b2280348002e", "title": "Ansible ASA Command Module", "url": "https://josh-v.com/ansible-asa-command/", "published_at": "2019-06-20T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b22803ff00b8", "title": "Ansible Saving Cisco Configs to NVRAM with Cisco Specific Modules", "url": "https://josh-v.com/ansible-saving-cisco-configs-ios/", "published_at": "2019-03-30T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b228040de375", "title": "Ansible Cisco IOS Interface Module", "url": "https://josh-v.com/ansible-cisco-ios-interface/", "published_at": "2019-03-17T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b2280413e92e", "title": "Ansible IOS VLAN", "url": "https://josh-v.com/ansible-ios-vlan/", "published_at": "2019-03-09T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b228045559e1", "title": "Ansible IOS Banner", "url": "https://josh-v.com/ansible-ios-banner/", "published_at": "2019-02-10T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b228054e1d7d", "title": "Ansible Network Engine and NTC Templates", "url": "https://josh-v.com/ansible-network-engine-ntc-templates/", "published_at": "2019-01-27T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b22805594fe7", "title": "Ansible differences between ios config and cli config", "url": "https://josh-v.com/ansible-cli-vs-ios-high-level/", "published_at": "2019-01-12T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b228059a0076", "title": "Ansible - Working with command output", "url": "https://josh-v.com/ansible-output-work/", "published_at": "2019-01-05T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b22805e6719a", "title": "Discontiguous Masks", "url": "https://josh-v.com/discontiguous_masks/", "published_at": "2018-12-08T14:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b2280624be33", "title": "Micro Segmentation vs Segmentation", "url": "https://josh-v.com/microsegmentation/", "published_at": "2018-12-08T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b2280707f8b1", "title": "Keeping Up on Tech", "url": "https://josh-v.com/keeping-up-on-tech/", "published_at": "2018-11-24T07:00:00+00:00" }, { "id": "01a08791-6424-724d-a990-b228079e75bd", "title": "Getting Started with the Blog", "url": "https://josh-v.com/getting-started-with-the-blog/", "published_at": "2018-11-22T07:00:00+00:00" } ] posts Claim your blog
Back to josh-v.com
Blog · corpus.blog/blogs/josh-v.com/posts

josh-v.com

josh-v.com

2026

2025

2024

2023

2022

2021

2020

2019

2018