Buy @ Amazon

Search This Blog

March 14, 2019

Spring Boot Alternatives On Java Platform

Bored of Spring Boot?
Afraid of Spring Boot?
Looking out for Spring Boot alternatives, just for fun?

Some of the popular alternatives to it are listed below, for you to explore it yourself:

  • Eclipse Vert.x : is a toolkit for building reactive applications on JVM.
  • Jodd : is a set of micro-frameworks and developer-friendly tools and utilities. Use it to get your MVP out of the door quickly.
  • Ninja Web Framework : is a full-stack cloud-ready web-framework for Java.
  • Fluent Http : is the simplest fastest full fledged web server we could come up with. 
  • Jboss ThornTail : is optimized for micro-service architectures on Java platform. It wraps the web-apps on Wildfly app servers.

March 9, 2019

If I could live my life again

I am an avid reader. I read a lot and read on diverse topics. There are topics like religion, philosophy, Hinduism, life-hacks, habits, etc. that make you think about what you just read.

Today, I stumbled upon this quote by a famous Argentinian poet by name Jorge Luis Borges, while I was reading Quora and felt I should etch it in my blog repository for my quick reference.

Thanks to Hector Quintanilla for having shared this on Quora. This maded my day. If you are on Quora, I'd recommend following him for his works there.

March 7, 2019

Update docker containers when its image is updated

Imagine you have your Microservices A-E managed by Teams 1-3 like shown below:

Now when you have each of your services containerized with docker and you use docker-compose to deploy the entire set of services as one logical unit as your application. One of the core-points of a microservice is loosely-coupled services that are independently deploy-able.

March 4, 2019

What is @SpringCloudApplication?

With the release of Spring Boot 2.0, comes bundled @SpringCloudApplication annotation to make the development of Micro-services application a tad bit easier on the developer.

@SpringCloudApplication does a couple of things more than @SpringBootApplication. Both are wrapper annotations. But what do they each wrap exactly?

@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan

@SpringCloudApplication = @SpringBootApplication + @EnableDiscoverClient + @EnableCircuitBreaker

March 3, 2019

Do you follow your heart or your mind?

Do you follow your heart or mind, especially when they disagree? For some following the heart is being divine and following the mind is being evil. And there  are some for whom following the heart is being idiotic and following the mind is being smart.

February 27, 2019

Recipe of Solution to Docker Permission Denied Problem

When i tried to run Docker container via maven command, I got an error  something like below:

The error message tells us that the user executing the process don't have privileges to access the Docker Engine daemon. The fix to this is to add the user to the `docker` group.
What is the recipe for that fix? Run the command below in the terminal of the machine executing the docker command.
sudo usermod -a -G docker $USER
Subsequent to it, don't forget to log-out and login or simply reboot, for the changes to take effect. 

February 23, 2019

Online Tools for Cloud Architecture Diagram

This comes particularly handy when you would want to draw, say for instance, cloud architecture diagrams in AWS or Azure, using the updated vendor icons representing its varied services.
  • Cacoo : USD 5 / month
  • Creately : USD 5 / month. FREE for 5 public diagrams.
  • Cloudcraft : FREE for single user with unlimited private diagrams. Some of their Pro Customers include companies like Amazon, Atlassian, Cloudera, etc.
  • Lucid Chart : FREE for single user. Used by many companies like TATA, Wipro, Infosys, etc.
  • : USD 49 / month
  • : FREE and my favorite!

February 21, 2019

How do I identify bad apples (companies)?

Friend: Every company claims to have the best culture and work-life balance over others in the market, luring candidates to join them. Do you have any protips to identifying a company that respects people, and understand that they have emotions and personal life beyond office?

Me: Not a foolproof one, but you can easily filter most of them with one simple trick.

Friend: That sure is exciting. I can't wait to hear. What is it?

February 18, 2019

My 12 Rules Of Life

    Life is brutal to say the least. Unimaginably bad things can happen to you. It may or may not be your fault. Take ownership, learn your lessons from the event and move on.
    Be persistent like a wolf. Persist until you get what you want.
    Overcome it by doing what you fear repetitiously until you are sure it can no longer come back to haunt you.

