Uploaded October 2020 | Updated September 2026, 2 weeks ago
(Books available from https://suchwasnot.com) In this video I show how to create a professional-quality paperback book by hand, using cheap and widely available materials and tools. Some of you asked for links to the materials, so to point you in the right direction: the cutter/ guillotine is from PainterSisters Neuss; the paper for the content is generic 'novel printing paper'; the paper for the cover is Canson Figueras; the mull for the spine is a flexible net-like thing that I buy at a local bookbinder; the glue is 'bookbinders glue', which is a kind of wood (or PVA) glue; the printer is a regular office laserjet from Ricoh. (PS. I accidentally deleted quite a few comments. Sorry if yours was among them!)
(Books available from https://suchwasnot.com) In this video I show how to create a professional-quality paperback book by hand, using cheap and widely available materials and tools. Some of you asked for links to the materials, so to point you in the right direction: the cutter/ guillotine is from PainterSisters Neuss; the paper for the content is generic 'novel printing paper'; the paper for the cover is Canson Figueras; the mull for the spine is a flexible net-like thing that I buy at a local bookbinder; the glue is 'bookbinders glue', which is a kind of wood (or PVA) glue; the printer is a regular office laserjet from Ricoh. (PS. I accidentally deleted quite a few comments. Sorry if yours was among them!)


![Documenting Python code (docstrings) [PythonLiveLessons #5]
The sixth episode of #PythonLiveLessons, a weekly live stream about Python code and more, hosted by Sebastiaan Mathôt. In this episode, well add documentation to our `markdown_code_exec` project. Well learn about docstrings and numpydoc, and well see how we can use our own project to build a readme file that contains documentation directly from the source code! Documenting Python code (docstrings) [PythonLiveLessons #5]](https://i.ytimg.com/vi/ej3S30nC8Io/mqdefault.jpg)


![Inheritance [Object-oriented programming in Python, pt. 3]
In this video, the third of a three-part series about object-oriented programming in Python, I show how to extend an existing class through inheritance (or subclassing). This allows you to create new classes that inherit all functionality of existing classes while extending or changing this functionality. (For more Python tutorials, see https://python.cogsci.nl. For the Rapunzel IDE, see https://rapunzel.cogsci.nl/) Inheritance [Object-oriented programming in Python, pt. 3]](https://i.ytimg.com/vi/fqfqqW-LgBY/mqdefault.jpg)




![Python Decorators 3: Turning a function into a class instance
[https://www.buymeacoffee.com/cogsci] In this video, I show how you can use a decorator to replace a function with a callable class instance that also has methods (class functions) and properties.
You can download the Jupyter Notebook for this video from https://osf.io/2npaf/ Python Decorators 3: Turning a function into a class instance](https://i.ytimg.com/vi/jwcxlZvebDM/mqdefault.jpg)