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.
January 2023 Newsletter
Happy new year from the Codidact team! We have a bunch of updates to share about the server migration, platform changes, and new contributors – and we'll check in on the roadmap we laid out to see how we're doing.
We have migrated and slightly re-architected our servers. Our sysadmin team did a lot of planning and testing in advance, so the actual cut-over was quick: we were in read-only mode for an hour or so late one night and down for just a few minutes while we updated DNS. We have some small clean-up tasks yet to do, but we do not expect them to affect service.
We are no longer running everything on one small AWS EC2 instance, but are instead using RDS to (separately) manage the database, including live replication so that recovery from a failure would be fast. We are talking about adding at least one more web server and a load balancer so we'll have that same resilience for the platform code. We believe that both performance and stability are now better.
After we’d written this newsletter, we started experiencing a nasty technical issue that repeatedly crashed the server. It took us a little while to find it, but we managed to isolate the cause. For further information, please see https://shouldiblamecaching.com.
In a few more words, one badly-formed cache call resulted in over 800,000 cache items being stored in memory with no expiry. Predictably, this didn’t go very well – the server repeatedly ran out of memory and crashed. We’ve fixed this now, and we’re looking into what else we can do to keep an eye out for things like this pre-emptively – we’re hoping to be able to share a bit more detail about this on our blog.
New university network
In August, representatives from a large university Computer Science department asked us about using our software instead of Stack Overflow for Teams, which they had been using and could no longer afford. One of our goals is to provide not just the particular communities we host but the platform itself, for free, so that anybody can run it. We're pleased to report that after just a couple weeks of kicking the tires – and fixing some bugs and contributing some new features – they went live. Further, one of their developers has contributed many other improvements and has recently become a reviewer for our repository. We're thrilled by this collaboration!
Our latest Community Spotlight post highlights that contributor, Taeir.
Platform changes since the last newsletter include:
Posts: you can now paste images directly from your clipboard, and we fixed some bugs with editing user profile pages.
Comment improvements: the existence of deleted comments in a thread is more obvious, that comments were edited (and when) is now shown, and you can now choose to be notified of new comment threads on a post.
Tags: improvements to tag suggestions when adding tags to a post, and moderators can now directly create tags without having to edit posts (helpful when setting up tag hierarchies).
Assorted improvements to search, keyboard shortcuts, and layout.
In addition, Taeir and crew made a bunch of improvements that don't affect our network but help people setting up new ones, including:
Single sign-on support (SAML): if your organization already has an authentication service, you can now use that instead of requiring users to create new accounts.
Customizing the tour.
Easier deployment: better database seeding, docker improvements, flexible storage locations (don't assume S3).
Found and fixed a bunch of hard-coded references to codidact.com.
A big thank-you to everyone who has helped with all of this work!
And what about that roadmap?
Just about a year ago we posted a technical roadmap. We said at the time that it was a guideline not a hard constraint. Some parts that we had planned to work on later are in progress now; other parts that we'd hoped to knock out early turned out to be harder than we thought and aren't done yet. We're learning together what works and how projects interact with each other, and we're pretty happy with where we are. Here's an update:
The first two items, what we called "leg 0", were the server upgrade and public acknowledgement of our donors. Both of these are done now. These were not code changes but operational changes.
We planned a multi-phase approach to adding filters to post lists, so you can better choose what you see when you visit a category. The goal for "leg 1" was just to allow you to select from predefined filters. One of our contributors started on that and then decided it would be easier to just do all of it. That work is almost done (code review is in progress and there are a few small things to fix up), and we hope to roll this out soon. When it's live, you'll be able to set a (sticky) filter for any category, either pre-defined ones or ones you define yourself.
One of the other items in "leg 1" is under review, and the others got some initial assessment and sometimes draft code. We learned that some things that we thought would be easy are more complicated. We're continuing to work on these; the goals haven't changed, but our developers need more time.
Meanwhile, another of our developers got an early start on a bunch of improvements to moderator tools that were slated for later phases, including two-way messages so moderators can have private discussions with users. This work also includes UI improvements that should make moderators' jobs easier. We think we're most of the way there but will need some more time to finish it.
Thank you all for your continued interest in Codidact and for all the help in building our platform and our communities.
The Codidact Team
0 comment threads