Risky Business

Project Management Porn

Project Management Porn

Anecdotally, I had always known that Software Engineers are terrible at estimation.  I had never realised exactly how bad we are.

Some rules of thumb which seem to pop up now and again, is to take your engineers best estimates, and double them.  Then you’re actually in the ball park.
Continue reading

A Brief History of XML

Evolution of XML

Extensible Markup Languages (XML) history begins with the development of Standardised Generalised Markup Language (SGML) by Charles Goldfarb, along with Ed Mosher and Ray Lorie in the 1970s while working at IBM (Anderson, 2004). SGML despite the name is not a mark-up language in it’s own right, but is a language used to specify mark-up languages. The purpose of SGML was to create vocabularies which could be used to mark up documents with structural tags. It was imagined at the time, that certain machine readable documents should remain machine readable for perhaps decades.

Continue reading

Transaction Management for JPox with Spring.


I was on the edge of writing some unkind things about JPox and Spring this week, as I dealt with the frustration of getting Spring to manage transactions for the JPox persistence code I was writing.

The issue I was dealing with, was the persistence of a org.springframework.orm.jdo.JdoUsageException. I decided to simplify, and I downloaded the JPox JDO Tutorial, and decided to reimplement it using Spring.

Read on for the cause, and solution to my problem. Continue reading

SQL Object Features

Object Features

SQL-1999 introduced object support into the SQL standard. The SQL-1999 standard had to be backward compatible with the existing SQL-1992 standard, so object support was implemented as an extension to the existing standard. The types defined by SQL-1992 were retained, and the standard modified to support user defined types (UDT) with object-like features.

Continue reading

Portable SQL

Portable SQL

Portability is a very desirable feature in any application which stores information in a database. A software developer would like to use a small in-memory database while developing an application, such as Apache Derby, but deploy the finished application to an Oracle database to make use of it’s scalability and high availability features. In order to do this, both database systems need a certain amount of commonality which the application can use.

Continue reading