February 12, 2019

Jumping Jacks and Sleeping Santas

The Legend

Jumping Jacks (JJ) : Individuals who hop from one company to another, not staying long enough in one company. How long is long enough? Unfortunately, that is very subjective and not to be questioned.

Sleeping Santas (SS) : Individuals who stay in a company long enough and show no intentions of leaving it any time sooner. How long is long enough? Unfortunately, that is very subjective but has been questioned in private.

Every Coin Has Two Sides

The objective of this post is not to take sides on which personality type is good. There are a ton of rants and prejudiced views on this subject. The goal of this post is to encourage you to take the blinders off your eyes and motivate you to explore and learn about the candidates you come across during hiring in your company.
Let us go through 10 common traits and see how each is perceived in positive and/or negative way for both of these personalities. Needless to say, the objective of this post is help see you both sides of a coin in the hopes that it stops you from being judgemental.

February 4, 2019

LoadBalancer support with Minikube for Kubernetes

Kubernetes (aka K8s) is an open source system (from Google) for managing containerized applications across multiple hosts; providing basic mechanisms for deployment, maintenance, and scaling of applications.

Minikube is a tool that makes it easy to run Kubernetes locally on your laptop/desktop. Minikube runs a single-node K8s cluster inside a VM on your laptop for users looking to try out K8s or develop with it day-to-day.

January 29, 2019

Spring Tool Suite desktop entry to launch as app from Ubuntu favourites

For any app to be launched from favourites in Ubuntu, it needs to have a ".desktop" file that can be pinned to the Ubuntu's dash as favourite. This helps in quickly launching the application at the click of a button from Ubuntu's dash in desktop.

Spring Tool Suite IDE (aka STS) for ubuntu comes as a zip file that needs to be extracted to a custom location. Inside this extracted directory you'll find a linux/ubuntu executable file by the name that goes something like SpringToolSuite4.

January 28, 2019

Install Minikube on Ubuntu 18.10

Note: I prefer  KVM over VirtualBox, because it is faster and made my life easier in working flawlessly without any integration/permission issues with Minikube.

Note: For VirtualBox, instead of the snippet shown in the picture above I used snippet as in post - Install VirtualBox 6.0 on Ubuntu 18.10.

This is a quick reference picture. Want to copy-paste them making your life easier? Check out this snippet in github-gist.

Looking for alternative to Minikube? Try Microk8s - it's easier to install and much faster in execution.

Install VirtualBox 6.0 on Ubuntu 18.10

You can copy-paste the code-snippets s to be run in your terminal from the github-gist.

January 20, 2019

Conda environments not showing up in Jupyter Notebook

This post is based on my experience of fixing this issue in Ubuntu OS. You may have to make some tweaks depending on your OS to see if this process fixes the issue.

I wasted a couple of hours in fixing this. If you think this has saved your time, don't forget to share it in your circles to help save other's time. Cheers!


January 18, 2019

Concatenate Datasets in Python

Often in data-science or machine learning hackathons, you may want to concatenate the rows of the train and test datasets for easy data exploration and  wrangling. And when you want to do that, this pro-tip comes handy.

Check the Pandas Documentation for more on this API.

January 10, 2019

Choosing Subset of Columns from a Pandas Dataframe

It is so common a situation in data-science to select a subset of columns from a data-set. In Python the usual approach is to select a set of columns using List Comprehension or using pandas df.drop() method.

I typically employ using the List Comprehension method of choosing a subset of columns. The drawback of this approach is that it is verbose over its drop() counterpart. However, there is a distinct advantage with this approach which is that this approach guarantees idempotency.

Being a huge fanboy of idempotency coming from a mathematical background and  a hatred for verbosity and duplication, I came end-up using the utility methods shown in this blog post. Clearly, this utility function gives the advantage of brevity and idempotency. 

Yay, I win! 

January 1, 2019

Service Orchestration And Service Choreography

Service Orchestration

When you think Service Orchestration, visualize the picture above. You will have an Orchestrator who controls the individual components in the live performance. An Orchestrator typically is present in the live performance to control the individuals' performance.