Are you trying to understand Big Data and Data Analytics, but confused with batch data processing and stream data processing? If so this blog is for you !

Today developers are analyzing Terabytes and Petabytes of data in the Hadoop Ecosystem. Many projects are relying to speed up this innovation. All of these project are rely on two aspects. They are :

  • Batch Processing
  • Stream Processing

What is Batch Processing?

Batch processing is where the processing happens of blocks of data that have already been stored over a period of time. For example, processing all the transaction that have been performed by a major…

In this blog we are going to discuss about “Immutability”.

The other end-run around the need to synchronize is to use immutable objects. Almost all the atomicity and visibility concepts in previous blogs (blog 1 & blog 2).


  • An immutable object is one whose state cannot be changed after it is created.
  • Immutable objects are inherently thread-safe.
  • Their invariants are established by the constructor, and if their state cannot be changed, these invariants always hold.

Immutable objects are very simple. They can only be in one state, which is carefully controlled by the constructor. …

Before starting this blog, This is the continuation of my previous blog. if you have missed part 1 of this blog, Please refer to this link.

2. Publication and escape

Publishing an object means that the object can be utilized in outside the current scope.

For eg, save a reference to the object where it can be accessed by other code, or return the reference in a non-private method, or pass the reference to a method in another class.

In many cases, we want to assure that the object and its internal state are not published. In other scenarios, we need to publish an…

As a developer, we have seen how synchronized blocks and methods can ensure that operations execute atomically, but unfortunately, it is a common misconception that synchronized is not only about atomicity or demarcating “critical sections”.

Synchronization also has another important aspect, mainly memory visibility. We want not only to prevent one thread from modifying the state of an object when another is using it, along with that we need to ensure that when a thread modifies the state of an object, other threads can actually see the changes that were made.

But without synchronization, this may not happen. You can…

What is thread safety ?

thread-safety or thread-safe code in Java refers to code that can safely be utilized or shared in concurrent or multi-threading environment and they will behave as expected.

Thread-safety is one of the risks introduced by using threads in Java and I have seen java programmers and developers struggling to write thread-safe code or just understanding what is thread-safe code and what is not?

How to make Thread-Safe Code in Java

Before you learn how to write a thread-safe code you need to understand what is thread-safety and there is no better way to that than looking at a non-thread-safe code. …

Concurrency is the ability to run several programs or several parts of a program in parallel. If a time consuming task can be performed asynchronously or in parallel, this upgrades the performance of the program by increasing the throughput and the interactivity of the program.

Few years back, computers didn’t have operating systems, they executed a
single program from start to end, and that program had direct access to all the resources of the machine. Executing a single program at a time was an inefficient use of expensive and scarce computer resources.

A modern computer has several CPU’s or several…

django microservices

Now a days Microservices are very popular and our industry tend to move to distributed architecture. I got an opportunity to implement CAS for Django microservices. I tried to find some descriptive tutorials on the subject, but didn’t find anything except for the official documentation. I just wanted to make other devs’ lives a little bit easier through this article.

The Central Authentication Service (CAS)

Before we dive into the main subject, lets discuss briefly what is CAS and How it works. …

django logo

Django is an open source python based framework that helps to build web applications. The popularity of this framework increased rapidly in last couple of years. Compare to other python-based frameworks like Flask and Pyramid, django framework is far most popular among python developers. It supports both Python 2.7 version and Python 3.6 version.

Transferring data from an activity to another activity is a common use case when it comes to Android applications. This blog article describes the steps to be followed to develop a simple chat application that transfer messages from one user activity to another.


  • Android Studio (Download Link)
  • Basic knowledge of XML and Java
  • Android Emulator

Okay Lets begin!!

  1. Open Android Studio and Start a new project

This blog is a brief discussion about supervised and unsupervised learning techniques

Supervised learning vs Unsupervised learning

Let’s start with supervised learning

Supervised learning

Gowthamy Vaseekaran

Software Engineer @ hSenid Mobile | Former Software Engineering Intern @ WSO2 | Software Engineering Undergraduate @ IIT

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store