I created this easily digestible cartoon explanation of the HTTP request/response cycle to show how data flows across the Internet when you are using a web browser.


This guide is for leveling up your JavaScript regex game. Get started with Mozilla’s guide if you’re new to regular expressions.

Read the guide top to bottom as some of my examples build on each other assuming you’ve mastered the methods and regular expression syntax previously mentioned.

Cleaning up extra spaces using the string method replace

We can clean up white space in a string with a simple regular expression. The example below utilizes \s, which is regex for white spaces and +, which is regex for a match of 1 or more of the previous group. …


Everything you need to know about object creation in JavaScript

a wall of blank picture frames painted in different colors and organized in rows and columns
a wall of blank picture frames painted in different colors and organized in rows and columns
Photo by Markus Spiske on Unsplash

If you’re learning about object-oriented programming in JavaScript, you’ve probably already encountered these object creation patterns. This guide will be useful to the student who is trying to lock in a mental model of each pattern, their pros + cons, and how to model inheritance or property delegation. If you’re following along from Launch School, don’t read this until after you’ve finished lessons 1–4.

Object Factories

Object factories are functions that return objects that can be used to automate the process of creating objects. All objects will have the same “type” in the sense that they’ll have the same properties for state…


What is the Transport Layer?

The lower layers of the Internet Protocol Suite and OSI network communication models are inherently unreliable. For example, the Ethernet and Internet Protocols use checksum to test for data corruption, but they discard the frame/packet if there is an issue and don’t have their own system for replacing lost data. For this whole internet thing to work though, we need reliability. Network communication reliability is handled by Transport Layer protocols.

The Transport Layer services can include:

  • Connection-oriented + connectionless communication
  • End-to-end communication
  • Reliability
  • Flow control
  • Congestion Avoidance
  • Multiplexing to allow a host to connect multiple services to other hosts with…


Are you recording customer feedback data across various data sources (customer meetings, social media, support, reviews) but unsure how to bring it all together? This article shares my experience with using a taxonomy to categorize and unify all customer feedback as a “360” source of truth, so the data can be used for business decisions. A theoretical UI for a simple internal tool you could build is available at the bottom of the post. …


Given a string S and a string T, count the number of distinct subsequences of S which equals T.

A subsequence of a string is a new string which is formed from the original string by deleting some (can be none) of the characters without disturbing the relative positions of the remaining characters. (ie, “ACE” is a subsequence of “ABCDE” while “AEC” is not).

Visualizing a solution for two sample strings

Consider s = ‘ccat’ and t=’cat’

We’ll compare characters across both strings to find out if string s contains a subsequence of string t.

In our example, there are 2 possible substrings:

Diagramming the solution

To diagram the solution…


Tl;dr jump to the resource list below if you just want to check out some well made courses to see if coding is for you!

Photo by KOBU Agency on Unsplash

Back during college (while I was studying Arabic and Global Studies of all topics), I’d frequently circle back to the thought that I should learn how to code. That was now over 10 years ago. And for the longest time, learning to code felt completely elusive, a mystery I could not crack. Did I have to retake calculus and learn linear algebra? Go back to school? Learn Java? JavaScript? Python? …


Disclaimer: Don’t read this guide as an OOP design guide, but instead as a way to practice writing OOP code and reviewing OOP concepts in context.

Step 1. Write a description of the problem

OOP deals with objects using every day language, so we’ll start by writing a description of the game and what we are trying to build. From the description, we’ll take the important nouns and verbs, which we’ll use to build a skeleton of the game.

  • Player — Frog
  • Obstacles
  • Road/River — Lanes
  • Landscape
  • Move
  • Get hit

Step 2: Code!

The code will be presented in 7 “lessons” and you’ll see notes on the code as we go…


I’m a student at Launch School and just wrapped up the JS 120 course, which covers Object Oriented Programming with JavaScript. On my first read through the lessons, I wound up with a brain full of OOP pudding, but ultimately was able to master the materials and pass the written exam. These tips cover how I did that. Please note if you are not currently enrolled in LS and currently enrolled or past the 120 materials, some of the below links will not be available.

Practice Coding

I had trouble thinking of concepts that have an is-a or has-a relationship with easy…

Liz Fedak

Journalist and endlessly curious person. One half of @hatchbeat.

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