Blog

You can find my latest AI engineering articles on Substack, leadership on LeadDev, or browse my topic guides and personal blog posts below.

Personal Blog

Ghostbusting For Front-end Developers

Human sacrifice, dogs and cats living together... mass hysteria! We’d like to avoid that, right? Well, today we’re going to talk about how to improve the accuracy of your front-...

Full-Stack JavaScript With MEAN And Yeoman

IntroductionA trend proliferating amongst prototypers in the Angular community is full-stack JavaScript development via the MEAN stack.The acronym stands for: (M)ongoDB - a noSQ...

Use Your Terminal From Inside Chrome DevTools

I just wrote an article for HTML5Rocks on a new DevTools extension that allows you to use your terminal directly from inside Chrome. This is a huge milestone for in-browser prod...

Mobile Web Development Tooling (Slides)

In my mobile web dev. tooling slides, we dive into the options available today for cross-device development, testing, and performance evaluation of multi-device webapps. Underst...

Slides: Automating Front-end Workflow

Writing a modern web app these days can sometimes feel like a tedious process; frameworks, boilerplates, abstractions, dependency management, build processes..the list of requir...

The future of data-binding is Object.observe()

Object.observe() is a proposed mechanism for bringing true data-binding to the browser. It exposes a mechanism for observing changes to objects and arrays, notifying o...

Building WebApps With Yeoman And Polymer

♡ Web Components? I just published a brand new tutorial over on HTML5Rocks walking through how to build webapps with Yeoman and Polymer.Catching up on Web ComponentsNow you migh...

Video: Gone In 60fps - Making A Site Jank-Free

[caption id="attachment_6153" align="aligncenter" width="600"] When scroll is fast your web pages feel "responsive". If janky and scroll feels slow your users may get frustrated...

5 Minutes With Yeoman

I recorded a quick video on getting started with Yeoman for anyone new to the project : ) You might also find building apps with the Yeoman workflow a helpful read.

DevTools JavaScript Memory Profiling

Yesterday I published a refreshed guide to plugging memory leaks over on the Chrome DevTools docs site. It covers the Object allocation tracker, timeline memory, heap profiles a...

Tools for image optimization

As we saw a few weeks ago, the weight of an average web page is now almost 1.5MB (median ~1MB), with > 50% of this being images. It's a harsh reminder that many of our pages on ...

Release the Kraken! Announcing Yeoman 1.0

[caption id="attachment_5645" align="aligncenter" width="703"][A preview of the terminal output after running 'yo'[/caption]Last week, I had the pleasure of 'officially' releasi...

Substack

LeadDev

Managing the chaos of context switching

It's time to examine the good, the bad, and the very ugly elements of context switching. Even better, we'll take a look at some strategies for managing it.

What makes an effective software engineer?

Being a good software engineer is not necessarily the same as being an effective one. Here, Google's Addy Osmani identifies the ten key traits of effective software engineers.