Blog / Unboxed Roundup: our links for w/c 9th March 2015

March 13, 2015

Sass Mixins vs Extends: The Data - Gavin

https://tech.bellycard.com/blog/sass-mixins-vs-extends-the-data/

If mixins and extends both have some amount of duplication, which is best?

TDD in the games industry - Murray

http://chrismdp.com/2015/03/why-games-coders-dont-use-tdd-and-why-it-matters/

Chris Parsons writes here about the lack of TDD in the games industry. This might sound anathema to us web developers, but what I found most interesting is the description of the things that the games industry does instead of TDD. It’s not hard to have 100% test coverage of an application that doesn’t work, so it’s clear that TDD is not the only solution to building production-ready software and it’s worth exploring those alternatives once in a while.

Why it’s better to surf than have developers coding - Carlo

http://www.hackerchick.com/2009/01/why-you-should-let-your-developers-surf.html

Only when everybody is moving fast can the system as a whole move faster. Local optimisations not only don’t work, in software development they can actually create waste.

Thanks to Service Workers push notifications is no longer only mobile device feature - Paula

http://updates.html5rocks.com/2015/03/push-notificatons-on-the-open-web

Great, detailed, ‘all you wanted to know and a bit more’ description of initialising and using push notification service in web applications. For the time being available in Chrome and Android GCM.

GhostText allows live editing of Chrome/Firefox text area or JS Code editor content with Sublime Text 3 - Gavin

https://packagecontrol.io/packages/GhostText

Use Sublime Text to write in your browser. Everything you type in the editor will be instantly updated in the browser (and vice versa).

Design by Contract in Ruby - Murray

http://awardwinningfjords.com/2015/03/03/my-weird-ruby.html

I like to see how code is written by different people. Particularly when the code is very different to the code I might write myself. The code that Thomas Reynolds shows off in this post is notable for two reasons:

  1. He uses Struct to define his data classes and treats them mostly as dumb data stores, not adding much (if any) behaviour methods
  2. He uses the Contracts gem on the methods he does write to give ruby design by contract capabilities

These techniques are quite different to the code I’d write day-to-day, and I’d be wary of introducing them in a client project where other developers have to pick it up later. For better or worse as developers for a client-service agency we have to be fairly conservative in our development choices. However, I can see how these techniques might be useful and I’d love to try them out on a side project to get a better feel for them before introducing them to our client work.

Web app install banners on Chrome Beta - Gavin

http://updates.html5rocks.com/2015/03/increasing-engagement-with-app-install-banners-in-chrome-for-android

Chrome on mobile is developing a standard for displaying a banner prompting the user to add your Web App to their homescreen. UX Standardization!

Track of the Week - Patrick D

“Shallows” by Daughter.

I’ve been slightly addicted to this album over the past year and i’m still not bored of it