Deep Learning What is Neural Network and Deep Learning? Deep Learning has become quite a buzzword in recent years. It has taken over in all applications from tasks like image recognition, chatbots like Alexa and Google Assistant to defeating world champions in a complex games like Go and Dota 2.
Algorithms Binary Heap Binary heap is a complete Binary tree structured as a heap data structure. Binary heaps are common way of implementing priority queues.
Algorithms Worst Case of Quick Sort In this article, we will discuss about the Worst Case Time Complexity about 'Quick-Sort' algorithm along with the complete time complexity analysis of the worst case.
DevOps Top 4 config management tools Configuration management (CM) tools are essential tools that is used to automate the process of identifying, documenting and tracking changes in a software stack in DevOps. These are the top picks for configuration management tools.
git See changes in a specific Git commit In this article, we have presented how to see the code changes in a specific Git commit using "git diff" command.
Java Basics of Hibernate (architecture + example) Hibernate is a Java framework that maps Java classes and types into the relational databases, which solves problems of "paradigm mismatches". This article explains the basics of Hibernate and provides a simple example with the MySQL database.
Decrease & Conquer Decrease and Conquer In this article, we will discuss about the technique Decrease and Conquer which is similar to Divide and Conquer. Decrease and Conquer can be used to solve several important problems such as Fake Coin Problem, Generating Subsets and much more.
Machine Learning (ML) Different Classification Trees in Machine Learning In this article, we will be learning about different Classification tree methods such as C4.5, CHAID and much more along with some key similarities and differences between them. An implementation in Python is also explained.
Machine Learning (ML) Local response normalization (LRN) In this article, we have explained the concept of Local response normalization (LRN) in depth along with comparison with Batch Normalization.
Dynamic Programming (DP) Longest Geometric Progression In this article, we have explained how to solve the problem of Longest Geometric Progression efficiently using Dynamic Programming. It involves the use of Map data structure in implementation which is different from other standard problems.
Greedy Algorithms Fitting Shelves Problem [Greedy Algorithm] In this article, we will understand what fitting shelves problem is and will see a greedy approach algorithm of solving this problem.
Deep Learning Neural Architecture Search (NAS) The aim of this article is to provide a clear and intuitive understanding of the deep learning paradigm known as Neural Architecture Search (NAS).
Compiler Design Add support of Debugging: DWARF, Functions, Source locations, Variables In this article, we continue to discuss other aspects involved with debugging and debugging information in Kaleidoscope. We discuss how to include function definitions, source locations, and variable locations in debug information.
Compiler Design Building a Compiler Front-End The front-end of a compiler comprises four phases, source code is converted from high-level code to an intermediate representation which is optimized and compiled to machine code.
game theory Pure and Mixed Strategy Nash equilibrium In this article, we will discuss about the pure and mixed strategy nash equilibrium which are important concepts in Game Theory.
Compiler Design Add debugging support in Programming Language A good programming language should also be able to support debugging and debug information. In this article, we add support for debugging and debug information.
Compiler Design Bootstraping a Compiler Bootstrapping a compiler involves producing a self-compiling compiler, that is, we write a compiler using language A that produces code for target machine B and can still compile itself.
Compiler Design Compiling LLVM IR to Object Code We have seen how to implement the Kaleidoscope programming language, from source code to an LLVM IR to optimization to implementing a JIT compiler and implementing further extensions. In this article, we will compile the LLVM IR into object code.
Compiler Design Variable Mutation in Kaleidoscope Mutation in programming languages involves the ability to change an object. In this article, we further extend our language, we add to it the ability to define new variables and mutate them.
Compiler Design How to compile a compiler? [Bootstrapping] In this article, we will learn the process and types of bootstrapping. Bootstrapping involves using compilers to compile other compilers or themselves.
Compiler Design LLVM Memory and SSA In this article, we learn all about SSA and LLVM memory and how the two are related.
Compiler Design User-defined Operators in Kaleidoscope User-defined operators take in a set of operands as input and return a result. We want to support functionalities such as division, logical negation, comparisons, etc.
Compiler Design If-then-else in LLVM Control Flow Control flow statements are statements used to change the flow of execution of the program. In this article, we extend Kaleidoscope to include control flow operations such as if-then-else statements.
Compiler Design For loops in LLVM Control Flow In programming, we use loops to repeat a sequence of instructions until a specified condition is met. In this article, we further extend Kaleidoscope to support for loops.
data science Statistical Features in Data Science In this article, we will understand about various statistical features like median, quartiles, inter quartile range (IQR), bias and variance.