Below are the rules of the server. If you are unsure about any or wish to discuss in further detail, contact ModMail.
1. Keep the learning environment positive
Everybody is here for the same reason: to learn and talk about programming.
These rules are here to make sure the community stays a place where people of all skill levels and backgrounds can flourish.
This is when you give someone the solution without letting them figure it out. It doesn't help them learn and it's generally just a waste of time.
Unless constructive, keep any opinions about how much you dislike languages or tools to yourself. It doesn't benefit anyone at all.
This describes when someone takes it upon themselves to set a standard for something (like eg. "good code"), and uses that as an excuse to tell somebody else that they aren't able to learn or do something. Remember we're all here to learn and improve.
Keep criticism constructive. Fixating on minor details or deliberately picking holes in someone's work is something that should be avoided.
If somebody is already getting help, do not jump in the middle of the conversation. Do not turn a simple question into a "too many cooks in the kitchen" problem. If you think you have something to contribute, ask if you can join into the conversation.
Opinions for beginner languages
The FAQ and beginner guide represent many hours of discussion to find well-rounded answers to common questions. Please link to them regularly when beginners ask questions those guides answer.
This means cheating on your school work, paying someone to do your school work or trying to avoid your school work in any way. It's unethical and will not be tolerated here.
2. Be nice
Remember the human
Treat everyone with respect regardless of their skill level or differences in thoughts.
Arguing from authority
Nobody likes a know-it-all, and presenting your opinion as fact isn't the way to participate constructively. If you're sharing an anecdote or example from your experience, that's totally fine, but make that clear, and don't present it as concrete evidence of something being a certain way.
3. No illegal or prohibited topics / Security and hacking
Do not discuss anything prohibited by law or a service's Terms of Service (ToS)
This includes, but is not limited to: piracy, video game cheats/hacks, hacking, web scraping, running automated tools against a website or service against the ToS, and so on. Basically anything that the website or service in question does not allow, we won't either.
If you are unsure if it's a suitable topic to discuss, please contact ModMail.
Do not talk about hacking, “offensive security”, or similar topics
This includes, but is not limited to: reverse engineering and decompiling
Light talk about preventing and best practices for coding with security in mind are allowed. Everyone should be aware of and make a good effort to write secure code, but discussions around how to bypass a system will not be allowed.
Do not post NSFW content
Content should be kept to a PG13 level. Always ask yourself "Would my boss be okay with this fullscreen on my monitor as he walked by?". If the answer is no, don't post it.
Don't post controversial content
If you wish to discuss topics like politics, religion, philosophy and alike, head over to our sister server, Controversy Central.
4. Don't obstruct moderation
These rules try to cover as much as possible but unforseenable situations could arise and will be up to the staff's discretion
Use only English
We're an English server and our staff is primarily English speaking. We cannot moderate what we cannot understand.
Do not impersonate staff
Don't pretend to be staff; this includes but is not limited to: copying their profile picture, putting a hammer emoji in your name, having the same name as a staff member and pretending to be a member of the staff team.
Follow the spirit of the rules
This speaks for itself: don't be difficult or generally a pain in the ass by trying to find loop holes in the rules or skirt around them.
Do not discuss infractions in public
Use ModMail if you want to discuss an infraction or mute: don't do it anywhere else on the server.
5. Stay on topic
Don't derail constructive conversation
Technical and language channels need to be kept on topic, meaning these channels are not the place to have random conversations or to post things unrelated to that specific channel. If there's an on-going conversation taking place, do not jump in with something completely unrelated.
No life advice
This includes, but is not limited to: relationship advice, depression or suicidal talk. We are not qualified to offer professional advice; it just does not belong here. Note that career-related advice is fine.
6. No solicitation or advertising
Do not advertise anything you stand to benefit from. A few examples of this are: other Discord servers, websites, Youtube channels, and blog posts.
Exceptions to this rule are rarely made; if you'd like to request such an exception, please contact ModMail directly.
If you direct message people instead of posting in the right channel, you're preventing others from learning from the conversation. We have plenty of channels, use one of them. Do not send uninvited DMs.
No recruitment or asking for free work
TPH is not a recruitment platform for programmers for your project. There are plenty of sites out there specifically designed for this purpose. If you have an open source project that meets our content policy, then you may post it in a relevant channel, but no other forms of recruitments are allowed.
7. Use ModMail to contact staff
ModMail (@ModMail) is a bot that reports every direct message received to staff. Sending a direct message to @ModMail that opens a channel with the staff
Use it when you see a rule break or want further clarifications
A few examples of when using ModMail is good practice
- You've noticed a heated argument in a channel and there's no staff around.
- Wish to dispute an infraction you have received.
- Would like more context about a rule.
- Would like to screen something with the staff before posting.