So I did something incredibly convenient and ridiculously stupid: I yanked out the buildpack, and just committed the compiled assets to the repository.
It let us deploy, but boy is that dirty. And I can't tell you how often we had really silly conflicts. Often.
I think matters remained unchanged for a long time. A year? More? Then Tejas Bubane tackled the problem and with much digging and experimentation, figured out exactly what was wrong, and exactly how to fix it using only official buildpacks. Now (finally) we have trashed the compiled assets, gitignored them, and the deploy takes care of everything.
Jeremy Walker helped me dig into some of the numbers (does Exercism work? If people join, how long do they stick around—that sort of thing) and noticed that the Google Analytics numbers were impossibly low. The simple proof was that we had more new users in the database for the month than Analytics was reporting as total visitors.
Tejas Bubane dug into it and figured out the problem, and the fix, and we are now back to measuring real numbers.
For years people have been asking for a mentorship feature. It would work something like this: I invite my mentor to see all my solutions on Exercism, and they can see them even if they've not submitted them.
A couple of weeks ago I realized that we already have this feature. it's called Teams.
So with zero new code, we now have a mentorship feature. Have the mentor create a new team, and add the mentee as a member. The mentor will get access to all of the mentee's solutions, even if they've not solved the exercise themselves.
tetchi reported some accessibility issues... and then went right ahead and fixed them, cleaning up so screen readers are less noisy, and making it easier to navigate.
Track Icon Attributions
The icons for each language track used to live in the main exercism.io repository. That was kind of annoying, because the people most likely to update or fix or add or tweak a language track icon are the people contributing to a language track... and that happens in the language-specific GitHub repository.
So we migrated those icons out of the main repo and into the bajillion other repos—a bit of work, but worth it because that's where people will look for them.
Some of these logos are modified or simplified versions of the official language logos. In those cases we need to comply with their license, and provide attribution.
We did that—we had attribution for all the icons (except the ones were we just made something up ourselves). Unfortunately when I wrote up the issue to move the language icon into the track repositories I forgot that we should also move the attributions.
catb0t has taken the time to submit pull requests on every language track, including the tracks that aren't officially launched yet, moving the attribution into the track repo's README.
If you've ever solved the Largest Series Product exercise and wondered how on earth the value of the largest series for an input of "" would be 1, then you're in for a treat. Peter Tseng wrote up a great, thorough, helpful explanation in a comment on an issue in the Go track repository.
If you're interested in getting involved in any of the tracks, I've been writing some documentation about how to do that. It's still in a pull request, and I'd love your feedback about what is confusing or what is missing or what could be improved: https://github.com/exercism/exercism.io/pull/3232
The Chat Room
If you've spent any time in the chat room, you'll probably have gotten help and feedback from Victor Goff. If you run into him, thank him for all the time and mentorship he's put into Exercism.