Category Archives: Tech Tips and Tutorials

Refactoring is Like Exercise


Refactoring, they say, is vital to maintaining a healthy code base. We all know we should do it, but many of us don’t. Exercise, they say, is vital to living a long and healthy life. We all know we’ve got to do it, but many of us don’t. Maybe we dabble from time to time, […]

Why Software Becomes a Big Ball of Mud


“Big ball of mud” is one of the more common pejoratives thrown at “legacy” code. Systems suffering from a wide variety of different problems get tarred with the brush of “mud,” but generally the overall experience of a developer facing a big ball of mud is one of constant low-grade terror. A sense that everything […]

Ternary Operators Considered Harmful


Conditionals are, if we’re honest, an embarrassingly large part of most programs deployed in the world. I say “embarrassingly” because a two-year-old understands conditionals, and we as developers often fancy ourselves creators of vast systems of profound, innate, and valuable complexity. Sometimes our use of conditionals is just for making a series of little form […]

Why Bad Software Succeeds


One of the hardest things to accept, as a justice-loving maker of software, is that a perfectly engineered and beautifully designed piece of software can go completely unused. Similarly, a lot of the software on which the world relies a great deal can be terrible — riddled with poor design decisions if not outright and undeniable […]

Ember 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 might use to send an envelope of papers consists of a number of properties — a street address, a city, a state, and maybe […]

Dealing with IE8: The Nuclear Option


IE piñata

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 unusable version of IE is IE8. Why IE8 is Broken IE8 is in a completely different world from every other […]

The 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 elements of computation. I don’t think there’s a ton to be gained from writing an article on a programming site all […]

Good 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, the most hated font in the world. The results were striking, like if you could watch C-SPAN with a “dress […]

Mistakes 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 Microsoft Excel-based data-tracking system. We also had a limited but important numbers of use cases where data from all over (what was Excel sheets) would […]