Image by Pexels from Pixabay

This is a short post on basic text processing techniques : One-Hot encoding, Bag of Words, N-Gram and TF-IDF.

In NLP, once the raw data is collected, it has to be converted into a numerical form that can be understood by the ML algorithm. This is called as Text Representation and is an important step before performing the feature extraction.

There are lot’s of techniques that can be applied on a text and represent it in a vector form. In this post we will try to understand few basic ones with sample code.

Sample Dataset

We will be working on a toy…


Photo by Andy Kelly on Unsplash

A short write up that provides a high level explanation of a generic Natural Language Processing pipeline, by breaking down the entire process into stages.

"If you talk to a man in a language he understands, that goes to his head. If you talk to him in his own language, that goes to his heart."
- Nelson Mandela

Natural Language Processing (NLP) is definitely not a new term for most of us. It was primarily a topic for research and development in field of computer science and linguistics. But with the recent advancements in AI specific in field of NLP…


Photo by Alina Grubnyak on Unsplash

This is a short post on what are tensors and its 3 important attributes.

Whether it’s a Convolutional Neural Network (CNN), Recurrent Neural Network (RNN), Reinforcement etc, we have to provide some input to the algorithm. Most probably these will be numerical inputs. For instance, an input for an image classification might be number of pixels and the RGB value.

In a traditional programming language, we usually initialize input variables of specific types like String, Boolean, Integer, Float, Arrays, Map, custom data types etc and assign values to these variables which will be used in the later portion of the…


In this post we will try to understand the consequences of running a kubelet with default configurations.

Kubeadm is one of the preferred tools to deploy a kubernetes cluster since it is simple to use and it handles lots of tasks in the background which otherwise might be prone to errors when done manually.

Any cluster deployed through kubeadm will follow security best practices. This means that the components deployed in the cluster will be configured in such a way that it wont be an easy task to comprise the cluster completely. A simple example would be of encrypting communication…


Photo by Bernd Dittrich on Unsplash

In this post we will see how to setup cri-o as a container runtime for Kubernetes.

Container Runtime is a software that is responsible for running and managing containers on a node. Docker is the most widely known container runtime but there are few others in the market like containerd, rkt and cri-o.

After version 1.20, Kubernetes will deprecate docker as its container runtime. For docker this isn’t a big deal because docker is not just a container runtime but its a suite of products that can be still used to build and run containers. …


Photo by Gordon Cowie on Unsplash

In this Byte size post we will uncover the code that is executed in the background when we execute kubeadm init command.

If you had ever setup a self hosted kubernetes cluster then most probably you would have followed any one of the below:

  1. kubeadm way ( kubeadm cli provided by kubernetes)
  2. other tools ( tools like kops that are available in the market)
  3. The hard way ( most of us would have followed the excellent doc written by Kelsey Hightower )

When I started working on kubernetes I followed the kubeadm way which I felt was the most easiest…


Photo by Sara Kurfeß on Unsplash

In this KB sized post we will understand internals of Kubernetes Controller with the help of a tiny custom controller - Chronos that I wrote to watch changes to Pods deployed in all the namespaces.

In simple terms, a controller is a endless loop that continuously checks the state of every object inside a system . Whenever the state of an object changes, a dedicated handler is invoked that is responsible for performing an action.

When you create an object in Kubernetes you define the state of the object which is then persisted to the data store. Kubernetes runs many…


Photo by Ross Sneddon on Unsplash

In this Byte size post, we will explore few important files and directories of K8’s source code that serve as a good starting point to understand all the magic that Kubernetes does!

Kubernetes source code is a treasure chest for golang developers. But when I first started browsing the source code, it felt more like a Pandora’s Box to me. With lots of components that constitute a Kubernetes ecosystem and mind boggling lines of code for each component, it is one of the toughest code base to understand. …


Image reference: https://unsplash.com/photos/0gNzcMqd0sw

In my earlier post, I have outlined what is an admission controller, types of controllers shipped with Kubernetes and how to enable these controllers.

In this post we will see how to write a basic version of admission controller that will help us to understand the concepts. It does require a fair amount of knowledge of how REST endpoints work and how to create a minimal REST API server (preferably in Golang). You should also be familiar with Golang or at least know how to read the docs of a Kubernetes go packages and understand the code. …


Image reference: https://unsplash.com/photos/w7ZyuGYNpRQ

A Kubernetes Control plane consists of several components.One such component is kube-apiserver or simply an API server. It exposes a REST endpoint through which users, cluster components or any client application can communicate with the cluster. In simple words it does the following:

  1. Receives a standard HTTP request from a client application like kubectl.
  2. Authenticates the incoming request and applies Authorization policies.
  3. On a successful authentication, it performs an action based on the endpoint object (Pod,Deployments, Namespace etc) and the http verb (Create, Put, Get, Delete etc) .
  4. Makes changes to etcd data store to persist the data.
  5. Once the…

Arun Prasad

I work on cloud and containerization technologies and interested in coding, problem solving and writing philosophical and motivational quotes.

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