Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!


1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions


and many more ....



Java Command-Line Interfaces (Part 27): cli-parser

CLI Parser, originally hosted on and now archived on Google Code, is now available on GitHub. The archive Google Code project page describes CLI Parser as a “very simple to use, very small dependency” that uses annotations to “make very succinct main methods that don’t need to know how to parse command line arguments with either fields, properties, or method ...

Read More »

A case for Outside-In Development

There is no reason to have a backend when there is no front-end. There is no reason to have an API when there is no one to consume it. There is no reason to have a class when there is no other class (or framework) to use it. There is no reason to have a method when there is no ...

Read More »

Java Command-Line Interfaces (Part 26): CmdOption

I became aware of the twenty-sixth featured Java-based library in this series on parsing command line arguments because of a Tweet. CmdOption is described on its main GitHub page as “a simple annotation-driven command line parser toolkit for Java 5+ applications that is configured through annotations.” The project’s subtitle is, “Command line parsing has never been easier.” The annotation @CmdOption ...

Read More »

Java 9 JShell Examples: Collections Static Factory Methods

This post continues my exploration of Java9 features from my My Top Java 9 Features blog post. Here we are experimenting with Java9 Collections Static Factory Methods in the List, Set and Map interfaces. Collections Static Factory Methods Java9 makes it easier to create immutable lists using its new static Factory Methods   List and Set There are 12 Set.of ...

Read More »

Closed-loop feedback control with Scrum

Scrum is a simple framework to manage complex challenges. Software delivery is a complex challenge. Software delivery encompasses a multitude of complex activities to create and evolve complex products in complex circumstances. Scrum embraces and emphasizes the complexity of software delivery by implementing the only process type that fits its complexity, empirical process control. Complexity There are many variables that ...

Read More »

Learning to Build Clojure Webapps

A while ago I gave a talk at an internal event at Zenika Singapore. We were free to choose a topic so I chose something I thought I didn’t know enough about – what it feels like to build a web app in Clojure. This post is a transcript of the talk. I’ll go into some details on Clojure, which ...

Read More »

Working with large messages using Apache Camel and ActiveMQ Artemis improved in upcoming Camel 2.21 release

Historically the Apache ActiveMQ message broker was originally created in a time where large messages was measured in MB and not in GB as you may do today. This is not the case with the next generation broker Apache ActiveMQ Artemis (or just Artemis) which has much better support for large messages. So its about time that the Camel team finally had ...

Read More »

Separate keyspaces with Spring Data Cassandra

Following on from my previous post Getting started with Spring Data Cassandra we will look into using multiple keyspaces within an application. This will be a relatively short post due to most of the content being covered in the earlier post allowing us to focus on the code needed to allow multiple keyspaces and reasons why you might want to ...

Read More »

Enabling Two-Factor Authentication For Your Web Application


It’s almost always a good idea to support two-factor authentication (2FA), especially for back-office systems. 2FA comes in many different forms, some of which include SMS, TOTP, or even hardware tokens. Enabling them requires a similar flow: The user goes to their profile page (skip this if you want to force 2fa upon registration) Clicks “Enable two-factor authentication” Enters some ...

Read More »