Spring boot, PostgreSql setup using Gradle

Although configuring a Spring Boot application to use a persistent database from a in-memory database like H2 database might be a simple task for most developers, however since I am not developing on a frequent basis so this was a bit of a task for me, and I was not able to find a dummies guide to go about it, so following are the steps to change an in-memory database like H2 to PostgreSQL

Why PostgreSQL

Since Oracle’s acquisition of MySQL I am sceptical of using MySQL as my default Open Source database so I have started using PostGreSQL over mySQL.

Step 1:

Go to https://jdbc.postgresql.org/download.html to download the required driver for yourself. Since I installed the latest version of PostgreSQL so I download version 42.1.1 the latest version at the time of writing this blog post.

The next step is to place the PostgreSQL jdbc jar file in the project class path, also include this in your list of dependencies in eclipse, so that the compiler is able to find the JDBC driver

Step 2:

Include the dependency in the gradle build file. With my little understanding of gradle this was the most time consuming part as I could not find the correct syntax to include the PostgreSQL dependency in the gradle build file.

This is as simple as including

compile ‘postgresql:postgresql:42.1.1’

in your gradle build file.

My complete gradle.build file is as under

buildscript {
ext {
springBootVersion = ‘2.0.0.BUILD-SNAPSHOT’
repositories {
dependencies {

apply plugin: ‘java’
apply plugin: ‘eclipse’
apply plugin: ‘org.springframework.boot’

jar {
baseName = ‘integration’
version = ‘0.0.1-SNAPSHOT’
sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {

dependencies {
compile ‘postgresql:postgresql:42.1.1

Step 3:

After inclusion of the dependency in the gradle.build file also include the following lines in your Application.properties file to inform the application where the PostgreSQL server is and what are the credentials to access the database

spring.datasource.url= jdbc:postgresql://localhost:5432/dbname

That’s it, once you have performed the above actions, your project should now complete and use PostgreSQL as the database server, please note that I came across the following few error messages, so I thought it might be good to mention them here.


  1. Error java.sql.SQLException: Unable to load class: org.postgresql.Driver

This just means that the compiler is not able to find the jar file for the jdbc driver. Make sure you have downloaded the jdbc driver and placed it in the project class path.

  1. Unable to execute the sql with value ‘desc’

Desc is a reserved word in PostgreSQL server so make sure that you are not using any database fields that are reserved for the specific database server.


Interesting changes at GitHub

A fried shared this blog with me https://github.com/universe-2016#projects . GitHub is making some very nice changes to its platform. One thing that got my attention was the draft comments, the idea of draft is generally related to blog posts, but will be interesting to see if it works for comments, as comments are suppose to be in a specific flow, and will be hard to manage the content if the draft is left for too long.


Is current awareness using rss aggregators dead?

For years we have tried to make businesses understand the value of RSS aggregator’s for current awareness. Our focus has always been to make the business understand the need for tailored news to meet the specific needs. A filtration process that reduces the noise through collective intelligence and build on crowd sourced information. It seems that now is the time when the businesses have started to catchup with the idea and have started looking into engaging with the tools that allow them to crowd source current awareness. However it seems that its not rss aggregators that have won the battle but microblogging, which has become a popular way to discover and exchange news. An amazing thing that has happened over the last few years is that we have multiple products as well as hosted solutions to bring that vision to reality. The products have come to understand business requirements and tailored their implementations accordingly. Over the past few months I have moved from Rss Readers like feedly to getting most of my current awareness from podcasts and twitter updates. Question then is whats the best way forward for current awareness in the enterprise, do the people no longer use RSS aggregators and go directly to microblogging  platforms with moderated contents ? So what do you use to get your daily industry news ?

Code review in Scrum

Code review helps to spread knowledge and best practices around code across the team. It helps the team to grow as a unit. Some teams grow horizontally like front end team, database team and server management team, whereas other grow vertically on specific product features. Code reviews can help all kind of teams to grow and learn across the code base.
Why do we need code review
  • A specific feature expert in the product can end up with all of the responsibility of the feature and if they leave or take a vacation then a major problem is created to maintain and manage that feature.
  • Onboarding of new team members
  • Discovery of bugs
  • Better performing code
How to achieve it
  • Code review should be a separate step in the sprint workflow, so that its visible to everyone.
  • If required a waiting state can be added before code review, like waiting for code review, so that a bottleneck can be highlighted.
  • QA team should be involved in the code review. ( Not sure if our QA team is able to do that with their Java experience )
  • Code reviews should be done in a non-disruptive way, asynchronously when its a natural stopping point for the developer and reviewer.
  • Code review feedback should be passed through an automated tool like version control system (Copy to JIRA for reference), so that it is easily managed along with the code. ( I have installed the subversion plugin to JIRA, so that we can associate our SVN comments into JIRA )
Reference :

Windows 10 Update Fixes Cortana Problem And Start Menu Issues; Users Report Failure To Install

Microsoft has apparently issued a fix for ongoing Cortana and Start Menu critical error issues in the form of update KB 3093266. Some users, however, are having trouble installing the update.

Source: Windows 10 Update Fixes Cortana Problem And Start Menu Issues; Users Report Failure To Install : PERSONAL TECH : Tech Times

I experienced this issue two days ago, and have tried all sorts of fixes along with the powershell command suggested by some forums, but have had no luck, I plan to try this fix tonight to see if it sorts out the issue for me, I spent a lot of time setting up my profile for development, and would be a shame if I have to format my machine or have to create a new profile to get this issue sorted.

Microsoft has let me down again 😦 I am glad that I use a Mac laptop at work. My next personal laptop will be a Mac as well.


After some more research I have come to know that this issue is very much specific to Windows 10 technology preview version, and the version does not automatically update any patches, so what I ended up doing is download the iso for Windows 10 and deployed it on top of the technology preview version and it has sort out the issue for me, I did not loose any data or applications and the upgrade successfully sorted out my Start Menu issue. So it seems that I was to be partly blamed for installing a technology preview version without realising it.

Update 25th October :

The error returned for me even with production release of windows 10, after doing a quick search I came to know that loads of people are stil getting this issue as listed in this discussion, instead of following this workaround I just restarted my machine around three times and on the third time pressed f8 key as suggested on another post, and that sorted out the issue for me for now.

Data Gravity – in the Clouds

Data gravity is a real issue for cloud solution providers, as businesses do not want their sensitive data to leave their network. This means that the cloud based solutions have to meet the data where it resides, providing on-demand access to data as it is required. Ideally the data is never stored by the cloud providers but is aware of the data and its content in a secure way and is able to pass-on that data.

Data Gravitas

Today Salesforce.com announced Database.com at Dreamforce.  I realized that many could be wondering why they decided to do this and more so, why now?

The answer is Data Gravity.

Consider Data as if it were a Planet or other object with sufficient mass.  As Data accumulates (builds mass) there is a greater likelihood that additional Services and Applications will be attracted to this data. This is the same effect Gravity has on objects around a planet.  As the mass or density increases, so does the strength of gravitational pull.  As things get closer to the mass, they accelerate toward the mass at an increasingly faster velocity.  Relating this analogy to Data is what is pictured below.

Services and Applications can have their own Gravity, but Data is the most massive and dense, therefore it has the most gravity.  Data if large enough can be virtually impossible to move.

View original post 248 more words


Downloading past purchases from the iTunes Store, App Store, and iBooks Store

For some strange reason my past purchases were not being displayed in my itunes, after a little bit of searching I found this support article which explains what to do in order to show your past purchases and download them. 

In my case I has to enable the “Show itunes in the cloud purchases” option in iTunes -> Preferences . 

Hope this link helps you to avoid frustration and download your favourite music. Christmas Music in my case as Christmas is less than a month away 🙂