Optimise SCSS Sprockets Performance in Rails

We build rich websites at Made. In production, the SCSS we write is precompiled, minified, gzipped, and served from Amazon S3. However, in the development environment we’re without any of this magic, and the rails app server can sometimes feel like it’s ground to a halt.

Read more

Rules for Stylesheet Modularity

Keeping applications organised takes a lot of work. Furious bursts of development where deadlines are tight can lead to poorer design decisions. The frontend in particular for me is harder to get right when the pressure is on. I’m writing this post in order to clarify my hard and fast rules for writing modular stylesheets in a rush.

Read more

Making Multiple Browserify Bundles with Gulp

Recently I was writing an npm module, and I wanted to include some examples of how to use the module in the repo. For me, this required having a gulp watch function which compiled several different files that all included the same module into several different bundles in several different places. Finding examples of doing this were very rare and/or incomplete online, so I’m writing a full breakdown of what I did for anyone having the same issues that I was.

Read more

Javascript of the Future

The history of Javascript, formally known as ECMAScript and originally Mocha, is a strange one. Originally developed by Brendan Eich at Netscape in ten days with the intention of creating a scripting language for the Web which could be picked up by new programmers, it has been praised and maligned in every corner of the Internet, by the same people in equal measure. The little language that could, or could at least try its hardest, has now spread past the browser to runtime environments like Node.js, game engines like Unity and “hybrid” mobile apps. This ubiquity is forcing the language to grow in scope and style dramatically.

Read more

Focus with well structured RSpec tests

Before joining Made, my experience with unit testing was always with PHPUnit. It’s very flexible in allowing you to write tests quickly; create a class, add some methods that start with test, include some assertions, and away you go. What I don’t think PHPUnit—and similar—allow you to do well is think about how to structure your tests, and what to focus them on. For that you have to rely on experience and good discipline.

Read more

Cross Browser Testing in IE7

We’re getting ever closer to the point where we can finally stop supporting certain legacy browsers; IE6 is officially dead, and the support Microsoft provides for clients running IE7 is extremely limited, but it’s still not particularly uncommon to meet a client that requires support for IE7.

Read more

5 TDD Antipatterns

The value of a test suite can easily go down when complexity goes up, and a lot of the time this complexity can be prevented. There is a great discussion on SO about this.

Read more

Lessons from the Trenches

I’ve worked with organisations at various stages of their Agile transition, during which I’ve seen Agile implemented well, but I’ve also seen it done terribly. In a break from my usual tradition of myth-busting, I wanted to share some hard won lessons from my years as a Scrum Master, and give you some tips to help your Agile transformation succeed where many fail.

Read more