Author: Aakash Sharan

The Power of Callbacks in JavaScript

Sure, here’s the corrected and rewritten version of the text: Yo, listen up! When a function accepts another function as an argument, that contained function is called a callback function. Using callbacks is a core functional programming concept. It’s like calling your bestie to ask for help, and they call you back with a solution. […]


Step-by-Step Guide: Installing TensorFlow on Windows

Hey there! Want to install Tensorflow on your Windows machine? No worries, I’ve got you covered! Just follow the steps mentioned below. First things first, head over to the Anaconda website and install version 3.6. Once you’ve done that, open the terminal and check your python version by running python -V. It should print out […]


A Guide to Understanding Order of Growth

Psst, hey you. Yeah, you. Have you seen this chart? Every software engineer worth their salt should remember this bad boy. It’s all about Big O concepts, which are super important, especially when designing APIs. That’s it. That’s the tweet. But seriously, Big O notation is key for understanding how algorithms scale and how much […]


Simplifying Javascript Techniques: A Guide to the Power of Hoisting

Hoisting is a funky Javascript mechanism where variables and functions get moved around like they’re playing a game of musical chairs. Here’s the deal: Only declarations get hoisted. Assignments or other executable logic are left in place, just like your friend who always bails on moving day. Functions get hoisted first and then variables, kind […]


Optimizing Your Search Algorithms: Notes on Quiescent Search and Branching Factor

Branching Factor The branching factor is the number of children at each node. The effective branching factor is the number of children generated by a "typical" node for a given search problem. Quiescent Search A full-width search sees everything up to its horizon, and nothing beyond. This is called the horizon effect. It’s like not […]


Mastering Search Optimization: An Introduction to Iterative Deepening

Depth-First Search (DFS) In DFS, we start from a node and go down a path until we reach a node that has no children. Whenever we run out of moves, we backtrack and explore the sibling of the node. And if there are no siblings, we go for the sibling of the grandparent and so […]


Mastering AI: Enrolling in Udacity’s Artificial Intelligence Nanodegree

Let me tell you about my experience with creating an AI that plays Connect 4. I took an undergraduate CS course during my Masters and we created the AI using a few algorithms. To be honest, I don’t remember all of them, but I do recall using the min-max algorithm. The AI wasn’t too difficult […]




Unlocking the Power of MapReduce: Using Python and Apache Spark for Enhanced Data Processing

Hey there! So we decided to create a Word Count application – a classic MapReduce example. But what the heck is a Word Count application, you ask? It’s basically a program that reads data and calculates the most common words. Easy peasy. For example: dataDF = sqlContext.createDataFrame([('Jax',), ('Rammus',), ('Zac',), ('Xin', ), ('Hecarim', ), ('Zac', ), […]