{
  localUrl: '../page/491.html',
  arbitalUrl: 'https://arbital.com/p/491',
  rawJsonUrl: '../raw/491.json',
  likeableId: '0',
  likeableType: 'page',
  myLikeValue: '0',
  likeCount: '0',
  dislikeCount: '0',
  likeScore: '0',
  individualLikes: [],
  pageId: '491',
  edit: '1',
  editSummary: '',
  prevEdit: '0',
  currentEdit: '1',
  wasPublished: 'true',
  type: 'comment',
  title: '"**Karma system**\n\nWe want t..."',
  clickbait: '',
  textLength: '3626',
  alias: '491',
  externalUrl: '',
  sortChildrenBy: 'recentFirst',
  hasVote: 'false',
  voteType: '',
  votesAnonymous: 'false',
  editCreatorId: 'EricBruylant',
  editCreatedAt: '2016-06-14 01:48:51',
  pageCreatorId: 'EricBruylant',
  pageCreatedAt: '2016-06-14 01:48:51',
  seeDomainId: '0',
  editDomainId: '116',
  submitToDomainId: '0',
  isAutosave: 'false',
  isSnapshot: 'false',
  isLiveEdit: 'true',
  isMinorEdit: 'false',
  indirectTeacher: 'false',
  todoCount: '0',
  isEditorComment: 'true',
  isApprovedComment: 'true',
  isResolved: 'false',
  snapshotText: '',
  anchorContext: '',
  anchorText: '',
  anchorOffset: '0',
  mergedInto: '',
  isDeleted: 'false',
  viewCount: '11',
  text: '**Karma system**\n\nWe want to keep track of several important characteristics separately. They are different in important respects and attempts to merge any of them will cause things to go Wrong.\n\nIf we get it right the karma system is the biggest thing we'll have over other sites. It's important to get it right the first time and/or to specifically add features which make changing it less likely to cause a riot (e.g. bundling people into tiers rather than letting them see how their numbers change).\n\n**Contributor karma** - Make and improve content (edit, review, make stuff for the wiki side)\n\nSimple-ish. Lots of specific hidden easily adjustable per-domain parameters tracking every type of positive interaction with content, tuned to match our intuitions of high-value users.\n\nUser's exact score may be hidden, progress in tiers, which allows us more flexibility in changing the backend without users complaining (we avoid dropping users down tiers as we adjust the backend scores, their next level up is just delayed).\n\n**Prediction karma** - Be right about the future\n\nPrediction markets. Users only get non-zero weight on the markets when they pass a moderate threshold on either of the other two karma systems, but can make predictions before then. Users are given 1000 (or something) credits when they hit a certain level of contrib or discussion karma (enough to make it effortful to make spam accounts, low enough that most people won't have to seriously work to get there), and whenever they vote on a prediction bar they're offered a popup with a suggested credit amount to bet (based on a few factors). Limits on how much of a user's net worth is bettable on a proposition, to avoid people throwing it away super fast then being sad/unable to recover.\n\nHow to handle interaction with highly liquid+accessible monetary prediction markets ([Augur](https://www.augur.net/) seems likely to be the first) is a challenge, but it may just be okay, and can be partched in later if it becomes a problem (mostly writing this so my brain will stop reminding me about it so much because it's a fun but low-priority puzzle).\n\n**Discussion karma** - Be a valued contributor to discussion (follow healthy discussion norms, have and explain valuable insights)\n\nHardest one, because it needs to collect lots of subjective judgements, and needs to weight those judgements appropriately. Current best model works like:\n\nCollect basic likes (later also other reactions e.g. impolite, super-likes, changed-my-mind, etc) on comments. Do not display raw counts, especially not prominently. Raw counts are terrible and make it easy for bad users to distort the system.\n\nStart with a founding user or small group of users, and portion out layer 1 karma according to just their likes/reactions. Tier 2 based on tier 1's, and so on. Prevent cycles of karma. Add decay, so each tier gets to hand out less than they receive. Handle different reactions sanely (don't make the most impolite people the only ones able to mark the tier below as impolite).\n\nAnd now the fun part: Allow users to pick different founding groups to filter by (possibly scarily computationally expensive, but Scott Garrabrant thinks there are efficient approximations). Possibly have the default founding group based of prediction karma. Possibly only have a few options for founding groups, possibly allow a paid version which sets the founder group to you (so you see exactly the content filtered by what you are most likely to like). This means it's not a walled garden, it's an ecosystem of movable filters.\n\n(inspiration from eigenmorality and Robert Miles)',
  metaText: '',
  isTextLoaded: 'true',
  isSubscribedToDiscussion: 'false',
  isSubscribedToUser: 'false',
  isSubscribedAsMaintainer: 'false',
  discussionSubscriberCount: '1',
  maintainerCount: '1',
  userSubscriberCount: '0',
  lastVisit: '',
  hasDraft: 'false',
  votes: [],
  voteSummary: 'null',
  muVoteSummary: '0',
  voteScaling: '0',
  currentUserVote: '-2',
  voteCount: '0',
  lockedVoteType: '',
  maxEditEver: '0',
  redLinkCount: '0',
  lockedBy: '',
  lockedUntil: '',
  nextPageId: '',
  prevPageId: '',
  usedAsMastery: 'false',
  proposalEditNum: '0',
  permissions: {
    edit: {
      has: 'false',
      reason: 'You don't have domain permission to edit this page'
    },
    proposeEdit: {
      has: 'true',
      reason: ''
    },
    delete: {
      has: 'false',
      reason: 'You don't have domain permission to delete this page'
    },
    comment: {
      has: 'false',
      reason: 'You can't comment in this domain because you are not a member'
    },
    proposeComment: {
      has: 'true',
      reason: ''
    }
  },
  summaries: {},
  creatorIds: [
    'EricBruylant'
  ],
  childIds: [],
  parentIds: [],
  commentIds: [],
  questionIds: [],
  tagIds: [],
  relatedIds: [],
  markIds: [],
  explanations: [],
  learnMore: [],
  requirements: [],
  subjects: [],
  lenses: [],
  lensParentId: '',
  pathPages: [],
  learnMoreTaughtMap: {},
  learnMoreCoveredMap: {},
  learnMoreRequiredMap: {},
  editHistory: {},
  domainSubmissions: {},
  answers: [],
  answerCount: '0',
  commentCount: '0',
  newCommentCount: '0',
  linkedMarkCount: '0',
  changeLogs: [
    {
      likeableId: '0',
      likeableType: 'changeLog',
      myLikeValue: '0',
      likeCount: '0',
      dislikeCount: '0',
      likeScore: '0',
      individualLikes: [],
      id: '12606',
      pageId: '491',
      userId: 'EricBruylant',
      edit: '1',
      type: 'newEdit',
      createdAt: '2016-06-14 01:48:51',
      auxPageId: '',
      oldSettingsValue: '',
      newSettingsValue: ''
    }
  ],
  feedSubmissions: [],
  searchStrings: {},
  hasChildren: 'false',
  hasParents: 'false',
  redAliases: {},
  improvementTagIds: [],
  nonMetaTagIds: [],
  todos: [],
  slowDownMap: 'null',
  speedUpMap: 'null',
  arcPageIds: 'null',
  contentRequests: {}
}