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…
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:
To run this code, it would be good…
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.
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.
A blockchain is like a database, that stores blocks of data. …
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…
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.
Interviewers don’t care what language you pick to solve problems. Coding interviews are mainly to test:
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 do people create these ? Why bother learning about all these new things when the existing stuff gets work done ?
As humans, we are always…
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.
So what makes queues special ? A queue…
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.
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. …
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. …