The Zen of Python, by Tim Peters

Beautiful is better than ugly.                              
Explicit is better than implicit.                          

3 months, 1 week · Read more · 2 min

Internationalization and Localization with Django

Django offers full internationalization and localization support. It allows you to translate your application into multiple languages and it handles locale-specific formatting for dates, times, numbers, and timezones. Internationalization (frequently abbreviated to i18n) is the process of adapting software for the …

4 months, 1 week · Read more · 13 min

Django Sessions

Django provides a session framework that supports anonymous and user sessions.  Session data is stored on the server side, and cookies contain the session ID unless you use the cookie-based session engine. The session middleware manages the sending and receiving …

4 months, 2 weeks · Read more · 4 min

Class method vs Static method in Python

Class methods are methods that are called on the class itself, not on a specific object instance. Therefore, it belongs to a class level, and all class instances share a class method. A class method is bound to the class and not the …

4 months, 2 weeks · Read more · 8 min

Python property() Function

Python’s property() is the Pythonic way to avoid formal getter and setter methods in your code. This function allows you to turn class attributes into properties or managed attributes. Since property() is a built-in function, you can use it without importing anything. Additionally, property() was implemented in C to …

4 months, 2 weeks · Read more · 11 min

Matplotlib In Python

Matplotlib is one of the most popular Python packages used for data visualization. It is a cross-platform library for making 2D plots from data in arrays. Matplotlib is written in Python and makes use of NumPy, the numerical mathematics extension …

4 months, 3 weeks · Read more · 10 min

Pandas in Python

Pandas is an open-source Python Library providing high-performance data manipulation and analysis tool using its powerful data structures. The name Pandas is derived from the word Panel Data – an Econometrics from Multidimensional data. Pandas were initially developed by Wes McKinney …

4 months, 3 weeks · Read more · 19 min

NumPy in Python

NumPy stands for ‘Numerical Python’. It is a package for data analysis and scientific computing with Python. NumPy uses a multidimensional array object, and has functions and tools for working with these arrays. The powerful n-dimensional array in NumPy speeds-up …

4 months, 3 weeks · Read more · 14 min

Generating QR Codes and Barcodes in Python

QR code (quick response code) is a type of matrix barcode (or two-dimensional barcode) invented in 1994 by the Japanese automotive company Denso Wave. In practice, QR codes often contain data for a locator, identifier, or tracker that points …

4 months, 4 weeks · Read more · 11 min

Bit Manipulation

Computers represent all data internally as sequences of bits. Each bit can assume the value 0 or the value 1. The bitwise operators are used to manipulate the bits of integral operands both signed and unsigned.  Unsigned integers are normally …

5 months · Read more · 45 min

Bit Tricks for Competitive Programming

Competitive Programming is a mental sport that enables you to code a given problem under provided constraints. The aim of competitive programming is to write source code of computer programs which are able to solve given problems. A vast majority …

5 months · Read more · 31 min

Dynamic Programming

Dynamic programming is an optimization approach that transforms a complex problem into a sequence of simpler problems; its essential characteristic is the multistage nature of the optimization procedure. More so than the optimization techniques described previously, dynamic programming provides a …

5 months · Read more · 9 min

Graph Data Structure And Algorithms

Graph theory may be said to have its beginning in 1736 when EULER considered the (general case of the) Königsberg bridge problem: Does there exist a walk crossing each of the seven bridges of Königsberg exactly once? The Königsberg Bridge …

5 months · Read more · 36 min

Coding Patterns: Two Pointers Technique

Two pointers pattern is typically used for searching pairs in a sorted array. Given a sorted array nums (sorted in ascending order), having N integers, find if there exists any pair of elements (nums[i], nums[j]) such that their sum is equal to …

5 months · Read more · 7 min

Coding Patterns: Two Heaps

What is a Heap?                            

A heap is a special Tree-based data structure in which the tree is a complete Binary Tree in which each level has all of …

5 months · Read more · 18 min

Coding Patterns: K-way Merge

In computer sciencek-way merge algorithms or multiway merges are a specific type of sequence merge algorithms that specialize in taking in k sorted lists and merging them into a single sorted list. These merge algorithms generally refer to …

5 months · Read more · 17 min

Coding Patterns: Top K Numbers

 Top K numbers pattern is very useful to solve the problems that ask us to find the top / smallest / frequent K elements among a given set.

If the problem asking us to find the top / smallest / frequent K elements among a given set, we need to think about Top K …

5 months · Read more · 8 min

Coding Patterns: Modified Binary Search

Binary Search Tree is a node-based binary tree data structure that has the following properties:

  • The left subtree of a node contains only nodes with keys lesser than the node’s key.
  • The right subtree of a node contains …

