Programming
Budget and finance tracking for me has always been a pain point. I've tried everything from google sheets to hledger but nothing really stuck. Because manually adding entries everyday is annoying, be it daily, weekly or monthly. So I built a pipeline to process my SMSs and update it automatically in a budget tracker. This is the story of that project.
Everyone always asks me, “don't you feel cold?” when they see me in 10C wearing just a T-shirt. And my answer is “cold showers” to get the convo over quickly. But the real answer is nuanced. I choose to feel cold.
The year of the linux desktop is finally here. Or is it? It's been a meme for years now. But for me personally, 2025 was my year of the linux desktop. I switched from Mac to Linux on my main working machine. And I switched from windows to linux on my main gaming rig. The only copy of windows I have is in a 50GB VM, in case of emergencies.
I like my blog, but writing blogs ia a slightly tedious process. I like to refine my thoughts and edit my thoughts and only post about completeled projects here. But I also want to write stuff on the side, which is how the idea of microblog came to me. And since I got my new phone, I wanted to focus on photography, so I started photoblog as well.
With my newfound enthusiasm of working with LLMs, I end up doing a lot of feature creep and scope changes, which may or may not even be useful (am I product manager now?). What I wanted to limit this creep is to use timers to keep myself accountable.
Set up Pi-hole on your home network, enter custom DNS records, and save mental bandwidth by not remembering obscure IP addresses and ports.
Allow access to your home server through the internet without needing a static IP or even being behind a NAT!
Do you want to set up a webserver but your ISP forces a NAT onto you? Or perhaps you don't have a static IP and don't want to use a dynamic DNS service. Lucky for you, this guide has you covered.
So I hate doing manual entries in my notebook or excel sheet (or even the app that I semi-built for expense tracking). And these days 99% of my transactions are digital and happen from my daily use account which is with ICICI bank. So if I could somehow get my transaction history, I can just auto add stuff to my tracker which can be edited/sorted in categories later. But of course, nothing is as easy as it seems.
The python prototype for AES took 12 seconds to encrypt a 120KB file (~0.1MB/s). I am throughly unimpressed by that and its time to try to write it in rust. Spoilers, but it was able to encrypt a 1.09GB file in 20 seconds (>50MB/s). That is more than 500x faster. And that's just on a single thread.
Now that we know the basics on AES, it's time to implement the concepts in python. By the end of this, we should be able to take in any arbitrary file as input along with a key and return an encrypted file which should be able to decrypted back to the original.
I was scrolling through YouTube when I came across a video by Spanning Tree where they explained the AES algorithm. And after watching it, my brain was like this seems easy enough, I can do it. But before I can code it, I need to understand it. It's time to dive into the concepts of AES and how it works.
Creating this blog, which is built upon the corpses of its predecessors took a lot longer than I originally anticipated. Considering how many times I have rebooted my blog, I should be an expert at this, but no it took me a week of procrastinating just to pick a stack and a theme.