Tech Year(s) In Review
It’s been a little over two years since Jeffrey purchased the forums, though it hardly feels like it’s been that long. In that time, we’ve made enormous strides in tackling the technical debt left across the website by the previous owner; we’ve also introduced several new features, improvements, and bug fixes.
To really appreciate just how far the site has come since then, it’s worth looking back at where things stood before then, when Lowtax still owned the website and Jeffrey had only just volunteered to help out with the forum code. The infrastructure was aging; systems were unpatched, and let’s speak no more of the old frontpage CMS server that was still running on software that stopped receiving updates in 2012.
- Previous developers’ code edits were not recorded: the last tracked items we could find dated back to late 2014. Edits to the forum’s code since then had been made on the live servers only, including edits performed directly on the mangled machine-readable version of the forum’s JavaScript files rather than the human-readable source code files. A development/staging server (where the site’s developers could test code changes before they went live on the website) was partially configured, but unused. In short: it was a mess.
- The forums were originally (in radium times) set up to have both primary and secondary database servers. However, after everything was virtualized and moved to the cloud in 2016, the former owner was uninterested in having any sort of redundancy, let alone backups. We built out some replicas and set up backups around a year and a half ago; earlier this year we successfully moved to an even more modern set of database servers with significantly higher specs. This has almost completely eradicated the intermittent spikes in page load time we were seeing with the old one. We also have remote backups prepared in the event of some sort of disaster.
- There was a virtual storage server that hosted the site images/videos/downloads, forum images, etc. We migrated all of these to a modern type of file hosting using object storage. At the same time, we upgraded the forum store so it would remain on supported software versions to ensure continued PCI compliance. We significantly enhanced its security, and your data is safer than it ever has been. As a reminder, no part of the forums/store/etc. store any of your payment information; that is all stored/handled by the payment processor.
- The majority of the forum stylesheet and JavaScript files were still hosted on the forum servers themselves, and they did not benefit at all from any content delivery network (CDN). We moved those files to object storage as well, where they would successfully be cached, meaning quicker load times for forum pages; we also improved the caching strategy so that Firefox users’ browsers would no longer need to revalidate every image, stylesheet, and JavaScript resource on the page any time they hit :f5:. And, speaking of stylesheets, don’t forget there’s a dark mode now.
Our main focus so far has been bringing the aging infrastructure up-to-date. Early 2022 saw the culmination of much of this work, where we were able to finally implement a multi-year jump in PHP version from “abandoned roughly seven years ago” to “7.4, which was actually supported by its developers until two weeks before this post”. Since migrating to this version, forum pages have been loading faster than ever.
Aside from infrastructure, we’ve made several other noteworthy improvements. We recovered a copy of the most complete waffleimages archive kept by forum hero
Scuttle_SE, and we set up our own mirror under the [fixed]wi.somethingawful.com[/fixed] subdomain. We also adjusted things so that old waffleimages images and links in threads would automatically point to our new mirror instead, restoring many old threads to their former glory.
We turned an intermittent DDoS earlier this year into an opportunity to improve things across the board, addressing several inefficiencies when presenting forum pages.
Several forum pages, including the Leper’s Colony, now display events in local time instead of server time, so people no longer have to try to work out the time zone difference. Staff information is now displayed in user profiles, so you don’t have to wonder what forum a moderator you’ve never seen before moderates.
The Thread IK system in particular saw a large overhaul, starting with bug fixes around its permissions to a new, useful display of Thread IKs at the top of applicable threads and, finally, a page for the administrators to manage Thread IKs. I look forward to seeing more Thread IKs now that the system is feature-complete!
We’ve squashed several troublesome bugs that had plagued the forums for years. For example:
- When the forums were especially busy, pages could start to take multiple seconds to load or even time out entirely, making the forums unusable. This was resolved with a newer version of the forum’s data cache software.
- Posts used to sometimes get “stuck”, needing a new reply to “free” them; this turned out to be caused by the script that handles new replies doing two tasks out of order. The cache would be cleared before the new reply was available, meaning if someone viewed the thread in that brief timespan, the page would be re-cached without the latest reply.
- Putting unicode into your custom title in the store would completely mangle it, and that has all been fixed.
- Just a week ago we fixed an incredibly annoying issue with thumbnail images (timgs) where they would screw up people’s scroll position when trying to jump to a specific post.
Our current major project is to once more upgrade the backend software powering the forums. This requires a ton of cleanup of the forum code, and it’s been going pretty well – it’s led to innumerable small bug fixes along the way. After our preparation for this upgrade is “complete”, we’ll be doing some beta testing to catch any lingering issues, and then the forums should enjoy another boost in speed once everything is finalized.
Looking towards the future, we have already made significant progress towards the restoration of the frontpage. The frontpage and CMS have been thoroughly overhauled to run on modern software versions. Our next tasks are to address the static site generator and the Rube Goldberg machine that takes articles from the CMS and delivers the frontpage content to you. I apologize that this has not gone more quickly; upgrading the store and the forums were, quite simply, the highest priority.
After the frontpage overhaul is out of the way, the forums will once again be the primary focus. Aside from the continued overhauls necessary to pay down the remaining technical debt, we’ve got several exciting new and improved features planned, including improving forum attachments, better forum announcements that you can dismiss, and better page templates that look and feel good to use on a mobile device. We’ll also be expanding the experimental BBcode buttons to a standard feature with support for more BBcodes, and don’t worry – you will still be able to disable them in your forum options if you don’t want them.
Finally, I would like to personally thank all of you: Jeffrey for buying the website and for hiring me, everyone who buys things at the forum store or donates to
the forums patreon or
the forums directly so SA can afford more development time, and also thanks to everyone who posts on or even simply lurks or reads the forums. It has been my pleasure to help dig these old forums out of their pit of neglect, and all of you have made that possible.

heers:
P.S. Everyone is welcome/encouraged to read and participate in the
Technical forum (TECH), the forum to discuss the forum software. There’s a
changelog thread where the latest updates get posted, a
thread to report issues, and the rest of the forum is full of feature ideas, questions, suggestions, bug reports, and more.