Skip to main content


Showing posts from May, 2012

Visual Studio Keybinds Front-End Engineers Use

After being in Microsoft land for the past year (I joined RESAAS, primarily a .NET shop), I've grown attached to Visual Studio. It's an amazing IDE. In the last 5 years, I was primarily on Mac OS X with TextMate/Vim so I grew used to using keybindings to increase productivity. With Visual Studio, I realized that the only way to be productive is to use keybinds! Visual Studio without keybindings can make it almost impossible to use as the menus are nested beyond 2 levels. That said, I use Visual Studio for JavaScript and HTML. Everything else like SASS, CoffeeScript, and NodeJS, I use Sublime Text 2.

Below are a few different keybinds I use on a regular basis. I'm sure that these will change in the future once Windows 8 launches and every developer will have Visual Studio 2011 in their hands!

Key BindDescriptionControl + ,Go To File - When you're working on a large code base, it's easier to just navigate to the file.Control + Shift + FSearch Solution - Quickly find …

The Cost of Continuous Delivery

Continuous delivery is a process in which developers can land features on master (or trunk if you're on subversion), have it run through continuous integration (unit tests, user interface tests, service layer tests), have it propagate through the various stages of your deployment pipeline and have it on production in short matter of time. It sounds great because you'll never really need an ops team anymore and really dispels the need to have iterations (in 2 weeks, a feature lands, instead, a feature lands when it lands).

A build pipeline like that saves money for the company in that respect and makes it so that engineers can react more quickly to problems without having to go through layers of communication; however, it surfaces many more issues. As a software engineer on a fast pipeline that is continuously delivering to customers, it is increasingly more important to have test coverage. Below is a list of aspects of testing that need to be seriously thought of
Unit TestingW…

Front-End Release Management: Unit Testing

This is a small part of a series of "Front-End Release Management" blogposts I'll be writing.

Unit testing allows your developers to protect pieces of functionality in the application from misbehaviours. It is extremely important on groundwork (analytics and frameworks).

Before diving into the tools that we're using at RESAAS to achieve continuous integration with our JavaScript unit tests, let's go over some of the core goals:

Easy to write testsFast to execute testsEasy to integrate into Jenkins (CI)
Our front-end engineers are extremely talented and experienced with JavaScript, CSS, HTML5 -- that said, if we introduce a tool, we need to keep the toolchain as streamlined as possible and in alignment with their skill-sets. JavaScript is natural to any software engineer. It is fast (based on V8, Chakra, and Nitro), it is easy to understand, and it is very easy to pick up if you're coming from a designer background or from a purely back-end background.

In part…