We’ve all heard that a CPU may reorder access to memory. Yet if you’ve looked further you’d also see that cache coherence ensures the memory is kept in sync at all times. […]
Over 20 years of programming. From video games to communications; science to finance; compilers to business processes. Too many languages to even track anymore.
Here's looking to another 20 years towards mastery of the craft.
Multi-threaded programming calls for semaphores, synchronized blocks, mutexes, or whatever your language happens to call them. Most of us basically understand why we need them: to prevent multiple-threads from accessing the same […]
In the grand scheme of execution costs function calls come very close to the bottom of the list. They don’t cost very much at all — at least not in most compiled […]
Whether C++, Java or any other language, we are all familiar with instantiating an object. In those aforementioned languages the operator new happens to do just that. Obviously CPUs don’t have any […]
As high level languages become more abstract, and offer more convenience features, it is easy to lose track of what the computer is actually doing. While this may be a great boon […]
Is overloading a bad thing? Despite a wide variety of new languages supporting some form of it I continue to find articles that say overloading is bad. Worse, I find many articles […]
Recently I started a new project and was surprised to hear my colleague express his desire to use spaces for indentation. I assumed this problem was long behind us. Though I realize […]
Working with a bit of code last week I stumbled into something unusual. I was working on something quite basic so kind of surprised when I came across a compilation error. GCC […]
Each time I start a new project I find myself looking at the latest batch of frameworks. Lately those are web frameworks, such as CakePHP, RubyOnRails, perhaps JQuery, or any other of […]
Storing user credentials is one of the key roadblocks in creating a sessionless web application. Somehow you need to safely identify the user without storing data on the server nor allowing tampering […]
One of the most common testing tools is equivalence classes. Most testers generally understand what they are and how to use them. They allow us to do full coverage of an application without needing to test every possible permutation of input. Yet, despite their popularity I find that the two most important, the two most vital classes, get overlooked. Here I’ll cover these two classes and their implications on testing.
Despite a huge push for more testing of applications, online or off, there is actually not a lot of standardized systems for doing it. This is not to say there aren’t a lot of standard techniques, there simply lacks unifying by-the-book approaches which yield solid results. A lack of standards should however be no reason not to test your web application. Yet without clear guidance most providers kind of just try things thereby wasting a lot of effort and still ending up with a poor quality product. Here is a general overview of the five basic approaches to testing.