Disclaimer: I only hate competitive programming (henceforth, CP), not the people who do CP. I just pity those people (including myself) who are forced to do it for the sake of getting a job, but I absolutely respect those who participate in CP contents for the sake of fun and learning. What is Competitive Programming? If you are not someone involved in the software field, you might not be familiar with this term. It was originally a sport where people would compete against each other to solve algorithmic problems. The problems are sometimes mathematical in nature, and the solutions that solve the problem fastest and/or using least amount of memory wins.
I’ve used quite some operating systems throughout my life: Unix based ones like Linux, BSD and MacOS; Windows, and even some RTOS-es on my embedded devices. This post is mostly going to be about the ones I have used as a daily driver. If you want to see the comparisons between Windows, MacOS and Linux, skip to the very end. The Very Beginnings I think I was around five years old, when I got to use a computer for a first time. My dad bought it for the family and it ran Windows XP. I used it mostly for, well, whatever a five-year old does with a computer with a DSL connection.
Shoutout to Chirag Ghosh’s blog post which gave me the motivation to make this post. Time for some 3 AM drunkposting and/or philosophy and/or introspection. Some prelude I was always interested in electronics from my very childhood. I opened (read: broke) and observed electrical components like telephones (the old landline phones, which today’s kids might not even be familiar with), RC cars, toys etc., much to my parents’ dismay. Heck, they hesitated from even buying me toys cause I’d break stuff so often. I remember taking a spring from a pen (those clicky ones) and inserting it into a power socket hoping to create a light bulb.
Disclaimer: This blog post contains personal opinions. Please don’t come at me with pitchforks I’ve been using computers since pre-historic times and have managed to use most (good) text editors in existence. Ranging from the classics such as Windows Notepad, to Notepad++, to Codeblocks and Eclipse, to IDEs such as Jetbrains IntelliJ and finally, the 1337h4xx0r editors: vim and emacs. But recently, I’ve started using Virtual Studio Code (VS Code) and it’s replacing my Emacs. This rant will mostly be about Emacs vs VS Code, and the features I look for in a text editor. But before that, 2 things:
As the owner of a dedicated server, which I am not entirely so why/if I need, I finally decided to make the shift from GitHub to self-hosting my own git server. GitLab. No, I’m not a masochist, I have enough RAM available to self-host that big a software. Thank you Hetzner for providing a 64GB RAM server at just 54€ a month1! If you wanna take a look at my Git server: here you go! Why not just use GitHub? This is a question I get a lot. Like, “But Soham, why not just github?” or “Wait, you mean to say github and git aren’t the same thing?
Why Wireguard? It’s 2020. Age of OpenVPN is over (atleast I hope). It’s too bulky and contains a lot of stuff that is not needed. Wireguard is simple, easy-to-setup, and fast. The Problem I have a dedicated server split into multiple VPS that I wanted to make available from my home network (not over the internet, mind you). This is mostly because I can access my server directly without having to expose all the services (SSH, databases, etc) to the public. Getting to the point, I had already set-up a wireguard connection between my desktop and the servers. There are plenty of tutorials for this available over the internet so I am not going to cover that here, follow whichever you like.
I recently got my hands on a RTL-SDR (I’m currently using NooElec SmarTEE), short for Software Defined Radio. Basically a tool which lets you hook up your PC to an external antenna, in layman’s term. And oh boy, the things you can do with it is beyond words, literally. Radio waves are not sent with words… Bad joke. Sorry. First, I did what everyone does at the beginning: FM Radio. Then Air Traffic Control. Then more random gibberish. And then finally, NOAA 19 weather satellite! NOAA 19: An old weather satellite that has some cool cameras that enables anyone with a SDR to get low quality realtime pictures of Earth.
Yes, this name is a rip off of Evangelion 3.0+1.0. No, unlike Eva 4.0, this post is not imaginary. Atleast as of April 2020. Eva 4.0 was supposed to release in June 2020 but corona :( Probably will get delayed to 2120. Why is this 4.0? How many blogs existed before?! Who killed them!? Side Note: ?! or !? is called the interrobang. Small things you learn everyday. I killed them. Now, before I get jailed or lynched, let me prove my innocence. The first blog I made was written using a custom markdown-to-static-using-python I made and … well I learnt pretty quickly that reinventing the wheel is 9/10 times a bad idea.
All images here were taken by me, either using remote satellites, or telescopes, or my own 8" Dobsonian.
Stuff I drew. Sadly, I don’t get time nowadays to draw more :( Will resume later in 2020.
2020 Update: I left mining…5 days after writing this blog post (I wrote this back in 2018). I earnt ~10 TZC, which, as of 2020 April, is approximately 0.01379 USD. Yes, value went down. Yes, a huge income. Current thoughts: If you can have cheap electricity and cheap hardware (both of which I don’t have), go mine! We all know that we cannot mine Bitcoins with a PC now, anymore, atleast until you don’t want to have something like this — New product: Heater that looks like a computer! However, BTC is not the only available crypto coin. There are