Kavindu Jayarathne Kavindu
  • About
  • Blogs
  • Projects

Blogs

Writings on things I've explored and understood

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

    October 12, 2025•4 min read

    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

    GitHub
  • Journey of macpak

    October 5, 2025•17 min read

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

    macpak CLI Homebrew
  • macpak Documentation

    October 4, 2025•14 min read

    The Documentation for macpak CLI tool

    macpak CLI Documentation Homebrew
  • My Confusion Around the Way Homebrew Handles Formulas on macOS

    August 12, 2025•8 min read

    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.

    Homebrew Self-Thoughts
  • Symmetric vs Asymmetric encryption

    July 7, 2025•5 min read

    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.

    Encryption Cryptography gpg
  • How Cookie Flags Actually Protect Your Sessions

    May 19, 2025•3 min read

    Breaking down the cookie flags that protect against XSS and CSRF

    Web Security Cookies
  • What Are These HTTP Requests

    May 17, 2025•6 min read

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

    Networking Web HTTP
  • --allow-empty Git Flag (most people don’t know this exists)

    May 16, 2025•2 min read

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

    Git GitHub
  • JavaScript objects: Memory references, clones, and gotchas

    May 15, 2025•2 min read

    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

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

    February 16, 2025•9 min read

    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.

    Web Development Frontend React Vite
  • Experimental commits on Git

    September 18, 2024

    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....

    Git
  • Different shell session types and shell programs in Unix / Linux

    September 4, 2024

    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.....

    Shell Terminal
  • What is a monorepo?

    August 16, 2024

    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.

    Repository-related
  • Efficient way of looping through an array?

    July 25, 2024

    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...

    JavaScript
  • 7 - 1 pattern/architecture on Sass

    July 10, 2024

    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...

    Web Development Sass Frontend
© 2025 - 2026 Kavindu Jayarathne. All Rights Reserved.