GuttenBase database migration framework 2.0.0 released

We’re glad to announce the new release of the GuttenBase database migration framework. The main but not only goal of this framework is to support database migrations between different (heterogenous) RDBMS, such as DB2, MySQL or Oracle. During the copying process you may apply various transformations such as data mapping, columns alteration, renaming tables, …

The 2.0 release features among various API enhancements and speed improvements: Java 8 support, a new tool to copy schemas between different databases, more supported database types, mapping of proprietary database column types, new documentation, …

Continue reading

Why :focus-within is huge

Writing a post on any CSS selector or property (or even any new one coming up) would produce a long (and boring) blog. But :focus-within is different – and it’s something I have been waiting for forever. To me, it’s more than another pseudo-class, it’s a game-changer in many ways. And it’s in the stable versions of both Chrome and Firefox (and others). See the MDN page on :focus-within for a full (and esp. up2date) info on browser support.

What :focus-within does is quite simple, actually: it allows styling the parent(s) of the element that has the focus. Opposed to :focus (which references the element having the focus itself), it can be the direct parent, or the parent’s parent or the parent of the parent’s parent or… (you get it).
Continue reading

Predicting house prices on Kaggle: a gentle introduction to data science – Part II

In Part I of this tutorial series, we started having a look at the Kaggle House Prices: Advanced Regression Techniques challenge, and talked about some approaches for data exploration and visualization. Armed with a better understanding of our dataset, in this post we will discuss some of the things we need to do to prepare our data for modelling. In particular, we will focus on treating missing values and encoding non-numerical data types, both of which are prerequisites for the majority of machine learning algorithms. We will briefly touch upon feature engineering as well – a crucial step for building effective predictive models. So let’s get started!
Continue reading

Predicting house prices on Kaggle: a gentle introduction to data science – Part I

Data is ubiquitous these days, and being generated at an ever-increasing rate. However, left untouched and unexplored, it is of course of little use. This post will be the first in a series of tutorial articles exploring the process of moving from raw data to a predictive model. We’ll walk through the basic steps involved, and talk about some of the common pitfalls along the way.

Continue reading

Customizing application properties with JBoss EAP/Wildfly

Usually developers have to create and deploy different versions of their application: For local development, testing, training, production, …

Different third-party and system dependencies for those different versions will preferably be configured via the container, e.g. data sources, JMS, topics, mail server, etc. However, most applications also contain several custom application properties such as the current version, mail addresses, images, templates, etc. Most of them may be static, but there are cases where you want to change application properties dynamically, i.e. without rebuilding the artifact.

In this article we will describe some approaches how this goal can be approached using the JBoss WildFly/EAP7 application server.

Continue reading

WildFly 8-10 and JBoss EAP 7 verbose HTTP headers

As a developer I am really happy to have an easy way to determine which version of a software I’m running. But I do not like it if my software tells everyone its name and version, as this gives important fingerprinting information to possible attackers.

If you use WildFly versions 8 through 10 or JBoss EAP version 7 the default configuration includes some HTTP headers that are too verbose in my opinion. JBoss EAP 6 is not affected by the way. The headers you get look like this

Server: JBoss-EAP/7
X-Powered-By: Undertow/1

Getting rid of these headers is really easy. So I think the tiny effort to remove these headers should be put into any project even if the probability of getting attacked and the possible impact are really small.

To fix the problem let’s have a look at the default configuration in the standalone.xml:

Continue reading