I use git on an everyday basis—it’s a powerful tool that supports many different workflows. However, depending on your workflow, there are useful configurations you can set up that make using the tool that much easier.

Like natural languages, learning a new programming language and mastering the frameworks built on top of it allows you to think differently about how to think—in the case of developers, changing how you think about problems you’ve already solved, and affecting how you think about problems in the future. For...

I’ve recently made it a personal goal of mine to achieve a better understanding of JavaScript. It’s not that I’m terrible at using the language; I’ve been developing with it using a variety of tools and frameworks like jQuery and Backbone.js for almost a year now, and have learned plenty...

I started using tmux almost year ago. In that time, I’ve seen amazing improvements in my development efficiency from the command-line—so much so that I don’t think I could go back to a regular IDE anytime soon. The tmux + vim combo is unbeatable, and has become my new IDE....

I’ve recently been learning functional programming from the ground up. My previous attempts—while not complete failures—typically resulted in me learning how to program in a functional language, but I didn’t feel like I was understanding the core philosophy of the paradigm.

I recently finished solving an issue where an UPDATE on a particular row was timing out due to not being able to obtain a lock on that row. For example, I was seeing the error: