Articles

Big O Notation

It's important to be able to quickly and efficiently evaluate and communicate the relative performance of an algorithm or block of code. Though daunting at first, Big O notation does just that. Read More...

RxJS File Uploads (Part 2)

Now with 100% more pipes!

Now that you're an uploading aficionado, let's take it one step further. We'll clean up our UploadService implementation and talk about some corner cases you may encounter. Read More...

RxJS File Uploads (Part 1)

UI progress updates too!

A common task in frontend development is uploading a file provided by the user. Visual feedback on upload progress prevents the user from worrying while they wait. Read More...

C is for Const

ABCs of JavaScript

JavaScript always knows exactly what variable context you intended. For those times where it doesn't, try out a const. Read More...

B is for Bind

ABCs of JavaScript

JavaScript always knows exactly what context you intended. For those times where it doesn't, try out a bind. Read More...

A is for Assert

ABCs of JavaScript

All programmers are perfect, of course. For those times where we're not, toss in an assert. Read More...

Tips & Tricks: Object Spread

The ECMAScript standard has brought with it many useful syntactic shortcuts that make development quick and easy, if not a bit cryptic at times. Let's take a look at the object spread operator. Read More...

Vim

Instructions not included

Have you ever thought to yourself "I wish my text editor were entirely cryptic, didn't let me type without entering a secret code, and can't be closed without rebooting?" I've got just the thing for you. Read More...

Metasyntactic Variables

foo, bar, baz, and the lot

You use them every day and you've probably never given them a second thought. What is a foo? How exactly does one bar? How big is a baz? Great question. Read More...

TypeScript

Strong, static typing for JavaScript

Have you ever worked on a huge block of code for a few hours, bundled and run it, and it just worked? With TypeScript, that becomes a much more common occurence. Read More...

Observables

Or, an idiomatic way to avoid callback hell. Read More...

Hooks, continued

Yesterday, we talked about the high-level implications of React's new Hooks API. Now we'll go over their usage and explore a few different patterns you'll want to familiarize yourself with. Read More...

Hooks, Hooks, Hooks!

React 16.8.0 (Stable!)

Component-based design transformed the frontend landscape by fundamentally changing the way web apps are built. React's new Hooks API is set to do that again, this time for function logic. Read More...

Ninja Reducers

A reducer by any other name

We defined reducers as a function that accepts two inputs and produces a single output. What about reducers that don't immediately look like reducers? You may already know a few! Read More...

Transducers

Transforming a reducer

You have a reducer that's almost perfect, but it's not quite right. A transducer can take your existing reducer and fit it to the task at hand. Read More...

Reducers

Transforming multiple inputs into a single output

It may not be immediately obvious through the many modern layers of abstraction, but code can often be boiled down to piping some number of inputs to some other form of output. Reducers play a key role in this process. Read More...

Creating a search context

Searching for user input in a dataset

A common task in front-end development is taking a string of user input and filtering a dataset for rows that contain that input. Let's explore that. Read More...

Hello, world!

In which our intrepid hero embarks upon a perilous quest. Read More...