Theory of Computation The Halting problem We learn about the halting problem in computability theory. It is as follows, Given an algorithm and its initial input, we determine if the algorithm when executed in this input will ever stop/halt. If it does not halt, it runs forever in an infinite loop.
Theory of Computation Recursive and Recursively Enumerable Languages In this article, we learn about the properties of recursive and recursively enumerable languages in terms of union, intersection, and complements and compare the two languages.
Theory of Computation Non Deterministic Turing Machines We learn about non-deterministic turing machines - a generalization of the standard deterministic turing machine from a uniquely determined sequence of computation steps to several possible sequences of computational steps.
Theory of Computation Types of Turing Machines A Turing Machine is a mathematical model of a computation defining an abstract machine. In this article, we learn about the different variations/types of Turing machines.
Time Complexity Time and Space Complexity of Comb Sort In this article, we will learn about Time Complexity and Space Complexity of Comb Sort algorithm, with the in-depth mathematical analysis of different cases. Comb Sort is also known as Dobosiewicz Sort.
Theory of Computation Turing Machines and Church-Turing Thesis in Theory of Computation A Turing machine is a mathematical model of a computation that defines an abstract machine. In this article, we learn about Turing machines, how they are defined formally and informally, and the Church-Turing thesis.
Algorithms Separate chaining collision resolution technique In this article, we are going to see how we can actually resolve the collisions which happen during hash mapping using Separate chaining collision resolution technique.
System Design How to run container images safely? Everything runs in containers these days. How do we make sure container images are safe?
Software Engineering JWT and It's Best Practices In this article, we are going to cover a detailed explanation of JWT. Why do we use it? How we will make it work. We will be also covering the best practices of using JWT.
Linux nohup command in Linux We use the nohup command to keep a process from being killed when the kernel sends the SIGHUP signal to the process when the terminal is closed. In this article, we learn about this command through examples.
C++ typedef vs using in C++ In this article, we will explore the differences between the two type aliases in C++ - typedef and using.
data science Simulated Annealing In this article, we will understand what simulated annealing is and get to know its uses in Probability and Data Science.
data science Monte Carlo Sampling Techniques In this article, we will explore the various Monte Carlo sampling techniques used in Probability and Data Science.
System Design Dapper in System Design In this article, we have explored what is Dapper, key concepts in Dapper and how Dapper is used in System Design.
Software Engineering Gated check in A gated check-in is a software integration pattern used to avoid breaking a build. It triggers an automated build before code is checked in, if the build fails, it is not checked in until all issues are fixed, otherwise, it is merged to the main branch.
Software Engineering Types of System Testing System testing is the third phase of software testing in the software testing hierarchy, other phases are unit testing, integration testing, and acceptance testing. We learn about system testing, the process, the different types, and the reasons to perform system testing.
Software Engineering Nightly / Daily build A nightly build is an automatic build that takes place when nobody is around, usually at night or during lunch. It is automated by a script that ensures no bugs were introduced and all dependencies are available.
Python virtualenvwrapper in Python virtualenvwrapper is an addition to the standard virtualenv tool. It streamlines the process of managing your virtual environments by having wrappers for creating and deleting virtual environments and more.
Software Engineering Functional testing In functional testing, we test software to ensure that it fulfills all functional requirements as specified in the business document. In this article, we learn about functional testing, why we test, the process of testing, types of testing, and some of the tools used for functional testing.
Software Engineering Black box vs White box testing Testing software is the fifth phase in the Software Development Life Cycle-SDLC. We test software to ensure safety, security, product quality, no bugs are present, usability, etc. In this article, we learn about black box and white box testing.
List of Mathematical Algorithms Different ways to calculate nᵗʰ Fibonacci number In this article, we will implement different algorithms to calculate n-th Fibonacci number.
Python Python script to get currency exchange rates In this article, we will be writing a Python Script to get currency exchange rates from an API and plotting graphs of exchange rates with respect to Time.
System Design Apache Kafka in System Design This article will cover the uses of Apache Kafka in System Design, its core capabilities, and how it works.
System Design Hadoop in System Design In this article, we have explored the idea behind Hadoop and how it is used in System Design.