5 months · Read more · 9 min

Coding Patterns: Subsets

Set A is said to be a subset of Set B if all the elements of Set A are also present in Set B. In other words, set A is contained inside Set B. 

The subsets of any set …

5 months · Read more · 11 min

Coding Patterns: Cyclic Sort

Cycle sort is an in-place sorting Algorithm, unstable sorting algorithm, a comparison sort that is theoretically optimal in terms of the total number of writes to the original array.  Cycle sort is the most efficient in terms …

5 months · Read more · 18 min

Coding Patterns: Depth First Search

Depth-first search is an algorithm for traversing or searching tree or graph data structures. Extra memory, usually a stack, is needed to keep track of the nodes discovered so far along a specified branch which helps in backtracking of the graph. This …

5 months, 1 week · Read more · 15 min

Coding Patterns: Breadth First Search

Breadth-first search (BFS) is an algorithm for searching a tree data structure for a node that satisfies a given property. It starts at the tree root and explores all nodes at the present depth prior …

5 months, 1 week · Read more · 22 min

Coding Patterns: In-place Reversal of a Linked List

We will introduce in-place reversal of a linked list pattern, which is very useful to solve the problems involving reversal of a Linked List with the constraint that we need to do it in-place without using extra memory.

Problem: Reverse Linked List  …

5 months, 1 week · Read more · 14 min

Coding Patterns: Merge Intervals

1. Brute Force Approach

simple approach is to start from the first interval and compare it with all other intervals for overlapping, if it overlaps with any other interval, then remove the other interval from the list and merge the …

5 months, 1 week · Read more · 9 min

Coding Patterns: Fast & Slow Pointers

The fast and slow pointer technique (also known as the tortoise and hare algorithm) uses two pointers to determine traits about directional data structures. This can be an array, singly-linked list, or a graph. It is often applied to determine …

5 months, 1 week · Read more · 11 min

Coding Patterns: Sliding Window

The Sliding window is a problem-solving technique that aims to reduce the use of nested loop and replace it with a single loop, thereby reducing the time complexity. These problems are easy to solve using a brute force approach in …

5 months, 1 week · Read more · 10 min

Applications of String Matching Algorithms

String matching strategies or algorithms provide a key role in various real-world problems or applications. A few of its imperative applications are Spell Checkers, Spam Filters, Intrusion Detection System, Search Engines, Plagiarism Detection, Bioinformatics, Digital Forensics and Information Retrieval Systems etc. It is …

5 months, 1 week · Read more · 17 min

Z Algorithm

Z algorithm is an algorithm for searching a given pattern in a string, which is an efficient algorithm as it has linear time complexity. It has a time complexity of O(m+n), where m is the length of the string and …

5 months, 1 week · Read more · 20 min

Rabin–Karp algorithm

Rabin–Karp algorithm or Karp–Rabin algorithm is a string-searching algorithm created by Richard M. Karp and Michael O. Rabin in 1987 that uses hashing to find an exact match of a pattern string in a text. It also checks the pattern …

5 months, 2 weeks · Read more · 19 min

Trie of all Suffixes


A trie, pronounced “try” and also called digital tree or prefix tree, is a special data structure used to store strings that can be visualized like a graph. Comes from the word retrieval. It consists of …

5 months, 2 weeks · Read more · 14 min

Manacher’s Algorithm


Manacher's algorithm is used to find the longest palindromic substring in linear time. It is required to solve sub-problems of some very hard problems. The problem statement it solves is: Given a string 's' with the length of 'n'. …

5 months, 2 weeks · Read more · 26 min

Link-Based vs. Array-Based Sequences


Advantages of Array-Based Sequences

• Arrays provide O(1)-time access to an element based on an integer index. The ability to access the kth element for any k in O(1) time is a hallmark advantage of arrays . In …

7 months, 3 weeks · Read more · 4 min

Fibonacci Sequence

The Fibonacci sequence is a series of numbers in which each number is the sum of the two that precede it. Starting at 0 and 1, the sequence looks like this: 0, 1, 1, 2, 3, 5, 8, 13, 21, …

7 months, 4 weeks · Read more · 9 min

Google Foobar Challenge

Recently, I was browsing on the internet and searching for some Python related concepts and then my browser split in half, asking me if I was “up for a challenge”. After a little googling, I realized this was some sort …

8 months, 3 weeks · Read more · 33 min

Multithreading with Netmiko

Multithreading enables CPUs to run different parts(threads) of a process concurrently. The threading module comes with the standard Python library. 

Automation of networking is always comes with scale requirement, manage or connect or capture data from so …

