/oneshot

My oneshot at learning the things I always wanted to learn.



Just in case you are wondering, the inspiration for the name "OneShot" comes from Eminem's Lose Yourself.

So, what this all is about!

This repository is a todo-list/bucket-list/syllabus for the computer-sciency things I wanted to study and dive into since last 3-4 years.

I am a 3rd-year Computer Science Engineering student, and I'm dropping a year to GSD. This repository will be, basically, the roadmap for the next few month's studies. It's April 19th, 2018. I will continue going to the college from Januar, 2019, with Juniors.

I'm trying to avoid "Oh, I wish I found these problems earlier." I want to be the guy who understands Unicode and is good at regex.

I want to work my ass off for once!

I know these things will take some time, and it won't happen in 7 months, but, at least, I can get started.

  • Unspoil myself because I've using ORMs all the time!
  • I lost my curiosity, want to get it back
  • I have 800 HN links, ~400 bookmarks, ~200 Pocket links, and almost around 500 Trello, Reddit, Medium, Gists remaining.

Q: Why is this so important to me?

I can't do simple mathematics calculations properly. Somehow, I'm good with computers, but I'm advancing my studies, being dumb will cause problems in future. So, this year I'm going to play smart with a dumb move, i.e., take a year back.

I've been coding in different languages, made few web apps in the last two years, but I'm master of none. I've contributed to the Open Source projects, but none of those patches I sent were correct in the first place (I know, it does not have to be like that, but anyway, this is how I feel). I can program, but I'm a bad programmer. I want to be a good programmer, a real programmer, just like the people say. OneShot is all about that.

I've always been very much in Computer Network and System Administration, though I love hardcore programming, then in the last few months, I discovered distributed system, decided and finalized that it's the only maze I want to explore.

Over the years, from various source, I've made a big list of things which I want to learn. The syllabus document goes into much more depth.

From OneShot, I expect these few things, which I've divided into following categories -

Habits

  • Write good code.
  • Read Research Papers.
  • Do more maths.
  • Increase focus.
  • To be disciplined.
  • Blogging and Journaling.
  • Keep contributing to the Open Source.
  • Two cigarettes in a week.

Goals

  • To be good at Mathematics.
  • To be good in Data Structure, and Algorithms.
  • To be good in System Programming, Operating Systems, and C.
  • To be good at Network Programming.
  • To be able to read domain related search papers.
  • To have a keen interest in P2P networks.
  • To have an understanding of distributed systems and do some stuff with it.
  • Build and understand cool things like compilers and interpreters etc.
  • To implement protocols and build cool stuff, and ship some them.
  • Make to the GSoC and other cool stuff next year.

Conclusion

Don't want to jump to any of the conclusion. I'll work my ass off, let's see what happens!