2026-07-16• 1057 words • 5 minutes#cs#concepts

Why Neovim in the Age of Agentic Coding?

Introduction

I've been writing code for about 4 years now. In that time, I started like any CS student, with VSCode. If I wanted to write code, I'd type it like any other text. If I wanted to run my code, I'd hit a shortcut and VSCode would run it. I didn't really understand how the code worked. I just knew it ran.

How Neovim and I met

2026-07-12• 3411 words • 17 minutes#cs#concepts

Enter the Arena

Why do we use Python? JavaScript? Java? Dart? Any first-year CS student can tell you these languages are slow compared to languages like C. If we want our software to run as fast as possible, why do we use these languages at all when we could just use C++ for everything?

The answer is simple: ease of use. These languages are very easy to use, their syntax is simple, they read almost like English, they're usually portable, and, most importantly, they're garbage collected.

2026-03-23• 2374 words • 12 minutes#math

Imaginary Numbers Are Real

Math as a field has existed since the beginning of history. From the moment humanity started building civilization, numbers existed, but not all the numbers we know today existed. We started with the integers: 1,2,3,4,5,...1, 2, 3, 4, 5, ...

These numbers were enough until we started running into problems calculating ratios. Around that time, fractional numbers, Fractions, came into existence to solve some of the problems we were facing.

2026-03-13• 62 words • 1 minutes#math

Vector Fields

One of the most beautiful concepts in mathematics in general, and in vector calculus in particular, is vector fields. Vector fields represent many things: gravity, electromagnetic fields, and neural networks.

Play around with the tool below. Try different numbers and see what results you get. You can choose from the presets if you need some inspiration.

2026-03-06• 365 words • 2 minutes#math

Euler's Number

Imagine you have a coin, and I tell you, "Give me this coin, and in a year I’ll give you 100%100% of the value you put in." That means in a year, you’ll get another coin.

So after a year, you’ll have 1+11 + 1 coins. Now, if I told you I wouldn’t give you the full 100%100% right away, but would give you 50%50% after 6 months, and another 50%50% after another 6 months, how much would you have after a year?

After 6 months, you’ll have

1×1.5=1.51 \times 1.5 = 1.5

And after the next 6 months, you’ll have

1.5×1.5=2.251.5 \times 1.5 = 2.25

2025-08-10• 954 words • 5 minutes#concepts

The Memory Canister is Leaking

Since most of the languages we use have some form of garbage collection, very few people actually think about memory in a practical way. Who cares when you call new Foo()?

You’re right. If you’re using a language like Java or Go, you probably don’t think about it much. However, if you’re using C++, it’s a different story. Any heap allocation you make with new must be freed with delete. It’s simple, right? When I’m done with something, I delete it!

2025-08-09• 1054 words • 5 minutes#tech

Hello World!

If a hammer is all you have, everything looks like a nail

This will probably be the first post on this blog.

If you ask most people to build a simple website, they’ll slowly gravitate toward React[^1], Angular, Vue, or one of the million other frameworks currently available.

Honestly, when I first thought about starting this blog, I turned to what I knew best: React. But then I thought about it a bit more and remembered reading about Astro. It’s designed for static sites, the kind that don’t require much interactivity.

Before I started, I had a few specific requirements: