Data Structures Prefix sum array Prefix Sum array is a data structure design which helps us to answer several queries such as sum in a given range in constant time which would otherwise take linear time. It requires a linear time preprocessing and is widely used due to its simplicity and effectiveness.
cyber security Heap Spraying Attack Heap Spraying Attack is a type of cyber attack in which the attacker uses the ability to write the series of bytes in the memory for the running program at various places in the heap. The main aim of the attack is to ensure that the bytes can be accessed later as the vector of the separate attack.
cyber security DLL Hijacking Attack Dynamic Link Libraries (DLL) Hijacking is an type of cyber attack when hackers replace the genuine .dll file with the malicious file. This corrupted file, when used by the application, gives erroneous results as programmed by the hacker.
cyber security Password Spraying Attack Password Spraying is a form of cyber attack similar to a brute force attack, where the hacker tries to gain access to the company system by testing out a small number of commonly used passwords on a large number of accounts. This attack allows a attacker to gain access to multiple accounts
cyber security BlueBump Attack BlueBump attack is an cyber attack for bluetooth enabled devices. The attack allows the attacker to connect to the Bluetooth device of target, and then exploit the link key of the target device. The attack gives the attacker unlimited access to the victim's device which is in a very limited range
cyber security Xpath Injection Attack XPath Injection is an cyber attack used to fetch sensitive data (stored in XML format) from a website, by injecting malicious XPath queries. This attack works for applications that leverage user-supplied information to construct XPath queries.
Data Structures 2D Fenwick Tree / 2D Binary Indexed Tree Fenwick Tree is used to answer range or interval queries in an array in logarithmic time. Fenwick tree can be generalized to multiple dimensions. 2D Fenwick tree is one such implementation used to answer sub-matrix queries, i.e. queries in 2 dimensions. It requires the operation to be invertible.
Data Structures 2D Segment Tree Segment Tree is used to answer range queries in an array. The data structure can be extended to 2 dimensions to answer sub-matrix queries in logarithmic time. Some examples of these queries are Maximum element in sub-matrix It can be seen as a segment tree of segment trees. We give an example for it
Algorithms Cohen Sutherland Line Clipping Algorithm Cohen Sutherland Algorithm is a linear time complexity line clipping algorithm that cuts lines to portions which are within a rectangular area. It eliminates the lines from a given set of lines which belongs outside the area of interest and clip those lines which are partially inside
automaton Von Neumann Cellular Automaton Von Neumann Cellular Automaton model is the original expression of cellular automaton. It has 29 states which are the minimum for a self-replicating machine and all of which can be grouped into four categories: blank, transmission, confluent and transition states. It simulates real systems
Machine Learning (ML) Sentiment Analysis using LSTM with Keras Sentimental analysis is one of the most important applications of Machine learning. It is used extensively in Netflix and YouTube to suggest videos, Google Search and others. In this article, we will build a sentiment analyser from scratch using KERAS framework with Python using concepts of LSTM.
Machine Learning (ML) Long Short Term Memory (LSTM) Long short-term memory (LSTM) units are units of a recurrent neural network (RNN). An RNN composed of LSTM units is often called an LSTM network. A common LSTM unit is composed of a cell, an input gate, an output gate and a forget gate. It has applications in Speech recognition, Video synthesis
Algorithms Number of arithmetic progression subsequences in a given set of numbers The problem is that given an array of n positive integers. The task is to count the number of Arithmetic Progression subsequence in the array. This can be solved using dynamic programming in linear time complexity.
Algorithms Find the Longest Arithmetic Progression using Dynamic Programming The problem we will solve is that given a set of integers in sorted order, find length of longest arithmetic progression in that set. This can be solved by brute force in O(N^3) while a dynamic programming approach with take O(N^2) time complexity.
Machine Learning (ML) Hierarchical Clustering Hierarchical clustering is a method of clustering. In this method, we find a hierarchy of clusters which looks like the hierarchy of folders in your operating system. This hierarchy of clusters will resemble a tree structure and it is called dendrogram
Machine Learning (ML) Kernel Principal Component Analysis (KPCA) Kernel Principal Component Analysis (KPCA) is a non-linear dimensionality reduction technique. It is an extension of Principal Component Analysis (PCA) - which is a linear dimensionality reduction technique - using kernel methods.
cyber security BlueSmack Attack Bluesmack is a cyber attack done on bluetooth enabled devices. The attack uses L2CAP (Logic Link Control And Adaptation Protocol) layer to transfer an oversized packet to the Bluetooth enabled devices, resulting in the Denial of Service (DoS) attack.
cyber security OS Command Injection Attack OS Command Injection is a form of shell injection attack, mostly used for execution of unauthorized OS commands in the operating system (OS) to target the system (usually a web server) and degrade its performance. In this attack, the hacker aims to find and exploit some of the vulnerable application
cyber security Malvertising Attack Malvertising is a type of cyber attack in which an hacker use the online advertising to spread the malware. The attack can infect a system pre-click or post-click. A pre-click malvertisement can be embedded in the main scripts of the page. It can even initiate drive-by-download on visiting the site
cyber security Fork Bomb Attack Fork Bomb Attack is a type of denial of service attack which causes the degradation of a system by making it run out of the memory. The attack forks the processes recursively to fill the entire available memory, thus choking system resources. Locating and terminating a Fork Bomb is a tedious process
Data Structures Fenwick Tree (Binary Indexed Tree) Fenwick Tree / Binary indexed tree (BIT) is a data structure used to process interval/range based queries. Compared to segment tree data structure, Fenwick tree uses less space and is simpler to implement. One disadvantage is that it can be only used with an operation that is invertible.
Data Structures Segment Tree A segment tree is a divide and conquer based data structure used to store information about intervals of some linear data structure. It is a height-balanced binary tree where every node corresponds to an interval of the array. It allows processing interval or range queries in logarithmic time
cyber security Drive By Login Attack Drive-By Login is a form of phishing attack in which a hacker sets up the malicious code on the victim's favorite website through through various methods of social engineering and bugs in website. Use anti-phishing tools and keep browser upto date to stay safe from this attack
Software Engineering Check memory usage in Linux Five tools to check memory usage on Linux are free, /proc/meminfo, vmstat, top and dmidecode. The difference between clock speed and memory access is increasing day by day. To keep our machines healthy, we want to check the memory usage of several processes and in Linux, we have five tools to do so.
cyber security Tabnabbing Attack Tabnabbing is a form of cyber attack which enables an hacker to take the advantage of the idle tabs in the browser and use them for carrying out the phishing attacks. The attack can be carried out even if the javascript is disabled, using the HTML attribute or a "meta refresh" meta element