Fix My Tutorial
Rot Index · updated 2026-10-17

How many popular tutorials still work?

We ran 29 popular Python and JavaScript tutorials, published 2013 to 2018, step by step in fresh sandboxes with today's package versions. Here is what still works, what broke, and the fix for each. 21 more were left out because checking them by hand didn't confirm what the automatic run reported.

3% still work
59% broke, and we fixed them
31% broke, could not fix
7% could not run here

Why tutorials break

Releases that broke the most tutorials

A typical tutorial here broke 96 months after it was published.

Every tutorial we checked

TutorialLanguageYearResultReport
Understanding the FFT Algorithm
jakevdp.github.io
Python 2013 Fixed
Broke in numpy 1.12.0
Report
XKCD Plots have Landed in Matplotlib!
jakevdp.github.io
Python 2013 Fixed
Broke in matplotlib 3.6.0
Report
Frequentism and Bayesianism: A Practical Introduction
jakevdp.github.io
Python 2014 Fixed
Broke in matplotlib 3.2.0
Report
The Model Complexity Myth
jakevdp.github.io
Python 2015 Could not fix Report
Group-by From Scratch
jakevdp.github.io
Python 2017 Could not fix
Broke in matplotlib 3.8.0
Report
Embedding Matplotlib Animations in IPython Notebooks
jakevdp.github.io
Python 2013 Fixed Report
A Simple Animation: The Magic Triangle
jakevdp.github.io
Python 2013 Could not fix
Broke in matplotlib 3.5.0
Report
Selecting good features - Part II: linear models and regularization
blog.datadive.net
Python 2014 Fixed
Broke in scikit-learn 1.2.0
Report
Selecting good features - Part III: random forests
blog.datadive.net
Python 2014 Could not fix
Broke in scikit-learn 1.2.0
Report
Selecting good features - Part IV: stability selection, RFE and everything side by side
blog.datadive.net
Python 2014 Could not fix
Broke in setuptools 82.0.0
Report
Random forest interpretation with scikit-learn
blog.datadive.net
Python 2015 Could not fix
Broke in Python 3.12.0
Report
How to Time Small Pieces of Python Code with timeit
blog.pythonlibrary.org
Python 2014 Fixed Report
Scanning hyperspace: how to tune machine learning models
cambridgecoding.wordpress.com
Python 2016 Fixed
Broke in scikit-learn 0.20.0
Report
Data Science Day #3 - Classification Models
bluewatersql.wordpress.com
Python 2016 Fixed
Broke in scikit-learn 0.20.0
Report
Selecting good features - Part I: univariate selection
blog.datadive.net
Python 2014 Could not fix
Broke in setuptools 82.0.0
Report
Machine learning 8 - Support Vector Machine - Part 2
qingkaikong.blogspot.com
Python 2016 Fixed
Broke in scikit-learn 0.20.0
Report
Creating Pandas DataFrames from Lists and Dictionaries
pbpython.com
Python 2016 Fixed
Broke in pandas 1.0.0
Report
Pandas Grouper and Agg Functions Explained
pbpython.com
Python 2017 Fixed
Broke in pandas 3.0.0
Report
Implementing a Weighted Majority Rule Ensemble Classifier
sebastianraschka.com
Python 2015 Could not fix
Broke in scikit-learn 0.20.0
Report
A Neural Network in 11 lines of Python (Part 1)
iamtrask.github.io
Python 2015 Fixed Report
Implementing a Neural Network from Scratch in Python
dennybritz.com
Python 2015 Fixed Report
Visualize the programming language influence graph
freecodecamp.org
Python 2017 Not runnable Report
2016 World Cup of Hockey NHL Team Captains
galeascience.wordpress.com
Python 2016 Not runnable Report
SciPy 2015 sklearn tutorial: Classification of Handwritten Digits
github.com
Python 2015 Fixed
Broke in scikit-learn 0.20.0
Report
TensorFlow-Examples: Simple hello world using TensorFlow
github.com
Python 2016 Fixed
Broke in tensorflow 2.0.0
Report
Transforming data with Node.js transform streams
codewinds.com
JavaScript 2013 Fixed
Broke in Node.js 22.0.0
Report
Getting Started with ES6 (ES2015) and Babel
davidwalsh.name
JavaScript 2016 Still works Report
Intercept HTTP Requests with Node.js nock
davidwalsh.name
JavaScript 2015 Fixed
Broke in nock 15.0.1
Report
Building your first interactive Node JS CLI
dev.to
JavaScript 2018 Could not fix
Broke in chalk 5.0.0
Report