Diving deep into these programming mindsets, and implementing them into the software development process

Photo by Max Duzij on Unsplash

Recently while reading A Philosophy of Software Design by John Ousterhout I came across the ideas of Strategic and Tactical programming. Both of them can be described as a state of mind while approaching and writing code.

100% credit for the ideas described in this post goes to John Ousterhout and his book, but I just wanted to share my thoughts and elaborate on his ideas. I think this could really help a lot of people, especially those starting out their careers in software engineering.

The tactical mindset is focused on speed of development while the strategic approach is more…


Simple face detection using the Blazeface model in TensorFlow.js.

TensorFlow.js is a great tool to run ML models in your browser, and comes with lots of pre-trained models for us to work with. Today I will be using the Blazeface model to detect faces from the webcam feed on the browser.

Using this, you can crop images to get the face only, detect faces for tagging people in images or this can be the first step towards face recognition.

We can break the process down into 3 steps:

  1. Getting access to the webcam video feed
  2. Perform face detection
  3. Display the result

To run this code, it would be good…


Exploring what makes non-fungible tokens special, why they are so popular, and the future of NFTs

NFTs have been all over the internet for the last few months. The goal of this post is to understand how NFTs work, what they actually are, and finally look at what the future of NFTs could look like.

The Basics — Blockchain

Before we try and understand what an NFT is, we need to be clear on how blockchain works. The goal of blockchain is to allow digital information to be recorded and distributed, but not edited.

Photo by CHUTTERSNAP on Unsplash

A blockchain is like a database, that stores blocks of data. …


Understanding how Cross-Origin Resource sharing and the Single Origin Policy work.

Photo by Sammyayot254 @ https://superadmins.co on Unsplash

If you have ever built a web based project, then I am sure you have come across the very annoying “CORS error” at some point. In this post I will try to break it down, and explain why it is actually quite useful.

CORS stands for Cross-Origin Resource Sharing.

Lets break it down:

Cross-Origin: Origin is basically the domain name from which the request is being called from. Two URLs are said to have the same origin if the protocol, port and host are same for both. Cross origin simply means a different origin.

Resource: Resource is simply whatever is…


Confused between C++ and Python ?

Photo by Kyle Glenn on Unsplash

The most straight forward answer to this question is pick whatever language you are most comfortable with. The only two exceptions to this are — it is not a language specific role, and the language you pick is quite rare/complex and there is a good chance that your interviewer may not be able to follow it.

They really don’t care

Interviewers don’t care what language you pick to solve problems. Coding interviews are mainly to test:

  • Problem solving/logical thinking skills
  • Computer science fundamentals — Data Structures and Algorithms, and other concepts/patterns.
  • How quickly you are able to implement the solutions you come up with.


Solving problems should be the focus, everything else is a tool.

Photo by ThisisEngineering RAEng on Unsplash

Do you find yourself overwhelmed by the sheer number of programming languages, libraries, frameworks, databases and platforms that are coming out every day ? Do you struggle to keep up with them? Well, even do.

Hi I am Adarsh, currently working as a Software Engineer. The idea behind this post is to share my thoughts on how I approach all these new things by trying to keep the focus on the problem.

But why ?

But, why do people create these ? Why bother learning about all these new things when the existing stuff gets work done ?

As humans, we are always…


Photo by Macau Photo Agency on Unsplash

Learn how queues are used in real applications and it’s implementation in Python and C++

Queue is one of the simplest and most useful data structure, not just in computer science, queues are relevant in our day to day life in lot of different fields.

In this post, we will discuss why queues are so important, how they are used in computer science and finally look at its implementation in Python and C++. The goal is to understand the queue pattern, and understand why they exist, this will hopefully help you appreciate queues and want to learn it.

Watch the video version if you prefer that !

Practical Applications

So what makes queues special ? A queue…


You wouldn’t be able to read this now if stacks didn’t exist. Stacks described from a practical perspective for engineers.

Stack is one of the most popular and widely known data structures in computer science, and one of the easiest to learn and understand. But often, maybe because of the way it is introduced or taught, it seems kind of useless and boring to learn.

Stacks are not one of those useless things that you need to learn just to pass your exams or to crack the coding interview, but they are actually used for a lot of things that you do daily on the computer.

Watch the video version if you prefer that :)

Practical Applications

  • They are the building blocks…


A practical guide for beginners to understand and implement a neural network.

Neural Networks have taken over the world and are being used everywhere you can think of. There are a lot of posts out there that describe how neural networks work and how you can implement one from scratch, but I feel like a majority are more math-oriented and complex, with less importance given to implementation. My main focus today will be on implementing a network from scratch and in the process, understand the inner workings.

The goal of this post is to walk you through on translating the math equations involved in a neural network to python code. …


Data for Change

The exponential impact a single person can have on flattening the curve visualised using pandas and matplotlib in python.

Flattening The Curve

COVID-19 has taken over the world and brought the entire world to a stand still in just a few months. Total cases in the world will be half a million soon and over 20,000 deaths have been confirmed. The worrying part is the graph of total cases is still exponentially increasing, and showing no signs of slowing down.

Flattening the curve by social distancing seems to be the only way out of this. Many countries have been locked down in the past few weeks, and people have been asked to strictly stay at home. …

Adarsh Menon

I make websites and teach machines to predict stuff. I also make YouTube videos — https://www.youtube.com/adarshmenon

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store