Regression Testing with an Agile Mindset

When applying agile methods to existing software development practices, it is often useful to start from the basics. For regression testing this boils down to:

  1. Regression testing ensures continuity of business functions.
  2. In an agile context it helps the team focus on the (new) functionality to develop in the sprint while maintaining overall stability.
  3. To maximally utilize regression testing in an agile context, test automation and continuous execution should be applied.
  4. It is important to realize the difference between functional tests and regression tests to avoid some common pitfalls.

Read more →

A quest for Generated Keys in Kettle

For my current project we use Kettle to process data from a number of sources and store it in a shared database. Kettle has great support for parsing data from a variety of sources, transforming it and writing it to a variety of destinations. One problem that often arises when inserting data in a relational database is the need for a syntactic, unique key that will be generated when a new row is inserted and later in the process used for other rows that refer the primary row. There are many solutions for this problem, both in the RDBMS and in the Java space. This blog reports on a search through several code bases to come up with a good solution in kettle which, unfortunately, still evades me.
Read more →

Thinking MapReduce with Hadoop

Apache Hadoop promises “a software platform that lets one easily write and run applications that process vast amounts of data”. Sure enough, when reading the documentation, descriptions like:

Are simple enough to read and understand, but how do you apply MapReduce to a problem you face in a real-life project?

This blog tries to give some insight into how to apply MapReduce with Hadoop.

Read more →

Configuring a Seam EJB project for development with Maven and JBoss Tools

Say you want to build a web application and you want to use Seam for integrating standard technologies like JSF and EJB. Furthermore, you want to use the power of Maven to build your project for different environments, on different systems (like you continuous build system) and use its’ rich reporting features to get an overview of the code quality of your project. And of course you want to use a good IDE, like Eclipse with JBoss tools to aid you in development. How does one go about setting up all these things?
Read more →

Why did Hibernate update my database?

Hibernate is a sophisticated ORM framework, that will manage the state of your persistent data for you. Handing over the important but difficult task of managing persistent state of your application to a framework has numerous advantages, but one of the disadvantages is that you sort of lose control over what happens where and when. One example of this is the dirty checking feature that Hibernate provides. By doing dirty checking, Hibernate determines what data needs to be updated in your database. In many cases, this feature is quite useful and will work without any issues, but sometimes you might find that Hibernate decides to update something that you did not expect. Finding out why his happened can be a rather difficult task.
Read more →

Hibernate and Multi-Threading

When you use Hibernate for ORM and come across some functionality that requires multi threading, there are many pitfalls that might make life difficult for you. This blog will focus on those problems. Conclusion is: don’t use hibernate managed objects in multiple threads.
Read more →

Moving to India. Step 10: Become an Employer

Working abroad has been a wish of mine for some time now. Xebia offers me the opportunity to live and work in India. Through this blog series I will keep you informed of the progress and challenges of this project.

When moving to India it is almost inevitable to become an employer. One of my colleagues predicted that this would be one of the most enjoyable advantages of living in India and I have to say that so far he has been right. In our case we employ a cook, a cleaning lady and a driver. We are very satisfied with their services.

Read more →