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.