“TDD Bypasses Your Brain” Bypasses Supporting Its Own Premise

I didn’t think too much of or about this article when it hit Reddit about a month ago, but I’m finding it to be a bit of a burr in my saddle, so duty calls.

From the article, bold emphasis mine:

However, developing in a test-driven way can result in an overreliance on tests: when a test starts failing (and you know the test is correct), there is a tendency to mindlessly modify code until the test passes. Furthermore, true 100% code coverage by tests is a myth: no matter how many good tests you write, not all cases will be covered. Therefore, mindlessly modifying code until all tests pass is likely to introduce new bugs for which no tests exist.

So the actual premise of the article is a tautology—bypassing your brain bypasses your brain.

Regardless of development paradigm, if you’re mindlessly modifying code until tests pass, you are programming by coincidence, and your code is likely becoming more fragile with every modification (not to mention less correct).

Understand the code you’re modifying. If you don’t understand it, then mindfully make changes to explore it, using a proper version control safety net to be sure you can discard your exploratory changes once done.

There are too many coders that spend their entire careers “hopelessly lost, but making good time”.

Don’t you be one of them.

Every problem can be solved by adding another layer of abstraction, except for the problem of coding in Java.
Reginald Braithwaite — Explicit vs. Clever

when I must sit through a technical presentation by marketing

thecodinglove:

image

/* by dup */

(this post was reblogged from thecodinglove)

The Compleat Guide to Developing Non-trivial Phonegap Applications on Blackberry OS 5, 6, and 7

Don’t.

toldorknown:

A Zip Code* Crossing A State Line

What is that I don’t even.

*99362, if you’re curious.

Screw it. I’m treating the five mountain people living in that area as if they’re in Washington.

I’m sure they’re used to it.

(this post was reblogged from toldorknown)
YOU HAVE A SYMLINK IN YOUR PROJECT. YOUR ARGUMENT IS INVALID

(via UI Hacker - Code for Fun: Xcode error: “The argument is invalid”)

YOU HAVE A SYMLINK IN YOUR PROJECT. YOUR ARGUMENT IS INVALID

(via UI Hacker - Code for Fun: Xcode error: “The argument is invalid”)

Answering the question “What do Coffeescript and Gerald Ford have in common?”

Getting all cross-domain with Chrome on OS X

Cross-site scripting is not always bad.

Sometimes it’s downright required. Like when you’re building a Phonegap application that needs to access a web resource.

Phonegap apps are web apps that load using the file:// protocol, which means that nothing on the web violates the same origin policy from the app’s viewpoint1.

When developing, though, you don’t want to have to deploy to a device every time you need to view your latest changes. So, if you’re like me, you use Google Chrome, because that’s how you develop web apps.

The problem? Chrome isn’t as laissez-faire about the file:// protocol and CSS.

The solution is to close Chrome, open a terminal session, and:

open -a Google\ Chrome --args --disable-web-security

It should go without saying, but I’ll say it anyway: DO NOT BROWSE THE OPEN WEB WHEN USING THIS STARTUP OPTION.


  1. Phonegap provides security by requiring that sites to be accessed appear on a whitelist