When an exercise is deprecated, do implementations of it disappear?

The 8th track had an instance of the binary task. Now it has disappeared even to the extent that the config.json has forgotten it. My student profile however still shows the exercise, viz

That means you deleted it from the config.json I presume? That’s not deprecating an exercise, that’s just removing data. There’s a proper deprecation process which most be followed. It’s important to be very careful when changing data in the config.json (e.g. uuids, removing/reordering blocks).

But i haven’t touched the config. Unless the body snatchers have invaded.

So can i just add it or is that going to cause problems?

i haven’t touched the config.

You did last year: binary deprecated · exercism/8th@0cced32 · GitHub

That will cause problems so we need to tread carefully. Erik’s had to make manual edits to the database to get things sorted.

Can you explain exactly what the state of binary should be pls and then we can work it out.

I saw the changes, my web view is o.k. now. I have cloned the exercism/8th track on github into a private instance, and that i cloned onto my computer at home. When i push after local editing, that should not interfere with the exercism/8th instance, but be accessible for review? I also had a look at exercism/problem-descriptions, to add in time other exercises. The canonical-data.json files are somewhat messy, regarding naming for the input of test cases, and some really bad, the ternary for example gives some as ternary numbers (digits 0-2) , some as strings (decimal and hex digits). A lot of manual work to clean and adapt it…

Hi @Caraciola. Interested to see some tangible examples of where you think the canonical-data.json files are really bad. While there’s areas that can no doubt be improved, these are used by 66 tracks and hundreds of volunteers, and many tracks have generators that semi-automate the whole exercise creation process from them, so while there might be improvements that could be made, I don’t think there’s a lot of work that needs to be done to make them usable.

Do you have some examples we can see and discuss pls? :slight_smile:

The file is “problem-specifications/canonical-data.json at main · exercism/problem-specifications · GitHub” and some of the input numbers are given as trinary numbers, not as strings as some of the other input examples.

The trinary exercise is deprecated (you see it has the .deprecated file in it) with a pointer to “all-your-base” instead: problem-specifications/.deprecated at main · exercism/problem-specifications · GitHub

Yah, but it’s still in the 8th track and dot-files don’t show in usual ls and the web view of the track doesn’t show it too, as Bruce transferred things more or less by hand. A top level field in the canonical-data.json '“status”: “development|active|deprecated” would be nice to have.

Ah. It shouldn’t be then. It’s been deprecated for six years. So it should be replaced with its non-deprecated version. We don’t update canonical-data.json files for deprecated exercises.

I’m not against this, but I’m not convinced it’s warranted. There’s a lot of dot files that are critical in exercism’s world and not having those enabled via ls means lots of things will get missed (and in the modern development world in general).

Feel free to put a PR together that adds status: "deprecated" to the canonical-data.json files of all deprecated exercises and we can see if there is maintainer consensus about it. It will involve work to configlet, CI and other validators then to get it over the line. Or open a dedicated thread here suggesting that and maintainers can chip in here first if you prefer?

No. I think essentially it is covered, no need to change anything besides my habits.

1 Like

Here are the docs for deprecating an exercise btw: Deprecated Exercises | Exercism's Docs

Oh dear. Senility has set in.

But here’s an interesting question: if the definition for binary was no longer in config.json, why were students still seeing binary in their exercise list? Both I and @Caraciola could see it despite the fact that config.json no longer had it.

As it stands, you’ve fixed it which is good. And the Pangram duplication too. Thank you.

We do not support exercises being removed from config.json files. So removing it from there has no effect on the website. By adding it to that file, its permanently added to the website.