Building modern web applications using Java and Spring

springavatar53586_0Creating Java web applications using Spring Framework has never been easier. If you’re already familiar with Java and have little to no experience creating web applications, or if you’re worried that all the cool kids abandoned Java in favor of Ruby and Node.js, you want to read this.

My intention is to provide here a practical guide to get up and running quickly on creating modern web applications using Java and Spring.

We’ll be using the latest versions of Java, Spring Framework (4.x), Spring Boot (v1.2.x), Spring Security, Spring Data JPA, Thymeleaf and Maven 3 frameworks.

Continue reading

Posted in java, productivity, spring | Tagged , , , , | Leave a comment

Processing Twitter feed using Spring Boot

Spring Boot SampleIn one of my previous posts I already discussed how to process the Twitter sample feed using Apache Storm, and now we’re going to walk through the steps of creating a sample Spring Boot application that reads messages from Twitter sample feed using the Spring Social Twitter framework and writes data to Neo4J using Spring Data Neo4J.

The whole project is available on Github at, but we’ll be discussing here each step one-by-one.

Continue reading

Posted in java | Tagged , , , , , | 10 Comments

The 10x Developer Blueprint

10X Developer

There’s been a lot of discussions on 10x developers, whether they exist or not (for example, here and here). I believe they do exist and by following a blueprint eventually we can all become one. Based on my 10+ years experience as a software developer I put together a list of actionable guidelines that can help anyone get closer to 10x.    Continue reading

Posted in productivity | Tagged , | Leave a comment

How to automatically generate release notes from JIRA

jiraBeing a lazy developer, I was recently searching for a way to automatically generate release notes instead of manually compiling the list. Fortunately, the maven changes plugin comes to the rescue. It can not only generate the release notes from JIRA tasks, but also email it to a list of email addresses. Continue reading

Posted in java | Tagged , , | Leave a comment

7 ways to improve performance of a Hibernate application

Application response timeHibernate is a great tool for integrating Java web applications with a SQL database, but what should we do when the application’s response times start increasing considerably? What should we do when we’re getting doubts whether the application will scale with the growth of our customer base?

Before spending a fortune on hosting or rewriting the code, consider analysing and improving these 7 areas of your web application. Continue reading

Posted in performance tuning | 2 Comments

Analyzing and optimizing SQL queries in PostgreSQL

PostgreSQLIn this post I’m going to share my experiences with tuning slow SQL queries in Java web applications. Following these 5 super-easy steps you’ll have a clear understanding on the performance bottlenecks in sql database and the indexes you’ll need to add to improve performance of your queries.

Continue reading

Posted in performance tuning | Tagged , , , , , , | 2 Comments

Switching between environments in Grails

Grails framework One of the cool things I love about Grails is its out-of-the box support for different environments (dev, test, prod, etc.). I can have separate configuration for them – making life easy when doing deployment – or enable/disable certain features of the application depending on which environment the application is running on. Continue reading

Posted in grails | Tagged , , , , , | Leave a comment

How to get started with Storm framework in 5 minutes

The Storm framework is an open-source distributed and fault-tolerant real-time processing system used by many companies including Groupon, Twitter, Alibaba, Klout, etc. It’s the Hadoop of real-time processing and it can be used for real-time analytics, online machine learning and parsing social media stream, just to name a few. This post will help you getting started with Storm via a sample Java project that you can run on any desktop environment.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , , | 13 Comments

Feedback needed for our startup

Me and a friend of mine recently started working on a startup.
Do you wear glasses? If yes, can you spare 2 minutes for this survey? We need your valuable feedback.


Continue reading

Posted in startup | Tagged , , , | Leave a comment

Top 8 Linux commands to boost your productivity

Tux, the Linux penguin

(Photo credit: Wikipedia)

Most of the applications that I’ve worked on as a Software Developer were running in a Linux environment. Using the right tools can boost our productivity and save us a considerable amount of time.

Here’s a list of command line tools that I find most convenient when working Linux. Continue reading

Posted in linux | Tagged , , , , , , , , , , , , , | Leave a comment