---
# System prepended metadata

title: Untitled

---

---
path: /rules
---

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.

### Spoon Feeding

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.

### Language Flaming

Unless constructive, keep any opinions about how much you dislike languages or tools to yourself. It doesn't benefit anyone at all.

### Gatekeeping

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.

### Nitpicking

Keep criticism constructive. Fixating on minor details or deliberately picking holes in someone’s work is something that should be avoided.

### Backseat driving

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.

### Academic dishonesty

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 and assume good-faith

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

### No 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.

### Direct Messaging

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.

### Do NOT use ModMail for chitchat or asking for programming help
### In extreme cases that need *immediate* attention, NSFW content, or an unnoticed raid, ping the `serious rule break` role.

