Sometimes your web application will initiate some server-side code that runs for an extended period. This can be a problem for a user left staring at a web page with no feedback – the temptation is to re-submit, go back or even close the application. I found this to be particularly relevant while working on network automation applications that involve a lot of relatively slow interactions with network devices. What is needed is a way to continuously update the user with messages so that they can see that the application is functioning correctly. This post will describe how to use WebSockets, Redis, and Webdis to send messages from the server-side of your web application to the client.
Python packages typically utilize mechanisms like imports, __init__.py files, and inheritance to create scaleable, and reusable code. In this post, we will look at how these mechanisms work by exploring a piece of code that uses the Netmiko library.
When troubleshooting CoS related problems or testing CoS features it is often useful to be able to view the class of service of packets as they enter your router. If packets are not entering your router with the correct markings they will not be assigned to the correct forwarding class and will not receive the desired CoS treatment. Oddly, there does not seem to be a JUNOS command that displays counters of ingress markings. One way around this is to use an inbound firewall filter that matches and counts ingress packets based on their markings.
Following the purchase of a new Mac Book Pro with 4 x Thunderbolt 3 ports, I needed a way to quickly and neatly connect my AC power, Ethernet, 2 x monitors, USB headset and backup drive.
Enter the Belkin Thunderbolt 3 Dock. It was an expensive device at C$460 but seemed to address all my requirements. It came with 2 x Thunderbolt 3 ports, one DisplayPort, 3 x USB-A, 3.5mm Mic in and audio out, RJ45 Gig Ethernet and AC power.
Late last year I had to replace my old Dell laptop with a new device. This happened to coincide with a move towards doing a lot more work with network virtualization technologies and software development.
As with learning anything, practice is the key and with Python that means typing code into the CLI – you will not make much progress just reading blogs or watching tutorials. In an effort to learn quickly it can sometimes be tempting to think, “I will watch the next video, then I will try a practical exercise”. It’s not until you try and code something that you realize you have not taken it in as well as you thought.
Last but by no means least – books. Of course, there are a lot of really great books out there to buy or borrow. Due mainly to convenience and cost, I have concentrated my learning online but I have also used several very useful books.
There are so many Python tutorials available online that sometimes it is difficult to know which one to use. The quality can vary significantly and sometimes the author may be too fast or too slow or just have a style that does not work for you. The following authors are my favorites based on their speed of delivery, style of delivery, use of examples, and overall consistent quality.
Paid online training can provide a more structured approach to learning. I have found it most useful to start with some paid online training courses and then supplement or fill in the blanks with free online tutorials. I have found the following sites useful: