The most reliable way to reach me is email:
I read everything. I do not always reply quickly, but corrections get priority over everything else.
Found something wrong?
Please say so. When you write in, it helps enormously if you include:
- the page — the full URL, or just the module name
- what it says, and what you believe it should say
- if it is the visualisation rather than the text, the control settings that produce the problem, and what browser you are on
Factual errors in the written explanations, and animations that misrepresent the algorithm, are the two things I most want to hear about.
What happens to a correction
Every page on this site is generated from source rather than edited by hand, so a fix is never a patch to one file. A reported error gets reproduced first, then corrected at the point it comes from — the written explanation, the code that draws the visualisation, or the numbers the two share — and the whole site is rebuilt from there.
That is slower than editing a page in place, but it means the same mistake cannot survive somewhere else. When a module states a number, that number is computed by the same code the visualisation runs, so a correction to one is automatically a correction to the other.
Once a fix ships, the module's updated date changes and the change is listed on What's New, so you can confirm it landed without having to take my word for it.
How long a reply takes
This is a one-person site with no support desk behind it, so there is no service-level promise to make. In practice: a clear factual correction usually gets acknowledged within a few days and fixed in the same week, because it is the highest-value message I receive. A module request, a licensing question or anything that needs a considered answer can take longer.
If a fortnight goes by with nothing, the message went astray rather than being ignored — send it again.
Requesting a module
If there is a topic you keep failing to find a good explanation of, send it over. Requests that name the specific thing that is confusing ("why does padding change the output size") are far more useful than a broad subject, because the confusion is what a module is built around.
What this address is not for
I cannot debug your code, complete an assignment, or work through a problem set for you. If a module left you unable to do something the module claims to teach, that is worth writing in about, because it means the explanation is not doing its job — but frame it that way rather than as a question to be answered.
For running code, the seven labs on this site — Python, Pydantic, FastAPI, Notebook, SQL, JavaScript and HTML — run entirely in your browser and will usually tell you more, faster, than an email will.
Using VizLearn in teaching
You are welcome to link to any module from a course page, a reading list or a lecture, and to use it live in a classroom. No permission needed. If you want to reproduce a visualisation or the written text somewhere else, check the Terms of Use first, then email me.
Advertising, licensing and press
For anything commercial — sponsorship, licensing the visualisations, or a press enquiry — use the same address and put the subject in the first line so it does not get lost behind the corrections.