Welcome to Codidact Meta!
Codidact Meta is the meta-discussion site for the Codidact community network and the Codidact software. Whether you have bug reports or feature requests, support questions or rule discussions that touch the whole network – this is the site for you.
Working together: community customizations
Code Golf is not a typical Q&A community. Code golf is a form of competitive programming -- somebody poses a coding challenge, and people try to solve the problem using as few bytes of code as possible. In other words, like in the physical game, golfing is about completing the challenge with the fewest strokes.
Challenges on the Code Golf community get a lot more answers than questions on most of our other communities. The Code Golf community was the motivation for us to add the table of contents for answers a while back -- we were going to do that anyway at some point, and then Code Golf joined our network and the need became more immediate. The table of contents was a big help for them (we're told), but there was still a gap.
The table of contents sorts answers by voting, but golfers wanted a leaderboard that sorts challenge responses by code size. And because it's not really fair for answers in different languages, some verbose and some designed for golfing, to compete head to head, the community also needed a way to show the languages in this leaderboard. While a userscript can solve the problem for those in the know, we and the community wanted this to be readily available to all.
Enter one of our users, Moshi, who made this for the community (no userscripts required):
Or, grouped by language to give folks using Java, C, and others a shot:
(Those are from this challenge -- check it out. And yeah, I'd never heard of the Shakespeare Programming Language before either; what it lacks in concision it gains in charm.)
This afternoon I watched Moshi, a user, and ArtOfCode and luap42, Codidact developers, troubleshoot this leaderboard via chat and screen-sharing. I want to call out how awesome it is that a community member is contributing code specific to one of our communities, and our developers are helping with the debugging and setup, and we have a way to add community-specific code so we can be more responsive to individual communities' needs. When it all comes together like this it's really inspiring to me.
This is what "by the community, for the community", looks like. I'm very proud of the whole team, from the golfers who described what they wanted and shared a userscript, to the community member who jumped in to write the leaderboard using our framework, to the Codidact team members who helped review, test, and integrate it. And I'm proud of the Codidact team for designing in a way to add community-specific extensions in the first place -- because no matter how configurable the platform code is, there are always going to be extras that don't fit into that platform.
The Code Golf leaderboard isn't our first community-specific extension, but it's our first community-contributed community-specific extension, and I'm happy to see that the structure we put in place for that worked.
Kudos to all involved!
The Code Golf community on Codidact welcomes other kinds of challenges too, by the way. Golf is the most common challenge type but not the only thing they do. ↩︎
I want to mention another customization we made on Code Golf recently. The community came to us and said: good challenges are hard to write, and we want them to be rewarded more. We turned a few knobs and now upvotes on challenges are worth 10 reputation, while questions in other categories stay at 5. That sort of change doesn't require any new code like the leaderboard did; if your community wants changes in voting reputation, please point us to your meta discussion about it and we can do that for you. ↩︎