Composition over inheritance

Favor object composition over class inheritance. The problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.

Chrome Code Coverage

You can check the CSS and JS code coverage with Chrome Dev Tools: You can show the Coverage tab from Dev Tools menu by choosing "More tools" => "Coverage". Alternatively, to open Dev Tools press Cmd+Opt+I (Mac) or Control+Shift+I (Windows, Linux). After this, you can access the Coverage from the Command Menu: Cmd+Shift+P (Mac) or ... Read more

Progressive enhancement

The above figure is often used to demonstrate a minimum viable product, but I think it can also be used to demonstrate a minimum viable experience. The skateboard may be a little slower, but it doesn’t stop the user getting to where they want to go. So, if the user’s browser doesn’t support JavaScript or ... Read more

The Magpie Developer

I've often thought that software developers were akin to Magpies, birds notorious for stealing shiny items to decorate their complex nests. Like Magpies, software developers are unusually smart and curious creatures, almost by definition. But we are too easily distracted by shiny new toys and playthings. I no longer find Scott Hanselman's Ultimate Developer Tool ... Read more

IDEs / Code Editors

WebStorm - code editor ~$100 Awesome and powerful Support: HTML + CSS + JavaScript Additional support: TypeScript, CofeeScript, Dart, SASS, Less, Stylus, AngularJS 2, Node.js Windows, Mac OS X, Linux Additional code editors PHPStorm = WebStorm + PHP support PyCharm = WebStorm + Python support IntelliJ = WebStorm + Java support RubyMine = WebStorm + Ruby support ... Read more