And Building Better APIs

Image for post
Image for post

What is GraphQL?

GraphQL is a query language (that’s what the QL stands for) developed by Facebook that provides us with a more efficient way to design, create, and access APIs.

It aims to improve upon the conventional API request process by allowing you to configure the structure and content of the data you ask for when making a request.

The general pattern is:

Before GraphQL

Prior to GraphQL the standard was to build REST APIs which all follow a strict guideline for making your API requests. …

Image for post
Image for post
Featuring one of the best written scenes in TV history, the infamous “Middle-Out” Scene in Silicon Valley

If you’re a Jr. Developer from a non-CS background (maybe you completed a boot camp like myself or maybe you’re self taught) there’s a good chance you have asked yourself something like “Why do I need to learn what a Binary Search Tree is? I just want to design websites!” I definitely had this thought and even rebelled against the idea of learning data structures at first.

But here’s the issue. Once I started applying to full-time jobs or even internships at companies I liked, they all began sending me DSA heavy coding challenges.

So, begrudgingly I began the long…

Using Recursion, Memoization and Tabulation

Image for post
Image for post
What’s the minimum number of coins we can use to return a certain amount of change?

The Set Up

This is a classing dynamic programming problem that goes something like this:

“Given a list of coin values (e.g. 1¢, 5¢, 10¢, 25¢) what’s the minimum number of coins you can use to return a specified amount (e.g. 59¢)?


First, we will solve this problem recursively.

The first step when dealing with recursion is to set up your base case. In this example, it makes sense that when the amount is 0¢ we want to return 0. There is only one way to return nothing, and that's by giving no coins.

function minChange(coins, amount){if…

Image for post
Image for post

Today we’ll be building a simple countdown timer in React with the following functionality:

1. Create React App

Get started by using the create react app package through npm to set up your React application. Type the following into the terminal:

npx create-react-app simple-timer

For more info on create-react-app go here

2. Set up App.js

If you’re familiar with React you’ll know that by default the App.js component acts as the parent component for our application. It comes with a bunch of standard code when you use create-react-app, but for now let’s delete all of the unnecessary code…

Even if you’re strictly a Frontend Developer!

Image for post
Image for post

1. It’s Versatile

Python is great for Web Development offering amazing web frameworks like Django which make it extremely efficient to spin up web applications. However it’s real advantage is its versatility.

The most common use cases for python are data science, data analysis and software engineering, but other use cases for Python include:

2. It’s Popular

Python is the most popular programming language in the world and roughly 30% of all code is written in Python.

This popularity means…

One of many rites of passage in the software engineer’s journey

Image for post
Image for post

So you just took your first coding challenge. It’s possible it was a take home type of test, or maybe a whiteboarding exercise, or maybe even a (::shudders::) live coding review. It doesn’t matter the format. Unless you are the most extreme of outliers, at some point in your career you will encounter a challenge that you aren’t able to solve as well as you wanted to. You will inevitably go through the phases of anguish and self-doubt that come with bombing a coding challenge. But fear not, we’ve…

And why using OAuth for authentication is not best practice

Authentication vs Authorization

Both words look similar, sound similar, and even can both be abbreviated as “Auth”. However it is a common misunderstanding that these words can be used interchangeably. Heck, even I thought so when I was first learning about the two, and it took me so long to sort the differences out in my head that I decided to write this blog to help others in a similar situation.

So what the heck is the difference??

Authentication - the process of verifying an identity. …

Image for post
Image for post
Cosine Similarity is using the cosine of the angle between two vectors to measure how close they are

Continuing Where We Left Off

If you have not yet completed the steps in Part 1 of setting up a Rails environment and pulling down the data from the API, please go back and read my last article here. Assuming you’ve completed these steps, let's continue on to the next part.

Creating Custom Attribute Values for Each Game

As mentioned in the last article, in this example our four categories for comparison are a game’s:

Using Ruby’s Vector class, and some custom Rails methods

Image for post
Image for post

The Types of Recommendation Systems

There are 2 widely used systems to recommend products to customers, whether that product be physical goods like Amazon sells, television shows or movies like Netflix, or even other user’s profile pages like Facebook.

Collaborative Filtering

Collaborative filtering compares the likes, dislikes, and trends of user’s to match them with other similar users, and then recommend them products based on what the other similar user’s enjoy. For example, if User A watches a bunch of the same Rom-Coms on Netflix as User B, and both users rate them similarly, if User A finds…

Using react-dnd

Image for post
Image for post


The drag and drop is one the most basic and important actions a person learns when they are first introduced to a computer with a GUI (Graphical User Interface). The first time I remember performing the action is back on my PC running Windows 95 when I dragged a file over my Trash Bin Icon and dropped it in, effectively deleting the file.

The premise has not changed much since then. At its base simplicity, the steps are as follows:

Sean LaFlam


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