<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Manikandan Arjunan | Senior Backend Engineer</title>
    <link>https://manikandanarjunan.com/</link>
    <description>Recent content on Manikandan Arjunan | Senior Backend Engineer</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 10 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://manikandanarjunan.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Kubernetes Routing</title>
      <link>https://manikandanarjunan.com/kubernetes-routing/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/kubernetes-routing/</guid>
      <description>&lt;p&gt;We devs all know Kubernetes and its mass usage across the globe in all software products, this blog is not going to&#xA;be explaning about kubernetes rather this will focus on how typically routing works on kubernetes.&lt;/p&gt;&#xA;&lt;p&gt;TL;DR: How a request reaches your pod that is inside your K8s cluster?&lt;/p&gt;&#xA;&lt;h2 id=&#34;some-basics-of-kubernetes&#34;&gt;Some basics of Kubernetes&lt;/h2&gt;&#xA;&lt;p&gt;Every k8s cluster has set of components called&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pod: Our actual application lives here inside a container. (lives on worker node)&lt;/li&gt;&#xA;&lt;li&gt;Service: Not a code or not a server, its just a plain object that have some routing rules to pod and lives in &lt;code&gt;etcd&lt;/code&gt;.(&#xA;stored in etcd(master node), read by worker node kernel)&lt;/li&gt;&#xA;&lt;li&gt;Ingress: Similar to &lt;code&gt;service&lt;/code&gt;, not a code or server, just a plain object which has rules from &lt;code&gt;host to service&lt;/code&gt;.&#xA;(stored in etcd(master node), read by ingress controller pod on worker node).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Kubernetes cluster usually has two planes(nodes) &lt;code&gt;Master&lt;/code&gt; and &lt;code&gt;Worker&lt;/code&gt; planes(nodes).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Space Facts</title>
      <link>https://manikandanarjunan.com/space-facts/</link>
      <pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/space-facts/</guid>
      <description></description>
    </item>
    <item>
      <title>101 about telescope</title>
      <link>https://manikandanarjunan.com/101-about-telescope/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/101-about-telescope/</guid>
      <description>&lt;h2 id=&#34;curiosity&#34;&gt;Curiosity&lt;/h2&gt;&#xA;&lt;p&gt;For the past one month, i have been planning to get a telescope and really want to explore our space, i was curious on two things from childhood&#xA;one is what is underneath and what is above us, there is no easy way for me to explore all these in my child hood days or even cllg or school days&#xA;due to financial reasons, now am at 30 doing my SDE work, having a stable income, now i want to explore all these child hood things&#xA;in my life, one of these is to basically get a telescope and watch the moon up close with my own eyes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Redis ordered sets</title>
      <link>https://manikandanarjunan.com/redis-ordered-sets/</link>
      <pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/redis-ordered-sets/</guid>
      <description>&lt;p&gt;This tweet got remind me on the wonderful &lt;strong&gt;Redis sorted/ordered set&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;ordered-sets-in-redis&#34;&gt;Ordered sets in redis&lt;/h2&gt;&#xA;&lt;p&gt;Everyone prbably here knows that redis is a key value in memory datastore, used for faster accessing our data.&#xA;ordered sets in redis are nothing different than a key value pair, where the value is a collection of &lt;code&gt;member&lt;/code&gt; and a &lt;code&gt;score&lt;/code&gt;,&#xA;below is how u can imagine a typical redis sorted set will be stored.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Go</title>
      <link>https://manikandanarjunan.com/go/</link>
      <pubDate>Mon, 22 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/go/</guid>
      <description>&lt;h2 id=&#34;go-language-beginner-readme&#34;&gt;Go Language Beginner readme.&lt;/h2&gt;&#xA;&lt;p&gt;Go is a statically and Strongly typed language and also its a compiled language unlike JS, Python(dynamically typed). It also supports&#xA;concurrency model, It also supports type system out of the box(like typescript for javascript). Since it is compiled language&#xA;it turns our code into machine code quickly which makes the application faster on the run time. It also has&#xA;built in garbage collection.&lt;/p&gt;&#xA;&lt;h2 id=&#34;go-is-compiled-language&#34;&gt;Go is Compiled Language&lt;/h2&gt;&#xA;&lt;p&gt;Unlike python, javascript etc Go is a compiled language, meaning it will compile the human readable code and converts into machine code&#xA;where that output machine code alone can be transfered to other people or put in servers to execute.&#xA;Unlike hpython or js, other people or servers dont need js runtime(node) or python runtime, since in go we are transferring the direct machine code&#xA;the OS(platform specific) can able to execute directly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Package Managers in Operating System</title>
      <link>https://manikandanarjunan.com/package-managers-in-operating-system/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/package-managers-in-operating-system/</guid>
      <description>&lt;p&gt;We will see what are package managers in OS(linux, mac) like (&lt;code&gt;apt&lt;/code&gt;, &lt;code&gt;brew&lt;/code&gt;, &lt;code&gt;pacman&lt;/code&gt;) etc,&#xA;and what&amp;rsquo;s the role of those.&lt;/p&gt;&#xA;&lt;p&gt;A simple definition would be, Package Managers are used to &lt;code&gt;Download&lt;/code&gt;, &lt;code&gt;Install&lt;/code&gt;, &lt;code&gt;Uninstall(remove)&lt;/code&gt;&#xA;softwares from our Operating System.&lt;/p&gt;&#xA;&lt;h2 id=&#34;linux&#34;&gt;Linux&lt;/h2&gt;&#xA;&lt;p&gt;Compare to windows and mac, linux has numerous distros(fork from linux and rewamp on top of linux kernel),&#xA;those distros are grouped into families.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Debian Family - Ubuntu, Pop_OS(My :&amp;gt;), Mint etc.&lt;/li&gt;&#xA;&lt;li&gt;Redhat Family - Fedora, Cent OS etc.&lt;/li&gt;&#xA;&lt;li&gt;Arch Family - Arch, Omarchy(DHH one) etc.&lt;/li&gt;&#xA;&lt;li&gt;Others - Alpine linux, nix etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;debian-family&#34;&gt;Debian Family&lt;/h3&gt;&#xA;&lt;p&gt;Debian family uses a package manager called &lt;code&gt;apt&lt;/code&gt; stands for Advanced Packaged Tool,&#xA;this tool is used to install, remove, delete any softwares in your OS.&#xA;&lt;code&gt;dpkg&lt;/code&gt; is another command that installs .deb(binary files) files directly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UTF-8</title>
      <link>https://manikandanarjunan.com/utf-8/</link>
      <pubDate>Sat, 06 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/utf-8/</guid>
      <description>&lt;h2 id=&#34;what-is-utf-8&#34;&gt;What is UTF-8?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;UTF is an encoding standard to display raw things from computer to human.&lt;/li&gt;&#xA;&lt;li&gt;Firstly, when u store anything on ur computer via disc/ram/anything in terms of text or video or image etc,&#xA;all these will be stored in binary(1s or 0s) under the hood.&lt;/li&gt;&#xA;&lt;li&gt;Each of these binaries are tagged with each letter, for EG:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;#34;H&amp;#34; - 72(in decimal) 1001000(in binary)&#xA;&amp;#34;E&amp;#34; - 69(in decimal) 1000101(in binary)&#xA;etcc&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;Like the above, the entire letters(english, japanese, tamil etc), symbols, everything has been&#xA;mapped to some unique number, this is called &lt;code&gt;Unicode&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;This &lt;code&gt;Unicode&lt;/code&gt; is created, primarily so that humans can view raw text, instead of plain binary, instead&#xA;of showing the binary values to the user, there are some mapped ids to each letters and then those letters&#xA;will be showed to the user(notepad, vscode, browser etccc).&lt;/li&gt;&#xA;&lt;li&gt;This conversion of binary to unicode is often called as UTF-8.&lt;/li&gt;&#xA;&lt;li&gt;There are several encodings like UTF-8, UTF-16, UTF-32, others as well.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTE:&lt;/em&gt;&lt;/strong&gt;&#xA;Initially there was only &lt;code&gt;ASCII&lt;/code&gt;, where it represents only english alphabets and symbols&#xA;with total 128 letters, later we included every language and every language symbol and&#xA;placed into a common thing called &lt;code&gt;Unicode&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Build a home server</title>
      <link>https://manikandanarjunan.com/build-a-home-server/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/build-a-home-server/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../home-server.webp&#34; alt=&#34;Home server&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;In this blog am going to share my learnings and findings on how i build my mini home-server an year back, which am currently using &lt;strong&gt;to host my side projects&lt;/strong&gt;, &lt;strong&gt;access my files anywhere from the world&lt;/strong&gt;, &lt;strong&gt;alternate for google drive&lt;/strong&gt; etc.. This blog will cover only the basic highlevel steps, although i have given all the source links for the setup, but if you are expecting a spoon feed kinda stuff, then this is not for you.&lt;/p&gt;</description>
    </item>
    <item>
      <title>DNS</title>
      <link>https://manikandanarjunan.com/dns/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/dns/</guid>
      <description>&lt;h2 id=&#34;what-is-dns&#34;&gt;What is DNS&amp;gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../dns.webp&#34; alt=&#34;DNS&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Am gonna tell u the plain old topic of what DNS is.&lt;/p&gt;&#xA;&lt;p&gt;Every computer/server/machine etc needs to have a name or id or something unique, so that it can be reached by anyother computer/server/machine over the internet.&lt;/p&gt;&#xA;&lt;p&gt;IP address is the one which solves this problem, so every computer in this world has either an internal IP/External IP so in order to communicate between one computer to another u just needs to specify its IP(sender or receiver).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker</title>
      <link>https://manikandanarjunan.com/docker/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/docker/</guid>
      <description>&lt;h2 id=&#34;why-do-we-need-docker-first&#34;&gt;Why do we need Docker first?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../docker-mem.png&#34; alt=&#34;Docker&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;There is a pretty common issue happend before docker, &amp;ldquo;Its working on my machine&amp;rdquo;, basically we developers tend to develop application on various platform based on our development machine it could be linux, windows, mac etc, but when going to production it may be different, for eg: most of the production servers are of linux, and if u develop ur application in local with windows, then there needs to be a ton of work u need to do in order to make it work correctly on production system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GIT</title>
      <link>https://manikandanarjunan.com/git/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/git/</guid>
      <description>&lt;h1 id=&#34;how-git-works&#34;&gt;How Git works?&lt;/h1&gt;&#xA;&lt;p&gt;Git basically has 3 components.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Commit&lt;/li&gt;&#xA;&lt;li&gt;Tree&lt;/li&gt;&#xA;&lt;li&gt;Blob&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Whenever u do any change in your repo/folder, first u do git add, then the git will compress ur entire file into a blob(kinda binary file) and then generates a sha256 hash as the file name for that blob and store under .git/objects/.&lt;/p&gt;&#xA;&lt;p&gt;Once u do git commit -m &amp;lsquo;msg&amp;rsquo;, git will create two hash files `Commit` and `Tree`, `Tree` hash file will contain the entire file details at that particular point in time of the commit(this also compressed and stored), also this points to the blob hash file. `Commit` this hash file will contain the commiter author details and parent commit hash if so and Tree hash.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git Rebase vs Merge</title>
      <link>https://manikandanarjunan.com/git-rebase-vs-merge/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/git-rebase-vs-merge/</guid>
      <description>&lt;p&gt;Let&amp;rsquo;s consider three developers - dev1, dev2, and dev3 - working on a common repository.&lt;/p&gt;&#xA;&lt;h3 id=&#34;initial-state&#34;&gt;Initial State&lt;/h3&gt;&#xA;&lt;p&gt;Every dev with the same repository state.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;A---B---C (main)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;step-1-dev1-creates-a-feature-branch&#34;&gt;Step 1: dev1 creates a Feature Branch&lt;/h3&gt;&#xA;&lt;p&gt;dev1 creates a feature branch and makes two commits.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;A---B---C (main)&#xA;      \&#xA;      D---E (feat-dev1)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;step-2-dev1-pushes-to-remote&#34;&gt;Step 2: dev1 pushes to remote&lt;/h3&gt;&#xA;&lt;p&gt;dev1 pushes his/her branch(feat-dev1) to the remote shared repository so others can review or contribute.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git Worktrees</title>
      <link>https://manikandanarjunan.com/git-worktrees/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/git-worktrees/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../Git-Worktree.webp&#34; alt=&#34;git-worktrees&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;OK, so everyone here faced a common problem on git, which is &lt;strong&gt;branch switching in the middle of something&lt;/strong&gt;! Let me, clear you in the below example.&lt;/p&gt;&#xA;&lt;p&gt;Consider you are working under the &lt;strong&gt;branch &lt;em&gt;x&lt;/em&gt;&lt;/strong&gt; on something, suddenly a friend of yours stuggling with some thing on the same code base, she/he wants your help to debug that in your machine, what will you do now?&lt;/p&gt;&#xA;&lt;p&gt;Typical flow would be, &lt;strong&gt;you will either stash your current work on branch &lt;em&gt;x&lt;/em&gt; or do a dummit commit(most probably will forget to squash :D).&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Golang Notes for me</title>
      <link>https://manikandanarjunan.com/golang-notes-for-me/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/golang-notes-for-me/</guid>
      <description>&lt;p&gt;Why GO? Personally i like it a lot, i have tried the very basics about Go, i really liked it, its great for terminal apps, be, infrastructure etcc&lt;/p&gt;&#xA;&lt;h2 id=&#34;basics-of-go&#34;&gt;Basics of Go&lt;/h2&gt;&#xA;&lt;p&gt;Go is a statically and Strongly typed language and also its a compiled language unlike JS, Python(dynamically typed). It also supports concurrency model, It also supports type system out of the box(like typescript for javascript). Since it is compiled language it turns our code into machine code quickly which makes the application faster on the run time. It also has built in garbage collection. Example for Statically and strongly typed language const str: string; const num: number; console.log(str + &amp;ldquo;:&amp;rdquo; + num) =&amp;gt; this will work in typescript(only statically typed) var str string; var num int; println(str + &amp;ldquo;:&amp;rdquo; + num) =&amp;gt; will not work in go(since it is both statically and strong type)&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Node JS uses Threads</title>
      <link>https://manikandanarjunan.com/how-node-js-uses-threads/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/how-node-js-uses-threads/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../node-thread.webp&#34; alt=&#34;Node uses threads&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;There are some common misconceptions around node and its working.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Node is &lt;strong&gt;single threaded.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Node is &lt;strong&gt;Multi threaded.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Event loop&lt;/strong&gt; is single threaded, but other io&amp;rsquo;s like file io, network io etc are &lt;strong&gt;Multi threaded.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Node runs in &lt;strong&gt;one thread&lt;/strong&gt;, v8/javascript runs in &lt;strong&gt;another thread.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;There are only 3 major components for node:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;V8&lt;/strong&gt; =&amp;gt; To execute javascript(JS engine).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Event loop&lt;/strong&gt; =&amp;gt; Managed by external library called libuv.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Deal with Secrets</title>
      <link>https://manikandanarjunan.com/how-to-deal-with-secrets/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/how-to-deal-with-secrets/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../ansible-vault.webp&#34; alt=&#34;deal-secrets-with-ansible-vault&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Let me shoot a question to the readers here: how are you dealing with storing secrets on local development? These could include API_KEYs, AWS_KEYs, DB_URIs, etc., required to keep your local environment up and running.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;If you are doing this in any of the below ways :(, sorry you are dealing it in a wrong way!&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Setting the secrets in each shell that you are running your command(npm start etc).&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to setup adguard</title>
      <link>https://manikandanarjunan.com/how-to-setup-adguard/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/how-to-setup-adguard/</guid>
      <description>&lt;h2 id=&#34;what-is-adguard&#34;&gt;What is AdGuard&amp;gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../adguard.webp&#34; alt=&#34;AdGuard&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;AdGuard is nothing but a DNS server(it can also act as DHCP server), where you can configure which sites you can visit, which sites can be block(kinda ad blocking) etc.&lt;/p&gt;&#xA;&lt;p&gt;This tool will be helpful to avoid tracking, blocking ads, control your home networking etc.&lt;/p&gt;&#xA;&lt;h3 id=&#34;how-to-set-adguard-for-our-home&#34;&gt;How to set AdGuard for our home?&lt;/h3&gt;&#xA;&lt;p&gt;1. For setting up AdGuard in your home network, you need a server that needs to be running 24/7, it could be an old laptop or small pc or even a raspberry pi does the job.&lt;/p&gt;</description>
    </item>
    <item>
      <title>JWT</title>
      <link>https://manikandanarjunan.com/jwt/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/jwt/</guid>
      <description>&lt;p&gt;JWT is a stateless token based authentication system, which is better than our traditional token based stuff.&lt;/p&gt;&#xA;&lt;h2 id=&#34;traditional-token-based-approach&#34;&gt;Traditional Token Based approach&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A user logins into our application with username and password.&lt;/li&gt;&#xA;&lt;li&gt;After validating username and password, we will generate a unique session token and sets in the cookie of the response and also will store in our server DB.&lt;/li&gt;&#xA;&lt;li&gt;For future requests we don&amp;rsquo;t need to send username and password everytime, we will validate whether the cookie has the token that matches our database.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../JWT.png&#34; alt=&#34;JWT&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leetcode is it Worth</title>
      <link>https://manikandanarjunan.com/leetcode-is-it-worth/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/leetcode-is-it-worth/</guid>
      <description>&lt;p&gt;Does LeetCoding improves our coding knowledge or is it a flex symbol for developers.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../leetcode-is-it-worth.webp&#34; alt=&#34;LeetCode is it worth&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;For the people who doesn’t know leetcode, It is an online platform to practice various coding problems with different levels of complexity.&lt;/p&gt;&#xA;&lt;h2 id=&#34;how-i-started-my-leetcode-journey&#34;&gt;How i started my leetcode journey&lt;/h2&gt;&#xA;&lt;p&gt;I started my career as a FE developer with blazingly fast(although it is not) React and Next JS like most of us out there, but later realized that FE it’s not a thing for me, I personally felt kinda of bored or doing some repetitive stuffs, that’s when i thought of moving on to a BE development(OG Software Engineer).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux Origin</title>
      <link>https://manikandanarjunan.com/linux-origin/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/linux-origin/</guid>
      <description>&lt;h1 id=&#34;this-notes-is-about-explaining-the-relationship-between-gnu-linux-unix-mac-etc&#34;&gt;This notes is about explaining the relationship between GNU, linux, unix, mac etc&lt;/h1&gt;&#xA;&lt;p&gt;First, Unix is basically an operating system developed by dennis ritche and others in 1960.&lt;/p&gt;&#xA;&lt;p&gt;Before diving into linux, lets understand how linux came into existence.&lt;/p&gt;&#xA;&lt;p&gt;Originally when unix was founded it was free to use by anyone, meaning anyone can use it as their OS, but in late 70&amp;rsquo;s it was transferred to propertiery licensed software, meaning you need to pay some amount in order to use their software(OS). This became an headache in developer community, this is the point where GNU came into existence.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ML Basics</title>
      <link>https://manikandanarjunan.com/ml-basics/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/ml-basics/</guid>
      <description>&lt;p&gt;Created this repo to cover basics of Math behind ML. Math Topics that am gonna cover are:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Algebra (linear algebra and matrices).&lt;/li&gt;&#xA;&lt;li&gt;Calculus (partial derivatives and integrals).&lt;/li&gt;&#xA;&lt;li&gt;Probablity (with information theory).&lt;/li&gt;&#xA;&lt;li&gt;Statistics.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;linear-algebra&#34;&gt;Linear Algebra&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Data structures for algebra.&lt;/li&gt;&#xA;&lt;li&gt;Some tensor operations.&lt;/li&gt;&#xA;&lt;li&gt;Matrix properties.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;data-structures-for-algebra&#34;&gt;Data Structures for algebra&lt;/h4&gt;&#xA;&lt;p&gt;Algebra is basically an arithmetic expression that includes non-numerical&#xA;entities like x|y|z|anything. eg: &lt;code&gt;x+y=20|2x+3y=3|x^2+y=10 etcc&lt;/code&gt;, from this expression where we can derive&#xA;values for those non-numerical entities or make the expression to minimize.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Node worker Threads</title>
      <link>https://manikandanarjunan.com/node-worker-threads/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/node-worker-threads/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../worker_threads.webp&#34; alt=&#34;Node threads&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Before moving, first will take a short overview on what is process, threads which serves as a backbone for this topic.&lt;/p&gt;&#xA;&lt;h3 id=&#34;process&#34;&gt;Process&lt;/h3&gt;&#xA;&lt;p&gt;A Process is nothing but a container that gets attached on every program that u run on any computer system.&lt;br&gt;&#xA;For eg: running a google chrome, running a python code, running a js code, running a game, running a terminal etc all are inside a process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Random Notes about Node JS</title>
      <link>https://manikandanarjunan.com/random-notes-about-node-js/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/random-notes-about-node-js/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;How timers work in node under the hood?&lt;/strong&gt;&lt;br&gt;&#xA;Whenever you set a timer in Node, it essentially calculates the exact time when the timer should expire based on the current time. It then registers the expiration time with the kernel. Node continuously polls the kernel using epoll_pwait(&lt;!-- raw HTML omitted --&gt;Refer this for more info&lt;!-- raw HTML omitted --&gt;. The kernel maintains these timers using a min-heap data structure to always return the lowest possible expiration time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Some notes on DB</title>
      <link>https://manikandanarjunan.com/some-notes-on-db/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/some-notes-on-db/</guid>
      <description>&lt;h2 id=&#34;clustered-database-vs-non-clustered-database&#34;&gt;Clustered Database vs Non-clustered Database&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;There are two types of sql databases clustered(innodb, mysql) and non-clustered(postgres).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;In clustered databases, by default we need to provide a primary key column, upon providing, it will automatically maps the entire row with that primary key -&amp;gt; p_key: entire_row in the real harddisk.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Secondary indexes in clustered databases is used to create index for other columns, where it maps secondary_index: primary_key in the real harddisk.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH</title>
      <link>https://manikandanarjunan.com/ssh/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/ssh/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../ssh.jpg&#34; alt=&#34;SSH&#34;&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;SSH is nothing but a secure way of connecting other computers over the public network around the world.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;SSH is based on client server architecture, where an SSH server needs to be running on port 22 on the computer(server) and any one can use ssh client to connect to that computer.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;SSH works on top of TCP and it has its own protocol of sending and receiving msgs like HTTP.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Terminal</title>
      <link>https://manikandanarjunan.com/terminal/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/terminal/</guid>
      <description>&lt;p&gt;Terminal aka shell, CLI are all same, its an application that accepts &lt;strong&gt;text based inputs&lt;/strong&gt; and gives result on the screen.&lt;/p&gt;&#xA;&lt;p&gt;In earlier days, terminal is just a physical device(something like joystick) that we can type commands in that using keyboard. Nowadays if we talk about terminal that means its terminal-emulator(default or kitty or iterm or ghostty etc), this terminal-emulator will take the inputs in the form of text and a &lt;strong&gt;shell(zsh, bash, fish etc)&lt;/strong&gt; is responsible for executing this and the terminal-emulator just displays that in window.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why hex is used in CSS</title>
      <link>https://manikandanarjunan.com/why-hex-is-used-in-css/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/why-hex-is-used-in-css/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../hex.webp&#34; alt=&#34;HEX&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Recent days i have been learning kernel and other low level stuffs, unfortunately i got to know an interesting stuff on why CSS uses &lt;strong&gt;hexadecimal&lt;/strong&gt; to specify the color codes.&lt;br&gt;&#xA;Everyone knows CSS uses hexadecimal values of 6characters (#&lt;strong&gt;FF00000&lt;/strong&gt;) to represent a color, anyone wonder why not decimal or anyother units like #&lt;strong&gt;123456&lt;/strong&gt; or any other stuff.&lt;/p&gt;&#xA;&lt;h3 id=&#34;how-colors-are-represented-in-css&#34;&gt;How colors are represented in CSS?&lt;/h3&gt;&#xA;&lt;p&gt;Before diving into the actual reason, first we will see how colors are represented in CSS.&lt;br&gt;&#xA;CSS uses typical color pattern &lt;strong&gt;RGB - Red Green Blue&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AWK &amp; SED</title>
      <link>https://manikandanarjunan.com/awk-sed/</link>
      <pubDate>Mon, 24 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/awk-sed/</guid>
      <description>&lt;h2 id=&#34;sed&#34;&gt;SED&lt;/h2&gt;&#xA;&lt;p&gt;SED - for Stream Editor, its basically stream oriented meaning in linux, many commands are streamed from input to the output, for EG: ls -l | grep &amp;ldquo;text&amp;rdquo; the output from ls -l will be streamed as input to grep.&lt;/p&gt;&#xA;&lt;p&gt;sed is basically an on the fly automating tool to edit, search, filter etc on ur text files.&lt;/p&gt;&#xA;&lt;h2 id=&#34;awk&#34;&gt;AWK&lt;/h2&gt;&#xA;&lt;p&gt;AWK itself is kinda programming language for unix based OS&amp;rsquo;s. It can almost do everything that a normal shell script can do.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Backend with Kernel[node]</title>
      <link>https://manikandanarjunan.com/backend-with-kernelnode/</link>
      <pubDate>Sun, 23 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/backend-with-kernelnode/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../node-kernel.webp&#34; alt=&#34;Node with Kernel&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I am currently exploring on low-level &lt;strong&gt;networking&lt;/strong&gt; and &lt;strong&gt;Operating system&lt;/strong&gt; related concepts, particularly on how backend and OS stuffs are inter-related.&lt;/p&gt;&#xA;&lt;p&gt;While going through this i was so fascinated to read about on how efficiently &lt;strong&gt;Node.js handles concurrency with the help of Kernel&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;is-node-a-single-threaded-or-does-it-use-multi-threading-or-other-mechanisms-to-manage-concurrency&#34;&gt;Is Node a single-threaded, or does it use multi-threading or other mechanisms to manage concurrency?&lt;/h2&gt;&#xA;&lt;p&gt;To answer this question,&lt;/p&gt;&#xA;&lt;p&gt;let’s first review some basic concepts that are essential for understanding on how typical Backend application works and how Node.js manages network connections and concurrency.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Traceroute under the Hood</title>
      <link>https://manikandanarjunan.com/traceroute-under-the-hood/</link>
      <pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/traceroute-under-the-hood/</guid>
      <description>&lt;p&gt;Many software devs have already aware of the tool called &lt;strong&gt;Traceroute&lt;/strong&gt;. For those who don’t know, Traceroute is a tool, used to determine the path of your request transfer over the internet.&lt;/p&gt;&#xA;&lt;p&gt;For example, if you run traceroute &lt;a href=&#34;https://google.com&#34;&gt;https://google.com&lt;/a&gt;, it shows you the network path that your data packets take to reach &lt;strong&gt;google.com&lt;/strong&gt; from &lt;strong&gt;your network.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../traceroute.webp&#34; alt=&#34;Traceroute&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;before-getting-into-the-details-will-clear-about-some-basic-stuff-that-is-associated-to-traceroute&#34;&gt;Before getting into the details, will clear about some basic stuff that is associated to traceroute.&lt;/h2&gt;&#xA;&lt;h3 id=&#34;the-osi-model&#34;&gt;The OSI Model&lt;/h3&gt;&#xA;&lt;p&gt;As many of you may be aware, the OSI (Open Systems Interconnection) model is a framework used to understand network stuff. Since this article focuses more on Traceroute, I will try to cover more about the stuff that is happening on Layer 3 of the OSI model, the &lt;strong&gt;Network&lt;/strong&gt; Layer. You can read more about the OSI Model &lt;!-- raw HTML omitted --&gt;here&lt;!-- raw HTML omitted --&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rust</title>
      <link>https://manikandanarjunan.com/rust/</link>
      <pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/rust/</guid>
      <description>&lt;p&gt;Unfortunately am into this rust thing now.. there is no going back, lets learn this mf.&lt;/p&gt;&#xA;&lt;h2 id=&#34;intro--notes-to-me&#34;&gt;Intro | notes to me&lt;/h2&gt;&#xA;&lt;p&gt;Rust is a compiled programming language like &lt;code&gt;go&lt;/code&gt; | &lt;code&gt;C&lt;/code&gt; | &lt;code&gt;C++&lt;/code&gt;, to add more in rust memory management is manual unlike&#xA;&lt;code&gt;go&lt;/code&gt; | &lt;code&gt;java&lt;/code&gt; | &lt;code&gt;js&lt;/code&gt; etcc, where you will get automatic GC on ur runtime.&#xA;In Rust there is a in house tool called &lt;code&gt;cargo&lt;/code&gt;, which is the dependency manager, similar to &lt;code&gt;npm&lt;/code&gt; in js, &lt;code&gt;cargo new project&lt;/code&gt;&#xA;creates a new project with directories &lt;code&gt;src/main.rs&lt;/code&gt;, &lt;code&gt;cargo.toml&lt;/code&gt; files, cargo.toml files contains the project&#xA;information like project_name, dependencies needed etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://manikandanarjunan.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/about/</guid>
      <description>&lt;h2 id=&#34;manikandan-arjunan&#34;&gt;Manikandan Arjunan&lt;/h2&gt;&#xA;&lt;p&gt;7 year old Senior Backend Engineer with experience in building scalable systems and exploring the deeper layers of software architecture.&lt;br&gt;&#xA;Currently building BE infrastructure at &lt;a href=&#34;https://www.acvauctions.com/&#34;&gt;ACV Auctions&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I enjoy to self-host things that i use daily (home internet, Bitwarden, file storage, and various projects)&#xA;rn am learning stuffs like &lt;strong&gt;Rust&lt;/strong&gt;, &lt;strong&gt;Linux internals&lt;/strong&gt;, &lt;strong&gt;database design&lt;/strong&gt;, &lt;strong&gt;concurrency patterns&lt;/strong&gt;, and my fav &lt;strong&gt;computer networks&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bookmarks</title>
      <link>https://manikandanarjunan.com/reads/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://manikandanarjunan.com/reads/</guid>
      <description></description>
    </item>
  </channel>
</rss>
