Imagine a bacon-wrapped Ferrari. Still not better than our free technical reports.
See all our reports

Catching up with Application Server Debate: WebSphere Liberty Profile Strikes Back

Websphere_logo

In the past we ran a report on application servers, specifically around developer productivity and user experience. The WebSphere Liberty Profile (WLP), a lightweight WebSphere profile was new to the scene at the time, in comparison to others in the report.

However, since then it seems to have had many new features and additions which we’ll look at in this blog post.

Read more

vJUG write up: Wave Gliders and Java, with James Gosling

James-Gosling

The first session in 2015 for the vJUG was a huge hit and historic for the vJUG, as wow, we hosted the Java creator, James Gosling. In case you missed it or want to watch it again, the replay is just below. James talks about his project at Liquid Robotics, for whom he is CTO, called the Wave Glider.

This post includes an exclusive interview James Gosling gave to the head of RebelLabs, Oleg, our recap of the session and the full video of the session itself.

Read more

Top Testing Tips for Discriminating Java Developers

test-tips-header

We all write tests for our code don’t we? I have no doubt that the range of answers is from “Sure, but do you know how to avoid it?!” to “Absolutely positively yes! I love tests”, so I’m going to show you a few tips that should make writing your tests easier.
So we’ll go through a series of tips that can help you organise your mental picture of how tests should operate both on a low and high level. From how to structure a single unit test to a higher plane of understanding mocking vs. spying and copy-pasting tests code around.

Read more

Java Concurrency Flavors Followup and Survey Results

completable-future-header

About a month ago, we looked at different models of dealing with concurrency and parallel computations in Java. The result was a blog post discussing how the same sample problem can be approached with using different tools.

In this post I want to follow up the discussion we had previously, show the data collected by the survey, and show one more modern way to organise the asynchronous code execution for parallelisation purposes.

Read more

Breaking 2014 down and looking forward to an incredible 2015!

The year comes to its end, winter holidays are largely over and it’s a good time to relax, look back, reflect on the journey we had and clear our thoughts for the magnificent and exciting 2015.

Read more

A Month of JVM languages: Groovy, Ceylon, Kotlin and Scala

the-next-jvm-language-to-learn-graph

The month of December provided Virtual JUG members, vJUGers, with great insight from language creators, product leads and advocates about what else is available for them to use outside of the Java language, but remaining on the JVM.

It was also really great to watch and discuss the sessions in the IRC chat and see what people thought about established languages such as Groovy and Scala as well as new, upcoming languages like Kotlin and Ceylon. In this post, I’ll try to talk about my top 2 features of each language we covered on the vJUG.

Read more

A Glance into the Developer’s World of Data: Graphs, RDBMS and NoSQL

graph-header

How do you feel about graphs? Graphs are all around us. The road network whose one arm probably passes from the front of your porch is an example. Your electric company’s grid network is as well. The neurons working in unison to keep the actions performed by our bodies coordinated in the form of the neural network are another example.

So, a very natural question comes to mind. What exactly are graphs, anyway? Why are they even needed? How do they make data visualization a piece of cake?  These are the questions which will be touched on briefly in this article, along with the introduction to databases, their types, and a brief introduction to Neo4j.

Read more

Flavors of Concurrency in Java: Threads, Executors, ForkJoin and Actors

icecream-cones

As with many hard problems, humanity has come up with a number of solutions and models for concurrent computations that emphasize different parts of the problems, as well as making different choices for the computational tradeoffs that occur when we talk about achieving parallelism.

In this post, I’d like to examine code that implements a concurrent solution to the same problem and talk about what’s good about the given approach, what’s are some potential drawbacks, and what pitfalls may lay in wait for you.

Read more

Product vs Project Development: 5 factors that can completely alter your approach

How is the development of a project different to the development of a product? In both cases, we’re trying to develop a software application, right? So shouldn’t it be the same?

Now, I wouldn’t call myself an expert in product or project development, but even with limited experience it’s easy to understand that even the most basic requirements, like customer profile and pricing, should be necessarily different. In this post, I’d like to cover the differences between a project and a product and how we can adapt our mindsets to ensure our success.

Read more

Docker for Java Developers: How to sandbox your app in a clean environment


For us Java developers, Docker helps isolate our apps in a clean environment, so the unpredictability of “works on my machine” is a little less irritating. Isolation is important because it reduces the complexity of the software environment we’re using. Plus, to benefit from using Docker you don’t have to get into the world of containers and start deploying your application to thousands nodes. Just the isolation from your developer’s machine is a big plus.

Read more

1 2 3 4 5 6 33