We recently turned 10 years old. Unfortunately, we didn't really realise and therefore didn't really celebrate or even mark the occasion. But, it got me thinking about the history of the site, and now that the site blog is a thing, I thought I'd write up a brief (or rather, not so brief) history of the past 10+ years of Code Golf, PPCG and CGCC. Enjoy!
On September 15th 2008, to celebrate the official public launch of Stack Overflow, Chris Jester-Young posted the very first code golf question on SO. For a few years, [code-golf] problems popped up from time to time on SO. However, people started expressing dislike for these questions, claiming they weren't really a part of the Q&A system that SO was based on. And so, a proposal for a new site was created on the 8th of June 2010, and entered private beta 6 months later.
Just over 10 years ago, Code Golf Stack Exchange came into existence. Since then, we've developed rules, gone through multiple cultural shifts and have changed drastically as a site. I'm a relatively new user, compared to some. I joined in March 2017, right as we were experiencing our all time peak in activity. I wasn't around for a lot of CGCC's history, but I've managed to isolate it down to 5 or 6 "eras" and I hope I can tell them accurately.
This post contains the rough "story" of the site, and a lot of links to the full details. You shouldn't have to click on any of the links in order to understand something, but it'll definitely help
On January 27th, 2011, Code Golf entered its private beta, lasting for a week. 258 users joined during that beta, including Peter Taylor, gnibbler and Chris Jester-Young, who were just a few of the earliest and most influential users at site creation. This is a list of those users who posted, many of whom set the groundwork for the site. A couple of weeks later, Chris Jester-Young, dmckee and gnibbler were appointed as moderators and Code Golf officially joined the ranks of SE sites.
For the first couple of years, the site sort of just continued along. We averaged around 3 questions per day and had a consistent yet low intake of new and active users. However J, Golfscript and APL dominated on the site, which upset a lot of people - something we've discussed many times. Compared to the current site, PPCG was a lawless wasteland - the loopholes hadn't yet been decided upon, and many "fun" but now-invalid answers were posted. However, despite the minor problems bubbling under the surface, the site was a relatively peaceful - albeit quiet - corner of Stack Exchange. Until a troll arrived.
code-trolling and the activity boom
code-trolling challenges began on December 27, 2013 when the first one was posted as an experimental new challenge type. It was immediately a smash, hitting 100 upvotes and 10k views in less than 24 hours, and receiving more than 80 answers. The next day, 8 more code-trolling challenges were posted, and the site experienced a massive boom in activity. A few days later, the second highest voted challenge was posted, and even more users joined the site. Most notably, future moderator and all around awesome person Dennis, who would later go on to shape much of the community.
Unfortunately, code trolling questions are not high quality. Most of them were so broad as to basically be "write some code that has something to do with <insert task here>", and they were leaking into the network. Many people disliked them, they were decreasing the quality of questions on the site, and so, after a few months, an official stance was taken: code-trolling is no longer welcome. A massive clean up was organised, and 47 of the 60 existing code-trolling questions were removed. If you have 10000 or more reputation and would like to see those, here's a query with links.
However, this clean up required users with moderation powers to use them for the Greater Good™ at a time where PPCG had very few active moderating users. Organised by Doorknob, a call to action was put out, and, a few months later, it was officially requested that PPCG have another moderator appointed - specifically nominating Doorknob. On May 7th 2014, Doorknob was officially given a diamond, something he's kept for the past 7 years as he's competently moderated the site through the rest of the events I'll be recounting.
2014 and 2015 were pivotal times for PPCG. Key community posts, such as the FAQ, were created during this time to help new users, there was serious discussion about the future and purpose of the site, and the dedicated community exploded in size. Users like Alex A., Geobits, Rainbolt and many more became leading figures in the site's community, and made full use of chat as a "third place". This sense of community is what demarcates PPCG/CGCC from other golfing sites in my opinion, leading to site specific memes and references† that live on to this day.
With this new community, came new leaders. In March 2015, Chris Jester-Young stepped down as a moderator after being hired as a developer at Stack Exchange. He nominated Martin Ender (then Büttner) to replace him. Confirmed by popular choice, Martin joined the moderator team and served as one of the most exemplary moderators for 3 more years. As part of the moderation team, he helped define some of the biggest site policies, such as establishing I/O defaults, our policy on newer languages being allowed, and starting the discussion about the fact that CGCC isn't a Q&A site and how we fit with the Stack Exchange model. Furthermore, he helped spread the word about esolangs and golfing langs, a pivotal part of the CGCC community.
5 months later, dmckee, after over 4 years, stepped down as a moderator, prompting an informal moderator election. Initially, one moderator position was available, and it appeared that Dennis had it in the bag. However, due to circumstances unknown to all but the moderators and Community Managers, it was decided to offer the position to both Dennis and Alex A. At this point, the mod team had undergone far more changes than is typical for a Stack Exchange site not yet graduated. However, from now until 2016, the team was and would stay as gnibbler, Doorknob, Martin Ender, Dennis, Alex A. and Chris Jester-Young1
To close off the year, we started our tradition (not at all stolen) of showcasing the best posts from that year, something that's currently been running for 6 years. I'd recommend checking out some of the older Best Ofs - they're still excellent demonstrations of languages, techniques, challenges and answers.
As a strong and healthy site, PPCG and its community thrived. However, after 1846 days in beta, we felt somewhat neglected or ignored by Stack Exchange. Various pushes to increase activity, efforts to increase the number of high reputation users, etc. were all ignored. Until February 23rd, 2016.
1: After leaving Stack Exchange in December 2015, Chris rejoined the mod team
After so long in beta, graduation had become a meme†, a prank made every so often by Geobits and co. to convince people that PPCG was graduating. However, on February 23rd 2016, SE ruined the meme† by going ahead and graduating us. With this massive step, we gained many new privileges, such as our own formal moderator elections, some control over the advertisements shown on the site, and, eventually, we got our own design.
The first of these changes was PPCG's first official moderator election. When a site graduates, the pro-tem mods must run in the election if they wish to keep serving as moderator. Doorknob, Alex, Dennis and Martin did, against a strong field of candidates. Despite this, Martin was re-elected in a landslide victory, with Dennis and Doorknob being clear favourites after him. While not as strong as the others, Alex successfully defended his seat by a handy margin. After 5 years, gnibbler declined to run, as did Chris Jester-Young. And so, despite the site going through a pretty big change, the moderation team stayed roughly the same faces as most users were used to.
Next to follow would be the Community Ads, despite some delays in getting these set up. Community Ads are a system that allow the community to decide what kind of adverts are shown on the site, rather than showing paid or sponsored advertising. These ads, created and voted on by the community, were the first appearance of some of the iconic ads still used today, such the ad for Try it online! (an online interpreter of over 600 languages, created and hosted by Dennis), the Sandbox and Know How To Vote. The ads themselves weren't an especially big thing, but the intent and meaning behind them was clear: PPCG was no longer a beta site, was now fully grown up and was given more control and independence by Stack Exchange.
Continuing the trend from previous years, 2016 and 2017 had a massive increase in challenges posted each year, both of them reaching over 3000 each. Aside from the boom after code-trolling, this was the biggest activity increase in the site's history, and was one of the longest sustained. During this period, some of the most well-known questions and answers were posted as well, posts that established just how awesome the site could be at its best. To choose far too few to demonstrate, Quest For Tetris, Mathematica's goat builtin and the still ongoing Add a language to a polyglot were all posted during these two years. I'd suggest, if you have the time, browsing the top voted posts from this era.
As a grown up SE site, the top of the to-do list was a design. Ideas were thrown around, to create something that would make PPCG feel unique, rather than the generic blue beta design. Unfortunately, as PPCG graduated through design-independent graduation, we still had a bit to wait.
A slow decline and occasional improvements
2016 and 2017 experienced perhaps the most activity in the site's history. However, 2018 seemed to go the opposite direction. We had the fewest posts since 2013, and almost 12000 users simply stopped visiting the site in 2017. And yet, there's no obvious reason. There was no cataclysmic event that caused a mass exodus, a new competitor site didn't spring up and steal our userbase. The truth is much more mundane, and something we should always remember in communities: People change. Lives change. People just moved on from the site, for a multitude of reasons, and new faces filled their ranks.
The first prominent "loss" was Alex A., who handed in his diamond in February 2018. One of the friendliest users you'll ever interact with, and an incredibly level-headed and competent moderator, he had served for 2 and a half years, with his diamond being removed on Feb 26th, 2018, almost exactly 2 years after we graduated. However, stepping into his shoes were two users who very much deserved to be moderators: DJMcMayhem and Mego2.
From personal experience, I can attest to the fact that DJ, like Alex, was one of the friendliest users on the site. I remember first visiting The Nineteenth Byte, and trying to get involved in code golf, and DJ welcoming me to the site, letting me know of various things I needed to know and more. And, as I took part in the site more, I remember being consistently impressed with how well DJ handled and welcomed new users. Being completely honest, DJ is still one of my role models in introducing newer users to the site. Mego was one of the most principled users on the site, and was very dedicated to moderating the site, even before he got a diamond. Although it doesn't show it3, he was the first user to get Marshal, a badge requiring you to raise 500 helpful flags, was very active in the review queues, and was more than happy to use his deletion powers. We couldn't have asked for 2 better community moderators.
Around the same time, the first iteration of the Language of the Month was started. The first language to be featured was Brachylog, one of the original golfing languages which has undergone development ever since its initial commit in 2015. The event continued for six months until a lack of interest caused the September language to be forgotten, and no more languages became LOTM. That was, until DLosc managed to revive it in 2020. It's now been going for almost exactly a year since.
In March 2018, ch-ch-changes were announced. In an effort to standardise all SE sites, as well as improve their responsive design, it was announced that sites would essentially get a stock theme, with only a few sections that would customisable to the site (such as the top banner, and the color scheme). This was disliked by many people across the network - site designs were unique to the sites and they helped make them feel like their own space. Stock themes did the opposite. However, SE decided to continue with this effort, and we were chosen as the first site to beta this on. This was the first step to CGCC getting its own personalised - albeit somewhat standardised - design.
Which happened 10 months later, and at the same time, the privilege levels were raised. At the time, we were the second longest site between graduation and getting a design, with a grand total of 39 months passing between the two. Probably one of the biggest changes that came about from this was the site name. For over 8 years, we'd been "Programming Puzzles & Code Golf", or PPCG for short. The acronym was ingrained into us. However, after much discussion around the site name, it was finally decided that we should change the name to "Code Golf & Coding Challenges" (or CGCC).
While this was undoubtedly good news, it wasn't an entirely positive time. After more than 3 years moderating this community, shaping our policies and creating all sorts of crazy esolangs, Martin Ender stepped down as moderator. At this point, the moderation team was active and healthy enough to forgo an election, and continued as Doorknob, Dennis, Mego and DJMcMayhem.
2: Mego has since deleted his account, so this page will 404
3: We know for sure that he earned it between Feb 16 2017 and Feb 20 2018 (moderators can't get Marshal, Mego was elected on Feb 20 2018). I haven't been able to pin down a more exact date
The Monica Incident and a death spiral
For anyone who was active on the Stack Exchange network in late 2019, the name "Monica" brings up bad memories and for a good reason. On the evening of September 27th 2019, Monica Cellio, a well respected moderator on 6 Stack Exchange sites - including Meta Stack Exchange where the moderators are hand-picked by the SE staff - had all of her diamonds removed by Stack Exchange, in response to a discussion4 in the Teacher's Lounge4 (the moderator only chat room). Her side of the story can be read here, and an MSE discussion can be found here, including a list of all moderators who resigned their positions due to this firing.
Two such moderators were our own: Dennis and Mego. Additionally, in protest to the new relicensing, Mego requested that all his content on the network be dissociated with him, and his accounts removed. This incident was a dark period of time for the entire network, many users considered leaving the site all together, and many more users decided they'd rather not contribute to SE, given the behaviour they were showing. Some of the best users on the site, such as Peter Taylor, Erik the Outgolfer, Dennis, and many more went inactive in the following months, many of them explicitly blaming what SE did to Monica or the forced relicensing as the trigger. Activity dropped to an all time low (since code-trolling), TNB started going for hours and even days without conversation, and more and more users began to leave. CGCC was in a death spiral.
Right at the depths of this spiral, with a moderation team of just 2 and unhandled flags piling up, SE asked us if we'd be interested in replacing Dennis and Mego and electing two mods to replace them. Unsurprisingly, the answer was a resounding no. Many users felt that the situation with Monica had not been adequately resolved, and that they couldn't trust SE enough to hold a position as moderator. Even more users were outraged by SE referring to the potential election as
[finding] replacements for Mego and Dennis
Unfortunately, a couple of months later in January 2020, after 2 years as a moderator, and almost 5 years on the site, DJMCMayhem handed in their diamond. This reduced the moderation team to just Doorknob, and flags started spending months pending. SE is fairly lax about what will cause a site to be shut down, but the ultimate stopping point is "Are there users willing to step up and moderate this community?". Between Doorknob's low activity, and more and more users leaving, it didn't look like CGCC was in a healthy place. It wasn't even sure what the future of CGCC looked like.
4: Unless you're a moderator, these links won't work for you, as they link to a moderator only room
Present day and a slow recovery
At this time, CGCC was stuck in a bit of a weird place. We'd just experienced a mass exodus of users, and for the months between Monica's firing and the January interest check, activity plummeted. However, between January and September, we experienced an influx of new faces, and a surprising uptick in activity. It seemed as though CGCC was, at least activity-wise, starting to recover. However, in the main factor SE considers - active moderators - we still only had 1 moderator, and, at the time of the election, over 100 unhandled flags.
However, in September 2020, we were scheduled for an election and given an ultimatum: find people willing to moderate the site, or have the site shut down. And so, on the 14th of September 2020, the 3rd moderator election began. In a similar fashion to previous elections of having one user win outright, Wheat Wizard received over 50% of the first round of voting, with second and third place being narrowly awarded to hyper-neutrino and Jo King. They spent their first few hours as moderators working through the flag backlog, and ever since then, they've all served as excellent moderators for the past 11 months.
Related or not, the increase in moderator activity seems to have come with an increase in overall site activity. With this increased activity, came the Best of 2019 (delayed by a year) and, a couple of months later, the Best of 2020. In addition, more posts were made to our meta requesting improved features, such as improving our ask page, disabling auto protection and creating a welcome page. One part of this was the Great Status Tag Updates™, an effort by caird coinheringaahing and hyper-neutrino to apply status tags to old feature-request and bug reports, to make it easier to find what needs to be done, and what's in the works.
One area of the site that has undeniably grown an incredible amount since the low of 2020: chat. We've had new room owners elected, chat-events brainstormed and created and the slow, old feeds replaced with sleek new bots, powered entirely by butter. Chat is, for better or worse, no longer an empty wasteland populated only by Feed oneboxes, and has now developed yet another culture of its own. If you're interested in a space for chatting about code golf that's slightly less formal than main or meta, feel free to drop by The Nineteenth Byte and say hi!
But that brings us to the present day! Where the site may go in the future is anyone's guess - personally, I hope it sticks around for a long while. I hope you enjoyed reading about the history that this site has gone through. I've almost certainly missed events that you may remember specifically, and I may have recounted others in a way you might not remember, but I've tried my best to include the best parts of the site, through how I've seen them. Feel free to let me know in the comments what I've gotten wrong, and what you think the site will look like over the next 10 years!
†: Deleted, only visible to users with 10k or more reputation