Software Developer. Former Strength & Conditioning Coach. https://coltonkaiser.dev/
Image for post
Image for post

Recently, a leading athletic performance technology company told me they have a bit of a market gap in terms of keeping up with the competition. Currently, they offer a very effective way to track the performance of athletes, but they don’t have anything that tells coaches and athletes how to plan their workouts based on this information.

More and more companies are starting to emerge that create workout programs for teams, so they decided it’s time to implement something like this into their business model.

Coming from a heavy background as a strength and conditioning coach before I was a software engineer, I decided I was in a unique position to take this information and create something that could lead them in the right direction. …


Image for post
Image for post

Welcome back to the Bite-Sized Advanced Javascript series, where we discuss advanced JavaScript concepts in an easy-to-understand and concise fashion.

The first time you heard the statement Immediately Invoked Function Expression (IIFE), you might have been a little intimidated. But, like many JavaScript concepts, it’s fairly straightforward and not as scary as it sounds.

Before we get into the weeds of what IIFEs are and what they’re used for, it’s important to go over a little vocabulary.

Understanding the concept of function statements vs. function expressions is critical to fully understand and appreciate the concept of IIFEs.

Let’s jump right in. …


Learn how JavaScript Web Tokens can make your app more secure and how they work

JSON Web Token logo
JSON Web Token logo
Credit: auth0.com, https://auth0.com/blog/jwt-json-webtoken-logo/

When I first learned about the processes of encryption, authorization, authentication, cookies, JWT tokens, etc., I was pretty overwhelmed. Getting into the weeds of these topics is extremely complex and can be confusing, which is why cybersecurity is an entire field in itself. But gaining, at the very least, a surface level understanding of these topics is important as a developer.

In this article, we’ll gain an understanding of something that is becoming a very popular method of authorization, JSON Web Tokens (JWT).

While the topics in this article don’t even scratch the surface of cybersecurity, they’re very important to understand and be aware of as a software developer. …


Understand asynchronicity vs. synchronicity in JavaScript, what these mean, and be able to explain them effectively to others.

Image for post
Image for post

Asynchronicity in JavaScript is a tricky topic to wrap your head around. Mainly because the word itself (or rather the way it’s used), in the concept of JavaScript, is misleading.

JavaScript is a single-threaded, synchronous language, meaning it reads one command (or line of code) at a time, in the order it appears. So how can it possibly be asynchronous? Well, here’s the thing to remember: JavaScript isn’t the only thing running when it’s being executed in your browser. This is the real nature of the concept of asynchronicity in JavaScript.

JavaScript is a single threaded, synchronous language.

What do “single-threaded” and “synchronous” mean?

Single-threaded means one line at a time, and synchronous means in order (from top to bottom). This is how the JavaScript engine executes its code. …


Image for post
Image for post

Have you ever seen .prototype attached to an answer in a Stack Overflow post, thought "abort!", and pressed the back button immediately? Well, you don’t have to worry about this anymore. This article examines what a prototype is, what prototypal inheritance is, and how it can benefit your JavaScript programming greatly.

Why is understanding the prototype, prototypal inheritance, and the prototype chain important?

Understanding prototypal inheritance will help you immensely in making your code clean and simple. Most importantly, it will help you to understand the relationships between objects, how these relationships work under the hood, and the potential that this presents. …


Image for post
Image for post

When I first got into writing JavaScript, if there was anything that made me scratch my head the most it was the concepts of .bind(), .call(), and .apply(). The problem is that, as with many intermediate/advanced JavaScript concepts, they’re often taught in a way that makes them seem more complicated than they need to be.

My goal here is that, by the end of this article, you’ll no longer need to scratch your head at these three concepts and — in fact — be able to explain them to others.

What are bind(), call(), and apply()? How do they work?

To answer this question it’s important to first remember that, in JavaScript, all functions are objects. This means that they can have properties and methods, just like any other object. Functions are a special kind of object in that they come with a variety of built-in properties (having a code property that is invocable, having an optional name, and the three methods call(), apply(), and bind()). …


Image for post
Image for post

|| (Logical OR) and && (Logical AND) are very common operators used in JavaScript. But do you know why they work the way they do and how else they can be used? Not only that, but are you aware of their pitfalls? Logical OR and Logical AND can actually cause hard-to-find bugs in your code if you’re unaware of how they work under the hood.

Logical OR and Logical AND can cause hard-to-find bugs in your code if you’re unaware of how they work under the hood.

Aside from their popular uses, Logical OR || and Logical AND &&can actually be used fairly easily and efficiently to replace simple conditional statements, and often can reduce them down to one line. …


Image for post
Image for post

Welcome back to the Bite-Sized Advanced Javascript series, where we discuss advanced JavaScript concepts in an easy-to-understand and concise fashion. In my last article in this series, I discussed the Execution Context, Global Environment, and the Global Object. While these concepts are not entirely necessary to understand this article, it could help your understanding a bit, and it’s a quick read.

It’s often said that hoisting is the JavaScript engine simply moving code to the top of the page before execution, but this isn’t accurate. Hoisting is how the JavaScript engine (the ‘under the hood part of JavaScript that you never personally see’) sets aside memory for the variables and functions that you’ve created. …


Image for post
Image for post

As many of us know, the behaviors that JavaScript exhibits can sometimes be a bit, ahem, weird. A while ago I was watching a short comical video by Gary Bernhardt on certain wacky behaviors of Ruby and Javascript (Skip to 1:20 for JavaScript) that exposes some of these behaviors in a funny way.

While this video is hilarious, it’s worth noting that many of these strange behaviors can actually be understood with a deep understanding of how the JavaScript engine works behind the scenes. …


Image for post
Image for post
Structure of a singly linked list

Linked lists are something we’ve all heard of, and for good reason: They serve as a base understanding for all other data structures. There are two different kinds of linked lists: Singly linked lists and Doubly linked lists. In this article, we’ll be discussing the former (and we’ll provide a brief comparison of both).

Before moving forward: An understanding of ES2015 JavaScript “Class” and “Instance Methods” syntax is required for this article. If you’ve never heard of or used JavaScript Classes, this information will be very hard to understand (as will many other data structures besides linked lists). …

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