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 ....



Continuous Delivery with Docker Containers and Java EE

Organizations need a way to make application delivery fast, predictable and secure and the agility provided by containers, such as docker, help developers realize this goal. For Java EE applications, this enables packaging of applications, the application server, and other dependencies in a container that can be replicated in build, test, and production environments. This takes you one step closer ...

Read More »

This Common API Technique is Actually an Anti-Pattern

I admit, we’ve been lured into using this technique as well. It’s just so convenient, as it allows for avoiding a seemingly unnecessary cast. It’s the following technique here: interface SomeWrapper { <T> T get(); } Now you can type safely assign anything from the wrapper to any type: SomeWrapper wrapper = ... // Obviously Object a = wrapper.get(); // ...

Read More »

What are the bad features of Java

Overview When you first learn to develop you see overly broad statements about different features to be bad, for design, performance, clarity, maintainability, it feels like a hack, or they just don’t like it. This might be backed by real world experience where removing the use of the feature improved the code. Sometimes this is because the developers didn’t know ...

Read More »

Can DevOps(Sec) make Software more Secure?

There was a lot of talk at RSA this year about DevOps and security: DevOpsSec or DevSecOps or Rugged DevOps or whatever people want to call it. This included a full-day seminar on DevOps before the conference opened and several talks and workshops throughout the conference which tried to make the case that DevOps isn’t just about delivering software faster, ...

Read More »

Lessons Learnt Translating 25k line of C# into Java

For various reasons I’ve recently completed a project converting a complex financial application from C# to Java. The reasons for the port were for the most part non-technical, rather, it was a strategic move for the business concerned. It was an interesting experience and I learnt a few lessons along the way that might be useful to share.   1. ...

Read More »

You Won’t Believe What These Five Lenses Can Show You About Your Product

Fundamentally, product management requires you to assess, synthesize, and prioritize the needs which drive the creation of your product in the context of three main objectives: desirability, viability, and feasibility.  While laudable, these objectives are too abstract to be actionable.  That’s where the five lenses come in (I could not resist the Buzzfeed-styled title). The Product Strategy Grid Steven Haines wrote The ...

Read More »

Distribute your applications with Docker Images

Since I started this blog, I had the need to develop a couple of sample applications to showcase some of the topics I have been covering. Usually, some kind of Java EE application that needs to be deployed in a Java EE container. Even by providing instructions on how to setup the environment, it can be tricky for a newcomer. ...

Read More »

Cheating with Exceptions – Java 8 Lambdas

Cheating with Exceptions – Java 8 Lambdas Leaving aside the religious debate about Checked vs Runtime exceptions, there are times where due to poorly constructed libraries, dealing with checked examples can drive you insane. Consider this snippet of code which you might want to write: public void createTempFileForKey(String key) { Map<String, File> tempFiles = new ConcurrentHashMap<>(); //does not compile because ...

Read More »

Validating Class/Package Dependencies with Classycle

Classycle is a very nice analyzer and dependency checker for class and package dependencies. It lets you define package groups (components, layers) and express unwanted dependencies such as cycles, or dependencies between particular packages. For example you can specify that you want no package cycles and no dependencies from* on*. All using a very human-friendly, concise format. Then ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns