<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Jitesh's Blog</title><link>https://jiteshcodes.com/</link><description>Recent content on Jitesh's Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Fri, 27 Mar 2026 14:49:28 +0530</lastBuildDate><atom:link href="https://jiteshcodes.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Books</title><link>https://jiteshcodes.com/shelf/books/</link><pubDate>Sun, 31 Mar 2024 16:20:09 +0530</pubDate><guid>https://jiteshcodes.com/shelf/books/</guid><description>Books that I read and enjoyed.
Tech The Go programming language by Alan A. A. Donovan HTTP The definitive guide by David Gourley and Brian Totty Learn go with tests by Chris James Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow by Aurélien Géron Deep Learning with PyTorch by Eli Stevens, Luca Antiga, and Thomas Viehmann Practical Vim by Drew Neil REST-API Design Rulebook by Mark Massé Fiction 1984 by George Orwell By the River Piedra I sat down and wept by Paulo Coelho Animal Farm By George Orwell Halo The Forerunner Saga series by Greg Bear Non-fiction Show Your Work by Austin Kleon Tuesdays with Morrie By Mitch Albom Fooled by Randomness by Nassim Nicholas Taleb The Art of War by Sun Tzu The Psychology of Money by Morgan Housel</description></item><item><title>Articles</title><link>https://jiteshcodes.com/shelf/articles/</link><pubDate>Sun, 31 Mar 2024 16:20:20 +0530</pubDate><guid>https://jiteshcodes.com/shelf/articles/</guid><description>Some of the great articles I read and enjoyed.
The Invitation by svs Being a Noob by Paul Graham My GitHub Project went viral by Aditya Lenge How to keep yourself unblocked by Arpit Bhayani What we got right, What we got wrong by Rob Pike One Billion Rows Challenge in golang by Shraddha Agrawal You are not dumb, you just lack prerequisites by lelouch The Red Car Theory by Anfernee</description></item><item><title>Implementing Amazon Dynamo in Elixir</title><link>https://jiteshcodes.com/blog/implementing-amazon-dynamo-in-elixir/</link><pubDate>Fri, 27 Mar 2026 14:49:28 +0530</pubDate><guid>https://jiteshcodes.com/blog/implementing-amazon-dynamo-in-elixir/</guid><description>For the next paper in my Paper Implementation series, I picked the Dynamo 2007 paper by Amazon. I had a really good time with this one. Large scale distributed systems always fascinate me , how do you handle that much data, across that many machines, and keep it working when things inevitably break? The Dynamo paper has a clear answer, and it keeps repeating it in case you miss it: eventual consistency.</description></item><item><title>I Built Google File System in Go: One File, Zero Dependencies</title><link>https://jiteshcodes.com/blog/google-file-system-in-go/</link><pubDate>Fri, 13 Mar 2026 19:26:34 +0530</pubDate><guid>https://jiteshcodes.com/blog/google-file-system-in-go/</guid><description>Recently, I read the Google File System paper by Ghemawat, Gobioff, and Leung, published at SOSP 2003, and what a fun read it was.
And I asked myself, how much of it can I fit in a single go file, with no external dependencies whatsoever, and it turns out, quite a lot. And that&amp;rsquo;s what this blog post is about. My implementation of this legendary paper.
🌐 You can find the source code of this project in this github repository 1.</description></item><item><title>The Only Neovim Config You'll Ever Need</title><link>https://jiteshcodes.com/vim_stuff/only-neovim-config-youll-ever-need/</link><pubDate>Fri, 27 Feb 2026 20:18:58 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/only-neovim-config-youll-ever-need/</guid><description>I&amp;rsquo;ve been using neovim from the last 2 years. But whenever I started learning a new language/framework, I went back to VSCode, since I don&amp;rsquo;t want the headache of tweaking my neovim config everytime I do something new. And now that I think of it, this is a universal problem with most of the neovim users. So thought that it would be a great idea to share my config, so you don&amp;rsquo;t have to create yours from scratch.</description></item><item><title>I Built Google Bigtable in Go: One File, Zero Dependencies</title><link>https://jiteshcodes.com/blog/implementing-google-bigtable-in-golang/</link><pubDate>Fri, 20 Feb 2026 19:37:55 +0530</pubDate><guid>https://jiteshcodes.com/blog/implementing-google-bigtable-in-golang/</guid><description>Recently, I read the the Google Bigtable paper, and what a fun read it was.
And I asked myself, how much of it can I fit in a single go file, with no external dependencies whatsoever, and it turns out, quite a lot. And that&amp;rsquo;s what this blog post is about. My implementation of this famous paper.
🌐 You can find the source code of this project in this github repository 1.</description></item><item><title>The Death of the Free Bird</title><link>https://jiteshcodes.com/musings/the-death-of-the-free-bird/</link><pubDate>Fri, 23 Jan 2026 11:56:40 +0530</pubDate><guid>https://jiteshcodes.com/musings/the-death-of-the-free-bird/</guid><description>I joined Twitter back when it was still called Twitter. Back when it had a soul.
I used to call it the bird app. Everything felt natural. People had real conversations, silly ones, serious ones, everything in between. It just worked.
Not anymore.
Now it&amp;rsquo;s a shell of what it used to be. The numbers might be higher than ever, but the spark is gone. Maybe it&amp;rsquo;s been gone for a while now, and I&amp;rsquo;m just now admitting it.</description></item><item><title>My first impressions on elixir</title><link>https://jiteshcodes.com/blog/elixir-first-impressions/</link><pubDate>Wed, 07 Jan 2026 21:46:21 +0530</pubDate><guid>https://jiteshcodes.com/blog/elixir-first-impressions/</guid><description>Some days back, I started learning Elixir. And boy oh boy, learning Elixir is an experience in itself. There were a number of peculiarities I found while going through this functional programming language.
Also, for the record, I am following the book Elixir in Action to learn this beautiful language.
Right off the bat, these were the things I noticed to be different than any language I have ever worked with:</description></item><item><title>2025 Blog Recap</title><link>https://jiteshcodes.com/blog/2025-in-review/</link><pubDate>Wed, 31 Dec 2025 16:22:07 +0530</pubDate><guid>https://jiteshcodes.com/blog/2025-in-review/</guid><description>2025 was filled with rollercoasters. Had a lot of ups, some downs, but it felt good. Didn&amp;rsquo;t expect it to end on such a good note.
Starting this blog turned out to be the best career decision for me hands down. This year, due to my blog, I got so many great things happen to me:
Got recognised at my workplace by entity leads. Got some really sweet freelance content writing gigs.</description></item><item><title>Implementing The Tail at Scale in Golang</title><link>https://jiteshcodes.com/blog/implementing-tail-at-scale-in-golang/</link><pubDate>Fri, 12 Dec 2025 11:43:59 +0530</pubDate><guid>https://jiteshcodes.com/blog/implementing-tail-at-scale-in-golang/</guid><description>Recently, I read the famous 2013 Google paper Tail at Scale. And boy oh boy was it an enjoyable read. It was fascinating to read how such a simple idea could be used in such an elegant way to reduce latency in distributed systems.
And in this post, I&amp;rsquo;ll discuss my golang implementation of the paper. But first, let&amp;rsquo;s discuss the paper itself.
ℹ️ You can find my implementation of the paper in this github repository.</description></item><item><title>The Taste Cult Epidemic</title><link>https://jiteshcodes.com/musings/the-taste-cult-epidemic/</link><pubDate>Tue, 09 Dec 2025 21:16:32 +0530</pubDate><guid>https://jiteshcodes.com/musings/the-taste-cult-epidemic/</guid><description>A few days back I saw a post on twitter, which, loosely put, was this:
I don&amp;rsquo;t think we&amp;rsquo;re ready for how evolved gen alpha&amp;rsquo;s taste is becoming. my 8 yo nephew turned down dinner plans unless it was an asian place with avacado rolls.
And it annoyed me a bit, I&amp;rsquo;m not going to lie.
The fact that their nephew&amp;rsquo;s taste was perceived to be evolved based just on the fact that it included asian cuisine and some avacado rolls, rubbed me in a wrong way.</description></item><item><title>Why Gophers Hate ORMs</title><link>https://jiteshcodes.com/blog/why-gophers-hate-orms/</link><pubDate>Fri, 05 Dec 2025 11:05:38 +0530</pubDate><guid>https://jiteshcodes.com/blog/why-gophers-hate-orms/</guid><description>Last year, when I started learning Golang, and while building a project, I needed to work with databases. I stumbled upon an interesting conundrum in the Golang community: Everyone here seems to hate ORMs.
I wondered why. Coming from ecosystems like Python (Django/SQLAlchemy), the ORM is usually the default starting point. Although I went my way with writing SQL queries by hand for that specific project, recently this question again resurfaced in my mind.</description></item><item><title>The Perpetual Scarcity of Time</title><link>https://jiteshcodes.com/musings/the-perpetual-scarcity-of-time/</link><pubDate>Fri, 28 Nov 2025 09:15:28 +0530</pubDate><guid>https://jiteshcodes.com/musings/the-perpetual-scarcity-of-time/</guid><description>Lost time is never found again
Benjamin Franklin Everyday when going to sleep, I feel I didn&amp;rsquo;t do justice to my time today. Even though I hear people say they admire my work ethic, I know I can do more.
But why is that? Is it because I actually am not doing enough? Or something else?
I have noticed that each day, I do something which makes me closer to my goal, but not with the intensity I should.</description></item><item><title>Implementing MapReduce in Golang</title><link>https://jiteshcodes.com/blog/implementing-mapreduce-in-golang/</link><pubDate>Fri, 21 Nov 2025 08:14:37 +0530</pubDate><guid>https://jiteshcodes.com/blog/implementing-mapreduce-in-golang/</guid><description>Ever wondered how Google processes massive amounts of data? Or how systems like Hadoop work under the hood? The secret is MapReduce - a simple but powerful way to process huge datasets by breaking them into smaller pieces.
In this post, we&amp;rsquo;ll build our own MapReduce system in Go. I&amp;rsquo;ll be basically be implementing the famous Google paper in golang!
ℹ️ You can find my implementation of the paper in this github repository.</description></item><item><title>Behavioral Design Pattern in Golang</title><link>https://jiteshcodes.com/blog/behavioral-design-pattern-golang/</link><pubDate>Wed, 12 Nov 2025 09:29:23 +0530</pubDate><guid>https://jiteshcodes.com/blog/behavioral-design-pattern-golang/</guid><description>In the last blog post, I wrote about the Creational Design patterns, and I&amp;rsquo;ll continue that series with Behavioral Design patterns in this post.
Now, we aren&amp;rsquo;t going to define structures or encapsulate object creation, we will deal with behaviors.
Correct behavior design is the last step after knowing how to deal with object creation and structures. Defining the bheavior correctly is the last step of good software design because good software design lets us improve algorithms and fix errors easily while theb est algorithm implementation will not save use from bad software design.</description></item><item><title>Write More Tests, the Pain Is Worth It</title><link>https://jiteshcodes.com/blog/write-more-tests-the-pain-is-worth-it/</link><pubDate>Thu, 30 Oct 2025 11:49:26 +0530</pubDate><guid>https://jiteshcodes.com/blog/write-more-tests-the-pain-is-worth-it/</guid><description>A couple of months ago, I started building the backend for a personal project. Then life happened, got busy in work, other stuff took priority, and the project went on pause.
At that time, I skipped TDD because I wanted to move fast. I told myself, “I’ll add tests later.” Classic.
Fast forward to a few days ago, I finally decided to pick it back up. But when I opened the code, I couldn’t make sense of it.</description></item><item><title>Creational Design Patterns in Golang</title><link>https://jiteshcodes.com/blog/creational-design-pattern-golang/</link><pubDate>Sun, 26 Oct 2025 08:00:19 +0530</pubDate><guid>https://jiteshcodes.com/blog/creational-design-pattern-golang/</guid><description>This is one the first blog in the design pattern series, and in this one, I&amp;rsquo;ll be focusing on the creational design patterns. Creational Design pattern is one of the most intuitive design pattern if you ask me, dealing with the fundamental problem of how do we create objects the right way .
But what is Creational Design Pattern and how does it help me with my work? Creational design pattern is basically an encapsulation hidden from the end user, hiding the implementation details, since for the user, they&amp;rsquo;re only concerned with getting their object instance.</description></item><item><title>Foreign Keys Are Great. Or are they?</title><link>https://jiteshcodes.com/blog/foreign-keys-are-great-or-are-they/</link><pubDate>Sun, 31 Aug 2025 10:42:21 +0530</pubDate><guid>https://jiteshcodes.com/blog/foreign-keys-are-great-or-are-they/</guid><description>Last week I was knee-deep in building the backend for my project. I had just wrapped up the user endpoints and was ready to tackle posts. That&amp;rsquo;s when I made a classic mistake - I jumped straight into coding without doing any proper database modeling or planning.
Here&amp;rsquo;s what I initially threw together:
type User struct { gorm.Model UserTag string `json:&amp;#34;user_tag&amp;#34; gorm:&amp;#34;unique;not null;size:50&amp;#34;` Name string `json:&amp;#34;name&amp;#34;` Password string `json:&amp;#34;-&amp;#34; gorm:&amp;#34;not null&amp;#34;` Email string `json:&amp;#34;email&amp;#34; gorm:&amp;#34;unique;not null&amp;#34;` ProfilePicture string `json:&amp;#34;profile_picture&amp;#34;` GithubUserName string `json:&amp;#34;github_user_name&amp;#34;` } type Rice struct { gorm.</description></item><item><title>Bitwise Operators Are Fast. But Why</title><link>https://jiteshcodes.com/blog/bitwise-operators-are-fast.-but-why/</link><pubDate>Sun, 10 Aug 2025 11:29:39 +0530</pubDate><guid>https://jiteshcodes.com/blog/bitwise-operators-are-fast.-but-why/</guid><description>Some days back I was solving this problem on CodeForces, and I was getting TLE(Time Limit Exceeded) for my solution, even though I knew it shouldn&amp;rsquo;t take too long to run, since I had already optimized my code, after reading the editorial.
The code segment which was taking the most amount of time was this:
for (int i = 0; i &amp;lt; q; i++) { if(x[i] &amp;gt; min_processed) continue; else{ min_processed = min(min_processed, x[i]); for (int j = 0; j &amp;lt; n; j++) { if (a[j] % static_cast &amp;lt; int &amp;gt; (pow(2, x[i])) == 0) a[j] += static_cast &amp;lt; int &amp;gt; (pow(2, x[i] - 1)); } } } After digging more into my solution, I got to know that the pow function was taking longer than I had expected.</description></item><item><title>My First Month on a Mac</title><link>https://jiteshcodes.com/blog/things-i-experienced-while-transitioning-from-linux-to-mac/</link><pubDate>Fri, 04 Jul 2025 19:42:57 +0530</pubDate><guid>https://jiteshcodes.com/blog/things-i-experienced-while-transitioning-from-linux-to-mac/</guid><description>This june, I got my first mac, a mac mini to be precise. And to be honest, I&amp;rsquo;ve always wanted own a mac. You always hear from the mac cultists, how a mac can&amp;rsquo;t be compared with any other computer.
When I first got my hands on the mac, I was&amp;hellip; not very impressed. Like it was the same thing mostly as compared to my linux machine. Also I had riced up my ubuntu environment to look really similar to how a macOS desktop looks.</description></item><item><title>How I Built the BrainrotLang Interpreter in Golang</title><link>https://jiteshcodes.com/blog/how-i-built-the-brainrotlang-interpreter/</link><pubDate>Sun, 22 Jun 2025 19:14:10 +0530</pubDate><guid>https://jiteshcodes.com/blog/how-i-built-the-brainrotlang-interpreter/</guid><description>Last year, when learning about how the LSPs (Language Server Protocol) for different languages work internally, I built this Brainrot LSP, which was a Language Server for brainrot slangs which can be integrated to your neovim config.
And for some reason, now I want to expand on that idea. So I decided to build a full-fledged Brainrot Programming Language Suite!
In this article, I would walk y&amp;rsquo;all through the interpreter for The BrainrotLang.</description></item><item><title>Must Know Vim Commands</title><link>https://jiteshcodes.com/vim_stuff/must-know-vim-commands/</link><pubDate>Wed, 11 Jun 2025 22:50:15 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/must-know-vim-commands/</guid><description>Vim can feel like a boss fight when you&amp;rsquo;re starting out — blinking cursor, no mouse, and zero clues. But once you get past the &amp;ldquo;what even is this&amp;rdquo; phase, it becomes a power tool that makes other editors feel… clunky.
So in this article, I would list down the vim commands which I use THE MOST. Many people on twitter were asking me to make a list of commands I use daily.</description></item><item><title>Walkthrough of My Neovim Config</title><link>https://jiteshcodes.com/vim_stuff/walkthrough-of-my-neovim-config/</link><pubDate>Wed, 16 Apr 2025 21:51:06 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/walkthrough-of-my-neovim-config/</guid><description>Whenever I post my code screenshots, people keep asking me about my neovim setup and how I made it look so beautiful. To be honest, it&amp;rsquo;s not just neovim which makes the screenshot pretty, I&amp;rsquo;ve also riced my ubuntu desktop and somewhat my terminal(the default ubuntu terminal) to maximise aesthetic pleasure of the eyes.
ℹ️ You can find the code for my neovim config on my github.
To get started with my config as your base config, follow this:</description></item><item><title>Are the Hands Holding the Steering Wheel of Your Life Actually Yours?</title><link>https://jiteshcodes.com/musings/are-the-hands-holding-the-steering-wheel-of-your-life-actually-yours/</link><pubDate>Mon, 07 Apr 2025 20:46:15 +0530</pubDate><guid>https://jiteshcodes.com/musings/are-the-hands-holding-the-steering-wheel-of-your-life-actually-yours/</guid><description>I was sitting in an auto rickshaw, heading back to my flat after work. Earphones in. Favorite song playing. Stuck in traffic, like always. Then, suddenly, the battery dies.
Silence.
&amp;ldquo;HOOOOOOONK!!!&amp;rdquo; A horn shatters the quiet. It jolts something in me.
And just like that, a thought I hadn’t let in for months forces its way through.
I’ve been on autopilot.
For the past two months, every day looks the same: Wake up.</description></item><item><title>My Simple Blog Setup That Just Works, and Scales!</title><link>https://jiteshcodes.com/blog/my-simple-scalable-blog-setup-that-just-works/</link><pubDate>Thu, 27 Mar 2025 11:44:25 +0530</pubDate><guid>https://jiteshcodes.com/blog/my-simple-scalable-blog-setup-that-just-works/</guid><description>Ever since I started posting the analytics of my blog, people keep asking me about my blog setup. So I decided to write a blog on it, which you&amp;rsquo;re reading currently haha.
When I decided that I want to start a blog, I was in a dilemma, should I go with platforms like Medium, Hashnode, etc or build my own site. After consulting with many people, I was told a lot of things, like:</description></item><item><title>Making it to Your Second Week in Vim</title><link>https://jiteshcodes.com/vim_stuff/making-to-your-second-week-in-vim/</link><pubDate>Wed, 05 Mar 2025 19:21:30 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/making-to-your-second-week-in-vim/</guid><description>So, you made it through the first week. You’re moving around with hjkl, and you’ve stopped instinctively reaching for your mouse. That’s a win.
But now you’re starting to realize there’s so much more to Vim. And you’re right. The second week is where things get exciting. Let’s take your skills to the next level.
Day 8: Leveling Up Your Movements By now, you’re comfortable with hjkl, w, b, and $, but let’s move even faster.</description></item><item><title>Underneath the Simplicity of SQL</title><link>https://jiteshcodes.com/blog/underneath-the-simplicity-of-sql/</link><pubDate>Sun, 09 Feb 2025 14:39:28 +0530</pubDate><guid>https://jiteshcodes.com/blog/underneath-the-simplicity-of-sql/</guid><description>At first glance, SQL appears deceptively simple: write a query, get results. Yet beneath this straightforward exterior lies an intricate system of optimization, execution, and engineering excellence. Each SQL command initiates a sophisticated process that transforms plain text into efficient database operations.
The Journey of a Query When you write a SELECT statement, you&amp;rsquo;re setting in motion a carefully orchestrated sequence of events:
The parser breaks down your query into a logical structure, checking syntax and preparing it for optimization The query optimizer evaluates multiple execution strategies, considering factors like: Available indexes Table sizes and statistics Join orders and types Memory constraints The execution engine brings the chosen plan to life, coordinating data access, memory management, and result delivery This process, refined over decades of database development, ensures that even complex queries perform efficiently across massive datasets.</description></item><item><title>Surviving First Week With Vim</title><link>https://jiteshcodes.com/vim_stuff/surviving-first-week-with-vim/</link><pubDate>Wed, 29 Jan 2025 19:16:34 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/surviving-first-week-with-vim/</guid><description>So, you’ve finally done it. You’ve taken the leap. You’ve closed VS Code (or maybe it crashed on you one too many times), and you’ve opened Vim. And now… you’re stuck.
Don’t worry—I’ve been there. Everyone has. The first week with Vim feels like you’ve been thrown into the deep end of a pool without knowing how to swim. But don’t panic! If you stick with it, you’ll start to see why so many developers swear by it.</description></item><item><title>The Glass and the Three Who Saw It</title><link>https://jiteshcodes.com/musings/the-glass-and-the-three-who-saw-it/</link><pubDate>Wed, 08 Jan 2025 18:59:10 +0530</pubDate><guid>https://jiteshcodes.com/musings/the-glass-and-the-three-who-saw-it/</guid><description>The optimist looked with eyes aglow,
&amp;ldquo;Half full!&amp;rdquo; he declared, in a hopeful flow.
The pessimist frowned, with a sigh so deep,
&amp;ldquo;Half empty,&amp;rdquo; he murmured, no joy to keep.
They argued and fought over fate&amp;rsquo;s cruel game,
Who was right, who was wrong, who could claim?
The world of their words, so loud, so bright,
Lost in the noise, they missed the bite.
For as they debated, too caught in the fight,</description></item><item><title>The Zen of Vim</title><link>https://jiteshcodes.com/vim_stuff/the-zen-of-vim/</link><pubDate>Wed, 01 Jan 2025 11:47:52 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/the-zen-of-vim/</guid><description>Vim is not just an editor; it is an art form. It is the gentle hum of efficiency wrapped in the rhythm of keystrokes. To use Vim is to embrace simplicity and power, all in the same breath.
Mastery Through Minimalism In Vim, every motion, every command is deliberate. There are no frivolous buttons, no distractions. Just you and the text. This minimalism is not a limitation but a canvas. It invites mastery through practice and creativity.</description></item><item><title>8000 Readers and Counting: My 2024 Blogging Journey</title><link>https://jiteshcodes.com/blog/8-thousand-and-counting-my-2024-blogging-journey/</link><pubDate>Thu, 26 Dec 2024 10:51:07 +0530</pubDate><guid>https://jiteshcodes.com/blog/8-thousand-and-counting-my-2024-blogging-journey/</guid><description>Unexpected. If I could describe my blogging journey with just one word, this would be the word I&amp;rsquo;d use. I did not expect in my wildest dreams that my writing would gather this big of an audience.
Why Did I Start Blogging? If I&amp;rsquo;m being really honest, starting a blog wasn&amp;rsquo;t my own plan. I was lurking in @svs&amp;rsquo;s Discord server and came across this message from him:
&amp;ldquo;It’s a total cheat code.</description></item><item><title>On the Joy of Writing Tests</title><link>https://jiteshcodes.com/blog/on-the-joy-of-writing-tests/</link><pubDate>Sat, 21 Dec 2024 09:52:24 +0530</pubDate><guid>https://jiteshcodes.com/blog/on-the-joy-of-writing-tests/</guid><description>Writing tests is often seen as a chore by many developers. They commonly cite reasons like:
&amp;ldquo;It takes too much time&amp;rdquo; &amp;ldquo;The requirements might change&amp;rdquo; &amp;ldquo;I know my code works&amp;rdquo; &amp;ldquo;Tests are hard to maintain&amp;rdquo; However, these perspectives miss the fundamental value that testing brings to software development. Let&amp;rsquo;s explore why testing should be embraced rather than avoided, especially in Go, which provides excellent testing tools out of the box.</description></item><item><title>Neovim Distros: The Good Parts</title><link>https://jiteshcodes.com/vim_stuff/neovim-distros-the-good-parts/</link><pubDate>Wed, 18 Dec 2024 18:50:58 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/neovim-distros-the-good-parts/</guid><description>Neovim is a code editor with a huge room for customization. Its magic doesn’t lie in what it offers out of the box but in what you can turn it into. With configuration written in Lua, Neovim leaves JSON-based setups (you know what I&amp;rsquo;m talking about) in the dust, opening the door to endless possibilities.
But with this power comes a common pitfall: the overuse—and often misuse—of pre-configured Neovim distributions.</description></item><item><title>Master Normal Mode in Vim</title><link>https://jiteshcodes.com/vim_stuff/master-normal-mode-in-vim/</link><pubDate>Wed, 04 Dec 2024 07:40:04 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/master-normal-mode-in-vim/</guid><description>Vim&amp;rsquo;s Normal mode is the foundation of efficient text editing. Unlike traditional editors where typing immediately inserts text, Vim&amp;rsquo;s modal approach separates navigation and manipulation from insertion. This separation enables incredibly powerful and precise editing capabilities.
Why Normal Mode? Keeps your hands on the home row Provides atomic operations that can be combined Reduces repetitive strain by minimizing hand movement Enables powerful combinations of commands Basic Navigation Character Navigation The fundamental movement keys (hjkl) are your bread and butter:</description></item><item><title>Advent Of Code 2024: My notes</title><link>https://jiteshcodes.com/blog/aoc_2024/</link><pubDate>Sun, 01 Dec 2024 11:10:46 +0530</pubDate><guid>https://jiteshcodes.com/blog/aoc_2024/</guid><description>The aoc_lib package used in these solutions is my own custom helper functions library. You can find the code here. I&amp;rsquo;ll try to post my solutions daily. These are probably not the most optimized solutions. That is not my goal with advent of code honestly, I do these just for fun.
Day 1 Day 1 was pretty straightforward. Just some basic array magic. I don&amp;rsquo;t think the code needs much explanation.</description></item><item><title>Why You SHOULD Try Advent of Code</title><link>https://jiteshcodes.com/blog/why-you-should-try-advent-of-code/</link><pubDate>Sun, 24 Nov 2024 10:56:44 +0530</pubDate><guid>https://jiteshcodes.com/blog/why-you-should-try-advent-of-code/</guid><description>Advent of Code is a yearly series of coding challenges that starts on the 1st of December and runs through to Christmas Day, December 25th. These puzzles are a perfect way to get into the festive spirit while exercising your brain with some fun and challenging problems.
Imagine this: a cozy setup with your favorite hot beverage, holiday music playing softly in the background, and a coding puzzle that ignites your curiosity.</description></item><item><title>Master Insert Mode in Vim</title><link>https://jiteshcodes.com/vim_stuff/master-insert-mode-in-vim/</link><pubDate>Wed, 13 Nov 2024 20:30:49 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/master-insert-mode-in-vim/</guid><description>Vim&amp;rsquo;s insert mode is one of the core ways you&amp;rsquo;ll interact with the text editor, so understanding how to effectively use it is crucial for becoming a Vim power user. In this article, we&amp;rsquo;ll dive deep into mastering insert mode and explore some of the powerful features and techniques you can use to streamline your text editing workflow.
Entering and Exiting Insert Mode The most common way to enter insert mode in Vim is by pressing the i key.</description></item><item><title>Creating a Brainrot Language Server in Golang</title><link>https://jiteshcodes.com/blog/creating-a-brainrot-language-server-in-golang/</link><pubDate>Fri, 08 Nov 2024 09:56:17 +0530</pubDate><guid>https://jiteshcodes.com/blog/creating-a-brainrot-language-server-in-golang/</guid><description>I was reading the language server protocol docs and about json-rpc for collaborating on a new project which will need an LSP server. Since it was getting a little boring to just read so much of documentations and RFCs, I thought of making a small and fun project around LSPs.
🌐 You can find the source code of this project in this github repository What&amp;rsquo;s an LSP? The Language Server Protocol (LSP) is a game-changer in how we build development tools.</description></item><item><title>On Politics</title><link>https://jiteshcodes.com/musings/on-politics/</link><pubDate>Sat, 02 Nov 2024 20:52:30 +0530</pubDate><guid>https://jiteshcodes.com/musings/on-politics/</guid><description>Talking about politics is often like walking a tightrope—one must balance carefully, trying not to be swept away by personal emotions when discussing these topics with friends or family. Politics is inherently complex and often stirs up powerful feelings. No matter how much we try, our personal beliefs inevitably shape our opinions and color our judgment, sometimes in ways we might not even realize.
We all know that politics is controversial.</description></item><item><title>Lua: a Primer for Neovim</title><link>https://jiteshcodes.com/vim_stuff/lua-a-primer/</link><pubDate>Wed, 30 Oct 2024 17:19:38 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/lua-a-primer/</guid><description>One of the most annoying things new neovim users do is skip learning lua and directly jump to &amp;ldquo;writing a config&amp;rdquo;, eventually just yanking and pasting a youtube tutorial&amp;rsquo;s github repository. I know this because I&amp;rsquo;ve been there too.
In this article I&amp;rsquo;ve emphasised more on lua code and have added useful comments in the code blocks itself for easy understanding instead of describing them in paragraphs.
Why Learn Lua? Before diving into configurations and plugin development, understanding Lua gives you several advantages:</description></item><item><title>The Comeback of the Vim Philosophy</title><link>https://jiteshcodes.com/vim_stuff/the-come-back-of-the-vim-philosophy/</link><pubDate>Wed, 16 Oct 2024 19:34:57 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/the-come-back-of-the-vim-philosophy/</guid><description>Vim, or more specifically Neovim, is not what it used to be anymore. Once a tool embraced only by the most dedicated programmers who took great pride in mastering its arcane commands (and rightly so), it has now experienced a renaissance. This resurgence isn&amp;rsquo;t just a comeback; it&amp;rsquo;s a complete transformation of what Vim means to the modern developer.
The Origins: Vim&amp;rsquo;s Humble Beginnings To understand Vim&amp;rsquo;s journey, we need to go back to its roots.</description></item><item><title>Craft Things With Love</title><link>https://jiteshcodes.com/blog/craft-things-with-love/</link><pubDate>Fri, 11 Oct 2024 11:44:15 +0530</pubDate><guid>https://jiteshcodes.com/blog/craft-things-with-love/</guid><description>Crafting with love is about more than just finishing a task. It&amp;rsquo;s about putting your heart into your work, giving it real meaning, and making something that truly connects with yourself. When you&amp;rsquo;re just building to tick a box, it shows - the passion just isn&amp;rsquo;t there. But when you really care about what you&amp;rsquo;re creating, it shines through in every detail.
Let&amp;rsquo;s look at GitHub profiles as an example. Some developers might pin a few projects- maybe a to-do application or something from a course they took - just to have something to show.</description></item><item><title>Text Objects in Vim</title><link>https://jiteshcodes.com/vim_stuff/text-objects-in-vim/</link><pubDate>Wed, 09 Oct 2024 20:24:41 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/text-objects-in-vim/</guid><description>Introduction Vim, renowned for its powerful editing capabilities, offers a feature that sets it apart from other text editors: text objects. While often overlooked, text objects are the key to unlocking Vim&amp;rsquo;s true potential, allowing you to manipulate entire semantic units of text with remarkable precision and speed.
In Vim, text isn&amp;rsquo;t just a series of characters; it&amp;rsquo;s a structured entity composed of words, sentences, paragraphs, and more. By mastering text objects, you&amp;rsquo;ll elevate your editing prowess, whether you&amp;rsquo;re writing code, crafting documentation, or editing any form of text.</description></item><item><title>Master Command Line Mode in Vim</title><link>https://jiteshcodes.com/vim_stuff/master-command-line-mode-in-vim/</link><pubDate>Wed, 02 Oct 2024 17:23:20 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/master-command-line-mode-in-vim/</guid><description>Vim has always been my go-to text editor because of how flexible and powerful it is, especially when it comes to speeding up my workflow. Out of all its modes, I’ve found command-line mode to be a real game-changer. It’s where you can execute more complex tasks, access a whole range of hidden features, and even tweak your editing setup to make it just right for you. In this article, I’ll walk you through what makes command-line mode so special and how you can make the most of it.</description></item><item><title>How I Use fzf to Supercharge My Workflow</title><link>https://jiteshcodes.com/blog/how-i-use-fzf-to-supercharge-my-workflow/</link><pubDate>Sat, 28 Sep 2024 18:19:24 +0530</pubDate><guid>https://jiteshcodes.com/blog/how-i-use-fzf-to-supercharge-my-workflow/</guid><description>I spend most of my time (almost 99%) on my terminal. So obviously whatever I&amp;rsquo;m doing on it should be as fast as possible, requiring me to type as few keystrokes as possible. Although tmux solves a good chunk of this problem, sometimes you&amp;rsquo;ve to navigate between different types of lists a lot within the same terminal window. And that&amp;rsquo;s where fzf shines.
fzf is a command line utility which makes searching files a breeze.</description></item><item><title>Use Marks and Jumps Effectively in Vim</title><link>https://jiteshcodes.com/vim_stuff/use-marks-and-jumps-effectively-in-vim/</link><pubDate>Wed, 25 Sep 2024 09:44:17 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/use-marks-and-jumps-effectively-in-vim/</guid><description>Vim, the powerful text editor, offers a multitude of features to enhance your editing efficiency. Among these, marks and jumps stand out as incredibly useful tools for navigation within files and across your editing session. In this article we&amp;rsquo;ll explore how to effectively use marks and jumps to supercharge your Vim workflow.
Understanding Marks Marks in Vim are like bookmarks in your text. They allow you to quickly jump to specific locations in your file or even across different files.</description></item><item><title>I Was Using AI Tools Wrong and Maybe You're Too</title><link>https://jiteshcodes.com/blog/i-was-using-ai-tools-wrong-and-maybe-youre-too/</link><pubDate>Sat, 21 Sep 2024 11:22:53 +0530</pubDate><guid>https://jiteshcodes.com/blog/i-was-using-ai-tools-wrong-and-maybe-youre-too/</guid><description>&amp;ldquo;This quote is here to trick you into thinking this article is profound.&amp;rdquo;
- Me
AI tools like ChatGPT and Claude are basically the new shiny toys every developer has. When they first rolled out, I wasn’t too interested. But since July of last year, things escalated quickly. I went from “meh, I’ll Google it” to “GPT, save me!” in record time.
The Excitement of AI Assistance When I first gave GPT a spin, it felt like magic.</description></item><item><title>Mastering Vim Buffers, Tabs and Windows</title><link>https://jiteshcodes.com/vim_stuff/buffers-windows-and-tabs-in-vim/</link><pubDate>Tue, 17 Sep 2024 17:04:06 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/buffers-windows-and-tabs-in-vim/</guid><description>Vim offers various ways to manage multiple files and organize your workspace.
Three of the most important concepts for this purpose are buffers, windows, and tabs. While they might seem similar at first glance, they serve distinct purposes and operate differently. This comprehensive guide will explain the differences and relationships between buffers, windows, and tabs in Vim, helping you understand when and how to use each effectively to boost your productivity.</description></item><item><title>Master Vim Visual Mode</title><link>https://jiteshcodes.com/vim_stuff/master-visual-mode/</link><pubDate>Tue, 10 Sep 2024 20:46:04 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/master-visual-mode/</guid><description>Vim&amp;rsquo;s visual mode is a powerful feature that allows you to select and manipulate text visually. This mode bridges the gap between Vim&amp;rsquo;s command-line efficiency and the intuitive nature of graphical text editors. In this article, we&amp;rsquo;ll explore the ins and outs of visual mode, providing you with the knowledge to leverage its full potential.
Basic Visual Mode Operations Entering Visual Mode There are three types of visual mode in Vim:</description></item><item><title>Things Building an Interpreter Taught Me</title><link>https://jiteshcodes.com/blog/things-building-an-interpreter-taught-me/</link><pubDate>Fri, 06 Sep 2024 11:38:57 +0530</pubDate><guid>https://jiteshcodes.com/blog/things-building-an-interpreter-taught-me/</guid><description>Interpreters in computer science are often perceived as magical black boxes – you feed them text, and out comes meaning. I used to share this view until I dug deeper into the subject and built one myself. What I discovered was a world both deceptively simple and incredibly complex, a world where random characters are transformed into executable instructions.
I referred to the excellent book called Writing an Interpreter in Go by Thorsten Ball.</description></item><item><title>Vim Registers</title><link>https://jiteshcodes.com/vim_stuff/vim-registers/</link><pubDate>Tue, 03 Sep 2024 20:30:27 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/vim-registers/</guid><description>Vim, the powerful text editor beloved by many developers, offers a feature that can significantly boost your productivity: registers.
These are like clipboard on steroids, allowing you to store and manipulate text in various ways. In this article, we&amp;rsquo;ll dive deep into Vim registers, exploring how to use them effectively and providing detailed examples of when each type of register can be particularly useful.
What are Vim Registers? Registers in Vim are storage locations where you can save text for later use.</description></item><item><title>Search and Replace</title><link>https://jiteshcodes.com/vim_stuff/search-and-replace/</link><pubDate>Tue, 27 Aug 2024 20:32:40 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/search-and-replace/</guid><description>Search and replace is a powerful feature in vim that can save you a lot of time when editing text. Whether you&amp;rsquo;re working on a single file or across multiple files, vim provides robust tools to find and replace text quickly. In this article, we&amp;rsquo;ll explore the basics of search and replace, as well as some advanced tips to help you make the most of this feature.
But why would one use this when LSPs can do the same thing but better?</description></item><item><title>Stop Shouting at Yourself</title><link>https://jiteshcodes.com/musings/stop-shouting-at-yourself/</link><pubDate>Sun, 25 Aug 2024 15:21:46 +0530</pubDate><guid>https://jiteshcodes.com/musings/stop-shouting-at-yourself/</guid><description>&amp;ldquo;Talk to yourself like you would to someone you love.&amp;rdquo; — Brené Brown
We all have that inner voice—the one that criticizes, doubts, and sometimes judges us harshly. It’s always there, ready to make a big deal out of every mistake or flaw. Recently, I’ve been asking myself: Why am I so tough on myself? And what’s the effect of this constant self-criticism?
This negative self-talk has a big impact.</description></item><item><title>Vim Macros</title><link>https://jiteshcodes.com/vim_stuff/vim_macros/</link><pubDate>Wed, 21 Aug 2024 22:06:42 +0530</pubDate><guid>https://jiteshcodes.com/vim_stuff/vim_macros/</guid><description>Vim macros can seem daunting to many at first glance. However, the truth is, once you unlock their potential, you&amp;rsquo;ll wonder how you ever survived without them. Imagine saving yourself the hassle of repeatedly smashing the dot (.) command—Vim macros make that a reality.
Vim macros take a minute to learn but a lifetime to master. Just keep using macros whenever you feel like you&amp;rsquo;re repeating a lot of commands and watch your productivity skyrocket while text editing!</description></item><item><title>Golang: The quirks</title><link>https://jiteshcodes.com/blog/quirks-of-golang/</link><pubDate>Thu, 15 Aug 2024 18:19:09 +0530</pubDate><guid>https://jiteshcodes.com/blog/quirks-of-golang/</guid><description>Go, also known as Golang, is a popular programming language known for its simplicity and efficiency. However, like any language, it has its share of quirks that can surprise developers. This article explores some of the interesting features and potential gotchas in Go.
1. Unused Variables Are Errors Let&amp;rsquo;s chat about Go&amp;rsquo;s compiler - it&amp;rsquo;s like that friend who always points out the tiniest details in your stories. Sometimes, it feels like it&amp;rsquo;s trying to win a &amp;ldquo;Most Meticulous Code Reviewer&amp;rdquo; award!</description></item><item><title>Notes to Self</title><link>https://jiteshcodes.com/musings/notes-to-self/</link><pubDate>Wed, 07 Aug 2024 20:24:37 +0530</pubDate><guid>https://jiteshcodes.com/musings/notes-to-self/</guid><description>A collection of personal reflections to stay focused on what truly matters. This list is ever-growing, with new insights added as they come. No point in arguing. Accept you’re wrong and move on. Or even better, don’t respond at all. You only have so much time to spare. Don’t waste it arguing with strangers who’ve already decided you’re wrong.
Question everything, but not publicly. Take a day to think before uttering a word.</description></item><item><title>Editor Wars Are Stupid</title><link>https://jiteshcodes.com/blog/editor-wars-are-stupid/</link><pubDate>Sat, 03 Aug 2024 19:10:39 +0530</pubDate><guid>https://jiteshcodes.com/blog/editor-wars-are-stupid/</guid><description>If there&amp;rsquo;s one thing that never fails to make me roll my eyes, it&amp;rsquo;s the endless debate over code editors. You know what I&amp;rsquo;m talking about - those heated arguments where developers passionately defend their chosen editor as if it were the holy grail of coding.
Let me tell you something: it&amp;rsquo;s all nonsense.
Think about it. We&amp;rsquo;re all different, right? We have different coding styles, different projects, different ways of thinking.</description></item><item><title>Breaking the Rear View Mirror</title><link>https://jiteshcodes.com/musings/breaking-the-rear-view-mirror/</link><pubDate>Tue, 30 Jul 2024 19:13:12 +0530</pubDate><guid>https://jiteshcodes.com/musings/breaking-the-rear-view-mirror/</guid><description>&amp;ldquo;I miss my old self, who could focus on things for much longer, who didn&amp;rsquo;t get swayed by his emotions at every little pushback, who knew a brighter future is awaiting ahead.&amp;rdquo;
This has been going on in my mind for some weeks, months actually. No matter what I&amp;rsquo;m doing, I start thinking in the middle of it, of what could&amp;rsquo;ve been, if things had worked out the way I wanted them to.</description></item><item><title>HTTP Digest Authentication</title><link>https://jiteshcodes.com/blog/http-digest-authentication/</link><pubDate>Mon, 29 Jul 2024 12:57:21 +0530</pubDate><guid>https://jiteshcodes.com/blog/http-digest-authentication/</guid><description>HTTP Digest Authentication is a more secure method for a client to authenticate with a server compared to the more basic HTTP Basic Authentication. It employs a challenge-response mechanism where the client proves its knowledge of the password without actually sending the password in plain text over the network.
How HTTP Digest Authentication Works The digest authentication process can be broken down into several steps:
Initial Request: The client attempts to access a protected resource on the server without any authentication information.</description></item><item><title>On Luck and Privilege</title><link>https://jiteshcodes.com/musings/on-luck/</link><pubDate>Sat, 13 Jul 2024 18:14:55 +0530</pubDate><guid>https://jiteshcodes.com/musings/on-luck/</guid><description>They let me pick. Did I ever tell you that? Choose whichever Spartan I wanted. I watched as you became the soldier we needed you to be. Like the others, you were strong and swift and brave. A natural leader. But you had something they didn&amp;rsquo;t. Something no one saw but me. Can you guess? Luck.
- Cortana, Halo 3
Ask any successful person about the secret to their success, and you&amp;rsquo;ll likely hear words like passion, hard work, skill, focus, and having great ideas.</description></item><item><title>TCP Performance Considerations</title><link>https://jiteshcodes.com/blog/tcp-performance/</link><pubDate>Fri, 12 Jul 2024 18:44:34 +0530</pubDate><guid>https://jiteshcodes.com/blog/tcp-performance/</guid><description>HTTP is the language of the internet. And it is layered directly on top of TCP, so the performance of HTTP calls depends directly on the performance of the underlying TCP.
This article highlights some significant performance considerations of TCP connections. You&amp;rsquo;ll better appreciate HTTP&amp;rsquo;s connection optimization features after understanding these basic performance characteristics of TCP.
HTTP Transaction Delays There are several possible causes of delay in an HTTP transaction:</description></item><item><title>Hands on ML Book Review</title><link>https://jiteshcodes.com/blog/hands-on-ml-review/</link><pubDate>Sat, 22 Jun 2024 21:17:57 +0530</pubDate><guid>https://jiteshcodes.com/blog/hands-on-ml-review/</guid><description>I&amp;rsquo;ve heard so much about &amp;ldquo;Hands-On Machine Learning&amp;rdquo; as the go-to book for beginners in ML. I first picked it up in January but didn&amp;rsquo;t get far. Now, though, I&amp;rsquo;m giving it another shot and committing to finishing it. Today, on June 8th, I&amp;rsquo;m starting to document this journey, which will end up in a blog post review of the book that you&amp;rsquo;re reading now :)
Jumping Right In What&amp;rsquo;s super cool is that the author doesn&amp;rsquo;t waste time spoon-feeding you theory.</description></item><item><title>On Writing Usefully</title><link>https://jiteshcodes.com/musings/to-write-usefully/</link><pubDate>Mon, 10 Jun 2024 20:14:07 +0530</pubDate><guid>https://jiteshcodes.com/musings/to-write-usefully/</guid><description>One of the things I&amp;rsquo;ve heard many people say, is to write usefully. They say write stuff which people would find useful for their lives, and therefore want to read more. Sure that&amp;rsquo;s a way to increase readership for your work, but that shouldn&amp;rsquo;t influence one&amp;rsquo;s writings. Drawing imaginary boundaries in your head is one of the worst things you can do.
Knowing that there are real people who actually read my writings sometimes makes me want to write a particular kind of things, which I may like or not.</description></item><item><title>The Everlasting Feeling of Being Mid</title><link>https://jiteshcodes.com/musings/the-everlasting-feeling-of-being-mid/</link><pubDate>Sat, 08 Jun 2024 20:14:48 +0530</pubDate><guid>https://jiteshcodes.com/musings/the-everlasting-feeling-of-being-mid/</guid><description>One of the worst mistakes I&amp;rsquo;ve been doing all my life, is, being ambitious but in the wrong way. Being ambitious, means to strive for greater heights, but I failed to consider the time factor it takes. I thought I can&amp;rsquo;t achieve the said goal in, say a month or two, then I&amp;rsquo;m just not built for it.
For the longest time, the fear of being perceived as a midwit, or someone of mediocre intelligence, had stopped me from posting my work or thoughts online.</description></item><item><title>The Privilege of Having an Opinion</title><link>https://jiteshcodes.com/musings/the-privilege-of-having-an-opinion/</link><pubDate>Tue, 04 Jun 2024 11:49:15 +0530</pubDate><guid>https://jiteshcodes.com/musings/the-privilege-of-having-an-opinion/</guid><description>2 days back, I stumbled upon a post on twitter, stating that &amp;ldquo;Most &amp;lt;x political ideology&amp;gt; people are kids or people who haven&amp;rsquo;t achieved much in their lives&amp;rdquo;. And that got me thinking. Is that really, the truth?
One thing the poster failed to realise is that it is safe for them to express their opinions, because their opinion is what&amp;rsquo;s currently acceptable to believe. So they think it must be the case for every person out there.</description></item><item><title>Unique ID Generator</title><link>https://jiteshcodes.com/blog/unique-id-generator/</link><pubDate>Thu, 30 May 2024 21:37:51 +0530</pubDate><guid>https://jiteshcodes.com/blog/unique-id-generator/</guid><description>System Design of a Unique ID Generator Requirements Before diving into the design, let’s outline the key requirements for our unique ID generator:
Uniqueness: Every ID must be unique. Scalability: The system should be able to handle a large number of ID generation requests. Low Latency: ID generation should be fast. Fault Tolerance: The system should handle failures gracefully. High-Level Design We can achieve these requirements using a distributed system architecture.</description></item><item><title>Break the Blackbox</title><link>https://jiteshcodes.com/musings/break-the-blackbox/</link><pubDate>Wed, 29 May 2024 20:07:59 +0530</pubDate><guid>https://jiteshcodes.com/musings/break-the-blackbox/</guid><description>The last decade has seen rapid changes in the tech landscape. The State-of-the-Art tech has been advancing itself every passing month.
One of the best things to come out of this is the advancement of the Developer tools. But tools are only as good as the craftsman wielding them.
Now it&amp;rsquo;s easier than ever to make progress in tech without knowing the internal working of most things. You can just treat anything as a Blackbox and get done with your work.</description></item><item><title>Why to Write</title><link>https://jiteshcodes.com/musings/why-to-write/</link><pubDate>Tue, 28 May 2024 19:36:46 +0530</pubDate><guid>https://jiteshcodes.com/musings/why-to-write/</guid><description>It&amp;rsquo;s been almost 2 months since I started writing blogs and sharing it online. Although at the beginning I started just for the sake of writing online. But after writing consistently for 2 months and 23 articles in, I now feel that there&amp;rsquo;s this kind of thinking which can be exercised only by writing.
You might think that while writing, people just think something and then pen it down, but you&amp;rsquo;d be wrong.</description></item><item><title>How To Last Longer in Head</title><link>https://jiteshcodes.com/musings/how-to-last-longer-in-head/</link><pubDate>Sun, 26 May 2024 19:14:04 +0530</pubDate><guid>https://jiteshcodes.com/musings/how-to-last-longer-in-head/</guid><description>Having a short attention span makes it difficult to get things done. You might start an important project, but then get sidetracked checking Instagram or replying to a text message. Before you know it, hours have gone by and you haven&amp;rsquo;t made much progress.
With all the digital distractions these days, Attention Span has become a currency whose exchange rate has never been higher.
You must have searched the web, desperately trying to find a one-size-fits-all formula to get better at focusing.</description></item><item><title>Mute, Block Even</title><link>https://jiteshcodes.com/musings/mute-block-even/</link><pubDate>Sat, 25 May 2024 21:27:11 +0530</pubDate><guid>https://jiteshcodes.com/musings/mute-block-even/</guid><description>There would be times, when you would see a post or a comment on Twitter, where you would really want to meet the person who posted it and punch them in their face. But alas, you can only reply to their post. But before you hit the SEND button, think, do you really want to feed the algorithm to show more similar things like this?
Twitter algorithm, like most social media platforms, is programmed to push whatever will get the most engagement from you, be it likes, comments or retweets.</description></item><item><title>Delude yourself to Greatness</title><link>https://jiteshcodes.com/musings/delulu-is-the-solulu/</link><pubDate>Thu, 23 May 2024 16:00:29 +0530</pubDate><guid>https://jiteshcodes.com/musings/delulu-is-the-solulu/</guid><description>One of the weird things I&amp;rsquo;ve witnessed in the tech world, is the skill-to-courage ratio in people. Contrary to popular belief, skill is still in abundance. What&amp;rsquo;s scarce though, is the belief in one&amp;rsquo;s own abilities.
The worst thing one can do, is to doubt themselves. You have to delude yourself everyday, that you can achieve anything you put your mind and soul to.
The amount of opportunities you can get just by being confident in yourself and putting your work out there, is unreal.</description></item><item><title>Roadmapping Your Way to Mediocrity</title><link>https://jiteshcodes.com/musings/roadmapping-your-way-to-mediocrity/</link><pubDate>Wed, 22 May 2024 18:21:22 +0530</pubDate><guid>https://jiteshcodes.com/musings/roadmapping-your-way-to-mediocrity/</guid><description>Tech, unlike other fields, changes its landscape every passing day. You can never tell what&amp;rsquo;s trending today will live to see the face of tomorrow or not.
Every other week, a person will emerge with their new shiny &amp;ldquo;Roadmap&amp;rdquo; of any particular domain in tech. Although the intention is right, these Roadmaps often over-simplify the complexity and dynamic nature of the tech ecosystem.
No matter how much one tries to bring order to this chaotic tech world, they fall flat on their face every single time.</description></item><item><title>The Keyboard Is Mightier Than the Pen</title><link>https://jiteshcodes.com/musings/the-keyboard-is-mightier-than-the-pen/</link><pubDate>Tue, 21 May 2024 19:55:34 +0530</pubDate><guid>https://jiteshcodes.com/musings/the-keyboard-is-mightier-than-the-pen/</guid><description>Whether you like it or not, Computers are now an integral part of our lives. But is this for the better? That&amp;rsquo;s a discussion for another day.
And to make the most out of your computer, your hand needs to becomme one with our keyboard. Learning the tools at your disposal really makes a huge difference. I&amp;rsquo;ve covered how to get faster at typing in one of my previous posts.</description></item><item><title>To Do, or to Be Perceived as Someone Who Does</title><link>https://jiteshcodes.com/musings/to-do-or-to-be-perceived-as-someone-who-does/</link><pubDate>Mon, 20 May 2024 10:02:19 +0530</pubDate><guid>https://jiteshcodes.com/musings/to-do-or-to-be-perceived-as-someone-who-does/</guid><description>Internet, like in real life, is filled with grifters, i.e. People who portray themselves as someone they aren&amp;rsquo;t.
Following the &amp;ldquo;Fake it till you make it&amp;rdquo; mindset, is a double edged sword, depending on the person. On one hand, it can motivate you to push your limits, on the other hand, it can lead to dishonesty and false pride in yourself.
The dopamine hit you get on your posts, makes it very lucrative to only post a particular kind of content, whether you genuinely enjoy it or not.</description></item><item><title>Triumph of the Nerds</title><link>https://jiteshcodes.com/musings/triumph-of-the-nerds/</link><pubDate>Sun, 19 May 2024 19:18:38 +0530</pubDate><guid>https://jiteshcodes.com/musings/triumph-of-the-nerds/</guid><description>The term &amp;lsquo;Nerd&amp;rsquo;, originally coined as a slur for overly intellectual, socially awkward individuals, is now worn as a badge of honor, but why?
You might think that the present-day nerds are somewhat evolved from their former counterparts, but you&amp;rsquo;d be wrong. The essence of being a nerd is still the same, what has changed is our perception of them.
What&amp;rsquo;s changed now, is that we can see the output of their nerdiness in real time, thanks to the internet boom.</description></item><item><title>How to Twitter</title><link>https://jiteshcodes.com/musings/how-to-twitter/</link><pubDate>Sat, 18 May 2024 19:05:45 +0530</pubDate><guid>https://jiteshcodes.com/musings/how-to-twitter/</guid><description>For the longest time since I had created my twitter account, the only thing which I did was retweet and like. The reason I had created my account was to &amp;ldquo;Learn in public&amp;rdquo;. And that&amp;rsquo;s what I did in my initial days at twitter. Started doing the #100DaysOfCode challenge. Learnt a bunch of things from this. But after this ended, so did my twitter posts.
I didn&amp;rsquo;t know what to post.</description></item><item><title>Imposter Syndrome or Skill Issue</title><link>https://jiteshcodes.com/musings/imposter-syndrome-or-skill-issue/</link><pubDate>Fri, 17 May 2024 18:59:37 +0530</pubDate><guid>https://jiteshcodes.com/musings/imposter-syndrome-or-skill-issue/</guid><description>Whenever I see a youngling posting their project on twitter, it makes me wonder, why have I not done this myself ever? Do I just not have it in me what it takes to build good products?
Or I do have it in me but just don&amp;rsquo;t realise it. Whatever the reason is, the fact remains that I haven&amp;rsquo;t done anything worth noticing.
So what can I do to solve this issue?</description></item><item><title>The Perceptron</title><link>https://jiteshcodes.com/blog/perceptron/</link><pubDate>Fri, 17 May 2024 15:43:31 +0530</pubDate><guid>https://jiteshcodes.com/blog/perceptron/</guid><description>The perceptron is a foundational concept in machine learning, representing the simplest type of artificial neural network. This article explores the perceptron model, its functionality, and its significance in the world of Machine learning.
Introduction to the Perceptron The perceptron, developed by Frank Rosenblatt in 1957, is a type of linear classifier used for binary classification tasks. It is the basis of more complex neural networks and deep learning models.</description></item><item><title>The Curse of Dimensionality</title><link>https://jiteshcodes.com/blog/the-curse-of-dimensionality/</link><pubDate>Wed, 08 May 2024 15:15:29 +0530</pubDate><guid>https://jiteshcodes.com/blog/the-curse-of-dimensionality/</guid><description>As the number of features or dimensions grows in a dataset, the effectiveness of many machine learning algorithms can suffer from an issue called the &amp;ldquo;curse of dimensionality.&amp;rdquo; This problem is particularly prevalent for instance-based algorithms like K-nearest neighbors (KNN).
The KNN algorithm relies on calculating the distances between data points to determine which points are nearest neighbors.
In low dimensional spaces like 2D or 3D, the concepts of distance and neighborhood are relatively straightforward.</description></item><item><title>The Serenity of Matri Mandir</title><link>https://jiteshcodes.com/musings/the-serenity-of-matri-mandir/</link><pubDate>Tue, 07 May 2024 21:43:05 +0530</pubDate><guid>https://jiteshcodes.com/musings/the-serenity-of-matri-mandir/</guid><description>In the heart of Auroville, a township dedicated to Human Unity, stands Matri-Mandir, a monument that represents &amp;ldquo;The Mother&amp;rdquo;. This is not just an architectural wonder but a gateway to inner peace and spiritual awakening.
The inception of Auroville traces back to the spiritual vision of the Indian philosopher and guru Sri Aurobindo and his partner, known as &amp;ldquo;The Mother&amp;rdquo;. The Mother dreamed of establishing a universal township unlike anywhere else on earth - a place where people from all nations could live together in peace while undertaking an experiment in human unity and evolution.</description></item><item><title>Why to Use Tmux</title><link>https://jiteshcodes.com/blog/why-to-use-tmux/</link><pubDate>Tue, 30 Apr 2024 16:22:06 +0530</pubDate><guid>https://jiteshcodes.com/blog/why-to-use-tmux/</guid><description>1. Introduction tmux (Terminal Multiplexer) is a powerful terminal utility that allows you to create multiple terminal sessions, split windows, and detach and reattach sessions with ease. It&amp;rsquo;s a game-changer for anyone who works heavily in the terminal, providing a robust environment for multitasking, remote server management, and efficient workflow.
Benefits of using tmux Persistent sessions: Detach and reattach sessions, ensuring your work is never lost Efficient window and pane management: Split your terminal into multiple windows and panes Enhanced productivity: Streamline your workflow by running multiple commands simultaneously Remote session sharing: Share sessions with other users for collaboration or pair programming A Brief overview of its features tmux offers a wide range of features, including window and pane management, customizable status bars, key bindings, plugins, and more.</description></item><item><title>Do We Really Know Ourselves?</title><link>https://jiteshcodes.com/musings/do-we-really-know-ourselves/</link><pubDate>Mon, 29 Apr 2024 18:01:41 +0530</pubDate><guid>https://jiteshcodes.com/musings/do-we-really-know-ourselves/</guid><description>One of the most haunting realisations I&amp;rsquo;ve had about myself recently is that I&amp;rsquo;ve let my work define me too much all my life. Like, barring some very close friends, none could pinpoint anything about my personality.
If you&amp;rsquo;d asked anyone from my class about me, the most they could tell about me was that &amp;ldquo;Jitesh likes reading a lot&amp;rdquo;. That&amp;rsquo;s it. Although it&amp;rsquo;s not the people&amp;rsquo;s perception about me what&amp;rsquo;s bothering me, but the fact that I don&amp;rsquo;t do much apart from my work is troubling me a lot now.</description></item><item><title>Hierarchical Indexing in Pandas</title><link>https://jiteshcodes.com/blog/hierarchical-indexing-in-pandas/</link><pubDate>Thu, 25 Apr 2024 11:56:07 +0530</pubDate><guid>https://jiteshcodes.com/blog/hierarchical-indexing-in-pandas/</guid><description>Working with high-dimensional or categorized data can be a complex and challenging task, but Pandas provides a powerful tool to simplify this process: hierarchical indexing.
Hierarchical indexing, also known as multi-level or multi-indexed indexing, allows you to create and manipulate indexes with multiple levels or dimensions, providing a more intuitive and organized way to structure, access, and analyze your data.
This indexing technique is particularly useful when dealing with datasets that contain multiple levels of categorization or grouping, such as data from different regions, periods, or product categories.</description></item><item><title>Activation Function and Loss Functions in Neural Networks</title><link>https://jiteshcodes.com/blog/activation-function-and-loss-functions-in-neural-networks/</link><pubDate>Fri, 19 Apr 2024 20:52:26 +0530</pubDate><guid>https://jiteshcodes.com/blog/activation-function-and-loss-functions-in-neural-networks/</guid><description>Activation Functions in Neural Networks Activation functions are a crucial component of artificial neural networks, serving as the mathematical operation that determines the output of a node or neuron. They introduce non-linearities to the network, allowing it to learn complex patterns and relationships within the data.
1. Sigmoid Function Sigmoid function, also known as the logistic function. This function squashes input values between 0 and 1, making it a popular choice for the output layer in binary classification problems.</description></item><item><title>So You Think You Know Git?</title><link>https://jiteshcodes.com/blog/so-you-think-you-know-git/</link><pubDate>Mon, 15 Apr 2024 14:39:34 +0530</pubDate><guid>https://jiteshcodes.com/blog/so-you-think-you-know-git/</guid><description>This article is just about my learnings from the talk So you Think you know Git.
One might think that everything there is to know about Git has already been covered, but that would be wrong. Even today, the Git codebase is seeing around 9 commits per day and 10,000 commits in the last 3 years. That means there are still plenty of new things being added to Git that you might not know about.</description></item><item><title>The Trap of Knowing What You Want</title><link>https://jiteshcodes.com/musings/the-trap-of-knowing-what-you-want/</link><pubDate>Wed, 10 Apr 2024 14:27:45 +0530</pubDate><guid>https://jiteshcodes.com/musings/the-trap-of-knowing-what-you-want/</guid><description>In our world, we often think that finding our passion and purpose is the key to being happy. But this can actually be a trap. Many people think they know what they want, and they chase after those things, believing they will finally feel satisfied. But then they end up feeling lost and unfulfilled anyway.
Having a clear idea of what you desire can be powerful. But we have to be careful, because this mindset also has its limits.</description></item><item><title>Making and Losing Friends</title><link>https://jiteshcodes.com/musings/making-and-losing-friends-in-life/</link><pubDate>Sat, 06 Apr 2024 15:47:15 +0530</pubDate><guid>https://jiteshcodes.com/musings/making-and-losing-friends-in-life/</guid><description>Friends are the one thing that can change the outlook of anything that is happening in our lives. Having their mere presence can amplify any happiness.
Growing up as a kid whose father worked in the Indian Air Force, I had to switch cities a lot. While it meant I got to make new friends every 3-5 years, it also meant losing most of my friends whenever I changed places. Each new transfer meant saying goodbye to old friends and diving into a new adventure.</description></item><item><title>Papers</title><link>https://jiteshcodes.com/shelf/papers/</link><pubDate>Sun, 31 Mar 2024 16:20:40 +0530</pubDate><guid>https://jiteshcodes.com/shelf/papers/</guid><description>Attention is all you need
Pre-train, Prompt and Recommendation: A Comprehensive Survey of Language Modelling Paradigm Adaptations in Recommender Systems
MapReduce: Simplified Data Processing on Large clusters
Implementation blog post
The Tail at Scale
Implementation blog post</description></item><item><title>How I Learned to Type 150+ WPM</title><link>https://jiteshcodes.com/blog/how-i-learned-to-type-fast/</link><pubDate>Fri, 29 Mar 2024 16:25:00 +0530</pubDate><guid>https://jiteshcodes.com/blog/how-i-learned-to-type-fast/</guid><description>In this article I&amp;rsquo;m going to write about a topic very close to my heart, which is &amp;ldquo;How I Learned to type Faster&amp;rdquo;. Typing fast has been a game changer for me, and I believe anyone who types fast can become at least twice as productive as they already are.
But why bother to type fast? 1. It just really impresses people When people see me typing while coding, the single biggest compliment I&amp;rsquo;ve got is &amp;ldquo;Wow!</description></item><item><title>Hash Tables Primer: The Ins and Outs of Efficient Key-Value Storage</title><link>https://jiteshcodes.com/blog/the-ins-and-outs-of-hash-tables/</link><pubDate>Tue, 26 Mar 2024 17:00:00 +0530</pubDate><guid>https://jiteshcodes.com/blog/the-ins-and-outs-of-hash-tables/</guid><description>Hash Tables are one of the most used Data structures, they&amp;rsquo;re so popular that almost every language has their own implementation and nomenclature of Hash Tables.
One very interesting fact about Hash Tables is that they&amp;rsquo;re also used as building blocks for:
Classes and its members Variable lookup table As we can see, Hash Tables are not just used in the business case of any application, but it&amp;rsquo;s also used in the inner working of any programming language.</description></item><item><title>Why I use Vim and why you should too</title><link>https://jiteshcodes.com/blog/why-i-use-vim-and-why-you-should-too/</link><pubDate>Wed, 20 Mar 2024 07:00:00 +0530</pubDate><guid>https://jiteshcodes.com/blog/why-i-use-vim-and-why-you-should-too/</guid><description>VIM or Vi Improved, is a free and open-source text editor for the terminal written by Bram Moolenaar. It is a highly powerful and versatile text editor that has managed to gather a devoted following among many people. Known for its efficiency, speed, and extensive customization options, Vim offers a unique modal editing approach that distinguishes it from traditional text editors.
Although I was familiar with Vim since 2020, I never thought of actually using it.</description></item><item><title>Hyperparameter Tuning and Ensembling</title><link>https://jiteshcodes.com/blog/ensembling-and-hyperparameter-tuning/</link><pubDate>Sat, 16 Mar 2024 17:56:43 +0530</pubDate><guid>https://jiteshcodes.com/blog/ensembling-and-hyperparameter-tuning/</guid><description>Ensembling, a powerful technique in machine learning, has gained widespread popularity for its ability to significantly enhance predictive performance. By combining the predictions of multiple individual models, ensembles can often achieve better results than any single model alone. However, to fully leverage the potential of ensembling, it&amp;rsquo;s crucial to fine-tune the hyperparameters of the underlying base models.
Hyperparameter tuning involves searching for the optimal combination of model parameters that maximizes performance metrics such as accuracy or F1 score.</description></item><item><title/><link>https://jiteshcodes.com/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jiteshcodes.com/about/</guid><description>[~]$ whoami Hi, I&amp;rsquo;m Jitesh!
Welcome to my blog, where I document my learning journey and share it to the world.
Archive page lists all posts in chronological order.
You can also search by keywords using the Search or Tags pages.
Recent Projects Brainrot Language Server built using Golang. Blog post
Interpreter written in Golang. Blog post
MapReduce Implementation written in Golang. Blog post
Autograd engine written in Dart</description></item><item><title/><link>https://jiteshcodes.com/donate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jiteshcodes.com/donate/</guid><description> Support My Writing If my articles helped you or made your day a bit better, here’s a small way to support my work. Scan/Tap this UPI QR: sahookumarjitesh@okaxis OR</description></item><item><title>Collaborate with me</title><link>https://jiteshcodes.com/collab/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jiteshcodes.com/collab/</guid><description>This blog publishes in-depth technical articles on systems programming, distributed systems, and developer tooling. Written for engineers who build real things. Every article is a deep-dive, not a fluff piece. Readers are curious, technically sophisticated, and actively researching tools to improve their workflows.
Whether you&amp;rsquo;re building a DevOps platform, a developer tool, or a cloud service, this is an audience that evaluates, adopts, and evangelizes products they trust.
Who Reads This Blog The readership is not a general tech audience.</description></item><item><title>Food I cooked</title><link>https://jiteshcodes.com/food/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jiteshcodes.com/food/</guid><description>Shin Ramyun
× Pan fried chicken and brocolli with rice
× Spaghetti with Korean fried chicken
× White sauce pasta
× Butter chicken
× Prawn roast with rotis
× Chilli soyabean with malabar parotta
× Peri peri chicken popcorn
× Chicken curry with rice and jalebis
× Rajma Chawal
× Overnight chocolate protein oats
× Garlic chilli spaghetti
× Honey chilli and regular chicken tenders
× Paneer Bhurji and Rotis</description></item><item><title>Graph View</title><link>https://jiteshcodes.com/graph/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jiteshcodes.com/graph/</guid><description>graph</description></item><item><title>Hotwheels</title><link>https://jiteshcodes.com/hotwheels/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jiteshcodes.com/hotwheels/</guid><description>A small collection of Hot Wheels and die-cast cars I’ve picked up over time.
Ferrari SF90 Stradale Assetto Fiorano
× Tesla Cybertruck
× Ferrari F50
× 32 Ford
× Ford Mustang Dark Horse
× 1971 Chevrolet Camaro Z/28
× Mercedes Evolution
× Bugatti Chiron
× 90 Acura NSX
× Cougar Eliminator
× Gordon Murray Automotive T.50s
× McLaren P1
× McLaren F1
× GT Scorcher
× Transformers Bumblebee(Volkswagen Beetle)
× Ford GT40</description></item><item><title>Sponsor</title><link>https://jiteshcodes.com/sponsor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jiteshcodes.com/sponsor/</guid><description>Key Metrics Metric Value Lifetime Page Views 81,705 Total Sessions 52,430 Unique Visitors 37,906 Engagement Rate 82.1% Peak Monthly Active Users 15,027 Current Monthly Active Users 5,383 Scroll Rate 34.8% #1 Country 🇺🇸 United States #2 Country 🇮🇳 India #3 Country 🇬🇧 United Kingdom Google Analytics · March 2024 – March 2026
Top Performing Content Article Views Implementing MapReduce in Golang 13,456 Implementing The Tail at Scale in Golang 6,625 I Built Google Bigtable in Go: One File, Zero Dependencies 3,421 Creating a Brainrot Language Server in Golang 2,575 HTTP Digest Authentication 1,887 I Built Google File System in Go: One File, Zero Dependencies 1,251 How I Learned to Type 150+ WPM 923 Mastering Vim Buffers, Tabs and Windows 879 The top post alone, Implementing MapReduce in Golang, has driven 13,456 views, making it one of the most-read independent Go engineering articles online.</description></item></channel></rss>