[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-WS0-hTDojrV8Oup4_Kl34VZNaBDrOUCjJAytJ74rauQ":3,"sanity-caAPNTRCr9KUVZVHqTu8jOKqrmq5Cg0SrfjE6qOolAo":295},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":270},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"d53f9358-3bb2-4f69-aebe-d31d19522cd4","2026-07-10T07:40:00.000Z",{"_type":10,"current":11},"slug","building-more-than-just-an-agent-harness",null,"Building more than just an agent harness",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":59,"comments":247,"dateUrl":248,"excerpt":149,"legacyBody":249,"product":12,"publishedAt":252,"slug":253,"sponsored":12,"tags":255,"title":269,"visible":247},"2023-05-25T09:36:57Z","wp-post-3275","dgl3SCUzppW3U2LvCoRyxY","blogPost","2023-07-13T14:54:18Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":51,"avatar":52,"employee":54,"name":55,"role":56,"slug":57},"2023-05-23T16:27:18Z","wp-author-114","07ZbrKPSUrjrV4wQ6fam8u","blogAuthor","2023-08-29T11:49:01Z",{"_type":53},"image","former","Jeff Atwood","Co-founder",{"current":58},"jeffatwood",[60,92,100,116,135,143,151,154,179,195,219,227],{"_key":61,"_type":62,"children":63,"markDefs":87,"style":91},"2dc9262bd452","block",[64,69,74,78,83],{"_key":65,"_type":66,"marks":67,"text":68},"2dc9262bd4520","span",[],"As we discovered in the ",{"_key":70,"_type":66,"marks":71,"text":73},"2dc9262bd4521",[72],"92c0925f0cfc","Stack Overflow podcast with the Reddit guys",{"_key":75,"_type":66,"marks":76,"text":77},"2dc9262bd4522",[],", they have a hidden mechanism for detecting and defeating ",{"_key":79,"_type":66,"marks":80,"text":82},"2dc9262bd4523",[81],"strong","revenge voting patterns",{"_key":84,"_type":66,"marks":85,"text":86},"2dc9262bd4524",[],". I suppose it's a measure of how naive we are, but this wasn't even on our radar.",[88],{"_key":72,"_type":89,"href":90,"reference":12},"link","http:\u002F\u002Fblog.stackoverflow.com\u002F2008\u002F10\u002Fpodcast-27\u002F","normal",{"_key":93,"_type":62,"children":94,"markDefs":99,"style":91},"5a9c27369d6e",[95],{"_key":96,"_type":66,"marks":97,"text":98},"5a9c27369d6e0",[],"Well, now it is.",[],{"_key":101,"_type":62,"children":102,"markDefs":115,"style":91},"b9d38951ffd8",[103,107,111],{"_key":104,"_type":66,"marks":105,"text":106},"b9d38951ffd80",[],"If you irritate another user, they might be having a bad day and decide to take it out on you by ",{"_key":108,"_type":66,"marks":109,"text":110},"b9d38951ffd81",[81],"methodically going through and downvoting every post you've made",{"_key":112,"_type":66,"marks":113,"text":114},"b9d38951ffd82",[],". The impact of this is pretty limited on Stack Overflow, as you only get 30 votes per day, and upvotes are +10 while downvotes are only -2 (and -1 to the votee).",[],{"_key":117,"_type":62,"children":118,"markDefs":132,"style":91},"0de30211ceb3",[119,123,128],{"_key":120,"_type":66,"marks":121,"text":122},"0de30211ceb30",[],"(As an aside, if you're regularly pissing off a lot of other users, consider taking part of ",{"_key":124,"_type":66,"marks":125,"text":127},"0de30211ceb31",[126],"58d98ebbeaa8","our FAQ",{"_key":129,"_type":66,"marks":130,"text":131},"0de30211ceb32",[]," to heart: be nice! We're all here to learn from and share with each other. This is in no way an excuse for bad behavior, of course, but realize that people tend to respond in kind. When in doubt, always treat people with the same respect and decorum you'd want them to treat you. Even if they don't deserve it.)",[133],{"_key":126,"_type":89,"href":134,"reference":12},"http:\u002F\u002Fstackoverflow.com\u002Ffaq",{"_key":136,"_type":62,"children":137,"markDefs":142,"style":91},"6292bf95ac59",[138],{"_key":139,"_type":66,"marks":140,"text":141},"6292bf95ac590",[],"Still, it's unacceptable behavior, and I've been getting several reports of this sort of revenge downvoting now, enough that we needed to take action to combat it.",[],{"_key":144,"_type":62,"children":145,"markDefs":150,"style":91},"07f8a6b187b5",[146],{"_key":147,"_type":66,"marks":148,"text":149},"07f8a6b187b50",[],"",[],{"_key":152,"_type":53,"alt":153,"markDefs":12},"55e0a53f7480","Poll Faults",{"_key":155,"_type":62,"children":156,"markDefs":178,"style":91},"11a748484d5b",[157,161,166,170,174],{"_key":158,"_type":66,"marks":159,"text":160},"11a748484d5b0",[],"I was pleasantly surprised to find that the vast, vast majority of Stack Overflow users do ",{"_key":162,"_type":66,"marks":163,"text":165},"11a748484d5b1",[164],"em","not",{"_key":167,"_type":66,"marks":168,"text":169},"11a748484d5b2",[]," engage in revenge downvoting. Unfortunately, for those users that do, the pattern was quite clear. As of today, ",{"_key":171,"_type":66,"marks":172,"text":173},"11a748484d5b3",[81],"we have several queries that look for unusual downvote patterns",{"_key":175,"_type":66,"marks":176,"text":177},"11a748484d5b4",[],". If we discover these patterns in a given user's voting history, we view all their downvotes for that user as suspect. They're all silently deleted, and any lost reputation is restored to the unfortunate target of these downvotes.",[],{"_key":180,"_type":62,"children":181,"markDefs":194,"style":91},"ace6156f01b6",[182,186,190],{"_key":183,"_type":66,"marks":184,"text":185},"ace6156f01b60",[],"While working on this code, I also realized that we should be checking for the inverse of this behavior -- unusual ",{"_key":187,"_type":66,"marks":188,"text":189},"ace6156f01b61",[164],"upvote",{"_key":191,"_type":66,"marks":192,"text":193},"ace6156f01b62",[]," patterns. To game the reputation system, unscrupulous users might create alternate user accounts that vote up their main account. Again, this is a bit tougher on Stack Overflow than other sites, because we don't allow any user account to upvote at all until they've earned 15 reputation first. And then of course there's the aforementioned 30 vote per day limit.",[],{"_key":196,"_type":62,"children":197,"markDefs":218,"style":91},"bbf8640e1b5c",[198,202,206,210,214],{"_key":199,"_type":66,"marks":200,"text":201},"bbf8640e1b5c0",[],"I reformulated my queries, and I found that there were ",{"_key":203,"_type":66,"marks":204,"text":205},"bbf8640e1b5c1",[81],"many, many more suspicious upvote patterns",{"_key":207,"_type":66,"marks":208,"text":209},"bbf8640e1b5c2",[]," than downvote patterns. More than five times as many! I guess I shouldn't be surprised, since the value of a single +10 upvote is fairly high. In parallel with the downvote validation, we now use several daily heuristics to detect strange user upvoting patterns; if we decide the upvotes are questionable, they will ",{"_key":211,"_type":66,"marks":212,"text":213},"bbf8640e1b5c3",[164],"all",{"_key":215,"_type":66,"marks":216,"text":217},"bbf8640e1b5c4",[]," be removed.",[],{"_key":220,"_type":62,"children":221,"markDefs":226,"style":91},"1fae2403943d",[222],{"_key":223,"_type":66,"marks":224,"text":225},"1fae2403943d0",[],"Anyway, if you find that your reputation has changed overnight, it might be because we now check for, and remove, any suspicious upvote or downvote patterns.",[],{"_key":228,"_type":62,"children":229,"markDefs":246,"style":91},"1b8a0661756f",[230,234,238,242],{"_key":231,"_type":66,"marks":232,"text":233},"1b8a0661756f0",[],"I thought about doling out reputation penalties to the users involved, but I figured it's better to err on the side of forgiveness. I want to be clear that the \"problem\" voters are a very, ",{"_key":235,"_type":66,"marks":236,"text":237},"1b8a0661756f1",[164],"very",{"_key":239,"_type":66,"marks":240,"text":241},"1b8a0661756f2",[]," small part of the Stack Overflow community. Most people use the voting system the way it was intended. Our policy on this is simple: we'll silently remove any vote fraud we detect. Please don't do it. In the long run, it will be ",{"_key":243,"_type":66,"marks":244,"text":245},"1b8a0661756f3",[81],"easier to earn reputation by posting great answers and questions than gaming the system.",[],true,"2008\u002F12\u002F23",{"code":250,"language":251},"\u003Cp>As we discovered in the \u003Ca href=\"http:\u002F\u002Fblog.stackoverflow.com\u002F2008\u002F10\u002Fpodcast-27\u002F\">Stack Overflow podcast with the Reddit guys\u003C\u002Fa>, they have a hidden mechanism for detecting and defeating \u003Cstrong>revenge voting patterns\u003C\u002Fstrong>. I suppose it's a measure of how naive we are, but this wasn't even on our radar.\u003C\u002Fp>\n\u003Cp>Well, now it is.\u003C\u002Fp>\n\u003Cp>If you irritate another user, they might be having a bad day and decide to take it out on you by \u003Cstrong>methodically going through and downvoting every post you've made\u003C\u002Fstrong>. The impact of this is pretty limited on Stack Overflow, as you only get 30 votes per day, and upvotes are +10 while downvotes are only -2 (and -1 to the votee). \u003C\u002Fp>\n\u003Cp>(As an aside, if you're regularly pissing off a lot of other users, consider taking part of \u003Ca href=\"http:\u002F\u002Fstackoverflow.com\u002Ffaq\">our FAQ\u003C\u002Fa> to heart: be nice! We're all here to learn from and share with each other. This is in no way an excuse for bad behavior, of course, but realize that people tend to respond in kind. When in doubt, always treat people with the same respect and decorum you'd want them to treat you. Even if they don't deserve it.)\u003C\u002Fp>\n\u003Cp>Still, it's unacceptable behavior, and I've been getting several reports of this sort of revenge downvoting now, enough that we needed to take action to combat it.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.coxandforkum.com\u002Farchives\u002F000973.html\">\u003Cimg src=\"http:\u002F\u002Fstackoverflow.blog\u002Fwp-content\u002Fuploads\u002F2017\u002F02\u002F06.11.07.PollFaults-X.gif\" alt=\"Poll Faults\">\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>I was pleasantly surprised to find that the vast, vast majority of Stack Overflow users do \u003Cem>not\u003C\u002Fem> engage in revenge downvoting. Unfortunately, for those users that do, the pattern was quite clear. As of today, \u003Cstrong>we have several queries that look for unusual downvote patterns\u003C\u002Fstrong>. If we discover these patterns in a given user's voting history, we view all their downvotes for that user as suspect. They're all silently deleted, and any lost reputation is restored to the unfortunate target of these downvotes.\u003C\u002Fp>\n\u003Cp>While working on this code, I also realized that we should be checking for the inverse of this behavior -- unusual \u003Cem>upvote\u003C\u002Fem> patterns. To game the reputation system, unscrupulous users might create alternate user accounts that vote up their main account. Again, this is a bit tougher on Stack Overflow than other sites, because we don't allow any user account to upvote at all until they've earned 15 reputation first. And then of course there's the aforementioned 30 vote per day limit.\u003C\u002Fp>\n\u003Cp>I reformulated my queries, and I found that there were \u003Cstrong>many, many more suspicious upvote patterns\u003C\u002Fstrong> than downvote patterns. More than five times as many! I guess I shouldn't be surprised, since the value of a single +10 upvote is fairly high. In parallel with the downvote validation, we now use several daily heuristics to detect strange user upvoting patterns; if we decide the upvotes are questionable, they will \u003Cem>all\u003C\u002Fem> be removed.\u003C\u002Fp>\n\u003Cp>Anyway, if you find that your reputation has changed overnight, it might be because we now check for, and remove, any suspicious upvote or downvote patterns.\u003C\u002Fp>\n\u003Cp>I thought about doling out reputation penalties to the users involved, but I figured it's better to err on the side of forgiveness. I want to be clear that the \"problem\" voters are a very, \u003Cem>very\u003C\u002Fem> small part of the Stack Overflow community. Most people use the voting system the way it was intended. Our policy on this is simple: we'll silently remove any vote fraud we detect. Please don't do it. In the long run, it will be \u003Cstrong>easier to earn reputation by posting great answers and questions than gaming the system.\u003C\u002Fstrong> \u003C\u002Fp>","html","2008-12-23T12:00:00.000Z",{"current":254},"vote-fraud-and-you",[256,264],{"_createdAt":257,"_id":258,"_rev":259,"_type":260,"_updatedAt":257,"slug":261,"title":263},"2023-05-23T16:43:21Z","wp-tagcat-company","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":262},"company","Company",{"_createdAt":257,"_id":265,"_rev":259,"_type":260,"_updatedAt":257,"slug":266,"title":268},"wp-tagcat-design",{"current":267},"design","Design","Vote Fraud and You",[271,277,283,289],{"_id":272,"publishedAt":273,"slug":274,"sponsored":12,"title":276},"76c9771b-34e6-4d98-8641-ecefc711f0ef","2026-07-06T15:23:34.559Z",{"_type":10,"current":275},"when-the-sensor-starts-thinking-snortml-agentic-ai-and-the-evolving-architecture-of-intrusion-detection","When the sensor starts thinking: SnortML, agentic AI, and the evolving architecture of intrusion detection",{"_id":278,"publishedAt":279,"slug":280,"sponsored":12,"title":282},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":281},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":284,"publishedAt":285,"slug":286,"sponsored":12,"title":288},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":287},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":290,"publishedAt":291,"slug":292,"sponsored":12,"title":294},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":293},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"data":296,"sourceMap":-1},{"count":297,"lastTimestamp":12},0]