Photo by Alexander Sinn on Unsplash

It’s time to learn a little about the language of computers: Bits! I’ll be showing some common bitwise operations and how to use them to solve a popular bits algorithm — Number of 1 Bits.

Bitwise Operations

If you aren’t familiar with binary, take some time to read about it here or watch this video.

  • AND & — Intersection between two numbers. The resulting number has a bit turned on only if both numbers are turned on in that bit position
  • OR| — Union…

This week, I’ll be showing you how to use Quick Select! It’s an extremely powerful algorithm that you’ll definitely want to remember. Then, I’ll use it to solve this problem — K Closest Points to Origin.

Quick Select

What is it

Quick Select is a divide-and-conquer algorithm used to find the kth element(s) of a list of elements. The algorithm is done by partitioning around a pivot points until the pivot ends at the k+1 index. …

Photo by James Harrison on Unsplash

This week is a packed post introducing Linked Lists AND Merge Sorts. Both are very useful to know to tackle a ton of algorithms. Then I’ll take a look at how to merge the two together to solve this problem — Merge k Sorted Lists.

Linked Lists

What are they

Linked Lists are a linear-data…

Photo by Luca Bravo on Unsplash

Last week I looked at Priority Queues and this week I’ll be taking a step back to show how to use normal heaps to solve interval or scheduling related problems! This is the problem I’ll solve this week — Meeting Rooms II.


What are they?

A heap is a specialized tree-based data structure…

Today I’ll be looking at Priority Queues! It’s a very useful data structure (one of my favorites) used to hold elements in a order based on some ranking of those elements. …

Photo by Sebastian Herrmann on Unsplash

This is the start of my data structures and algorithms (DSA) blog! Every week I’ll be picking a DSA problem and walking through how to upgrade your algos from brute force to efficient solutions. Follow me to keep up with my weekly posts!

What is the 2-Pointer Technique?

It’s one of the most common algorithm…

Photo by Greg Rakozy on Unsplash

Here’s an easy way to manage your asynchronous Redux actions in your React front-end. Also, some little notes about Redux Thunk as a bonus. If you haven’t read part 1, find it here!

What do we need to do?

In the project we’ll be looking at, we need to check if there was an error in…

Screenshot from Sketchit App

Wrapping your head around how Action Cable, Rails, React and Redux all fit together can be daunting but I’ll you how to set up a simple collaborative canvas that updates in real-time across multiple users.

What is Action Cable?

If you want to dive into the official docs, head over to the Rails Guide.

Action Cable allows you to add real-time features to your applications. For example, features such as chat boxes, and notifications, or in our case, a real-time sketchpad. …

Photo by Bharat Patil on Unsplash

This week, I’ve built a mood and emotions logging application using a Rails API backend and a JavaScript frontend. Read on to learn about Promises and to find out how I used JavaScript Promises to manage the asynchronous functions of the application! But first… here’s what I’ve built:


For this project, I explored the magic of Rails and the power of the Spotify API to create Jamlist, a collaborative playlist creator that allows groups or communities to create and edit Spotify playlists together. Here I’ll dive into some ActiveRecord and Rails magic that can make your models robust and flexible.

Jamlist — Collaborative Playlists Made Better

Jamlist Homepage

The idea behind Jamlist is to allow groups of friends or communities to be able to share music. Spotify is great for listening to and browsing music but lacks the social aspects for groups to have an interactive music experience. Through Jamlist, you can create groups, join other groups, create…

Jesse Gan

Software Engineer helping companies bring new products to life. Follow along with my coding journey here!

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