Tuesday, April 20, 2010

Assistance and Ethics

How much help is too much?

Recently, I've received and seen quite a bit of emails asking for help. I understand the frustration. I was there, frustrated of not knowing what to do. But some of the questions went a bit overboard.
While I am willing to help, you've gotta help yourself too. Here are the questions that I don't think I will be able to comment on
  • I want to implement this protocol. Please send me the code.
  • I don't know what's wrong with the code. Can you help debugging my codes?
If the help you needed is one of the above, I might not be your best resource.



Ethics: Learning, not Delegating

I believe most people visiting this website would be students. What you need to keep in mind is the purpose of being who you are. The purpose of being a student is to learn, not to ask someone to do the homework for you. It is you who are learning, not me nor somebody else. So, it is you who will have to do the dirty work, and, in the process, learn something useful. I am here to help, not to do the work for you.
Note: While getting open-source code is ethical, it is your job to find the code and understand it. You might have to read the documentation, contact the authors, and/or go through the code. In the end, you will learn something, and you will be able to modified to code to fit your need.

Everything is important

A lot of students does not think highly of programming. They believe that their main objective is to learn telecommunications subjects, not programming. They are right. There are other methods to do high level study on telecommunications (e.g., mathematics). They don't need NS2. If you are one of them, do not spend too much time in NS2. You might be able to do high-level research without using NS2.

For me, I like NS2 because of its potential to do a lot of things. And, it help me and others understand telecommunications better. I believe that programming is as important as the subject I am interested in. So I painfully trained myself in programming and debugging. In the end, I am quite happy with things I learned and skills I obtained.
I believe everything is important. So I would like to share this mindset with you guys.

Services I Offer

After a long lecture about ethics and boring stuff, you might wonder "what do I get by visiting this website?'' I believe what this website offers is of interest to the general public (e.g., NS2 installation, including new modules into NS2, routing modules, etc.) If you have specific problem that I can help without breaking the above ethics, I will gladly help. Just post your question on my facebook fanpage.

Be Specific

Questions like "I want to implement a WFQ algorithm. How do I do that in NS2?'' are too broad, and would not comply with the above ethics. Again, this is you work, not mine. You have to work on that yourself so that you can learn something. Do the work until you run into a real problem like "I have implemented WFQ in C++. How do I integrated into Tcl?" Show me that you have done some work. And, I will point you to the right direction. You will feel more satisfied when you discover things by yourself, rather than having someone to tell you exactly what to do.

No comments: