Asking for Help

26 Jan 2023

Human progress can be credited to the cumulative efforts and discoveries of those who have come before us. As Isaac Newton famously stated, “If I have seen a little further, it is by standing on the shoulders of Giants.” However, with the vast amount of information generated through so much advancement, it can often be challenging to navigate and find the pertinent information needed to accomplish a given task.

Standing on the shoulders of giants

Enter technical forums like Stack Overflow, Quora, and Github. These online communities serve as a hub for experts and enthusiasts to collaborate and share their knowledge, making it easier for individuals to access the information they seek. By tapping into the collective wisdom of these experts, individuals can better understand complex concepts, troubleshoot problems, and develop new ideas. However, the effectiveness of these forums relies heavily on the quality of the questions being asked. Asking well-constructed questions provides the necessary information for a good answer and motivates those with relevant expertise to contribute.

In the essay “How to ask questions the smart way”, Eric Raymond provides valuable insights and guidelines for asking effective questions. This advice is not limited to a specific field or discipline and is universally applicable.

What Makes a Good Question?

As Eric Raymond suggests, a well-crafted question communicates the problem. In addition, it demonstrates the asker’s effort to research and understand the issue, which saves time for the person answering the question and shows a genuine interest in learning and solving the problem.

Here are some key points to keep in mind when posting to a technical community:

An Example of a Good Question

This question on Stack Overflow is an example of how to ask a good question.

Title: Unit testing with ESP-IDF:

Currently, I am working with an ESP-IDF and try to get unit testing to work.

I already found https://esp-idf.readthedocs.io/en/latest/api-guides/unit-tests.html, but there is a point which I don't understand.

But first, let me explain my setup:
- I work under Windows and have a MSYS32 shell.
- My IDF_PATH points to ~/esp-idf, where my esp-idf suite sits.
- My projects sit in ~/project_dir/subdir, however. They work as they should.

If I follow the instructions in the unit test guides, I can build the test cases which are built into the system. 
But it does not find the unit tests of my application.  This is clear, as they sit somewhere completely else.

What am I supposed to do now?  Perferrably without tampering with the default unit test app too much?

I can see several approaches, but I don't know what is the intended way to add own components resp. their test cases into the said app:
- Should I add the project paths somewhere into the unit test app?
- Should I copy the unit test app and add it to my projects?
- Should I create a folder in my project and add a link to the unit test app?

The following elements make this question a well-crafted and effective one:

What Makes a Poor Question?

Here is an example of a poorly formed question

Title: Someone please help me with this Web Content Display problem in Liferay..im stuck !

Any way to make the web content appear maximized by default instead of minimized ?.Im using Liferay v5.2.3 Community Edition.

Please Help.  Thank You

Contrasting with the earlier example, this type of question lacks several key elements that are needed to make it an effective one:

The quality of a question can significantly impact the likelihood of receiving a helpful answer on technical forums such as Stack Overflow. Therefore, asking well-crafted questions, following the principles outlined in “How to ask questions the smart way,” such as having a clear and descriptive title, conducting research, and being concise and organized, can significantly improve the chances of finding a solution.

By taking the time to construct thoughtful questions and contributing to the collective knowledge on these forums, individuals can add significant value to the resources available to the community. Whether you are an experienced expert or just starting out, the effort put into crafting high-quality questions can immensely enhance the overall usefulness of technical forums and the resources they provide.