About

Hacker Politics is a tech and politics community centered around link aggregation and discussion, and tagging system to categorize and filter submissions. We aim to allow topics related to tech and politics to be featured on the site.

Guidelines

Climate: Hacker Politics is more of a garden party than a debate club. We're learning things we didn't know to be curious about and sharing what we've made. Disagreements are normal but fights are not; it's OK to make your point, share a resource, and let someone be wrong. Abuse and bigotry are unwelcome.

Topicality: Hacker Politics is focused pretty narrowly on tech and politics. Some things that are off-topic here but popular on larger, similar sites: entrepreneurship, management, last-resort customer service requests via public shaming, "I wanted to see what this site's amazing users think about this off-topic thing", and defining the single morally correct economic and political system for the entire world when we can't even settle tabs vs. spaces.

Brigading: Hacker Politics is not to be used to whip up an outrage mob and direct them at targets, especially individuals and small projects. It always feels righteous at first and becomes an awful tool for abuse. For contentious topics, try to submit a link to an overview rather than linking into a project's community spaces like issue trackers and mailing lists. There isn't a clear-cut line between this and discussing trends and advocating for improvements in the field, so expect frustrating judgement calls.

Self-promotion: It's great to have authors participate in the community, but not to exploit it as a write-only tool for product announcements or driving traffic to their work. As a rule of thumb, self-promo should be less than a quarter of one's stories and comments.

Tags

When links or stories are submitted, they must be tagged by the submitter from a list of predefined tags. Users can choose to filter out or subscribe to all submissions with particular tags (example: programming.rss) or combinations of tags (example: programming,audio.rss). All users see all stories by default. The tagging system works this way for three reasons:

  • It keeps the site on-topic by only allowing a predefined list of tags. These tags represent what most of the users of the site want to read, so content that does not fit into any of those categories should not be submitted. It also keeps stories organized and more easily searchable.

  • It promotes discussion. On a site with separate forums, a Ruby programmer would probably subscribe to a Ruby forum, but not a Python one. When a link is posted to the Python forum, that Ruby programmer would probably never see it, even though they may have something useful to say about it (perhaps the link is about a Python library which does the same thing as a Ruby library which that Ruby programmer created). On this site, the link would get posted with a python tag and shown to everyone, encouraging the Ruby programmer to read and comment on it (unless that Ruby programmer disliked Python enough to filter it out).

  • It keeps the community coherent. Often stories contain discussion about more than one topic, yet on other sites they are confined to a single category/forum, limiting the exposure. The link could be submitted to more than one forum, but then each conversation would remain separate and users would rarely interact with users from other forums. On this site, the story would simply be tagged with multiple tags and all users would see all discussion about the story in a single location.

Creating new tags and retiring old tags is done by the community by submitting, discussing, and voting on meta-tagged requests about them, and these events are logged (since 2018-04). To propose a tag, post a meta thread with the name and description. Explain the scope, list existing stories that should have been tagged, make a case for why people would want to specifically filter it out, and justify the increased complexity for submitters and mods.

Invitation Tree

The full user tree is public and each user's profile shows who invited them. This provides some degree of accountability and helps identify voting rings.

Invitations are used as a mechanism for spam-control, to slow registrations to a pace we can acculturate (more below) and to encourage users to be nice, not to make the Hacker Politics userbase an elite club. Users are considered "new" for their first 70 days, and their usernames appear in green. New users can't send invites, submit links to domains we haven't seen submitted before, flag stories and comments, suggest edits to story titles and tags, resubmit links that have been seen before, or use tags for meta discussions or that are prone to off-topic stories ().

The quickest way to receive an invitation is to talk to someone you recognize from the site. If you wrote a link that was posted, please reach out in chat, we'd love to have you join the community. Finally, if you can't find anyone you know in the invitation tree and didn't author something posted to the site, consider getting to know the community in the chat room.

There's no limit on how many invitations a user can send (though we might at some point, to manage growth). There's also no official vetting process for new users, each user is responsible for inviting people they believe will contribute positively to Hacker Politics. When accounts are banned for spam, sockpuppeting, or other abuse, moderators will consider disabling their inviter's ability to send invitations or, rarely, also ban them.

Ranking

All story and comment ranking on this site comes from user activity. All users have equal votes, with no special priorities or penalties for specific users or domains. Moderators have no ability to raise or lower the rankings of stories or comments (besides voting like any user). Per-tag hotness modifiers affect all stories with those tags; these modifiers (and changes to them) are public. Domains used for marketing analytics are banned and tracking parameters are removed from links (look for utm_ in story.rb).

Users can flag stories and comments when there's a serious problem that needs moderator attention; two flags are needed to add the story or comment to the moderation queue. Users must reach 50 karma to flag. To guide usage and head off distracting meta conversations ("Why was this flagged!?", etc), flagging requires selecting from a preset list of reasons.

For stories, these are: "Off-topic" for stories that are not about computing; "Already Posted" for duplicate submissions and links that elaborate on or responses to a thread that's less than a week old (see merging); and "Broken Link" for links that 404, 500, or present a paywall; "Spam" for links that promote a commercial service.

For comments, these are: "Off-topic" for drifting into meta or topics that aren't related to the story; "Me-too" when a comment doesn't add new information, typically a single sentence of appreciation, agreement, or humor; "Troll" for derailing conversations into classic arguments, well-intentioned or not; "Unkind" when uncharitable, insulting, or dismissive; and "Spam" for promoting commercial services.

Less than 1% of stories or comments get flagged, and users are not automatically punished by flags. Users whose stories or comments are getting flagged significantly more often are strongly encouraged to talk to mods about what's not working. (Please don't use flagging to try to push down topics or people you don't like; click "hide" on the story and move on rather than clutter up the mod dashboard with false alarms.)

Transparency Policy

All moderator actions on this site are visible to everyone and the identities of those moderators are public. While the individual actions of a moderator may cause debate, there should be no question about if an action happened or who is responsible.

If users are disruptive enough to warrant banning, they will be banned absolutely, given notice of their banning, and their disabled user profile will indicate which moderator banned them and why. There will be no shadow banning or other secret moderation actions.