Migration in progress
Currently migrating content from Blogger, please excuse the chaos. Excerpts and pagination should now be (mostly) correct, a few other useability improvements are still in progress.
-
Generating SQL insert commands using SELECT
A quick hack for generating a list of SQL insert commands from an existing data set. Useful for copying specific data between databases/tables.
-
Forcing XStream to use reflection for serialization
XStream is a fantastic library for serialising objects to XML, this (very short) post explains how to force reflection on classes implementing the Externalizable interface. The code below is the typical usage of XStream to serialise an object
-
Java application patch deployment
This post explains a few mechanisms for deploying patches to production Java applications whilst trying to minimise downtime and user impact.
-
Bash script to automate report checking
The script below is a convenient hack to automate manual report checking. It requires uuencode and mailx (or equivalents) to be installed and uses the regular expression provided on the command line to check if the occurrences are greater than the specified number.
-
The importance of choosing the right data structure
A data structure is used for storing and organising data in system. Selecting the correct data structure for a particular problem is an important part of software design and will influence efficiency and maintainability of the code. This post demonstrates the importance of data structure selection with a contrived problem posed in a technical interview and a real world application.
-
Handling raw type and type safety warnings when using legacy code
The addition of generics to Java 5 enabled type checking at compile time. This assists in preventing a ClassCastException at runtime but to maintain backward compatibility generics also came with Type Erasure
-
Using the EJB3 timer service instead of Thread.sleep()
As with most software development a large amount of effort is spent testing, be it functional or regression. The effort required to coordinate testing increases significantly when integration with external systems is required, particularly if those systems are not part of the same division or organisation. I recently volunteered to assist with reducing this overhead for an interface to our payment gateway, this post uses this implementation to demonstrate the use of the EJB 3 timer service for delaying processing.
-
First post
The purpose of this blog is to share information I have found to be useful. Some of the information may be available elsewhere on the net but possibly not in the context it is presented here. The idea for this blog was realised (UK spelling) when considering the focus on consuming and sharing existing information rather than producing potentially original content.
- 6
- 7
- •