Written on
-
Published to Stamp Out SPAM
From: gavaghan.org
A great Open Source project for gaining understanding about e-mail systems, including an in-depth look at SMTP and POP3, is the Java-based Apache JAMES Project. Although JAMES has the unfortunate shortcoming of being built around the now defunct and unsupported Apache Avalon Framework, it’s still a fantastic learning tool for understanding email protocols, mail delivery, and spam filtering. Not only that, it’s a fully functional, enterprise-ready mail server that can be up and running with ... Read Full Story
Written on
-
Published to Computer programming
From: gavaghan.org
Yet another software development disaster is headed for the digital trash heap of failed projects. This time, the casualty is software funded by the U. S. Census Bureau. The Associated Press reports failure to deliver usable software to census enumerators could add as much as $2 billion to the 2010 census. Worse, the AP reports "census officials are considering a return to using paper and pencil to count every man, woman and child in the nation."
This is a spectacular train wreck... Read Full Story
Written on
-
Published to Java
From: gavaghan.org
JUnit Factory is rather clever how it analyzes and executes your code to generate characterization tests. However, legacy Java code was generally not written with testability in mind. This sometimes makes it difficult for JUnit Factory to attain complete coverage of your code due to the need for objects to exist in a complex state or the need to interact with an external resource such as a database.
JUnit Factory is often able to generate mock instances automatically for problematic classes... Read Full Story
Written on
-
Published to Java
From: gavaghan.org
Characterization tests provide a safety net for your legacy Java code by helping identify unintended changes in software behavior caused by code maintenance. JUnit Factory (http://www.junitfactory.com) from Agitar Software (http://www.agitar.com) may be used to automatically generate these tests for you. In this post, we’ll take a look at what happens to these characterization tests when a simple code change is made. Read Full Story
Written on
-
Published to Java
From: gavaghan.org
JUnit Factory ( http://www.junitfactory.com/ ) is a free Eclipse plug-in from Agitar Software ( http://www.agitar.com/ ) that generates characterization tests for your Java code. For more background on what characterizations tests are, and how you use them, you’ll want read my post “Characterization Tests: How To Deal With Legacy Java Code”.
This article describes how to generate tests for a simple Java class and how to read the tests. Not all of your real code will be this simple, and not a... Read Full Story
Written on
-
Published to Java
From: gavaghan.org
Companies have invested billions of dollars over the last decade building components and applications based on the Java framework. This work represents a wealth of expertise and collective knowledge that firms must protect and maintain. Unfortunately, in the dynamic field of software development where programmers change jobs, on average, every 18 months, the original developers on these past projects probably aren’t around anymore.
As a result, Java developers seldom have the luxury of worki... Read Full Story
Written on
-
Published to Computer programming
From: gavaghan.org
Uh, oh. I think I'm way too young to sound like such a curmudgeon, but I just can't help myself. Before my recent move to a post-sales role, I spent 15 years writing software professionally. I thought at this point in my career I'd qualify as "the wise elder" - instead, I guess I'm just "the crazy old man who mumbles to himself."
Remember the days of eagerly poring over core dumps to quash that nasty bug? The fascination of learning something new? The dete... Read Full Story
Written on
-
Published to GPS Technology Reviews
From: gavaghan.org
Vincenty's Formula is an iterative solution for calculating the distance and direction between two points along the surface of Earth. For clarity, I've stripped out portions of the code I've put up for discussion, but you can download the entire Java source code from here. If you prefer C#, please see the C# version of this discussion.
Several years ago, I stumbled on a great pastime called "geocaching." It's a worldwide treasure hunting game where participants use ... Read Full Story
Written on
-
Published to Computer programming
From: gavaghan.org
Roundoff problems have been the bane of programmers since computers started handling floating point numbers. Floating point numbers are represented by a finite number of bytes. This limits the precision of numbers that may be represented - you only get so many significant digits. More subtly, however, finite length floating point numbers limit which numbers may be represented accurately. Repeating decimals (which, in a sense, require an infinite number of significant digits) cannot be represe... Read Full Story
Written on
-
Published to Java
From: gavaghan.org
I have to admit, when I first heard about the Open Source project Crap4j, I thought it was a joke. It sounded like a sarcastic, tongue-in-check spoof on the masses of brittle legacy Java code accumulating daily in software development shops around the world.
It isn't a joke.
The Crap4j Web site describes the Change Risk Analysis and Predictions software metric as "a mildly offensive metric name to help protect you from truly offensive code." Well said. The levity of the name b... Read Full Story
