How to Create Custom iTerm2 Window Arrangments

TL;DR Create a custom keyboard shorcut to automatically spawn a set of windows and splits with processes running. iTerm2 is very useful software, but this process is complicated. I've attempted to document known pitfalls. How to Create a Custom Window Arrangement Close all iTerm2 windows. We'll be using the…

You Wouldn't Understand

TL;DR Err on the side of believing someone who has experienced something you haven't, even if you initially disagree with it. Knowing vs. Understanding The "Smarter Every Day" YouTube Channel released a remarkable video, The Backwards Bicycle. It features a bicycle with a gear that reverses the action of…

The ReactJS Controller View Pattern

TL;DR Making a top level component that holds all state and passes it to children as props is really nice. Not to be confused with MVC, a "view controller" or "controller view" is a top level component that holds all state and passes it to children as props. For…

How to use ES6 in NodeJS

TL;DR require('babel-register'); at app entry point. The Backstory While converting an app from Rails to Node, I searched for how to use ES6 in NodeJS. Some responses recommend using node --harmony, others recommend starting your script with babel-node, or precompiling your app. We'll look at all of those…

How to Copy Only Changed Files With Gulp

Recently I had to keep two folders in sync with gulp. I needed to copy all files from one folder to another, and keep them up to date when changes were made. The easy way is just to copy the entire folder every time. gulp.task('watch-folder', function() { gulp.watch(…

How to Debug Mocha Tests With Chrome

This post assumes you're familiar with Chrome's developer tools. Take That, WebStorm! I've long lamented that Vim will never have IDE style debugging, which is more powerful than any Vim feature. Until… I was browsing the Mocha documentation on a whim while waiting patiently for death, when I came across…