"Testers don't break your code, they break your *illusions* about your code"

Have we obtained the information that we need to know about the product? Is the risk of stopping now high enough that we might want to go on testing? Was the deadline artificial or arbitrary? Is there more development work to be done, such that more testing work will be required?

Certainly there are universal truths about what good design is. Good design should solve a real problem. It should be easy to use. It should be well crafted.

Every now and then we see discussions proclaiming a profound change in the way we design and build websites. Be it progressive enhancement, the role of CSS or, most recently, web design itself being dead. All these articles raise valid points, but I’d argue that they often lack objectivity and balance, preferring one side of the argument over another one.

So you're curious in learning this new thing called Reactive Programming, particularly its variant comprising of Rx, Bacon.js, RAC, and others.

There’s a lot of bad software out there. Unreliable, insecure, unsafe and unusable. It’s become so bad that some people are demanding regulation of software development and licensing software developers as “software engineers” so that they can be held to professional standards, and potentially sued for negligence or malpractice.

This checklist isn't in any way exhaustive, and if you're an experienced developer I doubt there's anything here that'll surprise you, but I hope it'll prove helpful to those whom might otherwise have missed something.

Custom error pages are one of the last development items on the creation of an ASP.NET application. During development, we want to see the yellow screen of death early and often to ensure users don't see the error pages at all.

ASP.NET MVC (5 and 6) have two settings you can use to automatically create canonical URL’s every time you generate URL’s.

Manipulating structured data formats using string functions.

If you want to use regular expressions in production code the most important thing you must know about how these things are matched is that there are three general approaches to doing it. They have different performance characteristics and it is absolutely vital that you know which approach the library you are using implements.