All posts
Sections
Programming
Articles about programming in various languages, mainly Python but also Scala, Erlang, C. Other topics I discuss are algorithms, compilers, architectures, operating systems, testing.
MoreRetro
All my retroprogramming articles, bits and bytes, and low level investigations. Home of the "Exploring the Amiga" series. Beware of the dragons!
MoreTop series
TDD in Python with pytest
You might have heard of TDD and tests, but are they part of your workflow? Do you think that writing tests is a useless waste of time, or that it's too complicated for a beginner? Beginner or not, join me in this series of posts where I create a very simple Python class from scratch using a strict TDD approach, and discover the joy of tested, reliable, well-designed code.
A game of tokens
Python, Ruby, Javascript, C, Erlang, how many different languages. But how does a compiler work? How is the source code converted into something that works? To understand that there's nothing better than actually write a language. Let's write a simple language interpreter in Python using TDD!
Flask project setup
Have you ever started working on a web application project just to find yourself swamped in a bunch of files and directories with silly names and without a clear picture of what is really going on? In this series of post I show you how to properly set up a Flask application using TDD, Docker, Postgres and more.
Exploring the Amiga
Is it worth unearthing old architectures? Is it worth understanding how a computer system from the 80s worked? I believe old architectures can teach us a lot, so let's explore "the computer that wouldn’t die"!
Python 3 OOP
What happens behind the scenes of classes and instances? What are composition, inheritance, and polymorphism? A series of posts that dig into the Python implementation of the Object-oriented paradigm.
Books
Clean Architectures in Python
The clean architecture is the opposite of spaghetti code, where everything is interlaced and there are no single elements that can be easily detached from the rest and replaced without the whole system collapsing. The main point of the clean architecture is to make clear "what is where and why", and this should be your first concern while you design and implement a software system, whatever architecture or development methodology you want to follow.
Videos
TDD in Python with pytest (playlist)
I recorded my successful workshop "TDD in Python with pytest" and produced my first series of videos, for a grand total of 2 hours of hands-on tutorial on Test-Driven Development in Python.
Object-oriented programming in Python (playlist)
A journey into the Python implementation of the Object-oriented paradigm, specifically tailored for beginner programmers.