A Software Engineer and Occasional Writer.

Early Returns in Elixir

07 June 2024

Early returns is often employed to exit a function as soon as an exceptional or negative condition is met. It won't take much time when learning elixir to figure out that early returns are missing!

Read More

Finally Moved Clivern from WordPress to Jekyll

06 June 2024

Today I just finished migrating my personal website from WordPress to Jekyll after running it for over 10 years (since 2010). It was a long journey - first hosted on GoDaddy's shared hosting with PHP 5.3, then upgraded to PHP 5.6. I moved it to DigitalOcean to get on PHP 7, and about 3 years ago, shifted it to Google Cloud. Today, I updated the DNS to GitHub Pages and took down the Google Cloud Server.

Read More

Supervised Learning With scikit-learn

01 December 2023

Supervised learning with scikit-learn is a popular approach for building predictive models based on labeled data. It involves splitting the data into training and testing sets, fitting a model on the training data, making predictions on the test data, and evaluating the model's performance.

Read More

Getting Started With Ruby

02 January 2022

Ruby is a language of careful balance. Its creator, Yukihiro “Matz” Matsumoto, blended parts of his favorite languages (`Perl`, `Smalltalk`, `Eiffel`, `Ada`, and `Lisp`) to form a new language that balanced functional programming with imperative programming.

Read More

Strangler Fig Pattern Explained

01 January 2022

Strangler Figs is a nightmare that lives on other tropical trees, stealing their soil nutrients, water, and even sunlight through a canopy of dense leaves and roots that twist around the host plant. Eventually, the fig's roots can completely encase the host, strangling its trunk and cutting off nutrient flow until it dies and rots away leaving just the hollow fig behind.

Read More

How to Connect Arduino With a Raspberry PI over a Serial Port

02 November 2021

In this post, You will understand how to collect values from an Arduino with a connected Raspberry PI over a serial port. This can be useful if you want collect sensor values over a period of time and store them on a timeseries database or trigger an alert either from the Raspberry PI (email notification or telegram alert) or from the Arduino (like fire alerting systems). Let's dive in!

Read More

How to Setup a HA Cassandra Cluster

01 November 2021

Apache Cassandra is a NoSQL database with flexible deployment options that's highly performant (especially for writes), scalable, fault-tolerant, and proven in production. Alternative NoSQL databases include Amazon DynamoDB, Apache HBase, and MongoDB.

Read More

Apache Cassandra for Developers Part 2

01 October 2021

In Cassandra for Developers Part 1, I explained how to run cassandra cluster with docker, replication and consistency strategies. Here i will explain CQL statements, data types and multi-row partitions

Read More

Working with Nginx Ingress Controller

02 August 2021

A Kubernetes Ingress is a robust way to expose your services outside the cluster. It lets you consolidate your routing rules to a single resource, and gives you powerful options for configuring these rules.

Read More