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

 

How to exclude libraries from all dependencies in Gradle

gradle-logo

I am using Spring boot. Spring boot by default comes with logback. I wanted to use log4j (for whatever reasons..) In order to do that I had to exclude logback and add new log4j dependencies: Logback is “hidden” inside this package: compile("org.springframework.boot:spring-boot-starter:$project.ext.springBootVersion") { exclude module: 'org.springframework.boot:spring-boot-starter-logging' } compile("org.springframework.boot:spring-boot-starter-log4j:$project.ext.springBatchVersion") Now when you try to run app you get this Exception: SLF4J: Class ...

Read More »

Shooting yourself in the foot with Random number generators

java-logo

This is not going to be one of the posts explaining how a random number generator is not so random after all. So those of you expecting a guideline for how to hack a slot machine, move along, nothing to see here. Instead, it is a post about one of the not-so-uncommon lock contention issues, hidden inside random number generators ...

Read More »

Hot and cold rx-java Observable

java-logo

My own understanding of Hot and Cold Observable is quite shaky, but here is what I have understood till now! Cold Observable Consider an API which returns an rx-java Observable: import obs.Util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import rx.Observable; import rx.schedulers.Schedulers; public class Service1 { private static final Logger logger = LoggerFactory.getLogger(Service1.class); public Observable<String> operation() { return Observable.<String>create(s -> { logger.info("Start: ...

Read More »

A New Idea for Calling Functions

software-development-2-logo

Disclaimer: This is going to come off a bit ranty. I’m not as frustrated by the “problems” I bring us as it sounds; rather, it is used to emphasize why my thought processes did what it did. I’m not even going to be using header titles, which is weird for me :) I’ve had a recent thought process about calling ...

Read More »

Common Agile objections

agile-logo

Last time (“Waterfall works when…”) I promised to discuss some of those common objections to “Agile.” (Actually, reading back this this post I’m struck by how like my “12 Myths of Agile Development” which was originally a blog post 2 years ago called “11 Agile Myths of 2 Truths”.) (Apologies by the way, “Waterfall works when…” was misposted the first ...

Read More »

Vantagens e Desvantagens da Computação em Nuvem – Prós e Contras da Computação em Nuvem

software-development-2-logo

Introdução Computação em nuvem se refere a usar recursos computacionais (sejam eles de hardware e/ou software) residentes em uma máquina remota e que são entregues aos usuários como serviços sobre uma rede, tipicamente a internet. Por definição, um usuário confia seus dados a um serviço remoto que se limita a não alterá-los. Quando o termo e o conceito apareceram pela ...

Read More »

Waterfall works when…

agile-logo

I frequently find myself in situations where someone says something like: “Waterfall is appropriate when…” Some people out there think there are occasions when an Agile (mainly iterative) approach is “best’ and other occasions when “Waterfall” is “best”. Most of the time I let this line of argument go because its boring, I can’t be bothered arguing. (I’ll look at ...

Read More »

Neo4j: Generating real time recommendations with Cypher

neo4j-logo

One of the most common uses of Neo4j is for building real time recommendation engines and a common theme is that they make use of lots of different bits of data to come up with an interesting recommendation. For example in this video Amanda shows how dating websites build real time recommendation engines by starting with social connections and then ...

Read More »

Replanning your project with a time machine

software-development-2-logo

I have an amazing time machine that lets me think better about projects. This is part 1 in a series of blog posts exploring the use of a time machine. Let’s say that you have a project that has been running for a couple of months. Looking back at your issue tracker and other artifacts, you notice that it’s hard ...

Read More »

InetAddressImpl#lookupAllHostAddr slow/hangs

java-logo

Since I upgraded to Yosemite I’ve noticed that attempts to resolve localhost on my home network have been taking ages (sometimes over a minute) so I thought I’d try and work out why. This is what my initial /etc/hosts file looked like based on the assumption that my machine’s hostname was teetotal: $ cat /etc/hosts ## # Host Database # ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.