Sign in

Siben Nayak


What is GC and How it Works in the JVM

Garbage Collection is the process of reclaiming the runtime unused memory by destroying the unused objects.

In languages like C and C++, the programmer is responsible for both the creation and destruction of objects. Sometimes, the programmer may forget to destroy useless objects, and the memory allocated to them is not released. The used memory of the system keeps on growing and eventually there is no memory left in the system to allocate. Such applications suffer from “memory leaks”.

Java Garbage Collection is the process by which Java programs perform automatic memory management. …


What is JVM, how it works, and the various components that it is made of

Whether you have used Java to develop programs or not, you might have heard about the Java Virtual Machine (JVM) at some point or another.

JVM is the core of the Java ecosystem, and makes it possible for Java-based software programs to follow the “write once, run anywhere” approach. You can write Java code on one machine, and run it on any other machine using the JVM.

JVM was initially designed to support only Java. However, over time, many other languages such as Scala, Kotlin, and Groovy were adopted on the Java platform. …

Hands-on Tutorials, Cloud Computing Series

Build and deploy AWS based cloud applications on your local machine

Image by Author. Original image by Pixabay via Canva

In my previous articles, I talked about building and deploying serverless applications on AWS using Chalice and SAM. These were quick fun projects that leveraged the power of serverless computing and allowed us to deploy a serverless application on AWS within a few minutes.

But many people are not able to completely leverage such tutorials due to lack of an AWS account. Setting up an AWS account and configuring a development environment can be time-consuming and sometimes lead to unwanted expenses as well (if not configured properly).

In this article, I will walk you through the steps required to build…


Build and deploy a Java based serverless REST API in no time

Image by Author. Original image by Pixabay via Canva

In my previous article, I talked about AWS Chalice and how we could quickly build a Python based serverless application and deploy it on AWS within a few minutes.

While it was a quick and fun prototype, Python may not be the language of choice for many when it comes to running large scale production applications. Many organisations use Java as their primary development language, and a lot of developers are also moving towards newer languages like Go.

In this article, I will walk you through the steps required to build and deploy the same serverless application that gets the…

Hands-on Tutorials, Cloud Computing Series

Build and deploy a Python based serverless REST API in no time

Image by Author. Original image by Pixabay via Canva

I recently came across AWS Chalice and was fascinated by the simplicity and usability offered by it. AWS Chalice is a serverless framework that allows you to build serverless applications using Python, and deploy them on AWS using Amazon API Gateway and AWS Lambda.

I decided to play around with it and was actually able to create and deploy a sample REST API on AWS within a few minutes. In this article, I will walk you through the steps required to build and deploy a serverless application that gets the latest news from Google News using AWS Chalice.


This tutorial…

Keeping a watch on signals that give you confidence in your software

In my previous article, I talked about the importance of logs and the differences between structured and unstructured logging. Logs are easy to integrate into your application and provide the ability to represent any type of data in the form of strings.

Metrics, on the other hand, are a numerical representation of data. These are often used to count or measure a value and are aggregated over a period of time. Metrics give us insights into the historical and current state of a system. Since they are just numbers, they can also be used to perform statistical analysis and predictions…

Microservice Observability Series

Making sense of everything happening within your logs

Logging is one of the most important parts of software systems. Whether you have just started working on a new piece of software, or your system is running in a large scale production environment, you’ll always find yourself seeking help from log files. Logs are the first thing developers look for when something goes wrong, or something doesn’t work as expected.

Logging the right information in the right way makes the life of developers so much easier. Two things that developers need to be aware of to get better at logging are what and how to log. …

Cloud Computing Series

Everything about AWS that you were curious about, explained in one place

Getting Started

AWS Management Console

The AWS Management Console is the first thing you’ll notice after you sign up for an AWS account. Your gateway to the plethora of AWS services at your command, the AWS Management Console provides a web-based interface containing a list of all AWS services available for your account.

Apart from the list of all and recently used services, the management console also provides simple wizards and automated workflows to help you build a pre-canned solution on the cloud. …

Career Guidance

The best salary comparison websites to evaluate that offer letter or plan your next move

Photo by Alexander Mils on Unsplash

There are three kinds of people who look for salary information:

  1. Who have got an offer and want to evaluate it against the salaries paid at the organization for similar levels
  2. Who are contemplating a move and trying to find out who pays the best before hitting the apply button
  3. Who periodically scan salary information to understand their current worth and pitch it against the ever-changing job market

No matter which category you belong to, getting hold of legitimate information regarding salary figures is more like going down the rabbit hole. There’s either too much information or none at all…

A short guide to creating clean, well-managed, GitHub contributions

Image courtesy: GitHub

You’ve finally decided to make your first GitHub contribution and want to quickly start making changes. Whether it’s an Open Source Software (OSS) on public GitHub or your organization’s internal project on GitHub Enterprise, there’s a well-defined process for contributing that makes your life easier and keeps your codebase clean. In this article, I’ll give you ten simple steps to ensure a quick and clean GitHub contribution.

The Contribution Lifecycle

1. Fork the main repository

Forking the repository creates a copy of it in your account. You can make changes and push any code to this fork, without worrying about messing up the original code base. …

Siben Nayak

Staff Software Engineer @ Intuit, ex-Amazon, Intel • Blogger • Speaker • Love Coding and Distributed Systems •

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