Both the stack and the heap refer to different locations where memory (typically for variables) is managed, but with significantly different strategies.

Code reviews are a great way to improve code quality, catch bugs, and keep your whole team in sync with the latest changes. So, how do we make the code review process effective?

Perhaps the most important philosophical idea is that Haskell does not “enforce” purity. Rather, Haskell as a language simply does not include any notion of effects.

Thinking about the details, wandering around an unknown space trying to invent the right solution, is expensive.

Know the limits of optimizing code and not get suck into playing the optimization game.

Unless your page is among the top of search engine results, no one will know your page exists.

There aren't many frameworks for writing acceptance tests for databases, including SQL Server. FitNesse is an obvious choice since it is designed with a Wiki-style interface that, once it is configured and set up correctly, makes it very easy for a non-specialist to set up individual tests.

All the choice provided by the rise of NoSQL databases does not mean the demise of RDBMS databases. We are entering an era of polyglot persistence, a technique that uses different data storage technologies to handle varying data storage needs. Polyglot persistence can apply across an enterprise or within a single application.

Vary is one of the most powerful HTTP response headers. Used correctly, it can do wonderful things. Unfortunately, this header is frequently used incorrectly, which can lead to abysmal hit ratios. Worse still, if it's not used when it should be, the wrong content could be delivered.

AngularJS is one of the most popular Javascript frameworks available today. The combination ease of development, breadth of features, and performance has led to wide adoption, and with wide adoption comes many common pitfalls. This list captures common AngularJS mistakes, especially when scaling an app.