Blog
Posts on software development, careers, and craft.
Internet Explorer 8 is (nearly) Dead
IE8’s death has been rumored for a long while, but the final nail in the coffin is coming January 12, 2016: Starting on that date, Microsoft will only support t…
React’s JSX: The Other Side of the Coin
When React was released, many people took one look at JSX and lost their minds. What are these angle brackets doing in JavaScript?! What about separation of con…
React Demo Apps
I just wrapped up six months of hard work authoring my new Pluralsight course “Building Applications with React and Flux“. During that time I dissected over 30 …
Building Applications with React and Flux
It’s live! I just published a new course on Pluralsight: “Building Applications with React and Flux“. This is the product of over six months of preparation incl…
Webpack vs Browserify
If you need a cabin, why start with a mere pile of logs? In the land of JavaScript, no one is king for long. Just last year Grunt was effectively dethroned by G…
Conferences Are For Why, Not How
There are dozens of solid ways to level up as a developer. Online video, blogs, niche mailing lists, books, reading source code on GitHub, and of course simply …
What Makes a Great Coding Interview? Be Real.
I’ve both taken and created a lot of coding interviews throughout the years. And I’ve learned there are many ways to screw it up. The worst tests feel like a wa…
Why I’m Not Sold on MongoDB
Disclaimer: While I’ve experimented with MongoDB, I haven’t deployed it to production. These are my honest reservations that keep me from deploying a production…
Is Separating HTML and JavaScript Harmful?
I’ve spent the last many years religiously honoring the principle of separation of concerns. Separating concerns produces code that’s easier to read, maintain, …
7 Ways to Handle Circular Dependencies in RequireJS
When working with RequireJS, you’re likely to run across two modules that need to reference each other. When you create a circular reference using the standard …
Cache Busting via Gulp.js
Have you ever thought about how many HTTP requests your app is wasting? Many developers think the native caching mechanisms of browsers are sufficient. However,…
6 Quick Tips for Presenting Code in Visual Studio
As a frequent conference presenter and attendee, I often see live code walk-throughs. There are a variety of tweaks you can make to optimize the Visual Studio e…
6 Quick Tips for Presenting Code in Visual Studio
As a frequent conference presenter and attendee, I often see live code walk-throughs. There are a variety of tweaks you can make to optimize the Visual Studio e…
Two Quick TFS Performance Tips
Team Foundation Server (TFS) continues to improve, but one area I’ve struggled recently is performance. I work in a very large codebase that knocks up against t…
Shadow DOM vs iframes
I’m really excited about the new HTML5 Web Components Standard. The Shadow DOM is particularly interesting, as it finally gives us encapsulated markup and styli…
Knockout Bindings are Evaluated Left to Right
I just resolved an odd behavior that tripped me up. Have you ever attached a click handler to a checkbox/radio with Knockout and wondered why the old value is r…
An Epic Week of Development in Norway
tldr; NDC was amazing! I was a guest on .NET Rocks! My recorded sessions from NDC in Oslo, Norway are below. And I finally got to meet Uncle Bob! I just had an …
The TDD Divide: Everyone is Right
I’ve been enjoying the back and forth regarding the Death of TDD on the interwebs. The intellectual volleying between “legalists” like Robert C. Martin (Uncle B…
AngularJS: The De Facto Standard for SPA Development?
One year ago, I started a large Single Page Application (SPA) project. I spent a few weeks Googling and biting my nails, trying to choose between the various op…
User Interface Framework Showdown: Bootstrap, Foundation, KendoUI, and jQueryUI
Standards might not be exciting, but man, they’re important. Without them everyone does their own thing, reinvents the wheel, and unnecessarily injects new fram…
Who Dictates Software Quality: Client or Coder?
A friend of mine brought up a common struggle for many software developers, particularly independent consultants: How do you influence your clients to demand th…
Where Should an Architect Begin?
Imagine you’re dropped in a new position with no one there to help provide a smooth knowledge transition. It’s like being dropped right out of the sky. That’s e…
Lean Software Architecture: Focus On the Pain – Part 3 of 3
In previous parts of this series, we outlined a simple two step process for being a lean software architect: Build the simplest thing that could possibly work F…
Lean Software Architecture: Build The Simplest Thing – Part 2 of 3
In part one of this series, we outlined some specific examples of complexities that today’s software architects may consider. And we considered how each potenti…
David & Goliath: Haswell Ultrabook vs Desktop Replacement Laptop
Okay, so it was only a few months ago I was rambling on about how I am quite happy with my four year old desktop replacement style Dell laptop. It’s been comple…
13″ Haswell Ultrabook Showdown
I recently decided it’s time to pickup a better machine for traveling and working unplugged. As a frequent conference speaker and remote worker, I need a machin…
Lean Software Architecture: Focus on the Pain – Part 1 of 3
An architect’s job is to manage complexity, not increase it. Yet the developer life is filled with jargon, acronyms, and seemingly infinite choices. So how do w…
Want to Get Better? Here’s a Strategy to Solicit Genuine Useful Feedback
I just wrapped up presenting two sessions at Codemash and I’ve never learned more about how to improve from a single session. How? Well, a few days ago I was ch…
Hey Developer, Are You Focusing on the Right Thing?
At a certain point (perhaps sooner than you think), becoming more technically competent isn’t going to change the trajectory of your life. You have to change yo…
This is somewhat embarrassing, isn’t it?
It seems we can’t find what you’re looking for. Perhaps searching, or one of the links below, can help. Search Recent Posts Who Dictates Software Quality: Clien…