software architecture

cloud computing

Working with the Chaos Monkey

Late last year, the Netflix Tech Blog wrote about five lessons they learned moving to Amazon Web Services. AWS is, of course, the preeminent provider of so-called "cloud computing", so this can essentially be read as key advice for any website considering a move to the cloud. And

By Jeff Atwood ·
Comments

programming languages

I Happen to Like Heroic Coding

I've been following Michael Abrash for more than 10 years now; he's one of my programming heroes. So I was fascinated to discover that Mr. Abrash wrote an article extolling the virtures of Intel's upcoming Larrabee. What's Larrabee? It's a

By Jeff Atwood ·
Comments

software development concepts

The Big Ball of Mud and Other Architectural Disasters

Mistakes are inevitable on any software project. But mistakes, if handled appropriately, are OK. Mistakes can be intercepted, adjusted, and ultimately addressed. The root of deep, fatal software project problems is not knowing when you're making a mistake. These types of mistakes tend to fester into massive, systemic

By Jeff Atwood ·
Comments

software development

Software: It's a Gas

Nathan Myhrvold [http://en.wikipedia.org/wiki/Nathan_Myhrvold], the former CTO of Microsoft, is also a bona-fide physicist. He holds physics degress from UCAL and Princeton. He even had a postdoctoral fellowship under the famous Stephen Hawking. Thus, as you might expect, his 1997 ACM keynote presentation, The Next

By Jeff Atwood ·
Comments

programming languages

Dependency Avoidance

Have you ever worked with developers that were charter members of the third-party-control-of-the-month club? You know the kind-- they never met a third party control they didn't like. They spend all day trolling downloads and experimenting with every tool listed on The Daily Grind. Which means deploying your

By Jeff Atwood ·
Comments

programming languages

Conversations with Erich Gamma

Artima has another great interview series, this time with Erich Gamma. You know, Erich Gamma: Gang of Four, JUnit, Eclipse. As you might expect from such a notable developer, it's full of great advice. Like this section on avoiding frameworkitis: Frameworkitis is the disease that a framework wants

By Jeff Atwood ·
Comments

web technologies

Learning from TEH INTARWEB

I try to avoid posting entries from the Mindless Link Propagation Department, but Adam Bosworth's article Learning from The Web is excellent and it deserves a careful read: The Web taught us several unintuitive lessons: 1. Simple, relaxed, sloppily extensible text formats and protocols often work better than

By Jeff Atwood ·
Comments

software development concepts

The Broken Window Theory

In a previous entry [https://blog.codinghorror.com/pragmatic-programming/], I touched on the broken window theory. You might be familiar with the Pragmatic Progammers' take on this [http://www.artima.com/intv/fixit.html]: > Don't leave "broken windows" (bad designs, wrong decisions, or poor

By Jeff Atwood ·
Comments

software development concepts

Following the Instructions on the Paint Can

I was chatting on the phone with a friend of mine a few days ago, and he described a project he recently inherited. It was the work of a half-dozen different developers, who each built their parts of the project in a completely different way with little to no communication

By Jeff Atwood ·
Comments

software development

Showstopper!

A friend of mine recently returned the book Showstopper! after an extended loan. If you haven’t heard of this book, allow me to quote the Amazon.com editorial summary: Showstopper! is a vivid account of the creation of Microsoft Windows NT, perhaps the most complex software project ever undertaken.

By Jeff Atwood ·
Comments