19 04, 2015

How to partially revert a commit in git?

By |April 19th, 2015|Git|3 Comments

Reverting commits in git is quite simple if you want to revert a whole commit. But how to partially revert a commit? In this blog I want to show you a safe approach to partially revert a commit.
10 04, 2015

Bugs love logging to hide

By |April 10th, 2015|Architecture & Design, Integration Tests, Testing, Unit Tests|0 Comments

A lot of projects run integration and unit tests, but often miss a little something – logging. When you use logging you often check if the log level is enabled or not before you log. But this means that you introduce a control flow statement that enables or disables some code. So if you […]

28 12, 2014

GitDirStat – a git maintenance gui

By |December 28th, 2014|Git|0 Comments

Some time ago I wrote the blog “Remove directories and files permanently from git”. Removing files from a git history is not an unusual task and I thought that it would be nice if there is an easier and faster way to do it. I thought that there should be a gui that help you to find […]

7 12, 2014

A git checkstyle pre-receive hook

By |December 7th, 2014|Git|1 Comment

When multiple developers work on one project it is also essential that they all commit source code that matches some formatting rules. Otherwise reviewing changes and merging source code can be a great challenge.

When using git repositories you can install hooks. Hooks are any kind of executables that can be run before something happens […]

23 11, 2014

How to create an independent branch in git

By |November 23rd, 2014|Git|0 Comments

In a git repository everything normally starts with an initial commit and all other commits are ancestors of this first commit. But is it possible to create a second initial commit or even a third? Another initial commit with a complete different working directory? Yes it is.
26 10, 2014

Clean Code with underscores in literals

By |October 26th, 2014|Architecture & Design, JDK|0 Comments

As of java 1.7 the java language specification allows integer literals to contain underscores in order to make them more readable. If it is applied in a good way it can enormously increase the readability of your code.

In java 1.6 one had to define integer literals like this:
int iterations = 10000000;
long bytes = 0b11010010011010011001010010010010;
With java […]

19 10, 2014

Custom swing component renderers

By |October 19th, 2014|JDK, Swing|1 Comment

This blog shows how to implement a custom swing component renderer using the example of a ListCellRenderer.
20 07, 2014

How to fix java.lang.ClassNotFoundException: com.ibm.websphere.ssl.protocol.SSLSocketFactory in eclipse

By |July 20th, 2014|Eclipse, IBM WebSphere|6 Comments

If you use IBM’s WebSphere plugin for eclipse you might have the problem that other plugins can’t establish an SSL connection anymore. The result is most times a ClassNotFoundException: com.ibm.websphere.ssl.protocol.SSLSocketFactory. This blog explains the reason behind the problem and gives a workaround to prevent that exception.
Problem description
When a component within eclipse (e.g. atlassian jira connector) tries to connect to […]

17 07, 2014

Remove directories and files permanently from git

By |July 17th, 2014|Git|4 Comments

Some day you might want to remove files or directories from git permanently, because someone committed sensitive data or large binary files that should not reside in the repository to keep clone times short.  In this blog I want to show you how to delete directories and files permanently from a git repository.

The first chapter […]

26 06, 2014

How to fix IBM Websphere ant task error: Unable to parse setupCmdLine: null\bin\setupCmdLine.bat

By |June 26th, 2014|IBM WebSphere|2 Comments

When trying to execute a wsadmin command using ant you might get the error
Unable to parse setupCmdLine: null\bin\setupCmdLine.bat  (The system cannot find the path specified)
This error is caused when you don’t provide the user.install.root system property or no wsadmin task profileName property.

In order to fix you can either add a user.install.root property and point it to your websphere profile directory (in default installations […]