Use ES2017’s async/await in your Ember Project Today!

After recently spending some time with C#’s async/await, I found myself wishing for the same features in JavaScript. I knew such a language feature was in the works, but it had been quite a while since I’d mentally filed it under, “Won’t it be nice when,” so I thought I’d check to see if async/await is ready for use in an Ember app.
Read more on Use ES2017’s async/await in your Ember Project Today!…

Open Source Basics: NPM Edition

As software developers, we’ve long used third-party code in our day-to-day work, but these days, it’s much easier to find and integrate it with package managers and searchable repositories.

Inevitably, there comes a time when our unique use of a library exposes a new bug, or we find that we could almost use that sweet tool if only it did this one tiny thing differently. When that happens, we find ourselves popping open the hood and making changes to a third-party dependency. Read more on Open Source Basics: NPM Edition…

Parallelizing Ember Tests Across CI Workers

One of CircleCIʼs killer features is automatic test parallelization: Circle can dramatically improve your build times by divvying up your tests across multiple build containers. Split three ways, this brings our 55-minute build time down to about 23 minutes:

Those three large bars represent our automatically-balanced RSpec test suite. See that lone bar on the right side, keeping container #0 busy while #1 and #2 take a break? Those are our Ember tests. Circle is unable to automatically split them, but we can do it manually! Here’s how.
Read more on Parallelizing Ember Tests Across CI Workers…

Simulating Poor Network Connectivity on Mac OSX

I’ve often used Chrome dev tools’ device mode network throttling feature to test how a web app behaves with a poor network connection.

If you need this capability outside your browser, you can use Apple’s Network Link Conditioner to degrade your whole computer’s connectivity, individually controlling bandwidth, latency, and packet loss. This is particularly useful for other browsers, device simulators, and headless processes.

I recently wished to simulate degraded connectivity to a single host. A modern web app loads resources from a variety of sources. It’s good to know how your app will behave if your font server is on the fritz, or if your image CDN slows to a crawl. Read more on Simulating Poor Network Connectivity on Mac OSX…