TLDR — Hashing has to do with taking a certain value (for example your password), applying some kind of mathematical operation to it (MD5, SHA-1, SHA-2) called a hashing algorithm or a hashing function, and getting the resulting changed value (known as a hash or hash value or digest message). This is commonly used for passwords and checking document accuracy. See the below image:

They are three main uses for hashing namely document hashing for ensuring accuracy, password hashing for increased security and hash tables for indexing data.

1. Document Hashing for Ensuring Accuracy

Here is the problem document hashing solves: let us say you have…

TLDR — A Linear search cycles through an array from start to finish whilst a binary search breaks the array into halves and does a half-interval search. If the variable is not found it breaks the array into another half based upon with its position being too high or too low relative to the search topic, as seen below. In general a binary search is much faster for large arrays.

Have a look at this gif below:

Linear Search

A linear search makes more sense in specific circumstances:

  • If your array is guaranteed to be small. There’s not much sense in having…

The TLDR — Big O Notation takes a look at how an algorithm scales.

As the size of the data set increases, how does the algorithm speed change?

The idea of Big O notation was best understood by me in story form, in 2009 a Cape Town homing pigeon called Winston, made history by beating an ISP by delivering 4GB of data 75km, in just 2 hours 6 minutes and 57 seconds, During the same time, the ADSL line had sent just 4% of the data.

Big O notation looks at the amount of time something takes verse the volume of data it has

Listed below are a different scenario


So it takes the pigeon just as long to carry 8GB of data as it does 4GB this…

Traditional CPU’s process tasks in a synchronous order one operation after another, this was enhanced by multi-threaded CPU’s, most PC's today have multiple cored CPU’s. The exception to this is Quantum computing but this isn’t in the scope of this post and as of now is not working.

Multi-threaded CPUs enable the CPU to handle multiple problems at once increasing the performance of the PC.

Due to this ‘code’ is synchronous by nature as it is run by the CPU, in Javascript you give an instruction, that instruction goes to the ‘Call Stack’. …

Daniel Leitch

I'm a Full Stack Developer 🚀 and Linux Enthusiast from Cape Town, South Africa.

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