Skip to content

yaobinwen/robin_on_rails

Repository files navigation

Robin on Rails: Track My Study of Various Software/Hardware Technologies

(Last updated on 2022-11-20)

1. Overview

Is it possible to keep track of the latest development of every technology in the software development industry?

No. Impossible nowadays. A lot of people will say: Don't try!

Being a programmer requires continuous learning of various technologies. However, as the article How to stay sane in today's world of tech says:

If you try to master a single skill in the tech industry today, in order to become an expert, you will loose the ability to know a lot of different skills and technologies and hence loose job or consulting opportunities. On the other hand, if you try to know and become good at many different things, you will never become really good (expert level) at a single thing.

That's just a hard fact of how much the technology has changed and progressed.

Nonetheless, I need to learn a lot of different things in order to do my work well. Hence this repository. This repository is not a new one. It was initially created in 2018 to keep my notes of learning. Since then, I have made notes on various subjects. These notes are helpful whenever I want to quickly refresh my memory on a particular subject.

But when I work on this repository, the question How to stay sane in today's world of tech keeps echoing in my mind. In the world of new things popping up and existing things changing all the time, I really need to focus on the ones that benefit me the most in the context that I am living, short term and long term.Learning the fundamentals, i.e., the things that change less frequently, is probably the most economical way. I just need to strike a balance between learning the things I need right now and learning the things that can solidify my foundation and benefit me in the far future. Meanwhile, I'm also asking myself these questions:

  1. How to make the best out of learning for the short term?
  2. What else in addition to learning the fundamentals?

2. How to Use This Repository

As of 2022-11-20, this repository has a lot of sub-directories and issues. My plan is:

  • I will list the subjects I want to focus on in this README file. But this README file does not track the progress.
  • I will need to keep updating this README file when I have a new subject interested in or I don't want to track an existing subject anymore.
  • I will gradually reorganize the issues so they can be used to track the progress of my learning.
  • I will gradually reorganize the sub-directories so subjects I care about will have a sub-directory for the notes, and the unimportant subjects will be put in a separate place, probably in the category of "miscellaneous". I don't want to delete them because sometimes I may still want to make notes of random interesting things.

3. How to Study

In general, study in whatever time that's available in whatever forms (e.g., text, podcast, video).

When I get a few days of free time, like when I'm on vacation, I may arrange a series of study sessions that I call "tech dashes" to learn continuously. See the tag tech-dash in "Issues". The Tech_Dashes.md briefly records what I do for each tech dash.

The output of study is in two places:

  1. Some organized or unorganized notes in this repository.
  2. An article in my tech blog that discusses a particular topic.
  3. A separate GitHub repository if the topic discussion is beyond the capacity of a single article (e.g., needing example code).

4. Subjects of Interest

4.1 Hardware

  • How are atomic operations implemented on the hardware level?
    • I took some notes here but need to study further.

4.2 Operating Systems

4.3 Mathematics & Computer Science

4.4 Security

4.5 Databases

4.6 Others

About

Robin on Rails: my notes about technology and some other knowledge.

Topics

Resources

Stars

Watchers

Forks