Algorithms Maximum size square submatrix with all 1s In this article, we have explored various ways to solve the problem of finding maximum size square submatrix with all 1s. This can be solved using Dynamic Programming.
Algorithms De Bruijn Sequences In this article, we have explored De Bruijn Sequences and 3 algorithms to calculate De Bruijn Sequences using ideas like Hamiltonian Cycle, Euler's path.
Algorithms Find Cube root using Binary Search In this article, we have explained the algorithm to Find Cube root using Binary Search along with Time and Space Complexity analysis.
Algorithms Search an element in Sorted 2D matrix In this article, we will learn about how we can search for a particular element in a sorted 2D matrix.
Algorithms Find Square Root of Number using Binary Search In this article, we have discussed how to find square root of a number using binary search.
Machine Learning (ML) One hot encoding in TensorFlow (tf.one_hot) This article discusses about one of the commonly used data pre-processing techniques in Feature Engineering that is One Hot Encoding and its use in TensorFlow.
Compiler Design Decompilation Decompilation is the process of converting executable machine code into human readable code. In this article we discuss the steps involved in the decompilation process.
Compiler Design Disassembly Disassembly involves recreating assembly code from binary machine code. In this article we discuss concepts surrounding disassembly and a basic algorithm used for disassembly.
Compiler Design Assembler, Linker and Loader An assembler is responsible for converting source code into target code. In this article we discuss the tasks of an assembler, linker and loader. We also discuss the design issues faced by both assemblers and linkers.
Compiler Design Three address code Three address code is generated by a compiler for code optimization, it uses a maximum of three addresses to represent any statement. In this article we discuss it.
computational geometry Map Overlay Problem In this article, we will be exploring the Map Overlay Problem which is a core problem in Computational Geometry. We have explored simple variants of Map Overlay Problem.
System Design Redundant arrays of independent disks (RAID) In this article, we have covered what are Redundant arrays of independent disks and the commonly used RAID levels. This is an important topic in Memory management / storage in System Design.
TensorFlow Initializing Tensors in TensorFlow In this article, we have explored the idea of Tensors in TensorFlow, different types of tensor and how to initialize and use them.
Data Structures Circular Doubly Linked List In this article, we have explored Circular Doubly Linked List and operations that can be performed on it. It is a combination to two Data Structures namely Circular Linked List and Doubly Linked List.
System Design Distributed Operating System In this article, we have explored the idea of Distributed Operating System in depth along with internal working details, different types and examples.
System Design Different types of File System In this article, we have explored the Different types of File Systems such as Distributed File System, Flash File System and much more with examples of each type and how they are used in real applications.
Linux Linux threads: Creation, Data passing, Waiting A thread is the basic unit of processor utilization that consists of a program counter, stack and registers. In this article we discuss how they are created, how data is passed between thread, waiting in threads, return values and attributes.
Linux Linux threads: cancellation, data and cleanup A thread is the basic unit of processor utilization that consists of a program counter, stack and registers. In this article we discuss how they are cancelled, how data is handled within threads and cleaning up to prevent memory leaks.
Compiler Design Compiler Architecture Compiler architecture differs based on the granularity of data passing through the compiler and the flow of control between compiler modules. In this article we discuss these two factors, properties of good compiler, portability and retargetability.
Compiler Design Interpreters (Recursive & Iterative) in Compiler Design Intermediate code can either be directly executed by an interpreter which involves little preprocessing or by a compiler which requires a lot of preprocessing followed by code generation. In this article we discuss interpretation and the types of interpreters.
Dynamic Programming (DP) Dynamic Programming on Trees In this article, we have explored the idea of Dynamic Programming on Trees in depth and presented some practice problems.
Data Structures Introduction to Tree Data Structure In this article, we have presented a detailed introduction to Tree Data Structure. This will quickly give you the idea of Tree, how it is implemented and the different types that are used.
Linux Linux processes: signals, termination, zombies, cleanup A process is a running instance of a program, it starts when a command is executed. In this article we discuss signals, process termination, wait system calls, zombies and their cleanup.
Linux Linux processes: listing, creation, scheduling A process is a running instance of a program, it starts when a command is executed. In this article we discuss various process manipulation functions and their implementation in the Linux system.
Linux Partitioning in Linux Partitioning a disk is the first step before installing a file system since creation of any files or directories is done in a file system. In this article we discuss partitioning and demonstrate how to partition a drive using parted utility.