Broken external link on possibly orphaned binary-octal-hexadecimal concept page

While mentoring on Variable Length Quantity in the Python track, I dug up the following page:

https://exercism.org/tracks/python/concepts/binary-octal-hexadecimal

and discovered it contains a broken link to:

https://towardsdatascience.com/binary-hex-and-octal-in-python-20222488cee1

(the content has moved behind Medium’s paywall).

While drafting a forum post to propose a replacement link, I started wondering whether the page is actually orphaned and no longer actively maintained. In the course of that research, I came across this GitHub discussion:

where it’s mentioned that the binary-octal-hexadecimal concept could use a review once a suitable exercise idea is found for it.

Could @BethanyG or @colinleach take a quick(?) look at the current status and let me know whether it’s worth just swapping in a working replacement link, or whether this should wait for the broader review mentioned in the PR?

I believe that’s deprecated. It doesn’t show up in the syllabus.

Not deprecated. It never made it onto the syllabus (yet).

This is a fairly common situation. A concept can be written up by somebody (for example, me) who enjoys putting together documentation, but is useless at creating new exercises to illustrate the concept. Sometimes the docs stay at PR stage, sometimes they are merged, becoming something we can link to from other concepts (concepts are accessible by URL, even if they don’t show up on the syllabus tree).

The intention is to “think about it later”. Sometimes this happens, sometimes it doesn’t: just human frailty, and volunteers with conflicting priorities.

This has become particularly severe for the Python track, though it is not unique. I currently see 67 merged concepts, but only 21 concept exercises.

Dreaming up really good new concept exercises is hard. Let us value and encourage people who have that skill!


Also, what you currently see on the Exercism website is the introduction.md:, which is a very short document. There is much more detail in the about.md, and I would be happy if that could be made more visible. On some other tracks (Julia, R) I have cheated with docs-only concepts and put the full About text into the Introduction. Apparently, we didn’t do that in this Python case.

2 Likes

Of course, I haven’t exactly answered this. The Python maintainer is @BethanyG, who has the final word on all policy decisions for this track.

Hi @stefanrothermel ,

Thank you for pointing out the paywalled link.

If you have a good replacement link, please propose it here in the forum. Do not PR it - the Python track is closed to community contribution at this time.

No need for broader review of concepts or PRs: The binary-octal-hexidecimal concept is considered marginal, for two reasons:

  1. Given that Python views all of these formats as versions of int (they are not distinct numeric types, their differentiator is format), a “useful” concept exercise is a bit difficult to come up with.

  2. Explaining all the different formats, history, and use to students early in the track is not useful to them in the least. Dealing with ints vs floats is difficult enough without the complication of different int formats.

    In fact, I would argue that introducing binary-octal-hexidecimal in long form could really harm students early in their journey. The reason this whole conversation came up in the PR you reference is that it was about bitwise-operators – a concept much further down the tree/off to the side as an “advanced cluster” than what is already published. That is also why neither concept shows up in an obvious place right now: they’d be disconnected from the other exercises in the syllabus.

Such unlinked concepts are not really intended for public consumption. They are reachable (and we really strive to make them useful and not full of errors), – but of no real purpose (except maybe a few cross-links) until they have a concept exercise that helps them land for a student. (And honestly? Some of them might never get exercises.)

Until the time when we have a fuller syllabus, we are well aware that there are far better resources out on the internet (including the Python docs themselves) if a student is “curious and wants to read up” on some topic that’s arisen as they work through Exercism.

Python won’t do that for concepts without exercises. The principal being that the whole about.md is for someone who wants or needs more detail after going through an exercise to help them understand the concept.

If they are hitting the concept for the first time without any way to practice it, they are much better off going to google, a mentor, or some other reference, IMHO.

Of course the “haven’t started the exercise” state already publishes the about.md - so gumms up the works, but there you have it.

Thanks for the clear explanation, that makes sense — good to know the page is intentionally left as-is for now rather than neglected.

Here’s a replacement link for the broken one, in case it’s useful:

It covers binary/octal/hex conversions in Python at a similar level to the original, so it should slot in fine as a drop-in swap. Happy to suggest something else if this isn’t quite the right fit.

1 Like