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

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


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


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

What you can build for free in 2 hours with Spring Boot, Twitter and Facebook

I wanted to play with Spring Social, which is a grouping of nice integrations that Spring provides to let you easily set up integrations with social sites. There is a bit of fuss on the social networking sites when it comes to providing third-party access to apps/accounts, but we’ll visit that later.

In this post, I’ll show how I put my application together, including the guides I used along the way to prevent the need to make any living sacrifices to the XML gods…

Read more

Top Java IDE Keyboard Shortcuts for Eclipse, IntelliJ IDEA & NetBeans

Brief Overview of the IDE landscape

If you’re just joining the conversation, then you probably know quite well that IDE stands for Integrated Development Environment, and is most likely one the first tools you learned how to use (unless vi was more your style). IDEs emerged in order to give developers working on more complex applications more of a feature-rich experience. At least, more than a glorious notepad capable of opening multiple documents at the same time.

This report is ultimately a quick guide for learning the shortcuts and, to an extent, a bit more about the features, of Eclipse, IntelliJ IDEA and NetBeans. Our goal here is to help you learn your current IDE better, so that you can be more fluent or learn new features. We also hope you’ll get a decent snapshot of other IDEs and how things are done elsewhere, in case you decide to ever switch some day.

Read more

JavaScript Confessions: 12 JS technologies I’m not ashamed of loving

New technologies fly by like the wind–and yes, sometimes geeks are also philosophical. Continued technology evolutions are common, frequently seeing new technologies come to aid of existing ones. That’s what we call polyglotism. So why look only at Java?

Lately, I’ve been working on a great JavaFX project called SlideshowFX, which allows you to create HTML5 slide decks. Out of necessity, I found myself looking for nice JavaScript APIs to create awesome presentations. In the end, I found some and yes, I like them. Don’t judge me!

Read more

5 Reasons the ‘JVM Development Tools’ Market Rocks

Reason #1: The landscape for developer tools is both advanced and developing

In our epic Java Tools and Technologies Landscape for 2014, we unintentionally ended up with a total of 14 different technology categories that developers use.

Read more

The 6 dumb oversights fracking up your video conferences

Metrics: Rare, Medium or Well Done

1 2 3 4 5 6 32