RSSAmplifier

Blog

Kavindu Jayarathne | Blog

Writings about computer science, programming, and technology by Kavindu Jayarathne.

kavindujayarathne.comRSS feed ↗16 posts

Latest posts

PulseCheck Journal

PulseCheck is a service monitoring platform and DevOps reference environment. It started as a showcase project, evolved into a real service, and now serves as my long-term lab for Kubernetes, automation, security, and infrastructure experiments.

How I added a demo video to my GitHub README.md file

I struggled to add a demo video to one of my repository’s README.md files because of GitHub’s strict conditions. But I finally managed to find a solution for it. You can read about it further in this writing

Journey of macpak

The story behind creating and publishing macpak, which is my first CLI tool

macpak Documentation

The Documentation for macpak CLI tool

My Confusion Around the Way Homebrew Handles Formulas on macOS

Homebrew is considered macOS's missing package manager. It has an unexpected behavior in how it links and locates some formulas. Here is my mental model of that.

Symmetric vs Asymmetric encryption

A clear and practical explanation of symmetric and asymmetric encryption, what they are, how they differ, and how they’re used in the real world.

How Cookie Flags Actually Protect Your Sessions

Breaking down the cookie flags that protect against XSS and CSRF

What Are These HTTP Requests

A beginner-friendly guide to understanding HTTP requests and the differences between HTTP/1.1 and HTTP/2

--allow-empty Git Flag (most people don’t know this exists)

I found this cool trick to add empty commits with no changes, and here I talk about it along with common use cases

JavaScript objects: Memory references, clones, and gotchas

A deep dive into how JavaScript handles objects in memory, covering reference assignment, nested objects, shallow cloning with spread syntax, and the subtle gotchas that cause unexpected mutations

Vite over Create React App (CRA): The React team deprecating Create React App for new projects?

React officially deprecated Create React App (CRA) in 2025. In this article, I dive into why CRA is no longer recommended, and why Vite is now the go-to tool for scaffolding new React projects.

Experimental commits on Git

I break down what experimental commits are, how to use them, how to save them, and explain some key Git concepts like HEAD, detached HEAD state, and more....

Different shell session types and shell programs in Unix / Linux

I walk you through the different shell session types like interactive login, non-login, and non-interactive shells, and how various shell programs like Bash and Zsh behave in each. If you’re serious about mastering the terminal, this one’s for you.....

What is a monorepo?

I recently heard about a concept called monorepo and got curious about what it really means. So I decided to dig into it. This post covers what I learned along the way.

Efficient way of looping through an array?

I used to get confused about when to use a traditional for loop vs forEach. Once I began exploring how these two really work, everything clicked. This is a breakdown of what I learned, how each one behaves and more...

7 - 1 pattern/architecture on Sass

I break down how to organize Sass projects using the 7-1 architecture, how I updated it with the modern module system, and some useful Sass functions and setups I personally use like rem/em converters and a constants map setup. I hope this will help you structure your Sass environment...