What are WebSockets and how do they differ from HTTP? What is HTTP? How are WebSockets used and what are some use cases? Below is an overview of Web Sockets and HTTP.

The Hypertext Transfer Protocol, or HTTP, is a unidirectional protocol where the client sends a request to a…

What is the difference between overriding and overloading a method in Java? What are these things used for?

Method overloading is providing two or more separate methods in a class with the same name but different parameters, e.g. a different method signature. …

Here I’ll be talking about some things to think about when starting a new project with users and user authentication. What are the fields necessary in a user table? What kind of relationships to other tables might there be? What may become useful in the future? …

Today we’ll discuss Floyd’s algorithm to detect cycles in a linked list. This algorithm uses two pointers, one fast and one slow, in order to find where a linked list cycles. An example of this problem can be found here.

The idea of this algorithm is to progress through a…

A prime number is a number other than 1 that is only divisible by itself and 1. For example, the prime numbers between 1 and 10 are 2, 3, 5, and 7. …

What is Bcrypt? Why is it a popular way to keep passwords secure? Today we will answer these questions and gain a deeper understanding of Bcrypt.

Bcrypt is a hashing algorithm based on the Blowfish Cypher. It takes in a plain text password as an input and returns a hash…

Breadth first search is a common technique to search a tree data structure. As in the name, this algorithm traverses the tree shallow before going deeper. …

Today we’ll be talking about a technique to search through a tree called Depth First Search. One common implementation of a tree is a binary tree. A binary tree is a data structure consisting of nodes. Each node contains a value and a pointer to the next two nodes in…

In this blog, we’ll walk through how to write the Quick Select algorithm in Ruby. This technique is used to find the kth smallest element in an **unsorted** array, with an average runtime complexity of O(n). Quick Select uses a similar approach to the popular Quick Sort algorithm. …

In this blog, we implement a Quicksort in JavaScript. Quicksort is an algorithm used to sort arrays with a divide and conquer technique. First, we select a pivot element of the array, in this case the middle element. Next, we swap elements that are greater than or less than the…