Excerpt from E. S. Raymond's website
http://www.catb.org/esr/faqs/smart-questions.html
- Hackers like challenging, thought-provoking questions
- People unwilling to think or do their homework are time sinks. They take without giving back.
- Different people have different important things to do. We focus on what interests us most, otherwise we would become less effective at the things we do best.
- We filter the time-sinker ruthlessly, in particularly who appear to be losers. If you can't live with this discrimination, you 'd better pay for a paid support instead of asking hacker to donate help.
- Before asking a technical question, do your homework by searching the web, reading the manual or FAQ, asking a skilled friend or find a answer by reading source code. Display the fact that you have done these things first.
- Hackers build things, crackers break them.
- The fun of being a hacker takes lots of effort and motivation. Otherwise, your hacking energy is sapped by distractions like sex, money, and social approval.
- There are so many fascinating new problems waiting out there, we shouldn't waste time re-invent the wheel.
- Attitude is a must, but is no substitute for competence. Competence at demanding skills that involve mental acuteness, craft, and concentration is best.
- First learn Python, then C, Perl and Lisp. Java is not recommended as first language. Because a good tool for production can be a bad one for learning. However, C is low-level language that is complex and bug-prone. We had better use machine time less efficiently but use our time more efficiently.
- Most of the best hackers are self-taught and learn by practice. (a) reading code; (b) writing code.
- The best way to do it is to read some
stuff written by masters of the form, write some things yourself, read a lot more, write a little more, read a lot
more, write some more ...