React, ES6, Autobinding, and createClass()

TL;DR React removed "autobinding" in ES6 component classes. The code onClick={ this.onClickHandler } could fail inside onClickHandler because it's not bound to anything. Let's see why. ES6 Classes? React has a utility method to create components called React.createClass(). It handles mixins and "autobinds" methods. The newest Javascript language…

You're Missing The Point Of JSX

TL;DR React was open sourced in 2013. Three years later, my blog posts still receive many false arguments about JSX. Let's get on the same page. "JSX Violates Separation Of Concerns" React is only the view layer. React is only the view layer. We're only in one concern. React…

Webpack: When To Use And Why

TL;DR It took me a long time to understand Webpack and how it fits in the build process. This is what I wish someone had told me. What is Webpack? How does Webpack compare to Grunt, Gulp, Browserify, Brunch, etc? What's a "development server?" What on earth is require…

A Better Git Blame

TL;DR git blame rarely gives helpful results. Instead use specific flags on git log to find the true author of a change. What Does git blame Actually Do? git blame searches the commit history to find the last person who modified a line of code. Some editors have this…

IRC: The Secret Weapon of Developers

TL;DR When I was a junior developer, I wish I knew about Internet Relay Chat. Use IRC to get fast answers to tricky problems. If you haven't used it before, please read the etiquette guide below. IRC? IRC stands for Internet Relay Chat. It's a protocol, like HTTP. IRC…

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…