What I learnt from uberconf - Software technical conference

I got to attend the wonderful software technical conference - uberconf and I would like share summary of what I learnt from conference in this post.

Feedback about the uberconf

Before I jump on to summary of the sessions, let me share my impression about the conference. This is one the best technical conference I had attended. I tweeted

Uninterrupted flow of food for mind and body.

The best thing I liked about the conference is that the sessions are 1.5 hours long that gave us enough time to deep-dive and learn the subject. Also, the some of the longer subjects were split into two parts so that we can learn them in depth and do some hands on work. The speakers are not only experts on their subject, they are good mentors and presented their sessions more engaging style.

Continue reading...

Multiplication wheel - Interesting project for teaching multiplication to kids.

In this post, I will share an interesting project we can do with our kids to teach them basics of multiplication and introduce them to programming. I did this with my 5-year-old daughter and it was a huge hit.

Continue reading...

Highlights from Book Succeed - How We Can Reach Our Goals

In this post, I will share my highlights from the book Succeed : How We Can Reach Our Goals which I recently read.

We all have goals, but we don’t have an understanding of why we achieve some of them and fail on others. This book is about understanding how goals work, what tends to go wrong, and what you can do to reach your goals.

Continue reading...

Java 8 automatically injecting logger using trait

This post explains how default methods in Java 8 can be used as a trait to automatically inject logger instances.

To use logging in Java code, we need to add this boiler plate code in every Java class.

private static final Logger logger = Logger.getLogger(MyClass.class.getName());

Like me, most of you would hate copy pasting this line and updating the class name in every Java file. Luckily, Java 8 supports default methods in interfaces which can be used to solve this problem.

Continue reading...

Error accumulation in validation using Applicative Functors

This post explains how Applicative Functors can be used accumulate validation errors using Javaslang validation API.


To illustrate with an example, let’s say a given stream of pair of date strings in format MM/dd/YYYY, we want to print difference between them in number of years, months and days. ( For eg "01/01/2016 , 02/01/2016" should print 0 years , 1 months and 0 days).

Continue reading...