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