I hear this question all the time: "Which programming language should I learn?" My answer is always the same: "It doesn't matter. Let the project decide for you." A story When I first started my journey as a professional software developer, I got hired to work on an application written in a dying language on a platform that would soon be reviled the world over. This project was written in ActionScript 3, using the Flex framework. Read on →

If you’re like me, your first encounter with Webpack was probably hostile. You’re trying to learn some new technology like React, launching a demo project to see how it works and something is broken. You examine the build scripts and suddenly you’re confronted with this arcane looking webpack.config.js file. You cruise over to the documentation for Webpack. It has many pages, none of them marked TL;DR. You hate reading documentation! Read on →

This example will open a document passed in as param in TextMate. Obviously, you can use any app you like. 1 Create your script in /usr/local/bin on OSX, it will automatically be added to your $PATH /usr/local/bin/tm.sh 2 Make the script executable chmod +x /usr/local/bin/tm.sh 3 Create a symbolic link, so you can skip the .sh suffix ln -s /usr/local/bin/tm.sh /usr/local/bin/tm 4 Use for increased excellence tm coolfile. Read on →

If you’ve spent much time using Backbone views, you’ve invariable encountered the situation where you want to get rid of a view, but some part of it keeps hanging around. Be it DOM elements or event listeners. Your new view might be being appended to the old one, or you’re seeing duplicated events. What you really need is to destroy that old view once and for all. The easiest way to do this is by adding some kind of destroy() function to your view. Read on →

map() is an array utility function that you’re probably either intimately familiar with or, like me, need to learn. In a nutshell, map() creates a new array out of the results of calling a given function on every element on the array on which it’s called. There are implementations of map() in native JS, jQuery and UnderscoreJS. All other things being equal, Underscore’s version is the most performant. map() is a ‘collection function’, meaning it works on either Arrays or Objects If our collection is an Array, map() will put each value through a transformational function, passing the value at each index to the array to the callback function as the first parameter, the index as the second and the whole array as the third. Read on →

A friend of mine recently started his first computer science class. His entire class in working on Windows machines and using Visual Studio. He wants to use his Mac. I know how frustrating setting up development environment for the first time can be. He’re how I advised him to get started and write is first code. You need two things to write programs in C++. You need a compiler. Read on →

I record a podcast with some friends. I realized that the built in mic in my MacBook Pro was not able to capture the high quality audio I was looking for. I bought the A Blue Snowball Mic which is a nice bang for the buck. The only drawback is the short stand it comes with, which doesn’t let you sit up straight at a desk and get close enough to the mic for the best audio quality. Read on →

Earlier this year I started waking up to brutal lower back pain. I went to a spinal specialist at the behest of my fiancee and learned that I’ve been suffering from what he termed a ‘Pars Fracture’. I got a prescription for physical therapy and started work that week. There’s not much to do about the actual injury, but my therapist told me that a stronger core would help manage the discomfort. Read on →