During this COVID-19 pandemic, I want to try and give back using my skills.

Enter Open Source

Here’s a good introduction for general audiences:

Everyone collaborates together and volunteers to write code for fun. I decided that is how I can give back.

My Contribution

I found out about the COVID Tracking Project after reading a news article and wondering what is their source for the data. I discovered it is the COVID Tracking Project, so I checked their website out. I admire how this volunteer organization collects data so that we in the United States can better understand this public health crisis.


Coding/development/software engineering is a team sport. You start with an idea.

Photo by Helloquence on Unsplash

The idea needs to be fleshed out into requirements in order to make a product. For such a project, the input is different pieces of work each with their set of requirements and the output is a product.

One modern way to manage such a complex project is with scrum. Scrum is an agile process framework. It is a way to go from point A (requirements) to point B (product).

Succeed by understanding the basics

A sprint is a short time period where a team works to deliver a set amount of work by…

Photo by Hal Gatewood on Unsplash

What’s the goal here?

Making my own personal portfolio website can showcase my projects and contact info in one simple, consolidated place for recruiters. This website’s primary audience would be recruiters in the tech industry. The secondary audience would be other web developers or software engineers.

LinkedIn works fine for recruiters. I just want more control when presenting my skills and projects. LinkedIn is used by other occupations as well, not just developers.

GitHub works if the audience knows code. It’s not friendly for someone who wants the non-technical details.

It will be simpler to have a static website present my skill set. …

I have deployed both a React.js and a Rails API to Heroku before. One of my grievances is that they both go to sleep. It makes sense for Heroku to have apps go to sleep for efficient use of its resources though. (Source: https://blog.heroku.com/app_sleeping_on_heroku ) But it is not fantastic for having people view my work. People can only wait so long before leaving.


Heroku was originally built for Ruby. Modern web development shifted to a backend API to handle requests from mobile apps and frontend apps.

With Heroku, a user would go to my single page application made with…

I played around with Amazon Web Services today. I was specifically interested in deploying one of my create-react-app’s.

It is a static website currently deployed on Heroku.


I want to see how else I can deploy my app. This know-how would also be useful for a possible personal website. (Still in progress)

Enter Amazon S3

I have the option to create a minified bundle from React using npm run build and then upload those files to an S3 bucket instance.

  1. Go to terminal and use the npm run build to create the build folder containing static files to drop into the S3 bucket.

Venn diagrams show up whenever I do a quick Google image search on SQL join.

Google image search on sql join

However, it’s technically not how JOIN works. I suppose blogs usually get away with that explanation because the majority of queries usually join on unique id’s.

FROM Orders
INNER JOIN Products ON Orders.product_id = Products.id;

How does Inner Join really work then?

The Inner Join (part of the subset of Cross Join) is equivalent semantically to a double iteration with a filter. (Under the hood, it is more efficient. Let’s not get into that now.)

Efficiency trick!

Photo by Antoine Dautry on Unsplash

I grew up learning math early on. My dad would borrow videos from the library. I would watch those videos and learn math.

Coding puts me in the same state of mind as math did. Whether it was arithmetic, linear algebra, or multivariable calculus, I get into a flow where all that exists is me and this abstract logic. We are one, yet we are separate.

Recently, I ran into a problem that brought math and coding together into a simple logic problem.

More Efficient Fibonacci

Get ready for the wild recursion ride.

Photo by Cameron Kirby on Unsplash

What is a Binary Tree?

Let’s start by talking about the data structure known as a tree. (I touched on this briefly with tries/prefix trees but let’s review.)

A tree has nodes (or data elements) with pointers to other nodes.

You autocomplete me!

“four people giving high fives at the same time” by rawpixel on Unsplash

A trie (also known as a prefix tree) is a kind of tree data structure composed of nodes. Generally, each node would have an character or an empty value to represent the end of the path. It looks something like this (when there’s no empty node):

Refactor with Confidence!

At Flatiron School, all the tests are written for me. The tests gave me instant feedback on my code and made my time spent learning more valuable. Something has to check my work.

Nowadays, I am writing my own JavaScript functions using my own creativity and imagination. I want to check my work especially when I am refactoring. (I am optimizing my code for readability and performance, but I do not want to break it.) Sometimes, I am hesitant to change things when I know it works. …

Christopher Diep

Software Engineer at Wayfair in Boston | https://christopherdiep.com

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