Skip to main content

Essential

Before diving into the following resources, you can first check "What they are about" from Essential Explanation.

Essential skills

How to ask questions?

  1. Dr. Mostafa's advice on how to ask (Arabic).
  2. Watch Coursera's "Getting Help" video.
  3. Read Stack Overflow "How to ask".
  4. Read FreeCodeCamp's "How to ask good questions" article.
  5. Read about XY Problem.
  6. Ask a binary question if possible. (I.e., True/false)
  7. If not, Ask the enclosed question if possible. (I.e., the question that has an expected answer; E.g., Which color? "Red", "Green", "Blue")
  8. If not, ask open questions and supply atomic information in an enumerated form. (E.g., "How to study Algorithms?" 1. I know math. 2. I know Programming Languages.)
  9. Note: Atomic information is the simplest form of information possible that can not be further broken down into even simpler data and can never hold more than a single meaning.
  10. Check the following question template:
// Template 1:
# How to do *X*?

## What I am trying to do (Heading is not a question)
I am trying to do *Z* via *W* & *Y*.

## What I tried
I tried *A*, *B*, *C*.

## Where did I reach
1. *A* can't be done because of Reason *D*
2. *B* can't be done because of *E*.
3. I am facing error *F* while doing option *C*.

// Template 2: (after greatly practicing template 1)
# How to do *X*?
1. I am trying to do *Z*.
2. Tried option *W* but can can't do it because of *A*.
3. Tried Option *Y* but I get error *E*.
4. Googled *E* and only found 1 2 3 links but couldn't solve it.

Who to ask before you ask?

  1. Only reliable person that is in charge, or has been in charge, or reached the end of the road you want to take.
  2. Never rely on an answer/course even if it is free before performing rule 1 above.
  3. Arabic shorts & videos:
    1. Dr. Mostafa: Video 1 & 2.
    2. Mr. Moshrif: Video 1.

How to study and not forget what you studied?

Use Obsidian (using Zettlekasten & Wikipedia styles)

What is your opinion about X/Y/Z Course?

Arabic

  1. Mr. Moshrif: Video 1 & 2. Post.
  2. Dr. Mostafa: Video 1.

How do you plan and solve most of your problems (in life and the field or industry) smartly with the least thinking effort and minimize failures?

  1. Check "How to ask?" above.
  2. Check related records or background about who is giving you the advice. If he is advising on "How to work at Google?" he must have worked there at least.
  3. Avoid unaccountable advice or courses from unreliable people, even if they are free. Unless a person is accountable for what he says and has an active track record, treat every word with a grain of salt.
  4. For you to ask someone, you need to build a relationship with them. You also might need to show that you also help when you can, as this will increase the chances of getting help.
  5. Firmly believing that you are not exceptional by any means. 99.99% of your problems have faced others as well, and they developed a solution for them, but you just didn't research enough.

Essential tools

git-and-github (in ACU-English channel or ACU-Arabic channel) & Linux (in ACU-English channel or ACU-Arabic channel).

Knowledge Base

  1. @Student: recommended forum (in ACU-English or ACU-Arabic).
  2. For @Trusted: knowledge base forum (in ACU-English or ACU-Arabic).

Essential Explanation

  1. They are for everyone ($0\rightarrow \infty$ years of experience) to boost their productivity 10x-50x!
  2. They are divided into 3 categories as follows:
    1. Essential skills: (How to ask?), (How to search?), (How to study?), (How to pick your road map?).
    2. Essential tools: Git & GitHub, Linux, IDEs$\dots$.
    3. Knowledge Base: Stackoverflow-like for resources.
      1. It is a way for new people to catch up with old resources & discussions.
      2. It is searchable, tag-able and amendable.
      3. They do not contain educational resources, as these are included in README Courses.





Is something broken? Please open an issue!