One of the biggest problem we have in programming is: It doesn't work. When you talk to a mechanic, telling him "My car doesn't work" will not help him find a solution. You may say, the car doesn't turn on, I have a flat, the fog lights are always off. Not only this tells the mechanic that your car doesn't work, but it also gives him an idea of what is not working, helping him find a solution faster.
For some reason we approach it differently when we are doing things on the computer. I understand that a computer can be even more complex than a car engine, but we have the benefit of getting error messages. Errors are a blessing. As annoying as they can be, they are the developers way of knowing exactly what went wrong.
Just like the mechanic can listen to the engine and know what the problem might be, the error message help developers know exactly what is wrong with an application.
When you have an issue and tell people that your program, or your computer is not working, it is the same as staring at them silently. It doesn't work doesn't mean anything at all.
What doesn't work? Knowing what doesn't work sometimes requires you to put your frustration aside and do some of the work yourself. Pressing the on button on your laptop 50 times is not gonna make it turn on if it didn't the first 30 times. Plug in the power cord and you might realize that your computer is simply not charged, or that your battery doesn't hold charge any longer.
Before you write any code on your application, it works. It doesn't do anything but it works. The more you write, the more complex it becomes, and the more bugs you create. That's fine, it is the process we all go through. We all write shitty code with bugs anyway. When frustrated it is easy to give up and dump your problems online. But simply telling people that your program doesn't work doesn't help anyone.
The goal of asking questions or posting your problem online is to fix whatever issue you are having. There are some guidelines to follow if you want to get a good answer.
What have you tried?
If you spend some time to try to figure things out on your own, you will be surprised that most of the time things are not so difficult. Especially in the web programming world, we are not trying end world hunger everyday. There isn't even a lot of math involved, which scare most people away.
Try a thing or two before asking your question. Sometimes you may just have overlooked a small detail. Showing what you have tried so far can help others build on top of your solution instead of starting from scratch.
How much time did you spend trying to fix it?
It's not that I am so smart, it's just that I stay with problems longer — Einstein.
Sometimes, the reason you are not finding a solution is because you did not spend much time trying to solve it. With the internet at our finger tips, it is easy to outsource our brain cells to someone on the other corner of the world to fix our problems. But the truth is, the more you rely on external forces the more you depend on them. If we have programmers who still can't do a fizz buzz tests on their own, it's because they can google the answer.
Do you understand the problem?
It's amazing how much you find you don't know when you try to explain something in detail to someone else. It can start a whole new process of discovery. — Jon Skeet
Most of the time, I end up figuring things out on my own. Sometimes the problem is that we don't understand the problem. Even if you don't figure out a solution, understanding the problem can help you better explain it to others and in return you get an answer faster.
Simply saying "it doesn't work" doesn't even motivate others to help you. When I read question like those online, I picture a snob who thinks too much of himself to spend time trying to do the work. It feels like a cheat who just want the answers and doesn't care about knowing how to solve it.
Don't be that guy, do the work. Make some effort and the army of the web will do its best to help you find solutions.