11 months, 1 week · Read more · 6 min

What is Ansible?

Ansible has become a widely adopted tool for application deployment and infrastructure automation projects since its first release in early 2012. It is primarily intended for IT professionals, who use it for application deployment, updates on workstations and …

11 months, 1 week · Read more · 12 min

Network Security Using The Firepower APIs



Network Security protects your network and data from breaches, intrusions and other threats, which involves access control, virus and antivirus software, application security, network analytics, types of network-related security (endpoint, web, wireless), firewalls, VPN encryption and more.

11 months, 1 week · Read more · 8 min

Automating AWS Cloud Networking Infrastructure



When dealing with AWS programmatically using the boto3 SDK, we will use two different credentials, an Access Key ID and a Secret Key, to authenticate against the API.You can install the newest version of boto3 using python3 -m …

11 months, 1 week · Read more · 7 min

Meraki Dashboard API Python Library

The Meraki Dashboard API Python library provides all current Meraki Dashboard API calls to interface with the Cisco Meraki cloud-managed platform. 

You can install it via PyPI:
pip install meraki
The Python …

11 months, 2 weeks · Read more · 17 min

RESTCONF and requests

One major drawback of NETCONF is its rather unmodern reliance on Extensible Markup Language (XML) as the language of choice for describing the data as well as the operations you want to carry out. To solve this, the Internet Engineering …

11 months, 2 weeks · Read more · 16 min

Automating Your Network Tests and Deployments with pyATS and Genie


While pyATS and Genie are technically two libraries that pyATS is responsible for device connectivity, test definition, and reporting, and Genie is responsible for high-level capabilities such as parsing command-line interface (CLI) output to structured Python data or defining …

11 months, 2 weeks · Read more · 10 min


NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is a Python library that implements a set of functions to interact with different router vendor devices using a unified API.
f you wanted to access different …

11 months, 2 weeks · Read more · 13 min

Configuring Network Devices Using Netmiko


Netmiko, developed by Kirk Byers, is an open source library designed to simplify SSH management across a wide range of network devices from various vendors including Cisco, Arista, and Juniper Networks. Netmiko is very popular and similar to Paramiko …

11 months, 3 weeks · Read more · 17 min

Connecting to Network Devices via SSH Using Paramiko


When administrating IT devices from a remote location, be it network equipment or servers, SSH has become the standard. With its secure transport and various authentication methods, it's a safe choice that is widely used to this day to …

11 months, 3 weeks · Read more · 13 min

TCP/IP Networks



TCP stands for Transmission Control Protocol a communications standard that enables application programs and computing devices to exchange messages over a network. It is designed to send packets across the internet and ensure the successful delivery of data …

11 months, 3 weeks · Read more · 11 min

Programming with Sockets


Python provides a good coverage on the low-level networking interface. It all starts with BSD(Berkeley Software Distribution) socket interface. As you can assume, Python has a socket module that gives you the necessary functionality to work with the socket …

11 months, 3 weeks · Read more · 28 min

IP and DNS

The IP address labels a machine's network interface with a numeric identifier, which also identifies the location of the machine, albeit with limited reliability. Domain Name System (DNS) is a core network service that maps the names to the IP addresses …

12 months · Read more · 15 min

Interacting with Remote Systems

• Accessing SSH terminals with paramiko                         
• Transferring files through SFTP                              …

12 months · Read more · 9 min

Engaging with E-mails


E-mail is one of the most popular ways of digital communication. Python has a rich number of built-in libraries for dealing with e-mails.

The mail that you send from your client interface does not reach the …

12 months · Read more · 12 min

Object-oriented programming


"Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which are data structures that contain data, in the form of attributes, and code, in the form of functions known as methods. A distinguishing feature of objects is that …

1 year · Read more · 15 min

A Handy Security Checklist


-Don't trust data from a browser, API, or any outside sources: This is a fundamental rule. Make sure that you validate and sanitize any outside data.

-Don't keep SECRET_KEY in version control: As a best practice, pick SECRET_KEY from …

1 year · Read more · 5 min


Once you have a working website or reusable app, you will want to make it public. Deploying websites is one of the most difficult activities of development with Django, because there are lots of moving parts that you have to …

1 year · Read more · 13 min

Why asynchronous?


Like most WSGI-based web frameworks, Django is synchronous. When a client
requests a web page, the request reaches Django through a view and passes through
various lines of code until the rendered web page is returned. As …

1 year · Read more · 12 min



There are many different kinds of tests, so many, in fact, that companies often have a dedicated department, called quality assurance (QA), made up of individuals who spend their day testing the software the company developers produce.

we can divide …

1 year · Read more · 8 min