Fragility of Free

A great article by Ben Brooks called Fragility of Free, well worth a read:

The fragility of free is a catchy term that describes what happens when the free money runs out. Or — perhaps more accurately — when the investors/founders/venture capitalists run out of cash, or patience, or both. Because at some point Twitter and all other companies have to make the move from ‘charity’ to ‘business’ — or, put another way, they have to make the move from spending tons of money to making slightly more money than they spend.

Read on →

Test Driven Development Really Works

In 2008, Nachiappan Nagappan, E. Michael Maximilien, Thirumalesh Bhat, and Laurie Williams wrote a paper called “Realizing quality improvement through test driven development: results and experiences of four industrial teams“ (PDF link). The abstract:

Test-driven development (TDD) is a software development practice that has been used sporadically for decades. With this practice, a software engineer cycles minute-by-minute between writing failing unit tests and writing implementation code to pass those tests. Test-driven development has recently re-emerged as a critical enabling practice of agile software development methodologies. However, little empirical evidence supports or refutes the utility of this practice in an industrial context. Case studies were conducted with three development teams at Microsoft and one at IBM that have adopted TDD. The results of the case studies indicate that the pre-release defect density of the four products decreased between 40% and 90% relative to similar projects that did not use the TDD practice. Subjectively, the teams experienced a 15–35% increase in initial development time after adopting TDD.

Read on →

Where the light is better

A woman comes across a man crawling under a street lamp. “I’ve lost my car keys,” he explains.

The woman tries to help the man find his keys. After a few minutes of searching, she asks “Where exactly did you drop them?”

“Down the street, next to my car.”

Puzzled, she asks “Then why aren’t you looking over there?”

“The light is better here.”

People often look where it seems easiest or most convenient to look, rather than in a more difficult, but more correct place. Opinions regarding where the best place to look often comes down to “Where The Light Is Better”.

Read on →

Less Wasting Time

The sub-theme this week is on trying to find ways to improve developer happiness and to reduce unpleasant time wasters.

Rafe Colburn in Don’t order your team to work more hours talks about bosses who ask staff to work more hours:

Every time you’re tempted to do so, sit down with members of the team and ask them how many hours a week they spend dealing with stuff not related to shipping and work to make those things go away instead.

Read on →

Trade Trade Secrets

A brilliant essay by Danielle Fong called Trade Trade Secrets, very worth a read, covers everything from Intellectual Property, to explaining the differences between theft, transcription, transformation and inspiration, to how the law stifles all four of them.

The great danger of laws that ignore these is not that they will prevent theft, but that they will so heavyhandedly prevent transformation and inspiration: the engines of our entire civilization.

Just read it.

Understanding ACTA

Lets see if I understand ACTA, the Anti-Counterfeiting Trade Agreement:

THEM: It’s purpose is to create a legal standard for global intellectual property rights enforcement.
US: Sounds good, it’s all so confusing, consistency may be nice.

THEM: The WTO already has 153 countries signed up to TRIPS which is a legal standard for global intellectual property rights enforcement, ACTA overrides it.
US: Mmmbokaaay, do we need a new deal then?

THEM: It was negotiated by a small group of countries, excluding most countries, governments, trade organizations and any public forums.
US: Negotiated? Excluding most players? Not good.

Read on →

Operations by Exception

If we define operations as “a piece of organized and concerted activity involving a number of people”, then all businesses consist of a lot of operations. Back offices, accounting groups, processing units, operations departments, call them what you may, there are departments and departments of operations.

In the Automate or Die Hiltmonism, I pointed out the need to automate as much of your process flow as you can. This means tackling operations, its hordes of people, its arcane processes, its political hierarchy and its bureaucratic inertia.

Read on →

Bread crumbs in Day One

I switched over to Day One for journaling at the start of the year on a lark, and its become a core part of my process.

Here are three things I do with it:

1. Bread crumb blog posts

I have updated the Octopress rake file for new_post to also bread crumb the new post in Day One (and launch Byword for editing).

Place this at the end of the :new_post task (see below for details on the LogToDayOne.rb script)

Read on →

Developers, A Love Story

By @macdrifter, Developers, A Love Story.

While browsing my Application folder on my Mac, I noticed something. I have a fondness for some apps that I rarely use. I’m just glad that I own them. I may not use them all but I feel good about the money I’ve spent.

I second the motion.

A Spellchecker Used to Be a Major Feat of Software Engineering

A classic by James Hague entitled A Spellchecker Used to Be a Major Feat of Software Engineering.

Writing a spellchecker in the mid-1980s was a hard problem. Programmers came up with some impressive data compression methods in response to the spellchecker challenge. Likewise there were some very clever data structures for quickly finding words in a compressed dictionary. This was a problem that could take months of focused effort to work out a solution to.

Read on →