The Psychology Underlying the Power of Rubber Duck Debugging
Computers process information quite differently than humans do. Anyone who’s first learning to program understands this well. What’s hard about programming for a beginner isn’t so much big hard...
View ArticleWhy I Wish I’d First Learned Programming in Sass
Sass lets you code CSS stylesheets the way you would write other software. I just got done with a huge client project that relied heavily on Syntactically Awesome Stylesheets (Sass), the CSS...
View ArticleGreat Web Projects Start With the Right Goals
One of the marks of good web professionals is that they’re partners in strategy. I recently spoke with Matt from 3thought, a graphic design team we love, about working with them on a redesign project....
View ArticleWhy You (Still) Shouldn’t Use Internet Explorer
In general, there’s no especially good time to explain why Internet Explorer is bad. It’s been bad for years, it’s still bad, and all signs point to it being bad forever—so, in some sense, it’s not...
View ArticleComplexity: A Simple Guide
On WPShout, a WordPress blog we run, I recently wrote about how long it takes a developer to do a number of discrete jobs in WordPress. The post was motivated by a great article at another site about...
View ArticleWhy You Need a Plan for Site Support
The moment your website launches, support starts. Ongoing support is one of the most underappreciated costs of owning a website. The moment your website launches, support starts. Believing otherwise is...
View ArticleWhen Programming, You Must Name Things
Programmers can spend a lot of time worrying about, thinking about, and optimizing the way that the code they’re writing looks. Whether it’s language designers obsessing about the way that you’ll find...
View ArticleSite Support: Hiring your Developer on Retainer
This post continues an earlier post on site support, which we can summarize as follows: You’re going to need site support. You’re going to need a plan for site support. Here, we cover one of your best...
View ArticleSite Support: Understanding Your Options
This post continues an earlier post on site support, which we can summarize as follows: You’re going to need site support. You’re going to need a plan for site support. We’ve also covered one of the...
View ArticleProgramming is Storytelling
I was pair programming recently, and I had a bit of revelation: programming is just storytelling. I was “leading” at the time, the more experienced of us in the problem space we were in, and my partner...
View ArticleHoning your “Good Web Developer” Radar
It’s hard to find a good web developer. Part of that is because web development is a jungle of unlicensed practitioners with vastly divergent skills. But it’s also important that you know what to look...
View ArticleProgramming is About People
It’s easy to think about programming as an exercise of computers, or of languages and design. But at its heart programming is just about people. I bring this up because it’s so easy to lose sight of...
View ArticleControlling Website Costs: Part 1—Don’t Flail
If you’re a human and live on Earth, one of your first concerns for your website is to get it built as cheaply as possible. As we’ve argued before, looking only at cost is not the correct way to look...
View ArticleMistakes I Made in My First Ember Project
I recently was presented with a completely greenfield project. We were making a not-uncommon CRUD (create-read-update-delete) app for a business that was looking to move beyond the constraints of their...
View ArticleGood Sites Gone Sans
I viewed reputable websites purely in Comic Sans. The results were striking. A couple of weeks ago, I started setting my browser to display all the text content of reputable websites in Comic Sans MS,...
View ArticleThe Two Fundamental Elements of Computation: State and Transformation
I was recently having a conversation about how computers work. And it was in the course of that conversations that I understood quite how ignorant I’d been my whole life about the real fundamental...
View ArticleDealing with IE8: The Nuclear Option
Like every other web developer, I abhor Internet Explorer. I’ve already given a lot of good reasons why I can’t stand IE—in any version—in an earlier post. However, I will admit that the last truly...
View ArticleThe Basic Anatomy of an Ember Application
There are a lot of different aspects of Ember, the Javascript “framework for creating ambitious web applications,” that you’ll need to understand before you really feel a sense of mastery. But the most...
View ArticleEmber Computed Properties and the Perks of Uniform Access
In almost any object-oriented programming system, you’ll sometimes have an object whose properties can be composed into more meaningful units of data about that object. For example, an address that you...
View ArticleORM Patterns: The Trade-Offs of Active Record and Data Mappers
One of the topics of seemingly perennial discussion among programmers is whether object-relational mapping (or ORM) is evil or not. Opinions seem to run the gamut from “I use and love it” to “I tried...
View Article