A quick history about this page: As an undergraduate student I was working as a Teaching assistant for a course teaching Python programming. So I wrote the notes about Python for that course. Over the years, as my knowledge grew, I felt the need to write things down about other things as well. So, I started making notes about things that I was learning and using. Writing has been a good way to solidify my own understanding of things. Overtime, it became my own space where I could go and look things up. I didn't need to go to a search engine and try to find something I had already learnt and written down. Many of the notes may seem simple and maybe even obvious to someone who already knows about the topic. I mostly started writing these for myself and if I saw some useful notes elsewhere I have tried to incorporate those here and I have provided references to those resources in their relevant pages.