Skip to content

Blog

#300: Learning Python in the Age of AI?

As AI tools grow in popularity and AI agents for code generation become more common, the question naturally arises: Should we even bother learning Python anymore? Or is it a waste of time when the machine can generate the application for us?

The more I think about it, the harder it gets to find a satisfying answer. Many of the cherished reasons of the past will disappear. Others no longer matter that much when we can change large parts of code in an instant. Let us explore the main points I came up with that we should consider.

#299: A Minimalistic FAQ Bot

A few weeks back I stumbled upon a course on Python chatbots by John Bura. I am still impressed by how little it takes to create a FAQ bot that answers your questions without burning resources with an LLM. Let us see how this minimalistic bot works.

#296: Lint & Format Code With Ruff

When we work on larger Python projects, inconsistent formatting and lingering lint errors can break our flow. We may use tools like Black, isort, and Flake8 to keep code clean, but running each in sequence feels slow and an extra burden that we soon will skip. Luckily for us, there is a tool named Ruff by the same team that wrote uv. Let us see how Ruff can help us to get more consistent Python code.

#295: A Simple Strategy to Tackle Errors

Sometimes all you want to do is a quick update of a Python package and you run into a learning opportunity. I had this experience many times, and while that is frustrating at the time, it usually ends up with me better understanding the tools I use. Let us take a failed update of MkDocs as an example on what to do if we run into an error after updating a package.

#294: Callable Classes in Python

In Python, everything is an object - including functions. That flexibility goes both ways: not only can functions behave like objects, but objects can behave like functions. The mechanism that unlocks this duality is the special (or "dunder") method __call__. By defining __call__ in a class, we make it possible to invoke it with parentheses, just like an ordinary function, while still retaining all the advantages of stateful objects.

#291: Extract Text From Audio Files With Vosk

With sounddevice and PyAudio we found two solutions to record audio files. With this new knowledge we can go one step further and find an option to extract the text from those recordings. For this task we ignore the online services and jump directly to two solutions that run on our local machine. In this post we use Vosk to transcribe our audio file, while next week we find out how well Whisper solves this task.