Digests » 234

this week's favorite

My 20-Year Experience of Software Development Methodologies

This got me thinking about some of the things that bother me today about the world of software engineering. When I started in software 20 years ago, God was waterfall. I joined a consultancy (ca. 400 people) that wrote very long specs which were honed to within an inch of their life, down to the individual Java classes and attributes.

We fired our top talent. Best decision we ever made.

“You will never be able to understand any of what I’ve created. I am Albert F***ing Einstein and you are all monkeys scrabbling in the dirt.” And so our resident genius, our Dr. Jekyll, explosively completed his transformation into Mr. Hyde.


Metaballs, not to be confused with meatballs, are organic looking squishy gooey blobs. From a mathematical perspective they are an iso-surface. They are rendered using equations such as f(x,y,z) = r / ((x - x0)2 + (y - y0)2 + (z - z0)2). Jamie Wong has a fantastic tutorial on rendering metaballs with canvas.

How to Solve Any Dynamic Programming Problem

Dynamic programming. The last resort of any interviewer set on seeing you fail. Your interview has gone great up until this point, but now it grinds to a standstill. Somewhere in the back of your mind you remember something about arrays and memoization, but the memory is hazy at best. You fumble, you trip, you drop the ball. Game over.

Cognitive Biases in Programming

As developers, we’re familiar with the various problems that interfere with our productivity. But often we overlook the broad picture. Some subtle, some huge, some you can do something about, and some you just, well, can’t.

Join over 15,500 readers for a free weekly email with fresh news, articles and tutorials.