A Hands-on Guide to Netmiko and TextFSM

Introduction Within this article, we will look at two tools used in the world of network automation - Netmiko and TextFSM. Our examples will be based on a small topology consisting of 3 devices an Arista, a Cisco NXOS9K and a Cisco IOS router. Below shows the topology, Figure 1:…

Read More

Python - Threading vs Multiprocessing

Introduction In this article we will look at threading vs multiprocessing within Python, and when you should use one over the other. TL;DR What is the GIL (Global Interpreter Lock)? - Prevents more than 1 thread being run within a single CPython Interpreter/process. Why do we need the…

Read More

Python - A Look into Generators

Introduction In this short article we will look into Python generators. A generator is, a function that returns an object (iterator) which we can iterate over (one value at a time).[1] Therefore, unlike lists, they are considered lazy. The key benefit to generators is that as they only produce…

Read More

Python - Inheritance vs Composition

Introduction In our previous article, we looked at - Inheritance vs Polymorphism. Within this article, we will look at another OOP aspect - Inheritance vs Composition. To explain this our example will be base upon a small ACL builder. This builder build an ACL for either an IOS or Junos…

Read More

Python - Inheritance vs Polymorphism

Introduction Two important terms to understand when learning Python and OOP (object-oriented programming) are inheritance and polymorphism. Inheritance Inheritance establishes a relationship between two classes - parent (superclass) and child (subclass). Child classes keep the attributes and methods of their parent, whilst also adding new attributes or methods of its…

Read More