This site runs best with JavaScript enabled.

Explaining Streams to Rich Harris

Before we begin, I'm intentionally avoiding loaded words found in stream libraries. If you're familiar with another library already, try and spot where the concepts align. Hi Rich! 👋 1. Start with an addEventListener Believe it or not, we're almost done... 2. Extract the callback Getting closer…

Read Article →

Git Commit and Push From VS Code With a Single Keyboard Shortcut

First, install the runInTerminal extension. Then, add the following to your keyboard shortcuts: && will wait for the previous command to finish before executing git add . will add all files to be commited git commit -m \"`date`\" --allow-empty will commit with the current date as a message even…

Read Article →

Use Greensock With React Hooks

I publish a use-gsap package on npm today. Here's the basic usage:

Read Article →

Replacing Named Parameters With Function Composition

A quick little https://egghead.io lesson if you're in to that sorta thing: Named parameters are a great feature of JavaScript, don't get me wrong, but sometimes functional composition is a more elegant solutions (I SAID SOMETIMES !). The example I'll be refactoring looks like this: Seems like…

Read Article →

Understanding RxJS

RxJS has these 4 parts: callback creating new callbacks from original callback caller startup I like to think of it like this:

Read Article →

Alfred Workflow for Vanilla Codesandbox

I open a Codesandbox so often, I wanted to set up a quick Alfred keyword to launch it. It's super easy to configure in Alfred, but if you want to download it I've included it below:

Read Article →

Create Command Line Tools With Node.js

There are so many every day tasks that we all come across that we need to automate away. My most recent example is that I wanted to blog more. So what do I do first? I write code of course: Repo I setup this hard-coded example of a blog command which will create a new Markdown file pre-loaded with…

Read Article →